@triptease/tt-navbar 0.0.62 → 0.0.65

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +11 -15
  3. package/demo/index.html +3 -6
  4. package/dist/src/Config.js.map +1 -1
  5. package/dist/src/TtNavbar.js +9 -16
  6. package/dist/src/TtNavbar.js.map +1 -1
  7. package/dist/src/getInitialNavbarState.js +2 -5
  8. package/dist/src/getInitialNavbarState.js.map +1 -1
  9. package/dist/src/styles.js +1 -3
  10. package/dist/src/styles.js.map +1 -1
  11. package/dist/src/triptease-logo.js.map +1 -1
  12. package/dist/test/tt-navbar.test.js +11 -29
  13. package/dist/test/tt-navbar.test.js.map +1 -1
  14. package/dist/tsconfig.tsbuildinfo +1 -0
  15. package/dist/web/Config.js +1 -1
  16. package/dist/web/Config.js.map +1 -1
  17. package/dist/web/Routes.js +1 -1
  18. package/dist/web/TtNavbar.js +323 -225
  19. package/dist/web/TtNavbar.js.map +4 -4
  20. package/dist/web/getInitialNavbarState.js +1 -1
  21. package/dist/web/getInitialNavbarState.js.map +2 -2
  22. package/dist/web/global.d.js +1 -1
  23. package/dist/web/index.js +323 -225
  24. package/dist/web/index.js.map +4 -4
  25. package/dist/web/styles.js +2 -4
  26. package/dist/web/styles.js.map +2 -2
  27. package/dist/web/triptease-logo.js +1 -1
  28. package/dist/web/triptease-logo.js.map +2 -2
  29. package/dist/web/tt-navbar.js +323 -225
  30. package/dist/web/tt-navbar.js.map +4 -4
  31. package/dist/web/urlMappings.js +1 -1
  32. package/package.json +7 -52
  33. package/src/Config.ts +2 -2
  34. package/src/TtNavbar.ts +16 -23
  35. package/src/getInitialNavbarState.ts +2 -7
  36. package/src/styles.ts +1 -3
  37. package/src/triptease-logo.ts +2 -2
  38. package/test/tt-navbar.test.ts +52 -137
  39. package/web-test-runner.config.js +1 -1
  40. package/.husky/pre-commit +0 -1
  41. package/.storybook/main.js +0 -8
  42. package/.storybook/preview-head.html +0 -7
@@ -1,15 +1,9 @@
1
1
  import '../src/tt-navbar.js';
2
- import {
3
- elementUpdated,
4
- expect,
5
- fixture,
6
- nextFrame,
7
- waitUntil,
8
- } from '@open-wc/testing';
2
+ import { elementUpdated, expect, fixture, nextFrame, waitUntil } from '@open-wc/testing';
3
+ import { TtOption } from '@triptease/tt-combobox/tt-option.js';
9
4
  import { Config, getInitialNavbarState, TtNavbar } from '../src/index.js';
10
5
  import { Routes } from '../src/Routes.js';
11
6
 
