@carbon/ibmdotcom-web-components 2.18.0 → 2.20.0-rc.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 (51) hide show
  1. package/custom-elements.json +46 -0
  2. package/dist/dotcom-shell.js +1 -1
  3. package/dist/dotcom-shell.min.js +2 -2
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +1 -1
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  6. package/dist/{index-678f6224.js → index-554158e8.js} +63 -49
  7. package/dist/{index-6c94eabe.js → index-667aee1b.js} +144 -93
  8. package/dist/{left-nav-menu-e08fe045.js → left-nav-menu-37d6d466.js} +2 -2
  9. package/dist/{left-nav-menu-62b8f9cb.js → left-nav-menu-6e2a1af1.js} +1 -1
  10. package/dist/{left-nav-menu-category-heading-45355a3b.js → left-nav-menu-category-heading-0d42cb41.js} +2 -2
  11. package/dist/{left-nav-menu-category-heading-0d31942f.js → left-nav-menu-category-heading-869a1cfa.js} +1 -1
  12. package/dist/{left-nav-menu-item-c2eb183b.js → left-nav-menu-item-018f9e7b.js} +2 -2
  13. package/dist/{left-nav-menu-item-52d8ca19.js → left-nav-menu-item-9ce47bdc.js} +1 -1
  14. package/dist/{left-nav-menu-section-df2cc0aa.js → left-nav-menu-section-2e69da34.js} +2 -2
  15. package/dist/{left-nav-menu-section-3ff8e3ea.js → left-nav-menu-section-76a65744.js} +1 -1
  16. package/dist/{left-nav-overlay-f3568b82.js → left-nav-overlay-998b6052.js} +2 -2
  17. package/dist/{left-nav-overlay-c7c497ba.js → left-nav-overlay-9b58cf19.js} +1 -1
  18. package/dist/{megamenu-category-group-13d2ba8f.js → megamenu-category-group-1a41f5b3.js} +2 -2
  19. package/dist/{megamenu-category-group-copy-03521c9f.js → megamenu-category-group-copy-36b78919.js} +1 -1
  20. package/dist/{megamenu-category-group-copy-91fa6d13.js → megamenu-category-group-copy-e0277b02.js} +2 -2
  21. package/dist/{megamenu-category-group-2f2a24cd.js → megamenu-category-group-e1f628f5.js} +1 -1
  22. package/dist/{megamenu-category-heading-609f4af6.js → megamenu-category-heading-712017cf.js} +2 -2
  23. package/dist/{megamenu-category-heading-645066a1.js → megamenu-category-heading-793cbc0e.js} +7 -2
  24. package/dist/{megamenu-category-link-dceab84e.js → megamenu-category-link-020f0e7e.js} +1 -1
  25. package/dist/{megamenu-category-link-37b70e09.js → megamenu-category-link-cce7f955.js} +6 -6
  26. package/dist/{megamenu-category-link-group-2eb4ef61.js → megamenu-category-link-group-7f27cdc8.js} +1 -1
  27. package/dist/{megamenu-category-link-group-5d69bd1a.js → megamenu-category-link-group-81646ef5.js} +2 -2
  28. package/dist/{megamenu-left-navigation-f1695a22.js → megamenu-left-navigation-2741873d.js} +2 -2
  29. package/dist/{megamenu-left-navigation-658a70cd.js → megamenu-left-navigation-631d14fd.js} +1 -1
  30. package/dist/{megamenu-overlay-3dd18ddd.js → megamenu-overlay-417221f5.js} +1 -1
  31. package/dist/{megamenu-overlay-5078863c.js → megamenu-overlay-e39d28f0.js} +2 -2
  32. package/dist/{megamenu-tab-016fc48a.js → megamenu-tab-47f4a1c7.js} +1 -1
  33. package/dist/{megamenu-tab-3582c935.js → megamenu-tab-60294da2.js} +2 -2
  34. package/es/components/masthead/masthead-composite.d.ts +6 -0
  35. package/es/components/masthead/masthead-composite.js +42 -8
  36. package/es/components/masthead/masthead-composite.js.map +1 -1
  37. package/es/components/masthead/masthead.css.js +1 -1
  38. package/es/components/masthead/megamenu-category-heading.d.ts +1 -0
  39. package/es/components/masthead/megamenu-category-heading.js +6 -1
  40. package/es/components/masthead/megamenu-category-heading.js.map +1 -1
  41. package/es/components/masthead/megamenu-heading.d.ts +1 -0
  42. package/es/components/masthead/megamenu-heading.js +6 -1
  43. package/es/components/masthead/megamenu-heading.js.map +1 -1
  44. package/es/components/table-of-contents/table-of-contents.d.ts +1 -1
  45. package/es/components/table-of-contents/table-of-contents.js +6 -3
  46. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  47. package/es/components-react/masthead/masthead-composite.d.ts +1 -0
  48. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  49. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  50. package/package.json +5 -5
  51. package/scss/components/masthead/masthead.scss +12 -0
@@ -11,6 +11,7 @@ import C4DMegaMenuHeading from './megamenu-heading';
11
11
  * MegaMenu Category Heading.
12
12
  *
13
13
  * @element c4d-megamenu-category-heading
14
+ * @csspart l0-arrow-cat-heading - Targets the heading category arrow icon. Usage: `c4d-megamenu-category-heading::part(l0-arrow-cat-heading)`
14
15
  */
