@carbon/ibmdotcom-web-components 2.22.0 → 2.23.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 (69) hide show
  1. package/custom-elements.json +24 -0
  2. package/dist/dotcom-shell.js +2 -2
  3. package/dist/dotcom-shell.min.js +1 -1
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +2 -2
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +1 -1
  6. package/dist/{index-d1d84c2f.js → index-4a2b99e5.js} +8 -8
  7. package/dist/{index-fe85c5e6.js → index-90537714.js} +5 -5
  8. package/dist/{left-nav-menu-497c9169.js → left-nav-menu-a22a1a6e.js} +2 -2
  9. package/dist/{left-nav-menu-category-heading-8ccb4ce7.js → left-nav-menu-category-heading-3016e990.js} +1 -1
  10. package/dist/{left-nav-menu-category-heading-14bacdd1.js → left-nav-menu-category-heading-cb17a84f.js} +2 -2
  11. package/dist/{left-nav-menu-cd889d8d.js → left-nav-menu-ccf3a6ec.js} +1 -1
  12. package/dist/{left-nav-menu-item-803e8924.js → left-nav-menu-item-18d051bc.js} +1 -1
  13. package/dist/{left-nav-menu-item-2a3c9eb0.js → left-nav-menu-item-85006ef1.js} +2 -2
  14. package/dist/{left-nav-menu-section-462064ef.js → left-nav-menu-section-027d6043.js} +1 -1
  15. package/dist/{left-nav-menu-section-024ec574.js → left-nav-menu-section-cee5e8b9.js} +2 -2
  16. package/dist/{left-nav-overlay-9ec9772c.js → left-nav-overlay-225f893f.js} +1 -1
  17. package/dist/{left-nav-overlay-38b81f2f.js → left-nav-overlay-e559d687.js} +2 -2
  18. package/dist/{megamenu-category-group-f874016c.js → megamenu-category-group-75dd0587.js} +1 -1
  19. package/dist/{megamenu-category-group-4229cc92.js → megamenu-category-group-89eb9dd2.js} +2 -2
  20. package/dist/{megamenu-category-group-copy-18d5977c.js → megamenu-category-group-copy-533d77ca.js} +1 -1
  21. package/dist/{megamenu-category-group-copy-7525e13d.js → megamenu-category-group-copy-94e321c8.js} +2 -2
  22. package/dist/{megamenu-category-heading-05c91ceb.js → megamenu-category-heading-370cb6dc.js} +1 -1
  23. package/dist/{megamenu-category-heading-6c437eed.js → megamenu-category-heading-5c562696.js} +2 -2
  24. package/dist/{megamenu-category-link-09ed50a1.js → megamenu-category-link-6060a359.js} +5 -5
  25. package/dist/{megamenu-category-link-8d5476f0.js → megamenu-category-link-66573e4b.js} +2 -2
  26. package/dist/{megamenu-category-link-group-fc4af18d.js → megamenu-category-link-group-4f9fcb1a.js} +1 -1
  27. package/dist/{megamenu-category-link-group-a1418c5c.js → megamenu-category-link-group-83d39e8b.js} +2 -2
  28. package/dist/{megamenu-left-navigation-f972fc38.js → megamenu-left-navigation-35cca50a.js} +1 -1
  29. package/dist/{megamenu-left-navigation-cb55e7c7.js → megamenu-left-navigation-ab38535c.js} +2 -2
  30. package/dist/{megamenu-overlay-720be39f.js → megamenu-overlay-977e9e98.js} +1 -1
  31. package/dist/{megamenu-overlay-6e2c8d97.js → megamenu-overlay-9b73f118.js} +2 -2
  32. package/dist/{megamenu-tab-de78d556.js → megamenu-tab-69382393.js} +1 -1
  33. package/dist/{megamenu-tab-d96128cd.js → megamenu-tab-e4488ebd.js} +2 -2
  34. package/es/components/callout-quote/callout-quote.css.js +1 -1
  35. package/es/components/card-group/card-group.css.js +1 -1
  36. package/es/components/card-group/card-group.d.ts +1 -1
  37. package/es/components/card-group/card-group.js +6 -1
  38. package/es/components/card-group/card-group.js.map +1 -1
  39. package/es/components/content-block/content-block.css.js +1 -1
  40. package/es/components/content-item/content-item.d.ts +6 -2
  41. package/es/components/content-item/content-item.js +16 -1
  42. package/es/components/content-item/content-item.js.map +1 -1
  43. package/es/components/cta-block/cta-block-item-row.d.ts +3 -1
  44. package/es/components/cta-block/cta-block-item-row.js +38 -6
  45. package/es/components/cta-block/cta-block-item-row.js.map +1 -1
  46. package/es/components/cta-block/cta-block-item.d.ts +2 -2
  47. package/es/components/cta-block/cta-block-item.js +5 -1
  48. package/es/components/cta-block/cta-block-item.js.map +1 -1
  49. package/es/components/cta-block/cta-block.css.js +1 -1
  50. package/es/components/dotcom-shell/dotcom-shell.css.js +1 -1
  51. package/es/components/masthead/masthead-l1.css.js +1 -1
  52. package/es/components/masthead/masthead.css.js +1 -1
  53. package/es/components/pricing-table/pricing-table.css.js +1 -1
  54. package/es/components/quote/defs.d.ts +6 -2
  55. package/es/components/quote/defs.js +2 -1
  56. package/es/components/quote/defs.js.map +1 -1
  57. package/es/components/quote/quote.css.js +1 -1
  58. package/es/components/quote/quote.d.ts +4 -1
  59. package/es/components/quote/quote.js +45 -6
  60. package/es/components/quote/quote.js.map +1 -1
  61. package/es/components/structured-list/structured-list.css.js +1 -1
  62. package/es/components-react/quote/quote.d.ts +3 -0
  63. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  64. package/lib/components/quote/defs.js +2 -1
  65. package/lib/components/quote/defs.js.map +1 -1
  66. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  67. package/package.json +5 -5
  68. package/scss/components/cta-block/cta-block.scss +37 -2
  69. package/scss/components/masthead/masthead-l1.scss +3 -2
