@carbon/ibmdotcom-web-components 2.28.0 → 2.30.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 (77) hide show
  1. package/custom-elements.json +62 -66
  2. package/dist/dotcom-shell.js +1 -1
  3. package/dist/dotcom-shell.min.js +2 -2
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +1 -1
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
  6. package/dist/{index-cc7138d9.js → index-70141123.js} +13 -13
  7. package/dist/{index-01b63aeb.js → index-dbec7dea.js} +28 -10
  8. package/dist/{left-nav-menu-aac029b1.js → left-nav-menu-4547bc31.js} +1 -1
  9. package/dist/{left-nav-menu-category-heading-b3ff93f8.js → left-nav-menu-category-heading-40a84206.js} +1 -1
  10. package/dist/{left-nav-menu-category-heading-986429d0.js → left-nav-menu-category-heading-ea7b8fd0.js} +2 -2
  11. package/dist/{left-nav-menu-5bb4c667.js → left-nav-menu-e123e07b.js} +2 -2
  12. package/dist/{left-nav-menu-item-db321bca.js → left-nav-menu-item-b13fa9bd.js} +2 -2
  13. package/dist/{left-nav-menu-item-28232edc.js → left-nav-menu-item-f0de1048.js} +1 -1
  14. package/dist/{left-nav-menu-section-3cb98ba9.js → left-nav-menu-section-12c63c9c.js} +2 -2
  15. package/dist/{left-nav-menu-section-3101ac3a.js → left-nav-menu-section-46049aa9.js} +1 -1
  16. package/dist/{left-nav-overlay-3438362c.js → left-nav-overlay-d67d0a6a.js} +1 -1
  17. package/dist/{left-nav-overlay-23bc48bd.js → left-nav-overlay-f71e3d74.js} +2 -2
  18. package/dist/{megamenu-category-group-350529dd.js → megamenu-category-group-2098af3d.js} +1 -1
  19. package/dist/{megamenu-category-group-42c2e7c6.js → megamenu-category-group-c85b1d1c.js} +2 -2
  20. package/dist/{megamenu-category-group-copy-7aeee6b6.js → megamenu-category-group-copy-74dadbb3.js} +2 -2
  21. package/dist/{megamenu-category-group-copy-ab52b66e.js → megamenu-category-group-copy-fd64eb79.js} +1 -1
  22. package/dist/{megamenu-category-heading-304c82c0.js → megamenu-category-heading-24704ad6.js} +1 -1
  23. package/dist/{megamenu-category-heading-de185d0d.js → megamenu-category-heading-88fb4721.js} +2 -2
  24. package/dist/{megamenu-category-link-74c8f943.js → megamenu-category-link-ae6d2273.js} +2 -2
  25. package/dist/{megamenu-category-link-84cc5c34.js → megamenu-category-link-af006474.js} +1 -1
  26. package/dist/{megamenu-category-link-group-677ac299.js → megamenu-category-link-group-06a95043.js} +1 -1
  27. package/dist/{megamenu-category-link-group-902363db.js → megamenu-category-link-group-8c6969cd.js} +2 -2
  28. package/dist/{megamenu-left-navigation-5904eb28.js → megamenu-left-navigation-382f79e5.js} +2 -2
  29. package/dist/{megamenu-left-navigation-68980017.js → megamenu-left-navigation-7796fe5e.js} +1 -1
  30. package/dist/{megamenu-overlay-4181ba67.js → megamenu-overlay-327917c7.js} +2 -2
  31. package/dist/{megamenu-overlay-512ee689.js → megamenu-overlay-d33c2656.js} +1 -1
  32. package/dist/{megamenu-tab-057e644c.js → megamenu-tab-819a92be.js} +2 -2
  33. package/dist/{megamenu-tab-2fa6c908.js → megamenu-tab-d7354c99.js} +1 -1
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/card/card-footer.d.ts +6 -1
  36. package/es/components/card/card-footer.js +18 -1
  37. package/es/components/card/card-footer.js.map +1 -1
  38. package/es/components/card/card.css.js +1 -1
  39. package/es/components/card-group/card-group.css.js +1 -1
  40. package/es/components/card-in-card/card-in-card.css.js +1 -1
  41. package/es/components/card-link/card-link.css.js +1 -1
  42. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  43. package/es/components/card-section-simple/card-section-simple.css.js +1 -1
  44. package/es/components/content-block/content-block.css.js +1 -1
  45. package/es/components/content-block-cards/content-block-cards.css.js +1 -1
  46. package/es/components/content-block-horizontal/content-block-horizontal.css.js +1 -1
  47. package/es/components/content-block-media/content-block-media.css.js +1 -1
  48. package/es/components/content-block-mixed/content-block-mixed.css.js +1 -1
  49. package/es/components/content-group-cards/content-group-cards.css.js +1 -1
  50. package/es/components/content-item-row/content-item-row-media.css.js +1 -1
  51. package/es/components/content-item-row/content-item-row.css.js +1 -1
  52. package/es/components/cta/cta.css.js +1 -1
  53. package/es/components/cta/defs.d.ts +5 -1
  54. package/es/components/cta/defs.js +2 -1
  55. package/es/components/cta/defs.js.map +1 -1
  56. package/es/components/dotcom-shell/dotcom-shell.css.js +1 -1
  57. package/es/components/feature-card/feature-card.css.js +1 -1
  58. package/es/components/footer/footer.css.js +1 -1
  59. package/es/components/leadspace-block/leadspace-block.css.js +1 -1
  60. package/es/components/leadspace-with-search/leadspace-with-search.css.js +1 -1
  61. package/es/components/link-list/link-list.css.js +1 -1
  62. package/es/components/locale-modal/locale-modal.css.js +1 -1
  63. package/es/components/masthead/masthead.css.js +1 -1
  64. package/es/components/notice-choice/notice-choice.d.ts +53 -39
  65. package/es/components/notice-choice/notice-choice.js +529 -474
  66. package/es/components/notice-choice/notice-choice.js.map +1 -1
  67. package/es/components/notice-choice/services.d.ts +1 -0
  68. package/es/components/notice-choice/services.js +23 -0
  69. package/es/components/notice-choice/services.js.map +1 -1
  70. package/es/components/table-of-contents/table-of-contents.js +5 -3
  71. package/es/components/table-of-contents/table-of-contents.js.map +1 -1
  72. package/es/components/tabs-extended-media/tabs-extended-media.css.js +1 -1
  73. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  74. package/lib/components/cta/defs.js +2 -1
  75. package/lib/components/cta/defs.js.map +1 -1
  76. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  77. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2020, 2024