15
16
  declare class C4DMegaMenuCategoryHeading extends C4DMegaMenuHeading {
16
17
  protected get _arrowIcon(): import("lit-html").SVGTemplateResult;
@@ -23,6 +23,7 @@ const {
23
23
  * MegaMenu Category Heading.
24
24
  *
25
25
  * @element c4d-megamenu-category-heading
26
+ * @csspart l0-arrow-cat-heading - Targets the heading category arrow icon. Usage: `c4d-megamenu-category-heading::part(l0-arrow-cat-heading)`
26
27
  */
27
28
  let C4DMegaMenuCategoryHeading = _decorate([customElement(`${c4dPrefix}-megamenu-category-heading`)], function (_initialize, _C4DMegaMenuHeading) {
28
29
  class C4DMegaMenuCategoryHeading extends _C4DMegaMenuHeading {
@@ -38,7 +39,11 @@ let C4DMegaMenuCategoryHeading = _decorate([customElement(`${c4dPrefix}-megamenu
38
39
  key: "_arrowIcon",
39
40
  value: function () {
40
41
  const isRTL = document.dir.toLowerCase() === 'rtl';
41
- return isRTL ? ArrowLeft20() : ArrowRight20();
42
+ return isRTL ? ArrowLeft20({
43
+ part: 'l0-arrow-cat-heading'
44
+ }) : ArrowRight20({
45
+ part: 'l0-arrow-cat-heading'
46
+ });
42
47
  }
43
48
  }, {
44
49
  kind: "field",
@@ -1 +1 @@
1
- {"version":3,"file":"megamenu-category-heading.js","names":["property","ArrowRight20","ArrowLeft20","settings","C4DMegaMenuHeading","styles","carbonElement","customElement","stablePrefix","c4dPrefix","C4DMegaMenuCategoryHeading","_decorate","_initialize","_C4DMegaMenuHeading","constructor","args","F","d","kind","key","value","isRTL","document","dir","toLowerCase","decorators","reflect","type","Number","attribute","static"],"sources":["components/masthead/megamenu-category-heading.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2022, 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 { property } from 'lit/decorators.js';\nimport ArrowRight20 from '@carbon/web-components/es/icons/arrow--right/20.js';\nimport ArrowLeft20 from '@carbon/web-components/es/icons/arrow--left/20.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DMegaMenuHeading from './megamenu-heading';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * MegaMenu Category Heading.\n *\n * @element c4d-megamenu-category-heading\n */\n@customElement(`${c4dPrefix}-megamenu-category-heading`)\nclass C4DMegaMenuCategoryHeading extends C4DMegaMenuHeading {\n protected get _arrowIcon() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft20() : ArrowRight20();\n }\n\n @property({ reflect: true, type: Number, attribute: 'heading-level' })\n headingLevel = 3;\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMegaMenuCategoryHeading;\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,OAAOC,YAAY,MAAM,oDAAoD;AAC7E,OAAOC,WAAW,MAAM,mDAAmD;AAC3E,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,kBAAkB,MAAM,uBAAoB;AACnD,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGN,QAAQ;;AAE5C;AACA;AACA;AACA;AACA;AAJA,IAMMO,0BAA0B,GAAAC,SAAA,EAD/BJ,aAAa,CAAC,GAAGE,SAAS,4BAA4B,CAAC,aAAAG,WAAA,EAAAC,mBAAA;EAAxD,MACMH,0BAA0B,SAAAG,mBAAA,CAA4B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAU5D;EAAC;IAAAI,CAAA,EAVKN,0BAA0B;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAC9B,SAAAA,CAAA,EAA2B;QACzB,MAAMC,KAAK,GAAGC,QAAQ,CAACC,GAAG,CAACC,WAAW,CAAC,CAAC,KAAK,KAAK;QAClD,OAAOH,KAAK,GAAGnB,WAAW,CAAC,CAAC,GAAGD,YAAY,CAAC,CAAC;MAC/C;IAAC;MAAAiB,IAAA;MAAAO,UAAA,GAEAzB,QAAQ,CAAC;QAAE0B,OAAO,EAAE,IAAI;QAAEC,IAAI,EAAEC,MAAM;QAAEC,SAAS,EAAE;MAAgB,CAAC,CAAC;MAAAV,GAAA;MAAAC,MAAA;QAAA,OACvD,CAAC;MAAA;IAAA;MAAAF,IAAA;MAAAY,MAAA;MAAAX,GAAA;MAAAC,MAAA;QAAA,OAEAf,MAAM;MAAA;IAAA;EAAA;AAAA,GATiBD,kBAAkB;AAY3D,eAAeM,0BAA0B","ignoreList":[]}
1
+ {"version":3,"file":"megamenu-category-heading.js","names":["property","ArrowRight20","ArrowLeft20","settings","C4DMegaMenuHeading","styles","carbonElement","customElement","stablePrefix","c4dPrefix","C4DMegaMenuCategoryHeading","_decorate","_initialize","_C4DMegaMenuHeading","constructor","args","F","d","kind","key","value","isRTL","document","dir","toLowerCase","part","decorators","reflect","type","Number","attribute","static"],"sources":["components/masthead/megamenu-category-heading.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2022, 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 { property } from 'lit/decorators.js';\nimport ArrowRight20 from '@carbon/web-components/es/icons/arrow--right/20.js';\nimport ArrowLeft20 from '@carbon/web-components/es/icons/arrow--left/20.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DMegaMenuHeading from './megamenu-heading';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * MegaMenu Category Heading.\n *\n * @element c4d-megamenu-category-heading\n * @csspart l0-arrow-cat-heading - Targets the heading category arrow icon. Usage: `c4d-megamenu-category-heading::part(l0-arrow-cat-heading)`\n */\n@customElement(`${c4dPrefix}-megamenu-category-heading`)\nclass C4DMegaMenuCategoryHeading extends C4DMegaMenuHeading {\n protected get _arrowIcon() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL\n ? ArrowLeft20({ part: 'l0-arrow-cat-heading' })\n : ArrowRight20({ part: 'l0-arrow-cat-heading' });\n }\n\n @property({ reflect: true, type: Number, attribute: 'heading-level' })\n headingLevel = 3;\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMegaMenuCategoryHeading;\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,OAAOC,YAAY,MAAM,oDAAoD;AAC7E,OAAOC,WAAW,MAAM,mDAAmD;AAC3E,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,kBAAkB,MAAM,uBAAoB;AACnD,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGN,QAAQ;;AAE5C;AACA;AACA;AACA;AACA;AACA;AALA,IAOMO,0BAA0B,GAAAC,SAAA,EAD/BJ,aAAa,CAAC,GAAGE,SAAS,4BAA4B,CAAC,aAAAG,WAAA,EAAAC,mBAAA;EAAxD,MACMH,0BAA0B,SAAAG,mBAAA,CAA4B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAY5D;EAAC;IAAAI,CAAA,EAZKN,0BAA0B;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAC9B,SAAAA,CAAA,EAA2B;QACzB,MAAMC,KAAK,GAAGC,QAAQ,CAACC,GAAG,CAACC,WAAW,CAAC,CAAC,KAAK,KAAK;QAClD,OAAOH,KAAK,GACRnB,WAAW,CAAC;UAAEuB,IAAI,EAAE;QAAuB,CAAC,CAAC,GAC7CxB,YAAY,CAAC;UAAEwB,IAAI,EAAE;QAAuB,CAAC,CAAC;MACpD;IAAC;MAAAP,IAAA;MAAAQ,UAAA,GAEA1B,QAAQ,CAAC;QAAE2B,OAAO,EAAE,IAAI;QAAEC,IAAI,EAAEC,MAAM;QAAEC,SAAS,EAAE;MAAgB,CAAC,CAAC;MAAAX,GAAA;MAAAC,MAAA;QAAA,OACvD,CAAC;MAAA;IAAA;MAAAF,IAAA;MAAAa,MAAA;MAAAZ,GAAA;MAAAC,MAAA;QAAA,OAEAf,MAAM;MAAA;IAAA;EAAA;AAAA,GAXiBD,kBAAkB;AAc3D,eAAeM,0BAA0B","ignoreList":[]}
@@ -359,6 +359,7 @@ declare const C4DMegaMenuHeading_base: {
359
359
  * @csspart heading-h5 - The h5 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h5)`
360
360
  * @csspart heading-h6 - The h6 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h6)`
361
361
  * @csspart heading-span - The span element containing slotted content. Usage: `c4d-megamenu-heading::part(heading-span)`
362
+ * @csspart l0-heading-arrow - Targets the heading arrow icon. Usage: `c4d-megamenu-heading::part(l0-heading-arrow)`
362
363
  */
363
364
  declare class C4DMegaMenuHeading extends C4DMegaMenuHeading_base {
364
365
  /**
@@ -40,6 +40,7 @@ const {
40
40
  * @csspart heading-h5 - The h5 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h5)`
41
41
  * @csspart heading-h6 - The h6 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h6)`
42
42
  * @csspart heading-span - The span element containing slotted content. Usage: `c4d-megamenu-heading::part(heading-span)`
43
+ * @csspart l0-heading-arrow - Targets the heading arrow icon. Usage: `c4d-megamenu-heading::part(l0-heading-arrow)`
43
44
  */
44
45
  let C4DMegaMenuHeading = _decorate([customElement(`${c4dPrefix}-megamenu-heading`)], function (_initialize, _HostListenerMixin) {
45
46
  class C4DMegaMenuHeading extends _HostListenerMixin {
@@ -96,7 +97,11 @@ let C4DMegaMenuHeading = _decorate([customElement(`${c4dPrefix}-megamenu-heading
96
97
  */
97
98
  function () {
98
99
  const isRTL = document.dir.toLowerCase() === 'rtl';
99
- return isRTL ? ArrowLeft24() : ArrowRight24();
100
+ return isRTL ? ArrowLeft24({
101
+ part: 'l0-heading-arrow'
102
+ }) : ArrowRight24({
103
+ part: 'l0-heading-arrow'
104
+ });
100
105
  }
101
106
 
102
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"megamenu-heading.js","names":["LitElement","html","property","ArrowRight24","ArrowLeft24","HostListenerMixin","settings","styles","carbonElement","customElement","stablePrefix","c4dPrefix","C4DMegaMenuHeading","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","reflect","key","value","type","Number","attribute","isRTL","document","dir","toLowerCase","renderLink","_arrowIcon","_t","_","href","title","renderPlain","_t2","renderHeading","headingLevel","hasHref","Boolean","_t3","renderHeadingInner","_t4","_t5","_t6","_t7","_handleSlotChange","event","hasContent","target","assignedNodes","filter","child","_child$textContent","textContent","trim","length","classList","toggle","render","_t8","static"],"sources":["components/masthead/megamenu-heading.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2022, 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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport ArrowRight24 from '@carbon/web-components/es/icons/arrow--right/24.js';\nimport ArrowLeft24 from '@carbon/web-components/es/icons/arrow--left/24.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * MegaMenu Heading.\n *\n * @element c4d-megamenu-heading\n * @csspart heading-link - The link element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-link)`\n * @csspart heading-h2 - The h2 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h2)`\n * @csspart heading-h3 - The h3 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h3)`\n * @csspart heading-h4 - The h4 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h4)`\n * @csspart heading-h5 - The h5 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h5)`\n * @csspart heading-h6 - The h6 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h6)`\n * @csspart heading-span - The span element containing slotted content. Usage: `c4d-megamenu-heading::part(heading-span)`\n */\n@customElement(`${c4dPrefix}-megamenu-heading`)\nclass C4DMegaMenuHeading extends HostListenerMixin(LitElement) {\n /**\n * Megamenu heading href.\n */\n @property({ reflect: true })\n href = '';\n\n /**\n * Megamenu heading text.\n */\n @property({ reflect: true })\n title = '';\n\n @property({ reflect: true, type: Number, attribute: 'heading-level' })\n headingLevel = 2;\n\n /**\n * Arrow icon to use when presented as link.\n */\n protected get _arrowIcon() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft24() : ArrowRight24();\n }\n\n /**\n * Render heading as link.\n */\n protected renderLink() {\n const { _arrowIcon } = this;\n return html`\n <a\n part=\"heading-link\"\n href=\"${this.href}\"\n data-attribute1=\"headerNav\"\n data-attribute2=\"FlatHdline\"\n data-attribute3=\"${this.title}\">\n ${this.title} ${_arrowIcon}\n </a>\n `;\n }\n\n /**\n * Render heading as plain text.\n */\n protected renderPlain() {\n return html` ${this.title} `;\n }\n\n /**\n * Render heading markup.\n */\n protected renderHeading() {\n const { headingLevel } = this;\n const hasHref = Boolean(this.href);\n switch (headingLevel) {\n case 3:\n return html`\n <h3 part=\"heading-h3\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h3>\n `;\n case 4:\n return html`\n <h4 part=\"heading-h4\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h4>\n `;\n case 5:\n return html`\n <h5 part=\"heading-h5\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h5>\n `;\n case 6:\n return html`\n <h6 part=\"heading-h6\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h6>\n `;\n default:\n return html`\n <h2 part=\"heading-h2\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h2>\n `;\n }\n }\n\n /**\n * Render inner heading contents as link or plain text.\n */\n protected renderHeadingInner() {\n return this.href ? this.renderLink() : this.renderPlain();\n }\n\n protected _handleSlotChange(event) {\n const hasContent =\n (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((child) => child?.textContent?.trim()).length > 0;\n\n this.classList.toggle('has-content', hasContent);\n }\n\n render() {\n return html`\n ${this.renderHeading()}\n <span part=\"heading-span\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </span>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMegaMenuHeading;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"megamenu-heading.js","names":["LitElement","html","property","ArrowRight24","ArrowLeft24","HostListenerMixin","settings","styles","carbonElement","customElement","stablePrefix","c4dPrefix","C4DMegaMenuHeading","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","decorators","reflect","key","value","type","Number","attribute","isRTL","document","dir","toLowerCase","part","renderLink","_arrowIcon","_t","_","href","title","renderPlain","_t2","renderHeading","headingLevel","hasHref","Boolean","_t3","renderHeadingInner","_t4","_t5","_t6","_t7","_handleSlotChange","event","hasContent","target","assignedNodes","filter","child","_child$textContent","textContent","trim","length","classList","toggle","render","_t8","static"],"sources":["components/masthead/megamenu-heading.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2022, 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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport ArrowRight24 from '@carbon/web-components/es/icons/arrow--right/24.js';\nimport ArrowLeft24 from '@carbon/web-components/es/icons/arrow--left/24.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * MegaMenu Heading.\n *\n * @element c4d-megamenu-heading\n * @csspart heading-link - The link element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-link)`\n * @csspart heading-h2 - The h2 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h2)`\n * @csspart heading-h3 - The h3 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h3)`\n * @csspart heading-h4 - The h4 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h4)`\n * @csspart heading-h5 - The h5 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h5)`\n * @csspart heading-h6 - The h6 element of the megamenu heading. Usage: `c4d-megamenu-heading::part(heading-h6)`\n * @csspart heading-span - The span element containing slotted content. Usage: `c4d-megamenu-heading::part(heading-span)`\n * @csspart l0-heading-arrow - Targets the heading arrow icon. Usage: `c4d-megamenu-heading::part(l0-heading-arrow)`\n */\n@customElement(`${c4dPrefix}-megamenu-heading`)\nclass C4DMegaMenuHeading extends HostListenerMixin(LitElement) {\n /**\n * Megamenu heading href.\n */\n @property({ reflect: true })\n href = '';\n\n /**\n * Megamenu heading text.\n */\n @property({ reflect: true })\n title = '';\n\n @property({ reflect: true, type: Number, attribute: 'heading-level' })\n headingLevel = 2;\n\n /**\n * Arrow icon to use when presented as link.\n */\n protected get _arrowIcon() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL\n ? ArrowLeft24({ part: 'l0-heading-arrow' })\n : ArrowRight24({ part: 'l0-heading-arrow' });\n }\n\n /**\n * Render heading as link.\n */\n protected renderLink() {\n const { _arrowIcon } = this;\n return html`\n <a\n part=\"heading-link\"\n href=\"${this.href}\"\n data-attribute1=\"headerNav\"\n data-attribute2=\"FlatHdline\"\n data-attribute3=\"${this.title}\">\n ${this.title} ${_arrowIcon}\n </a>\n `;\n }\n\n /**\n * Render heading as plain text.\n */\n protected renderPlain() {\n return html` ${this.title} `;\n }\n\n /**\n * Render heading markup.\n */\n protected renderHeading() {\n const { headingLevel } = this;\n const hasHref = Boolean(this.href);\n switch (headingLevel) {\n case 3:\n return html`\n <h3 part=\"heading-h3\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h3>\n `;\n case 4:\n return html`\n <h4 part=\"heading-h4\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h4>\n `;\n case 5:\n return html`\n <h5 part=\"heading-h5\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h5>\n `;\n case 6:\n return html`\n <h6 part=\"heading-h6\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h6>\n `;\n default:\n return html`\n <h2 part=\"heading-h2\" ?data-has-href=\"${hasHref}\">\n ${this.renderHeadingInner()}\n </h2>\n `;\n }\n }\n\n /**\n * Render inner heading contents as link or plain text.\n */\n protected renderHeadingInner() {\n return this.href ? this.renderLink() : this.renderPlain();\n }\n\n protected _handleSlotChange(event) {\n const hasContent =\n (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((child) => child?.textContent?.trim()).length > 0;\n\n this.classList.toggle('has-content', hasContent);\n }\n\n render() {\n return html`\n ${this.renderHeading()}\n <span part=\"heading-span\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </span>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMegaMenuHeading;\n"],"mappings":"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","ignoreList":[]}
@@ -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.
@@ -22,7 +22,7 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
22
22
  /**
23
23
  * @license
24
24
  *
25
- * Copyright IBM Corp. 2020, 2024
25
+ * Copyright IBM Corp. 2020, 2025
26
26
  *
27
27
  * This source code is licensed under the Apache-2.0 license found in the
28
28
  * LICENSE file in the root directory of this source tree.
@@ -440,9 +440,12 @@ let C4DTableOfContents = _decorate([customElement(`${c4dPrefix}-table-of-content
440
440
  if (node instanceof HTMLElement) {
441
441
  const descendants = node.querySelectorAll(selectorTarget);
442
442
  const elems = [node, ...descendants].filter(elem => {
443
- var _elem$dataset$title;
443
+ var _elem$innerText, _elem$dataset$title;
444
+ if (elem.innerText == null && elem.innerText == undefined) {
445
+ return false;
446
+ }
444
447
  const notWhiteSpace = /[^\s\n\r]/g;
445
- const hasTitle = elem.innerText.match(notWhiteSpace) || ((_elem$dataset$title = elem.dataset.title) === null || _elem$dataset$title === void 0 ? void 0 : _elem$dataset$title.match(notWhiteSpace));
448
+ const hasTitle = ((_elem$innerText = elem.innerText) === null || _elem$innerText === void 0 ? void 0 : _elem$innerText.match(notWhiteSpace)) || ((_elem$dataset$title = elem.dataset.title) === null || _elem$dataset$title === void 0 ? void 0 : _elem$dataset$title.match(notWhiteSpace));
446
449
  const hasNameAttr = elem.matches(selectorTarget);
447
450
  const notExcluded = !tagNamesToAvoid.includes(elem.tagName.toLowerCase()) && !elem.closest(`[${disableTargetAttribute}]`);
448
451
  return hasTitle && hasNameAttr && notExcluded;
@@ -1 +1 @@
1
- {"version":3,"file":"table-of-contents.js","names":["classMap","ifDefined","html","LitElement","property","query","queryAll","state","ChevronLeft20","ChevronRight20","HostListener","HostListenerMixin","throttle","StickyHeader","settings","styles","TOC_TYPES","StableSelectorMixin","carbonElement","customElement","MediaQueryMixin","MQBreakpoints","MQDirs","prefix","stablePrefix","c4dPrefix","buttonWidthOffset","findLastIndex","a","predicate","thisObject","i","length","C4DTableOfContents","_decorate","_initialize","_MediaQueryMixin","constructor","args","F","d","kind","decorators","reflect","attribute","key","value","DEFAULT","carbonBreakpoints","lg","matches","ownerDocument","documentElement","dir","_handleClickItem","event","_target$matches","selectorItem","target","call","_handleUserInitiatedJump","dataset","_isMobile","scrollIntoView","block","inline","behavior","preventDefault","_handleOnKeyDown","_target$matches2","_pageIsRTL","pageIsRTL","paginateAccessibile","layout","HORIZONTAL","_target$parentElement","_target$parentElement2","_target$parentElement3","parentElement","nextElementSibling","children","focus","previousElementSibling","getBoundingClientRect","right","_navBar","_paginateLeft","_target$parentElement4","_target$parentElement5","_target$parentElement6","left","_paginateRight","_target$parentElement7","_target$parentElement8","_target$parentElement9","_target$parentElement10","_target$parentElement11","_target$parentElement12","defaultView","requestAnimationFrame","_targets","items","map","elem","index","arr","height","y","position","filter","stickyOffset","bottomReached","scrollingElement","scrollTop","clientHeight","scrollHeight","_currentTarget","MutationObserver","_contentObserverCallback","bind","shadowRoot","allSlots","Array","from","querySelectorAll","allSlottedNodes","flatMap","slot","assignedNodes","_setTargets","nodes","_tagNamesToAvoid","tagNamesToAvoid","_disableTargetAttribute","disableTargetAttribute","selectorTarget","reduce","acc","node","HTMLElement","descendants","elems","_elem$dataset$title","notWhiteSpace","hasTitle","innerText","match","title","hasNameAttr","notExcluded","includes","tagName","toLowerCase","closest","push","_handleSlotChange","slottedElements","_contentMutationObserver","disconnect","forEach","observe","subtree","childList","attributeFilter","_handleSlotChangeHeading","_hasHeading","some","nodeType","Node","TEXT_NODE","textContent","trim","querySelector","masthead","currentY","window","scrollY","targetY","offsetTop","offsetHeight","parseInt","getComputedStyle","getPropertyValue","_contentDiv","scrollTo","top","setAttribute","preventScroll","addEventListener","focusoutTarget","removeAttribute","once","_cleanAndCreateIntersectionObserverContainer","create","_intersectionLeftSentinelNode","intersectionLeftSentinelNode","_intersectionRightSentinelNode","intersectionRightSentinelNode","_observerIntersection","IntersectionObserver","_observeIntersectionContainer","root","threshold","records","isIntersecting","_isIntersectionLeftTrackerInContent","_isIntersectionRightTrackerInContent","_currentScrollPosition","currentScrollPosition","navBar","_itemNodes","itemNodes","prototype","slice","interimLeft","lastVisibleElementIndex","lastVisibleElementRight","newScrollPosition","_contentNode","contentNode","firstVisibleElementIndex","findIndex","firstVisibleElementLeft","Math","abs","maxLeft","scrollWidth","offsetWidth","min","interimRight","mediaQueryCallbackLG","type","Number","_throttleScroll","connectedCallback","_superPropGet","_handleOnScroll","disconnectedCallback","cancel","firstUpdated","global","tableOfContents","render","currentTarget","hasHeading","isIntersectionLeftTrackerInContent","isIntersectionRightTrackerInContent","isMobile","targets","handleClickItem","handleOnKeyDown","handleSlotChange","handleSlotChangeHeading","paginateLeft","paginateRight","containerClasses","navigationClasses","chevronLeftContainerClasses","chevronRightContainerClasses","_t","_","_t2","item","_ref","_item$dataset$title","name","getAttribute","selected","itemClasses","_t3","undefined","_t4","_t5","_t6","_t7","_t8","_t9","_ref2","_item$dataset$title2","_t10","_t11","_t12","_t13","_t14","_t15","_t16","static","LG","MIN"],"sources":["components/table-of-contents/table-of-contents.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 { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { html, LitElement } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport ChevronLeft20 from '@carbon/web-components/es/icons/chevron--left/20.js';\nimport ChevronRight20 from '@carbon/web-components/es/icons/chevron--right/20.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport throttle from 'lodash-es/throttle.js';\nimport StickyHeader from '@carbon/ibmdotcom-utilities/es/utilities/StickyHeader/StickyHeader.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './table-of-contents.scss';\nimport { TOC_TYPES } from './defs';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport MediaQueryMixin, {\n MQBreakpoints,\n MQDirs,\n} from '../../component-mixins/media-query/media-query';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n// total button width - grid offset\nconst buttonWidthOffset = 32;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * @param a An array.\n * @param predicate The callback function.\n * @param [thisObject] The context object for the given callback function.\n * @returns The index of the last item in the given array where `predicate` returns `true`. `-1` if no such item is found.\n */\nfunction findLastIndex<T>(\n a: T[],\n predicate: (search: T, index?: number, thisObject?: any) => boolean,\n thisObject?: any\n): number {\n for (let i = a.length - 1; i >= 0; --i) {\n if (predicate(a[i], i, thisObject)) {\n return i;\n }\n }\n return -1;\n}\n\n/**\n * Table of contents.\n *\n * @element c4d-table-of-contents\n * @csspart list - The menu list. Usage `c4d-table-of-contents::part(list)`\n * @csspart list-item - The menu items. Usage `c4d-table-of-contents::part(list-item)`\n * @csspart list-item--active - The menu items as active. Usage `c4d-table-of-contents::part(list-item--active)`\n * @csspart link - The links under TOC. Usage `c4d-table-of-contents::part(link)`\n * @csspart container - The container. Usage `c4d-table-of-contents::part(container)`\n * @csspart table - The table UI. Usage `c4d-table-of-contents::part(table)`\n * @csspart heading - The headings. Usage `c4d-table-of-contents::part(heading)`\n * @csspart prev-button - The previous button. Usage `c4d-table-of-contents::part(prev-button)`\n * @csspart item-container - The item container. Usage `c4d-table-of-contents::part(item-container)`\n * @csspart content - The content. Usage `c4d-table-of-contents::part(content)`\n * @csspart sub-content-right - The right side content. Usage `c4d-table-of-contents::part(sub-content-right)`\n * @csspart sub-content-left - The left side content. Usage `c4d-table-of-contents::part(sub-content-left)`\n * @csspart next-button - The next button. Usage `c4d-table-of-contents::part(next-button)`\n * @csspart content-table - The content table. Usage `c4d-table-of-contents::part(content-table)`\n * @csspart wrapper - The wrapper. Usage `c4d-table-of-contents::part(wrapper)`\n * @slot heading - The heading content.\n * @slot menu-rule - The menu rule.\n */\n@customElement(`${c4dPrefix}-table-of-contents`)\nclass C4DTableOfContents extends MediaQueryMixin(\n HostListenerMixin(StableSelectorMixin(LitElement)),\n { [MQBreakpoints.LG]: MQDirs.MIN }\n) {\n /**\n * Defines TOC type, \"\" for default, `horizontal` for horizontal variant.\n */\n @property({ reflect: true, attribute: 'toc-layout' })\n layout = TOC_TYPES.DEFAULT;\n\n /**\n * The current scroll position.\n */\n @state()\n private _currentScrollPosition = 0;\n\n /**\n * The current target `<a>` that should be in view.\n */\n @state()\n private _currentTarget: HTMLAnchorElement | null = null;\n\n /**\n * `true` if left-hand scroll intersection sentinel intersects with the host element.\n * In this condition, the left-hand paginator button should be hidden.\n */\n @state()\n private _isIntersectionLeftTrackerInContent = true;\n\n /**\n * `true` if right-hand scroll intersection sentinel intersects with the host element.\n * In this condition, the right-hand paginator button should be hidden.\n */\n @state()\n private _isIntersectionRightTrackerInContent = true;\n\n /**\n * `true` if there is a heading content.\n */\n @state()\n private _hasHeading = false;\n\n /**\n * The observer for the intersection of left-side content edge.\n */\n private _observerIntersection: IntersectionObserver | null = null;\n\n /**\n * The scrolling content.\n */\n @query(`.${prefix}--tableofcontents`)\n private _contentNode?: HTMLElement;\n\n /**\n * The left-hand sentinel to track intersection with the host element.\n * If they intersect, the left-hand paginator button should be hidden.\n */\n @query(`.${prefix}--sub-content-left`)\n private _intersectionLeftSentinelNode?: HTMLElement;\n\n /**\n * The right-hand sentinel to track intersection with the host element.\n * If they intersect, the right-hand paginator button should be hidden.\n */\n @query(`.${prefix}--sub-content-right`)\n private _intersectionRightSentinelNode?: HTMLElement;\n @queryAll(`.${prefix}--tableofcontents__item`)\n private _itemNodes?: HTMLElement[] = [];\n\n @query(`.${prefix}--tableofcontents__content`)\n private _contentDiv?: HTMLElement;\n\n @query(`.${prefix}--tableofcontents__navbar`)\n private _navBar?: HTMLElement;\n\n /**\n * Whether we're viewing smaller or larger window.\n */\n @state()\n _isMobile = !this.carbonBreakpoints.lg.matches;\n\n /**\n * The target elements matching `[name]` harvested from the document.\n */\n @state()\n private _targets: HTMLElement[] = [];\n\n /**\n * The Element.tagName values that should never be used as a TOC target.\n * Typically added here because these elements have their own `[name]` attribute.\n */\n private _tagNamesToAvoid = [`${c4dPrefix}-video-player`];\n\n /**\n * The name of an attribute that will prevent the DOM element and any elements\n * in its subtree from being added to the ToC.\n */\n private _disableTargetAttribute = 'no-toc';\n\n /**\n * Boolean checking if page is RTL\n */\n @state()\n private _pageIsRTL: boolean =\n this.ownerDocument!.documentElement.dir === 'rtl';\n\n /**\n * The handler for throttled scrolling\n */\n private _throttleScroll: (((event: Event) => void) & Cancelable) | null =\n null;\n\n /**\n * Handles `click` event on a menu item.\n *\n * @param event The event.\n */\n private _handleClickItem(event: MouseEvent) {\n const { selectorItem } = this.constructor as typeof C4DTableOfContents;\n const target = event.target as HTMLAnchorElement;\n if (target.matches?.(selectorItem)) {\n this._handleUserInitiatedJump(target.dataset.target!);\n\n // This will make sure the clicked tab scrolls into view and is centered being completely visible in mobile res.\n if (this._isMobile) {\n target.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n event.preventDefault();\n }\n }\n\n /**\n * Handles `keyboard` event on a TOC navigation item.\n *\n * @param event The event.\n */\n private _handleOnKeyDown(event: KeyboardEvent) {\n const { selectorItem } = this.constructor as typeof C4DTableOfContents;\n const target = event.target as HTMLAnchorElement;\n const { _pageIsRTL: pageIsRTL } = this;\n const paginateAccessibile =\n this.layout === TOC_TYPES.HORIZONTAL || this._isMobile;\n\n if (target.matches?.(selectorItem)) {\n if (pageIsRTL) {\n if (event.key === 'ArrowLeft') {\n (\n target.parentElement?.nextElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.previousElementSibling &&\n target.parentElement?.previousElementSibling.getBoundingClientRect()\n .right >\n this._navBar!.getBoundingClientRect().right - buttonWidthOffset\n ) {\n this._paginateLeft();\n }\n }\n if (event.key === 'ArrowRight') {\n (\n target.parentElement?.previousElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.nextElementSibling &&\n target.parentElement?.nextElementSibling.getBoundingClientRect()\n .left <\n this._navBar!.getBoundingClientRect().left + buttonWidthOffset\n ) {\n this._paginateRight();\n }\n }\n } else {\n if (event.key === 'ArrowLeft') {\n (\n target.parentElement?.previousElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.previousElementSibling &&\n target.parentElement?.previousElementSibling!.getBoundingClientRect()\n .left <\n this._navBar!.getBoundingClientRect().left + buttonWidthOffset\n ) {\n this._paginateLeft();\n }\n }\n if (event.key === 'ArrowRight') {\n (\n target.parentElement?.nextElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.nextElementSibling &&\n target.parentElement?.nextElementSibling!.getBoundingClientRect()\n .right >\n this._navBar!.getBoundingClientRect().right - buttonWidthOffset\n ) {\n this._paginateRight();\n }\n }\n }\n }\n }\n\n /**\n * Handles intersection of target `<a>`s with the viewport by checking which target's\n * immediate siblings are close to the viewport, and set the active target depending\n * on their positions.\n */\n private _handleOnScroll = () => {\n this.ownerDocument!.defaultView!.requestAnimationFrame(() => {\n if (this._targets) {\n const items = this._targets\n .map((elem, index, arr) => ({\n elem,\n height: arr[index + 1]\n ? arr[index + 1].getBoundingClientRect().y -\n elem.getBoundingClientRect().y\n : null,\n position: elem.getBoundingClientRect().y,\n }))\n .filter((elem, index, arr) =>\n elem.height === null\n ? arr[index - 1].position < arr[index - 1].height!\n : elem.position - 50 - this.stickyOffset > -elem.height\n );\n\n // Sets last section as active at the end of page in case there is not enough height for it to dynamically activate\n const bottomReached =\n this.ownerDocument!.scrollingElement!.scrollTop +\n this.ownerDocument!.scrollingElement!.clientHeight ===\n this.ownerDocument!.scrollingElement!.scrollHeight;\n if (items && items[0] && items[items.length - 1]) {\n this._currentTarget = !bottomReached\n ? (items[0].elem as HTMLAnchorElement)\n : (items[items.length - 1].elem as HTMLAnchorElement);\n }\n }\n });\n };\n\n /**\n * Watches for changes to content in the default slot.\n */\n private _contentMutationObserver = new MutationObserver(\n this._contentObserverCallback.bind(this)\n );\n\n /**\n * Sets table of contents targets whenever any node tree mutation is observed.\n */\n private _contentObserverCallback() {\n const shadowRoot = this.shadowRoot as ShadowRoot;\n const allSlots = Array.from(\n shadowRoot.querySelectorAll(`slot`)\n ) as HTMLSlotElement[];\n const allSlottedNodes = allSlots.flatMap((slot) => slot.assignedNodes());\n this._setTargets(allSlottedNodes);\n }\n\n /**\n * Sets targets used for generating the table of contents.\n */\n private _setTargets(nodes: Node[]) {\n const {\n _tagNamesToAvoid: tagNamesToAvoid,\n _disableTargetAttribute: disableTargetAttribute,\n } = this;\n const { selectorTarget } = this.constructor as typeof C4DTableOfContents;\n this._targets = nodes.reduce((acc, node) => {\n if (node instanceof HTMLElement) {\n const descendants = node.querySelectorAll(\n selectorTarget\n ) as NodeListOf<HTMLElement>;\n const elems = [node, ...descendants].filter((elem) => {\n const notWhiteSpace = /[^\\s\\n\\r]/g;\n const hasTitle =\n elem.innerText.match(notWhiteSpace) ||\n elem.dataset.title?.match(notWhiteSpace);\n const hasNameAttr = elem.matches(selectorTarget);\n const notExcluded =\n !tagNamesToAvoid.includes(elem.tagName.toLowerCase()) &&\n !elem.closest(`[${disableTargetAttribute}]`);\n\n return hasTitle && hasNameAttr && notExcluded;\n });\n\n acc.push(...(elems as HTMLElement[]));\n }\n\n return acc;\n }, [] as HTMLElement[]);\n }\n\n /**\n * Handles `slotchange` event on the default `<slot>`.\n *\n * @param event The event.\n */\n private _handleSlotChange(event: Event) {\n // Handle changes to immediate slotted children.\n const slottedElements = (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((node) => node instanceof HTMLElement);\n this._setTargets(slottedElements as HTMLElement[]);\n\n // Handle changes to slotted contents' children.\n this._contentMutationObserver.disconnect();\n (event.target as HTMLSlotElement).assignedNodes().forEach((node) => {\n if (node instanceof HTMLElement) {\n this._contentMutationObserver.observe(node, {\n subtree: true,\n childList: true,\n attributeFilter: ['name', 'data-title'],\n });\n }\n });\n }\n\n /**\n * Handles `slotchange` event on `<slot name=\"heading\">`.\n */\n private _handleSlotChangeHeading() {\n this._hasHeading = Array.from(\n this.querySelectorAll('[slot=\"heading\"]')\n ).some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n }\n\n /**\n * Handles user-initiated jump to a hash.\n *\n * @param target The hash name.\n */\n private _handleUserInitiatedJump(target: string) {\n const elem = this.querySelector(`[name=\"${target}\"]`);\n const masthead: HTMLElement | null = this.ownerDocument.querySelector(\n `${c4dPrefix}-masthead`\n );\n\n if (elem instanceof HTMLElement) {\n const currentY = window.scrollY;\n let targetY;\n\n if (currentY > elem.offsetTop && masthead) {\n targetY = elem.offsetTop - masthead.offsetHeight;\n } else {\n targetY =\n elem.offsetTop -\n parseInt(\n window.getComputedStyle(elem).getPropertyValue('padding-top')\n ) -\n parseInt(\n window\n .getComputedStyle(this._contentDiv!)\n .getPropertyValue('padding-top')\n );\n }\n\n window.scrollTo({\n top: targetY,\n left: 0,\n behavior: 'smooth',\n });\n\n elem.setAttribute('tabindex', '0');\n (elem as HTMLElement).focus({ preventScroll: true });\n elem.addEventListener(\n 'focusout',\n ({ target: focusoutTarget }) => {\n (focusoutTarget as HTMLElement)?.removeAttribute('tabindex');\n },\n {\n once: true,\n }\n );\n }\n }\n\n /**\n * Cleans-up and creates the intersection observer for the scrolling container.\n *\n * @param [options] The options.\n * @param [options.create] `true` to create the new intersection observer.\n */\n private _cleanAndCreateIntersectionObserverContainer({\n create,\n }: { create?: boolean } = {}) {\n const {\n _intersectionLeftSentinelNode: intersectionLeftSentinelNode,\n _intersectionRightSentinelNode: intersectionRightSentinelNode,\n } = this;\n if (this._observerIntersection) {\n this._observerIntersection.disconnect();\n this._observerIntersection = null;\n }\n if (create) {\n this._observerIntersection = new IntersectionObserver(\n this._observeIntersectionContainer,\n {\n root: this._navBar,\n threshold: 0,\n }\n );\n if (intersectionLeftSentinelNode) {\n this._observerIntersection.observe(intersectionLeftSentinelNode);\n }\n if (intersectionRightSentinelNode) {\n this._observerIntersection.observe(intersectionRightSentinelNode);\n }\n }\n }\n\n /**\n * The intersection observer callback for the scrolling container.\n *\n * @param records The intersection observer records.\n */\n private _observeIntersectionContainer = (records) => {\n const {\n _intersectionLeftSentinelNode: intersectionLeftSentinelNode,\n _intersectionRightSentinelNode: intersectionRightSentinelNode,\n } = this;\n records.forEach(({ isIntersecting, target }) => {\n if (target === intersectionLeftSentinelNode) {\n this._isIntersectionLeftTrackerInContent = isIntersecting;\n }\n if (target === intersectionRightSentinelNode) {\n this._isIntersectionRightTrackerInContent = isIntersecting;\n }\n });\n };\n\n /**\n * Handles `click` event on the left-hand paginator button.\n */\n private _paginateLeft() {\n const {\n _currentScrollPosition: currentScrollPosition,\n _navBar: navBar,\n _itemNodes: itemNodes,\n _pageIsRTL: pageIsRTL,\n } = this;\n // If the right-side intersection sentinel is in the view, it means that right-side chevron button is hidden.\n // Given scrolling to left makes it shown,\n // `contentContainerNode!.offsetWidth` will shrink as we scroll and we need to adjust for it.\n const elems = Array.prototype.slice.call(itemNodes);\n if (elems) {\n if (pageIsRTL) {\n const interimLeft = navBar!.getBoundingClientRect().right;\n const lastVisibleElementIndex = findLastIndex(\n elems,\n (elem) =>\n elem.getBoundingClientRect().right > interimLeft - buttonWidthOffset\n );\n if (lastVisibleElementIndex >= 0) {\n const lastVisibleElementRight =\n elems[lastVisibleElementIndex].getBoundingClientRect().left;\n // 48 = button width - button gradient\n const newScrollPosition =\n currentScrollPosition - lastVisibleElementRight + 48;\n this._currentScrollPosition =\n newScrollPosition <= 0 ? 0 : newScrollPosition;\n }\n } else {\n const lastVisibleElementIndex = findLastIndex(\n elems,\n (elem) =>\n elem.getBoundingClientRect().left <\n buttonWidthOffset + navBar!.getBoundingClientRect().left\n );\n if (lastVisibleElementIndex >= 0) {\n const lastVisibleElementRight =\n elems[lastVisibleElementIndex].getBoundingClientRect().right;\n const newScrollPosition =\n lastVisibleElementRight +\n currentScrollPosition -\n navBar!.getBoundingClientRect().right +\n buttonWidthOffset;\n // If the new scroll position is less than the width of the left chevron button,\n // it means that hiding the left chevron button reveals the whole of the left-most nav item.\n // Snaps the left-most nav item to the left edge of nav container in this case.\n this._currentScrollPosition =\n newScrollPosition <= 0 ? 0 : newScrollPosition;\n }\n }\n }\n }\n\n /**\n * Handles `click` event on the right-hand paginator button.\n */\n private _paginateRight() {\n const {\n _navBar: navBar,\n _contentNode: contentNode,\n _currentScrollPosition: currentScrollPosition,\n _itemNodes: itemNodes,\n _pageIsRTL: pageIsRTL,\n } = this;\n\n const elems = Array.prototype.slice.call(itemNodes);\n if (elems) {\n if (pageIsRTL) {\n const interimLeft = navBar!.getBoundingClientRect().left;\n const firstVisibleElementIndex = elems.findIndex(\n (elem) =>\n elem.getBoundingClientRect().left < interimLeft + buttonWidthOffset\n );\n if (firstVisibleElementIndex > 0) {\n const firstVisibleElementLeft = Math.abs(\n elems[firstVisibleElementIndex].getBoundingClientRect().right +\n buttonWidthOffset -\n navBar!.getBoundingClientRect().right\n );\n const maxLeft = contentNode!.scrollWidth - navBar!.offsetWidth;\n this._currentScrollPosition = Math.min(\n firstVisibleElementLeft + currentScrollPosition,\n maxLeft\n );\n }\n } else {\n const interimRight = navBar!.getBoundingClientRect().right;\n const firstVisibleElementIndex = elems.findIndex(\n (elem) =>\n elem.getBoundingClientRect().right >\n interimRight - buttonWidthOffset\n );\n if (firstVisibleElementIndex > 0) {\n const firstVisibleElementLeft =\n elems[firstVisibleElementIndex].getBoundingClientRect().left -\n navBar!.getBoundingClientRect().left -\n buttonWidthOffset;\n // Ensures that is there is no blank area at the right hand side in scroll area\n // if we see the right remainder nav items can be contained in a page\n const maxLeft = contentNode!.scrollWidth - navBar!.offsetWidth;\n this._currentScrollPosition = Math.min(\n firstVisibleElementLeft + currentScrollPosition,\n maxLeft\n );\n }\n }\n }\n }\n\n mediaQueryCallbackLG() {\n this._isMobile = !this.carbonBreakpoints.lg.matches;\n }\n\n /**\n * The current 0px offset from the top of page.\n */\n @property({ type: Number })\n stickyOffset = 0;\n\n /**\n * The throttled scroll listener.\n *\n * @param event scroll handler\n */\n @HostListener('window:scroll')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleScroll = (event: Event) => {\n this._throttleScroll!(event);\n };\n\n /**\n * The trigger reharvest listener.\n */\n @HostListener(`document:${c4dPrefix}-table-of-contents-reharvest`)\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _retriggerHarvest = () => {\n this._targets = Array.from(this.querySelectorAll('[name]'));\n };\n\n connectedCallback() {\n super.connectedCallback();\n this._cleanAndCreateIntersectionObserverContainer({ create: true });\n if (!this._throttleScroll) {\n this._throttleScroll = throttle(this._handleOnScroll, 250);\n this._handleOnScroll();\n }\n }\n\n disconnectedCallback() {\n this._cleanAndCreateIntersectionObserverContainer();\n this._contentMutationObserver.disconnect();\n if (this._throttleScroll) {\n this._throttleScroll.cancel();\n this._throttleScroll = null;\n }\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n super.firstUpdated();\n this._cleanAndCreateIntersectionObserverContainer({ create: true });\n\n StickyHeader.global.tableOfContents = this;\n }\n\n render() {\n const {\n layout,\n stickyOffset,\n _currentTarget: currentTarget,\n _currentScrollPosition: currentScrollPosition,\n _hasHeading: hasHeading,\n _isIntersectionLeftTrackerInContent: isIntersectionLeftTrackerInContent,\n _isIntersectionRightTrackerInContent: isIntersectionRightTrackerInContent,\n _isMobile: isMobile,\n _targets: targets,\n _handleClickItem: handleClickItem,\n _handleOnKeyDown: handleOnKeyDown,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeHeading: handleSlotChangeHeading,\n _paginateLeft: paginateLeft,\n _paginateRight: paginateRight,\n _pageIsRTL: pageIsRTL,\n } = this;\n\n const containerClasses = classMap({\n [`${c4dPrefix}-ce--table-of-contents__container`]:\n layout === TOC_TYPES.DEFAULT && !isMobile,\n [`${c4dPrefix}-ce--table-of-contents-horizontal__container`]:\n layout === TOC_TYPES.HORIZONTAL || isMobile,\n });\n\n const navigationClasses = classMap({\n [`${prefix}--tableofcontents__sidebar`]:\n layout === TOC_TYPES.DEFAULT && !isMobile,\n [`${prefix}--tableofcontents__navbar`]:\n layout === TOC_TYPES.HORIZONTAL || isMobile,\n });\n\n const chevronLeftContainerClasses = classMap({\n [`${prefix}--toc__navbar-chevron-left-container`]: true,\n [`${c4dPrefix}-ce--toc__navbar-chevron-container--hidden`]:\n isIntersectionLeftTrackerInContent,\n });\n\n const chevronRightContainerClasses = classMap({\n [`${prefix}--toc__navbar-chevron-right-container`]: true,\n [`${c4dPrefix}-ce--toc__navbar-chevron-container--hidden`]:\n isIntersectionRightTrackerInContent,\n });\n\n return html`\n ${this.layout === 'horizontal'\n ? html`\n <ul class=\"${prefix}--toc__print-styles\" part=\"list\">\n ${targets.map((item) => {\n const name = item.getAttribute('name');\n const title = (\n item.dataset.title ??\n item.textContent ??\n ''\n ).trim();\n const selected = item === currentTarget;\n const itemClasses = classMap({\n [`${prefix}--tableofcontents__item`]: true,\n [`${prefix}--tableofcontents__item--active`]: selected,\n });\n return html`\n <li\n class=\"${itemClasses}\"\n part=\"list-item${selected ? ' list-item--active' : ''}\"\n @click=\"${handleClickItem}\"\n @keydown=\"${handleOnKeyDown}\">\n <a\n aria-current=\"${ifDefined(\n !selected ? undefined : 'location'\n )}\"\n data-target=\"${name!}\"\n href=\"#${name}\"\n part=\"link\">\n ${title}\n </a>\n </li>\n `;\n })}\n </ul>\n `\n : ``}\n <div part=\"container\" class=\"${containerClasses}\">\n <div part=\"table\" class=\"${navigationClasses}\">\n ${isMobile\n ? ''\n : html`\n <div\n ?hidden=\"${!hasHeading}\"\n class=\"${prefix}--tableofcontents__children\"\n part=\"heading\">\n <slot\n name=\"heading\"\n @slotchange=\"${handleSlotChangeHeading}\"></slot>\n <slot name=\"menu-rule\"></slot>\n </div>\n `}\n ${layout === 'horizontal' || isMobile\n ? html`\n ${pageIsRTL\n ? html`\n <button\n part=\"prev-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronRightContainerClasses}\"\n @click=\"${paginateLeft}\">\n ${ChevronLeft20()}\n </button>\n `\n : html`\n <button\n part=\"prev-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronLeftContainerClasses}\"\n @click=\"${paginateLeft}\">\n ${ChevronLeft20()}\n </button>\n `}\n `\n : ``}\n <div\n class=\"${c4dPrefix}-ce--table-of-contents__items-container\"\n part=\"items-container\"\n style=\"position: sticky; top: ${stickyOffset &&\n this.layout !== TOC_TYPES.HORIZONTAL\n ? `${stickyOffset}px`\n : 0}\">\n <div\n class=\"${prefix}--tableofcontents-container\"\n part=\"item-container\">\n <div\n class=\"${prefix}--tableofcontents\"\n part=\"content\"\n style=\"${pageIsRTL\n ? 'right'\n : 'left'}: -${currentScrollPosition}px\">\n ${pageIsRTL\n ? html`\n <div\n class=\"${prefix}--sub-content-right\"\n part=\"sub-content-right\"></div>\n `\n : html`\n <div\n class=\"${prefix}--sub-content-left\"\n part=\"sub-content-left\"></div>\n `}\n <ul part=\"list\">\n ${targets.map((item) => {\n const name = item.getAttribute('name');\n const title = (\n item.dataset.title ??\n item.textContent ??\n ''\n ).trim();\n const selected = item === currentTarget;\n const itemClasses = classMap({\n [`${prefix}--tableofcontents__item`]: true,\n [`${prefix}--tableofcontents__item--active`]: selected,\n });\n return html`\n <li\n class=\"${itemClasses}\"\n part=\"list-item${selected ? ' list-item--active' : ''}\"\n @click=\"${handleClickItem}\"\n @keydown=\"${handleOnKeyDown}\">\n <a\n aria-current=\"${ifDefined(\n !selected ? undefined : 'location'\n )}\"\n data-target=\"${name!}\"\n href=\"#${name}\"\n tabindex=\"${selected ? 0 : -1}\"\n part=\"link\">\n ${title}\n </a>\n </li>\n `;\n })}\n </ul>\n ${pageIsRTL\n ? html`\n <div\n class=\"${prefix}--sub-content-left\"\n part=\"sub-content-left\"></div>\n `\n : html`\n <div\n class=\"${prefix}--sub-content-right\"\n part=\"sub-content-right\"></div>\n `}\n </div>\n </div>\n </div>\n\n ${this.layout === 'horizontal' || isMobile\n ? html`\n ${pageIsRTL\n ? html`\n <button\n part=\"next-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronLeftContainerClasses}\"\n @click=\"${paginateRight}\">\n ${ChevronRight20()}\n </button>\n `\n : html`\n <button\n part=\"next-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronRightContainerClasses}\"\n @click=\"${paginateRight}\">\n ${ChevronRight20()}\n </button>\n `}\n `\n : ``}\n </div>\n\n <div class=\"${prefix}--tableofcontents__content\" part=\"content-table\">\n <div\n class=\"${prefix}--tableofcontents__content-wrapper\"\n part=\"wrapper\">\n ${!isMobile\n ? ''\n : html`\n <div\n ?hidden=\"${!hasHeading}\"\n class=\"${prefix}--tableofcontents__children\"\n part=\"heading\">\n <slot\n name=\"heading\"\n @slotchange=\"${handleSlotChangeHeading}\"></slot>\n <slot name=\"menu-rule\"></slot>\n </div>\n `}\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * The selector that selects the link items.\n */\n static get selectorItem() {\n return `.${prefix}--tableofcontents__item a`;\n }\n\n /**\n * The selector that determines where to harvest the table of contents from.\n */\n static selectorTarget = '[name]';\n\n static get stableSelector() {\n return `${c4dPrefix}--table-of-contents`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DTableOfContents;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"table-of-contents.js","names":["classMap","ifDefined","html","LitElement","property","query","queryAll","state","ChevronLeft20","ChevronRight20","HostListener","HostListenerMixin","throttle","StickyHeader","settings","styles","TOC_TYPES","StableSelectorMixin","carbonElement","customElement","MediaQueryMixin","MQBreakpoints","MQDirs","prefix","stablePrefix","c4dPrefix","buttonWidthOffset","findLastIndex","a","predicate","thisObject","i","length","C4DTableOfContents","_decorate","_initialize","_MediaQueryMixin","constructor","args","F","d","kind","decorators","reflect","attribute","key","value","DEFAULT","carbonBreakpoints","lg","matches","ownerDocument","documentElement","dir","_handleClickItem","event","_target$matches","selectorItem","target","call","_handleUserInitiatedJump","dataset","_isMobile","scrollIntoView","block","inline","behavior","preventDefault","_handleOnKeyDown","_target$matches2","_pageIsRTL","pageIsRTL","paginateAccessibile","layout","HORIZONTAL","_target$parentElement","_target$parentElement2","_target$parentElement3","parentElement","nextElementSibling","children","focus","previousElementSibling","getBoundingClientRect","right","_navBar","_paginateLeft","_target$parentElement4","_target$parentElement5","_target$parentElement6","left","_paginateRight","_target$parentElement7","_target$parentElement8","_target$parentElement9","_target$parentElement10","_target$parentElement11","_target$parentElement12","defaultView","requestAnimationFrame","_targets","items","map","elem","index","arr","height","y","position","filter","stickyOffset","bottomReached","scrollingElement","scrollTop","clientHeight","scrollHeight","_currentTarget","MutationObserver","_contentObserverCallback","bind","shadowRoot","allSlots","Array","from","querySelectorAll","allSlottedNodes","flatMap","slot","assignedNodes","_setTargets","nodes","_tagNamesToAvoid","tagNamesToAvoid","_disableTargetAttribute","disableTargetAttribute","selectorTarget","reduce","acc","node","HTMLElement","descendants","elems","_elem$innerText","_elem$dataset$title","innerText","undefined","notWhiteSpace","hasTitle","match","title","hasNameAttr","notExcluded","includes","tagName","toLowerCase","closest","push","_handleSlotChange","slottedElements","_contentMutationObserver","disconnect","forEach","observe","subtree","childList","attributeFilter","_handleSlotChangeHeading","_hasHeading","some","nodeType","Node","TEXT_NODE","textContent","trim","querySelector","masthead","currentY","window","scrollY","targetY","offsetTop","offsetHeight","parseInt","getComputedStyle","getPropertyValue","_contentDiv","scrollTo","top","setAttribute","preventScroll","addEventListener","focusoutTarget","removeAttribute","once","_cleanAndCreateIntersectionObserverContainer","create","_intersectionLeftSentinelNode","intersectionLeftSentinelNode","_intersectionRightSentinelNode","intersectionRightSentinelNode","_observerIntersection","IntersectionObserver","_observeIntersectionContainer","root","threshold","records","isIntersecting","_isIntersectionLeftTrackerInContent","_isIntersectionRightTrackerInContent","_currentScrollPosition","currentScrollPosition","navBar","_itemNodes","itemNodes","prototype","slice","interimLeft","lastVisibleElementIndex","lastVisibleElementRight","newScrollPosition","_contentNode","contentNode","firstVisibleElementIndex","findIndex","firstVisibleElementLeft","Math","abs","maxLeft","scrollWidth","offsetWidth","min","interimRight","mediaQueryCallbackLG","type","Number","_throttleScroll","connectedCallback","_superPropGet","_handleOnScroll","disconnectedCallback","cancel","firstUpdated","global","tableOfContents","render","currentTarget","hasHeading","isIntersectionLeftTrackerInContent","isIntersectionRightTrackerInContent","isMobile","targets","handleClickItem","handleOnKeyDown","handleSlotChange","handleSlotChangeHeading","paginateLeft","paginateRight","containerClasses","navigationClasses","chevronLeftContainerClasses","chevronRightContainerClasses","_t","_","_t2","item","_ref","_item$dataset$title","name","getAttribute","selected","itemClasses","_t3","_t4","_t5","_t6","_t7","_t8","_t9","_ref2","_item$dataset$title2","_t10","_t11","_t12","_t13","_t14","_t15","_t16","static","LG","MIN"],"sources":["components/table-of-contents/table-of-contents.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 { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { html, LitElement } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport ChevronLeft20 from '@carbon/web-components/es/icons/chevron--left/20.js';\nimport ChevronRight20 from '@carbon/web-components/es/icons/chevron--right/20.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport throttle from 'lodash-es/throttle.js';\nimport StickyHeader from '@carbon/ibmdotcom-utilities/es/utilities/StickyHeader/StickyHeader.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './table-of-contents.scss';\nimport { TOC_TYPES } from './defs';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport MediaQueryMixin, {\n MQBreakpoints,\n MQDirs,\n} from '../../component-mixins/media-query/media-query';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n// total button width - grid offset\nconst buttonWidthOffset = 32;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * @param a An array.\n * @param predicate The callback function.\n * @param [thisObject] The context object for the given callback function.\n * @returns The index of the last item in the given array where `predicate` returns `true`. `-1` if no such item is found.\n */\nfunction findLastIndex<T>(\n a: T[],\n predicate: (search: T, index?: number, thisObject?: any) => boolean,\n thisObject?: any\n): number {\n for (let i = a.length - 1; i >= 0; --i) {\n if (predicate(a[i], i, thisObject)) {\n return i;\n }\n }\n return -1;\n}\n\n/**\n * Table of contents.\n *\n * @element c4d-table-of-contents\n * @csspart list - The menu list. Usage `c4d-table-of-contents::part(list)`\n * @csspart list-item - The menu items. Usage `c4d-table-of-contents::part(list-item)`\n * @csspart list-item--active - The menu items as active. Usage `c4d-table-of-contents::part(list-item--active)`\n * @csspart link - The links under TOC. Usage `c4d-table-of-contents::part(link)`\n * @csspart container - The container. Usage `c4d-table-of-contents::part(container)`\n * @csspart table - The table UI. Usage `c4d-table-of-contents::part(table)`\n * @csspart heading - The headings. Usage `c4d-table-of-contents::part(heading)`\n * @csspart prev-button - The previous button. Usage `c4d-table-of-contents::part(prev-button)`\n * @csspart item-container - The item container. Usage `c4d-table-of-contents::part(item-container)`\n * @csspart content - The content. Usage `c4d-table-of-contents::part(content)`\n * @csspart sub-content-right - The right side content. Usage `c4d-table-of-contents::part(sub-content-right)`\n * @csspart sub-content-left - The left side content. Usage `c4d-table-of-contents::part(sub-content-left)`\n * @csspart next-button - The next button. Usage `c4d-table-of-contents::part(next-button)`\n * @csspart content-table - The content table. Usage `c4d-table-of-contents::part(content-table)`\n * @csspart wrapper - The wrapper. Usage `c4d-table-of-contents::part(wrapper)`\n * @slot heading - The heading content.\n * @slot menu-rule - The menu rule.\n */\n@customElement(`${c4dPrefix}-table-of-contents`)\nclass C4DTableOfContents extends MediaQueryMixin(\n HostListenerMixin(StableSelectorMixin(LitElement)),\n { [MQBreakpoints.LG]: MQDirs.MIN }\n) {\n /**\n * Defines TOC type, \"\" for default, `horizontal` for horizontal variant.\n */\n @property({ reflect: true, attribute: 'toc-layout' })\n layout = TOC_TYPES.DEFAULT;\n\n /**\n * The current scroll position.\n */\n @state()\n private _currentScrollPosition = 0;\n\n /**\n * The current target `<a>` that should be in view.\n */\n @state()\n private _currentTarget: HTMLAnchorElement | null = null;\n\n /**\n * `true` if left-hand scroll intersection sentinel intersects with the host element.\n * In this condition, the left-hand paginator button should be hidden.\n */\n @state()\n private _isIntersectionLeftTrackerInContent = true;\n\n /**\n * `true` if right-hand scroll intersection sentinel intersects with the host element.\n * In this condition, the right-hand paginator button should be hidden.\n */\n @state()\n private _isIntersectionRightTrackerInContent = true;\n\n /**\n * `true` if there is a heading content.\n */\n @state()\n private _hasHeading = false;\n\n /**\n * The observer for the intersection of left-side content edge.\n */\n private _observerIntersection: IntersectionObserver | null = null;\n\n /**\n * The scrolling content.\n */\n @query(`.${prefix}--tableofcontents`)\n private _contentNode?: HTMLElement;\n\n /**\n * The left-hand sentinel to track intersection with the host element.\n * If they intersect, the left-hand paginator button should be hidden.\n */\n @query(`.${prefix}--sub-content-left`)\n private _intersectionLeftSentinelNode?: HTMLElement;\n\n /**\n * The right-hand sentinel to track intersection with the host element.\n * If they intersect, the right-hand paginator button should be hidden.\n */\n @query(`.${prefix}--sub-content-right`)\n private _intersectionRightSentinelNode?: HTMLElement;\n @queryAll(`.${prefix}--tableofcontents__item`)\n private _itemNodes?: HTMLElement[] = [];\n\n @query(`.${prefix}--tableofcontents__content`)\n private _contentDiv?: HTMLElement;\n\n @query(`.${prefix}--tableofcontents__navbar`)\n private _navBar?: HTMLElement;\n\n /**\n * Whether we're viewing smaller or larger window.\n */\n @state()\n _isMobile = !this.carbonBreakpoints.lg.matches;\n\n /**\n * The target elements matching `[name]` harvested from the document.\n */\n @state()\n private _targets: HTMLElement[] = [];\n\n /**\n * The Element.tagName values that should never be used as a TOC target.\n * Typically added here because these elements have their own `[name]` attribute.\n */\n private _tagNamesToAvoid = [`${c4dPrefix}-video-player`];\n\n /**\n * The name of an attribute that will prevent the DOM element and any elements\n * in its subtree from being added to the ToC.\n */\n private _disableTargetAttribute = 'no-toc';\n\n /**\n * Boolean checking if page is RTL\n */\n @state()\n private _pageIsRTL: boolean =\n this.ownerDocument!.documentElement.dir === 'rtl';\n\n /**\n * The handler for throttled scrolling\n */\n private _throttleScroll: (((event: Event) => void) & Cancelable) | null =\n null;\n\n /**\n * Handles `click` event on a menu item.\n *\n * @param event The event.\n */\n private _handleClickItem(event: MouseEvent) {\n const { selectorItem } = this.constructor as typeof C4DTableOfContents;\n const target = event.target as HTMLAnchorElement;\n if (target.matches?.(selectorItem)) {\n this._handleUserInitiatedJump(target.dataset.target!);\n\n // This will make sure the clicked tab scrolls into view and is centered being completely visible in mobile res.\n if (this._isMobile) {\n target.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n event.preventDefault();\n }\n }\n\n /**\n * Handles `keyboard` event on a TOC navigation item.\n *\n * @param event The event.\n */\n private _handleOnKeyDown(event: KeyboardEvent) {\n const { selectorItem } = this.constructor as typeof C4DTableOfContents;\n const target = event.target as HTMLAnchorElement;\n const { _pageIsRTL: pageIsRTL } = this;\n const paginateAccessibile =\n this.layout === TOC_TYPES.HORIZONTAL || this._isMobile;\n\n if (target.matches?.(selectorItem)) {\n if (pageIsRTL) {\n if (event.key === 'ArrowLeft') {\n (\n target.parentElement?.nextElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.previousElementSibling &&\n target.parentElement?.previousElementSibling.getBoundingClientRect()\n .right >\n this._navBar!.getBoundingClientRect().right - buttonWidthOffset\n ) {\n this._paginateLeft();\n }\n }\n if (event.key === 'ArrowRight') {\n (\n target.parentElement?.previousElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.nextElementSibling &&\n target.parentElement?.nextElementSibling.getBoundingClientRect()\n .left <\n this._navBar!.getBoundingClientRect().left + buttonWidthOffset\n ) {\n this._paginateRight();\n }\n }\n } else {\n if (event.key === 'ArrowLeft') {\n (\n target.parentElement?.previousElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.previousElementSibling &&\n target.parentElement?.previousElementSibling!.getBoundingClientRect()\n .left <\n this._navBar!.getBoundingClientRect().left + buttonWidthOffset\n ) {\n this._paginateLeft();\n }\n }\n if (event.key === 'ArrowRight') {\n (\n target.parentElement?.nextElementSibling\n ?.children[0] as HTMLAnchorElement\n )?.focus();\n if (\n paginateAccessibile &&\n target.parentElement?.nextElementSibling &&\n target.parentElement?.nextElementSibling!.getBoundingClientRect()\n .right >\n this._navBar!.getBoundingClientRect().right - buttonWidthOffset\n ) {\n this._paginateRight();\n }\n }\n }\n }\n }\n\n /**\n * Handles intersection of target `<a>`s with the viewport by checking which target's\n * immediate siblings are close to the viewport, and set the active target depending\n * on their positions.\n */\n private _handleOnScroll = () => {\n this.ownerDocument!.defaultView!.requestAnimationFrame(() => {\n if (this._targets) {\n const items = this._targets\n .map((elem, index, arr) => ({\n elem,\n height: arr[index + 1]\n ? arr[index + 1].getBoundingClientRect().y -\n elem.getBoundingClientRect().y\n : null,\n position: elem.getBoundingClientRect().y,\n }))\n .filter((elem, index, arr) =>\n elem.height === null\n ? arr[index - 1].position < arr[index - 1].height!\n : elem.position - 50 - this.stickyOffset > -elem.height\n );\n\n // Sets last section as active at the end of page in case there is not enough height for it to dynamically activate\n const bottomReached =\n this.ownerDocument!.scrollingElement!.scrollTop +\n this.ownerDocument!.scrollingElement!.clientHeight ===\n this.ownerDocument!.scrollingElement!.scrollHeight;\n if (items && items[0] && items[items.length - 1]) {\n this._currentTarget = !bottomReached\n ? (items[0].elem as HTMLAnchorElement)\n : (items[items.length - 1].elem as HTMLAnchorElement);\n }\n }\n });\n };\n\n /**\n * Watches for changes to content in the default slot.\n */\n private _contentMutationObserver = new MutationObserver(\n this._contentObserverCallback.bind(this)\n );\n\n /**\n * Sets table of contents targets whenever any node tree mutation is observed.\n */\n private _contentObserverCallback() {\n const shadowRoot = this.shadowRoot as ShadowRoot;\n const allSlots = Array.from(\n shadowRoot.querySelectorAll(`slot`)\n ) as HTMLSlotElement[];\n const allSlottedNodes = allSlots.flatMap((slot) => slot.assignedNodes());\n this._setTargets(allSlottedNodes);\n }\n\n /**\n * Sets targets used for generating the table of contents.\n */\n private _setTargets(nodes: Node[]) {\n const {\n _tagNamesToAvoid: tagNamesToAvoid,\n _disableTargetAttribute: disableTargetAttribute,\n } = this;\n const { selectorTarget } = this.constructor as typeof C4DTableOfContents;\n this._targets = nodes.reduce((acc, node) => {\n if (node instanceof HTMLElement) {\n const descendants = node.querySelectorAll(\n selectorTarget\n ) as NodeListOf<HTMLElement>;\n const elems = [node, ...descendants].filter((elem) => {\n if (elem.innerText == null && elem.innerText == undefined) {\n return false;\n }\n const notWhiteSpace = /[^\\s\\n\\r]/g;\n const hasTitle =\n elem.innerText?.match(notWhiteSpace) ||\n elem.dataset.title?.match(notWhiteSpace);\n const hasNameAttr = elem.matches(selectorTarget);\n const notExcluded =\n !tagNamesToAvoid.includes(elem.tagName.toLowerCase()) &&\n !elem.closest(`[${disableTargetAttribute}]`);\n\n return hasTitle && hasNameAttr && notExcluded;\n });\n\n acc.push(...(elems as HTMLElement[]));\n }\n\n return acc;\n }, [] as HTMLElement[]);\n }\n\n /**\n * Handles `slotchange` event on the default `<slot>`.\n *\n * @param event The event.\n */\n private _handleSlotChange(event: Event) {\n // Handle changes to immediate slotted children.\n const slottedElements = (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((node) => node instanceof HTMLElement);\n this._setTargets(slottedElements as HTMLElement[]);\n\n // Handle changes to slotted contents' children.\n this._contentMutationObserver.disconnect();\n (event.target as HTMLSlotElement).assignedNodes().forEach((node) => {\n if (node instanceof HTMLElement) {\n this._contentMutationObserver.observe(node, {\n subtree: true,\n childList: true,\n attributeFilter: ['name', 'data-title'],\n });\n }\n });\n }\n\n /**\n * Handles `slotchange` event on `<slot name=\"heading\">`.\n */\n private _handleSlotChangeHeading() {\n this._hasHeading = Array.from(\n this.querySelectorAll('[slot=\"heading\"]')\n ).some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n }\n\n /**\n * Handles user-initiated jump to a hash.\n *\n * @param target The hash name.\n */\n private _handleUserInitiatedJump(target: string) {\n const elem = this.querySelector(`[name=\"${target}\"]`);\n const masthead: HTMLElement | null = this.ownerDocument.querySelector(\n `${c4dPrefix}-masthead`\n );\n\n if (elem instanceof HTMLElement) {\n const currentY = window.scrollY;\n let targetY;\n\n if (currentY > elem.offsetTop && masthead) {\n targetY = elem.offsetTop - masthead.offsetHeight;\n } else {\n targetY =\n elem.offsetTop -\n parseInt(\n window.getComputedStyle(elem).getPropertyValue('padding-top')\n ) -\n parseInt(\n window\n .getComputedStyle(this._contentDiv!)\n .getPropertyValue('padding-top')\n );\n }\n\n window.scrollTo({\n top: targetY,\n left: 0,\n behavior: 'smooth',\n });\n\n elem.setAttribute('tabindex', '0');\n (elem as HTMLElement).focus({ preventScroll: true });\n elem.addEventListener(\n 'focusout',\n ({ target: focusoutTarget }) => {\n (focusoutTarget as HTMLElement)?.removeAttribute('tabindex');\n },\n {\n once: true,\n }\n );\n }\n }\n\n /**\n * Cleans-up and creates the intersection observer for the scrolling container.\n *\n * @param [options] The options.\n * @param [options.create] `true` to create the new intersection observer.\n */\n private _cleanAndCreateIntersectionObserverContainer({\n create,\n }: { create?: boolean } = {}) {\n const {\n _intersectionLeftSentinelNode: intersectionLeftSentinelNode,\n _intersectionRightSentinelNode: intersectionRightSentinelNode,\n } = this;\n if (this._observerIntersection) {\n this._observerIntersection.disconnect();\n this._observerIntersection = null;\n }\n if (create) {\n this._observerIntersection = new IntersectionObserver(\n this._observeIntersectionContainer,\n {\n root: this._navBar,\n threshold: 0,\n }\n );\n if (intersectionLeftSentinelNode) {\n this._observerIntersection.observe(intersectionLeftSentinelNode);\n }\n if (intersectionRightSentinelNode) {\n this._observerIntersection.observe(intersectionRightSentinelNode);\n }\n }\n }\n\n /**\n * The intersection observer callback for the scrolling container.\n *\n * @param records The intersection observer records.\n */\n private _observeIntersectionContainer = (records) => {\n const {\n _intersectionLeftSentinelNode: intersectionLeftSentinelNode,\n _intersectionRightSentinelNode: intersectionRightSentinelNode,\n } = this;\n records.forEach(({ isIntersecting, target }) => {\n if (target === intersectionLeftSentinelNode) {\n this._isIntersectionLeftTrackerInContent = isIntersecting;\n }\n if (target === intersectionRightSentinelNode) {\n this._isIntersectionRightTrackerInContent = isIntersecting;\n }\n });\n };\n\n /**\n * Handles `click` event on the left-hand paginator button.\n */\n private _paginateLeft() {\n const {\n _currentScrollPosition: currentScrollPosition,\n _navBar: navBar,\n _itemNodes: itemNodes,\n _pageIsRTL: pageIsRTL,\n } = this;\n // If the right-side intersection sentinel is in the view, it means that right-side chevron button is hidden.\n // Given scrolling to left makes it shown,\n // `contentContainerNode!.offsetWidth` will shrink as we scroll and we need to adjust for it.\n const elems = Array.prototype.slice.call(itemNodes);\n if (elems) {\n if (pageIsRTL) {\n const interimLeft = navBar!.getBoundingClientRect().right;\n const lastVisibleElementIndex = findLastIndex(\n elems,\n (elem) =>\n elem.getBoundingClientRect().right > interimLeft - buttonWidthOffset\n );\n if (lastVisibleElementIndex >= 0) {\n const lastVisibleElementRight =\n elems[lastVisibleElementIndex].getBoundingClientRect().left;\n // 48 = button width - button gradient\n const newScrollPosition =\n currentScrollPosition - lastVisibleElementRight + 48;\n this._currentScrollPosition =\n newScrollPosition <= 0 ? 0 : newScrollPosition;\n }\n } else {\n const lastVisibleElementIndex = findLastIndex(\n elems,\n (elem) =>\n elem.getBoundingClientRect().left <\n buttonWidthOffset + navBar!.getBoundingClientRect().left\n );\n if (lastVisibleElementIndex >= 0) {\n const lastVisibleElementRight =\n elems[lastVisibleElementIndex].getBoundingClientRect().right;\n const newScrollPosition =\n lastVisibleElementRight +\n currentScrollPosition -\n navBar!.getBoundingClientRect().right +\n buttonWidthOffset;\n // If the new scroll position is less than the width of the left chevron button,\n // it means that hiding the left chevron button reveals the whole of the left-most nav item.\n // Snaps the left-most nav item to the left edge of nav container in this case.\n this._currentScrollPosition =\n newScrollPosition <= 0 ? 0 : newScrollPosition;\n }\n }\n }\n }\n\n /**\n * Handles `click` event on the right-hand paginator button.\n */\n private _paginateRight() {\n const {\n _navBar: navBar,\n _contentNode: contentNode,\n _currentScrollPosition: currentScrollPosition,\n _itemNodes: itemNodes,\n _pageIsRTL: pageIsRTL,\n } = this;\n\n const elems = Array.prototype.slice.call(itemNodes);\n if (elems) {\n if (pageIsRTL) {\n const interimLeft = navBar!.getBoundingClientRect().left;\n const firstVisibleElementIndex = elems.findIndex(\n (elem) =>\n elem.getBoundingClientRect().left < interimLeft + buttonWidthOffset\n );\n if (firstVisibleElementIndex > 0) {\n const firstVisibleElementLeft = Math.abs(\n elems[firstVisibleElementIndex].getBoundingClientRect().right +\n buttonWidthOffset -\n navBar!.getBoundingClientRect().right\n );\n const maxLeft = contentNode!.scrollWidth - navBar!.offsetWidth;\n this._currentScrollPosition = Math.min(\n firstVisibleElementLeft + currentScrollPosition,\n maxLeft\n );\n }\n } else {\n const interimRight = navBar!.getBoundingClientRect().right;\n const firstVisibleElementIndex = elems.findIndex(\n (elem) =>\n elem.getBoundingClientRect().right >\n interimRight - buttonWidthOffset\n );\n if (firstVisibleElementIndex > 0) {\n const firstVisibleElementLeft =\n elems[firstVisibleElementIndex].getBoundingClientRect().left -\n navBar!.getBoundingClientRect().left -\n buttonWidthOffset;\n // Ensures that is there is no blank area at the right hand side in scroll area\n // if we see the right remainder nav items can be contained in a page\n const maxLeft = contentNode!.scrollWidth - navBar!.offsetWidth;\n this._currentScrollPosition = Math.min(\n firstVisibleElementLeft + currentScrollPosition,\n maxLeft\n );\n }\n }\n }\n }\n\n mediaQueryCallbackLG() {\n this._isMobile = !this.carbonBreakpoints.lg.matches;\n }\n\n /**\n * The current 0px offset from the top of page.\n */\n @property({ type: Number })\n stickyOffset = 0;\n\n /**\n * The throttled scroll listener.\n *\n * @param event scroll handler\n */\n @HostListener('window:scroll')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleScroll = (event: Event) => {\n this._throttleScroll!(event);\n };\n\n /**\n * The trigger reharvest listener.\n */\n @HostListener(`document:${c4dPrefix}-table-of-contents-reharvest`)\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _retriggerHarvest = () => {\n this._targets = Array.from(this.querySelectorAll('[name]'));\n };\n\n connectedCallback() {\n super.connectedCallback();\n this._cleanAndCreateIntersectionObserverContainer({ create: true });\n if (!this._throttleScroll) {\n this._throttleScroll = throttle(this._handleOnScroll, 250);\n this._handleOnScroll();\n }\n }\n\n disconnectedCallback() {\n this._cleanAndCreateIntersectionObserverContainer();\n this._contentMutationObserver.disconnect();\n if (this._throttleScroll) {\n this._throttleScroll.cancel();\n this._throttleScroll = null;\n }\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n super.firstUpdated();\n this._cleanAndCreateIntersectionObserverContainer({ create: true });\n\n StickyHeader.global.tableOfContents = this;\n }\n\n render() {\n const {\n layout,\n stickyOffset,\n _currentTarget: currentTarget,\n _currentScrollPosition: currentScrollPosition,\n _hasHeading: hasHeading,\n _isIntersectionLeftTrackerInContent: isIntersectionLeftTrackerInContent,\n _isIntersectionRightTrackerInContent: isIntersectionRightTrackerInContent,\n _isMobile: isMobile,\n _targets: targets,\n _handleClickItem: handleClickItem,\n _handleOnKeyDown: handleOnKeyDown,\n _handleSlotChange: handleSlotChange,\n _handleSlotChangeHeading: handleSlotChangeHeading,\n _paginateLeft: paginateLeft,\n _paginateRight: paginateRight,\n _pageIsRTL: pageIsRTL,\n } = this;\n\n const containerClasses = classMap({\n [`${c4dPrefix}-ce--table-of-contents__container`]:\n layout === TOC_TYPES.DEFAULT && !isMobile,\n [`${c4dPrefix}-ce--table-of-contents-horizontal__container`]:\n layout === TOC_TYPES.HORIZONTAL || isMobile,\n });\n\n const navigationClasses = classMap({\n [`${prefix}--tableofcontents__sidebar`]:\n layout === TOC_TYPES.DEFAULT && !isMobile,\n [`${prefix}--tableofcontents__navbar`]:\n layout === TOC_TYPES.HORIZONTAL || isMobile,\n });\n\n const chevronLeftContainerClasses = classMap({\n [`${prefix}--toc__navbar-chevron-left-container`]: true,\n [`${c4dPrefix}-ce--toc__navbar-chevron-container--hidden`]:\n isIntersectionLeftTrackerInContent,\n });\n\n const chevronRightContainerClasses = classMap({\n [`${prefix}--toc__navbar-chevron-right-container`]: true,\n [`${c4dPrefix}-ce--toc__navbar-chevron-container--hidden`]:\n isIntersectionRightTrackerInContent,\n });\n\n return html`\n ${this.layout === 'horizontal'\n ? html`\n <ul class=\"${prefix}--toc__print-styles\" part=\"list\">\n ${targets.map((item) => {\n const name = item.getAttribute('name');\n const title = (\n item.dataset.title ??\n item.textContent ??\n ''\n ).trim();\n const selected = item === currentTarget;\n const itemClasses = classMap({\n [`${prefix}--tableofcontents__item`]: true,\n [`${prefix}--tableofcontents__item--active`]: selected,\n });\n return html`\n <li\n class=\"${itemClasses}\"\n part=\"list-item${selected ? ' list-item--active' : ''}\"\n @click=\"${handleClickItem}\"\n @keydown=\"${handleOnKeyDown}\">\n <a\n aria-current=\"${ifDefined(\n !selected ? undefined : 'location'\n )}\"\n data-target=\"${name!}\"\n href=\"#${name}\"\n part=\"link\">\n ${title}\n </a>\n </li>\n `;\n })}\n </ul>\n `\n : ``}\n <div part=\"container\" class=\"${containerClasses}\">\n <div part=\"table\" class=\"${navigationClasses}\">\n ${isMobile\n ? ''\n : html`\n <div\n ?hidden=\"${!hasHeading}\"\n class=\"${prefix}--tableofcontents__children\"\n part=\"heading\">\n <slot\n name=\"heading\"\n @slotchange=\"${handleSlotChangeHeading}\"></slot>\n <slot name=\"menu-rule\"></slot>\n </div>\n `}\n ${layout === 'horizontal' || isMobile\n ? html`\n ${pageIsRTL\n ? html`\n <button\n part=\"prev-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronRightContainerClasses}\"\n @click=\"${paginateLeft}\">\n ${ChevronLeft20()}\n </button>\n `\n : html`\n <button\n part=\"prev-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronLeftContainerClasses}\"\n @click=\"${paginateLeft}\">\n ${ChevronLeft20()}\n </button>\n `}\n `\n : ``}\n <div\n class=\"${c4dPrefix}-ce--table-of-contents__items-container\"\n part=\"items-container\"\n style=\"position: sticky; top: ${stickyOffset &&\n this.layout !== TOC_TYPES.HORIZONTAL\n ? `${stickyOffset}px`\n : 0}\">\n <div\n class=\"${prefix}--tableofcontents-container\"\n part=\"item-container\">\n <div\n class=\"${prefix}--tableofcontents\"\n part=\"content\"\n style=\"${pageIsRTL\n ? 'right'\n : 'left'}: -${currentScrollPosition}px\">\n ${pageIsRTL\n ? html`\n <div\n class=\"${prefix}--sub-content-right\"\n part=\"sub-content-right\"></div>\n `\n : html`\n <div\n class=\"${prefix}--sub-content-left\"\n part=\"sub-content-left\"></div>\n `}\n <ul part=\"list\">\n ${targets.map((item) => {\n const name = item.getAttribute('name');\n const title = (\n item.dataset.title ??\n item.textContent ??\n ''\n ).trim();\n const selected = item === currentTarget;\n const itemClasses = classMap({\n [`${prefix}--tableofcontents__item`]: true,\n [`${prefix}--tableofcontents__item--active`]: selected,\n });\n return html`\n <li\n class=\"${itemClasses}\"\n part=\"list-item${selected ? ' list-item--active' : ''}\"\n @click=\"${handleClickItem}\"\n @keydown=\"${handleOnKeyDown}\">\n <a\n aria-current=\"${ifDefined(\n !selected ? undefined : 'location'\n )}\"\n data-target=\"${name!}\"\n href=\"#${name}\"\n tabindex=\"${selected ? 0 : -1}\"\n part=\"link\">\n ${title}\n </a>\n </li>\n `;\n })}\n </ul>\n ${pageIsRTL\n ? html`\n <div\n class=\"${prefix}--sub-content-left\"\n part=\"sub-content-left\"></div>\n `\n : html`\n <div\n class=\"${prefix}--sub-content-right\"\n part=\"sub-content-right\"></div>\n `}\n </div>\n </div>\n </div>\n\n ${this.layout === 'horizontal' || isMobile\n ? html`\n ${pageIsRTL\n ? html`\n <button\n part=\"next-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronLeftContainerClasses}\"\n @click=\"${paginateRight}\">\n ${ChevronRight20()}\n </button>\n `\n : html`\n <button\n part=\"next-button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"${chevronRightContainerClasses}\"\n @click=\"${paginateRight}\">\n ${ChevronRight20()}\n </button>\n `}\n `\n : ``}\n </div>\n\n <div class=\"${prefix}--tableofcontents__content\" part=\"content-table\">\n <div\n class=\"${prefix}--tableofcontents__content-wrapper\"\n part=\"wrapper\">\n ${!isMobile\n ? ''\n : html`\n <div\n ?hidden=\"${!hasHeading}\"\n class=\"${prefix}--tableofcontents__children\"\n part=\"heading\">\n <slot\n name=\"heading\"\n @slotchange=\"${handleSlotChangeHeading}\"></slot>\n <slot name=\"menu-rule\"></slot>\n </div>\n `}\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n /**\n * The selector that selects the link items.\n */\n static get selectorItem() {\n return `.${prefix}--tableofcontents__item a`;\n }\n\n /**\n * The selector that determines where to harvest the table of contents from.\n */\n static selectorTarget = '[name]';\n\n static get stableSelector() {\n return `${c4dPrefix}--table-of-contents`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DTableOfContents;\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ export interface ComponentProps {
18
18
  * @csspart view-all-left - Targets the view all left. Usage: `c4d-masthead-composite::part(view-all-left)`
19
19
  * @csspart view-all-right - Targets the view all right. Usage: `c4d-masthead-composite::part(view-all-right)`
20
20
  * @csspart view-all-bottom - Targets the view all bottom. Usage: `c4d-masthead-composite::part(view-all-bottom)`
21
+ * @csspart l0-view-all-products-arrow - Targets the view all products arrow icon. Usage: `c4d-masthead-composite::part(l0-view-all-products-arrow)`
21
22
  */
22
23
  declare class C4DMastheadComposite extends Component<ComponentProps> {}
23
24
  export default C4DMastheadComposite;
@@ -12,10 +12,10 @@
12
12
  * @type {object} Settings object
13
13
  * @property {string} [stablePrefix=c4d] stable prefix
14
14
  * @property {string} [prefix=cds] core Carbon prefix
15
- * Carbon for IBM.com v2.18.0',
15
+ * Carbon for IBM.com v2.19.1',
16
16
  */
17
17
  var settings = {
18
- version: 'Carbon for IBM.com v2.18.0',
18
+ version: 'Carbon for IBM.com v2.19.1',
19
19
  stablePrefix: 'c4d',
20
20
  prefix: 'cds'
21
21
  };
@@ -18,10 +18,10 @@ exports.default = void 0;
18
18
  * @type {object} Settings object
19
19
  * @property {string} [stablePrefix=c4d] stable prefix
20
20
  * @property {string} [prefix=cds] core Carbon prefix
21
- * Carbon for IBM.com v2.18.0',
21
+ * Carbon for IBM.com v2.19.1',
22
22
  */
23
23
  var settings = {
24
- version: 'Carbon for IBM.com v2.18.0',
24
+ version: 'Carbon for IBM.com v2.19.1',
25
25
  stablePrefix: 'c4d',
26
26
  prefix: 'cds'
27
27
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbon/ibmdotcom-web-components",
3
- "version": "2.18.0",
3
+ "version": "2.20.0-rc.0",
4
4
  "description": "Carbon for IBM.com Web Components",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
@@ -92,9 +92,9 @@
92
92
  "cypress:verify": "cypress verify"
93
93
  },
94
94
  "dependencies": {
95
- "@carbon/ibmdotcom-services": "2.18.0",
96
- "@carbon/ibmdotcom-styles": "2.18.0",
97
- "@carbon/ibmdotcom-utilities": "2.18.0",
95
+ "@carbon/ibmdotcom-services": "2.20.0-rc.0",
96
+ "@carbon/ibmdotcom-styles": "2.20.0-rc.0",
97
+ "@carbon/ibmdotcom-utilities": "2.20.0-rc.0",
98
98
  "@carbon/layout": "11.27.0",
99
99
  "@carbon/motion": "11.24.0",
100
100
  "@carbon/styles": "1.65.0",
@@ -243,5 +243,5 @@
243
243
  "web-component-analyzer": "1.2.0-next.0",
244
244
  "webpack": "^4.46.0"
245
245
  },
246
- "gitHead": "945ca478a37e5914612018120bbdf5ca2c0a2a71"
246
+ "gitHead": "49501ffe7be549fdbd98795022a427ae6a4f5225"
247
247
  }
@@ -157,6 +157,18 @@ $pos-btn-bottom: calc(
157
157
  }
158
158
  }
159
159
 
160
+ ::slotted(div.earth-language-icon) {
161
+ display: flex;
162
+ align-items: center;
163
+ /* stylelint-disable-next-line declaration-no-important */
164
+ padding: 1rem !important;
165
+ cursor: pointer;
166
+ }
167
+
168
+ ::slotted(div.earth-language-icon:hover) {
169
+ background-color: $background-hover;
170
+ }
171
+
160
172
  &[has-search-active] {
161
173
  @include breakpoint-down(md) {
162
174
  display: none;