@carbon/ibmdotcom-web-components 2.23.0 → 2.25.0

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 (70) hide show
  1. package/custom-elements.json +17 -9
  2. package/dist/dotcom-shell.js +3 -3
  3. package/dist/dotcom-shell.min.js +2 -2
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +3 -3
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  6. package/dist/{index-4a2b99e5.js → index-1dfaa907.js} +529 -701
  7. package/dist/{index-90537714.js → index-8e5904a0.js} +5 -5
  8. package/dist/{left-nav-menu-ccf3a6ec.js → left-nav-menu-08b77355.js} +2 -2
  9. package/dist/{left-nav-menu-category-heading-3016e990.js → left-nav-menu-category-heading-1874e85f.js} +2 -2
  10. package/dist/{left-nav-menu-category-heading-cb17a84f.js → left-nav-menu-category-heading-907c5870.js} +3 -3
  11. package/dist/{left-nav-menu-a22a1a6e.js → left-nav-menu-ee66480f.js} +3 -3
  12. package/dist/{left-nav-menu-item-18d051bc.js → left-nav-menu-item-463c0a47.js} +2 -2
  13. package/dist/{left-nav-menu-item-85006ef1.js → left-nav-menu-item-62b3aeb4.js} +3 -3
  14. package/dist/{left-nav-menu-section-027d6043.js → left-nav-menu-section-36fa5f37.js} +2 -2
  15. package/dist/{left-nav-menu-section-cee5e8b9.js → left-nav-menu-section-620f3e39.js} +3 -3
  16. package/dist/{left-nav-overlay-225f893f.js → left-nav-overlay-11083652.js} +2 -2
  17. package/dist/{left-nav-overlay-e559d687.js → left-nav-overlay-4aa89969.js} +3 -3
  18. package/dist/{megamenu-category-group-75dd0587.js → megamenu-category-group-38ebe02a.js} +2 -2
  19. package/dist/{megamenu-category-group-89eb9dd2.js → megamenu-category-group-768aa48a.js} +3 -3
  20. package/dist/{megamenu-category-group-copy-94e321c8.js → megamenu-category-group-copy-0036630c.js} +3 -3
  21. package/dist/{megamenu-category-group-copy-533d77ca.js → megamenu-category-group-copy-0770e2d1.js} +2 -2
  22. package/dist/{megamenu-category-heading-5c562696.js → megamenu-category-heading-25325ce1.js} +3 -3
  23. package/dist/{megamenu-category-heading-370cb6dc.js → megamenu-category-heading-5fae5a7f.js} +2 -2
  24. package/dist/{megamenu-category-link-6060a359.js → megamenu-category-link-3a79d2ea.js} +2 -2
  25. package/dist/{megamenu-category-link-66573e4b.js → megamenu-category-link-d1712222.js} +3 -3
  26. package/dist/{megamenu-category-link-group-83d39e8b.js → megamenu-category-link-group-ba6e3528.js} +3 -3
  27. package/dist/{megamenu-category-link-group-4f9fcb1a.js → megamenu-category-link-group-fe0164c9.js} +2 -2
  28. package/dist/{megamenu-left-navigation-35cca50a.js → megamenu-left-navigation-29fdbefc.js} +2 -2
  29. package/dist/{megamenu-left-navigation-ab38535c.js → megamenu-left-navigation-dba059eb.js} +3 -3
  30. package/dist/{megamenu-overlay-977e9e98.js → megamenu-overlay-6fcf6e91.js} +2 -2
  31. package/dist/{megamenu-overlay-9b73f118.js → megamenu-overlay-899719ba.js} +3 -3
  32. package/dist/{megamenu-tab-e4488ebd.js → megamenu-tab-1835d1a2.js} +3 -3
  33. package/dist/{megamenu-tab-69382393.js → megamenu-tab-1a79a248.js} +2 -2
  34. package/es/components/background-media/background-media.css.js +1 -1
  35. package/es/components/background-media/background-media.d.ts +7 -1
  36. package/es/components/background-media/background-media.js +29 -1
  37. package/es/components/background-media/background-media.js.map +1 -1
  38. package/es/components/background-media/defs.d.ts +5 -1
  39. package/es/components/background-media/defs.js +2 -1
  40. package/es/components/background-media/defs.js.map +1 -1
  41. package/es/components/card-group/card-group.css.js +1 -1
  42. package/es/components/card-group/card-group.d.ts +688 -1
  43. package/es/components/card-group/card-group.js +47 -12
  44. package/es/components/card-group/card-group.js.map +1 -1
  45. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  46. package/es/components/content-block/content-block.css.js +1 -1
  47. package/es/components/content-block-cards/content-block-cards.d.ts +2 -1
  48. package/es/components/content-block-cards/content-block-cards.js +17 -1
  49. package/es/components/content-block-cards/content-block-cards.js.map +1 -1
  50. package/es/components/cta/video-cta-container.d.ts +1 -0
  51. package/es/components/lightbox-media-viewer/lightbox-video-player-container.d.ts +1 -0
  52. package/es/components/masthead/left-nav.d.ts +2 -1
  53. package/es/components/masthead/left-nav.js +23 -6
  54. package/es/components/masthead/left-nav.js.map +1 -1
  55. package/es/components/table-of-contents/table-of-contents.js +2 -2
  56. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  57. package/es/components/video-player/video-player-container.d.ts +3 -1
  58. package/es/components/video-player/video-player-container.js +276 -195
  59. package/es/components/video-player/video-player-container.js.map +1 -1
  60. package/es/components/video-player/video-player.d.ts +2 -1
  61. package/es/components/video-player/video-player.js +5 -3
  62. package/es/components/video-player/video-player.js.map +1 -1
  63. package/es/components-react/video-player/video-player.d.ts +1 -0
  64. package/es/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayer/KalturaPlayer.js +7 -1
  65. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  66. package/lib/components/background-media/defs.js +2 -1
  67. package/lib/components/background-media/defs.js.map +1 -1
  68. package/lib/internal/vendor/@carbon/ibmdotcom-services/services/KalturaPlayer/KalturaPlayer.js +7 -1
  69. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  70. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2020, 2024