@@ -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.
@@ -7,7 +7,7 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
7
7
  /**
8
8
  * @license
9
9
  *
10
- * Copyright IBM Corp. 2020, 2024
10
+ * Copyright IBM Corp. 2020, 2025
11
11
  *
12
12
  * This source code is licensed under the Apache-2.0 license found in the
13
13
  * LICENSE file in the root directory of this source tree.
@@ -161,6 +161,11 @@ let C4DCardGroup = _decorate([customElement(`${c4dPrefix}-card-group`)], functio
161
161
  if ((_this$previousElement = this.previousElementSibling) !== null && _this$previousElement !== void 0 && (_this$previousElement2 = _this$previousElement.matches) !== null && _this$previousElement2 !== void 0 && _this$previousElement2.call(_this$previousElement, this.constructor.selectorCardInCard)) {
162
162
  this.setAttribute('with-card-in-card', '');
163
163
  }
164
+
165
+ // Check if the component is living in a Full Width or Table of Contents template.
166
+ const isFullWidthTemplate = document.body.getAttribute('data-fullwidthtemplate') === 'true';
167
+ //Adds a class if true, for better css treatment in mobile for FW pages.
168
+ this.classList.toggle('is-full-width-template', isFullWidthTemplate);
164
169
  }
165
170
  }, {
166
171
  kind: "method",
@@ -1 +1 @@
1
- {"version":3,"file":"card-group.js","names":["LitElement","html","property","state","settings","GRID_MODE","styles","StableSelectorMixin","carbonElement","customElement","stablePrefix","c4dPrefix","C4DCardGroup","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","_handleSlotChange","event","_childItems","target","assignedNodes","filter","elem","_matches","_ref","matches","call","selectorItem","forEach","e","hasAttribute","gridMode","CONDENSED","DEFAULT","customPropertyCardsPerRow","style","setProperty","String","cardsPerRow","decorators","type","Number","attribute","_cardsPerRow","_cardsPerRowAuto","cardsPerRowAuto","reflect","Boolean","firstUpdated","_this$previousElement","_this$previousElement2","_superPropGet","previousElementSibling","selectorCardInCard","setAttribute","updated","changedProperties","has","render","_t","_","static"],"sources":["components/card-group/card-group.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 { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { GRID_MODE } from './defs';\nimport styles from './card-group.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nexport { GRID_MODE };\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * Card Group.\n *\n * @element c4d-card-group\n */\n@customElement(`${c4dPrefix}-card-group`)\nclass C4DCardGroup extends StableSelectorMixin(LitElement) {\n /**\n * Array to hold the card-heading elements within child items.\n */\n private _childItems: any[] = [];\n\n /**\n * Handler for @slotchange, set the height of all headings to the tallest height.\n *\n * @private\n */\n private _handleSlotChange(event: Event) {\n this._childItems = (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches?.(\n (this.constructor as typeof C4DCardGroup).selectorItem\n )\n );\n\n // Retrieve item heading, eyebrows, and footers to set same height.\n if (this._childItems) {\n this._childItems.forEach((e) => {\n if (!e.hasAttribute('href') && this.gridMode === GRID_MODE.CONDENSED) {\n this.gridMode = GRID_MODE.DEFAULT;\n }\n });\n\n const { customPropertyCardsPerRow } = this\n .constructor as typeof C4DCardGroup;\n this.style.setProperty(\n customPropertyCardsPerRow,\n String(this.cardsPerRow)\n );\n }\n }\n\n /**\n * The number of columns per row. Min 2, max 4, default 3. Applies to >=`lg` breakpoint only.\n */\n @state()\n private _cardsPerRow?: number;\n\n /**\n * Default number of cards per row. Applies to >=`lg` breakpoint only.\n */\n @state()\n private _cardsPerRowAuto = 3;\n\n /**\n * Number of cards per column.\n * If `--c4d--card-group--cards-in-row` CSS custom property is set to `<c4d-card-group>`.\n */\n @property({ type: Number, attribute: 'cards-per-row' })\n get cardsPerRow() {\n const { _cardsPerRow: cardsPerRow, _cardsPerRowAuto: cardsPerRowAuto } =\n this;\n return cardsPerRow ?? cardsPerRowAuto;\n }\n\n set cardsPerRow(value: number) {\n this._cardsPerRow = value;\n // Don't call `.requestUpdate()` here given we track updates via `_cardsPerRow` and `_cardsPerRowAuto`\n }\n\n /**\n * The Grid Mode for the component layout.\n * Condensed (1px) | Narrow (16px) | Default(32px).\n */\n @property({ attribute: 'grid-mode', reflect: true })\n gridMode = GRID_MODE.DEFAULT;\n\n /**\n * If using cards with pictogram.\n */\n // necessary to avoid using sameHeight utility\n @property({ type: Boolean, reflect: true })\n pictograms = false;\n\n firstUpdated() {\n super.connectedCallback();\n\n if (\n this.previousElementSibling?.matches?.(\n (this.constructor as typeof C4DCardGroup).selectorCardInCard\n )\n ) {\n this.setAttribute('with-card-in-card', '');\n }\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('gridMode')) {\n this._childItems.forEach((e) => (e.gridMode = this.gridMode));\n }\n }\n\n render() {\n return html` <slot @slotchange=\"${this._handleSlotChange}\"></slot> `;\n }\n\n /**\n * The CSS custom property name for the live button group item cout.\n */\n static get customPropertyCardsPerRow() {\n return `--${c4dPrefix}--card-group--cards-in-row`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--card-group`;\n }\n\n /**\n * A selector that will return the card-in-card selector\n */\n static get selectorCardInCard() {\n return `${c4dPrefix}-card-in-card`;\n }\n\n /**\n * A selector that will return the card item.\n */\n static get selectorItem() {\n return `${c4dPrefix}-card-group-item`;\n }\n\n /**\n * A selector that will return the card item's eyebrow\n */\n static get selectorItemEyebrow() {\n return `${c4dPrefix}-card-eyebrow`;\n }\n\n /**\n * A selector that will return the card item's tag group\n */\n static get selectorItemTagGroup() {\n return `div`;\n }\n\n /**\n * A selector that will return the card item's tag group\n */\n static get selectorItemParagraph() {\n return `p`;\n }\n\n /**\n * A selector that will return the card item's heading\n */\n static get selectorItemHeading() {\n return `${c4dPrefix}-card-heading`;\n }\n\n /**\n * A selector that will return the card item's footer\n */\n static get selectorItemFooter() {\n return `${c4dPrefix}-card-cta-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 C4DCardGroup;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"card-group.js","names":["LitElement","html","property","state","settings","GRID_MODE","styles","StableSelectorMixin","carbonElement","customElement","stablePrefix","c4dPrefix","C4DCardGroup","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","key","value","_handleSlotChange","event","_childItems","target","assignedNodes","filter","elem","_matches","_ref","matches","call","selectorItem","forEach","e","hasAttribute","gridMode","CONDENSED","DEFAULT","customPropertyCardsPerRow","style","setProperty","String","cardsPerRow","decorators","type","Number","attribute","_cardsPerRow","_cardsPerRowAuto","cardsPerRowAuto","reflect","Boolean","firstUpdated","_this$previousElement","_this$previousElement2","_superPropGet","previousElementSibling","selectorCardInCard","setAttribute","isFullWidthTemplate","document","body","getAttribute","classList","toggle","updated","changedProperties","has","render","_t","_","static"],"sources":["components/card-group/card-group.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 { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { GRID_MODE } from './defs';\nimport styles from './card-group.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nexport { GRID_MODE };\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * Card Group.\n *\n * @element c4d-card-group\n */\n@customElement(`${c4dPrefix}-card-group`)\nclass C4DCardGroup extends StableSelectorMixin(LitElement) {\n /**\n * Array to hold the card-heading elements within child items.\n */\n private _childItems: any[] = [];\n\n /**\n * Handler for @slotchange, set the height of all headings to the tallest height.\n *\n * @private\n */\n private _handleSlotChange(event: Event) {\n this._childItems = (event.target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches?.(\n (this.constructor as typeof C4DCardGroup).selectorItem\n )\n );\n\n // Retrieve item heading, eyebrows, and footers to set same height.\n if (this._childItems) {\n this._childItems.forEach((e) => {\n if (!e.hasAttribute('href') && this.gridMode === GRID_MODE.CONDENSED) {\n this.gridMode = GRID_MODE.DEFAULT;\n }\n });\n\n const { customPropertyCardsPerRow } = this\n .constructor as typeof C4DCardGroup;\n this.style.setProperty(\n customPropertyCardsPerRow,\n String(this.cardsPerRow)\n );\n }\n }\n\n /**\n * The number of columns per row. Min 2, max 4, default 3. Applies to >=`lg` breakpoint only.\n */\n @state()\n private _cardsPerRow?: number;\n\n /**\n * Default number of cards per row. Applies to >=`lg` breakpoint only.\n */\n @state()\n private _cardsPerRowAuto = 3;\n\n /**\n * Number of cards per column.\n * If `--c4d--card-group--cards-in-row` CSS custom property is set to `<c4d-card-group>`.\n */\n @property({ type: Number, attribute: 'cards-per-row' })\n get cardsPerRow() {\n const { _cardsPerRow: cardsPerRow, _cardsPerRowAuto: cardsPerRowAuto } =\n this;\n return cardsPerRow ?? cardsPerRowAuto;\n }\n\n set cardsPerRow(value: number) {\n this._cardsPerRow = value;\n // Don't call `.requestUpdate()` here given we track updates via `_cardsPerRow` and `_cardsPerRowAuto`\n }\n\n /**\n * The Grid Mode for the component layout.\n * Condensed (1px) | Narrow (16px) | Default(32px).\n */\n @property({ attribute: 'grid-mode', reflect: true })\n gridMode = GRID_MODE.DEFAULT;\n\n /**\n * If using cards with pictogram.\n */\n // necessary to avoid using sameHeight utility\n @property({ type: Boolean, reflect: true })\n pictograms = false;\n\n firstUpdated() {\n super.connectedCallback();\n\n if (\n this.previousElementSibling?.matches?.(\n (this.constructor as typeof C4DCardGroup).selectorCardInCard\n )\n ) {\n this.setAttribute('with-card-in-card', '');\n }\n\n // Check if the component is living in a Full Width or Table of Contents template.\n const isFullWidthTemplate =\n document.body.getAttribute('data-fullwidthtemplate') === 'true';\n //Adds a class if true, for better css treatment in mobile for FW pages.\n this.classList.toggle('is-full-width-template', isFullWidthTemplate);\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('gridMode')) {\n this._childItems.forEach((e) => (e.gridMode = this.gridMode));\n }\n }\n\n render() {\n return html` <slot @slotchange=\"${this._handleSlotChange}\"></slot> `;\n }\n\n /**\n * The CSS custom property name for the live button group item cout.\n */\n static get customPropertyCardsPerRow() {\n return `--${c4dPrefix}--card-group--cards-in-row`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--card-group`;\n }\n\n /**\n * A selector that will return the card-in-card selector\n */\n static get selectorCardInCard() {\n return `${c4dPrefix}-card-in-card`;\n }\n\n /**\n * A selector that will return the card item.\n */\n static get selectorItem() {\n return `${c4dPrefix}-card-group-item`;\n }\n\n /**\n * A selector that will return the card item's eyebrow\n */\n static get selectorItemEyebrow() {\n return `${c4dPrefix}-card-eyebrow`;\n }\n\n /**\n * A selector that will return the card item's tag group\n */\n static get selectorItemTagGroup() {\n return `div`;\n }\n\n /**\n * A selector that will return the card item's tag group\n */\n static get selectorItemParagraph() {\n return `p`;\n }\n\n /**\n * A selector that will return the card item's heading\n */\n static get selectorItemHeading() {\n return `${c4dPrefix}-card-heading`;\n }\n\n /**\n * A selector that will return the card item's footer\n */\n static get selectorItemFooter() {\n return `${c4dPrefix}-card-cta-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 C4DCardGroup;\n"],"mappings":"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","ignoreList":[]}