@carbon/ibmdotcom-web-components 2.35.0 → 2.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/custom-elements.json +39 -2
  2. package/dist/dotcom-shell.js +2 -2
  3. package/dist/dotcom-shell.min.js +6 -6
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +2 -2
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +6 -6
  6. package/dist/{index-4046820a.js → index-101ff4ff.js} +12 -7
  7. package/dist/{index-ccf47ae7.js → index-2da0cc10.js} +11 -11
  8. package/dist/{left-nav-menu-1778be74.js → left-nav-menu-059f3af6.js} +6 -6
  9. package/dist/{left-nav-menu-eceb36da.js → left-nav-menu-b2f279ad.js} +2 -2
  10. package/dist/{left-nav-menu-category-heading-b23d7129.js → left-nav-menu-category-heading-bbfe009a.js} +2 -2
  11. package/dist/{left-nav-menu-category-heading-9939b780.js → left-nav-menu-category-heading-cf9ef07e.js} +6 -6
  12. package/dist/{left-nav-menu-item-a5470d1f.js → left-nav-menu-item-370599e1.js} +6 -6
  13. package/dist/{left-nav-menu-item-0f079ba8.js → left-nav-menu-item-b0a3ffe3.js} +2 -2
  14. package/dist/{left-nav-menu-section-e142e371.js → left-nav-menu-section-5c3ef339.js} +6 -6
  15. package/dist/{left-nav-menu-section-721d4f30.js → left-nav-menu-section-bce62276.js} +2 -2
  16. package/dist/{left-nav-overlay-6e6a4779.js → left-nav-overlay-085cef80.js} +6 -6
  17. package/dist/{left-nav-overlay-14c5100d.js → left-nav-overlay-43d30c63.js} +2 -2
  18. package/dist/{megamenu-category-group-4dbf5c33.js → megamenu-category-group-7e1d5b50.js} +6 -6
  19. package/dist/{megamenu-category-group-copy-8951122b.js → megamenu-category-group-copy-02002b03.js} +2 -2
  20. package/dist/{megamenu-category-group-copy-849df575.js → megamenu-category-group-copy-9f4f3d0e.js} +6 -6
  21. package/dist/{megamenu-category-group-5221cc32.js → megamenu-category-group-d512f668.js} +2 -2
  22. package/dist/{megamenu-category-heading-a1268cb2.js → megamenu-category-heading-4b0206af.js} +2 -2
  23. package/dist/{megamenu-category-heading-b2fe8c9d.js → megamenu-category-heading-5dc7ff0d.js} +6 -6
  24. package/dist/{megamenu-category-link-356bdb9e.js → megamenu-category-link-25ce7627.js} +10 -10
  25. package/dist/{megamenu-category-link-bfc83216.js → megamenu-category-link-d22be130.js} +2 -2
  26. package/dist/{megamenu-category-link-group-1b78b889.js → megamenu-category-link-group-5cf9cfa0.js} +6 -6
  27. package/dist/{megamenu-category-link-group-378d3822.js → megamenu-category-link-group-eda19d19.js} +2 -2
  28. package/dist/{megamenu-left-navigation-0570753a.js → megamenu-left-navigation-3627e4a7.js} +2 -2
  29. package/dist/{megamenu-left-navigation-9b9eb85d.js → megamenu-left-navigation-858ca04c.js} +6 -6
  30. package/dist/{megamenu-overlay-6696988b.js → megamenu-overlay-1005eee4.js} +6 -6
  31. package/dist/{megamenu-overlay-ea82d047.js → megamenu-overlay-26c4d654.js} +2 -2
  32. package/dist/{megamenu-tab-d7b95e9c.js → megamenu-tab-85782854.js} +2 -2
  33. package/dist/{megamenu-tab-f1e08b5e.js → megamenu-tab-e03e6e58.js} +6 -6
  34. package/es/components/leadspace/leadspace.css.js +1 -1
  35. package/es/components/masthead/masthead-menu-button.js +1 -1
  36. package/es/components/masthead/masthead-menu-button.js.map +1 -1
  37. package/es/components/masthead/masthead.css.js +1 -1
  38. package/es/components/notice-choice/notice-choice.d.ts +23 -17
  39. package/es/components/notice-choice/notice-choice.js +335 -203
  40. package/es/components/notice-choice/notice-choice.js.map +1 -1
  41. package/es/components/notice-choice/utils.d.ts +6 -0
  42. package/es/components/notice-choice/utils.js +33 -0
  43. package/es/components/notice-choice/utils.js.map +1 -1
  44. package/es/components/pricing-table/pricing-table.d.ts +1 -1
  45. package/es/components/pricing-table/pricing-table.js +4 -9
  46. package/es/components/pricing-table/pricing-table.js.map +1 -1
  47. package/es/internal/vendor/@carbon/ibmdotcom-services/services/Translation/Translation.js +5 -0
  48. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  49. package/lib/internal/vendor/@carbon/ibmdotcom-services/services/Translation/Translation.js +5 -0
  50. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  51. package/package.json +5 -5
  52. package/scss/components/masthead/masthead.scss +52 -0
