@triptease/tt-navbar 0.0.44 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @triptease/tt-navbar v0.0.44
2
+ * @triptease/tt-navbar v0.0.46
3
3
  */
4
4
 
5
5
  // ../../node_modules/@lit/reactive-element/css-tag.js
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @triptease/tt-navbar v0.0.44
2
+ * @triptease/tt-navbar v0.0.46
3
3
  */
4
4
 
5
5
  // src/triptease-logo.ts
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @triptease/tt-navbar v0.0.44
2
+ * @triptease/tt-navbar v0.0.46
3
3
  */
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1209,7 +1209,12 @@ var TtCombobox = class extends i4 {
1209
1209
  this._selectAll = (event) => {
1210
1210
  event.preventDefault();
1211
1211
  event.stopPropagation();
1212
- if (this.value.length === this._selectableOptions.length) {
1212
+ if (this._filter !== "" && this._isAllSelected) {
1213
+ const selectedVisibleValues = Array.from(this._selectedVisibleOptions).map((option) => option.dataset.value);
1214
+ this.value = this.value.filter((value) => !selectedVisibleValues.includes(value));
1215
+ } else if (this._filter !== "") {
1216
+ this.value = Array.from(/* @__PURE__ */ new Set([...this.value, ...Array.from(this._selectableVisibleOptions).map((option) => option.dataset.value)]));
1217
+ } else if (this.value.length === this._selectableOptions.length) {
1213
1218
  this.value = [];
1214
1219
  } else {
1215
1220
  this.value = Array.from(this._selectableOptions).map((option) => option.dataset.value);
@@ -1463,9 +1468,7 @@ var TtCombobox = class extends i4 {
1463
1468
  />`;
1464
1469
  }
1465
1470
  _renderOption(option) {
1466
- if (this._filter !== "" && !option.value.toLowerCase().includes(this._filter) && !option.innerText.toLowerCase().includes(this._filter)) {
1467
- return E;
1468
- }
1471
+ const hidden = Boolean(this._filter !== "" && !option.value.toLowerCase().includes(this._filter) && !option.innerText.toLowerCase().includes(this._filter) || option.hidden);
1469
1472
  const id = `${this.id}-option-${option.value}`;
1470
1473
  const active = this._getActiveOptionId() === id;
1471
1474
  const selected = Boolean(this.multiselect && option.selected);
@@ -1479,7 +1482,7 @@ var TtCombobox = class extends i4 {
1479
1482
  @mousedown="${(event) => event.preventDefault()}"
1480
1483
  data-value="${option.value}"
1481
1484
  aria-disabled=${option.disabled}
1482
- aria-hidden=${option.hidden || E}
1485
+ aria-hidden=${hidden || E}
1483
1486
  data-deselectable=${!option.selected}
1484
1487
  part="option"
1485
1488
  >
@@ -2024,56 +2027,6 @@ var Routes = {
2024
2027
  CampaignManager: "CampaignManager"
2025
2028
  };
2026
2029
 
2027
- // src/NavbarController.ts
2028
- var NavbarController = class {
2029
- constructor(host) {
2030
- this._isOpen = true;
2031
- this._hasInitialized = false;
2032
- (this.host = host).addController(this);
2033
- }
2034
- get isOpen() {
2035
- return this._isOpen;
2036
- }
2037
- hostUpdate() {
2038
- if (!this._hasInitialized && window.Clerk) {
2039
- this._removeClerkListener = window.Clerk.addListener((resources) => {
2040
- const { user: user2 } = resources;
2041
- if (user2 && !this._hasInitialized) {
2042
- const navigationOpen = user2.unsafeMetadata?.preferences?.ui?.navigationOpen;
2043
- if (navigationOpen !== void 0) {
2044
- this._isOpen = navigationOpen;
2045
- this.host.requestUpdate();
2046
- }
2047
- this._hasInitialized = true;
2048
- }
2049
- });
2050
- }
2051
- }
2052
- hostDisconnected() {
2053
- if (this._removeClerkListener) {
2054
- this._removeClerkListener();
2055
- }
2056
- }
2057
- async toggle() {
2058
- this._isOpen = !this._isOpen;
2059
- if (window.Clerk) {
2060
- await window.Clerk.user?.update({
2061
- unsafeMetadata: {
2062
- ...window.Clerk.user?.unsafeMetadata,
2063
- preferences: {
2064
- ...window.Clerk.user?.unsafeMetadata?.preferences,
2065
- ui: {
2066
- ...window.Clerk.user?.unsafeMetadata?.preferences?.ui,
2067
- navigationOpen: this.isOpen
2068
- }
2069
- }
2070
- }
2071
- });
2072
- }
2073
- this.host.requestUpdate();
2074
- }
2075
- };
2076
-
2077
2030
  // src/TtNavbar.ts
2078
2031
  var jsonArrayConverter = (value) => {
2079
2032
  if (!value) return [];
@@ -2088,8 +2041,8 @@ var TtNavbar = class extends i4 {
2088
2041
  super(...arguments);
2089
2042
  this.campaignManagerUrl = "https://app.campaign-manager.triptease.io";
2090
2043
  this.clients = [];
2091
- this.sidebarOpen = true;
2092
- this.navbarController = new NavbarController(this);
2044
+ this.initialState = void 0;
2045
+ this.isOpen = true;
2093
2046
  /*
2094
2047
  * Set the active state for the current page.
2095
2048
  *
@@ -2164,14 +2117,14 @@ var TtNavbar = class extends i4 {
2164
2117
  };
2165
2118
  this.toggleSidebar = () => {
2166
2119
  this.closeAllDetails();
2167
- this.navbarController.toggle();
2120
+ this.isOpen = !this.isOpen;
2168
2121
  };
2169
- this.handleToggle = (e10) => {
2122
+ this.handleDetailsToggle = (e10) => {
2170
2123
  const { newState } = e10;
2171
2124
  const target = e10.currentTarget;
2172
2125
  if (newState === "open") {
2173
- if (!this.navbarController.isOpen) {
2174
- this.navbarController.toggle();
2126
+ if (!this.isOpen) {
2127
+ this.toggleSidebar();
2175
2128
  }
2176
2129
  this.closeAllDetails(target);
2177
2130
  }
@@ -2203,6 +2156,9 @@ var TtNavbar = class extends i4 {
2203
2156
  window.addEventListener("popstate", this.setActiveState);
2204
2157
  window.addEventListener("tetris:navigate", this.setActiveState);
2205
2158
  super.connectedCallback();
2159
+ if (this.initialState) {
2160
+ this.isOpen = this.initialState === "open";
2161
+ }
2206
2162
  }
2207
2163
  disconnectedCallback() {
2208
2164
  window.removeEventListener("popstate", this.setActiveState);
@@ -2211,8 +2167,8 @@ var TtNavbar = class extends i4 {
2211
2167
  }
2212
2168
  render() {
2213
2169
  return x`
2214
- <nav id=${this.id} class="${this.navbarController.isOpen ? "" : "sidebar-closed"}">
2215
- <div class="sidebar-header ${this.navbarController.isOpen ? "" : "sidebar-closed"}">
2170
+ <nav id=${this.id} class="${this.isOpen ? "" : "sidebar-closed"}">
2171
+ <div class="sidebar-header ${this.isOpen ? "" : "sidebar-closed"}">
2216
2172
  <div class="logo">
2217
2173
  ${o8(tripteaseLogo)}
2218
2174
  </div>
@@ -2225,7 +2181,7 @@ var TtNavbar = class extends i4 {
2225
2181
  </button>
2226
2182
  </div>
2227
2183
 
2228
- <div class="nav-items ${this.navbarController.isOpen ? "" : "sidebar-closed"}">
2184
+ <div class="nav-items ${this.isOpen ? "" : "sidebar-closed"}">
2229
2185
  <a
2230
2186
  class="nav-item"
2231
2187
  href=${this.buildUrl("/")}
@@ -2244,7 +2200,7 @@ var TtNavbar = class extends i4 {
2244
2200
  data-intercom-target="channels"
2245
2201
  >${o8(channels)}<span>Channels</span></a
2246
2202
  >
2247
- <details id="market-insights" @toggle=${this.handleToggle} data-intercom-target="market-insights">
2203
+ <details id="market-insights" @toggle=${this.handleDetailsToggle} data-intercom-target="market-insights">
2248
2204
  <summary>
2249
2205
  ${o8(graph)}
2250
2206
  <span>Market Insights</span>
@@ -2267,7 +2223,7 @@ var TtNavbar = class extends i4 {
2267
2223
  >
2268
2224
  </div>
2269
2225
  </details>
2270
- <details id="settings" @toggle=${this.handleToggle} data-intercom-target="settings">
2226
+ <details id="settings" @toggle=${this.handleDetailsToggle} data-intercom-target="settings">
2271
2227
  <summary>
2272
2228
  ${o8(gear)}
2273
2229
  <span>Settings</span>
@@ -2305,7 +2261,7 @@ var TtNavbar = class extends i4 {
2305
2261
  </div>
2306
2262
  </details>
2307
2263
  <hr />
2308
- <details id="account" @toggle=${this.handleToggle} data-intercom-target="account">
2264
+ <details id="account" @toggle=${this.handleDetailsToggle} data-intercom-target="account">
2309
2265
  <summary>
2310
2266
  ${o8(user)}
2311
2267
  <span>Account</span>
@@ -2328,7 +2284,7 @@ var TtNavbar = class extends i4 {
2328
2284
  >
2329
2285
  </div>
2330
2286
  </details>
2331
- <details id="billing-routes" @toggle=${this.handleToggle} data-intercom-target="billing">
2287
+ <details id="billing-routes" @toggle=${this.handleDetailsToggle} data-intercom-target="billing">
2332
2288
  <summary>
2333
2289
  ${o8(wallet)}
2334
2290
  <span>Billing</span>
@@ -2352,7 +2308,7 @@ var TtNavbar = class extends i4 {
2352
2308
  </div>
2353
2309
  </details>
2354
2310
  </div>
2355
- <div class="tertiary-nav ${this.navbarController.isOpen ? "" : "sidebar-closed"}">
2311
+ <div class="tertiary-nav ${this.isOpen ? "" : "sidebar-closed"}">
2356
2312
  <div id="external-links" class="nav-items">
2357
2313
  <a
2358
2314
  class="nav-item external-link"
@@ -2436,6 +2392,12 @@ __decorateClass([
2436
2392
  __decorateClass([
2437
2393
  n4({ type: Array, converter: jsonArrayConverter })
2438
2394
  ], TtNavbar.prototype, "clients", 2);
2395
+ __decorateClass([
2396
+ n4({ type: String, attribute: "initial-state" })
2397
+ ], TtNavbar.prototype, "initialState", 2);
2398
+ __decorateClass([
2399
+ r5()
2400
+ ], TtNavbar.prototype, "isOpen", 2);
2439
2401
  __decorateClass([
2440
2402
  n4({ type: Object })
2441
2403
  ], TtNavbar.prototype, "onClientChange", 2);
@@ -2445,9 +2407,6 @@ __decorateClass([
2445
2407
  __decorateClass([
2446
2408
  r6("a")
2447
2409
  ], TtNavbar.prototype, "allNavLinks", 2);
2448
- __decorateClass([
2449
- r5()
2450
- ], TtNavbar.prototype, "sidebarOpen", 2);
2451
2410
 
2452
2411
  // src/tt-navbar.ts
2453
2412
  if (typeof window !== "undefined") {