@carbon/ibmdotcom-web-components 2.15.0 → 2.16.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 (91) hide show
  1. package/custom-elements.json +291 -9
  2. package/dist/dotcom-shell.js +2 -2
  3. package/dist/dotcom-shell.min.js +2 -2
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +2 -2
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  6. package/dist/{index-fd263a6c.js → index-6ab416ae.js} +6 -6
  7. package/dist/{index-8ac13d28.js → index-6f798488.js} +21 -10
  8. package/dist/{left-nav-menu-76323b8e.js → left-nav-menu-40ebffa9.js} +2 -2
  9. package/dist/{left-nav-menu-02760d33.js → left-nav-menu-629e7752.js} +2 -2
  10. package/dist/{left-nav-menu-category-heading-dca365b2.js → left-nav-menu-category-heading-1886967e.js} +2 -2
  11. package/dist/{left-nav-menu-category-heading-93c6f364.js → left-nav-menu-category-heading-1d965e0a.js} +2 -2
  12. package/dist/{left-nav-menu-item-e27ed87c.js → left-nav-menu-item-03cf8244.js} +2 -2
  13. package/dist/{left-nav-menu-item-218ef600.js → left-nav-menu-item-a9c7113f.js} +2 -2
  14. package/dist/{left-nav-menu-section-c5e510a9.js → left-nav-menu-section-c39512a8.js} +2 -2
  15. package/dist/{left-nav-menu-section-5abc2e23.js → left-nav-menu-section-e9526c5a.js} +2 -2
  16. package/dist/{left-nav-overlay-75300893.js → left-nav-overlay-59e8851e.js} +2 -2
  17. package/dist/{left-nav-overlay-5b0bfef2.js → left-nav-overlay-60a5eead.js} +2 -2
  18. package/dist/{megamenu-category-group-1943cfb9.js → megamenu-category-group-60d3805b.js} +2 -2
  19. package/dist/{megamenu-category-group-copy-cc3cf7e0.js → megamenu-category-group-copy-46df540c.js} +2 -2
  20. package/dist/{megamenu-category-group-copy-9e779f84.js → megamenu-category-group-copy-6ae3dfe8.js} +2 -2
  21. package/dist/{megamenu-category-group-aa873786.js → megamenu-category-group-e191e806.js} +2 -2
  22. package/dist/{megamenu-category-heading-f1723f28.js → megamenu-category-heading-420838f8.js} +2 -2
  23. package/dist/{megamenu-category-heading-0363175e.js → megamenu-category-heading-4b2d5ba1.js} +2 -2
  24. package/dist/{megamenu-category-link-653a7d76.js → megamenu-category-link-e5f8c975.js} +6 -6
  25. package/dist/{megamenu-category-link-5b370505.js → megamenu-category-link-ef739901.js} +2 -2
  26. package/dist/{megamenu-category-link-group-cc2f0cf0.js → megamenu-category-link-group-90b667c2.js} +2 -2
  27. package/dist/{megamenu-category-link-group-8a159720.js → megamenu-category-link-group-a85ef70e.js} +2 -2
  28. package/dist/{megamenu-left-navigation-c14cb952.js → megamenu-left-navigation-0a188f17.js} +2 -2
  29. package/dist/{megamenu-left-navigation-02c861d4.js → megamenu-left-navigation-d3619fc8.js} +2 -2
  30. package/dist/{megamenu-overlay-dacdd21f.js → megamenu-overlay-73bf0741.js} +2 -2
  31. package/dist/{megamenu-overlay-160fa18a.js → megamenu-overlay-98b82923.js} +2 -2
  32. package/dist/{megamenu-tab-ba249255.js → megamenu-tab-320d3677.js} +7 -7
  33. package/dist/{megamenu-tab-131eedb9.js → megamenu-tab-63b4d4a8.js} +15 -20
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/countdown/countdown.d.ts +406 -0
  36. package/es/components/countdown/countdown.js +269 -0
  37. package/es/components/countdown/countdown.js.map +1 -0
  38. package/es/components/countdown/index.d.ts +11 -0
  39. package/es/components/countdown/index.js +18 -0
  40. package/es/components/countdown/index.js.map +1 -0
  41. package/es/components/leadspace/leadspace.css.js +1 -1
  42. package/es/components/masthead/masthead-cart.js +1 -1
  43. package/es/components/masthead/masthead-cart.js.map +1 -1
  44. package/es/components/masthead/masthead-l1.js +11 -1
  45. package/es/components/masthead/masthead-l1.js.map +1 -1
  46. package/es/components/masthead/megamenu-tab.d.ts +1 -5
  47. package/es/components/masthead/megamenu-tab.js +10 -16
  48. package/es/components/masthead/megamenu-tab.js.map +1 -1
  49. package/es/components/pricing-table/pricing-table.css.js +1 -1
  50. package/es/components/promo-banner/index.d.ts +11 -0
  51. package/es/components/promo-banner/index.js +18 -0
  52. package/es/components/promo-banner/index.js.map +1 -0
  53. package/es/components/promo-banner/promo-banner.css.js +12 -0
  54. package/es/components/promo-banner/promo-banner.d.ts +385 -0
  55. package/es/components/promo-banner/promo-banner.js +216 -0
  56. package/es/components/promo-banner/promo-banner.js.map +1 -0
  57. package/es/components/star-rating/index.d.ts +11 -0
  58. package/es/components/star-rating/index.js +18 -0
  59. package/es/components/star-rating/index.js.map +1 -0
  60. package/es/components/star-rating/star-rating.css.js +12 -0
  61. package/es/components/star-rating/star-rating.d.ts +427 -0
  62. package/es/components/star-rating/star-rating.js +320 -0
  63. package/es/components/star-rating/star-rating.js.map +1 -0
  64. package/es/components/structured-list/structured-list-cell.d.ts +2 -0
  65. package/es/components/structured-list/structured-list-cell.js +13 -4
  66. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  67. package/es/components/structured-list/structured-list.css.js +1 -1
  68. package/es/components/table-of-contents/table-of-contents-cdn.css.js +1 -1
  69. package/es/components/table-of-contents/table-of-contents.css.js +1 -1
  70. package/es/components/tile/index.d.ts +12 -0
  71. package/es/components/tile/index.js +19 -0
  72. package/es/components/tile/index.js.map +1 -0
  73. package/es/components/tile/tile-group.d.ts +21 -0
  74. package/es/components/tile/tile-group.js +56 -0
  75. package/es/components/tile/tile-group.js.map +1 -0
  76. package/es/components/tile/tile.css.js +12 -0
  77. package/es/components/tile/tile.d.ts +737 -0
  78. package/es/components/tile/tile.js +225 -0
  79. package/es/components/tile/tile.js.map +1 -0
  80. package/es/components-react/structured-list/structured-list-cell.d.ts +2 -0
  81. package/es/globals/internal/storybook-decorators.d.ts +31 -0
  82. package/es/globals/internal/storybook-decorators.js +43 -0
  83. package/es/globals/internal/storybook-decorators.js.map +1 -0
  84. package/es/globals/mixins/throttled-input.js +5 -4
  85. package/es/globals/mixins/throttled-input.js.map +1 -1
  86. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  87. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  88. package/package.json +8 -7
  89. package/scss/components/promo-banner/promo-banner.scss +163 -0
  90. package/scss/components/star-rating/star-rating.scss +76 -0
  91. package/scss/components/tile/tile.scss +290 -0
@@ -24,7 +24,7 @@ import StableSelectorMixin from "../../globals/mixins/stable-selector.js";
24
24
  import { html, LitElement } from 'lit';
25
25
  import { property, state } from 'lit/decorators.js';
26
26
  import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
27
- import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element';
27
+ import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
28
28
  import ShoppingCart20 from '@carbon/web-components/es/icons/shopping--cart/20.js';
29
29
  import styles from "././masthead.css.js";
30
30
  import LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';