@@ -188,7 +188,7 @@ let C4DMastheadMenuButton = _decorate([customElement(`${c4dPrefix}-masthead-menu
188
188
  key: "hideButtonIfNoNavItemsFound",
189
189
  value: function hideButtonIfNoNavItemsFound() {
190
190
  var _this$closest;
191
- const NavMenuItems = (_this$closest = this.closest(`${c4dPrefix}-masthead-container`)) === null || _this$closest === void 0 ? void 0 : _this$closest.querySelectorAll(`${c4dPrefix}-left-nav-menu`);
191
+ const NavMenuItems = (_this$closest = this.closest(`${c4dPrefix}-masthead-container`)) === null || _this$closest === void 0 ? void 0 : _this$closest.querySelectorAll(`${c4dPrefix}-left-nav-menu, ${c4dPrefix}-left-nav-menu-item`);
192
192
  if (!(NavMenuItems !== null && NavMenuItems !== void 0 && NavMenuItems.length)) {
193
193
  this.hideMenuButton = true;
194
194
  this.style.display = 'none';
@@ -1 +1 @@
1
- {"version":3,"file":"masthead-menu-button.js","names":["classMap","html","property","query","state","HostListener","HostListenerMixin","CDSHeaderMenuButton","settings","focuswrap","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DMastheadMenuButton","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","event","detail","active","undefined","_hasSearchActive","hideMenuButton","reflect","type","Boolean","attribute","focus","_buttonNode","buttonNode","firstUpdated","boundHideButton","hideButtonIfNoNavItemsFound","bind","window","addEventListener","updated","changedProperties","has","_startSentinelNode","startSentinelNode","_endSentinelNode","endSentinelNode","_hFocusWrap","shadowRoot","release","_this$closest","NavMenuItems","closest","querySelectorAll","length","style","display","side","_t","_","render","hasSearchActive","_renderSentinel","renderSentinel","classes","startSentinel","endSentinel","_t2","_superPropGet","static"],"sources":["components/masthead/masthead-menu-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport CDSHeaderMenuButton from '@carbon/web-components/es/components/ui-shell/header-menu-button.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport focuswrap from '@carbon/ibmdotcom-utilities/es/utilities/focuswrap/focuswrap.js';\nimport Handle from '../../globals/internal/handle';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Toggle button for masthead left nav.\n *\n * @element c4d-masthead-menu-button\n * @csspart sentinel-button - The sentinel button for managing focus.\n * @csspart ce-header-menu-trigger-container - Container for the menu trigger button.\n * @csspart sentinel-button--start - The start sentinel button for managing focus. Usage: `c4d-masthead-menu-button::part(sentinel-button--start)`\n * @csspart sentinel-button--end - The end sentinel button for managing focus. Usage: `c4d-masthead-menu-button::part(sentinel-button--end)`\n */\n@customElement(`${c4dPrefix}-masthead-menu-button`)\nclass C4DMastheadMenuButton extends HostListenerMixin(CDSHeaderMenuButton) {\n /**\n * The handle for focus wrapping.\n */\n private _hFocusWrap: Handle | null = null;\n\n /**\n * Search bar opened flag.\n */\n @state()\n private _hasSearchActive = false;\n\n /**\n * Handles toggle event from the search component.\n *\n * @param event The event.\n */\n @HostListener('parentRoot:eventToggleSearch')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleSearchToggle = (event: Event) => {\n if ((event as CustomEvent).detail.active !== undefined) {\n this._hasSearchActive = (event as CustomEvent).detail.active;\n this.hideMenuButton = (event as CustomEvent).detail.active;\n }\n };\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * The `<button>`.\n */\n @query(`.${prefix}--header__menu-trigger`)\n private _buttonNode!: HTMLButtonElement;\n\n /**\n * The shadow slot this toggle button should be in.\n */\n @property({ reflect: true })\n slot = 'brand';\n\n /**\n * `true` to hide the logo at render\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-menu-button' })\n hideMenuButton = false;\n\n focus() {\n const { _buttonNode: buttonNode } = this;\n if (buttonNode) {\n buttonNode.focus();\n }\n }\n firstUpdated() {\n const boundHideButton = this.hideButtonIfNoNavItemsFound.bind(this);\n window.addEventListener(`load`, () => {\n boundHideButton();\n });\n }\n updated(changedProperties) {\n if (changedProperties.has('active')) {\n const {\n active,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n if (active) {\n this._hFocusWrap = focuswrap(this.shadowRoot!, [\n startSentinelNode,\n endSentinelNode,\n ]);\n } else if (this._hFocusWrap) {\n this._hFocusWrap = this._hFocusWrap.release();\n }\n }\n\n if (changedProperties.has('hideMenuButton')) {\n this._hasSearchActive = this.hideMenuButton;\n }\n this.hideButtonIfNoNavItemsFound();\n }\n\n hideButtonIfNoNavItemsFound() {\n const NavMenuItems = this.closest(\n `${c4dPrefix}-masthead-container`\n )?.querySelectorAll(`${c4dPrefix}-left-nav-menu`);\n if (!NavMenuItems?.length) {\n this.hideMenuButton = true;\n this.style.display = 'none';\n } else if (this.style.display == 'none') {\n this.hideMenuButton = false;\n this.style.display = '';\n }\n }\n\n private _renderSentinel = (side: String) => {\n return html`\n <button\n part=\"sentinel-button sentinel-button--${side}\"\n id=\"${side}-sentinel\"\n type=\"button\"\n class=\"${prefix}--visually-hidden\"></button>\n `;\n };\n\n render() {\n const {\n active,\n _hasSearchActive: hasSearchActive,\n _renderSentinel: renderSentinel,\n } = this;\n const classes = classMap({\n [`${c4dPrefix}-ce--header__menu-trigger__container`]: true,\n [`${c4dPrefix}-ce--header__menu-trigger__container--has-search-active`]:\n hasSearchActive,\n });\n const startSentinel = active ? renderSentinel('start') : '';\n const endSentinel = active ? renderSentinel('end') : '';\n return html`\n <div part=\"ce-header-menu-trigger-container\" class=\"${classes}\">\n ${startSentinel}${super.render()}${endSentinel}\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the seach is toggled.\n */\n static get eventToggleSearch() {\n return `${c4dPrefix}-search-with-typeahead-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMastheadMenuButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"masthead-menu-button.js","names":["classMap","html","property","query","state","HostListener","HostListenerMixin","CDSHeaderMenuButton","settings","focuswrap","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DMastheadMenuButton","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","event","detail","active","undefined","_hasSearchActive","hideMenuButton","reflect","type","Boolean","attribute","focus","_buttonNode","buttonNode","firstUpdated","boundHideButton","hideButtonIfNoNavItemsFound","bind","window","addEventListener","updated","changedProperties","has","_startSentinelNode","startSentinelNode","_endSentinelNode","endSentinelNode","_hFocusWrap","shadowRoot","release","_this$closest","NavMenuItems","closest","querySelectorAll","length","style","display","side","_t","_","render","hasSearchActive","_renderSentinel","renderSentinel","classes","startSentinel","endSentinel","_t2","_superPropGet","static"],"sources":["components/masthead/masthead-menu-button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport HostListener from '@carbon/web-components/es/globals/decorators/host-listener.js';\nimport HostListenerMixin from '@carbon/web-components/es/globals/mixins/host-listener.js';\nimport CDSHeaderMenuButton from '@carbon/web-components/es/components/ui-shell/header-menu-button.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport focuswrap from '@carbon/ibmdotcom-utilities/es/utilities/focuswrap/focuswrap.js';\nimport Handle from '../../globals/internal/handle';\nimport styles from './masthead.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Toggle button for masthead left nav.\n *\n * @element c4d-masthead-menu-button\n * @csspart sentinel-button - The sentinel button for managing focus.\n * @csspart ce-header-menu-trigger-container - Container for the menu trigger button.\n * @csspart sentinel-button--start - The start sentinel button for managing focus. Usage: `c4d-masthead-menu-button::part(sentinel-button--start)`\n * @csspart sentinel-button--end - The end sentinel button for managing focus. Usage: `c4d-masthead-menu-button::part(sentinel-button--end)`\n */\n@customElement(`${c4dPrefix}-masthead-menu-button`)\nclass C4DMastheadMenuButton extends HostListenerMixin(CDSHeaderMenuButton) {\n /**\n * The handle for focus wrapping.\n */\n private _hFocusWrap: Handle | null = null;\n\n /**\n * Search bar opened flag.\n */\n @state()\n private _hasSearchActive = false;\n\n /**\n * Handles toggle event from the search component.\n *\n * @param event The event.\n */\n @HostListener('parentRoot:eventToggleSearch')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleSearchToggle = (event: Event) => {\n if ((event as CustomEvent).detail.active !== undefined) {\n this._hasSearchActive = (event as CustomEvent).detail.active;\n this.hideMenuButton = (event as CustomEvent).detail.active;\n }\n };\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#start-sentinel')\n private _startSentinelNode!: HTMLAnchorElement;\n\n /**\n * Node to track focus going outside of modal content.\n */\n @query('#end-sentinel')\n private _endSentinelNode!: HTMLAnchorElement;\n\n /**\n * The `<button>`.\n */\n @query(`.${prefix}--header__menu-trigger`)\n private _buttonNode!: HTMLButtonElement;\n\n /**\n * The shadow slot this toggle button should be in.\n */\n @property({ reflect: true })\n slot = 'brand';\n\n /**\n * `true` to hide the logo at render\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-menu-button' })\n hideMenuButton = false;\n\n focus() {\n const { _buttonNode: buttonNode } = this;\n if (buttonNode) {\n buttonNode.focus();\n }\n }\n firstUpdated() {\n const boundHideButton = this.hideButtonIfNoNavItemsFound.bind(this);\n window.addEventListener(`load`, () => {\n boundHideButton();\n });\n }\n updated(changedProperties) {\n if (changedProperties.has('active')) {\n const {\n active,\n _startSentinelNode: startSentinelNode,\n _endSentinelNode: endSentinelNode,\n } = this;\n if (active) {\n this._hFocusWrap = focuswrap(this.shadowRoot!, [\n startSentinelNode,\n endSentinelNode,\n ]);\n } else if (this._hFocusWrap) {\n this._hFocusWrap = this._hFocusWrap.release();\n }\n }\n\n if (changedProperties.has('hideMenuButton')) {\n this._hasSearchActive = this.hideMenuButton;\n }\n this.hideButtonIfNoNavItemsFound();\n }\n\n hideButtonIfNoNavItemsFound() {\n const NavMenuItems = this.closest(\n `${c4dPrefix}-masthead-container`\n )?.querySelectorAll(\n `${c4dPrefix}-left-nav-menu, ${c4dPrefix}-left-nav-menu-item`\n );\n if (!NavMenuItems?.length) {\n this.hideMenuButton = true;\n this.style.display = 'none';\n } else if (this.style.display == 'none') {\n this.hideMenuButton = false;\n this.style.display = '';\n }\n }\n\n private _renderSentinel = (side: String) => {\n return html`\n <button\n part=\"sentinel-button sentinel-button--${side}\"\n id=\"${side}-sentinel\"\n type=\"button\"\n class=\"${prefix}--visually-hidden\"></button>\n `;\n };\n\n render() {\n const {\n active,\n _hasSearchActive: hasSearchActive,\n _renderSentinel: renderSentinel,\n } = this;\n const classes = classMap({\n [`${c4dPrefix}-ce--header__menu-trigger__container`]: true,\n [`${c4dPrefix}-ce--header__menu-trigger__container--has-search-active`]:\n hasSearchActive,\n });\n const startSentinel = active ? renderSentinel('start') : '';\n const endSentinel = active ? renderSentinel('end') : '';\n return html`\n <div part=\"ce-header-menu-trigger-container\" class=\"${classes}\">\n ${startSentinel}${super.render()}${endSentinel}\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the seach is toggled.\n */\n static get eventToggleSearch() {\n return `${c4dPrefix}-search-with-typeahead-toggled`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default C4DMastheadMenuButton;\n"],"mappings":"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","ignoreList":[]}