@carbon/ibmdotcom-web-components 1.32.0-rc.0 → 1.32.0-rc.2

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 (152) hide show
  1. package/custom-elements.json +18 -18
  2. package/dist/{20-2c34f739.js → 20-4d0d088b.js} +1 -1
  3. package/dist/{20-002a62f9.js → 20-c7872d45.js} +1 -1
  4. package/dist/{20-e53335d3.js → 20-d0071628.js} +1 -1
  5. package/dist/{20-4f726b86.js → 20-f07ed7a1.js} +1 -1
  6. package/dist/cloud-masthead.js +2 -2
  7. package/dist/cloud-masthead.min.js +1 -1
  8. package/dist/cloud-masthead.rtl.js +2 -2
  9. package/dist/cloud-masthead.rtl.min.js +1 -1
  10. package/dist/dotcom-shell.js +2 -2
  11. package/dist/dotcom-shell.min.js +1 -1
  12. package/dist/dotcom-shell.rtl.js +2 -2
  13. package/dist/dotcom-shell.rtl.min.js +1 -1
  14. package/dist/ibmdotcom-web-components-dotcom-shell.js +9 -7
  15. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  16. package/dist/ibmdotcom-web-components-dotcom-shell.rtl.js +9 -7
  17. package/dist/ibmdotcom-web-components-dotcom-shell.rtl.min.js +2 -2
  18. package/dist/{left-nav-menu-72142ae5.js → left-nav-menu-0454e7fe.js} +1 -1
  19. package/dist/{left-nav-menu-136466dc.js → left-nav-menu-4bb5d738.js} +1 -1
  20. package/dist/{left-nav-menu-d0e0c8a1.js → left-nav-menu-a9193172.js} +1 -1
  21. package/dist/{left-nav-menu-3436909a.js → left-nav-menu-aa14d1fd.js} +1 -1
  22. package/dist/{left-nav-menu-category-heading-71bd687e.js → left-nav-menu-category-heading-308b7583.js} +1 -1
  23. package/dist/{left-nav-menu-category-heading-b2b5a65f.js → left-nav-menu-category-heading-c9962ac5.js} +1 -1
  24. package/dist/{left-nav-menu-category-heading-2a3e1e8f.js → left-nav-menu-category-heading-daf5ebfa.js} +1 -1
  25. package/dist/{left-nav-menu-category-heading-17849a08.js → left-nav-menu-category-heading-fc02a361.js} +1 -1
  26. package/dist/{left-nav-menu-item-19e02851.js → left-nav-menu-item-0275a3b9.js} +1 -1
  27. package/dist/{left-nav-menu-item-8caa4256.js → left-nav-menu-item-354f4261.js} +1 -1
  28. package/dist/{left-nav-menu-item-ee78e342.js → left-nav-menu-item-7814505a.js} +1 -1
  29. package/dist/{left-nav-menu-item-327fee2b.js → left-nav-menu-item-fa33cbd9.js} +1 -1
  30. package/dist/{left-nav-menu-section-5f999435.js → left-nav-menu-section-5c2e24f8.js} +2 -2
  31. package/dist/{left-nav-menu-section-518e5d37.js → left-nav-menu-section-94e4e49c.js} +1 -1
  32. package/dist/{left-nav-menu-section-e0a8964a.js → left-nav-menu-section-b5303d97.js} +2 -2
  33. package/dist/{left-nav-menu-section-6150369f.js → left-nav-menu-section-fcd88473.js} +1 -1
  34. package/dist/{left-nav-overlay-5731f7e5.js → left-nav-overlay-1e1910e9.js} +1 -1
  35. package/dist/{left-nav-overlay-6882d48d.js → left-nav-overlay-320c1270.js} +1 -1
  36. package/dist/{left-nav-overlay-a4cc3b3e.js → left-nav-overlay-81eb5e93.js} +1 -1
  37. package/dist/{left-nav-overlay-de7eb950.js → left-nav-overlay-ce49183f.js} +1 -1
  38. package/dist/{masthead-composite-c8dbcd61.js → masthead-composite-10b5102f.js} +3 -3
  39. package/dist/{masthead-composite-306adeb9.js → masthead-composite-1ed7f190.js} +3 -3
  40. package/dist/{masthead-composite-fb2bb203.js → masthead-composite-4096f117.js} +18 -14
  41. package/dist/{masthead-composite-73d938e4.js → masthead-composite-e578b925.js} +18 -14
  42. package/dist/{megamenu-category-group-43899a46.js → megamenu-category-group-0042c754.js} +1 -1
  43. package/dist/{megamenu-category-group-3bf5d73c.js → megamenu-category-group-b777facf.js} +1 -1
  44. package/dist/{megamenu-category-group-copy-2b87813d.js → megamenu-category-group-copy-69e90843.js} +1 -1
  45. package/dist/{megamenu-category-group-copy-283a25a3.js → megamenu-category-group-copy-6cc797f8.js} +1 -1
  46. package/dist/{megamenu-category-group-copy-93aa0a96.js → megamenu-category-group-copy-83e643e1.js} +1 -1
  47. package/dist/{megamenu-category-group-copy-775aaa80.js → megamenu-category-group-copy-e60dfb61.js} +1 -1
  48. package/dist/{megamenu-category-group-79513624.js → megamenu-category-group-d474b15d.js} +1 -1
  49. package/dist/{megamenu-category-group-999cba46.js → megamenu-category-group-f7dba932.js} +1 -1
  50. package/dist/{megamenu-category-link-71bd2020.js → megamenu-category-link-0df4440e.js} +1 -1
  51. package/dist/{megamenu-category-link-dbc8b4a4.js → megamenu-category-link-54e1011f.js} +1 -1
  52. package/dist/{megamenu-category-link-fb99f944.js → megamenu-category-link-68b5ea65.js} +1 -1
  53. package/dist/{megamenu-category-link-e3280b1e.js → megamenu-category-link-84732d66.js} +1 -1
  54. package/dist/{megamenu-left-navigation-3b9086ee.js → megamenu-left-navigation-7c8616c7.js} +1 -1
  55. package/dist/{megamenu-left-navigation-1f60ff1b.js → megamenu-left-navigation-862becf2.js} +1 -1
  56. package/dist/{megamenu-left-navigation-dd0372b5.js → megamenu-left-navigation-98f428cf.js} +1 -1
  57. package/dist/{megamenu-left-navigation-35bcade1.js → megamenu-left-navigation-c5ed7f0e.js} +1 -1
  58. package/dist/{megamenu-overlay-50af9c22.js → megamenu-overlay-213de889.js} +1 -1
  59. package/dist/{megamenu-overlay-2b2fe43c.js → megamenu-overlay-3ad6b0b2.js} +1 -1
  60. package/dist/{megamenu-overlay-5ff8fbf2.js → megamenu-overlay-ab9a9cff.js} +1 -1
  61. package/dist/{megamenu-overlay-ddd5122f.js → megamenu-overlay-d948063a.js} +1 -1
  62. package/es/components/image/image.d.ts +0 -3
  63. package/es/components/image/image.d.ts.map +1 -1
  64. package/es/components/image/image.js +1 -1
  65. package/es/components/image/image.js.map +1 -1
  66. package/es/components/locale-modal/locale-modal.d.ts.map +1 -1
  67. package/es/components/locale-modal/locale-modal.js +7 -5
  68. package/es/components/locale-modal/locale-modal.js.map +1 -1
  69. package/es/components/masthead/masthead-composite.d.ts +1 -1
  70. package/es/components/masthead/masthead-composite.d.ts.map +1 -1
  71. package/es/components/masthead/masthead-composite.js +4 -3
  72. package/es/components/masthead/masthead-composite.js.map +1 -1
  73. package/es/components/notice-choice/notice-choice.d.ts.map +1 -1
  74. package/es/components/notice-choice/notice-choice.js +0 -1
  75. package/es/components/notice-choice/notice-choice.js.map +1 -1
  76. package/es/components/search-with-typeahead/search-with-typeahead.d.ts.map +1 -1
  77. package/es/components/search-with-typeahead/search-with-typeahead.js +4 -1
  78. package/es/components/search-with-typeahead/search-with-typeahead.js.map +1 -1
  79. package/es/components/table-of-contents/table-of-contents.d.ts +12 -7
  80. package/es/components/table-of-contents/table-of-contents.d.ts.map +1 -1
  81. package/es/components/table-of-contents/table-of-contents.js +13 -2
  82. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  83. package/es/components/video-player/video-player.d.ts +1 -9
  84. package/es/components/video-player/video-player.d.ts.map +1 -1
  85. package/es/components/video-player/video-player.js +7 -2
  86. package/es/components/video-player/video-player.js.map +1 -1
  87. package/es/components-react/footer/dropdown.js +39 -0
  88. package/es/components-react/masthead/masthead-composite.d.ts +1 -1
  89. package/es/components-react/masthead/masthead-composite.js +241 -0
  90. package/es/components-react/masthead/masthead-container.js +25 -0
  91. package/es/components-react/masthead/masthead.js +23 -0
  92. package/es/components-react/quote/quote-link-with-icon.js +25 -0
  93. package/es/components-react/quote/quote-source-bottom-copy.js +30 -0
  94. package/es/components-react/quote/quote-source-copy.js +30 -0
  95. package/es/components-react/quote/quote-source-heading.js +30 -0
  96. package/es/components-react/search-with-typeahead/scoped-search-dropdown-mobile.js +32 -0
  97. package/es/components-react/search-with-typeahead/scoped-search-dropdown.js +39 -0
  98. package/es/components-react/search-with-typeahead/search-with-typeahead-item.js +47 -0
  99. package/es/components-react/search-with-typeahead/search-with-typeahead.js +175 -0
  100. package/es/components-react/structured-list/structured-list-body.js +23 -0
  101. package/es/components-react/structured-list/structured-list-cell.js +41 -0
  102. package/es/components-react/structured-list/structured-list-group.js +29 -0
  103. package/es/components-react/structured-list/structured-list-head.js +23 -0
  104. package/es/components-react/structured-list/structured-list-header-cell.js +23 -0
  105. package/es/components-react/structured-list/structured-list-header-row.js +23 -0
  106. package/es/components-react/structured-list/structured-list-row.js +23 -0
  107. package/es/components-react/structured-list/structured-list.js +23 -0
  108. package/es/components-react/table-of-contents/table-of-contents.js +49 -0
  109. package/es/components-react/tabs-extended/tab.js +53 -0
  110. package/es/components-react/tabs-extended/tabs-extended.js +36 -0
  111. package/es/components-react/tabs-extended-media/tabs-extended-media.js +34 -0
  112. package/es/components-react/tag-group/tag-group.js +23 -0
  113. package/es/components-react/tag-link/tag-link.js +57 -0
  114. package/es/components-react/universal-banner/universal-banner-copy.js +29 -0
  115. package/es/components-react/universal-banner/universal-banner-heading.js +30 -0
  116. package/es/components-react/universal-banner/universal-banner-image.js +25 -0
  117. package/es/components-react/universal-banner/universal-banner.js +57 -0
  118. package/es/components-react/video-player/video-player.js +134 -0
  119. package/lib/components-react-node/footer/dropdown.js +80 -0
  120. package/lib/components-react-node/masthead/masthead-composite.js +295 -0
  121. package/lib/components-react-node/masthead/masthead-container.js +41 -0
  122. package/lib/components-react-node/masthead/masthead.js +40 -0
  123. package/lib/components-react-node/quote/quote-link-with-icon.js +41 -0
  124. package/lib/components-react-node/quote/quote-source-bottom-copy.js +47 -0
  125. package/lib/components-react-node/quote/quote-source-copy.js +47 -0
  126. package/lib/components-react-node/quote/quote-source-heading.js +47 -0
  127. package/lib/components-react-node/search-with-typeahead/scoped-search-dropdown-mobile.js +49 -0
  128. package/lib/components-react-node/search-with-typeahead/scoped-search-dropdown.js +68 -0
  129. package/lib/components-react-node/search-with-typeahead/search-with-typeahead-item.js +102 -0
  130. package/lib/components-react-node/search-with-typeahead/search-with-typeahead.js +230 -0
  131. package/lib/components-react-node/structured-list/structured-list-body.js +40 -0
  132. package/lib/components-react-node/structured-list/structured-list-cell.js +58 -0
  133. package/lib/components-react-node/structured-list/structured-list-group.js +46 -0
  134. package/lib/components-react-node/structured-list/structured-list-head.js +40 -0
  135. package/lib/components-react-node/structured-list/structured-list-header-cell.js +40 -0
  136. package/lib/components-react-node/structured-list/structured-list-header-row.js +40 -0
  137. package/lib/components-react-node/structured-list/structured-list-row.js +40 -0
  138. package/lib/components-react-node/structured-list/structured-list.js +40 -0
  139. package/lib/components-react-node/table-of-contents/table-of-contents.js +104 -0
  140. package/lib/components-react-node/tabs-extended/tab.js +108 -0
  141. package/lib/components-react-node/tabs-extended/tabs-extended.js +53 -0
  142. package/lib/components-react-node/tabs-extended-media/tabs-extended-media.js +50 -0
  143. package/lib/components-react-node/tag-group/tag-group.js +40 -0
  144. package/lib/components-react-node/tag-link/tag-link.js +74 -0
  145. package/lib/components-react-node/universal-banner/universal-banner-copy.js +45 -0
  146. package/lib/components-react-node/universal-banner/universal-banner-heading.js +47 -0
  147. package/lib/components-react-node/universal-banner/universal-banner-image.js +41 -0
  148. package/lib/components-react-node/universal-banner/universal-banner.js +112 -0
  149. package/lib/components-react-node/video-player/video-player.js +197 -0
  150. package/package.json +7 -7
  151. package/scss/components/image/image.scss +1 -1
  152. package/es/components-react/notice-choice/notice-choice.d.ts +0 -48