@@ -1 +1 @@
1
- {"version":3,"file":"masthead-cart.js","names":["StableSelectorMixin","html","LitElement","property","state","settings","carbonElement","customElement","ShoppingCart20","styles","LocaleAPI","SAPCommerceAPI","prefix","stablePrefix","c4dPrefix","C4DMastheadCart","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","key","value","lc","cc","connectedCallback","_superPropGet","hasActiveCart","getLocale","then","locale","updated","changedProperties","has","hidden","render","linkLabel","_t","_","static"],"sources":["components/masthead/masthead-cart.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 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 StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element';\nimport ShoppingCart20 from '@carbon/web-components/es/icons/shopping--cart/20.js';\nimport styles from './masthead.scss';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';\nimport SAPCommerceAPI from '@carbon/ibmdotcom-services/es/services/SAPCommerce/SAPCommerce.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * The Cart icon in the masthead.\n *\n * @element c4d-masthead-cart\n * @csspart cart-link - The masthead cart link. Usage: `c4d-masthead-cart::part(cart-link)`\n */\n@customElement(`${c4dPrefix}-masthead-cart`)\nclass C4DMastheadCart extends StableSelectorMixin(LitElement) {\n /**\n * The `aria-label` attribute for the link.\n */\n @property({ attribute: 'link-label' })\n linkLabel = 'Cart';\n\n /**\n * Tracks whether the user has an active cart to control the display.\n */\n @state()\n hasActiveCart = false;\n\n /**\n * Store the locale. Defaults to en-us.\n */\n @state()\n locale = { lc: 'en', cc: 'us' };\n\n connectedCallback() {\n super.connectedCallback();\n // Check the relevant cookie for whether the user has an active cart.\n this.hasActiveCart = SAPCommerceAPI.hasActiveCart();\n // Fetch the locale for the page.\n LocaleAPI.getLocale().then((locale) => {\n this.locale = locale;\n });\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const { hasActiveCart } = this;\n if (changedProperties.has('hasActiveCart')) {\n this.hidden = !hasActiveCart;\n }\n }\n\n render() {\n const {\n linkLabel,\n locale: { cc, lc },\n } = this;\n\n return html`\n <a\n part=\"cart-link\"\n href=\"/store/${lc}/${cc}/checkout\"\n class=\"${prefix}--header__menu-item ${prefix}--header__menu-title\"\n aria-label=\"${linkLabel}\"\n >${ShoppingCart20()}</a\n >\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead-cart`;\n }\n\n static styles = styles;\n}\n\nexport default C4DMastheadCart;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"masthead-cart.js","names":["StableSelectorMixin","html","LitElement","property","state","settings","carbonElement","customElement","ShoppingCart20","styles","LocaleAPI","SAPCommerceAPI","prefix","stablePrefix","c4dPrefix","C4DMastheadCart","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","key","value","lc","cc","connectedCallback","_superPropGet","hasActiveCart","getLocale","then","locale","updated","changedProperties","has","hidden","render","linkLabel","_t","_","static"],"sources":["components/masthead/masthead-cart.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 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 StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport ShoppingCart20 from '@carbon/web-components/es/icons/shopping--cart/20.js';\nimport styles from './masthead.scss';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';\nimport SAPCommerceAPI from '@carbon/ibmdotcom-services/es/services/SAPCommerce/SAPCommerce.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * The Cart icon in the masthead.\n *\n * @element c4d-masthead-cart\n * @csspart cart-link - The masthead cart link. Usage: `c4d-masthead-cart::part(cart-link)`\n */\n@customElement(`${c4dPrefix}-masthead-cart`)\nclass C4DMastheadCart extends StableSelectorMixin(LitElement) {\n /**\n * The `aria-label` attribute for the link.\n */\n @property({ attribute: 'link-label' })\n linkLabel = 'Cart';\n\n /**\n * Tracks whether the user has an active cart to control the display.\n */\n @state()\n hasActiveCart = false;\n\n /**\n * Store the locale. Defaults to en-us.\n */\n @state()\n locale = { lc: 'en', cc: 'us' };\n\n connectedCallback() {\n super.connectedCallback();\n // Check the relevant cookie for whether the user has an active cart.\n this.hasActiveCart = SAPCommerceAPI.hasActiveCart();\n // Fetch the locale for the page.\n LocaleAPI.getLocale().then((locale) => {\n this.locale = locale;\n });\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const { hasActiveCart } = this;\n if (changedProperties.has('hasActiveCart')) {\n this.hidden = !hasActiveCart;\n }\n }\n\n render() {\n const {\n linkLabel,\n locale: { cc, lc },\n } = this;\n\n return html`\n <a\n part=\"cart-link\"\n href=\"/store/${lc}/${cc}/checkout\"\n class=\"${prefix}--header__menu-item ${prefix}--header__menu-title\"\n aria-label=\"${linkLabel}\"\n >${ShoppingCart20()}</a\n >\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead-cart`;\n }\n\n static styles = styles;\n}\n\nexport default C4DMastheadCart;\n"],"mappings":"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","ignoreList":[]}
@@ -1050,7 +1050,17 @@ let C4DMastheadL1 = _decorate([customElement(`${c4dPrefix}-masthead-l1`)], funct
1050
1050
  }
1051
1051
  // Fall back to automated selection based on URL.
1052
1052
  else {
1053
- this.selectedElements = allLinks.filter(el => el.href === currentUrlPath);
1053
+ this.selectedElements = allLinks.filter(el => {
1054
+ try {
1055
+ const elURL = new URL(el.href);
1056
+ const currURL = new URL(currentUrlPath || '');
1057
+
1058
+ // Compare url without query params.
1059
+ return elURL.host === currURL.host && elURL.pathname === currURL.pathname;
1060
+ } catch (_error) {
1061
+ return false;
1062
+ }
1063
+ });
1054
1064
  }
1055
1065
  if (this.selectedElements.length) {
1056
1066
  // Set active on nearest menu item.
@@ -1 +1 @@
1
- {"version":3,"file":"masthead-l1.js","names":["html","LitElement","property","query","queryAll","state","root","settings","StableSelectorMixin","styles","ifDefined","unsafeHTML","ChevronDown16","ArrowRight16","ArrowRight20","ArrowLeft16","ArrowLeft20","CaretLeft20","CaretRight20","classMap","layoutBreakpoint","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","handleDropdownClose","event","_target$querySelector","currentTarget","target","openDropdowns","Array","from","querySelectorAll","length","type","code","_target$firstElementC","forEach","el","classList","remove","firstElementChild","focus","relatedTarget","hasUnknownTargets","focusHasEscaped","comparison","compareDocumentPosition","C4DMastheadL1","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","reflect","Boolean","key","value","_root$location","location","href","matches","isRTL","document","dir","toLowerCase","toggleScrollButtons","scrollObserverThrottler","_this$l1Data$menuItem","_this$l1Data","menu","menuContainerInner","menuFirstItem","menuLastItem","menuScrollerButtons","menuItems","l1Data","button","setAttribute","firstItemBox","getBoundingClientRect","lastItemBox","menuLeft","Math","min","left","menuRight","max","right","menuWidth","containerWidth","width","removeAttribute","style","translate","currentScroll","parseInt","maxScroll","setTimeout","undefined","_createScrollObserver","scrollObserver","ResizeObserver","bind","observe","_scrollL1TopNav","direction","minTranslationValue","clientWidth","maxTranslationValue","buttonDirMultiplier","id","writingDirMultiplier","computedScroll","window","getComputedStyle","Number","isNaN","newScroll","cappedValue","_renderCta","_t","_","_renderL1TopNav","scrollL1TopNav","url","title","actions","login","_t2","_t3","map","menuItem","_renderL1TopNavDropDowns","_t4","_toggleSubsection","toggleSubsection","_handleTopNavFocusIn","handleTopNavFocusIn","submenu","_t5","_t6","announcement","menuSections","footer","columns","hasWideColumn","some","section","span","wideColumnFirst","wideColumns","filter","normalColumns","dropdownClasses","_t7","_t8","_renderL1DropdownSections","_t9","Arrow16","sections","hasWide","isWide","renderedSections","heading","items","_t10","_t11","_renderL1SubSectionHeading","_t12","item","description","linkContents","_t13","_t14","_t15","classes","_t16","_t17","_renderL1MobileNav","overviewText","cta","_t18","_t19","_renderL1MobileSubnav","_t20","_t21","_t22","_t23","_t24","_t25","_t26","_t27","_t28","_t29","_t30","_button$parentNode","isMobileVersion","dropDownToggleEvent","dropdown","parentNode","querySelector","isOpen","contains","buttonRect","toJSON","dropdownRect","viewportWidth","innerWidth","isLTR","toUpperCase","dirMultiplier","inlineStart","inlineEnd","startBoundaryIfCentered","endBoundaryIfCentered","translationAmount","viewportHeight","innerHeight","maxHeight","top","dispatchEvent","CustomEvent","bubbles","composed","cancelable","detail","active","toggle","containerBox","buttonBox","leftOverflow","rightOverflow","_handleSelectedMenuItem","selectedMenuItem","currentUrlPath","shadowRoot","allLinks","selectedElements","_el$textContent","textContent","trim","element","_element$closest","_parentMenuItem$class","parentMenuItem","closest","previousElementSibling","_this$shadowRoot","l1Title","push","headingDesc","_t31","headingContent","_t32","Arrow20","_t33","headingClasses","renderedHeading","headingLevel","_t34","_t35","_t36","_t37","_t38","firstUpdated","setProperty","documentElement","addEventListener","updated","changedProperties","has","_this$scrollObserver","disconnect","render","_t39","_t40","_t41","static","renderL1Cta","ctaType","slottedText","_t42","_t43","_t44"],"sources":["components/masthead/masthead-l1.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 { TemplateResult as _TemplateResult, html, LitElement } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport root from 'window-or-global';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport styles from './masthead-l1.scss';\nimport {\n L1MenuItem as _L1MenuItem,\n L1SubmenuSection as _L1SubmenuSection,\n L1CtaLink,\n L1SubmenuSectionHeading,\n MastheadL1,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport ChevronDown16 from '@carbon/web-components/es/icons/chevron--down/16.js';\nimport ArrowRight16 from '@carbon/web-components/es/icons/arrow--right/16.js';\nimport ArrowRight20 from '@carbon/web-components/es/icons/arrow--right/20.js';\nimport ArrowLeft16 from '@carbon/web-components/es/icons/arrow--left/16.js';\nimport ArrowLeft20 from '@carbon/web-components/es/icons/arrow--left/20.js';\nimport CaretLeft20 from '@carbon/web-components/es/icons/caret--left/20.js';\nimport CaretRight20 from '@carbon/web-components/es/icons/caret--right/20.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport layoutBreakpoint from './masthead-breakpoint';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\nfunction handleDropdownClose(event: FocusEvent | KeyboardEvent) {\n const { currentTarget } = event;\n const target = currentTarget as HTMLElement | null;\n const openDropdowns = Array.from(target?.querySelectorAll('.is-open') ?? []);\n\n if (openDropdowns.length) {\n switch (event.type) {\n case 'keydown': {\n const { code } = event as KeyboardEvent;\n if (code === 'Escape') {\n openDropdowns.forEach((el) => {\n el.classList.remove('is-open');\n });\n\n (target?.firstElementChild as HTMLElement)?.focus();\n }\n break;\n }\n case 'focusout': {\n const { relatedTarget } = event as FocusEvent;\n const hasUnknownTargets = !relatedTarget || !currentTarget;\n let focusHasEscaped = false;\n\n if (!hasUnknownTargets) {\n const comparison = (relatedTarget as Node).compareDocumentPosition(\n currentTarget as Node\n );\n\n focusHasEscaped =\n !(comparison & 8) && // relatedTarget is not ancestor of currentTarget\n relatedTarget !== currentTarget;\n }\n\n if (hasUnknownTargets || focusHasEscaped) {\n openDropdowns.forEach((el) => {\n el.classList.remove('is-open');\n });\n }\n\n break;\n }\n default:\n break;\n }\n }\n}\n\n/**\n * Masthead.\n *\n * @element c4d-masthead-l1\n * @csspart l1-menu-container-inner - The container that wraps the L1 menu items for scrolling purposes. Usage: `c4d-masthead-l1::part(l1-menu-container-inner)`\n * @csspart masthead-l1-menu - The container element for the L1 menu items. Usage: `c4d-masthead-l1::part(masthead-l1-menu)`\n * @csspart l1-menu-first-item - The first item in the L1 menu. Usage: `c4d-masthead-l1::part(l1-menu-first-item)`\n * @csspart l1-menu-last-item - The last item in the L1 menu. Usage: `c4d-masthead-l1::part(l1-menu-last-item)`\n * @csspart l1-menu-container-scroller - The buttons used for scrolling the L1 menu items. Usage: `c4d-masthead-l1::part(l1-menu-container-scroller)`\n * @csspart l1-title-button - The title button in the L1 masthead. Usage: `c4d-masthead-l1::part(l1-title-button)`\n * @csspart l1-dropdown - The dropdown items in the L1 masthead. Usage: `c4d-masthead-l1::part(l1-dropdown)`\n * @csspart l1-dropdown-viewall - The \"view all\" link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-viewall)`\n * @csspart l1-dropdown-announcement - The announcement in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-announcement)`\n * @csspart l1-dropdown-section - The sections in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-section)`\n * @csspart l1-dropdown-menu-items - The menu items in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-menu-items)`\n * @csspart l1-dropdown-menu-item - A single menu item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-menu-item)`\n * @csspart l1-dropdown-item-ul - The item list in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-ul)`\n * @csspart l1-dropdown-item-li - The list item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-li)`\n * @csspart l1-dropdown-item-link - The item link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-link)`\n * @csspart l1-dropdown-item-link--heading - The item link in the L1 dropdown that wraps headings. Usage: `c4d-masthead-l1::part(l1-dropdown-item-link--heading)`\n * @csspart l1-dropdown-subsection - The subsection in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-subsection)`\n * @csspart l1-dropdown-item - The dropdown item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item)`\n * @csspart l1-dropdown-login-link - The login link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-login-link)`\n * @csspart l1-dropdown-links - A group of l1 dropdown links. Usage: `c4d-masthead-l1::part(l1-dropdown-links)`\n * @csspart dropdown-item-li - The li element for the dropdown item. Usage: `c4d-masthead-l1::part(dropdown-item-li)`\n * @csspart dropdown-login-link-li - The li element for the login link. Usage: `c4d-masthead-l1::part(dropdown-login-link-li)`\n * @csspart cta-li - The li element for the cta. Usage: `c4d-masthead-l1::part(cta-li)`\n * @csspart dropdown-item-link-li - The li element for the dropdown item link. Usage: `c4d-masthead-l1::part(dropdown-item-link-li)`\n * @csspart dropdown-item-span-li - The li element for the dropdown item span. Usage: `c4d-masthead-l1::part(dropdown-item-span-li)`\n * @csspart dropdown-item-button-li - The li element for the dropdown item button. Usage: `c4d-masthead-l1::part(dropdown-item-button-li)`\n * @csspart dropdown-column - The dropdown column container. Usage: `c4d-masthead-l1::part(dropdown-column)\n * @csspart dropdown-column--narrow - The dropdown column narrow modifier. Usage: `c4d-masthead-l1::part(dropdown-column--narrow)\n * @csspart dropdown-column--wide - The dropdown column wide modifier. Usage: `c4d-masthead-l1::part(dropdown-column--wide)\n * @slot brand - The left hand area.\n * @slot nav - The nav content.\n * @slot profile - The right hand area.\n */\n@customElement(`${c4dPrefix}-masthead-l1`)\nclass C4DMastheadL1 extends StableSelectorMixin(LitElement) {\n /**\n * Whether an L1 menu is open or not.\n */\n @property({ attribute: 'active', reflect: true, type: Boolean })\n active = false;\n\n /**\n * The L1 menu data, passed from the masthead-composite.\n */\n @property()\n l1Data?: MastheadL1;\n\n /**\n * The URL path of the current document root.\n */\n @property()\n currentUrlPath?: string = root.location?.href;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem?: string;\n\n /**\n * Whether the current viewport is below 800px or not\n */\n @state()\n isMobileVersion = layoutBreakpoint.matches;\n\n /**\n * Elements that are currently selected.\n */\n @state()\n selectedElements: Element[] = [];\n\n /**\n * The translated label for the overview links visible on mobile\n */\n @property({ attribute: 'overview-text' })\n overviewText = 'Overview';\n\n /**\n * The writing direction of the page\n */\n @property()\n direction = '';\n\n /**\n * The x-scrolling element wrapping the L1 top-level items\n */\n @query(`.${prefix}--masthead__l1-menu-container-inner`)\n menuContainerInner?: HTMLElement;\n\n @query(`.${prefix}--masthead__l1-menu`)\n menu?: HTMLElement;\n\n /**\n * The first top-level menu items\n */\n @query(`.${prefix}--masthead__l1-menu > *:first-child`)\n menuFirstItem?: HTMLElement;\n\n /**\n * The last top-level menu items\n */\n @query(`.${prefix}--masthead__l1-menu > *:last-child`)\n menuLastItem?: HTMLElement;\n\n /**\n * The buttons that scroll the top-level menu items\n */\n @queryAll(`.${prefix}--masthead__l1-menu-container-scroller`)\n menuScrollerButtons?: NodeListOf<HTMLButtonElement>;\n\n protected get Arrow16() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft16 : ArrowRight16;\n }\n\n protected get Arrow20() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft20 : ArrowRight20;\n }\n\n /**\n * Resize Observer responsible for show/hiding the scrolling buttons.\n */\n protected scrollObserver?: ResizeObserver;\n\n /**\n * Prevents resize observer from blocking main thread.\n */\n protected scrollObserverThrottler?: NodeJS.Timeout;\n\n /**\n * ResizeObserver callback method\n */\n protected toggleScrollButtons() {\n // Resize events happen rapidly. We need to throttle this functionality.\n if (!this.scrollObserverThrottler) {\n const {\n menu,\n menuContainerInner,\n menuFirstItem,\n menuLastItem,\n menuScrollerButtons,\n } = this;\n\n // Only act if all the needed elements are present.\n const menuItems = this.l1Data?.menuItems ?? [];\n if (menuItems.length === 0) {\n menuScrollerButtons?.forEach((button) => {\n button.setAttribute('hidden', '');\n });\n } else if (\n menuFirstItem &&\n menuLastItem &&\n menuContainerInner &&\n menuScrollerButtons\n ) {\n // Find first & last items, calculate width between outer boundaries.\n const firstItemBox = menuFirstItem.getBoundingClientRect();\n const lastItemBox = menuLastItem.getBoundingClientRect();\n const menuLeft = Math.min(firstItemBox.left, lastItemBox.left);\n const menuRight = Math.max(firstItemBox.right, lastItemBox.right);\n const menuWidth = menuRight - menuLeft;\n const containerWidth =\n menuContainerInner?.getBoundingClientRect().width;\n\n // If we overflow the container, show buttons.\n if (menuWidth > containerWidth) {\n menuScrollerButtons.forEach((button) => {\n button.removeAttribute('hidden');\n });\n\n if (menu?.style.translate) {\n const currentScroll = parseInt(menu.style.translate);\n const maxScroll = containerWidth - menuWidth;\n\n menu.style.translate = `${Math.max(currentScroll, maxScroll)}px`;\n }\n }\n // If we don't, hide the buttons.\n else {\n menuScrollerButtons.forEach((button) => {\n button.setAttribute('hidden', '');\n });\n\n // Remove any translations we've used to mimic scrolling.\n if (menu) {\n menu.style.translate = '';\n }\n }\n }\n\n // Prevent this functionality from running again until the time threshold has passed.\n this.scrollObserverThrottler = setTimeout(() => {\n this.scrollObserverThrottler = undefined;\n }, 100);\n }\n }\n\n /**\n * Creates resize observer on load/update when above mobile breakpoint.\n */\n protected _createScrollObserver() {\n const { menuContainerInner, toggleScrollButtons } = this;\n this.scrollObserver = new ResizeObserver(toggleScrollButtons.bind(this));\n\n if (menuContainerInner) {\n this.scrollObserver.observe(menuContainerInner);\n }\n }\n\n /**\n * Scrolls the menu inner container on click.\n *\n * @param event The button click\n */\n protected _scrollL1TopNav(event: PointerEvent) {\n const { currentTarget } = event;\n const { menuContainerInner, menu, direction } = this;\n\n if (!menu || !menuContainerInner) {\n return;\n }\n\n // Valid translations will exist between 0 and a some negative value.\n const minTranslationValue =\n (menu.clientWidth - menuContainerInner.clientWidth) * -1;\n const maxTranslationValue = 0;\n\n // Use a 1/-1 multiplier to account for correct button\n let buttonDirMultiplier;\n switch ((currentTarget as HTMLElement).id) {\n // \"Next\" button should pull menu toward 0\n case 'scroll-next':\n buttonDirMultiplier = -1;\n break;\n // \"Prev\" button should push menu away from 0\n case 'scroll-prev':\n buttonDirMultiplier = 1;\n break;\n default:\n buttonDirMultiplier = 0;\n break;\n }\n\n // Use a 1/-1 multiplier to account for writing direction\n let writingDirMultiplier;\n switch (direction) {\n // LTR is inline with x-axis\n case 'ltr':\n writingDirMultiplier = 1;\n break;\n // RTL must invert x-axis\n case 'rtl':\n writingDirMultiplier = -1;\n break;\n default:\n writingDirMultiplier = 0;\n break;\n }\n\n // Get current translation value\n const computedScroll = parseInt(window.getComputedStyle(menu).translate);\n const currentScroll = !Number.isNaN(computedScroll) ? computedScroll : 0;\n\n // Adjust translation value by adding/subtracting the width of the visible menu\n const newScroll =\n currentScroll +\n menuContainerInner.clientWidth *\n buttonDirMultiplier *\n writingDirMultiplier;\n\n // Cap the value to avoid over-translation to either side\n const cappedValue = Math.max(\n minTranslationValue,\n Math.min(maxTranslationValue, newScroll)\n );\n\n menu.style.translate = `${cappedValue}px`;\n }\n\n /**\n * Renders the L1 CTA.\n *\n * @returns {_TemplateResult} A template fragment representing the L1 CTA\n */\n protected _renderCta(): _TemplateResult | '' {\n return html`<slot name=\"l1-cta\"></slot>`;\n }\n\n /**\n * Renders L1 for desktop screensizes\n *\n * @returns {_TemplateResult} L1 for desktop screensizes\n */\n protected _renderL1TopNav() {\n const { l1Data, direction, _scrollL1TopNav: scrollL1TopNav } = this;\n const { url, title, actions, menuItems } = l1Data ?? {};\n const { login } = actions ?? {};\n\n return html`\n <div\n part=\"masthead-l1-menu-container-mask\"\n class=\"${prefix}--masthead__l1-menu-container-mask ${prefix}--masthead__l1-menu-container-mask--start\"></div>\n ${!title || !url\n ? undefined\n : html`\n <div\n part=\"masthead-background-wrapper\"\n class=\"${prefix}--masthead__background-wrapper\">\n <a\n part=\"masthead-l1-title\"\n class=\"${prefix}--masthead__l1-title\"\n href=\"${url}\"\n >${title}</a\n >\n </div>\n `}\n <div\n part=\"masthead-l1-menu-container-outer\"\n class=\"${prefix}--masthead__l1-menu-container-outer\">\n <button\n part=\"l1-menu-container-scroller-button\"\n class=\"${prefix}--masthead__l1-menu-container-scroller\"\n id=\"scroll-prev\"\n @click=${scrollL1TopNav}>\n <div\n part=\"l1-menu-container-scroller-inner\"\n class=\"${prefix}--masthead__l1-menu-container-scroller-inner\">\n ${direction === 'ltr' ? CaretLeft20() : CaretRight20()}\n </div>\n </button>\n <div\n part=\"l1-menu-container-inner\"\n class=\"${prefix}--masthead__l1-menu-container-inner\">\n <ul part=\"l1-menu\" class=\"${prefix}--masthead__l1-menu\">\n ${(menuItems ?? []).map((menuItem) =>\n this._renderL1TopNavDropDowns(menuItem)\n )}\n </ul>\n </div>\n <button\n part=\"l1-menu-container-scroller\"\n class=\"${prefix}--masthead__l1-menu-container-scroller\"\n id=\"scroll-next\"\n @click=${scrollL1TopNav}>\n <div\n part=\"l1-menu-container-scroller-inner\"\n class=\"${prefix}--masthead__l1-menu-container-scroller-inner\">\n ${direction === 'ltr' ? CaretRight20() : CaretLeft20()}\n </div>\n </button>\n </div>\n ${login && login.url && login.title\n ? html`\n <div\n part=\"masthead-background-wrapper\"\n class=\"${prefix}--masthead__background-wrapper\">\n <a\n part=\"masthead-l1-login\"\n class=\"${prefix}--masthead__l1-login\"\n href=\"${ifDefined(login.url)}\"\n >${login.title}</a\n >\n </div>\n `\n : ''}\n ${this._renderCta()}\n <div\n part=\"masthead-l1-menu-container-mask\"\n class=\"${prefix}--masthead__l1-menu-container-mask ${prefix}--masthead__l1-menu-container-mask--end\"></div>\n `;\n }\n\n /**\n * Renders L1MenuItems with subsections containing announcements, headings, links, and footers.\n *\n * @param {_L1MenuItem} menuItem Array of menu items containing subnavs\n * @returns {_TemplateResult} rendered output\n */\n protected _renderL1TopNavDropDowns(menuItem) {\n const {\n _toggleSubsection: toggleSubsection,\n _handleTopNavFocusIn: handleTopNavFocusIn,\n } = this;\n const { title, url, target, submenu } = menuItem;\n\n if (!submenu && url) {\n return html`\n <li part=\"masthead-l1-item\">\n <a\n part=\"masthead-l1-item-link\"\n class=\"${prefix}--masthead__l1-item\"\n href=\"${url}\"\n target=\"${target}\"\n @focusin=${handleTopNavFocusIn}\n >${title}</a\n >\n </li>\n `;\n } else if (!submenu) {\n return html`\n <li part=\"masthead-l1-item\">\n <span\n part=\"masthead-l1-item-span\"\n class=\"${prefix}--masthead__l1-item\"\n @focusin=${handleTopNavFocusIn}\n >${title}</span\n >\n </li>\n `;\n }\n\n const { announcement, menuSections, footer, columns } = submenu ?? {};\n\n // 3-column dropdown has option for 33/66 split.\n const hasWideColumn =\n columns === 3 ? menuSections.some((section) => section.span > 1) : false;\n\n // Split can be 33/66 or 66/33.\n const wideColumnFirst = menuSections[0].span > 1;\n\n const wideColumns = menuSections.filter((section) => section.span > 1);\n const normalColumns = menuSections.filter((section) => !(section.span > 1));\n const dropdownClasses = classMap({\n [`${prefix}--masthead__l1-dropdown-links`]: true,\n [`${prefix}--masthead__l1-dropdown--has-column-wide`]: hasWideColumn,\n });\n\n return html`\n <li\n part=\"masthead-l1-item\"\n @focusout=${handleDropdownClose}\n @keydown=${handleDropdownClose}\n tabindex=\"-1\">\n <button\n part=\"masthead-l1-item-button\"\n class=\"${prefix}--masthead__l1-item\"\n @click=${toggleSubsection}\n @focusin=${handleTopNavFocusIn}>\n ${title}${ChevronDown16()}\n </button>\n <div\n part=\"l1-dropdown\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown ${prefix}--masthead__l1-dropdown__${columns}-col\">\n ${announcement\n ? html`<div\n part=\"l1-dropdown-announcement\"\n class=\"${prefix}--masthead__l1-dropdown-announcement\">\n ${unsafeHTML(announcement)}\n </div>`\n : ''}\n <div part=\"l1-dropdown-links\" class=\"${dropdownClasses}\">\n ${hasWideColumn && wideColumnFirst\n ? this._renderL1DropdownSections(wideColumns, hasWideColumn, true)\n : ''}\n ${this._renderL1DropdownSections(\n normalColumns,\n hasWideColumn,\n false\n )}\n ${hasWideColumn && !wideColumnFirst\n ? this._renderL1DropdownSections(wideColumns, hasWideColumn, true)\n : ''}\n </div>\n ${footer\n ? html`<a\n part=\"l1-dropdown-viewall\"\n class=\"${prefix}--masthead__l1-dropdown-viewall\"\n href=\"${footer.url}\"\n >${footer.title}${this.Arrow16()}</a\n >`\n : ''}\n </div>\n </li>\n `;\n }\n\n /**\n *\n * @param {_L1SubmenuSection[]} sections the sections to render.\n * @param {boolean} hasWide if this column will be rendered as or next to a wide column.\n * @param {boolean} isWide if this column will be rendered as a wide column.\n * @returns rendered markup\n */\n protected _renderL1DropdownSections(sections, hasWide, isWide) {\n const renderedSections = sections.map((section) => {\n const { heading, items } = section;\n\n return html`\n <div\n part=\"l1-dropdown-section\"\n class=\"${prefix}--masthead__l1-dropdown-section\">\n ${heading ? html`${this._renderL1SubSectionHeading(heading)}` : ''}\n ${items\n ? html` <ul\n part=\"l1-dropdown-menu-items\"\n class=\"${prefix}--masthead__l1-dropdown-menu-items\">\n ${items.map((item) => {\n const { title, url, target, description } = item;\n\n const linkContents = description\n ? html`\n <span\n part=\"l1-dropdown-item-title-span\"\n class=\"${prefix}--masthead__l1-dropdown-item-title\"\n >${title}</span\n >\n <span\n part=\"l1-dropdown-item-description-span\"\n class=\"${prefix}--masthead__l1-dropdown-item-description\"\n >${description}</span\n >\n `\n : html` ${title} `;\n\n return html`\n <li part=\"l1-dropdown-menu-item\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${url}\"\n target=\"${target}\">\n ${linkContents}\n </a>\n </li>\n `;\n })}\n </ul>`\n : ''}\n </div>\n `;\n });\n\n const classes = classMap({\n [`${prefix}--masthead__l1-dropdown-column-narrow`]: hasWide && !isWide,\n [`${prefix}--masthead__l1-dropdown-column-wide`]: hasWide && isWide,\n });\n return hasWide\n ? html`<div\n class=${classes}\n part=\"dropdown-column${hasWide && !isWide\n ? ' dropdown-column--narrow'\n : hasWide && isWide\n ? ' dropdown-column--wide'\n : ''}\">\n ${renderedSections}\n </div>`\n : html`${renderedSections}`;\n }\n\n /**\n * Renders L1 for mobile screensizes.\n *\n * @returns {_TemplateResult} L1 for mobile screensizes.\n */\n protected _renderL1MobileNav() {\n const { l1Data, overviewText } = this;\n const { url, title, actions, menuItems } = l1Data ?? {};\n const { cta, login } = actions ?? {};\n\n const { _toggleSubsection: toggleSubsection } = this;\n\n return html`\n <button\n part=\"l1-title-button\"\n class=\"${prefix}--masthead__l1-title\"\n @click=${toggleSubsection}>\n ${title}${ChevronDown16()}\n </button>\n <ul\n part=\"l1-dropdown\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown\">\n ${url\n ? html` <li part=\"dropdown-item-li\">\n <a\n part=\"l1-dropdown-item\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${url}\">\n ${overviewText}\n </a>\n </li>`\n : ''}\n ${menuItems?.map((menuItem) => this._renderL1MobileSubnav(menuItem))}\n ${login && login.url && login.title\n ? html` <li part=\"dropdown-login-link-li\">\n <a\n part=\"l1-dropdown-login-link\"\n class=\"${prefix}--masthead__l1-dropdown-login\"\n href=\"${ifDefined(login.url)}\">\n ${login.title}${this.Arrow16()}\n </a>\n </li>`\n : ''}\n ${cta ? html`<li part=\"cta-li\">${this._renderCta()}</li>` : ''}\n </ul>\n `;\n }\n\n /**\n * Renders L1MenuItems with subsections containing announcements, headings, links, and footers.\n *\n * @param {_L1MenuItem} menuItem Array of menu items containing subnavs\n * @returns {_TemplateResult} rendered output\n */\n protected _renderL1MobileSubnav(menuItem) {\n const { _toggleSubsection: toggleSubsection } = this;\n const { title, target, url, submenu } = menuItem;\n\n if (!submenu && url) {\n return html`\n <li part=\"dropdown-item-link-li\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n target=\"${target}\"\n href=\"${url}\"\n >${title}</a\n >\n </li>\n `;\n } else if (!submenu) {\n return html`\n <li part=\"dropdown-item-span-li\">\n <span\n part=\"l1-dropdown-item-span\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n >${title}</span\n >\n </li>\n `;\n }\n\n const { announcement, menuSections, footer } = submenu ?? {};\n\n return html`\n <li part=\"dropdown-item-button-li\">\n <button\n part=\"l1-dropdown-item-button\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n @click=${toggleSubsection}>\n ${title}${ChevronDown16()}\n </button>\n <div\n part=\"l1-dropdown-subsection\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown-subsection\">\n ${announcement\n ? html`<div\n part=\"l1-dropdown-announcement\"\n class=\"${prefix}--masthead__l1-dropdown-announcement\">\n ${unsafeHTML(announcement)}\n </div>`\n : ''}\n ${menuSections\n ? menuSections.map((section) => {\n const { heading, items } = section;\n\n return html`\n ${heading\n ? html`${this._renderL1SubSectionHeading(heading)}`\n : ''}\n ${items\n ? html` <ul part=\"l1-dropdown-item-ul\">\n ${items.map((item) => {\n const { title, url, target } = item;\n\n return html` <li part=\"l1-dropdown-item-li\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n target=\"${target}\"\n href=\"${url}\">\n ${title}\n </a>\n </li>`;\n })}\n </ul>`\n : ''}\n `;\n })\n : ''}\n ${footer\n ? html`\n <a part=\"l1-dropdown-viewall\"\n class=\"${prefix}--masthead__l1-dropdown-viewall\"\n href=\"${footer.url}\"\n >\n ${footer.title}${this.Arrow16()}\n </li>`\n : ''}\n </div>\n </li>\n `;\n }\n\n /**\n * Toggles the mobile navigation subsection.\n *\n * @param {PointerEvent} event The click event from the user\n */\n protected _toggleSubsection(event: PointerEvent) {\n const { isMobileVersion } = this;\n const { dropDownToggleEvent } = this.constructor as typeof C4DMastheadL1;\n const { currentTarget } = event;\n const button = currentTarget as HTMLElement;\n const dropdown = button.parentNode?.querySelector(\n '[data-dropdown-target]'\n ) as HTMLElement;\n const isOpen = dropdown?.classList.contains('is-open');\n\n if (!isMobileVersion && dropdown && !isOpen) {\n // Get Button & Dropdown locations & widths\n const buttonRect = button.getBoundingClientRect().toJSON();\n const dropdownRect = dropdown.getBoundingClientRect().toJSON();\n const viewportWidth = window.innerWidth;\n const isLTR =\n window.getComputedStyle(this).direction.toUpperCase() === 'LTR';\n const dirMultiplier = isLTR ? -1 : 1;\n\n // Set logical bounding client rect properties\n buttonRect.inlineStart = isLTR\n ? buttonRect.left\n : viewportWidth - buttonRect.right;\n buttonRect.inlineEnd = isLTR\n ? buttonRect.right\n : viewportWidth - buttonRect.left;\n dropdownRect.inlineStart = isLTR\n ? dropdownRect.left\n : viewportWidth - dropdownRect.right;\n dropdownRect.inlineEnd = isLTR\n ? dropdownRect.right\n : viewportWidth - dropdownRect.left;\n\n // What would the left/right boundaries be if we centered the dropdown?\n const startBoundaryIfCentered = (viewportWidth - dropdownRect.width) / 2;\n const endBoundaryIfCentered =\n startBoundaryIfCentered + dropdownRect.width;\n\n // If start-aligning to button doesn't overflow viewport.\n if (buttonRect.inlineStart + dropdownRect.width < viewportWidth) {\n // Do nothing, the styles are fine.\n }\n\n // If center-aligning to viewport fully intersects with button.\n else if (\n startBoundaryIfCentered < buttonRect.inlineStart &&\n endBoundaryIfCentered > buttonRect.inlineEnd\n ) {\n const translationAmount =\n (buttonRect.inlineStart - startBoundaryIfCentered) * dirMultiplier;\n dropdown.style.translate = `${translationAmount}px`;\n }\n\n // Fallback: right align to button.\n else {\n const translationAmount =\n (dropdownRect.width - buttonRect.width) * dirMultiplier;\n dropdown.style.translate = `${translationAmount}px`;\n }\n\n // Ensure dropdown doesn't overflow viewport vertically.\n const viewportHeight = window.innerHeight;\n const maxHeight = viewportHeight - dropdownRect.top;\n dropdown.style.maxHeight = `calc(${maxHeight}px - 4rem)`;\n }\n\n this.dispatchEvent(\n new CustomEvent(dropDownToggleEvent, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n isOpen: !isOpen,\n },\n })\n );\n\n this.active = !isOpen;\n button.classList.toggle('is-open', !isOpen);\n dropdown.classList.toggle('is-open', !isOpen);\n }\n\n /**\n * \"Scrolls\" the top nav in cases where elements are focused but not fully visible.\n *\n * @param event The focus event\n */\n protected _handleTopNavFocusIn(event: FocusEvent) {\n const { menuContainerInner, menu } = this;\n const { target } = event;\n\n const containerBox = menuContainerInner!.getBoundingClientRect();\n const buttonBox = (target as HTMLElement).getBoundingClientRect();\n\n const leftOverflow = Math.max(containerBox.left - buttonBox.left, 0);\n const rightOverflow = Math.max(buttonBox.right - containerBox.right, 0);\n\n if (leftOverflow || rightOverflow) {\n const computedScroll = parseInt(window.getComputedStyle(menu!).translate);\n const currentScroll = !Number.isNaN(computedScroll) ? computedScroll : 0;\n let newScroll = currentScroll;\n\n if (rightOverflow) {\n newScroll = currentScroll - rightOverflow;\n }\n\n if (leftOverflow) {\n newScroll = currentScroll + leftOverflow;\n }\n\n menu!.style.translate = `${newScroll}px`;\n }\n }\n\n /**\n * Sets active menu item styles.\n */\n protected _handleSelectedMenuItem() {\n const { selectedMenuItem, currentUrlPath } = this;\n\n const menuItems = Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll(\n `.${prefix}--masthead__l1-item, .${prefix}--masthead__l1-dropdown-item`\n )\n );\n const allLinks = Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll('a')\n );\n\n // Reset all selected elements.\n Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll('[active]')\n ).forEach((el) => el?.removeAttribute('active'));\n this.selectedElements = [];\n\n // Check for manually set selected item.\n if (selectedMenuItem) {\n this.selectedElements = [...menuItems, ...allLinks].filter(\n (el) =>\n el.textContent?.trim()?.toLowerCase() ===\n selectedMenuItem.trim().toLowerCase()\n );\n }\n // Fall back to automated selection based on URL.\n else {\n this.selectedElements = allLinks.filter(\n (el) => el.href === currentUrlPath\n );\n }\n\n if (this.selectedElements.length) {\n // Set active on nearest menu item.\n this.selectedElements.forEach((element) => {\n const parentMenuItem = element.closest(\n `.${prefix}--masthead__l1-dropdown, .${prefix}--masthead__l1-dropdown-subsection`\n )?.previousElementSibling;\n\n // Set on parent item as long as it's not the dropdown toggle.\n if (\n parentMenuItem &&\n !parentMenuItem?.classList?.contains(`bx--masthead__l1-title`)\n ) {\n parentMenuItem?.setAttribute('active', '');\n } else {\n element.setAttribute('active', '');\n }\n });\n } else {\n // Should default to active section name if no menu links are selected.\n const l1Title = this.shadowRoot?.querySelector(\n `.${prefix}--masthead__l1-title`\n ) as Element;\n l1Title.setAttribute('active', '');\n this.selectedElements.push(l1Title);\n }\n }\n\n /**\n * Renders a heading object in the proper <H#> element.\n *\n * @param heading The heading object to be rendered.\n * @returns {_TemplateResult} Rendered heading.\n */\n protected _renderL1SubSectionHeading(heading: L1SubmenuSectionHeading) {\n const { isMobileVersion } = this;\n\n const headingDesc =\n !isMobileVersion && heading.description\n ? html`<span class=\"${prefix}--masthead__l1-dropdown-heading-desc\"\n >${heading.description}</span\n >`\n : '';\n\n const headingContent = heading.url\n ? html`\n <a\n part=\"l1-dropdown-item-link l1-dropdown-item-link--heading\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${heading.url}\">\n ${heading.title}${isMobileVersion ? this.Arrow16() : this.Arrow20()}\n </a>\n `\n : html` ${heading.title} `;\n\n const headingClasses = classMap({\n [`${prefix}--masthead__l1-dropdown-heading`]: true,\n [`${prefix}--masthead__l1-dropdown-heading--no-link`]:\n Boolean(heading.url) === false,\n });\n\n let renderedHeading = headingContent;\n switch (heading.headingLevel) {\n case 2:\n renderedHeading = html`\n <h2 part=\"masthead-l1-h2-heading\" class=${headingClasses}>\n ${headingContent}\n </h2>\n ${headingDesc}\n `;\n break;\n case 3:\n renderedHeading = html`\n <h3 part=\"masthead-l1-h3-heading\" class=${headingClasses}>\n ${headingContent}\n </h3>\n ${headingDesc}\n `;\n break;\n case 4:\n renderedHeading = html`\n <h4 part=\"masthead-l1-h4-heading\" class=${headingClasses}>\n ${headingContent}\n </h4>\n ${headingDesc}\n `;\n break;\n case 5:\n renderedHeading = html`\n <h5 part=\"masthead-l1-h5-heading\" class=${headingClasses}>\n ${headingContent}\n </h5>\n ${headingDesc}\n `;\n break;\n case 6:\n renderedHeading = html`\n <h6 part=\"masthead-l1-h6-heading\" class=${headingClasses}>\n ${headingContent}\n </h6>\n ${headingDesc}\n `;\n break;\n default:\n renderedHeading = headingContent;\n }\n\n return renderedHeading;\n }\n\n protected firstUpdated() {\n this.style.setProperty(\n '--scrollbarWidth',\n window.innerWidth - document.documentElement.clientWidth + 'px'\n );\n\n // Allows component conditions on breakpoint change\n layoutBreakpoint.addEventListener('change', () => {\n this.isMobileVersion = layoutBreakpoint.matches;\n });\n\n if (this.isMobileVersion) {\n this._createScrollObserver();\n }\n\n this.direction = window.getComputedStyle(this).direction;\n }\n\n protected updated(changedProperties) {\n if (changedProperties.has('selectedMenuItem')) {\n this._handleSelectedMenuItem();\n }\n if (changedProperties.has('isMobileVersion')) {\n if (this.isMobileVersion) {\n // Stop observing, delete the observer.\n this.scrollObserver?.disconnect();\n this.scrollObserver = undefined;\n } else {\n // Creat observer, start observing.\n this._createScrollObserver();\n }\n\n this._handleSelectedMenuItem();\n }\n }\n\n render() {\n const { isMobileVersion } = this;\n return html`\n <div\n part=\"masthead-l1-inner-container\"\n class=\"${prefix}--masthead__l1-inner-container\">\n ${isMobileVersion\n ? html` ${this._renderL1MobileNav()} `\n : html` ${this._renderL1TopNav()} `}\n </div>\n `;\n }\n\n /**\n * Creates CTA markup and slots it into the L1.\n *\n * @param {L1CtaLink} cta L1 CTA data object\n * @returns A template fragment representing an L1 CTA or an empty string.\n */\n static renderL1Cta(cta: L1CtaLink): _TemplateResult | string {\n const { url, ctaType } = cta;\n const slottedText = html`<span slot=\"cta-text\">${cta?.title}</span>`;\n if (ctaType) {\n return html`\n <c4d-masthead-l1-cta slot=\"l1-cta\" type=\"${ctaType}\">\n ${slottedText}\n </c4d-masthead-l1-cta>\n `;\n }\n if (url) {\n return html`\n <c4d-masthead-l1-cta slot=\"l1-cta\" href=\"${url}\">\n ${slottedText}\n </c4d-masthead-l1-cta>\n `;\n }\n return '';\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead__l1`;\n }\n\n static get dropDownToggleEvent() {\n return `${c4dPrefix}-masthead-l1-dropdown-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMastheadL1;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"masthead-l1.js","names":["html","LitElement","property","query","queryAll","state","root","settings","StableSelectorMixin","styles","ifDefined","unsafeHTML","ChevronDown16","ArrowRight16","ArrowRight20","ArrowLeft16","ArrowLeft20","CaretLeft20","CaretRight20","classMap","layoutBreakpoint","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","handleDropdownClose","event","_target$querySelector","currentTarget","target","openDropdowns","Array","from","querySelectorAll","length","type","code","_target$firstElementC","forEach","el","classList","remove","firstElementChild","focus","relatedTarget","hasUnknownTargets","focusHasEscaped","comparison","compareDocumentPosition","C4DMastheadL1","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","reflect","Boolean","key","value","_root$location","location","href","matches","isRTL","document","dir","toLowerCase","toggleScrollButtons","scrollObserverThrottler","_this$l1Data$menuItem","_this$l1Data","menu","menuContainerInner","menuFirstItem","menuLastItem","menuScrollerButtons","menuItems","l1Data","button","setAttribute","firstItemBox","getBoundingClientRect","lastItemBox","menuLeft","Math","min","left","menuRight","max","right","menuWidth","containerWidth","width","removeAttribute","style","translate","currentScroll","parseInt","maxScroll","setTimeout","undefined","_createScrollObserver","scrollObserver","ResizeObserver","bind","observe","_scrollL1TopNav","direction","minTranslationValue","clientWidth","maxTranslationValue","buttonDirMultiplier","id","writingDirMultiplier","computedScroll","window","getComputedStyle","Number","isNaN","newScroll","cappedValue","_renderCta","_t","_","_renderL1TopNav","scrollL1TopNav","url","title","actions","login","_t2","_t3","map","menuItem","_renderL1TopNavDropDowns","_t4","_toggleSubsection","toggleSubsection","_handleTopNavFocusIn","handleTopNavFocusIn","submenu","_t5","_t6","announcement","menuSections","footer","columns","hasWideColumn","some","section","span","wideColumnFirst","wideColumns","filter","normalColumns","dropdownClasses","_t7","_t8","_renderL1DropdownSections","_t9","Arrow16","sections","hasWide","isWide","renderedSections","heading","items","_t10","_t11","_renderL1SubSectionHeading","_t12","item","description","linkContents","_t13","_t14","_t15","classes","_t16","_t17","_renderL1MobileNav","overviewText","cta","_t18","_t19","_renderL1MobileSubnav","_t20","_t21","_t22","_t23","_t24","_t25","_t26","_t27","_t28","_t29","_t30","_button$parentNode","isMobileVersion","dropDownToggleEvent","dropdown","parentNode","querySelector","isOpen","contains","buttonRect","toJSON","dropdownRect","viewportWidth","innerWidth","isLTR","toUpperCase","dirMultiplier","inlineStart","inlineEnd","startBoundaryIfCentered","endBoundaryIfCentered","translationAmount","viewportHeight","innerHeight","maxHeight","top","dispatchEvent","CustomEvent","bubbles","composed","cancelable","detail","active","toggle","containerBox","buttonBox","leftOverflow","rightOverflow","_handleSelectedMenuItem","selectedMenuItem","currentUrlPath","shadowRoot","allLinks","selectedElements","_el$textContent","textContent","trim","elURL","URL","currURL","host","pathname","_error","element","_element$closest","_parentMenuItem$class","parentMenuItem","closest","previousElementSibling","_this$shadowRoot","l1Title","push","headingDesc","_t31","headingContent","_t32","Arrow20","_t33","headingClasses","renderedHeading","headingLevel","_t34","_t35","_t36","_t37","_t38","firstUpdated","setProperty","documentElement","addEventListener","updated","changedProperties","has","_this$scrollObserver","disconnect","render","_t39","_t40","_t41","static","renderL1Cta","ctaType","slottedText","_t42","_t43","_t44"],"sources":["components/masthead/masthead-l1.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 { TemplateResult as _TemplateResult, html, LitElement } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport root from 'window-or-global';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport styles from './masthead-l1.scss';\nimport {\n L1MenuItem as _L1MenuItem,\n L1SubmenuSection as _L1SubmenuSection,\n L1CtaLink,\n L1SubmenuSectionHeading,\n MastheadL1,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport ChevronDown16 from '@carbon/web-components/es/icons/chevron--down/16.js';\nimport ArrowRight16 from '@carbon/web-components/es/icons/arrow--right/16.js';\nimport ArrowRight20 from '@carbon/web-components/es/icons/arrow--right/20.js';\nimport ArrowLeft16 from '@carbon/web-components/es/icons/arrow--left/16.js';\nimport ArrowLeft20 from '@carbon/web-components/es/icons/arrow--left/20.js';\nimport CaretLeft20 from '@carbon/web-components/es/icons/caret--left/20.js';\nimport CaretRight20 from '@carbon/web-components/es/icons/caret--right/20.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport layoutBreakpoint from './masthead-breakpoint';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\nfunction handleDropdownClose(event: FocusEvent | KeyboardEvent) {\n const { currentTarget } = event;\n const target = currentTarget as HTMLElement | null;\n const openDropdowns = Array.from(target?.querySelectorAll('.is-open') ?? []);\n\n if (openDropdowns.length) {\n switch (event.type) {\n case 'keydown': {\n const { code } = event as KeyboardEvent;\n if (code === 'Escape') {\n openDropdowns.forEach((el) => {\n el.classList.remove('is-open');\n });\n\n (target?.firstElementChild as HTMLElement)?.focus();\n }\n break;\n }\n case 'focusout': {\n const { relatedTarget } = event as FocusEvent;\n const hasUnknownTargets = !relatedTarget || !currentTarget;\n let focusHasEscaped = false;\n\n if (!hasUnknownTargets) {\n const comparison = (relatedTarget as Node).compareDocumentPosition(\n currentTarget as Node\n );\n\n focusHasEscaped =\n !(comparison & 8) && // relatedTarget is not ancestor of currentTarget\n relatedTarget !== currentTarget;\n }\n\n if (hasUnknownTargets || focusHasEscaped) {\n openDropdowns.forEach((el) => {\n el.classList.remove('is-open');\n });\n }\n\n break;\n }\n default:\n break;\n }\n }\n}\n\n/**\n * Masthead.\n *\n * @element c4d-masthead-l1\n * @csspart l1-menu-container-inner - The container that wraps the L1 menu items for scrolling purposes. Usage: `c4d-masthead-l1::part(l1-menu-container-inner)`\n * @csspart masthead-l1-menu - The container element for the L1 menu items. Usage: `c4d-masthead-l1::part(masthead-l1-menu)`\n * @csspart l1-menu-first-item - The first item in the L1 menu. Usage: `c4d-masthead-l1::part(l1-menu-first-item)`\n * @csspart l1-menu-last-item - The last item in the L1 menu. Usage: `c4d-masthead-l1::part(l1-menu-last-item)`\n * @csspart l1-menu-container-scroller - The buttons used for scrolling the L1 menu items. Usage: `c4d-masthead-l1::part(l1-menu-container-scroller)`\n * @csspart l1-title-button - The title button in the L1 masthead. Usage: `c4d-masthead-l1::part(l1-title-button)`\n * @csspart l1-dropdown - The dropdown items in the L1 masthead. Usage: `c4d-masthead-l1::part(l1-dropdown)`\n * @csspart l1-dropdown-viewall - The \"view all\" link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-viewall)`\n * @csspart l1-dropdown-announcement - The announcement in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-announcement)`\n * @csspart l1-dropdown-section - The sections in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-section)`\n * @csspart l1-dropdown-menu-items - The menu items in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-menu-items)`\n * @csspart l1-dropdown-menu-item - A single menu item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-menu-item)`\n * @csspart l1-dropdown-item-ul - The item list in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-ul)`\n * @csspart l1-dropdown-item-li - The list item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-li)`\n * @csspart l1-dropdown-item-link - The item link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item-link)`\n * @csspart l1-dropdown-item-link--heading - The item link in the L1 dropdown that wraps headings. Usage: `c4d-masthead-l1::part(l1-dropdown-item-link--heading)`\n * @csspart l1-dropdown-subsection - The subsection in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-subsection)`\n * @csspart l1-dropdown-item - The dropdown item in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-item)`\n * @csspart l1-dropdown-login-link - The login link in the L1 dropdown. Usage: `c4d-masthead-l1::part(l1-dropdown-login-link)`\n * @csspart l1-dropdown-links - A group of l1 dropdown links. Usage: `c4d-masthead-l1::part(l1-dropdown-links)`\n * @csspart dropdown-item-li - The li element for the dropdown item. Usage: `c4d-masthead-l1::part(dropdown-item-li)`\n * @csspart dropdown-login-link-li - The li element for the login link. Usage: `c4d-masthead-l1::part(dropdown-login-link-li)`\n * @csspart cta-li - The li element for the cta. Usage: `c4d-masthead-l1::part(cta-li)`\n * @csspart dropdown-item-link-li - The li element for the dropdown item link. Usage: `c4d-masthead-l1::part(dropdown-item-link-li)`\n * @csspart dropdown-item-span-li - The li element for the dropdown item span. Usage: `c4d-masthead-l1::part(dropdown-item-span-li)`\n * @csspart dropdown-item-button-li - The li element for the dropdown item button. Usage: `c4d-masthead-l1::part(dropdown-item-button-li)`\n * @csspart dropdown-column - The dropdown column container. Usage: `c4d-masthead-l1::part(dropdown-column)\n * @csspart dropdown-column--narrow - The dropdown column narrow modifier. Usage: `c4d-masthead-l1::part(dropdown-column--narrow)\n * @csspart dropdown-column--wide - The dropdown column wide modifier. Usage: `c4d-masthead-l1::part(dropdown-column--wide)\n * @slot brand - The left hand area.\n * @slot nav - The nav content.\n * @slot profile - The right hand area.\n */\n@customElement(`${c4dPrefix}-masthead-l1`)\nclass C4DMastheadL1 extends StableSelectorMixin(LitElement) {\n /**\n * Whether an L1 menu is open or not.\n */\n @property({ attribute: 'active', reflect: true, type: Boolean })\n active = false;\n\n /**\n * The L1 menu data, passed from the masthead-composite.\n */\n @property()\n l1Data?: MastheadL1;\n\n /**\n * The URL path of the current document root.\n */\n @property()\n currentUrlPath?: string = root.location?.href;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem?: string;\n\n /**\n * Whether the current viewport is below 800px or not\n */\n @state()\n isMobileVersion = layoutBreakpoint.matches;\n\n /**\n * Elements that are currently selected.\n */\n @state()\n selectedElements: Element[] = [];\n\n /**\n * The translated label for the overview links visible on mobile\n */\n @property({ attribute: 'overview-text' })\n overviewText = 'Overview';\n\n /**\n * The writing direction of the page\n */\n @property()\n direction = '';\n\n /**\n * The x-scrolling element wrapping the L1 top-level items\n */\n @query(`.${prefix}--masthead__l1-menu-container-inner`)\n menuContainerInner?: HTMLElement;\n\n @query(`.${prefix}--masthead__l1-menu`)\n menu?: HTMLElement;\n\n /**\n * The first top-level menu items\n */\n @query(`.${prefix}--masthead__l1-menu > *:first-child`)\n menuFirstItem?: HTMLElement;\n\n /**\n * The last top-level menu items\n */\n @query(`.${prefix}--masthead__l1-menu > *:last-child`)\n menuLastItem?: HTMLElement;\n\n /**\n * The buttons that scroll the top-level menu items\n */\n @queryAll(`.${prefix}--masthead__l1-menu-container-scroller`)\n menuScrollerButtons?: NodeListOf<HTMLButtonElement>;\n\n protected get Arrow16() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft16 : ArrowRight16;\n }\n\n protected get Arrow20() {\n const isRTL = document.dir.toLowerCase() === 'rtl';\n return isRTL ? ArrowLeft20 : ArrowRight20;\n }\n\n /**\n * Resize Observer responsible for show/hiding the scrolling buttons.\n */\n protected scrollObserver?: ResizeObserver;\n\n /**\n * Prevents resize observer from blocking main thread.\n */\n protected scrollObserverThrottler?: NodeJS.Timeout;\n\n /**\n * ResizeObserver callback method\n */\n protected toggleScrollButtons() {\n // Resize events happen rapidly. We need to throttle this functionality.\n if (!this.scrollObserverThrottler) {\n const {\n menu,\n menuContainerInner,\n menuFirstItem,\n menuLastItem,\n menuScrollerButtons,\n } = this;\n\n // Only act if all the needed elements are present.\n const menuItems = this.l1Data?.menuItems ?? [];\n if (menuItems.length === 0) {\n menuScrollerButtons?.forEach((button) => {\n button.setAttribute('hidden', '');\n });\n } else if (\n menuFirstItem &&\n menuLastItem &&\n menuContainerInner &&\n menuScrollerButtons\n ) {\n // Find first & last items, calculate width between outer boundaries.\n const firstItemBox = menuFirstItem.getBoundingClientRect();\n const lastItemBox = menuLastItem.getBoundingClientRect();\n const menuLeft = Math.min(firstItemBox.left, lastItemBox.left);\n const menuRight = Math.max(firstItemBox.right, lastItemBox.right);\n const menuWidth = menuRight - menuLeft;\n const containerWidth =\n menuContainerInner?.getBoundingClientRect().width;\n\n // If we overflow the container, show buttons.\n if (menuWidth > containerWidth) {\n menuScrollerButtons.forEach((button) => {\n button.removeAttribute('hidden');\n });\n\n if (menu?.style.translate) {\n const currentScroll = parseInt(menu.style.translate);\n const maxScroll = containerWidth - menuWidth;\n\n menu.style.translate = `${Math.max(currentScroll, maxScroll)}px`;\n }\n }\n // If we don't, hide the buttons.\n else {\n menuScrollerButtons.forEach((button) => {\n button.setAttribute('hidden', '');\n });\n\n // Remove any translations we've used to mimic scrolling.\n if (menu) {\n menu.style.translate = '';\n }\n }\n }\n\n // Prevent this functionality from running again until the time threshold has passed.\n this.scrollObserverThrottler = setTimeout(() => {\n this.scrollObserverThrottler = undefined;\n }, 100);\n }\n }\n\n /**\n * Creates resize observer on load/update when above mobile breakpoint.\n */\n protected _createScrollObserver() {\n const { menuContainerInner, toggleScrollButtons } = this;\n this.scrollObserver = new ResizeObserver(toggleScrollButtons.bind(this));\n\n if (menuContainerInner) {\n this.scrollObserver.observe(menuContainerInner);\n }\n }\n\n /**\n * Scrolls the menu inner container on click.\n *\n * @param event The button click\n */\n protected _scrollL1TopNav(event: PointerEvent) {\n const { currentTarget } = event;\n const { menuContainerInner, menu, direction } = this;\n\n if (!menu || !menuContainerInner) {\n return;\n }\n\n // Valid translations will exist between 0 and a some negative value.\n const minTranslationValue =\n (menu.clientWidth - menuContainerInner.clientWidth) * -1;\n const maxTranslationValue = 0;\n\n // Use a 1/-1 multiplier to account for correct button\n let buttonDirMultiplier;\n switch ((currentTarget as HTMLElement).id) {\n // \"Next\" button should pull menu toward 0\n case 'scroll-next':\n buttonDirMultiplier = -1;\n break;\n // \"Prev\" button should push menu away from 0\n case 'scroll-prev':\n buttonDirMultiplier = 1;\n break;\n default:\n buttonDirMultiplier = 0;\n break;\n }\n\n // Use a 1/-1 multiplier to account for writing direction\n let writingDirMultiplier;\n switch (direction) {\n // LTR is inline with x-axis\n case 'ltr':\n writingDirMultiplier = 1;\n break;\n // RTL must invert x-axis\n case 'rtl':\n writingDirMultiplier = -1;\n break;\n default:\n writingDirMultiplier = 0;\n break;\n }\n\n // Get current translation value\n const computedScroll = parseInt(window.getComputedStyle(menu).translate);\n const currentScroll = !Number.isNaN(computedScroll) ? computedScroll : 0;\n\n // Adjust translation value by adding/subtracting the width of the visible menu\n const newScroll =\n currentScroll +\n menuContainerInner.clientWidth *\n buttonDirMultiplier *\n writingDirMultiplier;\n\n // Cap the value to avoid over-translation to either side\n const cappedValue = Math.max(\n minTranslationValue,\n Math.min(maxTranslationValue, newScroll)\n );\n\n menu.style.translate = `${cappedValue}px`;\n }\n\n /**\n * Renders the L1 CTA.\n *\n * @returns {_TemplateResult} A template fragment representing the L1 CTA\n */\n protected _renderCta(): _TemplateResult | '' {\n return html`<slot name=\"l1-cta\"></slot>`;\n }\n\n /**\n * Renders L1 for desktop screensizes\n *\n * @returns {_TemplateResult} L1 for desktop screensizes\n */\n protected _renderL1TopNav() {\n const { l1Data, direction, _scrollL1TopNav: scrollL1TopNav } = this;\n const { url, title, actions, menuItems } = l1Data ?? {};\n const { login } = actions ?? {};\n\n return html`\n <div\n part=\"masthead-l1-menu-container-mask\"\n class=\"${prefix}--masthead__l1-menu-container-mask ${prefix}--masthead__l1-menu-container-mask--start\"></div>\n ${!title || !url\n ? undefined\n : html`\n <div\n part=\"masthead-background-wrapper\"\n class=\"${prefix}--masthead__background-wrapper\">\n <a\n part=\"masthead-l1-title\"\n class=\"${prefix}--masthead__l1-title\"\n href=\"${url}\"\n >${title}</a\n >\n </div>\n `}\n <div\n part=\"masthead-l1-menu-container-outer\"\n class=\"${prefix}--masthead__l1-menu-container-outer\">\n <button\n part=\"l1-menu-container-scroller-button\"\n class=\"${prefix}--masthead__l1-menu-container-scroller\"\n id=\"scroll-prev\"\n @click=${scrollL1TopNav}>\n <div\n part=\"l1-menu-container-scroller-inner\"\n class=\"${prefix}--masthead__l1-menu-container-scroller-inner\">\n ${direction === 'ltr' ? CaretLeft20() : CaretRight20()}\n </div>\n </button>\n <div\n part=\"l1-menu-container-inner\"\n class=\"${prefix}--masthead__l1-menu-container-inner\">\n <ul part=\"l1-menu\" class=\"${prefix}--masthead__l1-menu\">\n ${(menuItems ?? []).map((menuItem) =>\n this._renderL1TopNavDropDowns(menuItem)\n )}\n </ul>\n </div>\n <button\n part=\"l1-menu-container-scroller\"\n class=\"${prefix}--masthead__l1-menu-container-scroller\"\n id=\"scroll-next\"\n @click=${scrollL1TopNav}>\n <div\n part=\"l1-menu-container-scroller-inner\"\n class=\"${prefix}--masthead__l1-menu-container-scroller-inner\">\n ${direction === 'ltr' ? CaretRight20() : CaretLeft20()}\n </div>\n </button>\n </div>\n ${login && login.url && login.title\n ? html`\n <div\n part=\"masthead-background-wrapper\"\n class=\"${prefix}--masthead__background-wrapper\">\n <a\n part=\"masthead-l1-login\"\n class=\"${prefix}--masthead__l1-login\"\n href=\"${ifDefined(login.url)}\"\n >${login.title}</a\n >\n </div>\n `\n : ''}\n ${this._renderCta()}\n <div\n part=\"masthead-l1-menu-container-mask\"\n class=\"${prefix}--masthead__l1-menu-container-mask ${prefix}--masthead__l1-menu-container-mask--end\"></div>\n `;\n }\n\n /**\n * Renders L1MenuItems with subsections containing announcements, headings, links, and footers.\n *\n * @param {_L1MenuItem} menuItem Array of menu items containing subnavs\n * @returns {_TemplateResult} rendered output\n */\n protected _renderL1TopNavDropDowns(menuItem) {\n const {\n _toggleSubsection: toggleSubsection,\n _handleTopNavFocusIn: handleTopNavFocusIn,\n } = this;\n const { title, url, target, submenu } = menuItem;\n\n if (!submenu && url) {\n return html`\n <li part=\"masthead-l1-item\">\n <a\n part=\"masthead-l1-item-link\"\n class=\"${prefix}--masthead__l1-item\"\n href=\"${url}\"\n target=\"${target}\"\n @focusin=${handleTopNavFocusIn}\n >${title}</a\n >\n </li>\n `;\n } else if (!submenu) {\n return html`\n <li part=\"masthead-l1-item\">\n <span\n part=\"masthead-l1-item-span\"\n class=\"${prefix}--masthead__l1-item\"\n @focusin=${handleTopNavFocusIn}\n >${title}</span\n >\n </li>\n `;\n }\n\n const { announcement, menuSections, footer, columns } = submenu ?? {};\n\n // 3-column dropdown has option for 33/66 split.\n const hasWideColumn =\n columns === 3 ? menuSections.some((section) => section.span > 1) : false;\n\n // Split can be 33/66 or 66/33.\n const wideColumnFirst = menuSections[0].span > 1;\n\n const wideColumns = menuSections.filter((section) => section.span > 1);\n const normalColumns = menuSections.filter((section) => !(section.span > 1));\n const dropdownClasses = classMap({\n [`${prefix}--masthead__l1-dropdown-links`]: true,\n [`${prefix}--masthead__l1-dropdown--has-column-wide`]: hasWideColumn,\n });\n\n return html`\n <li\n part=\"masthead-l1-item\"\n @focusout=${handleDropdownClose}\n @keydown=${handleDropdownClose}\n tabindex=\"-1\">\n <button\n part=\"masthead-l1-item-button\"\n class=\"${prefix}--masthead__l1-item\"\n @click=${toggleSubsection}\n @focusin=${handleTopNavFocusIn}>\n ${title}${ChevronDown16()}\n </button>\n <div\n part=\"l1-dropdown\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown ${prefix}--masthead__l1-dropdown__${columns}-col\">\n ${announcement\n ? html`<div\n part=\"l1-dropdown-announcement\"\n class=\"${prefix}--masthead__l1-dropdown-announcement\">\n ${unsafeHTML(announcement)}\n </div>`\n : ''}\n <div part=\"l1-dropdown-links\" class=\"${dropdownClasses}\">\n ${hasWideColumn && wideColumnFirst\n ? this._renderL1DropdownSections(wideColumns, hasWideColumn, true)\n : ''}\n ${this._renderL1DropdownSections(\n normalColumns,\n hasWideColumn,\n false\n )}\n ${hasWideColumn && !wideColumnFirst\n ? this._renderL1DropdownSections(wideColumns, hasWideColumn, true)\n : ''}\n </div>\n ${footer\n ? html`<a\n part=\"l1-dropdown-viewall\"\n class=\"${prefix}--masthead__l1-dropdown-viewall\"\n href=\"${footer.url}\"\n >${footer.title}${this.Arrow16()}</a\n >`\n : ''}\n </div>\n </li>\n `;\n }\n\n /**\n *\n * @param {_L1SubmenuSection[]} sections the sections to render.\n * @param {boolean} hasWide if this column will be rendered as or next to a wide column.\n * @param {boolean} isWide if this column will be rendered as a wide column.\n * @returns rendered markup\n */\n protected _renderL1DropdownSections(sections, hasWide, isWide) {\n const renderedSections = sections.map((section) => {\n const { heading, items } = section;\n\n return html`\n <div\n part=\"l1-dropdown-section\"\n class=\"${prefix}--masthead__l1-dropdown-section\">\n ${heading ? html`${this._renderL1SubSectionHeading(heading)}` : ''}\n ${items\n ? html` <ul\n part=\"l1-dropdown-menu-items\"\n class=\"${prefix}--masthead__l1-dropdown-menu-items\">\n ${items.map((item) => {\n const { title, url, target, description } = item;\n\n const linkContents = description\n ? html`\n <span\n part=\"l1-dropdown-item-title-span\"\n class=\"${prefix}--masthead__l1-dropdown-item-title\"\n >${title}</span\n >\n <span\n part=\"l1-dropdown-item-description-span\"\n class=\"${prefix}--masthead__l1-dropdown-item-description\"\n >${description}</span\n >\n `\n : html` ${title} `;\n\n return html`\n <li part=\"l1-dropdown-menu-item\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${url}\"\n target=\"${target}\">\n ${linkContents}\n </a>\n </li>\n `;\n })}\n </ul>`\n : ''}\n </div>\n `;\n });\n\n const classes = classMap({\n [`${prefix}--masthead__l1-dropdown-column-narrow`]: hasWide && !isWide,\n [`${prefix}--masthead__l1-dropdown-column-wide`]: hasWide && isWide,\n });\n return hasWide\n ? html`<div\n class=${classes}\n part=\"dropdown-column${hasWide && !isWide\n ? ' dropdown-column--narrow'\n : hasWide && isWide\n ? ' dropdown-column--wide'\n : ''}\">\n ${renderedSections}\n </div>`\n : html`${renderedSections}`;\n }\n\n /**\n * Renders L1 for mobile screensizes.\n *\n * @returns {_TemplateResult} L1 for mobile screensizes.\n */\n protected _renderL1MobileNav() {\n const { l1Data, overviewText } = this;\n const { url, title, actions, menuItems } = l1Data ?? {};\n const { cta, login } = actions ?? {};\n\n const { _toggleSubsection: toggleSubsection } = this;\n\n return html`\n <button\n part=\"l1-title-button\"\n class=\"${prefix}--masthead__l1-title\"\n @click=${toggleSubsection}>\n ${title}${ChevronDown16()}\n </button>\n <ul\n part=\"l1-dropdown\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown\">\n ${url\n ? html` <li part=\"dropdown-item-li\">\n <a\n part=\"l1-dropdown-item\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${url}\">\n ${overviewText}\n </a>\n </li>`\n : ''}\n ${menuItems?.map((menuItem) => this._renderL1MobileSubnav(menuItem))}\n ${login && login.url && login.title\n ? html` <li part=\"dropdown-login-link-li\">\n <a\n part=\"l1-dropdown-login-link\"\n class=\"${prefix}--masthead__l1-dropdown-login\"\n href=\"${ifDefined(login.url)}\">\n ${login.title}${this.Arrow16()}\n </a>\n </li>`\n : ''}\n ${cta ? html`<li part=\"cta-li\">${this._renderCta()}</li>` : ''}\n </ul>\n `;\n }\n\n /**\n * Renders L1MenuItems with subsections containing announcements, headings, links, and footers.\n *\n * @param {_L1MenuItem} menuItem Array of menu items containing subnavs\n * @returns {_TemplateResult} rendered output\n */\n protected _renderL1MobileSubnav(menuItem) {\n const { _toggleSubsection: toggleSubsection } = this;\n const { title, target, url, submenu } = menuItem;\n\n if (!submenu && url) {\n return html`\n <li part=\"dropdown-item-link-li\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n target=\"${target}\"\n href=\"${url}\"\n >${title}</a\n >\n </li>\n `;\n } else if (!submenu) {\n return html`\n <li part=\"dropdown-item-span-li\">\n <span\n part=\"l1-dropdown-item-span\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n >${title}</span\n >\n </li>\n `;\n }\n\n const { announcement, menuSections, footer } = submenu ?? {};\n\n return html`\n <li part=\"dropdown-item-button-li\">\n <button\n part=\"l1-dropdown-item-button\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n @click=${toggleSubsection}>\n ${title}${ChevronDown16()}\n </button>\n <div\n part=\"l1-dropdown-subsection\"\n data-dropdown-target\n class=\"${prefix}--masthead__l1-dropdown-subsection\">\n ${announcement\n ? html`<div\n part=\"l1-dropdown-announcement\"\n class=\"${prefix}--masthead__l1-dropdown-announcement\">\n ${unsafeHTML(announcement)}\n </div>`\n : ''}\n ${menuSections\n ? menuSections.map((section) => {\n const { heading, items } = section;\n\n return html`\n ${heading\n ? html`${this._renderL1SubSectionHeading(heading)}`\n : ''}\n ${items\n ? html` <ul part=\"l1-dropdown-item-ul\">\n ${items.map((item) => {\n const { title, url, target } = item;\n\n return html` <li part=\"l1-dropdown-item-li\">\n <a\n part=\"l1-dropdown-item-link\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n target=\"${target}\"\n href=\"${url}\">\n ${title}\n </a>\n </li>`;\n })}\n </ul>`\n : ''}\n `;\n })\n : ''}\n ${footer\n ? html`\n <a part=\"l1-dropdown-viewall\"\n class=\"${prefix}--masthead__l1-dropdown-viewall\"\n href=\"${footer.url}\"\n >\n ${footer.title}${this.Arrow16()}\n </li>`\n : ''}\n </div>\n </li>\n `;\n }\n\n /**\n * Toggles the mobile navigation subsection.\n *\n * @param {PointerEvent} event The click event from the user\n */\n protected _toggleSubsection(event: PointerEvent) {\n const { isMobileVersion } = this;\n const { dropDownToggleEvent } = this.constructor as typeof C4DMastheadL1;\n const { currentTarget } = event;\n const button = currentTarget as HTMLElement;\n const dropdown = button.parentNode?.querySelector(\n '[data-dropdown-target]'\n ) as HTMLElement;\n const isOpen = dropdown?.classList.contains('is-open');\n\n if (!isMobileVersion && dropdown && !isOpen) {\n // Get Button & Dropdown locations & widths\n const buttonRect = button.getBoundingClientRect().toJSON();\n const dropdownRect = dropdown.getBoundingClientRect().toJSON();\n const viewportWidth = window.innerWidth;\n const isLTR =\n window.getComputedStyle(this).direction.toUpperCase() === 'LTR';\n const dirMultiplier = isLTR ? -1 : 1;\n\n // Set logical bounding client rect properties\n buttonRect.inlineStart = isLTR\n ? buttonRect.left\n : viewportWidth - buttonRect.right;\n buttonRect.inlineEnd = isLTR\n ? buttonRect.right\n : viewportWidth - buttonRect.left;\n dropdownRect.inlineStart = isLTR\n ? dropdownRect.left\n : viewportWidth - dropdownRect.right;\n dropdownRect.inlineEnd = isLTR\n ? dropdownRect.right\n : viewportWidth - dropdownRect.left;\n\n // What would the left/right boundaries be if we centered the dropdown?\n const startBoundaryIfCentered = (viewportWidth - dropdownRect.width) / 2;\n const endBoundaryIfCentered =\n startBoundaryIfCentered + dropdownRect.width;\n\n // If start-aligning to button doesn't overflow viewport.\n if (buttonRect.inlineStart + dropdownRect.width < viewportWidth) {\n // Do nothing, the styles are fine.\n }\n\n // If center-aligning to viewport fully intersects with button.\n else if (\n startBoundaryIfCentered < buttonRect.inlineStart &&\n endBoundaryIfCentered > buttonRect.inlineEnd\n ) {\n const translationAmount =\n (buttonRect.inlineStart - startBoundaryIfCentered) * dirMultiplier;\n dropdown.style.translate = `${translationAmount}px`;\n }\n\n // Fallback: right align to button.\n else {\n const translationAmount =\n (dropdownRect.width - buttonRect.width) * dirMultiplier;\n dropdown.style.translate = `${translationAmount}px`;\n }\n\n // Ensure dropdown doesn't overflow viewport vertically.\n const viewportHeight = window.innerHeight;\n const maxHeight = viewportHeight - dropdownRect.top;\n dropdown.style.maxHeight = `calc(${maxHeight}px - 4rem)`;\n }\n\n this.dispatchEvent(\n new CustomEvent(dropDownToggleEvent, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n isOpen: !isOpen,\n },\n })\n );\n\n this.active = !isOpen;\n button.classList.toggle('is-open', !isOpen);\n dropdown.classList.toggle('is-open', !isOpen);\n }\n\n /**\n * \"Scrolls\" the top nav in cases where elements are focused but not fully visible.\n *\n * @param event The focus event\n */\n protected _handleTopNavFocusIn(event: FocusEvent) {\n const { menuContainerInner, menu } = this;\n const { target } = event;\n\n const containerBox = menuContainerInner!.getBoundingClientRect();\n const buttonBox = (target as HTMLElement).getBoundingClientRect();\n\n const leftOverflow = Math.max(containerBox.left - buttonBox.left, 0);\n const rightOverflow = Math.max(buttonBox.right - containerBox.right, 0);\n\n if (leftOverflow || rightOverflow) {\n const computedScroll = parseInt(window.getComputedStyle(menu!).translate);\n const currentScroll = !Number.isNaN(computedScroll) ? computedScroll : 0;\n let newScroll = currentScroll;\n\n if (rightOverflow) {\n newScroll = currentScroll - rightOverflow;\n }\n\n if (leftOverflow) {\n newScroll = currentScroll + leftOverflow;\n }\n\n menu!.style.translate = `${newScroll}px`;\n }\n }\n\n /**\n * Sets active menu item styles.\n */\n protected _handleSelectedMenuItem() {\n const { selectedMenuItem, currentUrlPath } = this;\n\n const menuItems = Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll(\n `.${prefix}--masthead__l1-item, .${prefix}--masthead__l1-dropdown-item`\n )\n );\n const allLinks = Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll('a')\n );\n\n // Reset all selected elements.\n Array.from(\n (this.shadowRoot as ShadowRoot).querySelectorAll('[active]')\n ).forEach((el) => el?.removeAttribute('active'));\n this.selectedElements = [];\n\n // Check for manually set selected item.\n if (selectedMenuItem) {\n this.selectedElements = [...menuItems, ...allLinks].filter(\n (el) =>\n el.textContent?.trim()?.toLowerCase() ===\n selectedMenuItem.trim().toLowerCase()\n );\n }\n // Fall back to automated selection based on URL.\n else {\n this.selectedElements = allLinks.filter((el) => {\n try {\n const elURL = new URL(el.href);\n const currURL = new URL(currentUrlPath || '');\n\n // Compare url without query params.\n return (\n elURL.host === currURL.host && elURL.pathname === currURL.pathname\n );\n } catch (_error) {\n return false;\n }\n });\n }\n\n if (this.selectedElements.length) {\n // Set active on nearest menu item.\n this.selectedElements.forEach((element) => {\n const parentMenuItem = element.closest(\n `.${prefix}--masthead__l1-dropdown, .${prefix}--masthead__l1-dropdown-subsection`\n )?.previousElementSibling;\n\n // Set on parent item as long as it's not the dropdown toggle.\n if (\n parentMenuItem &&\n !parentMenuItem?.classList?.contains(`bx--masthead__l1-title`)\n ) {\n parentMenuItem?.setAttribute('active', '');\n } else {\n element.setAttribute('active', '');\n }\n });\n } else {\n // Should default to active section name if no menu links are selected.\n const l1Title = this.shadowRoot?.querySelector(\n `.${prefix}--masthead__l1-title`\n ) as Element;\n l1Title.setAttribute('active', '');\n this.selectedElements.push(l1Title);\n }\n }\n\n /**\n * Renders a heading object in the proper <H#> element.\n *\n * @param heading The heading object to be rendered.\n * @returns {_TemplateResult} Rendered heading.\n */\n protected _renderL1SubSectionHeading(heading: L1SubmenuSectionHeading) {\n const { isMobileVersion } = this;\n\n const headingDesc =\n !isMobileVersion && heading.description\n ? html`<span class=\"${prefix}--masthead__l1-dropdown-heading-desc\"\n >${heading.description}</span\n >`\n : '';\n\n const headingContent = heading.url\n ? html`\n <a\n part=\"l1-dropdown-item-link l1-dropdown-item-link--heading\"\n class=\"${prefix}--masthead__l1-dropdown-item\"\n href=\"${heading.url}\">\n ${heading.title}${isMobileVersion ? this.Arrow16() : this.Arrow20()}\n </a>\n `\n : html` ${heading.title} `;\n\n const headingClasses = classMap({\n [`${prefix}--masthead__l1-dropdown-heading`]: true,\n [`${prefix}--masthead__l1-dropdown-heading--no-link`]:\n Boolean(heading.url) === false,\n });\n\n let renderedHeading = headingContent;\n switch (heading.headingLevel) {\n case 2:\n renderedHeading = html`\n <h2 part=\"masthead-l1-h2-heading\" class=${headingClasses}>\n ${headingContent}\n </h2>\n ${headingDesc}\n `;\n break;\n case 3:\n renderedHeading = html`\n <h3 part=\"masthead-l1-h3-heading\" class=${headingClasses}>\n ${headingContent}\n </h3>\n ${headingDesc}\n `;\n break;\n case 4:\n renderedHeading = html`\n <h4 part=\"masthead-l1-h4-heading\" class=${headingClasses}>\n ${headingContent}\n </h4>\n ${headingDesc}\n `;\n break;\n case 5:\n renderedHeading = html`\n <h5 part=\"masthead-l1-h5-heading\" class=${headingClasses}>\n ${headingContent}\n </h5>\n ${headingDesc}\n `;\n break;\n case 6:\n renderedHeading = html`\n <h6 part=\"masthead-l1-h6-heading\" class=${headingClasses}>\n ${headingContent}\n </h6>\n ${headingDesc}\n `;\n break;\n default:\n renderedHeading = headingContent;\n }\n\n return renderedHeading;\n }\n\n protected firstUpdated() {\n this.style.setProperty(\n '--scrollbarWidth',\n window.innerWidth - document.documentElement.clientWidth + 'px'\n );\n\n // Allows component conditions on breakpoint change\n layoutBreakpoint.addEventListener('change', () => {\n this.isMobileVersion = layoutBreakpoint.matches;\n });\n\n if (this.isMobileVersion) {\n this._createScrollObserver();\n }\n\n this.direction = window.getComputedStyle(this).direction;\n }\n\n protected updated(changedProperties) {\n if (changedProperties.has('selectedMenuItem')) {\n this._handleSelectedMenuItem();\n }\n if (changedProperties.has('isMobileVersion')) {\n if (this.isMobileVersion) {\n // Stop observing, delete the observer.\n this.scrollObserver?.disconnect();\n this.scrollObserver = undefined;\n } else {\n // Creat observer, start observing.\n this._createScrollObserver();\n }\n\n this._handleSelectedMenuItem();\n }\n }\n\n render() {\n const { isMobileVersion } = this;\n return html`\n <div\n part=\"masthead-l1-inner-container\"\n class=\"${prefix}--masthead__l1-inner-container\">\n ${isMobileVersion\n ? html` ${this._renderL1MobileNav()} `\n : html` ${this._renderL1TopNav()} `}\n </div>\n `;\n }\n\n /**\n * Creates CTA markup and slots it into the L1.\n *\n * @param {L1CtaLink} cta L1 CTA data object\n * @returns A template fragment representing an L1 CTA or an empty string.\n */\n static renderL1Cta(cta: L1CtaLink): _TemplateResult | string {\n const { url, ctaType } = cta;\n const slottedText = html`<span slot=\"cta-text\">${cta?.title}</span>`;\n if (ctaType) {\n return html`\n <c4d-masthead-l1-cta slot=\"l1-cta\" type=\"${ctaType}\">\n ${slottedText}\n </c4d-masthead-l1-cta>\n `;\n }\n if (url) {\n return html`\n <c4d-masthead-l1-cta slot=\"l1-cta\" href=\"${url}\">\n ${slottedText}\n </c4d-masthead-l1-cta>\n `;\n }\n return '';\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead__l1`;\n }\n\n static get dropDownToggleEvent() {\n return `${c4dPrefix}-masthead-l1-dropdown-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMastheadL1;\n"],"mappings":"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","ignoreList":[]}
@@ -14,11 +14,7 @@ import CDSTab from '@carbon/web-components/es/components/tabs/tab.js';
14
14
  * @csspart nav-link - The text input. Usage: `c4d-megamenu-tab::part(nav-link)`
15
15
  */
16
16
  declare class C4DMegaMenuTab extends CDSTab {
17
- /**
18
- * Disable unneeded properties inherited from CDS Content Switcher Item.
19
- */
20
- closeOnActivation: boolean;
21
- hideDivider: boolean;
17
+ connectedCallback(): void;
22
18
  render(): import("lit-html").TemplateResult<1>;
23
19
  static styles: any;
24
20
  }
@@ -1,6 +1,9 @@
1
1
  import _decorate from "@babel/runtime/helpers/esm/decorate";
2
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
3
+ import _get from "@babel/runtime/helpers/esm/get";
2
4
  let _ = t => t,
3
5
  _t;
6
+ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; }
4
7
  /**
5
8
  * @license
6
9
  *
@@ -39,26 +42,17 @@ let C4DMegaMenuTab = _decorate([customElement(`${c4dPrefix}-megamenu-tab`)], fun
39
42
  return {
40
43
  F: C4DMegaMenuTab,
41
44
  d: [{
42
- kind: "field",
43
- key: "closeOnActivation",
44
- value() {
45
- return false;
46
- }
47
- }, {
48
- kind: "field",
49
- key: "hideDivider",
50
- value() {
51
- return false;
45
+ kind: "method",
46
+ key: "connectedCallback",
47
+ value: function connectedCallback() {
48
+ _superPropGet(C4DMegaMenuTab, "connectedCallback", this, 3)([]);
49
+ this.closeOnActivation = false;
50
+ this.hideDivider = false;
52
51
  }
53
52
  }, {
54
53
  kind: "method",
55
54
  key: "render",
56
- value:
57
- /**
58
- * Disable unneeded properties inherited from CDS Content Switcher Item.
59
- */
60
-
61
- function render() {
55
+ value: function render() {
62
56
  const {
63
57
  disabled,
64
58
  selected,
@@ -1 +1 @@
1
- {"version":3,"file":"megamenu-tab.js","names":["html","settings","CDSTab","c4dSettings","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DMegaMenuTab","_decorate","_initialize","_CDSTab","constructor","args","F","d","kind","key","value","render","disabled","selected","safariTabIndex","_t","_","Boolean","static"],"sources":["components/masthead/megamenu-tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2021, 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 { html } from 'lit';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport CDSTab from '@carbon/web-components/es/components/tabs/tab.js';\nimport c4dSettings 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 { prefix } = settings;\nconst { stablePrefix: c4dPrefix } = c4dSettings;\n\n/**\n * Megamenu Tab.\n *\n * @element c4d-megamenu-tab\n * @csspart nav-link - The text input. Usage: `c4d-megamenu-tab::part(nav-link)`\n */\n@customElement(`${c4dPrefix}-megamenu-tab`)\nclass C4DMegaMenuTab extends CDSTab {\n /**\n * Disable unneeded properties inherited from CDS Content Switcher Item.\n */\n closeOnActivation = false;\n hideDivider = false;\n\n render() {\n const { disabled, selected, value } = this;\n\n // Safari does not set focus on clicked buttons, which causes megamenu to\n // close prematurely. Setting a tabindex circumvents the issue.\n const safariTabIndex = 0;\n\n return html`\n <button\n part=\"nav-link\"\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\"\n data-attribute1=\"headerNav\"\n data-attribute2=\"TabHdline\"\n data-attribute3=\"${value}\"\n tabindex=\"${safariTabIndex}\">\n <slot></slot>\n </button>\n `;\n }\n\n static styles = styles;\n}\n\nexport default C4DMegaMenuTab;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,KAAK;AAC1B,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,MAAM,MAAM,kDAAkD;AACrE,OAAOC,WAAW,MAAM,+DAA+D;AACvF,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC;AAAO,CAAC,GAAGN,QAAQ;AAC3B,MAAM;EAAEO,YAAY,EAAEC;AAAU,CAAC,GAAGN,WAAW;;AAE/C;AACA;AACA;AACA;AACA;AACA;AALA,IAOMO,cAAc,GAAAC,SAAA,EADnBL,aAAa,CAAC,GAAGG,SAAS,eAAe,CAAC,aAAAG,WAAA,EAAAC,OAAA;EAA3C,MACMH,cAAc,SAAAG,OAAA,CAAgB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA+BpC;EAAC;IAAAI,CAAA,EA/BKN,cAAc;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAIE,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACX,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA;MAJnB;AACF;AACA;;MAIE,SAAAC,MAAMA,CAAA,EAAG;QACP,MAAM;UAAEC,QAAQ;UAAEC,QAAQ;UAAEH;QAAM,CAAC,GAAG,IAAI;;QAE1C;QACA;QACA,MAAMI,cAAc,GAAG,CAAC;QAExB,OAAOxB,IAAI,CAAAyB,EAAA,KAAAA,EAAA,GAAAC,CAAA;AACf;AACA;AACA,iBAHe;AACf;AACA,qBAFe;AACf,yBADe;AACf;AACA;AACA,2BAHe;AACf,oBADe;AACf;AACA;AACA,KAHe,GAGEnB,MAAM,EAEFe,QAAQ,EACJK,OAAO,CAACJ,QAAQ,CAAC,EAGfH,KAAK,EACZI,cAAc;MAIhC;IAAC;MAAAN,IAAA;MAAAU,MAAA;MAAAT,GAAA;MAAAC,MAAA;QAAA,OAEehB,MAAM;MAAA;IAAA;EAAA;AAAA,GA9BKF,MAAM;AAiCnC,eAAeQ,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"megamenu-tab.js","names":["html","settings","CDSTab","c4dSettings","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DMegaMenuTab","_decorate","_initialize","_CDSTab","constructor","args","F","d","kind","key","value","connectedCallback","_superPropGet","closeOnActivation","hideDivider","render","disabled","selected","safariTabIndex","_t","_","Boolean","static"],"sources":["components/masthead/megamenu-tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2021, 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 { html } from 'lit';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport CDSTab from '@carbon/web-components/es/components/tabs/tab.js';\nimport c4dSettings 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 { prefix } = settings;\nconst { stablePrefix: c4dPrefix } = c4dSettings;\n\n/**\n * Megamenu Tab.\n *\n * @element c4d-megamenu-tab\n * @csspart nav-link - The text input. Usage: `c4d-megamenu-tab::part(nav-link)`\n */\n@customElement(`${c4dPrefix}-megamenu-tab`)\nclass C4DMegaMenuTab extends CDSTab {\n connectedCallback() {\n super.connectedCallback();\n this.closeOnActivation = false;\n this.hideDivider = false;\n }\n\n render() {\n const { disabled, selected, value } = this;\n\n // Safari does not set focus on clicked buttons, which causes megamenu to\n // close prematurely. Setting a tabindex circumvents the issue.\n const safariTabIndex = 0;\n\n return html`\n <button\n part=\"nav-link\"\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\"\n data-attribute1=\"headerNav\"\n data-attribute2=\"TabHdline\"\n data-attribute3=\"${value}\"\n tabindex=\"${safariTabIndex}\">\n <slot></slot>\n </button>\n `;\n }\n\n static styles = styles;\n}\n\nexport default C4DMegaMenuTab;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,KAAK;AAC1B,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,MAAM,MAAM,kDAAkD;AACrE,OAAOC,WAAW,MAAM,+DAA+D;AACvF,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,gEAAgE;AAE/G,MAAM;EAAEC;AAAO,CAAC,GAAGN,QAAQ;AAC3B,MAAM;EAAEO,YAAY,EAAEC;AAAU,CAAC,GAAGN,WAAW;;AAE/C;AACA;AACA;AACA;AACA;AACA;AALA,IAOMO,cAAc,GAAAC,SAAA,EADnBL,aAAa,CAAC,GAAGG,SAAS,eAAe,CAAC,aAAAG,WAAA,EAAAC,OAAA;EAA3C,MACMH,cAAc,SAAAG,OAAA,CAAgB;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA+BpC;EAAC;IAAAI,CAAA,EA/BKN,cAAc;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAClB,SAAAC,iBAAiBA,CAAA,EAAG;QAClBC,aAAA,CAFEZ,cAAc;QAGhB,IAAI,CAACa,iBAAiB,GAAG,KAAK;QAC9B,IAAI,CAACC,WAAW,GAAG,KAAK;MAC1B;IAAC;MAAAN,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAED,SAAAK,MAAMA,CAAA,EAAG;QACP,MAAM;UAAEC,QAAQ;UAAEC,QAAQ;UAAEP;QAAM,CAAC,GAAG,IAAI;;QAE1C;QACA;QACA,MAAMQ,cAAc,GAAG,CAAC;QAExB,OAAO5B,IAAI,CAAA6B,EAAA,KAAAA,EAAA,GAAAC,CAAA;AACf;AACA;AACA,iBAHe;AACf;AACA,qBAFe;AACf,yBADe;AACf;AACA;AACA,2BAHe;AACf,oBADe;AACf;AACA;AACA,KAHe,GAGEvB,MAAM,EAEFmB,QAAQ,EACJK,OAAO,CAACJ,QAAQ,CAAC,EAGfP,KAAK,EACZQ,cAAc;MAIhC;IAAC;MAAAV,IAAA;MAAAc,MAAA;MAAAb,GAAA;MAAAC,MAAA;QAAA,OAEehB,MAAM;MAAA;IAAA;EAAA;AAAA,GA9BKF,MAAM;AAiCnC,eAAeQ,cAAc","ignoreList":[]}