4
+ * Copyright IBM Corp. 2020, 2025
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -26,6 +26,11 @@ declare class C4DCardFooter extends C4DLinkWithIcon {
26
26
  * `true` if the link of parent `<c4d-card>` should be used.
27
27
  */
28
28
  protected get _shouldUseParentLink(): boolean;
29
+ /**
30
+ * Contact Module won't work if card-footer has parent-href attribute
31
+ * this function removes parent-href if the cta type is 'chat' or 'contact'
32
+ */
33
+ protected _cleanParentHrefForContactModule(): void;
29
34
  /**
30
35
  * Handles `slotchange` event on the default `<slot>`.
31
36
  */
@@ -8,7 +8,7 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
8
8
  /**
9
9
  * @license
10
10
  *
11
- * Copyright IBM Corp. 2020, 2024
11
+ * Copyright IBM Corp. 2020, 2025
12
12
  *
13
13
  * This source code is licensed under the Apache-2.0 license found in the
14
14
  * LICENSE file in the root directory of this source tree.
@@ -76,6 +76,22 @@ let C4DCardFooter = _decorate([customElement(`${c4dPrefix}-card-footer`)], funct
76
76
  return Boolean(parentHref) && (!href || parentHref === href);
77
77
  }
78
78
 
79
+ /**
80
+ * Contact Module won't work if card-footer has parent-href attribute
81
+ * this function removes parent-href if the cta type is 'chat' or 'contact'
82
+ */
83
+ }, {
84
+ kind: "method",
85
+ key: "_cleanParentHrefForContactModule",
86
+ value: function _cleanParentHrefForContactModule() {
87
+ const {
88
+ ctaType
89
+ } = this;
90
+ if (ctaType === 'chat' || ctaType === 'contact') {
91
+ this.removeAttribute('parent-href');
92
+ }
93
+ }
94
+
79
95
  /**
80
96
  * Handles `slotchange` event on the default `<slot>`.
81
97
  */
@@ -202,6 +218,7 @@ let C4DCardFooter = _decorate([customElement(`${c4dPrefix}-card-footer`)], funct
202
218
  if (iconInline) {
203
219
  targetNode.classList.add(`${prefix}--link-with-icon--inline-icon`);
204
220
  }
221
+ this._cleanParentHrefForContactModule();
205
222
  }
206
223
  }, {
207
224
  kind: "get",
@@ -1 +1 @@
1
- {"version":3,"file":"card-footer.js","names":["html","property","query","state","carbonElement","customElement","settings","C4DLinkWithIcon","Error20","styles","prefix","stablePrefix","c4dPrefix","C4DCardFooter","_decorate","_initialize","_C4DLinkWithIcon","constructor","args","F","d","kind","decorators","key","value","href","parentHref","Boolean","_handleSlotChange","target","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","_hasCopy","_renderContent","hasCopy","_t","_","_renderInner","_t2","disabled","_renderIcon","reflect","attribute","type","updated","changedProperties","_superPropGet","_this$shadowRoot","shadowRoot","querySelector","setAttribute","altAriaLabel","_this$shadowRoot2","removeAttribute","iconInline","_staticNode","staticNode","_linkNode","linkNode","targetNode","classList","add","static"],"sources":["components/card/card-footer.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DLinkWithIcon from '../link-with-icon/link-with-icon';\nimport Error20 from '@carbon/web-components/es/icons/error/20.js';\nimport styles from './card.scss';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Card footer.\n *\n * @element c4d-card-footer\n * @csspart copy - The Copy. Usage: `c4d-card-footer::part(copy)`\n */\n@customElement(`${c4dPrefix}-card-footer`)\nclass C4DCardFooter extends C4DLinkWithIcon {\n /**\n * The non-link container node, used when the link of parent `<c4d-card>` should be used.\n */\n @query(`.${c4dPrefix}-ce--card__footer--static`)\n private _staticNode?: HTMLSpanElement;\n\n /**\n * `true` if there is copy content.\n */\n @state()\n protected _hasCopy = false;\n\n /**\n * `true` if the link of parent `<c4d-card>` should be used.\n */\n protected get _shouldUseParentLink() {\n const { href, parentHref } = this;\n return Boolean(parentHref) && (!href || parentHref === href);\n }\n\n /**\n * Handles `slotchange` event on the default `<slot>`.\n */\n protected _handleSlotChange({ target }: Event) {\n if (!(target as HTMLSlotElement).name) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) =>\n node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this._hasCopy = hasContent;\n }\n }\n\n /**\n * @returns The main content.\n */\n _renderContent() {\n const { _hasCopy: hasCopy } = this;\n return html`\n <span\n ?hidden=\"${!hasCopy}\"\n class=\"${prefix}--card__cta__copy\"\n part=\"copy\">\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n </span>\n `;\n }\n\n _renderInner() {\n return html`\n ${this._renderContent()} ${this.disabled ? Error20() : this._renderIcon()}\n `;\n }\n\n /**\n * Alternative aria label if no text in footer.\n */\n @property({ reflect: false })\n altAriaLabel?: string | null;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = '';\n\n /**\n * The `href` in parent `<c4d-card>`.\n * `<c4d-card>` sets this automatically.\n */\n @property({ attribute: 'parent-href', reflect: true })\n parentHref?: string;\n\n /**\n * Positions the icon inline with text when `true`\n */\n @property({ type: Boolean })\n iconInline = true;\n\n /**\n * The slot in parent `<c4d-card>`.\n */\n @property({ reflect: true })\n slot = 'footer';\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (!this._hasCopy) {\n this.shadowRoot\n ?.querySelector(`a`)\n ?.setAttribute(\n 'aria-label',\n this.altAriaLabel ? this.altAriaLabel : ''\n );\n } else {\n this.shadowRoot?.querySelector(`a`)?.removeAttribute('aria-label');\n }\n\n const { iconInline, _staticNode: staticNode, _linkNode: linkNode } = this;\n const targetNode = linkNode ?? staticNode;\n targetNode!.classList.add(`${prefix}--card__footer`);\n targetNode!.classList.add(`${c4dPrefix}-ce--card__footer`);\n\n if (iconInline) {\n targetNode!.classList.add(`${prefix}--link-with-icon--inline-icon`);\n }\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--card-footer`;\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 C4DCardFooter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"card-footer.js","names":["html","property","query","state","carbonElement","customElement","settings","C4DLinkWithIcon","Error20","styles","prefix","stablePrefix","c4dPrefix","C4DCardFooter","_decorate","_initialize","_C4DLinkWithIcon","constructor","args","F","d","kind","decorators","key","value","href","parentHref","Boolean","_cleanParentHrefForContactModule","ctaType","removeAttribute","_handleSlotChange","target","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","_hasCopy","_renderContent","hasCopy","_t","_","_renderInner","_t2","disabled","_renderIcon","reflect","attribute","type","updated","changedProperties","_superPropGet","_this$shadowRoot","shadowRoot","querySelector","setAttribute","altAriaLabel","_this$shadowRoot2","iconInline","_staticNode","staticNode","_linkNode","linkNode","targetNode","classList","add","static"],"sources":["components/card/card-footer.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 { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DLinkWithIcon from '../link-with-icon/link-with-icon';\nimport Error20 from '@carbon/web-components/es/icons/error/20.js';\nimport styles from './card.scss';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Card footer.\n *\n * @element c4d-card-footer\n * @csspart copy - The Copy. Usage: `c4d-card-footer::part(copy)`\n */\n@customElement(`${c4dPrefix}-card-footer`)\nclass C4DCardFooter extends C4DLinkWithIcon {\n /**\n * The non-link container node, used when the link of parent `<c4d-card>` should be used.\n */\n @query(`.${c4dPrefix}-ce--card__footer--static`)\n private _staticNode?: HTMLSpanElement;\n\n /**\n * `true` if there is copy content.\n */\n @state()\n protected _hasCopy = false;\n\n /**\n * `true` if the link of parent `<c4d-card>` should be used.\n */\n protected get _shouldUseParentLink() {\n const { href, parentHref } = this;\n return Boolean(parentHref) && (!href || parentHref === href);\n }\n\n /**\n * Contact Module won't work if card-footer has parent-href attribute\n * this function removes parent-href if the cta type is 'chat' or 'contact'\n */\n protected _cleanParentHrefForContactModule() {\n const { ctaType } = this;\n\n if (ctaType === 'chat' || ctaType === 'contact') {\n this.removeAttribute('parent-href');\n }\n }\n\n /**\n * Handles `slotchange` event on the default `<slot>`.\n */\n protected _handleSlotChange({ target }: Event) {\n if (!(target as HTMLSlotElement).name) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) =>\n node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this._hasCopy = hasContent;\n }\n }\n\n /**\n * @returns The main content.\n */\n _renderContent() {\n const { _hasCopy: hasCopy } = this;\n return html`\n <span\n ?hidden=\"${!hasCopy}\"\n class=\"${prefix}--card__cta__copy\"\n part=\"copy\">\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n </span>\n `;\n }\n\n _renderInner() {\n return html`\n ${this._renderContent()} ${this.disabled ? Error20() : this._renderIcon()}\n `;\n }\n\n /**\n * Alternative aria label if no text in footer.\n */\n @property({ reflect: false })\n altAriaLabel?: string | null;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = '';\n\n /**\n * The `href` in parent `<c4d-card>`.\n * `<c4d-card>` sets this automatically.\n */\n @property({ attribute: 'parent-href', reflect: true })\n parentHref?: string;\n\n /**\n * Positions the icon inline with text when `true`\n */\n @property({ type: Boolean })\n iconInline = true;\n\n /**\n * The slot in parent `<c4d-card>`.\n */\n @property({ reflect: true })\n slot = 'footer';\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (!this._hasCopy) {\n this.shadowRoot\n ?.querySelector(`a`)\n ?.setAttribute(\n 'aria-label',\n this.altAriaLabel ? this.altAriaLabel : ''\n );\n } else {\n this.shadowRoot?.querySelector(`a`)?.removeAttribute('aria-label');\n }\n\n const { iconInline, _staticNode: staticNode, _linkNode: linkNode } = this;\n const targetNode = linkNode ?? staticNode;\n targetNode!.classList.add(`${prefix}--card__footer`);\n targetNode!.classList.add(`${c4dPrefix}-ce--card__footer`);\n\n if (iconInline) {\n targetNode!.classList.add(`${prefix}--link-with-icon--inline-icon`);\n }\n\n this._cleanParentHrefForContactModule();\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--card-footer`;\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 C4DCardFooter;\n"],"mappings":"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","ignoreList":[]}