4
+ * Copyright IBM Corp. 2020, 2025
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -360,6 +360,7 @@ declare class C4DContentBlockCards extends C4DContentBlockCards_base {
360
360
  */
361
361
  protected _getContainerClasses(): string | ((part: Part) => void);
362
362
  static get stableSelector(): string;
363
+ connectedCallback(): void;
363
364
  static get styles(): import("lit").CSSResult;
364
365
  }
365
366
  export default C4DContentBlockCards;
@@ -7,7 +7,7 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
7
7
  /**
8
8
  * @license
9
9
  *
10
- * Copyright IBM Corp. 2020, 2024
10
+ * Copyright IBM Corp. 2020, 2025
11
11
  *
12
12
  * This source code is licensed under the Apache-2.0 license found in the
13
13
  * LICENSE file in the root directory of this source tree.
@@ -56,6 +56,22 @@ let C4DContentBlockCards = _decorate([customElement(`${c4dPrefix}-content-block-
56
56
  value: function () {
57
57
  return `${c4dPrefix}--content-block-cards`;
58
58
  }
59
+ }, {
60
+ kind: "method",
61
+ key: "connectedCallback",
62
+ value: function connectedCallback() {
63
+ _superPropGet(C4DContentBlockCards, "connectedCallback", this, 3)([]);
64
+ window.onload = () => {
65
+ var _this$shadowRoot;
66
+ const hasLogoClass = this.classList.contains('media-type__logo');
67
+ const slot = (_this$shadowRoot = this.shadowRoot) === null || _this$shadowRoot === void 0 ? void 0 : _this$shadowRoot.querySelector('slot:not([name])');
68
+ if (slot && hasLogoClass) {
69
+ slot === null || slot === void 0 || slot.assignedElements().forEach(element => {
70
+ element.classList.add('media-type-block-cards__logo');
71
+ });
72
+ }
73
+ };
74
+ }
59
75
 
60
76
  // `styles` here is a `CSSResult` generated by custom WebPack loader
61
77
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"content-block-cards.js","names":["css","settings","StableSelectorMixin","C4DContentBlock","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DContentBlockCards","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","_getContainerClasses","static","_t","_","_superPropGet","console","warn"],"sources":["components/content-block-cards/content-block-cards.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css, Part } from 'lit';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport C4DContentBlock from '../content-block/content-block';\nimport styles from './content-block-cards.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Content block cards.\n *\n * @element c4d-content-block-cards\n */\n@customElement(`${c4dPrefix}-content-block-cards`)\nclass C4DContentBlockCards extends StableSelectorMixin(C4DContentBlock) {\n /**\n * The CSS class list for the container (grid) node.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getContainerClasses(): string | ((part: Part) => void) {\n return `${prefix}--content-layout ${prefix}--content-layout--card-group`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--content-block-cards`;\n }\n\n // `styles` here is a `CSSResult` generated by custom WebPack loader\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n }\n}\n\nconsole.warn(\n 'The content-block-cards component has been deprecated in favor of the content-section/block and card-group component. ' +\n 'See content-section/block and card-group documentation for more information.'\n);\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DContentBlockCards;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,GAAG,QAAc,KAAK;AAC/B,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,mBAAmB,MAAM,yCAAsC;AACtE,OAAOC,eAAe,MAAM,mCAAgC;AAC5D,OAAOC,MAAM,MAAM,gCAA4B;AAC/C,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGR,QAAQ;;AAEpD;AACA;AACA;AACA;AACA;AAJA,IAMMS,oBAAoB,GAAAC,SAAA,EADzBL,aAAa,CAAC,GAAGG,SAAS,sBAAsB,CAAC,aAAAG,WAAA,EAAAC,oBAAA;EAAlD,MACMH,oBAAoB,SAAAG,oBAAA,CAA8C;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAmBxE;EAAC;IAAAI,CAAA,EAnBKN,oBAAoB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA;MACxB;AACF;AACA;MACE;MACA,SAAUC,oBAAoBA,CAAA,EAAoC;QAChE,OAAO,GAAGd,MAAM,oBAAoBA,MAAM,8BAA8B;MAC1E;IAAC;MAAAW,IAAA;MAAAI,MAAA;MAAAH,GAAA;MAAAC,KAAA,EAED,SAAAA,CAAA,EAA4B;QAC1B,OAAO,GAAGX,SAAS,uBAAuB;MAC5C;;MAEA;IAAA;MAAAS,IAAA;MAAAI,MAAA;MAAAH,GAAA;MAAAC,KAAA,EACA,SAAAA,CAAA,EAAoB;QAClB,OAAOpB,GAAG,CAAAuB,EAAA,KAAAA,EAAA,GAAAC,CAAA;AACd,QADc;AACd,KADc,GAAAC,aAAA,CAfRf,oBAAoB,mBAgBHN,MAAM;MAE3B;IAAC;EAAA;AAAA,GAlBgCF,mBAAmB,CAACC,eAAe,CAAC;AAqBvEuB,OAAO,CAACC,IAAI,CACV,wHAAwH,GACtH,8EACJ,CAAC;;AAED;AACA,eAAejB,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"content-block-cards.js","names":["css","settings","StableSelectorMixin","C4DContentBlock","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DContentBlockCards","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","_getContainerClasses","static","connectedCallback","_superPropGet","window","onload","_this$shadowRoot","hasLogoClass","classList","contains","slot","shadowRoot","querySelector","assignedElements","forEach","element","add","_t","_","console","warn"],"sources":["components/content-block-cards/content-block-cards.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css, Part } from 'lit';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport C4DContentBlock from '../content-block/content-block';\nimport styles from './content-block-cards.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Content block cards.\n *\n * @element c4d-content-block-cards\n */\n@customElement(`${c4dPrefix}-content-block-cards`)\nclass C4DContentBlockCards extends StableSelectorMixin(C4DContentBlock) {\n /**\n * The CSS class list for the container (grid) node.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getContainerClasses(): string | ((part: Part) => void) {\n return `${prefix}--content-layout ${prefix}--content-layout--card-group`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--content-block-cards`;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n window.onload = () => {\n const hasLogoClass = this.classList.contains('media-type__logo');\n const slot = this.shadowRoot?.querySelector('slot:not([name])');\n\n if (slot && hasLogoClass) {\n (slot as HTMLSlotElement)?.assignedElements().forEach((element) => {\n element.classList.add('media-type-block-cards__logo');\n });\n }\n };\n }\n\n // `styles` here is a `CSSResult` generated by custom WebPack loader\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n }\n}\n\nconsole.warn(\n 'The content-block-cards component has been deprecated in favor of the content-section/block and card-group component. ' +\n 'See content-section/block and card-group documentation for more information.'\n);\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DContentBlockCards;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,GAAG,QAAc,KAAK;AAC/B,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,mBAAmB,MAAM,yCAAsC;AACtE,OAAOC,eAAe,MAAM,mCAAgC;AAC5D,OAAOC,MAAM,MAAM,gCAA4B;AAC/C,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGR,QAAQ;;AAEpD;AACA;AACA;AACA;AACA;AAJA,IAMMS,oBAAoB,GAAAC,SAAA,EADzBL,aAAa,CAAC,GAAGG,SAAS,sBAAsB,CAAC,aAAAG,WAAA,EAAAC,oBAAA;EAAlD,MACMH,oBAAoB,SAAAG,oBAAA,CAA8C;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAkCxE;EAAC;IAAAI,CAAA,EAlCKN,oBAAoB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA;MACxB;AACF;AACA;MACE;MACA,SAAUC,oBAAoBA,CAAA,EAAoC;QAChE,OAAO,GAAGd,MAAM,oBAAoBA,MAAM,8BAA8B;MAC1E;IAAC;MAAAW,IAAA;MAAAI,MAAA;MAAAH,GAAA;MAAAC,KAAA,EAED,SAAAA,CAAA,EAA4B;QAC1B,OAAO,GAAGX,SAAS,uBAAuB;MAC5C;IAAC;MAAAS,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAG,iBAAiBA,CAAA,EAAG;QAClBC,aAAA,CAdEd,oBAAoB;QAgBtBe,MAAM,CAACC,MAAM,GAAG,MAAM;UAAA,IAAAC,gBAAA;UACpB,MAAMC,YAAY,GAAG,IAAI,CAACC,SAAS,CAACC,QAAQ,CAAC,kBAAkB,CAAC;UAChE,MAAMC,IAAI,IAAAJ,gBAAA,GAAG,IAAI,CAACK,UAAU,cAAAL,gBAAA,uBAAfA,gBAAA,CAAiBM,aAAa,CAAC,kBAAkB,CAAC;UAE/D,IAAIF,IAAI,IAAIH,YAAY,EAAE;YACvBG,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAsBG,gBAAgB,CAAC,CAAC,CAACC,OAAO,CAAEC,OAAO,IAAK;cACjEA,OAAO,CAACP,SAAS,CAACQ,GAAG,CAAC,8BAA8B,CAAC;YACvD,CAAC,CAAC;UACJ;QACF,CAAC;MACH;;MAEA;IAAA;MAAAnB,IAAA;MAAAI,MAAA;MAAAH,GAAA;MAAAC,KAAA,EACA,SAAAA,CAAA,EAAoB;QAClB,OAAOpB,GAAG,CAAAsC,EAAA,KAAAA,EAAA,GAAAC,CAAA;AACd,QADc;AACd,KADc,GAAAf,aAAA,CA9BRd,oBAAoB,mBA+BHN,MAAM;MAE3B;IAAC;EAAA;AAAA,GAjCgCF,mBAAmB,CAACC,eAAe,CAAC;AAoCvEqC,OAAO,CAACC,IAAI,CACV,wHAAwH,GACtH,8EACJ,CAAC;;AAED;AACA,eAAe/B,oBAAoB","ignoreList":[]}
@@ -375,6 +375,7 @@ declare const C4DVideoCTAContainer_base: {
375
375
  _requestsEmbedVideo: {
376
376
  [videoId: string]: Promise<any>;
377
377
  };
378
+ customVideoName: string;
378
379
  _setRequestEmbedVideoInProgress(videoId: string, request: Promise<any>): void;
379
380
  _setErrorRequestEmbedVideo(videoId: string, error: Error): void;
380
381
  _setEmbeddedVideo(videoId: string, kWidget: any): void;
@@ -350,6 +350,7 @@ declare const C4DLightboxVideoPlayerContainer_base: {
350
350
  _requestsEmbedVideo: {
351
351
  [videoId: string]: Promise<any>;
352
352
  };
353
+ customVideoName: string;
353
354
  _setRequestEmbedVideoInProgress(videoId: string, request: Promise<any>): void;
354
355
  _setErrorRequestEmbedVideo(videoId: string, error: Error): void;
355
356
  _setEmbeddedVideo(videoId: string, kWidget: any): void;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2020, 2024
4
+ * Copyright IBM Corp. 2020, 2025
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -383,6 +383,7 @@ declare class C4DLeftNav extends C4DLeftNav_base {
383
383
  private _handleClickOut;
384
384
  private _handleKeydown;
385
385
  protected _handleContentStateChangeDocument: (event: CustomEvent) => void;
386
+ private _handleFocusOut;
386
387
  /**
387
388
  * Usage mode of the side nav.
388
389
  */
@@ -8,7 +8,7 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
8
8
  /**
9
9
  * @license
10
10
  *
11
- * Copyright IBM Corp. 2020, 2024
11
+ * Copyright IBM Corp. 2020, 2025
12
12
  *
13
13
  * This source code is licensed under the Apache-2.0 license found in the
14
14
  * LICENSE file in the root directory of this source tree.
@@ -231,6 +231,27 @@ let C4DLeftNav = _decorate([customElement(`${c4dPrefix}-left-nav`)], function (_
231
231
  }
232
232
  };
233
233
  }
234
+ }, {
235
+ kind: "method",
236
+ key: "_handleFocusOut",
237
+ value: //TODO: Remove this override when upstream bug is fixed.
238
+ //@ts-ignore: Overriding the Focus Out Function
239
+ function _handleFocusOut({
240
+ relatedTarget
241
+ }) {
242
+ const {
243
+ collapseMode
244
+ } = this;
245
+ if (collapseMode !== this.collapseMode) {
246
+ if (!this.contains(relatedTarget)) {
247
+ this.expanded = false;
248
+ }
249
+ }
250
+ }
251
+
252
+ /**
253
+ * Usage mode of the side nav.
254
+ */
234
255
  }, {
235
256
  kind: "field",
236
257
  decorators: [property({
@@ -244,11 +265,7 @@ let C4DLeftNav = _decorate([customElement(`${c4dPrefix}-left-nav`)], function (_
244
265
  }, {
245
266
  kind: "method",
246
267
  key: "connectedCallback",
247
- value:
248
- /**
249
- * Usage mode of the side nav.
250
- */
251
- function connectedCallback() {
268
+ value: function connectedCallback() {
252
269
  _superPropGet(C4DLeftNav, "connectedCallback", this, 3)([]);
253
270
  document.addEventListener('click', this._handleClickOut.bind(this));
254
271
  }
@@ -1 +1 @@
1
- {"version":3,"file":"left-nav.js","names":["findLast","html","property","query","selectorTabbable","HostListener","CDSSideNav","SIDE_NAV_USAGE_MODE","settings","focuswrap","find","forEach","StableSelectorMixin","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","PRECEDING","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","FOLLOWING","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINED_BY","C4DLeftNav","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","decorators","type","Boolean","event","_importedSideNav","Promise","all","expanded","detail","active","selectorButtonToggle","target","toggle","getRootNode","querySelector","focus","composedPath","tagName","toUpperCase","comparisonResult","selectorExpandedMenuSection","selectorTabbableForLeftnav","expandedMenuSection","tabbable","querySelectorAll","elem","offsetParent","_expandedMenuSection$","allTabbable","Array","from","shadowRoot","length","_handleClickOut","toggleButton","_handleKeydown","selectorMenuSections","panelId","menuSections","expandedSection","filter","section","matches","shift","requestedSection","undefined","id","split","ariaHidden","transition","reflect","attribute","HEADER_NAV","connectedCallback","_superPropGet","document","addEventListener","bind","updated","changedProperties","usageMode","has","console","warn","_doc$querySelector","doc","selectorOverlay","item","_startSentinelNode","startSentinelNode","_endSentinelNode","endSentinelNode","masthead","_doc$body","_hFocusWrap","body","style","overflow","position","selectorFirstMenuSection","c4dLeftNavMenuSection","release","side","_t","_","render","_renderSentinel","renderSentinel","_t2","static","join"],"sources":["components/masthead/left-nav.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport findLast from 'lodash-es/findLast.js';\nimport { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { selectorTabbable } from '@carbon/web-components/es/globals/settings.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport CDSSideNav, {\n SIDE_NAV_USAGE_MODE,\n} from '@carbon/web-components/es/components/ui-shell/side-nav.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport focuswrap from '@carbon/ibmdotcom-utilities/es/utilities/focuswrap/focuswrap.js';\nimport { find, forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport C4DLeftNavOverlay from './left-nav-overlay';\nimport styles from './masthead.scss';\nimport C4DLeftNavMenuSection from './left-nav-menu-section';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n// eslint-disable-next-line no-bitwise\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n// eslint-disable-next-line no-bitwise\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\n/**\n * Masthead left nav.\n *\n * @element c4d-left-nav\n * @csspart side-nav-wrapper - The wrapper element for the side nav. Usage: `c4d-left-nav::part(side-nav-wrapper)`\n * @csspart platform-name - The element containing the platform name slot. Usage: `c4d-left-nav::part(platform-name)`\n * @csspart menu-sections - The element containing the menu sections slot. Usage: `c4d-left-nav::part(menu-sections)`\n */\n@customElement(`${c4dPrefix}-left-nav`)\nclass C4DLeftNav extends StableSelectorMixin(CDSSideNav) {\n /**\n * The handle for focus wrapping.\n */\n private _hFocusWrap: Handle | null = null;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n @property({ type: Boolean })\n private _importedSideNav = false;\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleButtonToggle = async (event: CustomEvent) => {\n if (!this._importedSideNav) {\n await Promise.all([\n import('./left-nav-name'),\n import('./left-nav-menu'),\n import('./left-nav-menu-section'),\n import('./left-nav-menu-item'),\n import('./left-nav-menu-category-heading'),\n import('./left-nav-overlay'),\n ]);\n this._importedSideNav = true;\n }\n this.expanded = event.detail.active;\n };\n\n /**\n * Handles `cds-request-focus-wrap` event on the document dispatched from focuswrap.\n *\n * @param event The event.\n */\n @HostListener('document:cds-request-focus-wrap')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleRequestMenuButtonFocusWrap = (event: CustomEvent) => {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n /**\n * If focus leaves this element, send focus to the menu toggle.\n * Else if focus leaves the menu toggle, bring it back to this element.\n */\n if (event.target === this) {\n const toggle = (this.getRootNode() as Document).querySelector(\n selectorButtonToggle\n );\n if (toggle) {\n (toggle as HTMLElement).focus();\n }\n } else if (\n (event.composedPath()[1] as HTMLElement).tagName ===\n selectorButtonToggle.toUpperCase()\n ) {\n const { comparisonResult } = event.detail;\n const {\n selectorExpandedMenuSection,\n selectorTabbable: selectorTabbableForLeftnav,\n } = this.constructor as typeof C4DLeftNav;\n const expandedMenuSection = this.querySelector(\n selectorExpandedMenuSection\n );\n\n // focus on first tabbable element when expanding left-nav\n if (comparisonResult === -1) {\n const tabbable = find(\n this.querySelectorAll(selectorTabbableForLeftnav),\n (elem) => Boolean((elem as HTMLElement).offsetParent)\n );\n\n if (tabbable) {\n (tabbable as HTMLElement).focus();\n }\n }\n // wrap focus to last tabbable element focusing out of first tabbable element\n // eslint-disable-next-line no-bitwise\n else if (comparisonResult & PRECEDING) {\n const tabbable = findLast(\n expandedMenuSection?.querySelectorAll(selectorTabbableForLeftnav),\n (elem) => Boolean((elem as HTMLElement).offsetParent)\n );\n if (tabbable) {\n (tabbable as HTMLElement).focus();\n }\n }\n // wrap focus to first tabbable element focusing out of last tabbable element\n // eslint-disable-next-line no-bitwise\n else if (comparisonResult & FOLLOWING) {\n const allTabbable = [\n ...Array.from(\n expandedMenuSection?.shadowRoot?.querySelectorAll(\n selectorTabbableForLeftnav\n ) || []\n ),\n ...Array.from(\n expandedMenuSection?.querySelectorAll(selectorTabbableForLeftnav) ||\n []\n ),\n ];\n\n if (allTabbable.length) {\n (allTabbable[0] as HTMLElement).focus();\n }\n }\n }\n };\n\n private _handleClickOut(event: MouseEvent) {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n const toggleButton: HTMLElement | null = (\n this.getRootNode() as Document\n ).querySelector(selectorButtonToggle);\n\n // TODO: check why `target` returns `c4d-masthead-container` (parent) in Lit v2\n if (\n this.expanded &&\n (event.composedPath()[0] as HTMLElement).tagName ===\n 'C4D-LEFT-NAV-OVERLAY'\n ) {\n this.expanded = false;\n toggleButton?.focus();\n }\n }\n\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown(event: KeyboardEvent) {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n const toggleButton: HTMLElement | null = (\n this.getRootNode() as Document\n ).querySelector(selectorButtonToggle);\n if (event.key === 'Escape') {\n this.expanded = false;\n toggleButton?.focus();\n }\n }\n\n @HostListener('parentRoot:eventToggle')\n protected _handleContentStateChangeDocument = (event: CustomEvent) => {\n const { selectorMenuSections } = this.constructor as typeof C4DLeftNav;\n const { panelId }: { panelId: string } = event.detail;\n\n const menuSections: C4DLeftNavMenuSection[] = Array.from(\n this.querySelectorAll(selectorMenuSections)\n );\n const expandedSection = menuSections\n .filter((section) => section.matches('[expanded]'))\n .shift();\n const requestedSection = menuSections\n .filter((section) => section.matches(`[section-id=\"${panelId}\"]`))\n .shift();\n\n if (\n expandedSection !== undefined &&\n requestedSection !== undefined &&\n expandedSection !== requestedSection\n ) {\n const id = panelId.split(', ');\n requestedSection.expanded = true;\n requestedSection.ariaHidden = 'false';\n requestedSection.transition = false;\n\n expandedSection.expanded = false;\n expandedSection.ariaHidden = 'true';\n\n /**\n * if next menu section expanded is a level 2 menu section and current expanded\n * menu section is a level 1 menu section, add transition attribute for proper animation\n */\n if (\n id[0] !== '-1' &&\n id[1] !== '-1' &&\n !requestedSection.matches('[section-id*=\" -1\"]')\n ) {\n expandedSection.transition = true;\n }\n }\n };\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.HEADER_NAV;\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleClickOut.bind(this));\n }\n\n async updated(changedProperties) {\n super.updated(changedProperties);\n const { usageMode } = this;\n if (\n changedProperties.has('usageMode') &&\n usageMode !== SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n 'c4d-left-nav supports only `header-nav` for its `usage-mode` attribute or `usageMode` property. The value is ignored:',\n usageMode\n );\n }\n if (changedProperties.has('expanded')) {\n const doc = this.getRootNode() as Document;\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof C4DLeftNav).selectorOverlay\n ),\n (item) => {\n (item as C4DLeftNavOverlay).active = this.expanded;\n }\n );\n const {\n expanded,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n\n const masthead: HTMLElement | null | undefined = doc\n ?.querySelector(\n `${c4dPrefix}-masthead-container,\n ${c4dPrefix}-masthead-composite`\n )\n ?.querySelector(`${c4dPrefix}-masthead`);\n if (expanded && masthead) {\n this._hFocusWrap = focuswrap(this.shadowRoot!, [\n startSentinelNode,\n endSentinelNode,\n ]);\n\n if (doc.body?.style) {\n doc.body.style.overflow = `hidden`;\n }\n\n // TODO: remove this logic once masthead can account for banners.\n // set masthead position to `fixed` when left-nav is open for cloud-mastead\n if (masthead) {\n masthead!.style.position = 'fixed';\n }\n } else {\n const { selectorMenuSections, selectorFirstMenuSection } = this\n .constructor as typeof C4DLeftNav;\n\n // TODO: remove this logic once masthead can account for banners.\n // remove set position from mastead when left-nav is closed for cloud-mastead\n if (masthead) {\n document.body.style.overflow = 'auto';\n masthead.style.position = '';\n }\n\n this.querySelectorAll(selectorMenuSections).forEach(\n (c4dLeftNavMenuSection) => {\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).expanded = false;\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).transition = false;\n }\n );\n\n // reset to first menu section\n this.querySelectorAll(selectorFirstMenuSection).forEach(\n (c4dLeftNavMenuSection) => {\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).expanded = true;\n }\n );\n\n if (this._hFocusWrap) {\n this._hFocusWrap = this._hFocusWrap.release();\n }\n }\n }\n }\n\n private _renderSentinel = (side: string) => {\n return html`\n <button\n id=\"${side}-sentinel\"\n type=\"button\"\n class=\"${prefix}--visually-hidden\"></button>\n `;\n };\n\n render() {\n const { _renderSentinel: renderSentinel } = this;\n return html`\n <div class=\"${prefix}--side-nav__wrapper\" part=\"side-nav-wrapper\">\n ${renderSentinel('start')}\n <div class=\"${prefix}--side-nav__platform-name\" part=\"platform-name\">\n <slot name=\"platform-id\"></slot>\n </div>\n <div class=\"${prefix}--side-nav__menu-sections\" part=\"menu-sections\">\n <slot></slot>\n </div>\n ${renderSentinel('end')}\n </div>\n `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${c4dPrefix}-masthead-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return [\n `${c4dPrefix}-left-nav-menu`,\n `${c4dPrefix}-left-nav-menu-item`,\n `${c4dPrefix}-left-nav-name`,\n ].join(', ');\n }\n\n /**\n * A selector that will return menu sections.\n */\n static get selectorMenuSections() {\n return `${c4dPrefix}-left-nav-menu-section`;\n }\n\n /**\n * A selector that will return expanded menu section.\n */\n static get selectorExpandedMenuSection() {\n return `${c4dPrefix}-left-nav-menu-section[expanded]`;\n }\n\n /**\n * A selector that will return first main visible menu section.\n */\n static get selectorFirstMenuSection() {\n return `${c4dPrefix}-left-nav-menu-section[section-id='-1, -1']`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return [\n selectorTabbable,\n `${c4dPrefix}-left-nav-menu`,\n `${c4dPrefix}-left-nav-menu-item`,\n `${c4dPrefix}-left-nav-name`,\n ].join(', ');\n }\n\n /**\n * A selector that will return the overlays.\n */\n static get selectorOverlay() {\n return `${c4dPrefix}-left-nav-overlay`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead__l0-sidenav`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${c4dPrefix}-left-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DLeftNav;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"left-nav.js","names":["findLast","html","property","query","selectorTabbable","HostListener","CDSSideNav","SIDE_NAV_USAGE_MODE","settings","focuswrap","find","forEach","StableSelectorMixin","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","PRECEDING","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","FOLLOWING","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINED_BY","C4DLeftNav","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","decorators","type","Boolean","event","_importedSideNav","Promise","all","expanded","detail","active","selectorButtonToggle","target","toggle","getRootNode","querySelector","focus","composedPath","tagName","toUpperCase","comparisonResult","selectorExpandedMenuSection","selectorTabbableForLeftnav","expandedMenuSection","tabbable","querySelectorAll","elem","offsetParent","_expandedMenuSection$","allTabbable","Array","from","shadowRoot","length","_handleClickOut","toggleButton","_handleKeydown","selectorMenuSections","panelId","menuSections","expandedSection","filter","section","matches","shift","requestedSection","undefined","id","split","ariaHidden","transition","_handleFocusOut","relatedTarget","collapseMode","contains","reflect","attribute","HEADER_NAV","connectedCallback","_superPropGet","document","addEventListener","bind","updated","changedProperties","usageMode","has","console","warn","_doc$querySelector","doc","selectorOverlay","item","_startSentinelNode","startSentinelNode","_endSentinelNode","endSentinelNode","masthead","_doc$body","_hFocusWrap","body","style","overflow","position","selectorFirstMenuSection","c4dLeftNavMenuSection","release","side","_t","_","render","_renderSentinel","renderSentinel","_t2","static","join"],"sources":["components/masthead/left-nav.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport findLast from 'lodash-es/findLast.js';\nimport { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { selectorTabbable } from '@carbon/web-components/es/globals/settings.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport CDSSideNav, {\n SIDE_NAV_USAGE_MODE,\n} from '@carbon/web-components/es/components/ui-shell/side-nav.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport focuswrap from '@carbon/ibmdotcom-utilities/es/utilities/focuswrap/focuswrap.js';\nimport { find, forEach } from '../../globals/internal/collection-helpers';\nimport Handle from '../../globals/internal/handle';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport C4DLeftNavOverlay from './left-nav-overlay';\nimport styles from './masthead.scss';\nimport C4DLeftNavMenuSection from './left-nav-menu-section';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n// eslint-disable-next-line no-bitwise\nconst PRECEDING =\n Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n// eslint-disable-next-line no-bitwise\nconst FOLLOWING =\n Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n\n/**\n * Masthead left nav.\n *\n * @element c4d-left-nav\n * @csspart side-nav-wrapper - The wrapper element for the side nav. Usage: `c4d-left-nav::part(side-nav-wrapper)`\n * @csspart platform-name - The element containing the platform name slot. Usage: `c4d-left-nav::part(platform-name)`\n * @csspart menu-sections - The element containing the menu sections slot. Usage: `c4d-left-nav::part(menu-sections)`\n */\n@customElement(`${c4dPrefix}-left-nav`)\n//@ts-ignore: Temporary override. shoud be removed when fixed upstream.\nclass C4DLeftNav extends StableSelectorMixin(CDSSideNav) {\n /**\n * The handle for focus wrapping.\n */\n private _hFocusWrap: Handle | null = null;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n @property({ type: Boolean })\n private _importedSideNav = false;\n\n /**\n * Handles `${prefix}-header-menu-button-toggle` event on the document.\n */\n @HostListener('parentRoot:eventButtonToggle')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleButtonToggle = async (event: CustomEvent) => {\n if (!this._importedSideNav) {\n await Promise.all([\n import('./left-nav-name'),\n import('./left-nav-menu'),\n import('./left-nav-menu-section'),\n import('./left-nav-menu-item'),\n import('./left-nav-menu-category-heading'),\n import('./left-nav-overlay'),\n ]);\n this._importedSideNav = true;\n }\n this.expanded = event.detail.active;\n };\n\n /**\n * Handles `cds-request-focus-wrap` event on the document dispatched from focuswrap.\n *\n * @param event The event.\n */\n @HostListener('document:cds-request-focus-wrap')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleRequestMenuButtonFocusWrap = (event: CustomEvent) => {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n /**\n * If focus leaves this element, send focus to the menu toggle.\n * Else if focus leaves the menu toggle, bring it back to this element.\n */\n if (event.target === this) {\n const toggle = (this.getRootNode() as Document).querySelector(\n selectorButtonToggle\n );\n if (toggle) {\n (toggle as HTMLElement).focus();\n }\n } else if (\n (event.composedPath()[1] as HTMLElement).tagName ===\n selectorButtonToggle.toUpperCase()\n ) {\n const { comparisonResult } = event.detail;\n const {\n selectorExpandedMenuSection,\n selectorTabbable: selectorTabbableForLeftnav,\n } = this.constructor as typeof C4DLeftNav;\n const expandedMenuSection = this.querySelector(\n selectorExpandedMenuSection\n );\n\n // focus on first tabbable element when expanding left-nav\n if (comparisonResult === -1) {\n const tabbable = find(\n this.querySelectorAll(selectorTabbableForLeftnav),\n (elem) => Boolean((elem as HTMLElement).offsetParent)\n );\n\n if (tabbable) {\n (tabbable as HTMLElement).focus();\n }\n }\n // wrap focus to last tabbable element focusing out of first tabbable element\n // eslint-disable-next-line no-bitwise\n else if (comparisonResult & PRECEDING) {\n const tabbable = findLast(\n expandedMenuSection?.querySelectorAll(selectorTabbableForLeftnav),\n (elem) => Boolean((elem as HTMLElement).offsetParent)\n );\n if (tabbable) {\n (tabbable as HTMLElement).focus();\n }\n }\n // wrap focus to first tabbable element focusing out of last tabbable element\n // eslint-disable-next-line no-bitwise\n else if (comparisonResult & FOLLOWING) {\n const allTabbable = [\n ...Array.from(\n expandedMenuSection?.shadowRoot?.querySelectorAll(\n selectorTabbableForLeftnav\n ) || []\n ),\n ...Array.from(\n expandedMenuSection?.querySelectorAll(selectorTabbableForLeftnav) ||\n []\n ),\n ];\n\n if (allTabbable.length) {\n (allTabbable[0] as HTMLElement).focus();\n }\n }\n }\n };\n\n private _handleClickOut(event: MouseEvent) {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n const toggleButton: HTMLElement | null = (\n this.getRootNode() as Document\n ).querySelector(selectorButtonToggle);\n\n // TODO: check why `target` returns `c4d-masthead-container` (parent) in Lit v2\n if (\n this.expanded &&\n (event.composedPath()[0] as HTMLElement).tagName ===\n 'C4D-LEFT-NAV-OVERLAY'\n ) {\n this.expanded = false;\n toggleButton?.focus();\n }\n }\n\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown(event: KeyboardEvent) {\n const { selectorButtonToggle } = this.constructor as typeof C4DLeftNav;\n const toggleButton: HTMLElement | null = (\n this.getRootNode() as Document\n ).querySelector(selectorButtonToggle);\n if (event.key === 'Escape') {\n this.expanded = false;\n toggleButton?.focus();\n }\n }\n\n @HostListener('parentRoot:eventToggle')\n protected _handleContentStateChangeDocument = (event: CustomEvent) => {\n const { selectorMenuSections } = this.constructor as typeof C4DLeftNav;\n const { panelId }: { panelId: string } = event.detail;\n\n const menuSections: C4DLeftNavMenuSection[] = Array.from(\n this.querySelectorAll(selectorMenuSections)\n );\n const expandedSection = menuSections\n .filter((section) => section.matches('[expanded]'))\n .shift();\n const requestedSection = menuSections\n .filter((section) => section.matches(`[section-id=\"${panelId}\"]`))\n .shift();\n\n if (\n expandedSection !== undefined &&\n requestedSection !== undefined &&\n expandedSection !== requestedSection\n ) {\n const id = panelId.split(', ');\n requestedSection.expanded = true;\n requestedSection.ariaHidden = 'false';\n requestedSection.transition = false;\n\n expandedSection.expanded = false;\n expandedSection.ariaHidden = 'true';\n\n /**\n * if next menu section expanded is a level 2 menu section and current expanded\n * menu section is a level 1 menu section, add transition attribute for proper animation\n */\n if (\n id[0] !== '-1' &&\n id[1] !== '-1' &&\n !requestedSection.matches('[section-id*=\" -1\"]')\n ) {\n expandedSection.transition = true;\n }\n }\n };\n\n //TODO: Remove this override when upstream bug is fixed.\n //@ts-ignore: Overriding the Focus Out Function\n private _handleFocusOut({ relatedTarget }: FocusEvent) {\n const { collapseMode } = this;\n if (collapseMode !== this.collapseMode) {\n if (!this.contains(relatedTarget as Node)) {\n this.expanded = false;\n }\n }\n }\n\n /**\n * Usage mode of the side nav.\n */\n @property({ reflect: true, attribute: 'usage-mode' })\n usageMode = SIDE_NAV_USAGE_MODE.HEADER_NAV;\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleClickOut.bind(this));\n }\n\n async updated(changedProperties) {\n super.updated(changedProperties);\n const { usageMode } = this;\n if (\n changedProperties.has('usageMode') &&\n usageMode !== SIDE_NAV_USAGE_MODE.HEADER_NAV\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n 'c4d-left-nav supports only `header-nav` for its `usage-mode` attribute or `usageMode` property. The value is ignored:',\n usageMode\n );\n }\n if (changedProperties.has('expanded')) {\n const doc = this.getRootNode() as Document;\n forEach(\n doc.querySelectorAll(\n (this.constructor as typeof C4DLeftNav).selectorOverlay\n ),\n (item) => {\n (item as C4DLeftNavOverlay).active = this.expanded;\n }\n );\n const {\n expanded,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n\n const masthead: HTMLElement | null | undefined = doc\n ?.querySelector(\n `${c4dPrefix}-masthead-container,\n ${c4dPrefix}-masthead-composite`\n )\n ?.querySelector(`${c4dPrefix}-masthead`);\n if (expanded && masthead) {\n this._hFocusWrap = focuswrap(this.shadowRoot!, [\n startSentinelNode,\n endSentinelNode,\n ]);\n\n if (doc.body?.style) {\n doc.body.style.overflow = `hidden`;\n }\n\n // TODO: remove this logic once masthead can account for banners.\n // set masthead position to `fixed` when left-nav is open for cloud-mastead\n if (masthead) {\n masthead!.style.position = 'fixed';\n }\n } else {\n const { selectorMenuSections, selectorFirstMenuSection } = this\n .constructor as typeof C4DLeftNav;\n\n // TODO: remove this logic once masthead can account for banners.\n // remove set position from mastead when left-nav is closed for cloud-mastead\n if (masthead) {\n document.body.style.overflow = 'auto';\n masthead.style.position = '';\n }\n\n this.querySelectorAll(selectorMenuSections).forEach(\n (c4dLeftNavMenuSection) => {\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).expanded = false;\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).transition = false;\n }\n );\n\n // reset to first menu section\n this.querySelectorAll(selectorFirstMenuSection).forEach(\n (c4dLeftNavMenuSection) => {\n (c4dLeftNavMenuSection as C4DLeftNavMenuSection).expanded = true;\n }\n );\n\n if (this._hFocusWrap) {\n this._hFocusWrap = this._hFocusWrap.release();\n }\n }\n }\n }\n\n private _renderSentinel = (side: string) => {\n return html`\n <button\n id=\"${side}-sentinel\"\n type=\"button\"\n class=\"${prefix}--visually-hidden\"></button>\n `;\n };\n\n render() {\n const { _renderSentinel: renderSentinel } = this;\n return html`\n <div class=\"${prefix}--side-nav__wrapper\" part=\"side-nav-wrapper\">\n ${renderSentinel('start')}\n <div class=\"${prefix}--side-nav__platform-name\" part=\"platform-name\">\n <slot name=\"platform-id\"></slot>\n </div>\n <div class=\"${prefix}--side-nav__menu-sections\" part=\"menu-sections\">\n <slot></slot>\n </div>\n ${renderSentinel('end')}\n </div>\n `;\n }\n\n /**\n * A selector that will return the toggle buttons.\n */\n static get selectorButtonToggle() {\n return `${c4dPrefix}-masthead-menu-button`;\n }\n\n /**\n * A selector that will return side nav focusable items.\n */\n static get selectorNavItems() {\n return [\n `${c4dPrefix}-left-nav-menu`,\n `${c4dPrefix}-left-nav-menu-item`,\n `${c4dPrefix}-left-nav-name`,\n ].join(', ');\n }\n\n /**\n * A selector that will return menu sections.\n */\n static get selectorMenuSections() {\n return `${c4dPrefix}-left-nav-menu-section`;\n }\n\n /**\n * A selector that will return expanded menu section.\n */\n static get selectorExpandedMenuSection() {\n return `${c4dPrefix}-left-nav-menu-section[expanded]`;\n }\n\n /**\n * A selector that will return first main visible menu section.\n */\n static get selectorFirstMenuSection() {\n return `${c4dPrefix}-left-nav-menu-section[section-id='-1, -1']`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return [\n selectorTabbable,\n `${c4dPrefix}-left-nav-menu`,\n `${c4dPrefix}-left-nav-menu-item`,\n `${c4dPrefix}-left-nav-name`,\n ].join(', ');\n }\n\n /**\n * A selector that will return the overlays.\n */\n static get selectorOverlay() {\n return `${c4dPrefix}-left-nav-overlay`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead__l0-sidenav`;\n }\n\n /**\n * The name of the custom event fired after this side nav menu is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${c4dPrefix}-left-nav-menu-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DLeftNav;\n"],"mappings":"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","ignoreList":[]}
@@ -198,7 +198,7 @@ let C4DTableOfContents = _decorate([customElement(`${c4dPrefix}-table-of-content
198
198
  kind: "field",
199
199
  key: "_tagNamesToAvoid",
200
200
  value() {
201
- return [`${c4dPrefix}-video-player`];
201
+ return [`${c4dPrefix}-video-player`, 'select', 'input'];
202
202
  }
203
203
  }, {
204
204
  kind: "field",
@@ -704,7 +704,7 @@ let C4DTableOfContents = _decorate([customElement(`${c4dPrefix}-table-of-content
704
704
  key: "_retriggerHarvest",
705
705
  value() {
706
706
  return () => {
707
- this._targets = Array.from(this.querySelectorAll('[name]'));
707
+ this._targets = Array.from(this.querySelectorAll('a[name]'));
708
708
  };
709
709
  }
710
710
  }, {