@@ -1 +1 @@
1
- {"version":3,"sources":["components/masthead/masthead-composite.ts"],"names":[],"mappings":"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","file":"masthead-composite.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\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, property, LitElement, TemplateResult } from 'lit-element';\nimport { nothing, render } from 'lit-html';\nimport HostListener from '../../internal/vendor/@carbon/web-components/globals/decorators/host-listener.js';\nimport HostListenerMixin from '../../internal/vendor/@carbon/web-components/globals/mixins/host-listener.js';\nimport ArrowRight16 from '../../internal/vendor/@carbon/web-components/icons/arrow--right/16.js';\nimport ifNonNull from '../../internal/vendor/@carbon/web-components/globals/directives/if-non-null.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport root from 'window-or-global';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport { globalInit } from '../../internal/vendor/@carbon/ibmdotcom-services/services/global/global';\nimport MastheadLogoAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/MastheadLogo/MastheadLogo';\nimport {\n MastheadL1,\n MastheadLink,\n MastheadLogoData,\n MastheadMenuItem,\n MastheadProfileItem,\n Translation,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI.d';\nimport { UNAUTHENTICATED_STATUS } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/profileAPI';\nimport { MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME } from './megamenu-right-navigation';\nimport { DDS_CUSTOM_PROFILE_LOGIN } from '../../globals/internal/feature-flags';\nimport DDSMastheadLogo from './masthead-logo';\nimport './masthead';\nimport './masthead-l1';\nimport './masthead-l1-name';\nimport './masthead-menu-button';\nimport './masthead-global-bar';\nimport './masthead-profile';\nimport './masthead-profile-item';\nimport './megamenu';\nimport './megamenu-top-nav-menu';\nimport './skip-to-content';\nimport './top-nav';\nimport './top-nav-l1';\nimport './top-nav-name';\nimport './top-nav-item';\nimport './top-nav-menu';\nimport './top-nav-menu-item';\nimport './left-nav';\nimport '../search-with-typeahead/search-with-typeahead';\nimport '../search-with-typeahead/search-with-typeahead-item';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '../../internal/vendor/@carbon/web-components/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * Rendering target for masthead navigation items.\n */\nexport enum NAV_ITEMS_RENDER_TARGET {\n /**\n * For top navigation.\n */\n TOP_NAV = 'top-nav',\n\n /**\n * For left navigation.\n */\n LEFT_NAV = 'left-nav',\n}\n\n/**\n * Component that renders masthead from links, etc. data.\n *\n * @element dds-masthead-composite\n */\n@customElement(`${ddsPrefix}-masthead-composite`)\nclass DDSMastheadComposite extends HostListenerMixin(LitElement) {\n /**\n * Renders L1 menu based on l1Data\n *\n * @param [options] The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @returns The L1 nav.\n */\n protected _renderL1({\n selectedMenuItem,\n }: { selectedMenuItem?: string } = {}) {\n if (!this.l1Data) return undefined;\n const { url, title } = this.l1Data;\n const isSelected = !this._hasAutoSelectedItems && !selectedMenuItem;\n return html`\n <dds-masthead-l1 slot=\"masthead-l1\">\n ${!title\n ? undefined\n : html`\n <dds-masthead-l1-name\n title=\"${title}\"\n aria-selected=\"${isSelected}\"\n url=\"${url}\"></dds-masthead-l1-name>\n `}\n <dds-top-nav-l1 selected-menu-item=${selectedMenuItem}\n >${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: true,\n })}</dds-top-nav-l1\n >\n </dds-masthead-l1>\n `;\n }\n\n /**\n * Renders masthead logo\n *\n */\n protected _renderLogo() {\n if (!this.logoData) {\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"></dds-masthead-logo>\n `;\n }\n const useAlternateLogo = MastheadLogoAPI.setMastheadLogo(this.logoData);\n const { tooltip, svg, href } = this.logoData;\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"\n ?hasTooltip=\"${tooltip}\"\n aria-label=\"${ifNonNull(tooltip)}\"\n href=\"${href || DDSMastheadLogo.hrefDefault}\"\n >${useAlternateLogo ? unsafeSVG(svg) : nothing}</dds-masthead-logo\n >\n `;\n }\n\n /**\n * Sorts highlighted and regular menu items in separate arrays\n * and returns view all link\n *\n * @param sections menu section data object\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getHighlightedMenuItems(sections) {\n const highlightedItems: MastheadMenuItem[] = [];\n let viewAllLink;\n const menu: MastheadMenuItem[] = [];\n\n sections[0]?.menuItems?.forEach((item: MastheadMenuItem) => {\n if (item.highlighted) return highlightedItems.push(item);\n if (item.megaPanelViewAll) {\n viewAllLink = item;\n return viewAllLink;\n }\n return menu.push(item);\n });\n\n return { viewAllLink, highlightedItems, menu };\n }\n\n /**\n * Render MegaMenu content\n *\n * @param sections menu section data object\n * @param _parentKey parent menu key (used for the cloud-masthead-composite component)\n */\n // eslint-disable-next-line\n protected _renderMegaMenu(sections, _parentKey) {\n const { viewAllLink, highlightedItems, menu } =\n this._getHighlightedMenuItems(sections);\n const hasHighlights = highlightedItems.length !== 0;\n return html`\n <dds-megamenu>\n ${hasHighlights\n ? html`\n <dds-megamenu-left-navigation>\n ${sections[0]?.heading &&\n html`\n <dds-megamenu-category-group-copy\n >${sections[0]?.heading}</dds-megamenu-category-group-copy\n >\n `}\n ${highlightedItems.map((item, i) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${i}`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n <dds-megamenu-category-group-copy\n >${item.megapanelContent\n ?.description}</dds-megamenu-category-group-copy\n >\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url, highlightedLink }, key) => {\n return html`\n ${highlightedLink\n ? html`\n <dds-megamenu-link-with-icon\n data-autoid=\"${autoid}-item${key}\"\n href=\"${url}\"\n style-scheme=\"category-sublink\"\n title=\"${title}\">\n <span>${title}</span>${ArrowRight16({\n slot: 'icon',\n })}\n </dds-megamenu-link-with-icon>\n `\n : html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `}\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-left-navigation>\n `\n : null}\n <dds-megamenu-right-navigation\n style-scheme=\"${hasHighlights\n ? MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.LEFT_SECTION\n : MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.REGULAR}\"\n view-all-href=\"${ifNonNull(viewAllLink?.url)}\"\n view-all-title=\"${ifNonNull(viewAllLink?.title)}\">\n ${menu.map((item, j) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${\n j + highlightedItems.length\n }`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url }, key) => {\n return html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-right-navigation>\n </dds-megamenu>\n `;\n }\n\n /**\n * Renders the left nav menus sections\n *\n * @param object heading heading of menu section\n * @param object.menuItems menu items\n * @param object.heading heading heading of menu section\n * @param object.isSubmenu determines whether menu section is a submenu section\n * @param object.showBackButton Determines whether to show back button\n * @param object.sectionTitle title of menu section\n * @param object.sectionUrl section title url of menu section\n * @param object.sectionId id of menu section\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNavMenuSections({\n menuItems,\n heading = '',\n isSubmenu = false,\n showBackButton = false,\n sectionTitle = '',\n sectionUrl = '',\n sectionId = '',\n }) {\n const items = menuItems.map((elem) => {\n if (elem.menu) {\n return html`\n <dds-left-nav-menu\n ?last-highlighted=${elem.lastHighlightedItem}\n panel-id=${elem.panelId}\n ?active=\"${elem.selected}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\">\n </dds-left-nav-menu>\n `;\n }\n\n return html`\n <dds-left-nav-menu-item\n ?last-highlighted=${elem.lastHighlightedItem}\n ?active=\"${elem.selected}\"\n href=\"${elem.url}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\"></dds-left-nav-menu-item>\n `;\n });\n\n if (heading) {\n items.unshift(\n html`\n <dds-left-nav-menu-category-heading\n >${heading}</dds-left-nav-menu-category-heading\n >\n `\n );\n }\n\n return html`\n <dds-left-nav-menu-section\n section-id=\"${sectionId}\"\n ?is-submenu=${ifNonNull(isSubmenu)}\n title=${ifNonNull(sectionTitle)}\n titleUrl=${ifNonNull(sectionUrl)}\n ?show-back-button=${ifNonNull(showBackButton)}>\n ${items}\n </dds-left-nav-menu-section>\n `;\n }\n\n /**\n * checks if menu item's children url match the current url path, if so return the menu item and its children\n *\n * @returns {object} selectedItems\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectedLeftNavItems() {\n let matchFound = false;\n const selectedItems = { level0: '', level1: '', level2: '' };\n\n return ({\n menu = [\n { url: '', megapanelContent: { quickLinks: { links: [{ url: '' }] } } },\n ],\n key = '',\n parentItemUrl = '',\n currentUrlPath = '',\n }) => {\n if (!matchFound) {\n if (parentItemUrl === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n matchFound = true;\n }\n // check if child url matches current url path\n else {\n for (let i = 0; i < menu?.length; i++) {\n if (menu[i]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n matchFound = true;\n break;\n } else {\n const links = menu[i]?.megapanelContent?.quickLinks?.links;\n for (let k = 0; k < links?.length; k++) {\n if (links[k]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n selectedItems.level2 = `${key}-${i}-${k}`;\n matchFound = true;\n break;\n }\n }\n }\n }\n }\n this._hasAutoSelectedItems = matchFound;\n return selectedItems;\n }\n return selectedItems;\n };\n }\n\n /**\n * Renders the left nav menus\n *\n * @param menuItems The options.\n * @param selectedMenuItem The selected menu item\n * @param autoid Base autoid to be applied to the menu items\n * @param currentUrlPath current url path\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNav(\n menuItems,\n selectedMenuItem,\n autoid,\n currentUrlPath\n ) {\n const menu: any[] = [];\n const selectedItemUrl = this._selectedLeftNavItems();\n const level0Items = menuItems.map((elem, i) => {\n if (elem.menuSections) {\n const level1Items: {\n title: string;\n panelId: string;\n autoid: string;\n lastHighlightedItem: boolean;\n url?: string;\n menu: boolean;\n selected: boolean;\n }[] = [];\n\n let menuElems = elem.menuSections[0]?.menuItems;\n let highlightedItems: MastheadMenuItem[] = [];\n\n if (elem.hasMegapanel) {\n const {\n viewAllLink,\n highlightedItems: hightlighted,\n menu: nonHighlightedMenuItems,\n } = this._getHighlightedMenuItems(elem.menuSections);\n highlightedItems = hightlighted;\n menuElems = hightlighted.concat(nonHighlightedMenuItems);\n if (viewAllLink) {\n menuElems.push(viewAllLink);\n }\n }\n\n const selectedItems = selectedItemUrl({\n menu: menuElems,\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n // render level 1 menu sections\n menuElems?.map((item, k) => {\n const level2Items: {\n title: string;\n url?: string;\n autoid: string;\n selected: boolean;\n }[] = [];\n\n const lastHighlighted = k + 1 === highlightedItems.length;\n\n // render level 2 menu sections\n item.megapanelContent?.quickLinks?.links.map((submenu, j) => {\n return level2Items.push({\n title: submenu.title,\n url: submenu.url,\n autoid: `${autoid}--sidenav--nav${i}-list${k}-item${j}`,\n selected: !selectedMenuItem\n ? selectedItems?.level2 === `${i}-${k}-${j}`\n : selectedMenuItem === submenu.titleEnglish,\n });\n });\n\n if (level2Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level2Items,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: item.title,\n sectionUrl: item.url,\n sectionId: `${i}, ${k}`,\n })\n );\n }\n\n return level1Items.push({\n title: item.title,\n autoid: `${autoid}--sidenav--nav${i}-list${k}`,\n lastHighlightedItem: lastHighlighted,\n url: item.url,\n panelId: `${i}, ${k}`,\n selected: !selectedMenuItem\n ? selectedItems?.level1 === `${i}-${k}`\n : selectedMenuItem === item.titleEnglish,\n menu:\n item.megapanelContent?.quickLinks?.links &&\n item.megapanelContent?.quickLinks?.links.length !== 0,\n });\n });\n\n if (level1Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level1Items,\n heading: elem.menuSections[0]?.heading,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: elem.title,\n sectionUrl: elem.url,\n sectionId: `${i}, -1`,\n })\n );\n }\n }\n\n const selectedItems = selectedItemUrl({\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n return {\n title: elem.title,\n titleEnglish: elem.titleEnglish,\n menu: elem.menuSections && elem.menuSections.length !== 0,\n url: elem.url,\n panelId: `${i}, -1`,\n autoid: `${autoid}--sidenav--nav${i}`,\n selected: !selectedMenuItem\n ? selectedItems?.level0 === `${i}`\n : selectedMenuItem === elem.titleEnglish,\n };\n });\n\n return html`\n ${this._renderLeftNavMenuSections({\n menuItems: level0Items,\n sectionId: '-1, -1',\n })}\n ${menu}\n `;\n }\n\n /**\n * checks if there is a child item in the menu section that matches current url and returns true for first valid result\n *\n * @returns function that returns true or false\n */\n // eslint-disable-next-line class-methods-use-this\n protected _childLinkChecker() {\n let matchFound = false;\n\n return (sections, currentUrlPath) => {\n if (!matchFound) {\n if (sections.length) {\n const { menuItems } = sections[0];\n\n for (let i = 0; i < menuItems.length; i++) {\n if (\n menuItems[i]?.url === currentUrlPath ||\n menuItems[i]?.megapanelContent?.quickLinks?.links?.filter(\n (link) => link.url === currentUrlPath\n ).length\n ) {\n matchFound = true;\n }\n }\n }\n\n return matchFound;\n }\n\n return false;\n };\n }\n\n /**\n * @param options The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @param options.target The target of rendering navigation items.\n * @returns The nav items.\n */\n protected _renderNavItems({\n selectedMenuItem,\n target,\n hasL1,\n }: {\n selectedMenuItem?: string;\n target: NAV_ITEMS_RENDER_TARGET;\n hasL1: boolean;\n }) {\n const currentUrlPath = root.location?.href;\n const hasChildLink = this._childLinkChecker();\n const { navLinks, l1Data } = this;\n let menu: MastheadLink[] | undefined = navLinks;\n const autoid = `${ddsPrefix}--masthead__${l1Data?.menuItems ? 'l1' : 'l0'}`;\n if (hasL1) {\n menu = l1Data?.menuItems;\n }\n\n if (target === NAV_ITEMS_RENDER_TARGET.TOP_NAV) {\n return !menu\n ? undefined\n : menu.map((link, i) => {\n const { menuSections = [], title, titleEnglish, url } = link;\n let selected;\n\n if (selectedMenuItem) {\n selected = selectedMenuItem && titleEnglish === selectedMenuItem;\n } else {\n selected = hasChildLink(menuSections, currentUrlPath);\n }\n\n let sections;\n if (link.hasMegapanel) {\n sections = this.megamenuSet[i] = this._renderMegaMenu(\n menuSections,\n i\n );\n } else {\n sections = menuSections\n // eslint-disable-next-line no-use-before-define\n .reduce(\n (acc: typeof menuItems, { menuItems }) =>\n acc.concat(menuItems),\n []\n )\n .map(\n ({ title: menuItemTitle, url: menuItemUrl }, j) =>\n html`\n <dds-top-nav-menu-item\n ?active=\"${selectedMenuItem\n ? selected\n : menuItemUrl === currentUrlPath}\"\n href=\"${menuItemUrl}\"\n title=\"${menuItemTitle}\"\n data-autoid=\"${autoid}-nav--subnav-col${i}-item${j}\"></dds-top-nav-menu-item>\n `\n );\n }\n if (sections.length === 0) {\n return html`\n <dds-top-nav-item\n ?active=\"${selectedMenuItem\n ? selected\n : url === currentUrlPath}\"\n href=\"${url}\"\n title=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\"></dds-top-nav-item>\n `;\n }\n if (link.hasMegapanel) {\n return html`\n <dds-megamenu-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n </dds-megamenu-top-nav-menu>\n `;\n }\n return html`\n <dds-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n ${sections}\n </dds-top-nav-menu>\n `;\n });\n }\n\n return !menu\n ? undefined\n : this._renderLeftNav(menu, selectedMenuItem, autoid, currentUrlPath);\n }\n\n /**\n * Handles the rendering of the megamenu once it is active\n *\n * @param event The event.\n */\n @HostListener('eventMegamenuActive')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _loadMegamenu = (event: CustomEvent) => {\n const {\n target,\n detail: { active, resolveFn },\n } = event;\n const { autoid } = (target as HTMLElement).dataset;\n const index = autoid?.slice(-1);\n const currentMenu = this.megamenuSet[index!];\n render(active ? currentMenu : nothing, target as HTMLElement);\n resolveFn();\n };\n\n /**\n * Whether or not a nav item has automatically been designated as \"selected\".\n *\n * @internal\n */\n _hasAutoSelectedItems = false;\n\n /**\n * The placeholder for `loadTranslation()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadTranslation?: (\n language?: string,\n dataEndpoint?: string\n ) => Promise<Translation>;\n\n /**\n * The placeholder for `loadUserStatus()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadUserStatus?: () => void;\n\n /**\n * The placeholder for `setLanguage()` Redux action that will be mixed in.\n *\n * @internal\n */\n _setLanguage?: (language: string) => void;\n\n /**\n * `true` if there is a profile.\n */\n @property({ type: String, reflect: true, attribute: 'has-profile' })\n hasProfile = 'true';\n\n /**\n * `true` if there is a search.\n */\n @property({ type: Boolean, attribute: 'has-search' })\n hasSearch = true;\n\n /**\n * `true` to activate the search box.\n */\n @property({ type: Boolean, attribute: 'activate-search' })\n activateSearch = false;\n\n /**\n * `true` sets search to active when page loads.\n */\n @property({ attribute: 'search-open-on-load' })\n searchOpenOnload = this.activateSearch;\n\n /**\n * The profile items for authenticated state.\n */\n @property({ attribute: false })\n authenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * The platform name.\n */\n @property()\n platform!: string;\n\n /**\n * The platform url. Accepts both a string or an object with a specific URL for each locale.\n */\n @property({ attribute: false })\n platformUrl?;\n\n /**\n * The brand name.\n *\n * @deprecated brandName use platform instead\n */\n @property({ attribute: 'brand-name' })\n brandName!: string;\n\n /**\n * The search results to show in the UI.\n */\n @property({ attribute: false })\n currentSearchResults: string[] = [];\n\n /**\n * The custom profile login link.\n */\n @property({ attribute: 'custom-profile-login' })\n customProfileLogin?: string;\n\n /**\n * The boolean to use a custom search API.\n */\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n /**\n * The `aria-label` attribute for the top-level container.\n */\n @property({ attribute: 'masthead-assistive-text' })\n mastheadAssistiveText!: string;\n\n /**\n * The array containing all the megamenus to be loaded in.\n */\n @property()\n megamenuSet: TemplateResult[] = [];\n\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-assistive-text' })\n menuBarAssistiveText!: string;\n\n /**\n * The skip-to-content link text.\n */\n @property({ attribute: 'skip-to-content-text' })\n skipToContentText = 'Skip to content';\n\n /**\n * The skip-to-content href.\n */\n @property({ attribute: 'skip-to-content-href' })\n skipToContentHref = '#main-content';\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-active' })\n menuButtonAssistiveTextActive!: string;\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-inactive' })\n menuButtonAssistiveTextInactive!: string;\n\n /**\n * The parameters passed to the search-with-typeahead for search scope\n */\n @property()\n scopeParameters;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem!: string;\n\n /**\n * The profile items for unauthenticated state.\n */\n @property({ attribute: false })\n unauthenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * Specify translation endpoint if not using default dds endpoint.\n */\n @property({ attribute: 'data-endpoint' })\n dataEndpoint?: string;\n\n /**\n * The throttle timeout to run query upon user input.\n */\n @property({ type: Number, attribute: 'input-timeout' })\n inputTimeout = 200;\n\n /**\n * The language used for query.\n */\n @property()\n language?: string;\n\n /**\n * The navigation links.\n */\n @property({ attribute: false })\n navLinks?: MastheadLink[];\n\n /**\n * Logo data\n */\n @property({ attribute: false })\n logoData?: MastheadLogoData;\n\n /**\n * Data for l1.\n */\n @property({ attribute: false })\n l1Data?: MastheadL1;\n\n /**\n * `true` to open the search dropdown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'open-search-dropdown' })\n openSearchDropdown = false;\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder?: string;\n\n /**\n * The user authentication status.\n */\n @property({ attribute: 'user-status' })\n userStatus = UNAUTHENTICATED_STATUS;\n\n createRenderRoot() {\n // We render child elements of `<dds-masthead-container>` by ourselves\n return this;\n }\n\n firstUpdated() {\n const { language, dataEndpoint } = this;\n globalInit();\n if (language) {\n this._setLanguage?.(language);\n }\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n this._loadUserStatus?.();\n\n this.style.zIndex = '900';\n }\n\n updated(changedProperties) {\n if (changedProperties.has('language')) {\n const { language, dataEndpoint } = this;\n if (language) {\n this._setLanguage?.(language);\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n }\n }\n if (changedProperties.has('brandName')) {\n this.platform = this.brandName;\n // eslint-disable-next-line no-console\n console.warn(\n '`brand-name` will be deprecated in the future use `platform` instead.'\n );\n }\n }\n\n render() {\n const {\n activateSearch,\n authenticatedProfileItems,\n currentSearchResults,\n customTypeaheadAPI,\n customProfileLogin,\n platform,\n platformUrl,\n hasProfile,\n inputTimeout,\n mastheadAssistiveText,\n menuBarAssistiveText,\n menuButtonAssistiveTextActive,\n menuButtonAssistiveTextInactive,\n navLinks,\n language,\n openSearchDropdown,\n hasSearch,\n scopeParameters,\n searchPlaceholder,\n selectedMenuItem,\n skipToContentText,\n skipToContentHref,\n unauthenticatedProfileItems,\n userStatus,\n l1Data,\n } = this;\n const authenticated = userStatus !== UNAUTHENTICATED_STATUS;\n\n let profileItems;\n if (DDS_CUSTOM_PROFILE_LOGIN && customProfileLogin && !authenticated) {\n profileItems = unauthenticatedProfileItems?.map((item) => {\n if (item?.id === 'signin') {\n return { ...item, url: customProfileLogin };\n }\n return item;\n });\n } else {\n profileItems = authenticated\n ? authenticatedProfileItems\n : unauthenticatedProfileItems;\n }\n const formattedLang = language\n ?.toLowerCase()\n .replace(/-(.*)/, (m) => m.toUpperCase());\n let platformAltUrl = platformUrl;\n if (platformUrl && formattedLang) {\n if (\n typeof platformUrl === 'object' &&\n Object.prototype.hasOwnProperty.call(platformUrl, formattedLang)\n ) {\n platformAltUrl = platformUrl[formattedLang].url || platformUrl;\n }\n }\n\n return html`\n <dds-left-nav-overlay></dds-left-nav-overlay>\n <dds-left-nav>\n ${!platform\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-left-nav-name\n >\n `}\n ${!l1Data?.title\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(l1Data.url)}\"\n >${l1Data.title}</dds-left-nav-name\n >\n `}\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.LEFT_NAV,\n hasL1: !!l1Data,\n })}\n </dds-left-nav>\n <dds-masthead aria-label=\"${ifNonNull(mastheadAssistiveText)}\">\n <dds-skip-to-content\n href=\"${skipToContentHref}\"\n link-assistive-text=\"${skipToContentText}\"></dds-skip-to-content>\n <dds-masthead-menu-button\n button-label-active=\"${ifNonNull(menuButtonAssistiveTextActive)}\"\n button-label-inactive=\"${ifNonNull(menuButtonAssistiveTextInactive)}\"\n ?hide-menu-button=\"${activateSearch}\">\n </dds-masthead-menu-button>\n\n ${this._renderLogo()}\n ${!platform || l1Data\n ? undefined\n : html`\n <dds-top-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-top-nav-name\n >\n `}\n ${(!l1Data &&\n navLinks &&\n html`\n <dds-top-nav\n selected-menu-item=${selectedMenuItem}\n menu-bar-label=\"${ifNonNull(menuBarAssistiveText)}\"\n ?hideNav=\"${activateSearch}\">\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: false,\n })}\n </dds-top-nav>\n `) ||\n undefined}\n ${!hasSearch\n ? undefined\n : html`\n <dds-search-with-typeahead\n ?active=\"${activateSearch}\"\n input-timeout=\"${inputTimeout}\"\n language=\"${ifNonNull(language)}\"\n ?open=\"${openSearchDropdown}\"\n ?searchOpenOnload=\"${activateSearch}\"\n placeholder=\"${ifNonNull(searchPlaceholder)}\"\n .currentSearchResults=\"${ifNonNull(currentSearchResults)}\"\n ?custom-typeahead-api=\"${ifNonNull(customTypeaheadAPI)}\"\n .scopeParameters=\"${ifNonNull(\n scopeParameters\n )}\"></dds-search-with-typeahead>\n `}\n <dds-masthead-global-bar ?has-search-active=${activateSearch}>\n ${hasProfile === 'false'\n ? ''\n : html`\n <dds-masthead-profile ?authenticated=\"${authenticated}\">\n ${profileItems?.map(\n ({ title, url }) =>\n html`\n <dds-masthead-profile-item href=\"${ifNonNull(url)}\"\n >${title}</dds-masthead-profile-item\n >\n `\n )}\n </dds-masthead-profile>\n `}\n </dds-masthead-global-bar>\n ${!l1Data ? undefined : this._renderL1({ selectedMenuItem })}\n <dds-megamenu-overlay></dds-megamenu-overlay>\n </dds-masthead>\n `;\n }\n\n /**\n * The name of the custom event fired when a top nav menu is clicked\n */\n static get eventMegamenuActive() {\n return `${ddsPrefix}-megamenu-top-nav-menu-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSMastheadComposite;\n"]}
1
+ {"version":3,"sources":["components/masthead/masthead-composite.ts"],"names":[],"mappings":"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","file":"masthead-composite.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\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, property, LitElement, TemplateResult } from 'lit-element';\nimport { nothing, render } from 'lit-html';\nimport HostListener from '../../internal/vendor/@carbon/web-components/globals/decorators/host-listener.js';\nimport HostListenerMixin from '../../internal/vendor/@carbon/web-components/globals/mixins/host-listener.js';\nimport ArrowRight16 from '../../internal/vendor/@carbon/web-components/icons/arrow--right/16.js';\nimport ifNonNull from '../../internal/vendor/@carbon/web-components/globals/directives/if-non-null.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport root from 'window-or-global';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport { globalInit } from '../../internal/vendor/@carbon/ibmdotcom-services/services/global/global';\nimport MastheadLogoAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/MastheadLogo/MastheadLogo';\nimport {\n MastheadL1,\n MastheadLink,\n MastheadLogoData,\n MastheadMenuItem,\n MastheadProfileItem,\n Translation,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI.d';\nimport { UNAUTHENTICATED_STATUS } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/profileAPI';\nimport { MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME } from './megamenu-right-navigation';\nimport { DDS_CUSTOM_PROFILE_LOGIN } from '../../globals/internal/feature-flags';\nimport DDSMastheadLogo from './masthead-logo';\nimport './masthead';\nimport './masthead-l1';\nimport './masthead-l1-name';\nimport './masthead-menu-button';\nimport './masthead-global-bar';\nimport './masthead-profile';\nimport './masthead-profile-item';\nimport './megamenu';\nimport './megamenu-top-nav-menu';\nimport './skip-to-content';\nimport './top-nav';\nimport './top-nav-l1';\nimport './top-nav-name';\nimport './top-nav-item';\nimport './top-nav-menu';\nimport './top-nav-menu-item';\nimport './left-nav';\nimport '../search-with-typeahead/search-with-typeahead';\nimport '../search-with-typeahead/search-with-typeahead-item';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '../../internal/vendor/@carbon/web-components/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * Rendering target for masthead navigation items.\n */\nexport enum NAV_ITEMS_RENDER_TARGET {\n /**\n * For top navigation.\n */\n TOP_NAV = 'top-nav',\n\n /**\n * For left navigation.\n */\n LEFT_NAV = 'left-nav',\n}\n\n/**\n * Component that renders masthead from links, etc. data.\n *\n * @element dds-masthead-composite\n */\n@customElement(`${ddsPrefix}-masthead-composite`)\nclass DDSMastheadComposite extends HostListenerMixin(LitElement) {\n /**\n * Renders L1 menu based on l1Data\n *\n * @param [options] The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @returns The L1 nav.\n */\n protected _renderL1({\n selectedMenuItem,\n }: { selectedMenuItem?: string } = {}) {\n if (!this.l1Data) return undefined;\n const { url, title } = this.l1Data;\n const isSelected = !this._hasAutoSelectedItems && !selectedMenuItem;\n return html`\n <dds-masthead-l1 slot=\"masthead-l1\">\n ${!title\n ? undefined\n : html`\n <dds-masthead-l1-name\n title=\"${title}\"\n aria-selected=\"${isSelected}\"\n url=\"${url}\"></dds-masthead-l1-name>\n `}\n <dds-top-nav-l1 selected-menu-item=${selectedMenuItem}\n >${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: true,\n })}</dds-top-nav-l1\n >\n </dds-masthead-l1>\n `;\n }\n\n /**\n * Renders masthead logo\n *\n */\n protected _renderLogo() {\n if (!this.logoData) {\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"></dds-masthead-logo>\n `;\n }\n const useAlternateLogo = MastheadLogoAPI.setMastheadLogo(this.logoData);\n const { tooltip, svg, href } = this.logoData;\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"\n ?hasTooltip=\"${tooltip}\"\n aria-label=\"${ifNonNull(tooltip)}\"\n href=\"${href || DDSMastheadLogo.hrefDefault}\"\n >${useAlternateLogo ? unsafeSVG(svg) : nothing}</dds-masthead-logo\n >\n `;\n }\n\n /**\n * Sorts highlighted and regular menu items in separate arrays\n * and returns view all link\n *\n * @param sections menu section data object\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getHighlightedMenuItems(sections) {\n const highlightedItems: MastheadMenuItem[] = [];\n let viewAllLink;\n const menu: MastheadMenuItem[] = [];\n\n sections[0]?.menuItems?.forEach((item: MastheadMenuItem) => {\n if (item.highlighted) return highlightedItems.push(item);\n if (item.megaPanelViewAll) {\n viewAllLink = item;\n return viewAllLink;\n }\n return menu.push(item);\n });\n\n return { viewAllLink, highlightedItems, menu };\n }\n\n /**\n * Render MegaMenu content\n *\n * @param sections menu section data object\n * @param _parentKey parent menu key (used for the cloud-masthead-composite component)\n */\n // eslint-disable-next-line\n protected _renderMegaMenu(sections, _parentKey) {\n const { viewAllLink, highlightedItems, menu } =\n this._getHighlightedMenuItems(sections);\n const hasHighlights = highlightedItems.length !== 0;\n return html`\n <dds-megamenu>\n ${hasHighlights\n ? html`\n <dds-megamenu-left-navigation>\n ${sections[0]?.heading &&\n html`\n <dds-megamenu-category-group-copy\n >${sections[0]?.heading}</dds-megamenu-category-group-copy\n >\n `}\n ${highlightedItems.map((item, i) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${i}`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n <dds-megamenu-category-group-copy\n >${item.megapanelContent\n ?.description}</dds-megamenu-category-group-copy\n >\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url, highlightedLink }, key) => {\n return html`\n ${highlightedLink\n ? html`\n <dds-megamenu-link-with-icon\n data-autoid=\"${autoid}-item${key}\"\n href=\"${url}\"\n style-scheme=\"category-sublink\"\n title=\"${title}\">\n <span>${title}</span>${ArrowRight16({\n slot: 'icon',\n })}\n </dds-megamenu-link-with-icon>\n `\n : html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `}\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-left-navigation>\n `\n : null}\n <dds-megamenu-right-navigation\n style-scheme=\"${hasHighlights\n ? MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.LEFT_SECTION\n : MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.REGULAR}\"\n view-all-href=\"${ifNonNull(viewAllLink?.url)}\"\n view-all-title=\"${ifNonNull(viewAllLink?.title)}\">\n ${menu.map((item, j) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${\n j + highlightedItems.length\n }`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url }, key) => {\n return html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-right-navigation>\n </dds-megamenu>\n `;\n }\n\n /**\n * Renders the left nav menus sections\n *\n * @param object heading heading of menu section\n * @param object.menuItems menu items\n * @param object.heading heading heading of menu section\n * @param object.isSubmenu determines whether menu section is a submenu section\n * @param object.showBackButton Determines whether to show back button\n * @param object.sectionTitle title of menu section\n * @param object.sectionUrl section title url of menu section\n * @param object.sectionId id of menu section\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNavMenuSections({\n menuItems,\n heading = '',\n isSubmenu = false,\n showBackButton = false,\n sectionTitle = '',\n sectionUrl = '',\n sectionId = '',\n }) {\n const items = menuItems.map((elem) => {\n if (elem.menu) {\n return html`\n <dds-left-nav-menu\n ?last-highlighted=${elem.lastHighlightedItem}\n panel-id=${elem.panelId}\n ?active=\"${elem.selected}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\">\n </dds-left-nav-menu>\n `;\n }\n\n return html`\n <dds-left-nav-menu-item\n ?last-highlighted=${elem.lastHighlightedItem}\n ?active=\"${elem.selected}\"\n href=\"${elem.url}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\"></dds-left-nav-menu-item>\n `;\n });\n\n if (heading) {\n items.unshift(\n html`\n <dds-left-nav-menu-category-heading\n >${heading}</dds-left-nav-menu-category-heading\n >\n `\n );\n }\n\n return html`\n <dds-left-nav-menu-section\n section-id=\"${sectionId}\"\n ?is-submenu=${ifNonNull(isSubmenu)}\n title=${ifNonNull(sectionTitle)}\n titleUrl=${ifNonNull(sectionUrl)}\n ?show-back-button=${ifNonNull(showBackButton)}>\n ${items}\n </dds-left-nav-menu-section>\n `;\n }\n\n /**\n * checks if menu item's children url match the current url path, if so return the menu item and its children\n *\n * @returns {object} selectedItems\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectedLeftNavItems() {\n let matchFound = false;\n const selectedItems = { level0: '', level1: '', level2: '' };\n\n return ({\n menu = [\n { url: '', megapanelContent: { quickLinks: { links: [{ url: '' }] } } },\n ],\n key = '',\n parentItemUrl = '',\n currentUrlPath = '',\n }) => {\n if (!matchFound) {\n if (parentItemUrl === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n matchFound = true;\n }\n // check if child url matches current url path\n else {\n for (let i = 0; i < menu?.length; i++) {\n if (menu[i]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n matchFound = true;\n break;\n } else {\n const links = menu[i]?.megapanelContent?.quickLinks?.links;\n for (let k = 0; k < links?.length; k++) {\n if (links[k]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n selectedItems.level2 = `${key}-${i}-${k}`;\n matchFound = true;\n break;\n }\n }\n }\n }\n }\n this._hasAutoSelectedItems = matchFound;\n return selectedItems;\n }\n return selectedItems;\n };\n }\n\n /**\n * Renders the left nav menus\n *\n * @param menuItems The options.\n * @param selectedMenuItem The selected menu item\n * @param autoid Base autoid to be applied to the menu items\n * @param currentUrlPath current url path\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNav(\n menuItems,\n selectedMenuItem,\n autoid,\n currentUrlPath\n ) {\n const menu: any[] = [];\n const selectedItemUrl = this._selectedLeftNavItems();\n const level0Items = menuItems.map((elem, i) => {\n if (elem.menuSections) {\n const level1Items: {\n title: string;\n panelId: string;\n autoid: string;\n lastHighlightedItem: boolean;\n url?: string;\n menu: boolean;\n selected: boolean;\n }[] = [];\n\n let menuElems = elem.menuSections[0]?.menuItems;\n let highlightedItems: MastheadMenuItem[] = [];\n\n if (elem.hasMegapanel) {\n const {\n viewAllLink,\n highlightedItems: hightlighted,\n menu: nonHighlightedMenuItems,\n } = this._getHighlightedMenuItems(elem.menuSections);\n highlightedItems = hightlighted;\n menuElems = hightlighted.concat(nonHighlightedMenuItems);\n if (viewAllLink) {\n menuElems.push(viewAllLink);\n }\n }\n\n const selectedItems = selectedItemUrl({\n menu: menuElems,\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n // render level 1 menu sections\n menuElems?.map((item, k) => {\n const level2Items: {\n title: string;\n url?: string;\n autoid: string;\n selected: boolean;\n }[] = [];\n\n const lastHighlighted = k + 1 === highlightedItems.length;\n\n // render level 2 menu sections\n item.megapanelContent?.quickLinks?.links.map((submenu, j) => {\n return level2Items.push({\n title: submenu.title,\n url: submenu.url,\n autoid: `${autoid}--sidenav--nav${i}-list${k}-item${j}`,\n selected: !selectedMenuItem\n ? selectedItems?.level2 === `${i}-${k}-${j}`\n : selectedMenuItem === submenu.titleEnglish,\n });\n });\n\n if (level2Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level2Items,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: item.title,\n sectionUrl: item.url,\n sectionId: `${i}, ${k}`,\n })\n );\n }\n\n return level1Items.push({\n title: item.title,\n autoid: `${autoid}--sidenav--nav${i}-list${k}`,\n lastHighlightedItem: lastHighlighted,\n url: item.url,\n panelId: `${i}, ${k}`,\n selected: !selectedMenuItem\n ? selectedItems?.level1 === `${i}-${k}`\n : selectedMenuItem === item.titleEnglish,\n menu:\n item.megapanelContent?.quickLinks?.links &&\n item.megapanelContent?.quickLinks?.links.length !== 0,\n });\n });\n\n if (level1Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level1Items,\n heading: elem.menuSections[0]?.heading,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: elem.title,\n sectionUrl: elem.url,\n sectionId: `${i}, -1`,\n })\n );\n }\n }\n\n const selectedItems = selectedItemUrl({\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n return {\n title: elem.title,\n titleEnglish: elem.titleEnglish,\n menu: elem.menuSections && elem.menuSections.length !== 0,\n url: elem.url,\n panelId: `${i}, -1`,\n autoid: `${autoid}--sidenav--nav${i}`,\n selected: !selectedMenuItem\n ? selectedItems?.level0 === `${i}`\n : selectedMenuItem === elem.titleEnglish,\n };\n });\n\n return html`\n ${this._renderLeftNavMenuSections({\n menuItems: level0Items,\n sectionId: '-1, -1',\n })}\n ${menu}\n `;\n }\n\n /**\n * checks if there is a child item in the menu section that matches current url and returns true for first valid result\n *\n * @returns function that returns true or false\n */\n // eslint-disable-next-line class-methods-use-this\n protected _childLinkChecker() {\n let matchFound = false;\n\n return (sections, currentUrlPath) => {\n if (!matchFound) {\n if (sections.length) {\n const { menuItems } = sections[0];\n\n for (let i = 0; i < menuItems.length; i++) {\n if (\n menuItems[i]?.url === currentUrlPath ||\n menuItems[i]?.megapanelContent?.quickLinks?.links?.filter(\n (link) => link.url === currentUrlPath\n ).length\n ) {\n matchFound = true;\n }\n }\n }\n\n return matchFound;\n }\n\n return false;\n };\n }\n\n /**\n * @param options The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @param options.target The target of rendering navigation items.\n * @returns The nav items.\n */\n protected _renderNavItems({\n selectedMenuItem,\n target,\n hasL1,\n }: {\n selectedMenuItem?: string;\n target: NAV_ITEMS_RENDER_TARGET;\n hasL1: boolean;\n }) {\n const currentUrlPath = root.location?.href;\n const hasChildLink = this._childLinkChecker();\n const { navLinks, l1Data } = this;\n let menu: MastheadLink[] | undefined = navLinks;\n const autoid = `${ddsPrefix}--masthead__${l1Data?.menuItems ? 'l1' : 'l0'}`;\n if (hasL1) {\n menu = l1Data?.menuItems;\n }\n\n if (target === NAV_ITEMS_RENDER_TARGET.TOP_NAV) {\n return !menu\n ? undefined\n : menu.map((link, i) => {\n const { menuSections = [], title, titleEnglish, url } = link;\n let selected;\n\n if (selectedMenuItem) {\n selected = selectedMenuItem && titleEnglish === selectedMenuItem;\n } else {\n selected = hasChildLink(menuSections, currentUrlPath);\n }\n\n let sections;\n if (link.hasMegapanel) {\n sections = this.megamenuSet[i] = this._renderMegaMenu(\n menuSections,\n i\n );\n } else {\n sections = menuSections\n // eslint-disable-next-line no-use-before-define\n .reduce(\n (acc: typeof menuItems, { menuItems }) =>\n acc.concat(menuItems),\n []\n )\n .map(\n ({ title: menuItemTitle, url: menuItemUrl }, j) =>\n html`\n <dds-top-nav-menu-item\n ?active=\"${selectedMenuItem\n ? selected\n : menuItemUrl === currentUrlPath}\"\n href=\"${menuItemUrl}\"\n title=\"${menuItemTitle}\"\n data-autoid=\"${autoid}-nav--subnav-col${i}-item${j}\"></dds-top-nav-menu-item>\n `\n );\n }\n if (sections.length === 0) {\n return html`\n <dds-top-nav-item\n ?active=\"${selectedMenuItem\n ? selected\n : url === currentUrlPath}\"\n href=\"${url}\"\n title=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\"></dds-top-nav-item>\n `;\n }\n if (link.hasMegapanel) {\n return html`\n <dds-megamenu-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n </dds-megamenu-top-nav-menu>\n `;\n }\n return html`\n <dds-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n ${sections}\n </dds-top-nav-menu>\n `;\n });\n }\n\n return !menu\n ? undefined\n : this._renderLeftNav(menu, selectedMenuItem, autoid, currentUrlPath);\n }\n\n /**\n * Handles the rendering of the megamenu once it is active\n *\n * @param event The event.\n */\n @HostListener('eventMegamenuActive')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _loadMegamenu = (event: CustomEvent) => {\n const {\n target,\n detail: { active, resolveFn },\n } = event;\n const { autoid } = (target as HTMLElement).dataset;\n const index = autoid?.slice(-1);\n const currentMenu = this.megamenuSet[index!];\n render(active ? currentMenu : nothing, target as HTMLElement);\n resolveFn();\n };\n\n /**\n * Whether or not a nav item has automatically been designated as \"selected\".\n *\n * @internal\n */\n _hasAutoSelectedItems = false;\n\n /**\n * The placeholder for `loadTranslation()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadTranslation?: (\n language?: string,\n dataEndpoint?: string\n ) => Promise<Translation>;\n\n /**\n * The placeholder for `loadUserStatus()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadUserStatus?: () => void;\n\n /**\n * The placeholder for `setLanguage()` Redux action that will be mixed in.\n *\n * @internal\n */\n _setLanguage?: (language: string) => void;\n\n /**\n * `true` if there is a profile.\n */\n @property({ type: String, reflect: true, attribute: 'has-profile' })\n hasProfile = 'true';\n\n /**\n * `true` if there is a search.\n */\n @property({ type: String, reflect: true, attribute: 'has-search' })\n hasSearch = 'true';\n\n /**\n * `true` to activate the search box.\n */\n @property({ type: Boolean, attribute: 'activate-search' })\n activateSearch = false;\n\n /**\n * `true` sets search to active when page loads.\n */\n @property({ attribute: 'search-open-on-load' })\n searchOpenOnload = this.activateSearch;\n\n /**\n * The profile items for authenticated state.\n */\n @property({ attribute: false })\n authenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * The platform name.\n */\n @property()\n platform!: string;\n\n /**\n * The platform url. Accepts both a string or an object with a specific URL for each locale.\n */\n @property({ attribute: false })\n platformUrl?;\n\n /**\n * The brand name.\n *\n * @deprecated brandName use platform instead\n */\n @property({ attribute: 'brand-name' })\n brandName!: string;\n\n /**\n * The search results to show in the UI.\n */\n @property({ attribute: false })\n currentSearchResults: string[] = [];\n\n /**\n * The custom profile login link.\n */\n @property({ attribute: 'custom-profile-login' })\n customProfileLogin?: string;\n\n /**\n * The boolean to use a custom search API.\n */\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n /**\n * The `aria-label` attribute for the top-level container.\n */\n @property({ attribute: 'masthead-assistive-text' })\n mastheadAssistiveText!: string;\n\n /**\n * The array containing all the megamenus to be loaded in.\n */\n @property()\n megamenuSet: TemplateResult[] = [];\n\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-assistive-text' })\n menuBarAssistiveText!: string;\n\n /**\n * The skip-to-content link text.\n */\n @property({ attribute: 'skip-to-content-text' })\n skipToContentText = 'Skip to content';\n\n /**\n * The skip-to-content href.\n */\n @property({ attribute: 'skip-to-content-href' })\n skipToContentHref = '#main-content';\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-active' })\n menuButtonAssistiveTextActive!: string;\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-inactive' })\n menuButtonAssistiveTextInactive!: string;\n\n /**\n * The parameters passed to the search-with-typeahead for search scope\n */\n @property()\n scopeParameters;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem!: string;\n\n /**\n * The profile items for unauthenticated state.\n */\n @property({ attribute: false })\n unauthenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * Specify translation endpoint if not using default dds endpoint.\n */\n @property({ attribute: 'data-endpoint' })\n dataEndpoint?: string;\n\n /**\n * The throttle timeout to run query upon user input.\n */\n @property({ type: Number, attribute: 'input-timeout' })\n inputTimeout = 200;\n\n /**\n * The language used for query.\n */\n @property()\n language?: string;\n\n /**\n * The navigation links.\n */\n @property({ attribute: false })\n navLinks?: MastheadLink[];\n\n /**\n * Logo data\n */\n @property({ attribute: false })\n logoData?: MastheadLogoData;\n\n /**\n * Data for l1.\n */\n @property({ attribute: false })\n l1Data?: MastheadL1;\n\n /**\n * `true` to open the search dropdown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'open-search-dropdown' })\n openSearchDropdown = false;\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder?: string;\n\n /**\n * The user authentication status.\n */\n @property({ attribute: 'user-status' })\n userStatus = UNAUTHENTICATED_STATUS;\n\n createRenderRoot() {\n // We render child elements of `<dds-masthead-container>` by ourselves\n return this;\n }\n\n firstUpdated() {\n const { language, dataEndpoint } = this;\n globalInit();\n if (language) {\n this._setLanguage?.(language);\n }\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n this._loadUserStatus?.();\n\n this.style.zIndex = '900';\n }\n\n updated(changedProperties) {\n if (changedProperties.has('language')) {\n const { language, dataEndpoint } = this;\n if (language) {\n this._setLanguage?.(language);\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n }\n }\n if (changedProperties.has('brandName')) {\n this.platform = this.brandName;\n // eslint-disable-next-line no-console\n console.warn(\n '`brand-name` will be deprecated in the future use `platform` instead.'\n );\n }\n }\n\n render() {\n const {\n activateSearch,\n authenticatedProfileItems,\n currentSearchResults,\n customTypeaheadAPI,\n customProfileLogin,\n platform,\n platformUrl,\n hasProfile,\n inputTimeout,\n mastheadAssistiveText,\n menuBarAssistiveText,\n menuButtonAssistiveTextActive,\n menuButtonAssistiveTextInactive,\n navLinks,\n language,\n openSearchDropdown,\n hasSearch,\n scopeParameters,\n searchPlaceholder,\n selectedMenuItem,\n skipToContentText,\n skipToContentHref,\n unauthenticatedProfileItems,\n userStatus,\n l1Data,\n } = this;\n const authenticated = userStatus !== UNAUTHENTICATED_STATUS;\n\n let profileItems;\n if (DDS_CUSTOM_PROFILE_LOGIN && customProfileLogin && !authenticated) {\n profileItems = unauthenticatedProfileItems?.map((item) => {\n if (item?.id === 'signin') {\n return { ...item, url: customProfileLogin };\n }\n return item;\n });\n } else {\n profileItems = authenticated\n ? authenticatedProfileItems\n : unauthenticatedProfileItems;\n }\n const formattedLang = language\n ?.toLowerCase()\n .replace(/-(.*)/, (m) => m.toUpperCase());\n let platformAltUrl = platformUrl;\n if (platformUrl && formattedLang) {\n if (\n typeof platformUrl === 'object' &&\n Object.prototype.hasOwnProperty.call(platformUrl, formattedLang)\n ) {\n platformAltUrl = platformUrl[formattedLang].url || platformUrl;\n }\n }\n\n return html`\n <dds-left-nav-overlay></dds-left-nav-overlay>\n <dds-left-nav>\n ${!platform\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-left-nav-name\n >\n `}\n ${!l1Data?.title\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(l1Data.url)}\"\n >${l1Data.title}</dds-left-nav-name\n >\n `}\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.LEFT_NAV,\n hasL1: !!l1Data,\n })}\n </dds-left-nav>\n <dds-masthead aria-label=\"${ifNonNull(mastheadAssistiveText)}\">\n <dds-skip-to-content\n href=\"${skipToContentHref}\"\n link-assistive-text=\"${skipToContentText}\"></dds-skip-to-content>\n <dds-masthead-menu-button\n button-label-active=\"${ifNonNull(menuButtonAssistiveTextActive)}\"\n button-label-inactive=\"${ifNonNull(menuButtonAssistiveTextInactive)}\"\n ?hide-menu-button=\"${activateSearch}\">\n </dds-masthead-menu-button>\n\n ${this._renderLogo()}\n ${!platform || l1Data\n ? undefined\n : html`\n <dds-top-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-top-nav-name\n >\n `}\n ${(!l1Data &&\n navLinks &&\n html`\n <dds-top-nav\n selected-menu-item=${selectedMenuItem}\n menu-bar-label=\"${ifNonNull(menuBarAssistiveText)}\"\n ?hideNav=\"${activateSearch}\">\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: false,\n })}\n </dds-top-nav>\n `) ||\n undefined}\n ${hasSearch === 'false'\n ? ''\n : html`\n <dds-search-with-typeahead\n ?active=\"${activateSearch}\"\n input-timeout=\"${inputTimeout}\"\n language=\"${ifNonNull(language)}\"\n ?open=\"${openSearchDropdown}\"\n ?searchOpenOnload=\"${activateSearch}\"\n placeholder=\"${ifNonNull(searchPlaceholder)}\"\n .currentSearchResults=\"${ifNonNull(currentSearchResults)}\"\n ?custom-typeahead-api=\"${ifNonNull(customTypeaheadAPI)}\"\n .scopeParameters=\"${ifNonNull(\n scopeParameters\n )}\"></dds-search-with-typeahead>\n `}\n <dds-masthead-global-bar ?has-search-active=${activateSearch}>\n ${hasProfile === 'false'\n ? ''\n : html`\n <dds-masthead-profile ?authenticated=\"${authenticated}\">\n ${profileItems?.map(\n ({ title, url }) =>\n html`\n <dds-masthead-profile-item href=\"${ifNonNull(url)}\"\n >${title}</dds-masthead-profile-item\n >\n `\n )}\n </dds-masthead-profile>\n `}\n </dds-masthead-global-bar>\n ${!l1Data ? undefined : this._renderL1({ selectedMenuItem })}\n <dds-megamenu-overlay></dds-megamenu-overlay>\n </dds-masthead>\n `;\n }\n\n /**\n * The name of the custom event fired when a top nav menu is clicked\n */\n static get eventMegamenuActive() {\n return `${ddsPrefix}-megamenu-top-nav-menu-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSMastheadComposite;\n"]}
@@ -571,12 +571,13 @@ var DDSMastheadComposite = (0, _decorate2["default"])([(0, _carbonElement.carbon
571
571
  }, {
572
572
  kind: "field",
573
573
  decorators: [(0, _litElement.property)({
574
- type: Boolean,
574
+ type: String,
575
+ reflect: true,
575
576
  attribute: 'has-search'
576
577
  })],
577
578
  key: "hasSearch",
578
579
  value: function value() {
579
- return true;
580
+ return 'true';
580
581
  }
581
582
  }, {
582
583
  kind: "field",
@@ -1006,7 +1007,7 @@ var DDSMastheadComposite = (0, _decorate2["default"])([(0, _carbonElement.carbon
1006
1007
  selectedMenuItem: selectedMenuItem,
1007
1008
  target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,
1008
1009
  hasL1: false
1009
- })) || undefined, !hasSearch ? undefined : (0, _litElement.html)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n <dds-search-with-typeahead\n ?active=\"", "\"\n input-timeout=\"", "\"\n language=\"", "\"\n ?open=\"", "\"\n ?searchOpenOnload=\"", "\"\n placeholder=\"", "\"\n .currentSearchResults=\"", "\"\n ?custom-typeahead-api=\"", "\"\n .scopeParameters=\"", "\"></dds-search-with-typeahead>\n "])), activateSearch, inputTimeout, (0, _ifNonNull["default"])(language), openSearchDropdown, activateSearch, (0, _ifNonNull["default"])(searchPlaceholder), (0, _ifNonNull["default"])(currentSearchResults), (0, _ifNonNull["default"])(customTypeaheadAPI), (0, _ifNonNull["default"])(scopeParameters)), activateSearch, hasProfile === 'false' ? '' : (0, _litElement.html)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n <dds-masthead-profile ?authenticated=\"", "\">\n ", "\n </dds-masthead-profile>\n "])), authenticated, (_profileItems = profileItems) === null || _profileItems === void 0 ? void 0 : _profileItems.map(function (_ref9) {
1010
+ })) || undefined, hasSearch === 'false' ? '' : (0, _litElement.html)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n <dds-search-with-typeahead\n ?active=\"", "\"\n input-timeout=\"", "\"\n language=\"", "\"\n ?open=\"", "\"\n ?searchOpenOnload=\"", "\"\n placeholder=\"", "\"\n .currentSearchResults=\"", "\"\n ?custom-typeahead-api=\"", "\"\n .scopeParameters=\"", "\"></dds-search-with-typeahead>\n "])), activateSearch, inputTimeout, (0, _ifNonNull["default"])(language), openSearchDropdown, activateSearch, (0, _ifNonNull["default"])(searchPlaceholder), (0, _ifNonNull["default"])(currentSearchResults), (0, _ifNonNull["default"])(customTypeaheadAPI), (0, _ifNonNull["default"])(scopeParameters)), activateSearch, hasProfile === 'false' ? '' : (0, _litElement.html)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n <dds-masthead-profile ?authenticated=\"", "\">\n ", "\n </dds-masthead-profile>\n "])), authenticated, (_profileItems = profileItems) === null || _profileItems === void 0 ? void 0 : _profileItems.map(function (_ref9) {
1010
1011
  var title = _ref9.title,
1011
1012
  url = _ref9.url;
1012
1013
  return (0, _litElement.html)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n <dds-masthead-profile-item href=\"", "\"\n >", "</dds-masthead-profile-item\n >\n "])), (0, _ifNonNull["default"])(url), title);