12
- // eslint-disable-next-line no-undef
13
7
  const getLinkByHref = (links: NodeListOf<HTMLAnchorElement>, href: string) => {
14
8
  for (const link of links) {
15
9
  if (link.getAttribute('href') === href) {
@@ -21,16 +15,12 @@ const getLinkByHref = (links: NodeListOf<HTMLAnchorElement>, href: string) => {
21
15
  };
22
16
 
23
17
  const selectComboboxOption = async (combobox: Element, value: string) => {
24
- const input = combobox.shadowRoot!.querySelector(
25
- '[role="combobox"]',
26
- ) as HTMLInputElement;
18
+ const input = combobox.shadowRoot!.querySelector('[role="combobox"]') as HTMLInputElement;
27
19
  input.click();
28
20
 
29
21
  await elementUpdated(combobox);
30
22
 
31
- const option = combobox.shadowRoot!.querySelector(
32
- `[role="option"][data-value="${value}"]`,
33
- ) as HTMLLIElement;
23
+ const option = combobox.shadowRoot!.querySelector(`tt-option[value="${value}"]`) as TtOption;
34
24
  option.click();
35
25
  };
36
26
 
@@ -47,7 +37,7 @@ const isVisuallyHidden = (element: Element) => {
47
37
  style.overflow === 'hidden' &&
48
38
  style.clip === 'rect(0px, 0px, 0px, 0px)' &&
49
39
  style.clipPath === 'inset(50%)' &&
50
- style.whiteSpace === 'nowrap',
40
+ style.whiteSpace === 'nowrap'
51
41
  );
52
42
  };
53
43
 
@@ -62,27 +52,22 @@ describe('TtNavbar', () => {
62
52
  }
63
53
  });
64
54
  it('should render with the default links', async () => {
65
- const navbar = await fixture<TtNavbar>(
66
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
67
- );
55
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
68
56
  const links = navbar.shadowRoot?.querySelectorAll('a');
69
57
 
70
58
  if (links) {
71
59
  expect(getLinkByHref(links, '/')).to.exist;
72
- expect(getLinkByHref(links, 'https://app.campaign-manager.triptease.io'))
73
- .to.exist;
60
+ expect(getLinkByHref(links, 'https://app.campaign-manager.triptease.io')).to.exist;
74
61
  expect(getLinkByHref(links, `/${CLIENT_KEY}/channels`)).to.exist;
75
62
  expect(getLinkByHref(links, `/parity/${CLIENT_KEY}`)).to.exist;
76
63
  expect(getLinkByHref(links, `/guest-insights/${CLIENT_KEY}`)).to.exist;
77
- expect(getLinkByHref(links, `/${CLIENT_KEY}/guest-behavioural-data`)).to
78
- .exist;
64
+ expect(getLinkByHref(links, `/${CLIENT_KEY}/guest-behavioural-data`)).to.exist;
79
65
  expect(getLinkByHref(links, `/${CLIENT_KEY}/crm-config`)).to.exist;
80
66
  expect(getLinkByHref(links, `/settings/${CLIENT_KEY}/guides`)).to.exist;
81
67
  expect(getLinkByHref(links, `/settings/${CLIENT_KEY}/hotels`)).to.exist;
82
68
  expect(getLinkByHref(links, `/account`)).to.exist;
83
69
  expect(getLinkByHref(links, `/account/team/${CLIENT_KEY}`)).to.exist;
84
- expect(getLinkByHref(links, `/account/billing-management/${CLIENT_KEY}`))
85
- .to.exist;
70
+ expect(getLinkByHref(links, `/account/billing-management/${CLIENT_KEY}`)).to.exist;
86
71
  expect(getLinkByHref(links, `/subscriptions/${CLIENT_KEY}`)).to.exist;
87
72
  }
88
73
  });
@@ -90,16 +75,14 @@ describe('TtNavbar', () => {
90
75
  it('should render platform URLs against the base URL when it is defined', async () => {
91
76
  const platformUrl = 'https://app.triptease.io';
92
77
  const navbar = await fixture<TtNavbar>(
93
- `<tt-navbar client-key=${CLIENT_KEY} platform-url="${platformUrl}"></tt-navbar>`,
78
+ `<tt-navbar client-key=${CLIENT_KEY} platform-url="${platformUrl}"></tt-navbar>`
94
79
  );
95
80
  const links = navbar.shadowRoot?.querySelectorAll('a');
96
81
 
97
82
  if (links) {
98
83
  expect(getLinkByHref(links, `${platformUrl}/`)).to.exist;
99
- expect(getLinkByHref(links, 'https://app.campaign-manager.triptease.io'))
100
- .to.exist; // This shouldn't change
101
- expect(getLinkByHref(links, `${platformUrl}/${CLIENT_KEY}/channels`)).to
102
- .exist;
84
+ expect(getLinkByHref(links, 'https://app.campaign-manager.triptease.io')).to.exist; // This shouldn't change
85
+ expect(getLinkByHref(links, `${platformUrl}/${CLIENT_KEY}/channels`)).to.exist;
103
86
  }
104
87
  });
105
88
 
@@ -111,25 +94,18 @@ describe('TtNavbar', () => {
111
94
  navigateEventCount += 1;
112
95
  };
113
96
 
114
- const navbar = await fixture<TtNavbar>(
115
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
116
- );
97
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
117
98
  navbar.navigate = onNavigate;
118
99
  await navbar.updateComplete;
119
100
 
120
101
  const links = navbar.shadowRoot?.querySelectorAll('a');
121
- links?.forEach(l => l.click());
102
+ links?.forEach((l) => l.click());
122
103
 
123
- await waitUntil(
124
- () => expect(navigateEventCount).to.equal(13),
125
- 'navigate event did not fire',
126
- );
104
+ await waitUntil(() => expect(navigateEventCount).to.equal(13), 'navigate event did not fire');
127
105
  });
128
106
 
129
107
  it('should render a combobox when multiple clients are provided', async () => {
130
- const navbar = await fixture<TtNavbar>(
131
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
132
- );
108
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
133
109
  navbar.clients = [
134
110
  { clientKey: CLIENT_KEY, displayName: 'Client One' },
135
111
  { clientKey: 'abc123', displayName: 'Client Two' },
@@ -137,9 +113,7 @@ describe('TtNavbar', () => {
137
113
  await navbar.updateComplete;
138
114
 
139
115
  const combobox = navbar.shadowRoot?.querySelector('tt-combobox');
140
- const singleClientName = navbar.shadowRoot?.querySelector(
141
- '.single-client-name',
142
- );
116
+ const singleClientName = navbar.shadowRoot?.querySelector('.single-client-name');
143
117
 
144
118
  expect(combobox).to.exist;
145
119
  expect(singleClientName).to.not.exist;
@@ -147,15 +121,11 @@ describe('TtNavbar', () => {
147
121
  });
148
122
 
149
123
  it('should render the client name when only one client is provided', async () => {
150
- const navbar = await fixture<TtNavbar>(
151
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
152
- );
124
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
153
125
  navbar.clients = [{ clientKey: CLIENT_KEY, displayName: 'Single Client' }];
154
126
  await navbar.updateComplete;
155
127
 
156
- const singleClientName = navbar.shadowRoot?.querySelector(
157
- '.single-client-name',
158
- );
128
+ const singleClientName = navbar.shadowRoot?.querySelector('.single-client-name');
159
129
  const combobox = navbar.shadowRoot?.querySelector('tt-combobox');
160
130
 
161
131
  expect(singleClientName).to.exist;
@@ -164,9 +134,7 @@ describe('TtNavbar', () => {
164
134
  });
165
135
 
166
136
  it('should render the logout link', async () => {
167
- const navbar = await fixture<TtNavbar>(
168
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
169
- );
137
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
170
138
 
171
139
  const links = navbar.shadowRoot?.querySelectorAll('a');
172
140
  const logoutLink = getLinkByHref(links!, '/logout');
@@ -175,9 +143,7 @@ describe('TtNavbar', () => {
175
143
  });
176
144
 
177
145
  it('should close other details when one is being opened', async () => {
178
- const navbar = await fixture<TtNavbar>(
179
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
180
- );
146
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
181
147
 
182
148
  const allDetails = navbar.shadowRoot!.querySelectorAll('summary');
183
149
  const [marketInsights, settings] = allDetails;
@@ -201,24 +167,17 @@ describe('TtNavbar', () => {
201
167
  });
202
168
 
203
169
  it('should collapse the navbar when toggle clicked', async () => {
204
- const navbar = await fixture<TtNavbar>(
205
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
206
- );
170
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
207
171
 
208
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
209
- '#navbar-toggle-btn',
210
- ) as HTMLButtonElement;
172
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
211
173
 
212
174
  navbarToggleBtn.click();
213
175
  await elementUpdated(navbar);
214
176
 
215
177
  const logo = navbar.shadowRoot!.querySelector('.logo');
216
- const rootLinksHiddenElements =
217
- navbar.shadowRoot!.querySelectorAll('nav a span');
218
- const summaryHiddenElements =
219
- navbar.shadowRoot!.querySelectorAll('nav summary span');
220
- const externalLinks =
221
- navbar.shadowRoot!.querySelectorAll('#external-links a');
178
+ const rootLinksHiddenElements = navbar.shadowRoot!.querySelectorAll('nav a span');
179
+ const summaryHiddenElements = navbar.shadowRoot!.querySelectorAll('nav summary span');
180
+ const externalLinks = navbar.shadowRoot!.querySelectorAll('#external-links a');
222
181
  const logoutLink = navbar.shadowRoot!.querySelector('#logout-link span');
223
182
  const clientSelector = navbar.shadowRoot!.querySelector('#client-selector');
224
183
 
@@ -233,30 +192,17 @@ describe('TtNavbar', () => {
233
192
  expect(logoutLink).to.exist;
234
193
  expect(rootLinksHiddenElements.length).to.be.greaterThan(1);
235
194
  expect(summaryHiddenElements.length).to.be.greaterThan(1);
236
- for (const element of [
237
- ...rootLinksHiddenElements,
238
- ...summaryHiddenElements,
239
- logoutLink!,
240
- ]) {
195
+ for (const element of [...rootLinksHiddenElements, ...summaryHiddenElements, logoutLink!]) {
241
196
  expect(isVisuallyHidden(element)).to.be.true;
242
197
  }
243
198
  });
244
199
 
245
- const collapsibleIds: string[] = [
246
- 'market-insights',
247
- 'settings',
248
- 'account',
249
- 'billing-routes',
250
- ];
251
- collapsibleIds.forEach(id => {
200
+ const collapsibleIds: string[] = ['market-insights', 'settings', 'account', 'billing-routes'];
201
+ collapsibleIds.forEach((id) => {
252
202
  it(`should open the nav bar when the ${id} collapsible is clicked`, async () => {
253
- const navbar = await fixture<TtNavbar>(
254
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
255
- );
203
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
256
204
 
257
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
258
- '#navbar-toggle-btn',
259
- ) as HTMLButtonElement;
205
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
260
206
 
261
207
  navbarToggleBtn.click();
262
208
  await elementUpdated(navbar);
@@ -264,8 +210,7 @@ describe('TtNavbar', () => {
264
210
  const logo = navbar.shadowRoot!.querySelector('.logo');
265
211
  expect(logo?.checkVisibility()).to.be.false;
266
212
 
267
- const element: HTMLDetailsElement | null =
268
- navbar.shadowRoot!.querySelector(`#${id} summary`);
213
+ const element: HTMLDetailsElement | null = navbar.shadowRoot!.querySelector(`#${id} summary`);
269
214
 
270
215
  expect(element).to.exist;
271
216
 
@@ -308,12 +253,9 @@ describe('TtNavbar', () => {
308
253
 
309
254
  URLs.forEach(([route, text]) => {
310
255
  it(`should show the current page as active when link is ${route}`, async () => {
311
- // eslint-disable-next-line no-restricted-globals
312
256
  history.pushState({}, '', route); // 👈 mock URL
313
257
 
314
- const navbar = await fixture<TtNavbar>(
315
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
316
- );
258
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
317
259
 
318
260
  const anchor = navbar.shadowRoot!.querySelector('a[aria-current="page"]');
319
261
 
@@ -327,7 +269,7 @@ describe('TtNavbar', () => {
327
269
  const campaignManagerUrl = 'http://localhost:8000';
328
270
 
329
271
  const navbar = await fixture<TtNavbar>(
330
- `<tt-navbar client-key=${CLIENT_KEY} platform-url=${platformUrl} campaign-manager-url=${campaignManagerUrl} active-route="${Routes.CampaignManager}"></tt-navbar>`,
272
+ `<tt-navbar client-key=${CLIENT_KEY} platform-url=${platformUrl} campaign-manager-url=${campaignManagerUrl} active-route="${Routes.CampaignManager}"></tt-navbar>`
331
273
  );
332
274
  const anchor = navbar.shadowRoot!.querySelector('a[aria-current="page"]');
333
275
  expect(anchor).to.exist;
@@ -340,9 +282,7 @@ describe('TtNavbar', () => {
340
282
  selectedClientKey = clientKey;
341
283
  };
342
284
 
343
- const navbar = await fixture<TtNavbar>(
344
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
345
- );
285
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
346
286
  navbar.clients = [
347
287
  { clientKey: CLIENT_KEY, displayName: 'Client One' },
348
288
  { clientKey: 'abc123', displayName: 'Client Two' },
@@ -360,47 +300,32 @@ describe('TtNavbar', () => {
360
300
  });
361
301
 
362
302
  it('should set the --nav-bar-width css variable when collapsed', async () => {
363
- const navbar = await fixture<TtNavbar>(
364
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
365
- );
303
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
366
304
 
367
- await expect(
368
- getComputedStyle(navbar).getPropertyValue('--nav-bar-width').trim(),
369
- ).to.equal('260px');
305
+ await expect(getComputedStyle(navbar).getPropertyValue('--nav-bar-width').trim()).to.equal('260px');
370
306
 
371
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
372
- '#navbar-toggle-btn',
373
- ) as HTMLButtonElement;
307
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
374
308
 
375
309
  navbarToggleBtn.click();
376
310
  await elementUpdated(navbar);
377
311
 
378
- await expect(
379
- getComputedStyle(navbar).getPropertyValue('--nav-bar-width').trim(),
380
- ).to.equal('fit-content');
312
+ await expect(getComputedStyle(navbar).getPropertyValue('--nav-bar-width').trim()).to.equal('fit-content');
381
313
  });
382
314
 
383
315
  it('should expand the details when the current page is within that section', async () => {
384
- // eslint-disable-next-line no-restricted-globals
385
316
  history.pushState({}, '', `/parity/${CLIENT_KEY}`);
386
317
 
387
- const navbar = await fixture<TtNavbar>(
388
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
389
- );
318
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
390
319
 
391
- const marketInsightsDetails = navbar.shadowRoot!.querySelector(
392
- '#market-insights',
393
- ) as HTMLDetailsElement;
320
+ const marketInsightsDetails = navbar.shadowRoot!.querySelector('#market-insights') as HTMLDetailsElement;
394
321
 
395
322
  expect(marketInsightsDetails).to.exist;
396
323
  expect(marketInsightsDetails.open).to.be.true;
397
324
  });
398
325
 
399
326
  it('should set the active route when receives `tetris:navigate` event', async () => {
400
- const navbar = await fixture<TtNavbar>(
401
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
402
- );
403
- // eslint-disable-next-line no-restricted-globals
327
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
328
+
404
329
  history.pushState({}, '', `/account/billing-management/${CLIENT_KEY}`);
405
330
 
406
331
  // Dispatch the event to change to Channels route
@@ -415,9 +340,7 @@ describe('TtNavbar', () => {
415
340
  });
416
341
 
417
342
  it("should default to 'open' when the 'initial-state' attribute is not provided", async () => {
418
- const navbar = await fixture<TtNavbar>(
419
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
420
- );
343
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
421
344
 
422
345
  const logo = navbar.shadowRoot!.querySelector('.logo');
423
346
 
@@ -427,7 +350,7 @@ describe('TtNavbar', () => {
427
350
 
428
351
  it("should default to 'open' when the 'initial-state' attribute is 'open", async () => {
429
352
  const navbar = await fixture<TtNavbar>(
430
- `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieOpenValue}></tt-navbar>`,
353
+ `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieOpenValue}></tt-navbar>`
431
354
  );
432
355
 
433
356
  const logo = navbar.shadowRoot!.querySelector('.logo');
@@ -438,7 +361,7 @@ describe('TtNavbar', () => {
438
361
 
439
362
  it("should default to 'closed' when the 'initial-state' attribute is 'closed", async () => {
440
363
  const navbar = await fixture<TtNavbar>(
441
- `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieClosedValue}></tt-navbar>`,
364
+ `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieClosedValue}></tt-navbar>`
442
365
  );
443
366
 
444
367
  const logo = navbar.shadowRoot!.querySelector('.logo');
@@ -453,12 +376,8 @@ describe('TtNavbar', () => {
453
376
 
454
377
  expect(startingCookieValue).to.be.undefined;
455
378
 
456
- const navbar = await fixture<TtNavbar>(
457
- `<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`,
458
- );
459
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
460
- '#navbar-toggle-btn',
461
- ) as HTMLButtonElement;
379
+ const navbar = await fixture<TtNavbar>(`<tt-navbar client-key=${CLIENT_KEY}></tt-navbar>`);
380
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
462
381
 
463
382
  navbarToggleBtn.click();
464
383
  await elementUpdated(navbar);
@@ -470,11 +389,9 @@ describe('TtNavbar', () => {
470
389
 
471
390
  it('should update the cookie value when navbar is expanded', async () => {
472
391
  const navbar = await fixture<TtNavbar>(
473
- `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieClosedValue}></tt-navbar>`,
392
+ `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieClosedValue}></tt-navbar>`
474
393
  );
475
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
476
- '#navbar-toggle-btn',
477
- ) as HTMLButtonElement;
394
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
478
395
 
479
396
  navbarToggleBtn.click();
480
397
  await elementUpdated(navbar);
@@ -486,11 +403,9 @@ describe('TtNavbar', () => {
486
403
 
487
404
  it('should update the cookie value when navbar is collapsed', async () => {
488
405
  const navbar = await fixture<TtNavbar>(
489
- `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieOpenValue}></tt-navbar>`,
406
+ `<tt-navbar client-key=${CLIENT_KEY} initial-state=${Config.NavbarStateCookieOpenValue}></tt-navbar>`
490
407
  );
491
- const navbarToggleBtn = navbar.shadowRoot!.querySelector(
492
- '#navbar-toggle-btn',
493
- ) as HTMLButtonElement;
408
+ const navbarToggleBtn = navbar.shadowRoot!.querySelector('#navbar-toggle-btn') as HTMLButtonElement;
494
409
 
495
410
  navbarToggleBtn.click();
496
411
  await elementUpdated(navbar);
@@ -14,7 +14,7 @@ export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
14
14
  /** Filter out lit dev mode logs */
15
15
  filterBrowserLogs(log) {
16
16
  for (const arg of log.args) {
17
- if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
17
+ if (typeof arg === 'string' && filteredLogs.some((l) => arg.includes(l))) {
18
18
  return false;
19
19
  }
20
20
  }
package/.husky/pre-commit DELETED
@@ -1 +0,0 @@
1
- ./node_modules/.bin/lint-staged
@@ -1,8 +0,0 @@
1
- const config = {
2
- stories: ['../**/dist/stories/*.stories.{js,md,mdx}'],
3
- framework: {
4
- name: '@storybook/web-components-vite',
5
- },
6
- };
7
-
8
- export default config;
@@ -1,7 +0,0 @@
1
- <link rel="stylesheet" href="https://cdn.design-system.triptease.io/base.css">
2
- <link rel="stylesheet" href="https://cdn.design-system.triptease.io/compositions.css">
3
- <style>
4
- div {
5
- font-size: 25px;
6
- }
7
- </style>