@@ -1 +1 @@
1
- {"version":3,"file":"masthead-composite.js","names":["_litElement","require","_litHtml","_hostListener","_interopRequireDefault","_hostListener2","_","_ifNonNull","_unsafeSvg","_windowOrGlobal","_settings","_global","_MastheadLogo","_profileAPI","_megamenuRightNavigation","_featureFlags","_mastheadLogo","_mastheadCss","_carbonElement","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ddsPrefix","ddsSettings","stablePrefix","NAV_ITEMS_RENDER_TARGET","exports","DDSMastheadComposite","_decorate2","customElement","concat","_initialize","_HostListenerMixin","_HostListenerMixin2","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","_assertThisInitialized2","_createClass2","F","d","kind","value","_renderL1","_ref","undefined","selectedMenuItem","l1Data","_this$l1Data","url","title","isSelected","_hasAutoSelectedItems","html","_taggedTemplateLiteral2","_renderNavItems","TOP_NAV","hasL1","_renderLogo","logoData","activateSearch","useAlternateLogo","MastheadLogoAPI","setMastheadLogo","_this$logoData","tooltip","svg","href","ifNonNull","DDSMastheadLogo","hrefDefault","unsafeSVG","nothing","_getHighlightedMenuItems","sections","_sections$","_sections$$menuItems","highlightedItems","viewAllLink","menu","menuItems","item","highlighted","megaPanelViewAll","_renderMegaMenu","_parentKey","_sections$2","_sections$3","_this$_getHighlighted","hasHighlights","heading","map","_item$megapanelConten","_item$megapanelConten2","_item$megapanelConten3","autoid","megapanelContent","description","quickLinks","links","_ref2","highlightedLink","ArrowRight16","slot","MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME","LEFT_SECTION","REGULAR","j","_item$megapanelConten4","_item$megapanelConten5","_ref3","_renderLeftNavMenuSections","_ref4","_ref4$heading","_ref4$isSubmenu","isSubmenu","_ref4$showBackButton","showBackButton","_ref4$sectionTitle","sectionTitle","_ref4$sectionUrl","sectionUrl","_ref4$sectionId","sectionId","items","elem","lastHighlightedItem","panelId","selected","unshift","_selectedLeftNavItems","_this2","matchFound","selectedItems","level0","level1","level2","_ref5","_ref5$menu","_ref5$key","_ref5$parentItemUrl","parentItemUrl","_ref5$currentUrlPath","currentUrlPath","_menu$i","_menu$i2","_menu$i2$megapanelCon","_menu$i2$megapanelCon2","k","_links$k","_renderLeftNav","_this3","selectedItemUrl","level0Items","menuSections","_elem$menuSections$","_menuElems","level1Items","menuElems","hasMegapanel","_this3$_getHighlighte","hightlighted","nonHighlightedMenuItems","_item$megapanelConten6","_item$megapanelConten7","_item$megapanelConten8","_item$megapanelConten9","_item$megapanelConten10","_item$megapanelConten11","level2Items","lastHighlighted","submenu","titleEnglish","_elem$menuSections$2","_childLinkChecker","_menuItems$i","_menuItems$i2","_menuItems$i2$megapan","_menuItems$i2$megapan2","_menuItems$i2$megapan3","link","_ref6","_root$location","_this4","root","location","hasChildLink","navLinks","_link$menuSections","megamenuSet","reduce","acc","_ref7","_ref8","menuItemTitle","menuItemUrl","decorators","HostListener","_this5","event","_event$detail","detail","active","resolveFn","dataset","index","slice","currentMenu","render","property","type","String","reflect","attribute","Number","UNAUTHENTICATED_STATUS","createRenderRoot","firstUpdated","_this$_loadTranslatio","_this$_loadUserStatus","language","dataEndpoint","globalInit","_this$_setLanguage","_setLanguage","_loadTranslation","_loadUserStatus","style","zIndex","updated","changedProperties","has","_this$_setLanguage2","_this$_loadTranslatio2","platform","brandName","console","warn","_profileItems","authenticatedProfileItems","currentSearchResults","customTypeaheadAPI","customProfileLogin","platformUrl","hasProfile","inputTimeout","mastheadAssistiveText","menuBarAssistiveText","menuButtonAssistiveTextActive","menuButtonAssistiveTextInactive","openSearchDropdown","hasSearch","scopeParameters","searchPlaceholder","skipToContentText","skipToContentHref","unauthenticatedProfileItems","userStatus","authenticated","profileItems","DDS_CUSTOM_PROFILE_LOGIN","id","formattedLang","toLowerCase","replace","m","toUpperCase","platformAltUrl","_typeof2","hasOwnProperty","LEFT_NAV","_ref9","eventMegamenuActive","styles","HostListenerMixin","LitElement","_default"],"sources":["components/masthead/masthead-composite.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\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, property, LitElement, TemplateResult } from 'lit-element';\nimport { nothing, render } from 'lit-html';\nimport HostListener from '../../internal/vendor/@carbon/web-components/globals/decorators/host-listener.js';\nimport HostListenerMixin from '../../internal/vendor/@carbon/web-components/globals/mixins/host-listener.js';\nimport ArrowRight16 from '../../internal/vendor/@carbon/web-components/icons/arrow--right/16.js';\nimport ifNonNull from '../../internal/vendor/@carbon/web-components/globals/directives/if-non-null.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport root from 'window-or-global';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport { globalInit } from '../../internal/vendor/@carbon/ibmdotcom-services/services/global/global';\nimport MastheadLogoAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/MastheadLogo/MastheadLogo';\nimport {\n MastheadL1,\n MastheadLink,\n MastheadLogoData,\n MastheadMenuItem,\n MastheadProfileItem,\n Translation,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI.d';\nimport { UNAUTHENTICATED_STATUS } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/profileAPI';\nimport { MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME } from './megamenu-right-navigation';\nimport { DDS_CUSTOM_PROFILE_LOGIN } from '../../globals/internal/feature-flags';\nimport DDSMastheadLogo from './masthead-logo';\nimport './masthead';\nimport './masthead-l1';\nimport './masthead-l1-name';\nimport './masthead-menu-button';\nimport './masthead-global-bar';\nimport './masthead-profile';\nimport './masthead-profile-item';\nimport './megamenu';\nimport './megamenu-top-nav-menu';\nimport './skip-to-content';\nimport './top-nav';\nimport './top-nav-l1';\nimport './top-nav-name';\nimport './top-nav-item';\nimport './top-nav-menu';\nimport './top-nav-menu-item';\nimport './left-nav';\nimport '../search-with-typeahead/search-with-typeahead';\nimport '../search-with-typeahead/search-with-typeahead-item';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '../../internal/vendor/@carbon/web-components/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * Rendering target for masthead navigation items.\n */\nexport enum NAV_ITEMS_RENDER_TARGET {\n /**\n * For top navigation.\n */\n TOP_NAV = 'top-nav',\n\n /**\n * For left navigation.\n */\n LEFT_NAV = 'left-nav',\n}\n\n/**\n * Component that renders masthead from links, etc. data.\n *\n * @element dds-masthead-composite\n */\n@customElement(`${ddsPrefix}-masthead-composite`)\nclass DDSMastheadComposite extends HostListenerMixin(LitElement) {\n /**\n * Renders L1 menu based on l1Data\n *\n * @param [options] The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @returns The L1 nav.\n */\n protected _renderL1({\n selectedMenuItem,\n }: { selectedMenuItem?: string } = {}) {\n if (!this.l1Data) return undefined;\n const { url, title } = this.l1Data;\n const isSelected = !this._hasAutoSelectedItems && !selectedMenuItem;\n return html`\n <dds-masthead-l1 slot=\"masthead-l1\">\n ${!title\n ? undefined\n : html`\n <dds-masthead-l1-name\n title=\"${title}\"\n aria-selected=\"${isSelected}\"\n url=\"${url}\"></dds-masthead-l1-name>\n `}\n <dds-top-nav-l1 selected-menu-item=${selectedMenuItem}\n >${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: true,\n })}</dds-top-nav-l1\n >\n </dds-masthead-l1>\n `;\n }\n\n /**\n * Renders masthead logo\n *\n */\n protected _renderLogo() {\n if (!this.logoData) {\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"></dds-masthead-logo>\n `;\n }\n const useAlternateLogo = MastheadLogoAPI.setMastheadLogo(this.logoData);\n const { tooltip, svg, href } = this.logoData;\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"\n ?hasTooltip=\"${tooltip}\"\n aria-label=\"${ifNonNull(tooltip)}\"\n href=\"${href || DDSMastheadLogo.hrefDefault}\"\n >${useAlternateLogo ? unsafeSVG(svg) : nothing}</dds-masthead-logo\n >\n `;\n }\n\n /**\n * Sorts highlighted and regular menu items in separate arrays\n * and returns view all link\n *\n * @param sections menu section data object\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getHighlightedMenuItems(sections) {\n const highlightedItems: MastheadMenuItem[] = [];\n let viewAllLink;\n const menu: MastheadMenuItem[] = [];\n\n sections[0]?.menuItems?.forEach((item: MastheadMenuItem) => {\n if (item.highlighted) return highlightedItems.push(item);\n if (item.megaPanelViewAll) {\n viewAllLink = item;\n return viewAllLink;\n }\n return menu.push(item);\n });\n\n return { viewAllLink, highlightedItems, menu };\n }\n\n /**\n * Render MegaMenu content\n *\n * @param sections menu section data object\n * @param _parentKey parent menu key (used for the cloud-masthead-composite component)\n */\n // eslint-disable-next-line\n protected _renderMegaMenu(sections, _parentKey) {\n const { viewAllLink, highlightedItems, menu } =\n this._getHighlightedMenuItems(sections);\n const hasHighlights = highlightedItems.length !== 0;\n return html`\n <dds-megamenu>\n ${hasHighlights\n ? html`\n <dds-megamenu-left-navigation>\n ${sections[0]?.heading &&\n html`\n <dds-megamenu-category-group-copy\n >${sections[0]?.heading}</dds-megamenu-category-group-copy\n >\n `}\n ${highlightedItems.map((item, i) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${i}`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n <dds-megamenu-category-group-copy\n >${item.megapanelContent\n ?.description}</dds-megamenu-category-group-copy\n >\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url, highlightedLink }, key) => {\n return html`\n ${highlightedLink\n ? html`\n <dds-megamenu-link-with-icon\n data-autoid=\"${autoid}-item${key}\"\n href=\"${url}\"\n style-scheme=\"category-sublink\"\n title=\"${title}\">\n <span>${title}</span>${ArrowRight16({\n slot: 'icon',\n })}\n </dds-megamenu-link-with-icon>\n `\n : html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `}\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-left-navigation>\n `\n : null}\n <dds-megamenu-right-navigation\n style-scheme=\"${hasHighlights\n ? MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.LEFT_SECTION\n : MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.REGULAR}\"\n view-all-href=\"${ifNonNull(viewAllLink?.url)}\"\n view-all-title=\"${ifNonNull(viewAllLink?.title)}\">\n ${menu.map((item, j) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${\n j + highlightedItems.length\n }`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url }, key) => {\n return html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-right-navigation>\n </dds-megamenu>\n `;\n }\n\n /**\n * Renders the left nav menus sections\n *\n * @param object heading heading of menu section\n * @param object.menuItems menu items\n * @param object.heading heading heading of menu section\n * @param object.isSubmenu determines whether menu section is a submenu section\n * @param object.showBackButton Determines whether to show back button\n * @param object.sectionTitle title of menu section\n * @param object.sectionUrl section title url of menu section\n * @param object.sectionId id of menu section\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNavMenuSections({\n menuItems,\n heading = '',\n isSubmenu = false,\n showBackButton = false,\n sectionTitle = '',\n sectionUrl = '',\n sectionId = '',\n }) {\n const items = menuItems.map((elem) => {\n if (elem.menu) {\n return html`\n <dds-left-nav-menu\n ?last-highlighted=${elem.lastHighlightedItem}\n panel-id=${elem.panelId}\n ?active=\"${elem.selected}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\">\n </dds-left-nav-menu>\n `;\n }\n\n return html`\n <dds-left-nav-menu-item\n ?last-highlighted=${elem.lastHighlightedItem}\n ?active=\"${elem.selected}\"\n href=\"${elem.url}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\"></dds-left-nav-menu-item>\n `;\n });\n\n if (heading) {\n items.unshift(\n html`\n <dds-left-nav-menu-category-heading\n >${heading}</dds-left-nav-menu-category-heading\n >\n `\n );\n }\n\n return html`\n <dds-left-nav-menu-section\n section-id=\"${sectionId}\"\n ?is-submenu=${ifNonNull(isSubmenu)}\n title=${ifNonNull(sectionTitle)}\n titleUrl=${ifNonNull(sectionUrl)}\n ?show-back-button=${ifNonNull(showBackButton)}>\n ${items}\n </dds-left-nav-menu-section>\n `;\n }\n\n /**\n * checks if menu item's children url match the current url path, if so return the menu item and its children\n *\n * @returns {object} selectedItems\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectedLeftNavItems() {\n let matchFound = false;\n const selectedItems = { level0: '', level1: '', level2: '' };\n\n return ({\n menu = [\n { url: '', megapanelContent: { quickLinks: { links: [{ url: '' }] } } },\n ],\n key = '',\n parentItemUrl = '',\n currentUrlPath = '',\n }) => {\n if (!matchFound) {\n if (parentItemUrl === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n matchFound = true;\n }\n // check if child url matches current url path\n else {\n for (let i = 0; i < menu?.length; i++) {\n if (menu[i]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n matchFound = true;\n break;\n } else {\n const links = menu[i]?.megapanelContent?.quickLinks?.links;\n for (let k = 0; k < links?.length; k++) {\n if (links[k]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n selectedItems.level2 = `${key}-${i}-${k}`;\n matchFound = true;\n break;\n }\n }\n }\n }\n }\n this._hasAutoSelectedItems = matchFound;\n return selectedItems;\n }\n return selectedItems;\n };\n }\n\n /**\n * Renders the left nav menus\n *\n * @param menuItems The options.\n * @param selectedMenuItem The selected menu item\n * @param autoid Base autoid to be applied to the menu items\n * @param currentUrlPath current url path\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNav(\n menuItems,\n selectedMenuItem,\n autoid,\n currentUrlPath\n ) {\n const menu: any[] = [];\n const selectedItemUrl = this._selectedLeftNavItems();\n const level0Items = menuItems.map((elem, i) => {\n if (elem.menuSections) {\n const level1Items: {\n title: string;\n panelId: string;\n autoid: string;\n lastHighlightedItem: boolean;\n url?: string;\n menu: boolean;\n selected: boolean;\n }[] = [];\n\n let menuElems = elem.menuSections[0]?.menuItems;\n let highlightedItems: MastheadMenuItem[] = [];\n\n if (elem.hasMegapanel) {\n const {\n viewAllLink,\n highlightedItems: hightlighted,\n menu: nonHighlightedMenuItems,\n } = this._getHighlightedMenuItems(elem.menuSections);\n highlightedItems = hightlighted;\n menuElems = hightlighted.concat(nonHighlightedMenuItems);\n if (viewAllLink) {\n menuElems.push(viewAllLink);\n }\n }\n\n const selectedItems = selectedItemUrl({\n menu: menuElems,\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n // render level 1 menu sections\n menuElems?.map((item, k) => {\n const level2Items: {\n title: string;\n url?: string;\n autoid: string;\n selected: boolean;\n }[] = [];\n\n const lastHighlighted = k + 1 === highlightedItems.length;\n\n // render level 2 menu sections\n item.megapanelContent?.quickLinks?.links.map((submenu, j) => {\n return level2Items.push({\n title: submenu.title,\n url: submenu.url,\n autoid: `${autoid}--sidenav--nav${i}-list${k}-item${j}`,\n selected: !selectedMenuItem\n ? selectedItems?.level2 === `${i}-${k}-${j}`\n : selectedMenuItem === submenu.titleEnglish,\n });\n });\n\n if (level2Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level2Items,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: item.title,\n sectionUrl: item.url,\n sectionId: `${i}, ${k}`,\n })\n );\n }\n\n return level1Items.push({\n title: item.title,\n autoid: `${autoid}--sidenav--nav${i}-list${k}`,\n lastHighlightedItem: lastHighlighted,\n url: item.url,\n panelId: `${i}, ${k}`,\n selected: !selectedMenuItem\n ? selectedItems?.level1 === `${i}-${k}`\n : selectedMenuItem === item.titleEnglish,\n menu:\n item.megapanelContent?.quickLinks?.links &&\n item.megapanelContent?.quickLinks?.links.length !== 0,\n });\n });\n\n if (level1Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level1Items,\n heading: elem.menuSections[0]?.heading,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: elem.title,\n sectionUrl: elem.url,\n sectionId: `${i}, -1`,\n })\n );\n }\n }\n\n const selectedItems = selectedItemUrl({\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n return {\n title: elem.title,\n titleEnglish: elem.titleEnglish,\n menu: elem.menuSections && elem.menuSections.length !== 0,\n url: elem.url,\n panelId: `${i}, -1`,\n autoid: `${autoid}--sidenav--nav${i}`,\n selected: !selectedMenuItem\n ? selectedItems?.level0 === `${i}`\n : selectedMenuItem === elem.titleEnglish,\n };\n });\n\n return html`\n ${this._renderLeftNavMenuSections({\n menuItems: level0Items,\n sectionId: '-1, -1',\n })}\n ${menu}\n `;\n }\n\n /**\n * checks if there is a child item in the menu section that matches current url and returns true for first valid result\n *\n * @returns function that returns true or false\n */\n // eslint-disable-next-line class-methods-use-this\n protected _childLinkChecker() {\n let matchFound = false;\n\n return (sections, currentUrlPath) => {\n if (!matchFound) {\n if (sections.length) {\n const { menuItems } = sections[0];\n\n for (let i = 0; i < menuItems.length; i++) {\n if (\n menuItems[i]?.url === currentUrlPath ||\n menuItems[i]?.megapanelContent?.quickLinks?.links?.filter(\n (link) => link.url === currentUrlPath\n ).length\n ) {\n matchFound = true;\n }\n }\n }\n\n return matchFound;\n }\n\n return false;\n };\n }\n\n /**\n * @param options The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @param options.target The target of rendering navigation items.\n * @returns The nav items.\n */\n protected _renderNavItems({\n selectedMenuItem,\n target,\n hasL1,\n }: {\n selectedMenuItem?: string;\n target: NAV_ITEMS_RENDER_TARGET;\n hasL1: boolean;\n }) {\n const currentUrlPath = root.location?.href;\n const hasChildLink = this._childLinkChecker();\n const { navLinks, l1Data } = this;\n let menu: MastheadLink[] | undefined = navLinks;\n const autoid = `${ddsPrefix}--masthead__${l1Data?.menuItems ? 'l1' : 'l0'}`;\n if (hasL1) {\n menu = l1Data?.menuItems;\n }\n\n if (target === NAV_ITEMS_RENDER_TARGET.TOP_NAV) {\n return !menu\n ? undefined\n : menu.map((link, i) => {\n const { menuSections = [], title, titleEnglish, url } = link;\n let selected;\n\n if (selectedMenuItem) {\n selected = selectedMenuItem && titleEnglish === selectedMenuItem;\n } else {\n selected = hasChildLink(menuSections, currentUrlPath);\n }\n\n let sections;\n if (link.hasMegapanel) {\n sections = this.megamenuSet[i] = this._renderMegaMenu(\n menuSections,\n i\n );\n } else {\n sections = menuSections\n // eslint-disable-next-line no-use-before-define\n .reduce(\n (acc: typeof menuItems, { menuItems }) =>\n acc.concat(menuItems),\n []\n )\n .map(\n ({ title: menuItemTitle, url: menuItemUrl }, j) =>\n html`\n <dds-top-nav-menu-item\n ?active=\"${selectedMenuItem\n ? selected\n : menuItemUrl === currentUrlPath}\"\n href=\"${menuItemUrl}\"\n title=\"${menuItemTitle}\"\n data-autoid=\"${autoid}-nav--subnav-col${i}-item${j}\"></dds-top-nav-menu-item>\n `\n );\n }\n if (sections.length === 0) {\n return html`\n <dds-top-nav-item\n ?active=\"${selectedMenuItem\n ? selected\n : url === currentUrlPath}\"\n href=\"${url}\"\n title=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\"></dds-top-nav-item>\n `;\n }\n if (link.hasMegapanel) {\n return html`\n <dds-megamenu-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n </dds-megamenu-top-nav-menu>\n `;\n }\n return html`\n <dds-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n ${sections}\n </dds-top-nav-menu>\n `;\n });\n }\n\n return !menu\n ? undefined\n : this._renderLeftNav(menu, selectedMenuItem, autoid, currentUrlPath);\n }\n\n /**\n * Handles the rendering of the megamenu once it is active\n *\n * @param event The event.\n */\n @HostListener('eventMegamenuActive')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _loadMegamenu = (event: CustomEvent) => {\n const {\n target,\n detail: { active, resolveFn },\n } = event;\n const { autoid } = (target as HTMLElement).dataset;\n const index = autoid?.slice(-1);\n const currentMenu = this.megamenuSet[index!];\n render(active ? currentMenu : nothing, target as HTMLElement);\n resolveFn();\n };\n\n /**\n * Whether or not a nav item has automatically been designated as \"selected\".\n *\n * @internal\n */\n _hasAutoSelectedItems = false;\n\n /**\n * The placeholder for `loadTranslation()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadTranslation?: (\n language?: string,\n dataEndpoint?: string\n ) => Promise<Translation>;\n\n /**\n * The placeholder for `loadUserStatus()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadUserStatus?: () => void;\n\n /**\n * The placeholder for `setLanguage()` Redux action that will be mixed in.\n *\n * @internal\n */\n _setLanguage?: (language: string) => void;\n\n /**\n * `true` if there is a profile.\n */\n @property({ type: String, reflect: true, attribute: 'has-profile' })\n hasProfile = 'true';\n\n /**\n * `true` if there is a search.\n */\n @property({ type: Boolean, attribute: 'has-search' })\n hasSearch = true;\n\n /**\n * `true` to activate the search box.\n */\n @property({ type: Boolean, attribute: 'activate-search' })\n activateSearch = false;\n\n /**\n * `true` sets search to active when page loads.\n */\n @property({ attribute: 'search-open-on-load' })\n searchOpenOnload = this.activateSearch;\n\n /**\n * The profile items for authenticated state.\n */\n @property({ attribute: false })\n authenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * The platform name.\n */\n @property()\n platform!: string;\n\n /**\n * The platform url. Accepts both a string or an object with a specific URL for each locale.\n */\n @property({ attribute: false })\n platformUrl?;\n\n /**\n * The brand name.\n *\n * @deprecated brandName use platform instead\n */\n @property({ attribute: 'brand-name' })\n brandName!: string;\n\n /**\n * The search results to show in the UI.\n */\n @property({ attribute: false })\n currentSearchResults: string[] = [];\n\n /**\n * The custom profile login link.\n */\n @property({ attribute: 'custom-profile-login' })\n customProfileLogin?: string;\n\n /**\n * The boolean to use a custom search API.\n */\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n /**\n * The `aria-label` attribute for the top-level container.\n */\n @property({ attribute: 'masthead-assistive-text' })\n mastheadAssistiveText!: string;\n\n /**\n * The array containing all the megamenus to be loaded in.\n */\n @property()\n megamenuSet: TemplateResult[] = [];\n\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-assistive-text' })\n menuBarAssistiveText!: string;\n\n /**\n * The skip-to-content link text.\n */\n @property({ attribute: 'skip-to-content-text' })\n skipToContentText = 'Skip to content';\n\n /**\n * The skip-to-content href.\n */\n @property({ attribute: 'skip-to-content-href' })\n skipToContentHref = '#main-content';\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-active' })\n menuButtonAssistiveTextActive!: string;\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-inactive' })\n menuButtonAssistiveTextInactive!: string;\n\n /**\n * The parameters passed to the search-with-typeahead for search scope\n */\n @property()\n scopeParameters;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem!: string;\n\n /**\n * The profile items for unauthenticated state.\n */\n @property({ attribute: false })\n unauthenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * Specify translation endpoint if not using default dds endpoint.\n */\n @property({ attribute: 'data-endpoint' })\n dataEndpoint?: string;\n\n /**\n * The throttle timeout to run query upon user input.\n */\n @property({ type: Number, attribute: 'input-timeout' })\n inputTimeout = 200;\n\n /**\n * The language used for query.\n */\n @property()\n language?: string;\n\n /**\n * The navigation links.\n */\n @property({ attribute: false })\n navLinks?: MastheadLink[];\n\n /**\n * Logo data\n */\n @property({ attribute: false })\n logoData?: MastheadLogoData;\n\n /**\n * Data for l1.\n */\n @property({ attribute: false })\n l1Data?: MastheadL1;\n\n /**\n * `true` to open the search dropdown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'open-search-dropdown' })\n openSearchDropdown = false;\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder?: string;\n\n /**\n * The user authentication status.\n */\n @property({ attribute: 'user-status' })\n userStatus = UNAUTHENTICATED_STATUS;\n\n createRenderRoot() {\n // We render child elements of `<dds-masthead-container>` by ourselves\n return this;\n }\n\n firstUpdated() {\n const { language, dataEndpoint } = this;\n globalInit();\n if (language) {\n this._setLanguage?.(language);\n }\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n this._loadUserStatus?.();\n\n this.style.zIndex = '900';\n }\n\n updated(changedProperties) {\n if (changedProperties.has('language')) {\n const { language, dataEndpoint } = this;\n if (language) {\n this._setLanguage?.(language);\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n }\n }\n if (changedProperties.has('brandName')) {\n this.platform = this.brandName;\n // eslint-disable-next-line no-console\n console.warn(\n '`brand-name` will be deprecated in the future use `platform` instead.'\n );\n }\n }\n\n render() {\n const {\n activateSearch,\n authenticatedProfileItems,\n currentSearchResults,\n customTypeaheadAPI,\n customProfileLogin,\n platform,\n platformUrl,\n hasProfile,\n inputTimeout,\n mastheadAssistiveText,\n menuBarAssistiveText,\n menuButtonAssistiveTextActive,\n menuButtonAssistiveTextInactive,\n navLinks,\n language,\n openSearchDropdown,\n hasSearch,\n scopeParameters,\n searchPlaceholder,\n selectedMenuItem,\n skipToContentText,\n skipToContentHref,\n unauthenticatedProfileItems,\n userStatus,\n l1Data,\n } = this;\n const authenticated = userStatus !== UNAUTHENTICATED_STATUS;\n\n let profileItems;\n if (DDS_CUSTOM_PROFILE_LOGIN && customProfileLogin && !authenticated) {\n profileItems = unauthenticatedProfileItems?.map((item) => {\n if (item?.id === 'signin') {\n return { ...item, url: customProfileLogin };\n }\n return item;\n });\n } else {\n profileItems = authenticated\n ? authenticatedProfileItems\n : unauthenticatedProfileItems;\n }\n const formattedLang = language\n ?.toLowerCase()\n .replace(/-(.*)/, (m) => m.toUpperCase());\n let platformAltUrl = platformUrl;\n if (platformUrl && formattedLang) {\n if (\n typeof platformUrl === 'object' &&\n Object.prototype.hasOwnProperty.call(platformUrl, formattedLang)\n ) {\n platformAltUrl = platformUrl[formattedLang].url || platformUrl;\n }\n }\n\n return html`\n <dds-left-nav-overlay></dds-left-nav-overlay>\n <dds-left-nav>\n ${!platform\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-left-nav-name\n >\n `}\n ${!l1Data?.title\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(l1Data.url)}\"\n >${l1Data.title}</dds-left-nav-name\n >\n `}\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.LEFT_NAV,\n hasL1: !!l1Data,\n })}\n </dds-left-nav>\n <dds-masthead aria-label=\"${ifNonNull(mastheadAssistiveText)}\">\n <dds-skip-to-content\n href=\"${skipToContentHref}\"\n link-assistive-text=\"${skipToContentText}\"></dds-skip-to-content>\n <dds-masthead-menu-button\n button-label-active=\"${ifNonNull(menuButtonAssistiveTextActive)}\"\n button-label-inactive=\"${ifNonNull(menuButtonAssistiveTextInactive)}\"\n ?hide-menu-button=\"${activateSearch}\">\n </dds-masthead-menu-button>\n\n ${this._renderLogo()}\n ${!platform || l1Data\n ? undefined\n : html`\n <dds-top-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-top-nav-name\n >\n `}\n ${(!l1Data &&\n navLinks &&\n html`\n <dds-top-nav\n selected-menu-item=${selectedMenuItem}\n menu-bar-label=\"${ifNonNull(menuBarAssistiveText)}\"\n ?hideNav=\"${activateSearch}\">\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: false,\n })}\n </dds-top-nav>\n `) ||\n undefined}\n ${!hasSearch\n ? undefined\n : html`\n <dds-search-with-typeahead\n ?active=\"${activateSearch}\"\n input-timeout=\"${inputTimeout}\"\n language=\"${ifNonNull(language)}\"\n ?open=\"${openSearchDropdown}\"\n ?searchOpenOnload=\"${activateSearch}\"\n placeholder=\"${ifNonNull(searchPlaceholder)}\"\n .currentSearchResults=\"${ifNonNull(currentSearchResults)}\"\n ?custom-typeahead-api=\"${ifNonNull(customTypeaheadAPI)}\"\n .scopeParameters=\"${ifNonNull(\n scopeParameters\n )}\"></dds-search-with-typeahead>\n `}\n <dds-masthead-global-bar ?has-search-active=${activateSearch}>\n ${hasProfile === 'false'\n ? ''\n : html`\n <dds-masthead-profile ?authenticated=\"${authenticated}\">\n ${profileItems?.map(\n ({ title, url }) =>\n html`\n <dds-masthead-profile-item href=\"${ifNonNull(url)}\"\n >${title}</dds-masthead-profile-item\n >\n `\n )}\n </dds-masthead-profile>\n `}\n </dds-masthead-global-bar>\n ${!l1Data ? undefined : this._renderL1({ selectedMenuItem })}\n <dds-megamenu-overlay></dds-megamenu-overlay>\n </dds-masthead>\n `;\n }\n\n /**\n * The name of the custom event fired when a top nav menu is clicked\n */\n static get eventMegamenuActive() {\n return `${ddsPrefix}-megamenu-top-nav-menu-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSMastheadComposite;\n"],"mappings":"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"}
1
+ {"version":3,"file":"masthead-composite.js","names":["_litElement","require","_litHtml","_hostListener","_interopRequireDefault","_hostListener2","_","_ifNonNull","_unsafeSvg","_windowOrGlobal","_settings","_global","_MastheadLogo","_profileAPI","_megamenuRightNavigation","_featureFlags","_mastheadLogo","_mastheadCss","_carbonElement","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ddsPrefix","ddsSettings","stablePrefix","NAV_ITEMS_RENDER_TARGET","exports","DDSMastheadComposite","_decorate2","customElement","concat","_initialize","_HostListenerMixin","_HostListenerMixin2","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","_assertThisInitialized2","_createClass2","F","d","kind","value","_renderL1","_ref","undefined","selectedMenuItem","l1Data","_this$l1Data","url","title","isSelected","_hasAutoSelectedItems","html","_taggedTemplateLiteral2","_renderNavItems","TOP_NAV","hasL1","_renderLogo","logoData","activateSearch","useAlternateLogo","MastheadLogoAPI","setMastheadLogo","_this$logoData","tooltip","svg","href","ifNonNull","DDSMastheadLogo","hrefDefault","unsafeSVG","nothing","_getHighlightedMenuItems","sections","_sections$","_sections$$menuItems","highlightedItems","viewAllLink","menu","menuItems","item","highlighted","megaPanelViewAll","_renderMegaMenu","_parentKey","_sections$2","_sections$3","_this$_getHighlighted","hasHighlights","heading","map","_item$megapanelConten","_item$megapanelConten2","_item$megapanelConten3","autoid","megapanelContent","description","quickLinks","links","_ref2","highlightedLink","ArrowRight16","slot","MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME","LEFT_SECTION","REGULAR","j","_item$megapanelConten4","_item$megapanelConten5","_ref3","_renderLeftNavMenuSections","_ref4","_ref4$heading","_ref4$isSubmenu","isSubmenu","_ref4$showBackButton","showBackButton","_ref4$sectionTitle","sectionTitle","_ref4$sectionUrl","sectionUrl","_ref4$sectionId","sectionId","items","elem","lastHighlightedItem","panelId","selected","unshift","_selectedLeftNavItems","_this2","matchFound","selectedItems","level0","level1","level2","_ref5","_ref5$menu","_ref5$key","_ref5$parentItemUrl","parentItemUrl","_ref5$currentUrlPath","currentUrlPath","_menu$i","_menu$i2","_menu$i2$megapanelCon","_menu$i2$megapanelCon2","k","_links$k","_renderLeftNav","_this3","selectedItemUrl","level0Items","menuSections","_elem$menuSections$","_menuElems","level1Items","menuElems","hasMegapanel","_this3$_getHighlighte","hightlighted","nonHighlightedMenuItems","_item$megapanelConten6","_item$megapanelConten7","_item$megapanelConten8","_item$megapanelConten9","_item$megapanelConten10","_item$megapanelConten11","level2Items","lastHighlighted","submenu","titleEnglish","_elem$menuSections$2","_childLinkChecker","_menuItems$i","_menuItems$i2","_menuItems$i2$megapan","_menuItems$i2$megapan2","_menuItems$i2$megapan3","link","_ref6","_root$location","_this4","root","location","hasChildLink","navLinks","_link$menuSections","megamenuSet","reduce","acc","_ref7","_ref8","menuItemTitle","menuItemUrl","decorators","HostListener","_this5","event","_event$detail","detail","active","resolveFn","dataset","index","slice","currentMenu","render","property","type","String","reflect","attribute","Number","UNAUTHENTICATED_STATUS","createRenderRoot","firstUpdated","_this$_loadTranslatio","_this$_loadUserStatus","language","dataEndpoint","globalInit","_this$_setLanguage","_setLanguage","_loadTranslation","_loadUserStatus","style","zIndex","updated","changedProperties","has","_this$_setLanguage2","_this$_loadTranslatio2","platform","brandName","console","warn","_profileItems","authenticatedProfileItems","currentSearchResults","customTypeaheadAPI","customProfileLogin","platformUrl","hasProfile","inputTimeout","mastheadAssistiveText","menuBarAssistiveText","menuButtonAssistiveTextActive","menuButtonAssistiveTextInactive","openSearchDropdown","hasSearch","scopeParameters","searchPlaceholder","skipToContentText","skipToContentHref","unauthenticatedProfileItems","userStatus","authenticated","profileItems","DDS_CUSTOM_PROFILE_LOGIN","id","formattedLang","toLowerCase","replace","m","toUpperCase","platformAltUrl","_typeof2","hasOwnProperty","LEFT_NAV","_ref9","eventMegamenuActive","styles","HostListenerMixin","LitElement","_default"],"sources":["components/masthead/masthead-composite.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2023\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, property, LitElement, TemplateResult } from 'lit-element';\nimport { nothing, render } from 'lit-html';\nimport HostListener from '../../internal/vendor/@carbon/web-components/globals/decorators/host-listener.js';\nimport HostListenerMixin from '../../internal/vendor/@carbon/web-components/globals/mixins/host-listener.js';\nimport ArrowRight16 from '../../internal/vendor/@carbon/web-components/icons/arrow--right/16.js';\nimport ifNonNull from '../../internal/vendor/@carbon/web-components/globals/directives/if-non-null.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport root from 'window-or-global';\nimport ddsSettings from '../../internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings';\nimport { globalInit } from '../../internal/vendor/@carbon/ibmdotcom-services/services/global/global';\nimport MastheadLogoAPI from '../../internal/vendor/@carbon/ibmdotcom-services/services/MastheadLogo/MastheadLogo';\nimport {\n MastheadL1,\n MastheadLink,\n MastheadLogoData,\n MastheadMenuItem,\n MastheadProfileItem,\n Translation,\n} from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI.d';\nimport { UNAUTHENTICATED_STATUS } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/profileAPI';\nimport { MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME } from './megamenu-right-navigation';\nimport { DDS_CUSTOM_PROFILE_LOGIN } from '../../globals/internal/feature-flags';\nimport DDSMastheadLogo from './masthead-logo';\nimport './masthead';\nimport './masthead-l1';\nimport './masthead-l1-name';\nimport './masthead-menu-button';\nimport './masthead-global-bar';\nimport './masthead-profile';\nimport './masthead-profile-item';\nimport './megamenu';\nimport './megamenu-top-nav-menu';\nimport './skip-to-content';\nimport './top-nav';\nimport './top-nav-l1';\nimport './top-nav-name';\nimport './top-nav-item';\nimport './top-nav-menu';\nimport './top-nav-menu-item';\nimport './left-nav';\nimport '../search-with-typeahead/search-with-typeahead';\nimport '../search-with-typeahead/search-with-typeahead-item';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '../../internal/vendor/@carbon/web-components/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: ddsPrefix } = ddsSettings;\n\n/**\n * Rendering target for masthead navigation items.\n */\nexport enum NAV_ITEMS_RENDER_TARGET {\n /**\n * For top navigation.\n */\n TOP_NAV = 'top-nav',\n\n /**\n * For left navigation.\n */\n LEFT_NAV = 'left-nav',\n}\n\n/**\n * Component that renders masthead from links, etc. data.\n *\n * @element dds-masthead-composite\n */\n@customElement(`${ddsPrefix}-masthead-composite`)\nclass DDSMastheadComposite extends HostListenerMixin(LitElement) {\n /**\n * Renders L1 menu based on l1Data\n *\n * @param [options] The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @returns The L1 nav.\n */\n protected _renderL1({\n selectedMenuItem,\n }: { selectedMenuItem?: string } = {}) {\n if (!this.l1Data) return undefined;\n const { url, title } = this.l1Data;\n const isSelected = !this._hasAutoSelectedItems && !selectedMenuItem;\n return html`\n <dds-masthead-l1 slot=\"masthead-l1\">\n ${!title\n ? undefined\n : html`\n <dds-masthead-l1-name\n title=\"${title}\"\n aria-selected=\"${isSelected}\"\n url=\"${url}\"></dds-masthead-l1-name>\n `}\n <dds-top-nav-l1 selected-menu-item=${selectedMenuItem}\n >${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: true,\n })}</dds-top-nav-l1\n >\n </dds-masthead-l1>\n `;\n }\n\n /**\n * Renders masthead logo\n *\n */\n protected _renderLogo() {\n if (!this.logoData) {\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"></dds-masthead-logo>\n `;\n }\n const useAlternateLogo = MastheadLogoAPI.setMastheadLogo(this.logoData);\n const { tooltip, svg, href } = this.logoData;\n return html`\n <dds-masthead-logo\n ?hide-logo=\"${this.activateSearch}\"\n ?hasTooltip=\"${tooltip}\"\n aria-label=\"${ifNonNull(tooltip)}\"\n href=\"${href || DDSMastheadLogo.hrefDefault}\"\n >${useAlternateLogo ? unsafeSVG(svg) : nothing}</dds-masthead-logo\n >\n `;\n }\n\n /**\n * Sorts highlighted and regular menu items in separate arrays\n * and returns view all link\n *\n * @param sections menu section data object\n */\n // eslint-disable-next-line class-methods-use-this\n protected _getHighlightedMenuItems(sections) {\n const highlightedItems: MastheadMenuItem[] = [];\n let viewAllLink;\n const menu: MastheadMenuItem[] = [];\n\n sections[0]?.menuItems?.forEach((item: MastheadMenuItem) => {\n if (item.highlighted) return highlightedItems.push(item);\n if (item.megaPanelViewAll) {\n viewAllLink = item;\n return viewAllLink;\n }\n return menu.push(item);\n });\n\n return { viewAllLink, highlightedItems, menu };\n }\n\n /**\n * Render MegaMenu content\n *\n * @param sections menu section data object\n * @param _parentKey parent menu key (used for the cloud-masthead-composite component)\n */\n // eslint-disable-next-line\n protected _renderMegaMenu(sections, _parentKey) {\n const { viewAllLink, highlightedItems, menu } =\n this._getHighlightedMenuItems(sections);\n const hasHighlights = highlightedItems.length !== 0;\n return html`\n <dds-megamenu>\n ${hasHighlights\n ? html`\n <dds-megamenu-left-navigation>\n ${sections[0]?.heading &&\n html`\n <dds-megamenu-category-group-copy\n >${sections[0]?.heading}</dds-megamenu-category-group-copy\n >\n `}\n ${highlightedItems.map((item, i) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${i}`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n <dds-megamenu-category-group-copy\n >${item.megapanelContent\n ?.description}</dds-megamenu-category-group-copy\n >\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url, highlightedLink }, key) => {\n return html`\n ${highlightedLink\n ? html`\n <dds-megamenu-link-with-icon\n data-autoid=\"${autoid}-item${key}\"\n href=\"${url}\"\n style-scheme=\"category-sublink\"\n title=\"${title}\">\n <span>${title}</span>${ArrowRight16({\n slot: 'icon',\n })}\n </dds-megamenu-link-with-icon>\n `\n : html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `}\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-left-navigation>\n `\n : null}\n <dds-megamenu-right-navigation\n style-scheme=\"${hasHighlights\n ? MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.LEFT_SECTION\n : MEGAMENU_RIGHT_NAVIGATION_STYLE_SCHEME.REGULAR}\"\n view-all-href=\"${ifNonNull(viewAllLink?.url)}\"\n view-all-title=\"${ifNonNull(viewAllLink?.title)}\">\n ${menu.map((item, j) => {\n const autoid = `${ddsPrefix}--masthead__l0-nav-list${\n j + highlightedItems.length\n }`;\n return html`\n <dds-megamenu-category-group\n data-autoid=\"${autoid}\"\n href=\"${item.url}\"\n title=\"${item.title}\">\n ${item.megapanelContent?.quickLinks?.links.map(\n ({ title, url }, key) => {\n return html`\n <dds-megamenu-category-link\n data-autoid=\"${autoid}-item${key}\"\n title=\"${title}\"\n href=\"${url}\">\n </dds-megamenu-category-link>\n `;\n }\n )}\n </dds-megamenu-category-group>\n `;\n })}\n </dds-megamenu-right-navigation>\n </dds-megamenu>\n `;\n }\n\n /**\n * Renders the left nav menus sections\n *\n * @param object heading heading of menu section\n * @param object.menuItems menu items\n * @param object.heading heading heading of menu section\n * @param object.isSubmenu determines whether menu section is a submenu section\n * @param object.showBackButton Determines whether to show back button\n * @param object.sectionTitle title of menu section\n * @param object.sectionUrl section title url of menu section\n * @param object.sectionId id of menu section\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNavMenuSections({\n menuItems,\n heading = '',\n isSubmenu = false,\n showBackButton = false,\n sectionTitle = '',\n sectionUrl = '',\n sectionId = '',\n }) {\n const items = menuItems.map((elem) => {\n if (elem.menu) {\n return html`\n <dds-left-nav-menu\n ?last-highlighted=${elem.lastHighlightedItem}\n panel-id=${elem.panelId}\n ?active=\"${elem.selected}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\">\n </dds-left-nav-menu>\n `;\n }\n\n return html`\n <dds-left-nav-menu-item\n ?last-highlighted=${elem.lastHighlightedItem}\n ?active=\"${elem.selected}\"\n href=\"${elem.url}\"\n title=\"${elem.title}\"\n data-autoid=\"${elem.autoid}\"></dds-left-nav-menu-item>\n `;\n });\n\n if (heading) {\n items.unshift(\n html`\n <dds-left-nav-menu-category-heading\n >${heading}</dds-left-nav-menu-category-heading\n >\n `\n );\n }\n\n return html`\n <dds-left-nav-menu-section\n section-id=\"${sectionId}\"\n ?is-submenu=${ifNonNull(isSubmenu)}\n title=${ifNonNull(sectionTitle)}\n titleUrl=${ifNonNull(sectionUrl)}\n ?show-back-button=${ifNonNull(showBackButton)}>\n ${items}\n </dds-left-nav-menu-section>\n `;\n }\n\n /**\n * checks if menu item's children url match the current url path, if so return the menu item and its children\n *\n * @returns {object} selectedItems\n */\n // eslint-disable-next-line class-methods-use-this\n protected _selectedLeftNavItems() {\n let matchFound = false;\n const selectedItems = { level0: '', level1: '', level2: '' };\n\n return ({\n menu = [\n { url: '', megapanelContent: { quickLinks: { links: [{ url: '' }] } } },\n ],\n key = '',\n parentItemUrl = '',\n currentUrlPath = '',\n }) => {\n if (!matchFound) {\n if (parentItemUrl === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n matchFound = true;\n }\n // check if child url matches current url path\n else {\n for (let i = 0; i < menu?.length; i++) {\n if (menu[i]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n matchFound = true;\n break;\n } else {\n const links = menu[i]?.megapanelContent?.quickLinks?.links;\n for (let k = 0; k < links?.length; k++) {\n if (links[k]?.url === currentUrlPath) {\n selectedItems.level0 = `${key}`;\n selectedItems.level1 = `${key}-${i}`;\n selectedItems.level2 = `${key}-${i}-${k}`;\n matchFound = true;\n break;\n }\n }\n }\n }\n }\n this._hasAutoSelectedItems = matchFound;\n return selectedItems;\n }\n return selectedItems;\n };\n }\n\n /**\n * Renders the left nav menus\n *\n * @param menuItems The options.\n * @param selectedMenuItem The selected menu item\n * @param autoid Base autoid to be applied to the menu items\n * @param currentUrlPath current url path\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderLeftNav(\n menuItems,\n selectedMenuItem,\n autoid,\n currentUrlPath\n ) {\n const menu: any[] = [];\n const selectedItemUrl = this._selectedLeftNavItems();\n const level0Items = menuItems.map((elem, i) => {\n if (elem.menuSections) {\n const level1Items: {\n title: string;\n panelId: string;\n autoid: string;\n lastHighlightedItem: boolean;\n url?: string;\n menu: boolean;\n selected: boolean;\n }[] = [];\n\n let menuElems = elem.menuSections[0]?.menuItems;\n let highlightedItems: MastheadMenuItem[] = [];\n\n if (elem.hasMegapanel) {\n const {\n viewAllLink,\n highlightedItems: hightlighted,\n menu: nonHighlightedMenuItems,\n } = this._getHighlightedMenuItems(elem.menuSections);\n highlightedItems = hightlighted;\n menuElems = hightlighted.concat(nonHighlightedMenuItems);\n if (viewAllLink) {\n menuElems.push(viewAllLink);\n }\n }\n\n const selectedItems = selectedItemUrl({\n menu: menuElems,\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n // render level 1 menu sections\n menuElems?.map((item, k) => {\n const level2Items: {\n title: string;\n url?: string;\n autoid: string;\n selected: boolean;\n }[] = [];\n\n const lastHighlighted = k + 1 === highlightedItems.length;\n\n // render level 2 menu sections\n item.megapanelContent?.quickLinks?.links.map((submenu, j) => {\n return level2Items.push({\n title: submenu.title,\n url: submenu.url,\n autoid: `${autoid}--sidenav--nav${i}-list${k}-item${j}`,\n selected: !selectedMenuItem\n ? selectedItems?.level2 === `${i}-${k}-${j}`\n : selectedMenuItem === submenu.titleEnglish,\n });\n });\n\n if (level2Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level2Items,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: item.title,\n sectionUrl: item.url,\n sectionId: `${i}, ${k}`,\n })\n );\n }\n\n return level1Items.push({\n title: item.title,\n autoid: `${autoid}--sidenav--nav${i}-list${k}`,\n lastHighlightedItem: lastHighlighted,\n url: item.url,\n panelId: `${i}, ${k}`,\n selected: !selectedMenuItem\n ? selectedItems?.level1 === `${i}-${k}`\n : selectedMenuItem === item.titleEnglish,\n menu:\n item.megapanelContent?.quickLinks?.links &&\n item.megapanelContent?.quickLinks?.links.length !== 0,\n });\n });\n\n if (level1Items.length !== 0) {\n menu.push(\n this._renderLeftNavMenuSections({\n menuItems: level1Items,\n heading: elem.menuSections[0]?.heading,\n isSubmenu: true,\n showBackButton: true,\n sectionTitle: elem.title,\n sectionUrl: elem.url,\n sectionId: `${i}, -1`,\n })\n );\n }\n }\n\n const selectedItems = selectedItemUrl({\n key: i,\n parentItemUrl: elem.url,\n currentUrlPath,\n });\n\n return {\n title: elem.title,\n titleEnglish: elem.titleEnglish,\n menu: elem.menuSections && elem.menuSections.length !== 0,\n url: elem.url,\n panelId: `${i}, -1`,\n autoid: `${autoid}--sidenav--nav${i}`,\n selected: !selectedMenuItem\n ? selectedItems?.level0 === `${i}`\n : selectedMenuItem === elem.titleEnglish,\n };\n });\n\n return html`\n ${this._renderLeftNavMenuSections({\n menuItems: level0Items,\n sectionId: '-1, -1',\n })}\n ${menu}\n `;\n }\n\n /**\n * checks if there is a child item in the menu section that matches current url and returns true for first valid result\n *\n * @returns function that returns true or false\n */\n // eslint-disable-next-line class-methods-use-this\n protected _childLinkChecker() {\n let matchFound = false;\n\n return (sections, currentUrlPath) => {\n if (!matchFound) {\n if (sections.length) {\n const { menuItems } = sections[0];\n\n for (let i = 0; i < menuItems.length; i++) {\n if (\n menuItems[i]?.url === currentUrlPath ||\n menuItems[i]?.megapanelContent?.quickLinks?.links?.filter(\n (link) => link.url === currentUrlPath\n ).length\n ) {\n matchFound = true;\n }\n }\n }\n\n return matchFound;\n }\n\n return false;\n };\n }\n\n /**\n * @param options The options.\n * @param [options.selectedMenuItem] The selected nav item.\n * @param options.target The target of rendering navigation items.\n * @returns The nav items.\n */\n protected _renderNavItems({\n selectedMenuItem,\n target,\n hasL1,\n }: {\n selectedMenuItem?: string;\n target: NAV_ITEMS_RENDER_TARGET;\n hasL1: boolean;\n }) {\n const currentUrlPath = root.location?.href;\n const hasChildLink = this._childLinkChecker();\n const { navLinks, l1Data } = this;\n let menu: MastheadLink[] | undefined = navLinks;\n const autoid = `${ddsPrefix}--masthead__${l1Data?.menuItems ? 'l1' : 'l0'}`;\n if (hasL1) {\n menu = l1Data?.menuItems;\n }\n\n if (target === NAV_ITEMS_RENDER_TARGET.TOP_NAV) {\n return !menu\n ? undefined\n : menu.map((link, i) => {\n const { menuSections = [], title, titleEnglish, url } = link;\n let selected;\n\n if (selectedMenuItem) {\n selected = selectedMenuItem && titleEnglish === selectedMenuItem;\n } else {\n selected = hasChildLink(menuSections, currentUrlPath);\n }\n\n let sections;\n if (link.hasMegapanel) {\n sections = this.megamenuSet[i] = this._renderMegaMenu(\n menuSections,\n i\n );\n } else {\n sections = menuSections\n // eslint-disable-next-line no-use-before-define\n .reduce(\n (acc: typeof menuItems, { menuItems }) =>\n acc.concat(menuItems),\n []\n )\n .map(\n ({ title: menuItemTitle, url: menuItemUrl }, j) =>\n html`\n <dds-top-nav-menu-item\n ?active=\"${selectedMenuItem\n ? selected\n : menuItemUrl === currentUrlPath}\"\n href=\"${menuItemUrl}\"\n title=\"${menuItemTitle}\"\n data-autoid=\"${autoid}-nav--subnav-col${i}-item${j}\"></dds-top-nav-menu-item>\n `\n );\n }\n if (sections.length === 0) {\n return html`\n <dds-top-nav-item\n ?active=\"${selectedMenuItem\n ? selected\n : url === currentUrlPath}\"\n href=\"${url}\"\n title=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\"></dds-top-nav-item>\n `;\n }\n if (link.hasMegapanel) {\n return html`\n <dds-megamenu-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n </dds-megamenu-top-nav-menu>\n `;\n }\n return html`\n <dds-top-nav-menu\n ?active=\"${selected}\"\n menu-label=\"${title}\"\n trigger-content=\"${title}\"\n data-autoid=\"${autoid}-nav--nav${i}\">\n ${sections}\n </dds-top-nav-menu>\n `;\n });\n }\n\n return !menu\n ? undefined\n : this._renderLeftNav(menu, selectedMenuItem, autoid, currentUrlPath);\n }\n\n /**\n * Handles the rendering of the megamenu once it is active\n *\n * @param event The event.\n */\n @HostListener('eventMegamenuActive')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _loadMegamenu = (event: CustomEvent) => {\n const {\n target,\n detail: { active, resolveFn },\n } = event;\n const { autoid } = (target as HTMLElement).dataset;\n const index = autoid?.slice(-1);\n const currentMenu = this.megamenuSet[index!];\n render(active ? currentMenu : nothing, target as HTMLElement);\n resolveFn();\n };\n\n /**\n * Whether or not a nav item has automatically been designated as \"selected\".\n *\n * @internal\n */\n _hasAutoSelectedItems = false;\n\n /**\n * The placeholder for `loadTranslation()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadTranslation?: (\n language?: string,\n dataEndpoint?: string\n ) => Promise<Translation>;\n\n /**\n * The placeholder for `loadUserStatus()` Redux action that will be mixed in.\n *\n * @internal\n */\n _loadUserStatus?: () => void;\n\n /**\n * The placeholder for `setLanguage()` Redux action that will be mixed in.\n *\n * @internal\n */\n _setLanguage?: (language: string) => void;\n\n /**\n * `true` if there is a profile.\n */\n @property({ type: String, reflect: true, attribute: 'has-profile' })\n hasProfile = 'true';\n\n /**\n * `true` if there is a search.\n */\n @property({ type: String, reflect: true, attribute: 'has-search' })\n hasSearch = 'true';\n\n /**\n * `true` to activate the search box.\n */\n @property({ type: Boolean, attribute: 'activate-search' })\n activateSearch = false;\n\n /**\n * `true` sets search to active when page loads.\n */\n @property({ attribute: 'search-open-on-load' })\n searchOpenOnload = this.activateSearch;\n\n /**\n * The profile items for authenticated state.\n */\n @property({ attribute: false })\n authenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * The platform name.\n */\n @property()\n platform!: string;\n\n /**\n * The platform url. Accepts both a string or an object with a specific URL for each locale.\n */\n @property({ attribute: false })\n platformUrl?;\n\n /**\n * The brand name.\n *\n * @deprecated brandName use platform instead\n */\n @property({ attribute: 'brand-name' })\n brandName!: string;\n\n /**\n * The search results to show in the UI.\n */\n @property({ attribute: false })\n currentSearchResults: string[] = [];\n\n /**\n * The custom profile login link.\n */\n @property({ attribute: 'custom-profile-login' })\n customProfileLogin?: string;\n\n /**\n * The boolean to use a custom search API.\n */\n @property({ attribute: 'custom-typeahead-api', type: Boolean })\n customTypeaheadAPI = false;\n\n /**\n * The `aria-label` attribute for the top-level container.\n */\n @property({ attribute: 'masthead-assistive-text' })\n mastheadAssistiveText!: string;\n\n /**\n * The array containing all the megamenus to be loaded in.\n */\n @property()\n megamenuSet: TemplateResult[] = [];\n\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-assistive-text' })\n menuBarAssistiveText!: string;\n\n /**\n * The skip-to-content link text.\n */\n @property({ attribute: 'skip-to-content-text' })\n skipToContentText = 'Skip to content';\n\n /**\n * The skip-to-content href.\n */\n @property({ attribute: 'skip-to-content-href' })\n skipToContentHref = '#main-content';\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-active' })\n menuButtonAssistiveTextActive!: string;\n\n /**\n * The `aria-label` attribute for the header menu button in its active state.\n */\n @property({ attribute: 'menu-button-assistive-text-inactive' })\n menuButtonAssistiveTextInactive!: string;\n\n /**\n * The parameters passed to the search-with-typeahead for search scope\n */\n @property()\n scopeParameters;\n\n /**\n * The English title of the selected nav item.\n */\n @property({ attribute: 'selected-menu-item' })\n selectedMenuItem!: string;\n\n /**\n * The profile items for unauthenticated state.\n */\n @property({ attribute: false })\n unauthenticatedProfileItems?: MastheadProfileItem[];\n\n /**\n * Specify translation endpoint if not using default dds endpoint.\n */\n @property({ attribute: 'data-endpoint' })\n dataEndpoint?: string;\n\n /**\n * The throttle timeout to run query upon user input.\n */\n @property({ type: Number, attribute: 'input-timeout' })\n inputTimeout = 200;\n\n /**\n * The language used for query.\n */\n @property()\n language?: string;\n\n /**\n * The navigation links.\n */\n @property({ attribute: false })\n navLinks?: MastheadLink[];\n\n /**\n * Logo data\n */\n @property({ attribute: false })\n logoData?: MastheadLogoData;\n\n /**\n * Data for l1.\n */\n @property({ attribute: false })\n l1Data?: MastheadL1;\n\n /**\n * `true` to open the search dropdown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'open-search-dropdown' })\n openSearchDropdown = false;\n\n /**\n * Value to display when the input has an empty `value`.\n */\n @property()\n searchPlaceholder?: string;\n\n /**\n * The user authentication status.\n */\n @property({ attribute: 'user-status' })\n userStatus = UNAUTHENTICATED_STATUS;\n\n createRenderRoot() {\n // We render child elements of `<dds-masthead-container>` by ourselves\n return this;\n }\n\n firstUpdated() {\n const { language, dataEndpoint } = this;\n globalInit();\n if (language) {\n this._setLanguage?.(language);\n }\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n this._loadUserStatus?.();\n\n this.style.zIndex = '900';\n }\n\n updated(changedProperties) {\n if (changedProperties.has('language')) {\n const { language, dataEndpoint } = this;\n if (language) {\n this._setLanguage?.(language);\n this._loadTranslation?.(language, dataEndpoint).catch(() => {}); // The error is logged in the Redux store\n }\n }\n if (changedProperties.has('brandName')) {\n this.platform = this.brandName;\n // eslint-disable-next-line no-console\n console.warn(\n '`brand-name` will be deprecated in the future use `platform` instead.'\n );\n }\n }\n\n render() {\n const {\n activateSearch,\n authenticatedProfileItems,\n currentSearchResults,\n customTypeaheadAPI,\n customProfileLogin,\n platform,\n platformUrl,\n hasProfile,\n inputTimeout,\n mastheadAssistiveText,\n menuBarAssistiveText,\n menuButtonAssistiveTextActive,\n menuButtonAssistiveTextInactive,\n navLinks,\n language,\n openSearchDropdown,\n hasSearch,\n scopeParameters,\n searchPlaceholder,\n selectedMenuItem,\n skipToContentText,\n skipToContentHref,\n unauthenticatedProfileItems,\n userStatus,\n l1Data,\n } = this;\n const authenticated = userStatus !== UNAUTHENTICATED_STATUS;\n\n let profileItems;\n if (DDS_CUSTOM_PROFILE_LOGIN && customProfileLogin && !authenticated) {\n profileItems = unauthenticatedProfileItems?.map((item) => {\n if (item?.id === 'signin') {\n return { ...item, url: customProfileLogin };\n }\n return item;\n });\n } else {\n profileItems = authenticated\n ? authenticatedProfileItems\n : unauthenticatedProfileItems;\n }\n const formattedLang = language\n ?.toLowerCase()\n .replace(/-(.*)/, (m) => m.toUpperCase());\n let platformAltUrl = platformUrl;\n if (platformUrl && formattedLang) {\n if (\n typeof platformUrl === 'object' &&\n Object.prototype.hasOwnProperty.call(platformUrl, formattedLang)\n ) {\n platformAltUrl = platformUrl[formattedLang].url || platformUrl;\n }\n }\n\n return html`\n <dds-left-nav-overlay></dds-left-nav-overlay>\n <dds-left-nav>\n ${!platform\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-left-nav-name\n >\n `}\n ${!l1Data?.title\n ? undefined\n : html`\n <dds-left-nav-name href=\"${ifNonNull(l1Data.url)}\"\n >${l1Data.title}</dds-left-nav-name\n >\n `}\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.LEFT_NAV,\n hasL1: !!l1Data,\n })}\n </dds-left-nav>\n <dds-masthead aria-label=\"${ifNonNull(mastheadAssistiveText)}\">\n <dds-skip-to-content\n href=\"${skipToContentHref}\"\n link-assistive-text=\"${skipToContentText}\"></dds-skip-to-content>\n <dds-masthead-menu-button\n button-label-active=\"${ifNonNull(menuButtonAssistiveTextActive)}\"\n button-label-inactive=\"${ifNonNull(menuButtonAssistiveTextInactive)}\"\n ?hide-menu-button=\"${activateSearch}\">\n </dds-masthead-menu-button>\n\n ${this._renderLogo()}\n ${!platform || l1Data\n ? undefined\n : html`\n <dds-top-nav-name href=\"${ifNonNull(platformAltUrl)}\"\n >${platform}</dds-top-nav-name\n >\n `}\n ${(!l1Data &&\n navLinks &&\n html`\n <dds-top-nav\n selected-menu-item=${selectedMenuItem}\n menu-bar-label=\"${ifNonNull(menuBarAssistiveText)}\"\n ?hideNav=\"${activateSearch}\">\n ${this._renderNavItems({\n selectedMenuItem,\n target: NAV_ITEMS_RENDER_TARGET.TOP_NAV,\n hasL1: false,\n })}\n </dds-top-nav>\n `) ||\n undefined}\n ${hasSearch === 'false'\n ? ''\n : html`\n <dds-search-with-typeahead\n ?active=\"${activateSearch}\"\n input-timeout=\"${inputTimeout}\"\n language=\"${ifNonNull(language)}\"\n ?open=\"${openSearchDropdown}\"\n ?searchOpenOnload=\"${activateSearch}\"\n placeholder=\"${ifNonNull(searchPlaceholder)}\"\n .currentSearchResults=\"${ifNonNull(currentSearchResults)}\"\n ?custom-typeahead-api=\"${ifNonNull(customTypeaheadAPI)}\"\n .scopeParameters=\"${ifNonNull(\n scopeParameters\n )}\"></dds-search-with-typeahead>\n `}\n <dds-masthead-global-bar ?has-search-active=${activateSearch}>\n ${hasProfile === 'false'\n ? ''\n : html`\n <dds-masthead-profile ?authenticated=\"${authenticated}\">\n ${profileItems?.map(\n ({ title, url }) =>\n html`\n <dds-masthead-profile-item href=\"${ifNonNull(url)}\"\n >${title}</dds-masthead-profile-item\n >\n `\n )}\n </dds-masthead-profile>\n `}\n </dds-masthead-global-bar>\n ${!l1Data ? undefined : this._renderL1({ selectedMenuItem })}\n <dds-megamenu-overlay></dds-megamenu-overlay>\n </dds-masthead>\n `;\n }\n\n /**\n * The name of the custom event fired when a top nav menu is clicked\n */\n static get eventMegamenuActive() {\n return `${ddsPrefix}-megamenu-top-nav-menu-toggle`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default DDSMastheadComposite;\n"],"mappings":";;;;;;;;;;;;;;;;;AASA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,CAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,UAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,SAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAR,sBAAA,CAAAH,OAAA;AASA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,wBAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AACA,IAAAe,aAAA,GAAAZ,sBAAA,CAAAH,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACA,IAAAgB,YAAA,GAAAb,sBAAA,CAAAH,OAAA;AACA,IAAAiB,cAAA,GAAAjB,OAAA;AAAmI,IAAAkB,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA,sBApDnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA+CA,IAAsBC,SAAS,GAAKC,oBAAW,CAAvCC,YAAY;;AAEpB;AACA;AACA;AAFA,IAGYC,uBAAuB;AAYnC;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA;AAAA,WAZYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAAC,OAAA,CAAAD,uBAAA,GAAvBA,uBAAuB;AAAA,IAkB7BE,oBAAoB,OAAAC,UAAA,cADzB,IAAAC,4BAAa,KAAAC,MAAA,CAAIR,SAAS,wBAAqB,CAAC,aAAAS,WAAA,EAAAC,kBAAA;EAAA,IAC3CL,oBAAoB,0BAAAM,mBAAA;IAAA,IAAAC,UAAA,aAAAP,oBAAA,EAAAM,mBAAA;IAAA,IAAAE,MAAA,GAAAjC,YAAA,CAAAyB,oBAAA;IAAA,SAAAA,qBAAA;MAAA,IAAAS,KAAA;MAAA,IAAAC,gBAAA,mBAAAV,oBAAA;MAAA,SAAAW,IAAA,GAAA7C,SAAA,CAAAC,MAAA,EAAA6C,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;QAAAF,IAAA,CAAAE,IAAA,IAAAhD,SAAA,CAAAgD,IAAA;MAAA;MAAAL,KAAA,GAAAD,MAAA,CAAAf,IAAA,CAAA/B,KAAA,CAAA8C,MAAA,SAAAL,MAAA,CAAAS,IAAA;MAAAR,WAAA,KAAAW,uBAAA,aAAAN,KAAA;MAAA,OAAAA,KAAA;IAAA;IAAA,WAAAO,aAAA,aAAAhB,oBAAA;EAAA,EAAAK,kBAAA;EAAA;IAAAY,CAAA,EAApBjB,oBAAoB;IAAAkB,CAAA;MAAAC,IAAA;MAAAjD,GAAA;MAAAkD,KAAA;MACxB;AACF;AACA;AACA;AACA;AACA;AACA;MACE,SAAAC,UAAA,EAEuC;QAAA,IAAAC,IAAA,GAAAxD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAJ,CAAC,CAAC;UADnC0D,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;QAEhB,IAAI,CAAC,IAAI,CAACC,MAAM,EAAE,OAAOF,SAAS;QAClC,IAAAG,YAAA,GAAuB,IAAI,CAACD,MAAM;UAA1BE,GAAG,GAAAD,YAAA,CAAHC,GAAG;UAAEC,KAAK,GAAAF,YAAA,CAALE,KAAK;QAClB,IAAMC,UAAU,GAAG,CAAC,IAAI,CAACC,qBAAqB,IAAI,CAACN,gBAAgB;QACnE,WAAOO,gBAAI,EAAA/G,eAAA,KAAAA,eAAA,OAAAgH,uBAAA,8MAEL,CAACJ,KAAK,GACJL,SAAS,OACTQ,gBAAI,EAAA9G,gBAAA,KAAAA,gBAAA,OAAA+G,uBAAA,sMAESJ,KAAK,EACGC,UAAU,EACpBF,GAAG,CACb,EACgCH,gBAAgB,EAChD,IAAI,CAACS,eAAe,CAAC;UACtBT,gBAAgB,EAAhBA,gBAAgB;UAChB5D,MAAM,EAAEkC,uBAAuB,CAACoC,OAAO;UACvCC,KAAK,EAAE;QACT,CAAC,CAAC;MAIV;;MAEA;AACF;AACA;AACA;IAHE;MAAAhB,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAIA,SAAAgB,YAAA,EAAwB;QACtB,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;UAClB,WAAON,gBAAI,EAAA7G,gBAAA,KAAAA,gBAAA,OAAA8G,uBAAA,6GAEO,IAAI,CAACM,cAAc;QAEvC;QACA,IAAMC,gBAAgB,GAAGC,wBAAe,CAACC,eAAe,CAAC,IAAI,CAACJ,QAAQ,CAAC;QACvE,IAAAK,cAAA,GAA+B,IAAI,CAACL,QAAQ;UAApCM,OAAO,GAAAD,cAAA,CAAPC,OAAO;UAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;UAAEC,IAAI,GAAAH,cAAA,CAAJG,IAAI;QAC1B,WAAOd,gBAAI,EAAA5G,gBAAA,KAAAA,gBAAA,OAAA6G,uBAAA,+MAEO,IAAI,CAACM,cAAc,EAClBK,OAAO,EACR,IAAAG,qBAAS,EAACH,OAAO,CAAC,EACxBE,IAAI,IAAIE,wBAAe,CAACC,WAAW,EACxCT,gBAAgB,GAAG,IAAAU,oBAAS,EAACL,GAAG,CAAC,GAAGM,gBAAO;MAGpD;;MAEA;AACF;AACA;AACA;AACA;AACA;MACE;IAAA;MAAA/B,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAA+B,yBAAmCC,QAAQ,EAAE;QAAA,IAAAC,UAAA,EAAAC,oBAAA;QAC3C,IAAMC,gBAAoC,GAAG,EAAE;QAC/C,IAAIC,WAAW;QACf,IAAMC,IAAwB,GAAG,EAAE;QAEnC,CAAAJ,UAAA,GAAAD,QAAQ,CAAC,CAAC,CAAC,cAAAC,UAAA,wBAAAC,oBAAA,GAAXD,UAAA,CAAaK,SAAS,cAAAJ,oBAAA,uBAAtBA,oBAAA,CAAwBrF,OAAO,CAAC,UAAC0F,IAAsB,EAAK;UAC1D,IAAIA,IAAI,CAACC,WAAW,EAAE,OAAOL,gBAAgB,CAAC9F,IAAI,CAACkG,IAAI,CAAC;UACxD,IAAIA,IAAI,CAACE,gBAAgB,EAAE;YACzBL,WAAW,GAAGG,IAAI;YAClB,OAAOH,WAAW;UACpB;UACA,OAAOC,IAAI,CAAChG,IAAI,CAACkG,IAAI,CAAC;QACxB,CAAC,CAAC;QAEF,OAAO;UAAEH,WAAW,EAAXA,WAAW;UAAED,gBAAgB,EAAhBA,gBAAgB;UAAEE,IAAI,EAAJA;QAAK,CAAC;MAChD;;MAEA;AACF;AACA;AACA;AACA;AACA;MACE;IAAA;MAAAtC,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAA0C,gBAA0BV,QAAQ,EAAEW,UAAU,EAAE;QAAA,IAAAC,WAAA,EAAAC,WAAA;QAC9C,IAAAC,qBAAA,GACE,IAAI,CAACf,wBAAwB,CAACC,QAAQ,CAAC;UADjCI,WAAW,GAAAU,qBAAA,CAAXV,WAAW;UAAED,gBAAgB,GAAAW,qBAAA,CAAhBX,gBAAgB;UAAEE,IAAI,GAAAS,qBAAA,CAAJT,IAAI;QAE3C,IAAMU,aAAa,GAAGZ,gBAAgB,CAACxF,MAAM,KAAK,CAAC;QACnD,WAAOgE,gBAAI,EAAA3G,gBAAA,KAAAA,gBAAA,OAAA4G,uBAAA,+RAELmC,aAAa,OACXpC,gBAAI,EAAA1G,gBAAA,KAAAA,gBAAA,OAAA2G,uBAAA,4KAEE,EAAAgC,WAAA,GAAAZ,QAAQ,CAAC,CAAC,CAAC,cAAAY,WAAA,uBAAXA,WAAA,CAAaI,OAAO,SACtBrC,gBAAI,EAAAzG,gBAAA,KAAAA,gBAAA,OAAA0G,uBAAA,+KAAAiC,WAAA,GAEGb,QAAQ,CAAC,CAAC,CAAC,cAAAa,WAAA,uBAAXA,WAAA,CAAaG,OAAO,CAE1B,EACCb,gBAAgB,CAACc,GAAG,CAAC,UAACV,IAAI,EAAE9F,CAAC,EAAK;UAAA,IAAAyG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAClC,IAAMC,MAAM,MAAAtE,MAAA,CAAMR,SAAS,6BAAAQ,MAAA,CAA0BtC,CAAC,CAAE;UACxD,WAAOkE,gBAAI,EAAAxG,gBAAA,KAAAA,gBAAA,OAAAyG,uBAAA,sbAEQyC,MAAM,EACbd,IAAI,CAAChC,GAAG,EACPgC,IAAI,CAAC/B,KAAK,GAAA0C,qBAAA,GAEdX,IAAI,CAACe,gBAAgB,cAAAJ,qBAAA,uBAArBA,qBAAA,CACCK,WAAW,GAAAJ,sBAAA,GAEfZ,IAAI,CAACe,gBAAgB,cAAAH,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBK,UAAU,cAAAJ,sBAAA,uBAAjCA,sBAAA,CAAmCK,KAAK,CAACR,GAAG,CAC5C,UAAAS,KAAA,EAAkC5G,GAAG,EAAK;YAAA,IAAvC0D,KAAK,GAAAkD,KAAA,CAALlD,KAAK;cAAED,GAAG,GAAAmD,KAAA,CAAHnD,GAAG;cAAEoD,eAAe,GAAAD,KAAA,CAAfC,eAAe;YAC5B,WAAOhD,gBAAI,EAAAvG,gBAAA,KAAAA,gBAAA,OAAAwG,uBAAA,mFACP+C,eAAe,OACbhD,gBAAI,EAAAtG,iBAAA,KAAAA,iBAAA,OAAAuG,uBAAA,seAEeyC,MAAM,EAAQvG,GAAG,EACxByD,GAAG,EAEFC,KAAK,EACNA,KAAK,EAAU,IAAAoD,YAAY,EAAC;cAClCC,IAAI,EAAE;YACR,CAAC,CAAC,QAGNlD,gBAAI,EAAArG,iBAAA,KAAAA,iBAAA,OAAAsG,uBAAA,kWAEeyC,MAAM,EAAQvG,GAAG,EACvB0D,KAAK,EACND,GAAG,CAEd;UAET,CACF,CAAC;QAGP,CAAC,CAAC,IAGN,IAAI,EAEUwC,aAAa,GACzBe,+DAAsC,CAACC,YAAY,GACnDD,+DAAsC,CAACE,OAAO,EACjC,IAAAtC,qBAAS,EAACU,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE7B,GAAG,CAAC,EAC1B,IAAAmB,qBAAS,EAACU,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE5B,KAAK,CAAC,EAC7C6B,IAAI,CAACY,GAAG,CAAC,UAACV,IAAI,EAAE0B,CAAC,EAAK;UAAA,IAAAC,sBAAA,EAAAC,sBAAA;UACtB,IAAMd,MAAM,MAAAtE,MAAA,CAAMR,SAAS,6BAAAQ,MAAA,CACzBkF,CAAC,GAAG9B,gBAAgB,CAACxF,MAAM,CAC3B;UACF,WAAOgE,gBAAI,EAAApG,iBAAA,KAAAA,iBAAA,OAAAqG,uBAAA,yPAEQyC,MAAM,EACbd,IAAI,CAAChC,GAAG,EACPgC,IAAI,CAAC/B,KAAK,GAAA0D,sBAAA,GACjB3B,IAAI,CAACe,gBAAgB,cAAAY,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBV,UAAU,cAAAW,sBAAA,uBAAjCA,sBAAA,CAAmCV,KAAK,CAACR,GAAG,CAC5C,UAAAmB,KAAA,EAAiBtH,GAAG,EAAK;YAAA,IAAtB0D,KAAK,GAAA4D,KAAA,CAAL5D,KAAK;cAAED,GAAG,GAAA6D,KAAA,CAAH7D,GAAG;YACX,WAAOI,gBAAI,EAAAnG,iBAAA,KAAAA,iBAAA,OAAAoG,uBAAA,0RAEQyC,MAAM,EAAQvG,GAAG,EACvB0D,KAAK,EACND,GAAG;UAGjB,CACF,CAAC;QAGP,CAAC,CAAC;MAIV;;MAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACE;IAAA;MAAAR,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAAqE,2BAAAC,KAAA,EAQG;QAAA,IAPDhC,SAAS,GAAAgC,KAAA,CAAThC,SAAS;UAAAiC,aAAA,GAAAD,KAAA,CACTtB,OAAO;UAAPA,OAAO,GAAAuB,aAAA,cAAG,EAAE,GAAAA,aAAA;UAAAC,eAAA,GAAAF,KAAA,CACZG,SAAS;UAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;UAAAE,oBAAA,GAAAJ,KAAA,CACjBK,cAAc;UAAdA,cAAc,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA;UAAAE,kBAAA,GAAAN,KAAA,CACtBO,YAAY;UAAZA,YAAY,GAAAD,kBAAA,cAAG,EAAE,GAAAA,kBAAA;UAAAE,gBAAA,GAAAR,KAAA,CACjBS,UAAU;UAAVA,UAAU,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;UAAAE,eAAA,GAAAV,KAAA,CACfW,SAAS;UAATA,SAAS,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;QAEd,IAAME,KAAK,GAAG5C,SAAS,CAACW,GAAG,CAAC,UAACkC,IAAI,EAAK;UACpC,IAAIA,IAAI,CAAC9C,IAAI,EAAE;YACb,WAAO1B,gBAAI,EAAAlG,iBAAA,KAAAA,iBAAA,OAAAmG,uBAAA,yPAEauE,IAAI,CAACC,mBAAmB,EACjCD,IAAI,CAACE,OAAO,EACZF,IAAI,CAACG,QAAQ,EACfH,IAAI,CAAC3E,KAAK,EACJ2E,IAAI,CAAC9B,MAAM;UAGhC;UAEA,WAAO1C,gBAAI,EAAAjG,iBAAA,KAAAA,iBAAA,OAAAkG,uBAAA,yOAEauE,IAAI,CAACC,mBAAmB,EACjCD,IAAI,CAACG,QAAQ,EAChBH,IAAI,CAAC5E,GAAG,EACP4E,IAAI,CAAC3E,KAAK,EACJ2E,IAAI,CAAC9B,MAAM;QAEhC,CAAC,CAAC;QAEF,IAAIL,OAAO,EAAE;UACXkC,KAAK,CAACK,OAAO,KACX5E,gBAAI,EAAAhG,iBAAA,KAAAA,iBAAA,OAAAiG,uBAAA,kJAEGoC,OAAO,CAGhB,CAAC;QACH;QAEA,WAAOrC,gBAAI,EAAA/F,iBAAA,KAAAA,iBAAA,OAAAgG,uBAAA,kPAEOqE,SAAS,EACT,IAAAvD,qBAAS,EAAC+C,SAAS,CAAC,EAC1B,IAAA/C,qBAAS,EAACmD,YAAY,CAAC,EACpB,IAAAnD,qBAAS,EAACqD,UAAU,CAAC,EACZ,IAAArD,qBAAS,EAACiD,cAAc,CAAC,EAC3CO,KAAK;MAGb;;MAEA;AACF;AACA;AACA;AACA;MACE;IAAA;MAAAnF,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAAwF,sBAAA,EAAkC;QAAA,IAAAC,MAAA;QAChC,IAAIC,UAAU,GAAG,KAAK;QACtB,IAAMC,aAAa,GAAG;UAAEC,MAAM,EAAE,EAAE;UAAEC,MAAM,EAAE,EAAE;UAAEC,MAAM,EAAE;QAAG,CAAC;QAE5D,OAAO,UAAAC,KAAA,EAOD;UAAA,IAAAC,UAAA,GAAAD,KAAA,CANJ1D,IAAI;YAAJA,IAAI,GAAA2D,UAAA,cAAG,CACL;cAAEzF,GAAG,EAAE,EAAE;cAAE+C,gBAAgB,EAAE;gBAAEE,UAAU,EAAE;kBAAEC,KAAK,EAAE,CAAC;oBAAElD,GAAG,EAAE;kBAAG,CAAC;gBAAE;cAAE;YAAE,CAAC,CACxE,GAAAyF,UAAA;YAAAC,SAAA,GAAAF,KAAA,CACDjJ,GAAG;YAAHA,GAAG,GAAAmJ,SAAA,cAAG,EAAE,GAAAA,SAAA;YAAAC,mBAAA,GAAAH,KAAA,CACRI,aAAa;YAAbA,aAAa,GAAAD,mBAAA,cAAG,EAAE,GAAAA,mBAAA;YAAAE,oBAAA,GAAAL,KAAA,CAClBM,cAAc;YAAdA,cAAc,GAAAD,oBAAA,cAAG,EAAE,GAAAA,oBAAA;UAEnB,IAAI,CAACV,UAAU,EAAE;YACf,IAAIS,aAAa,KAAKE,cAAc,EAAE;cACpCV,aAAa,CAACC,MAAM,MAAA7G,MAAA,CAAMjC,GAAG,CAAE;cAC/B4I,UAAU,GAAG,IAAI;YACnB;YACA;YAAA,KACK;cACH,KAAK,IAAIjJ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAG4F,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE1F,MAAM,GAAEF,CAAC,EAAE,EAAE;gBAAA,IAAA6J,OAAA;gBACrC,IAAI,EAAAA,OAAA,GAAAjE,IAAI,CAAC5F,CAAC,CAAC,cAAA6J,OAAA,uBAAPA,OAAA,CAAS/F,GAAG,MAAK8F,cAAc,EAAE;kBACnCV,aAAa,CAACC,MAAM,MAAA7G,MAAA,CAAMjC,GAAG,CAAE;kBAC/B6I,aAAa,CAACE,MAAM,MAAA9G,MAAA,CAAMjC,GAAG,OAAAiC,MAAA,CAAItC,CAAC,CAAE;kBACpCiJ,UAAU,GAAG,IAAI;kBACjB;gBACF,CAAC,MAAM;kBAAA,IAAAa,QAAA,EAAAC,qBAAA,EAAAC,sBAAA;kBACL,IAAMhD,KAAK,IAAA8C,QAAA,GAAGlE,IAAI,CAAC5F,CAAC,CAAC,cAAA8J,QAAA,wBAAAC,qBAAA,GAAPD,QAAA,CAASjD,gBAAgB,cAAAkD,qBAAA,wBAAAC,sBAAA,GAAzBD,qBAAA,CAA2BhD,UAAU,cAAAiD,sBAAA,uBAArCA,sBAAA,CAAuChD,KAAK;kBAC1D,KAAK,IAAIiD,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAGjD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE9G,MAAM,GAAE+J,CAAC,EAAE,EAAE;oBAAA,IAAAC,QAAA;oBACtC,IAAI,EAAAA,QAAA,GAAAlD,KAAK,CAACiD,CAAC,CAAC,cAAAC,QAAA,uBAARA,QAAA,CAAUpG,GAAG,MAAK8F,cAAc,EAAE;sBACpCV,aAAa,CAACC,MAAM,MAAA7G,MAAA,CAAMjC,GAAG,CAAE;sBAC/B6I,aAAa,CAACE,MAAM,MAAA9G,MAAA,CAAMjC,GAAG,OAAAiC,MAAA,CAAItC,CAAC,CAAE;sBACpCkJ,aAAa,CAACG,MAAM,MAAA/G,MAAA,CAAMjC,GAAG,OAAAiC,MAAA,CAAItC,CAAC,OAAAsC,MAAA,CAAI2H,CAAC,CAAE;sBACzChB,UAAU,GAAG,IAAI;sBACjB;oBACF;kBACF;gBACF;cACF;YACF;YACAD,MAAI,CAAC/E,qBAAqB,GAAGgF,UAAU;YACvC,OAAOC,aAAa;UACtB;UACA,OAAOA,aAAa;QACtB,CAAC;MACH;;MAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;MACE;IAAA;MAAA5F,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAA4G,eACEtE,SAAS,EACTlC,gBAAgB,EAChBiD,MAAM,EACNgD,cAAc,EACd;QAAA,IAAAQ,MAAA;QACA,IAAMxE,IAAW,GAAG,EAAE;QACtB,IAAMyE,eAAe,GAAG,IAAI,CAACtB,qBAAqB,CAAC,CAAC;QACpD,IAAMuB,WAAW,GAAGzE,SAAS,CAACW,GAAG,CAAC,UAACkC,IAAI,EAAE1I,CAAC,EAAK;UAC7C,IAAI0I,IAAI,CAAC6B,YAAY,EAAE;YAAA,IAAAC,mBAAA,EAAAC,UAAA;YACrB,IAAMC,WAQH,GAAG,EAAE;YAER,IAAIC,SAAS,IAAAH,mBAAA,GAAG9B,IAAI,CAAC6B,YAAY,CAAC,CAAC,CAAC,cAAAC,mBAAA,uBAApBA,mBAAA,CAAsB3E,SAAS;YAC/C,IAAIH,gBAAoC,GAAG,EAAE;YAE7C,IAAIgD,IAAI,CAACkC,YAAY,EAAE;cACrB,IAAAC,qBAAA,GAIIT,MAAI,CAAC9E,wBAAwB,CAACoD,IAAI,CAAC6B,YAAY,CAAC;gBAHlD5E,WAAW,GAAAkF,qBAAA,CAAXlF,WAAW;gBACOmF,YAAY,GAAAD,qBAAA,CAA9BnF,gBAAgB;gBACVqF,uBAAuB,GAAAF,qBAAA,CAA7BjF,IAAI;cAENF,gBAAgB,GAAGoF,YAAY;cAC/BH,SAAS,GAAGG,YAAY,CAACxI,MAAM,CAACyI,uBAAuB,CAAC;cACxD,IAAIpF,WAAW,EAAE;gBACfgF,SAAS,CAAC/K,IAAI,CAAC+F,WAAW,CAAC;cAC7B;YACF;YAEA,IAAMuD,cAAa,GAAGmB,eAAe,CAAC;cACpCzE,IAAI,EAAE+E,SAAS;cACftK,GAAG,EAAEL,CAAC;cACN0J,aAAa,EAAEhB,IAAI,CAAC5E,GAAG;cACvB8F,cAAc,EAAdA;YACF,CAAC,CAAC;;YAEF;YACA,CAAAa,UAAA,GAAAE,SAAS,cAAAF,UAAA,uBAATA,UAAA,CAAWjE,GAAG,CAAC,UAACV,IAAI,EAAEmE,CAAC,EAAK;cAAA,IAAAe,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,uBAAA;cAC1B,IAAMC,WAKH,GAAG,EAAE;cAER,IAAMC,eAAe,GAAGtB,CAAC,GAAG,CAAC,KAAKvE,gBAAgB,CAACxF,MAAM;;cAEzD;cACA,CAAA8K,sBAAA,GAAAlF,IAAI,CAACe,gBAAgB,cAAAmE,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBjE,UAAU,cAAAkE,sBAAA,uBAAjCA,sBAAA,CAAmCjE,KAAK,CAACR,GAAG,CAAC,UAACgF,OAAO,EAAEhE,CAAC,EAAK;gBAC3D,OAAO8D,WAAW,CAAC1L,IAAI,CAAC;kBACtBmE,KAAK,EAAEyH,OAAO,CAACzH,KAAK;kBACpBD,GAAG,EAAE0H,OAAO,CAAC1H,GAAG;kBAChB8C,MAAM,KAAAtE,MAAA,CAAKsE,MAAM,oBAAAtE,MAAA,CAAiBtC,CAAC,WAAAsC,MAAA,CAAQ2H,CAAC,WAAA3H,MAAA,CAAQkF,CAAC,CAAE;kBACvDqB,QAAQ,EAAE,CAAClF,gBAAgB,GACvB,CAAAuF,cAAa,aAAbA,cAAa,uBAAbA,cAAa,CAAEG,MAAM,SAAA/G,MAAA,CAAQtC,CAAC,OAAAsC,MAAA,CAAI2H,CAAC,OAAA3H,MAAA,CAAIkF,CAAC,CAAE,GAC1C7D,gBAAgB,KAAK6H,OAAO,CAACC;gBACnC,CAAC,CAAC;cACJ,CAAC,CAAC;cAEF,IAAIH,WAAW,CAACpL,MAAM,KAAK,CAAC,EAAE;gBAC5B0F,IAAI,CAAChG,IAAI,CACPwK,MAAI,CAACxC,0BAA0B,CAAC;kBAC9B/B,SAAS,EAAEyF,WAAW;kBACtBtD,SAAS,EAAE,IAAI;kBACfE,cAAc,EAAE,IAAI;kBACpBE,YAAY,EAAEtC,IAAI,CAAC/B,KAAK;kBACxBuE,UAAU,EAAExC,IAAI,CAAChC,GAAG;kBACpB0E,SAAS,KAAAlG,MAAA,CAAKtC,CAAC,QAAAsC,MAAA,CAAK2H,CAAC;gBACvB,CAAC,CACH,CAAC;cACH;cAEA,OAAOS,WAAW,CAAC9K,IAAI,CAAC;gBACtBmE,KAAK,EAAE+B,IAAI,CAAC/B,KAAK;gBACjB6C,MAAM,KAAAtE,MAAA,CAAKsE,MAAM,oBAAAtE,MAAA,CAAiBtC,CAAC,WAAAsC,MAAA,CAAQ2H,CAAC,CAAE;gBAC9CtB,mBAAmB,EAAE4C,eAAe;gBACpCzH,GAAG,EAAEgC,IAAI,CAAChC,GAAG;gBACb8E,OAAO,KAAAtG,MAAA,CAAKtC,CAAC,QAAAsC,MAAA,CAAK2H,CAAC,CAAE;gBACrBpB,QAAQ,EAAE,CAAClF,gBAAgB,GACvB,CAAAuF,cAAa,aAAbA,cAAa,uBAAbA,cAAa,CAAEE,MAAM,SAAA9G,MAAA,CAAQtC,CAAC,OAAAsC,MAAA,CAAI2H,CAAC,CAAE,GACrCtG,gBAAgB,KAAKmC,IAAI,CAAC2F,YAAY;gBAC1C7F,IAAI,EACF,EAAAsF,sBAAA,GAAApF,IAAI,CAACe,gBAAgB,cAAAqE,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBnE,UAAU,cAAAoE,sBAAA,uBAAjCA,sBAAA,CAAmCnE,KAAK,KACxC,EAAAoE,uBAAA,GAAAtF,IAAI,CAACe,gBAAgB,cAAAuE,uBAAA,wBAAAC,uBAAA,GAArBD,uBAAA,CAAuBrE,UAAU,cAAAsE,uBAAA,uBAAjCA,uBAAA,CAAmCrE,KAAK,CAAC9G,MAAM,MAAK;cACxD,CAAC,CAAC;YACJ,CAAC,CAAC;YAEF,IAAIwK,WAAW,CAACxK,MAAM,KAAK,CAAC,EAAE;cAAA,IAAAwL,oBAAA;cAC5B9F,IAAI,CAAChG,IAAI,CACPwK,MAAI,CAACxC,0BAA0B,CAAC;gBAC9B/B,SAAS,EAAE6E,WAAW;gBACtBnE,OAAO,GAAAmF,oBAAA,GAAEhD,IAAI,CAAC6B,YAAY,CAAC,CAAC,CAAC,cAAAmB,oBAAA,uBAApBA,oBAAA,CAAsBnF,OAAO;gBACtCyB,SAAS,EAAE,IAAI;gBACfE,cAAc,EAAE,IAAI;gBACpBE,YAAY,EAAEM,IAAI,CAAC3E,KAAK;gBACxBuE,UAAU,EAAEI,IAAI,CAAC5E,GAAG;gBACpB0E,SAAS,KAAAlG,MAAA,CAAKtC,CAAC;cACjB,CAAC,CACH,CAAC;YACH;UACF;UAEA,IAAMkJ,aAAa,GAAGmB,eAAe,CAAC;YACpChK,GAAG,EAAEL,CAAC;YACN0J,aAAa,EAAEhB,IAAI,CAAC5E,GAAG;YACvB8F,cAAc,EAAdA;UACF,CAAC,CAAC;UAEF,OAAO;YACL7F,KAAK,EAAE2E,IAAI,CAAC3E,KAAK;YACjB0H,YAAY,EAAE/C,IAAI,CAAC+C,YAAY;YAC/B7F,IAAI,EAAE8C,IAAI,CAAC6B,YAAY,IAAI7B,IAAI,CAAC6B,YAAY,CAACrK,MAAM,KAAK,CAAC;YACzD4D,GAAG,EAAE4E,IAAI,CAAC5E,GAAG;YACb8E,OAAO,KAAAtG,MAAA,CAAKtC,CAAC,SAAM;YACnB4G,MAAM,KAAAtE,MAAA,CAAKsE,MAAM,oBAAAtE,MAAA,CAAiBtC,CAAC,CAAE;YACrC6I,QAAQ,EAAE,CAAClF,gBAAgB,GACvB,CAAAuF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,MAAM,SAAA7G,MAAA,CAAQtC,CAAC,CAAE,GAChC2D,gBAAgB,KAAK+E,IAAI,CAAC+C;UAChC,CAAC;QACH,CAAC,CAAC;QAEF,WAAOvH,gBAAI,EAAA9F,iBAAA,KAAAA,iBAAA,OAAA+F,uBAAA,mDACP,IAAI,CAACyD,0BAA0B,CAAC;UAChC/B,SAAS,EAAEyE,WAAW;UACtB9B,SAAS,EAAE;QACb,CAAC,CAAC,EACA5C,IAAI;MAEV;;MAEA;AACF;AACA;AACA;AACA;MACE;IAAA;MAAAtC,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EACA,SAAAoI,kBAAA,EAA8B;QAC5B,IAAI1C,UAAU,GAAG,KAAK;QAEtB,OAAO,UAAC1D,QAAQ,EAAEqE,cAAc,EAAK;UACnC,IAAI,CAACX,UAAU,EAAE;YACf,IAAI1D,QAAQ,CAACrF,MAAM,EAAE;cACnB,IAAQ2F,SAAS,GAAKN,QAAQ,CAAC,CAAC,CAAC,CAAzBM,SAAS;cAEjB,KAAK,IAAI7F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6F,SAAS,CAAC3F,MAAM,EAAEF,CAAC,EAAE,EAAE;gBAAA,IAAA4L,YAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;gBACzC,IACE,EAAAJ,YAAA,GAAA/F,SAAS,CAAC7F,CAAC,CAAC,cAAA4L,YAAA,uBAAZA,YAAA,CAAc9H,GAAG,MAAK8F,cAAc,KAAAiC,aAAA,GACpChG,SAAS,CAAC7F,CAAC,CAAC,cAAA6L,aAAA,gBAAAC,qBAAA,GAAZD,aAAA,CAAchF,gBAAgB,cAAAiF,qBAAA,gBAAAC,sBAAA,GAA9BD,qBAAA,CAAgC/E,UAAU,cAAAgF,sBAAA,gBAAAC,sBAAA,GAA1CD,sBAAA,CAA4C/E,KAAK,cAAAgF,sBAAA,eAAjDA,sBAAA,CAAmDxM,MAAM,CACvD,UAACyM,IAAI;kBAAA,OAAKA,IAAI,CAACnI,GAAG,KAAK8F,cAAc;gBAAA,CACvC,CAAC,CAAC1J,MAAM,EACR;kBACA+I,UAAU,GAAG,IAAI;gBACnB;cACF;YACF;YAEA,OAAOA,UAAU;UACnB;UAEA,OAAO,KAAK;QACd,CAAC;MACH;;MAEA;AACF;AACA;AACA;AACA;AACA;IALE;MAAA3F,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAMA,SAAAa,gBAAA8H,KAAA,EAQG;QAAA,IAAAC,cAAA;UAAAC,MAAA;QAAA,IAPDzI,gBAAgB,GAAAuI,KAAA,CAAhBvI,gBAAgB;UAChB5D,MAAM,GAAAmM,KAAA,CAANnM,MAAM;UACNuE,KAAK,GAAA4H,KAAA,CAAL5H,KAAK;QAML,IAAMsF,cAAc,IAAAuC,cAAA,GAAGE,0BAAI,CAACC,QAAQ,cAAAH,cAAA,uBAAbA,cAAA,CAAenH,IAAI;QAC1C,IAAMuH,YAAY,GAAG,IAAI,CAACZ,iBAAiB,CAAC,CAAC;QAC7C,IAAQa,QAAQ,GAAa,IAAI,CAAzBA,QAAQ;UAAE5I,MAAM,GAAK,IAAI,CAAfA,MAAM;QACxB,IAAIgC,IAAgC,GAAG4G,QAAQ;QAC/C,IAAM5F,MAAM,MAAAtE,MAAA,CAAMR,SAAS,kBAAAQ,MAAA,CAAesB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEiC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAE;QAC3E,IAAIvB,KAAK,EAAE;UACTsB,IAAI,GAAGhC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiC,SAAS;QAC1B;QAEA,IAAI9F,MAAM,KAAKkC,uBAAuB,CAACoC,OAAO,EAAE;UAC9C,OAAO,CAACuB,IAAI,GACRlC,SAAS,GACTkC,IAAI,CAACY,GAAG,CAAC,UAACyF,IAAI,EAAEjM,CAAC,EAAK;YACpB,IAAAyM,kBAAA,GAAwDR,IAAI,CAApD1B,YAAY;cAAZA,YAAY,GAAAkC,kBAAA,cAAG,EAAE,GAAAA,kBAAA;cAAE1I,KAAK,GAAwBkI,IAAI,CAAjClI,KAAK;cAAE0H,YAAY,GAAUQ,IAAI,CAA1BR,YAAY;cAAE3H,GAAG,GAAKmI,IAAI,CAAZnI,GAAG;YACnD,IAAI+E,QAAQ;YAEZ,IAAIlF,gBAAgB,EAAE;cACpBkF,QAAQ,GAAGlF,gBAAgB,IAAI8H,YAAY,KAAK9H,gBAAgB;YAClE,CAAC,MAAM;cACLkF,QAAQ,GAAG0D,YAAY,CAAChC,YAAY,EAAEX,cAAc,CAAC;YACvD;YAEA,IAAIrE,QAAQ;YACZ,IAAI0G,IAAI,CAACrB,YAAY,EAAE;cACrBrF,QAAQ,GAAG6G,MAAI,CAACM,WAAW,CAAC1M,CAAC,CAAC,GAAGoM,MAAI,CAACnG,eAAe,CACnDsE,YAAY,EACZvK,CACF,CAAC;YACH,CAAC,MAAM;cACLuF,QAAQ,GAAGgF;cACT;cAAA,CACCoC,MAAM,CACL,UAACC,GAAqB,EAAAC,KAAA;gBAAA,IAAIhH,SAAS,GAAAgH,KAAA,CAAThH,SAAS;gBAAA,OACjC+G,GAAG,CAACtK,MAAM,CAACuD,SAAS,CAAC;cAAA,GACvB,EACF,CAAC,CACAW,GAAG,CACF,UAAAsG,KAAA,EAA6CtF,CAAC;gBAAA,IAApCuF,aAAa,GAAAD,KAAA,CAApB/I,KAAK;kBAAsBiJ,WAAW,GAAAF,KAAA,CAAhBhJ,GAAG;gBAAA,WAC1BI,gBAAI,EAAA7F,iBAAA,KAAAA,iBAAA,OAAA8F,uBAAA,sTAEWR,gBAAgB,GACvBkF,QAAQ,GACRmE,WAAW,KAAKpD,cAAc,EAC1BoD,WAAW,EACVD,aAAa,EACPnG,MAAM,EAAmB5G,CAAC,EAAQwH,CAAC;cAAA,CAE1D,CAAC;YACL;YACA,IAAIjC,QAAQ,CAACrF,MAAM,KAAK,CAAC,EAAE;cACzB,WAAOgE,gBAAI,EAAA5F,iBAAA,KAAAA,iBAAA,OAAA6F,uBAAA,wPAEIR,gBAAgB,GACvBkF,QAAQ,GACR/E,GAAG,KAAK8F,cAAc,EAClB9F,GAAG,EACFC,KAAK,EACC6C,MAAM,EAAY5G,CAAC;YAExC;YACA,IAAIiM,IAAI,CAACrB,YAAY,EAAE;cACrB,WAAO1G,gBAAI,EAAA3F,iBAAA,KAAAA,iBAAA,OAAA4F,uBAAA,4SAEI0E,QAAQ,EACL9E,KAAK,EACAA,KAAK,EACT6C,MAAM,EAAY5G,CAAC;YAGxC;YACA,WAAOkE,gBAAI,EAAA1F,iBAAA,KAAAA,iBAAA,OAAA2F,uBAAA,kSAEI0E,QAAQ,EACL9E,KAAK,EACAA,KAAK,EACT6C,MAAM,EAAY5G,CAAC,EAChCuF,QAAQ;UAGhB,CAAC,CAAC;QACR;QAEA,OAAO,CAACK,IAAI,GACRlC,SAAS,GACT,IAAI,CAACyG,cAAc,CAACvE,IAAI,EAAEjC,gBAAgB,EAAEiD,MAAM,EAAEgD,cAAc,CAAC;MACzE;;MAEA;AACF;AACA;AACA;AACA;IAJE;MAAAtG,IAAA;MAAA2J,UAAA,GAKC,IAAAC,wBAAY,EAAC,qBAAqB,CAAC;MAAA7M,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,IAAA4J,MAAA;QAAA,OAEV,UAACC,KAAkB,EAAK;UAChD,IACErN,MAAM,GAEJqN,KAAK,CAFPrN,MAAM;YAAAsN,aAAA,GAEJD,KAAK,CADPE,MAAM;YAAIC,MAAM,GAAAF,aAAA,CAANE,MAAM;YAAEC,SAAS,GAAAH,aAAA,CAATG,SAAS;UAE7B,IAAQ5G,MAAM,GAAM7G,MAAM,CAAiB0N,OAAO,CAA1C7G,MAAM;UACd,IAAM8G,KAAK,GAAG9G,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE+G,KAAK,CAAC,CAAC,CAAC,CAAC;UAC/B,IAAMC,WAAW,GAAGT,MAAI,CAACT,WAAW,CAACgB,KAAK,CAAE;UAC5C,IAAAG,eAAM,EAACN,MAAM,GAAGK,WAAW,GAAGvI,gBAAO,EAAEtF,MAAqB,CAAC;UAC7DyN,SAAS,CAAC,CAAC;QACb,CAAC;MAAA;IAAA;MAAAlK,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAOuB,KAAK;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GA6B5B,IAAAa,oBAAQ,EAAC;QAAEC,IAAI,EAAEC,MAAM;QAAEC,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAc,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACvD,MAAM;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKlB,IAAAa,oBAAQ,EAAC;QAAEC,IAAI,EAAEC,MAAM;QAAEC,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAa,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACvD,MAAM;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKjB,IAAAa,oBAAQ,EAAC;QAAEC,IAAI,EAAEtM,OAAO;QAAEyM,SAAS,EAAE;MAAkB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACzC,KAAK;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKrB,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAsB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAC5B,IAAI,CAACkB,cAAc;MAAA;IAAA;MAAAnB,IAAA;MAAA2J,UAAA,GAKrC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9B,IAAAa,oBAAQ,EAAC,CAAC;MAAAzN,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMV,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAQ9B,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAa,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMrC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACE,EAAE;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKlC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAuB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM/C,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE,sBAAsB;QAAEH,IAAI,EAAEtM;MAAQ,CAAC,CAAC;MAAApB,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAC1C,KAAK;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKzB,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAA0B,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMlD,IAAAa,oBAAQ,EAAC,CAAC;MAAAzN,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACqB,EAAE;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKjC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAA0B,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMlD,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAuB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAC5B,iBAAiB;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKpC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAuB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAC5B,eAAe;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKlC,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAoC,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM5D,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAsC,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9D,IAAAa,oBAAQ,EAAC,CAAC;MAAAzN,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMV,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAqB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM7C,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9B,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAgB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMxC,IAAAa,oBAAQ,EAAC;QAAEC,IAAI,EAAEI,MAAM;QAAED,SAAS,EAAE;MAAgB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACxC,GAAG;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKjB,IAAAa,oBAAQ,EAAC,CAAC;MAAAzN,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMV,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9B,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9B,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAM,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAM9B,IAAAa,oBAAQ,EAAC;QAAEC,IAAI,EAAEtM,OAAO;QAAEwM,OAAO,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAuB,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OACzD,KAAK;MAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAKzB,IAAAa,oBAAQ,EAAC,CAAC;MAAAzN,GAAA;MAAAkD,KAAA;IAAA;MAAAD,IAAA;MAAA2J,UAAA,GAMV,IAAAa,oBAAQ,EAAC;QAAEI,SAAS,EAAE;MAAc,CAAC,CAAC;MAAA7N,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAC1B6K,kCAAsB;MAAA;IAAA;MAAA9K,IAAA;MAAAjD,GAAA;MAAAkD,KAAA;MAnNnC;AACF;AACA;AACA;AACA;MAGE;AACF;AACA;AACA;AACA;MAME;AACF;AACA;AACA;AACA;MAGE;AACF;AACA;AACA;AACA;MAGE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;AACA;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE;AACF;AACA;MAIE,SAAA8K,iBAAA,EAAmB;QACjB;QACA,OAAO,IAAI;MACb;IAAC;MAAA/K,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAED,SAAA+K,aAAA,EAAe;QAAA,IAAAC,qBAAA,EAAAC,qBAAA;QACb,IAAQC,QAAQ,GAAmB,IAAI,CAA/BA,QAAQ;UAAEC,YAAY,GAAK,IAAI,CAArBA,YAAY;QAC9B,IAAAC,kBAAU,EAAC,CAAC;QACZ,IAAIF,QAAQ,EAAE;UAAA,IAAAG,kBAAA;UACZ,CAAAA,kBAAA,OAAI,CAACC,YAAY,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAAhN,IAAA,KAAI,EAAgB6M,QAAQ,CAAC;QAC/B;QACA,CAAAF,qBAAA,OAAI,CAACO,gBAAgB,cAAAP,qBAAA,uBAArBA,qBAAA,CAAA3M,IAAA,KAAI,EAAoB6M,QAAQ,EAAEC,YAAY,CAAC,SAAM,CAAC,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAAF,qBAAA,OAAI,CAACO,eAAe,cAAAP,qBAAA,uBAApBA,qBAAA,CAAA5M,IAAA,KAAuB,CAAC;QAExB,IAAI,CAACoN,KAAK,CAACC,MAAM,GAAG,KAAK;MAC3B;IAAC;MAAA3L,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAED,SAAA2L,QAAQC,iBAAiB,EAAE;QACzB,IAAIA,iBAAiB,CAACC,GAAG,CAAC,UAAU,CAAC,EAAE;UACrC,IAAQX,SAAQ,GAAmB,IAAI,CAA/BA,QAAQ;YAAEC,aAAY,GAAK,IAAI,CAArBA,YAAY;UAC9B,IAAID,SAAQ,EAAE;YAAA,IAAAY,mBAAA,EAAAC,sBAAA;YACZ,CAAAD,mBAAA,OAAI,CAACR,YAAY,cAAAQ,mBAAA,uBAAjBA,mBAAA,CAAAzN,IAAA,KAAI,EAAgB6M,SAAQ,CAAC;YAC7B,CAAAa,sBAAA,OAAI,CAACR,gBAAgB,cAAAQ,sBAAA,uBAArBA,sBAAA,CAAA1N,IAAA,KAAI,EAAoB6M,SAAQ,EAAEC,aAAY,CAAC,SAAM,CAAC,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;UACnE;QACF;;QACA,IAAIS,iBAAiB,CAACC,GAAG,CAAC,WAAW,CAAC,EAAE;UACtC,IAAI,CAACG,QAAQ,GAAG,IAAI,CAACC,SAAS;UAC9B;UACAC,OAAO,CAACC,IAAI,CACV,uEACF,CAAC;QACH;MACF;IAAC;MAAApM,IAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAED,SAAAsK,OAAA,EAAS;QAAA,IAAA8B,aAAA;QACP,IACElL,cAAc,GAyBZ,IAAI,CAzBNA,cAAc;UACdmL,yBAAyB,GAwBvB,IAAI,CAxBNA,yBAAyB;UACzBC,oBAAoB,GAuBlB,IAAI,CAvBNA,oBAAoB;UACpBC,kBAAkB,GAsBhB,IAAI,CAtBNA,kBAAkB;UAClBC,kBAAkB,GAqBhB,IAAI,CArBNA,kBAAkB;UAClBR,QAAQ,GAoBN,IAAI,CApBNA,QAAQ;UACRS,WAAW,GAmBT,IAAI,CAnBNA,WAAW;UACXC,UAAU,GAkBR,IAAI,CAlBNA,UAAU;UACVC,YAAY,GAiBV,IAAI,CAjBNA,YAAY;UACZC,qBAAqB,GAgBnB,IAAI,CAhBNA,qBAAqB;UACrBC,oBAAoB,GAelB,IAAI,CAfNA,oBAAoB;UACpBC,6BAA6B,GAc3B,IAAI,CAdNA,6BAA6B;UAC7BC,+BAA+B,GAa7B,IAAI,CAbNA,+BAA+B;UAC/B9D,QAAQ,GAYN,IAAI,CAZNA,QAAQ;UACRiC,QAAQ,GAWN,IAAI,CAXNA,QAAQ;UACR8B,kBAAkB,GAUhB,IAAI,CAVNA,kBAAkB;UAClBC,SAAS,GASP,IAAI,CATNA,SAAS;UACTC,eAAe,GAQb,IAAI,CARNA,eAAe;UACfC,iBAAiB,GAOf,IAAI,CAPNA,iBAAiB;UACjB/M,gBAAgB,GAMd,IAAI,CANNA,gBAAgB;UAChBgN,iBAAiB,GAKf,IAAI,CALNA,iBAAiB;UACjBC,iBAAiB,GAIf,IAAI,CAJNA,iBAAiB;UACjBC,2BAA2B,GAGzB,IAAI,CAHNA,2BAA2B;UAC3BC,UAAU,GAER,IAAI,CAFNA,UAAU;UACVlN,MAAM,GACJ,IAAI,CADNA,MAAM;QAER,IAAMmN,aAAa,GAAGD,UAAU,KAAK1C,kCAAsB;QAE3D,IAAI4C,YAAY;QAChB,IAAIC,sCAAwB,IAAIlB,kBAAkB,IAAI,CAACgB,aAAa,EAAE;UACpEC,YAAY,GAAGH,2BAA2B,aAA3BA,2BAA2B,uBAA3BA,2BAA2B,CAAErK,GAAG,CAAC,UAACV,IAAI,EAAK;YACxD,IAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoL,EAAE,MAAK,QAAQ,EAAE;cACzB,OAAApR,aAAA,CAAAA,aAAA,KAAYgG,IAAI;gBAAEhC,GAAG,EAAEiM;cAAkB;YAC3C;YACA,OAAOjK,IAAI;UACb,CAAC,CAAC;QACJ,CAAC,MAAM;UACLkL,YAAY,GAAGD,aAAa,GACxBnB,yBAAyB,GACzBiB,2BAA2B;QACjC;QACA,IAAMM,aAAa,GAAG1C,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAC1B2C,WAAW,CAAC,CAAC,CACdC,OAAO,CAAC,OAAO,EAAE,UAACC,CAAC;UAAA,OAAKA,CAAC,CAACC,WAAW,CAAC,CAAC;QAAA,EAAC;QAC3C,IAAIC,cAAc,GAAGxB,WAAW;QAChC,IAAIA,WAAW,IAAImB,aAAa,EAAE;UAChC,IACE,IAAAM,QAAA,aAAOzB,WAAW,MAAK,QAAQ,IAC/B3Q,MAAM,CAACqC,SAAS,CAACgQ,cAAc,CAAC9P,IAAI,CAACoO,WAAW,EAAEmB,aAAa,CAAC,EAChE;YACAK,cAAc,GAAGxB,WAAW,CAACmB,aAAa,CAAC,CAACrN,GAAG,IAAIkM,WAAW;UAChE;QACF;QAEA,WAAO9L,gBAAI,EAAAzF,iBAAA,KAAAA,iBAAA,OAAA0F,uBAAA,6wBAGL,CAACoL,QAAQ,GACP7L,SAAS,OACTQ,gBAAI,EAAAxF,iBAAA,KAAAA,iBAAA,OAAAyF,uBAAA,8IACyB,IAAAc,qBAAS,EAACuM,cAAc,CAAC,EAC/CjC,QAAQ,CAEd,EACH,EAAC3L,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,KAAK,IACZL,SAAS,OACTQ,gBAAI,EAAAvF,iBAAA,KAAAA,iBAAA,OAAAwF,uBAAA,8IACyB,IAAAc,qBAAS,EAACrB,MAAM,CAACE,GAAG,CAAC,EAC3CF,MAAM,CAACG,KAAK,CAElB,EACH,IAAI,CAACK,eAAe,CAAC;UACrBT,gBAAgB,EAAhBA,gBAAgB;UAChB5D,MAAM,EAAEkC,uBAAuB,CAAC0P,QAAQ;UACxCrN,KAAK,EAAE,CAAC,CAACV;QACX,CAAC,CAAC,EAEwB,IAAAqB,qBAAS,EAACkL,qBAAqB,CAAC,EAEhDS,iBAAiB,EACFD,iBAAiB,EAEjB,IAAA1L,qBAAS,EAACoL,6BAA6B,CAAC,EACtC,IAAApL,qBAAS,EAACqL,+BAA+B,CAAC,EAC9C7L,cAAc,EAGnC,IAAI,CAACF,WAAW,CAAC,CAAC,EAClB,CAACgL,QAAQ,IAAI3L,MAAM,GACjBF,SAAS,OACTQ,gBAAI,EAAAtF,iBAAA,KAAAA,iBAAA,OAAAuF,uBAAA,4IACwB,IAAAc,qBAAS,EAACuM,cAAc,CAAC,EAC9CjC,QAAQ,CAEd,EACF,CAAC3L,MAAM,IACR4I,QAAQ,QACRtI,gBAAI,EAAArF,iBAAA,KAAAA,iBAAA,OAAAsF,uBAAA,2NAEqBR,gBAAgB,EACnB,IAAAsB,qBAAS,EAACmL,oBAAoB,CAAC,EACrC3L,cAAc,EACxB,IAAI,CAACL,eAAe,CAAC;UACrBT,gBAAgB,EAAhBA,gBAAgB;UAChB5D,MAAM,EAAEkC,uBAAuB,CAACoC,OAAO;UACvCC,KAAK,EAAE;QACT,CAAC,CAAC,CAEL,IACHZ,SAAS,EACP8M,SAAS,KAAK,OAAO,GACnB,EAAE,OACFtM,gBAAI,EAAApF,iBAAA,KAAAA,iBAAA,OAAAqF,uBAAA,odAEWM,cAAc,EACRyL,YAAY,EACjB,IAAAjL,qBAAS,EAACwJ,QAAQ,CAAC,EACtB8B,kBAAkB,EACN9L,cAAc,EACpB,IAAAQ,qBAAS,EAACyL,iBAAiB,CAAC,EAClB,IAAAzL,qBAAS,EAAC4K,oBAAoB,CAAC,EAC/B,IAAA5K,qBAAS,EAAC6K,kBAAkB,CAAC,EAClC,IAAA7K,qBAAS,EAC3BwL,eACF,CAAC,CACJ,EACyChM,cAAc,EACxDwL,UAAU,KAAK,OAAO,GACpB,EAAE,OACF/L,gBAAI,EAAAnF,iBAAA,KAAAA,iBAAA,OAAAoF,uBAAA,sKACsC4M,aAAa,GAAApB,aAAA,GACjDqB,YAAY,cAAArB,aAAA,uBAAZA,aAAA,CAAcnJ,GAAG,CACjB,UAAAoL,KAAA;UAAA,IAAG7N,KAAK,GAAA6N,KAAA,CAAL7N,KAAK;YAAED,GAAG,GAAA8N,KAAA,CAAH9N,GAAG;UAAA,WACXI,gBAAI,EAAAlF,iBAAA,KAAAA,iBAAA,OAAAmF,uBAAA,sMACiC,IAAAc,qBAAS,EAACnB,GAAG,CAAC,EAC5CC,KAAK;QAAA,CAGhB,CAAC,CAEJ,EAEL,CAACH,MAAM,GAAGF,SAAS,GAAG,IAAI,CAACF,SAAS,CAAC;UAAEG,gBAAgB,EAAhBA;QAAiB,CAAC,CAAC;MAIlE;;MAEA;AACF;AACA;IAFE;MAAAL,IAAA;MAAA;MAAAjD,GAAA;MAAAkD,KAAA,EAGA,SAAAsO,oBAAA,EAAiC;QAC/B,UAAAvP,MAAA,CAAUR,SAAS;MACrB;IAAC;MAAAwB,IAAA;MAAA;MAAAjD,GAAA;MAAAkD,KAAA,WAAAA,MAAA;QAAA,OAEeuO,uBAAM;MAAA;IAAA;EAAA;AAAA,GA5+BW,IAAAC,yBAAiB,EAACC,sBAAU,CAAC;AA++BhE;AAAA,IAAAC,QAAA,GACe9P,oBAAoB;AAAAD,OAAA,cAAA+P,QAAA"}