@carbon/ibmdotcom-web-components 2.21.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.
- package/custom-elements.json +24 -0
- package/dist/dotcom-shell.js +3 -3
- package/dist/dotcom-shell.min.js +2 -2
- package/dist/ibmdotcom-web-components-dotcom-shell.js +3 -3
- package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
- package/dist/{index-e3ec2724.js → index-4a2b99e5.js} +9 -9
- package/dist/{index-e8791a02.js → index-90537714.js} +6 -6
- package/dist/{left-nav-menu-6d7ef1ea.js → left-nav-menu-a22a1a6e.js} +3 -3
- package/dist/{left-nav-menu-category-heading-d849afd1.js → left-nav-menu-category-heading-3016e990.js} +2 -2
- package/dist/{left-nav-menu-category-heading-e7b9a1d5.js → left-nav-menu-category-heading-cb17a84f.js} +3 -3
- package/dist/{left-nav-menu-56460567.js → left-nav-menu-ccf3a6ec.js} +2 -2
- package/dist/{left-nav-menu-item-d5d61f65.js → left-nav-menu-item-18d051bc.js} +2 -2
- package/dist/{left-nav-menu-item-038f4f32.js → left-nav-menu-item-85006ef1.js} +3 -3
- package/dist/{left-nav-menu-section-a702419f.js → left-nav-menu-section-027d6043.js} +2 -2
- package/dist/{left-nav-menu-section-29f09097.js → left-nav-menu-section-cee5e8b9.js} +3 -3
- package/dist/{left-nav-overlay-da72cb49.js → left-nav-overlay-225f893f.js} +2 -2
- package/dist/{left-nav-overlay-eaec1924.js → left-nav-overlay-e559d687.js} +3 -3
- package/dist/{megamenu-category-group-2ce1cfcd.js → megamenu-category-group-75dd0587.js} +2 -2
- package/dist/{megamenu-category-group-8d5b8a00.js → megamenu-category-group-89eb9dd2.js} +3 -3
- package/dist/{megamenu-category-group-copy-3f8b8d92.js → megamenu-category-group-copy-533d77ca.js} +2 -2
- package/dist/{megamenu-category-group-copy-40334ef1.js → megamenu-category-group-copy-94e321c8.js} +3 -3
- package/dist/{megamenu-category-heading-d9040ec4.js → megamenu-category-heading-370cb6dc.js} +2 -2
- package/dist/{megamenu-category-heading-eb10286a.js → megamenu-category-heading-5c562696.js} +3 -3
- package/dist/{megamenu-category-link-a40351df.js → megamenu-category-link-6060a359.js} +2 -2
- package/dist/{megamenu-category-link-128e49f1.js → megamenu-category-link-66573e4b.js} +3 -3
- package/dist/{megamenu-category-link-group-868a6a66.js → megamenu-category-link-group-4f9fcb1a.js} +2 -2
- package/dist/{megamenu-category-link-group-6becb24d.js → megamenu-category-link-group-83d39e8b.js} +3 -3
- package/dist/{megamenu-left-navigation-b38cd235.js → megamenu-left-navigation-35cca50a.js} +2 -2
- package/dist/{megamenu-left-navigation-5a26ce55.js → megamenu-left-navigation-ab38535c.js} +3 -3
- package/dist/{megamenu-overlay-16b7ccd4.js → megamenu-overlay-977e9e98.js} +2 -2
- package/dist/{megamenu-overlay-291e4fd4.js → megamenu-overlay-9b73f118.js} +3 -3
- package/dist/{megamenu-tab-788452a2.js → megamenu-tab-69382393.js} +2 -2
- package/dist/{megamenu-tab-0d8bdef8.js → megamenu-tab-e4488ebd.js} +3 -3
- package/es/components/callout-quote/callout-quote.css.js +1 -1
- package/es/components/card-group/card-group.css.js +1 -1
- package/es/components/card-group/card-group.d.ts +1 -1
- package/es/components/card-group/card-group.js +6 -1
- package/es/components/card-group/card-group.js.map +1 -1
- package/es/components/carousel/carousel.js +3 -2
- package/es/components/carousel/carousel.js.map +1 -1
- package/es/components/content-block/content-block.css.js +1 -1
- package/es/components/content-item/content-item.d.ts +6 -2
- package/es/components/content-item/content-item.js +16 -1
- package/es/components/content-item/content-item.js.map +1 -1
- package/es/components/content-item-row/content-item-row-media.css.js +1 -1
- package/es/components/content-item-row/content-item-row-media.d.ts +5 -1
- package/es/components/content-item-row/content-item-row-media.js +26 -15
- package/es/components/content-item-row/content-item-row-media.js.map +1 -1
- package/es/components/cta-block/cta-block-item-row.d.ts +3 -1
- package/es/components/cta-block/cta-block-item-row.js +38 -6
- package/es/components/cta-block/cta-block-item-row.js.map +1 -1
- package/es/components/cta-block/cta-block-item.d.ts +2 -2
- package/es/components/cta-block/cta-block-item.js +5 -1
- package/es/components/cta-block/cta-block-item.js.map +1 -1
- package/es/components/cta-block/cta-block.css.js +1 -1
- package/es/components/dotcom-shell/dotcom-shell.css.js +1 -1
- package/es/components/masthead/masthead-l1.css.js +1 -1
- package/es/components/masthead/masthead.css.js +1 -1
- package/es/components/pricing-table/pricing-table.css.js +1 -1
- package/es/components/quote/defs.d.ts +6 -2
- package/es/components/quote/defs.js +2 -1
- package/es/components/quote/defs.js.map +1 -1
- package/es/components/quote/quote.css.js +1 -1
- package/es/components/quote/quote.d.ts +4 -1
- package/es/components/quote/quote.js +45 -6
- package/es/components/quote/quote.js.map +1 -1
- package/es/components/structured-list/structured-list.css.js +1 -1
- package/es/components-react/quote/quote.d.ts +3 -0
- package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
- package/lib/components/quote/defs.js +2 -1
- package/lib/components/quote/defs.js.map +1 -1
- package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
- package/package.json +5 -5
- package/scss/components/cta-block/cta-block.scss +37 -2
- 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,
|
|
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.
|
|
@@ -369,7 +369,11 @@ declare class C4DContentItem extends C4DContentItem_base {
|
|
|
369
369
|
/**
|
|
370
370
|
* `true` if there are CTA media in the content item area.
|
|
371
371
|
*/
|
|
372
|
-
|
|
372
|
+
_hasMedia: boolean;
|
|
373
|
+
/**
|
|
374
|
+
* `true` if there is a pictogram in the content
|
|
375
|
+
*/
|
|
376
|
+
_hasPictogram: boolean;
|
|
373
377
|
/**
|
|
374
378
|
* `true` if there are CTA statistic in the content item area.
|
|
375
379
|
*/
|
|
@@ -8,7 +8,7 @@ let _ = t => t,
|
|
|
8
8
|
/**
|
|
9
9
|
* @license
|
|
10
10
|
*
|
|
11
|
-
* Copyright IBM Corp. 2020,
|
|
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.
|
|
@@ -71,6 +71,13 @@ let C4DContentItem = _decorate([customElement(`${c4dPrefix}-content-item`)], fun
|
|
|
71
71
|
value() {
|
|
72
72
|
return false;
|
|
73
73
|
}
|
|
74
|
+
}, {
|
|
75
|
+
kind: "field",
|
|
76
|
+
decorators: [state()],
|
|
77
|
+
key: "_hasPictogram",
|
|
78
|
+
value() {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
74
81
|
}, {
|
|
75
82
|
kind: "field",
|
|
76
83
|
decorators: [state()],
|
|
@@ -106,6 +113,10 @@ let C4DContentItem = _decorate([customElement(`${c4dPrefix}-content-item`)], fun
|
|
|
106
113
|
* `true` if there are CTA media in the content item area.
|
|
107
114
|
*/
|
|
108
115
|
|
|
116
|
+
/**
|
|
117
|
+
* `true` if there is a pictogram in the content
|
|
118
|
+
*/
|
|
119
|
+
|
|
109
120
|
/**
|
|
110
121
|
* `true` if there are CTA statistic in the content item area.
|
|
111
122
|
*/
|
|
@@ -134,6 +145,10 @@ let C4DContentItem = _decorate([customElement(`${c4dPrefix}-content-item`)], fun
|
|
|
134
145
|
} else {
|
|
135
146
|
this._hasLogo = false;
|
|
136
147
|
}
|
|
148
|
+
if (target.getAttribute('name') == 'media') {
|
|
149
|
+
const hasPictogram = target.assignedNodes().some(node => node.tagName.toLowerCase() == 'svg');
|
|
150
|
+
this._hasPictogram = hasPictogram;
|
|
151
|
+
}
|
|
137
152
|
}
|
|
138
153
|
|
|
139
154
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-item.js","names":["html","LitElement","classMap","property","state","settings","StableSelectorMixin","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","slotExistencePropertyNames","media","statistic","footer","C4DContentItem","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","_handleSlotChange","target","_assignedNodes$","_assignedNodes$$match","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","matches","call","selectorImageLogo","_hasLogo","_renderStatistic","_hasStatistic","hasStatistic","handleSlotChange","_t","_","_renderMedia","_hasMedia","hasMedia","_t2","_renderBody","_t3","_renderFooter","_hasFooter","hasFooter","_t4","updated","_this$querySelector","querySelector","setAttribute","_this$querySelector2","removeAttribute","render","horizontal","hasLogo","horizontalClass","_t5","static"],"sources":["components/content-item/content-item.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, LitElement, TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport styles from './content-item.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * The table mapping slot name with the private property name that indicates the existence of the slot content.\n */\nconst slotExistencePropertyNames = {\n media: '_hasMedia',\n statistic: '_hasStatistic',\n footer: '_hasFooter',\n};\n\n/**\n * Content item.\n *\n * @element c4d-content-item\n * @slot media - The media content.\n * @slot heading - The heading content.\n * @slot footer - The footer (CTA) content.\n * @csspart statistics - The element. Usage: `c4d-content-item::part(statistics)`\n * @csspart media - The media content. Usage: `c4d-content-item::part(media)`\n * @csspart cta - The footer CTA. Usage: `c4d-content-item::part(cta)`\n * @csspart heading - The heading content. Usage: `c4d-content-item::part(heading)`\n * @csspart body - The body content. Usage: `c4d-content-item::part(body)`\n */\n@customElement(`${c4dPrefix}-content-item`)\nclass C4DContentItem extends StableSelectorMixin(LitElement) {\n /**\n * `true` if there are CTA statistic in the content item area.\n */\n @state()\n protected _hasLogo = false;\n /**\n * `true` if there are CTA media in the content item area.\n */\n @state()\n protected _hasMedia = false;\n\n /**\n * `true` if there are CTA statistic in the content item area.\n */\n @state()\n protected _hasStatistic = false;\n\n /**\n * `true` if there is a footer content.\n */\n @state()\n _hasFooter = false;\n\n @property({ type: Boolean })\n horizontal = false;\n\n /**\n * Handles `slotchange` event.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this[slotExistencePropertyNames[name] || '_hasStatistic'] = hasContent;\n if (\n (\n (target as HTMLSlotElement).assignedNodes()[0] as HTMLElement\n )?.matches?.(\n (this.constructor as typeof C4DContentItem).selectorImageLogo\n )\n ) {\n this._hasLogo = true;\n } else {\n this._hasLogo = false;\n }\n }\n\n /**\n * @returns The statistic content items\n */\n protected _renderStatistic(): TemplateResult | string | void {\n const { _hasStatistic: hasStatistic, _handleSlotChange: handleSlotChange } =\n this;\n return html`\n <div\n ?hidden=\"${!hasStatistic}\"\n class=\"${c4dPrefix}--content-item__statitics\"\n part=\"statistics\">\n <slot name=\"statistics\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n /**\n * @returns The media content items\n */\n protected _renderMedia(): TemplateResult | string | void {\n const { _hasMedia: hasMedia, _handleSlotChange: handleSlotChange } = this;\n\n return html`\n <div\n ?hidden=\"${!hasMedia}\"\n class=\"${c4dPrefix}--content-item__media\"\n part=\"media\">\n <slot name=\"media\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n /**\n * @returns The body content.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderBody(): TemplateResult | string | void {\n return html` <slot></slot> `;\n }\n\n /**\n * @returns The footer content.\n */\n protected _renderFooter(): TemplateResult | string | void {\n const { _hasFooter: hasFooter } = this;\n return html`\n <div\n ?hidden=\"${!hasFooter}\"\n class=\"${prefix}--content-item__cta\"\n part=\"cta\">\n <slot name=\"footer\" @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n updated() {\n if (this._hasFooter) {\n this.querySelector(`${c4dPrefix}-content-item-copy`)?.setAttribute(\n 'has-cta',\n ''\n );\n } else {\n this.querySelector(`${c4dPrefix}-content-item-copy`)?.removeAttribute(\n 'has-cta'\n );\n }\n }\n\n render() {\n const { horizontal, _hasStatistic: hasStatistic, _hasLogo: hasLogo } = this;\n const horizontalClass = classMap({\n [`${c4dPrefix}--content-item__horizontal`]:\n horizontal && !hasStatistic && !hasLogo,\n });\n\n return html`\n <div class=\"${horizontalClass}\" part=\"heading\">\n ${this._renderStatistic()} ${this._renderMedia()}\n <div part=\"body\">\n <slot name=\"heading\"></slot>\n ${this._renderBody()}${this._renderFooter()}\n </div>\n </div>\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--content-item`;\n }\n\n static get selectorImageLogo() {\n return `${c4dPrefix}-image-logo`;\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 C4DContentItem;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"content-item.js","names":["html","LitElement","classMap","property","state","settings","StableSelectorMixin","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","slotExistencePropertyNames","media","statistic","footer","C4DContentItem","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","_handleSlotChange","target","_assignedNodes$","_assignedNodes$$match","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","matches","call","selectorImageLogo","_hasLogo","getAttribute","hasPictogram","tagName","toLowerCase","_hasPictogram","_renderStatistic","_hasStatistic","hasStatistic","handleSlotChange","_t","_","_renderMedia","_hasMedia","hasMedia","_t2","_renderBody","_t3","_renderFooter","_hasFooter","hasFooter","_t4","updated","_this$querySelector","querySelector","setAttribute","_this$querySelector2","removeAttribute","render","horizontal","hasLogo","horizontalClass","_t5","static"],"sources":["components/content-item/content-item.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, LitElement, TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport styles from './content-item.scss';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * The table mapping slot name with the private property name that indicates the existence of the slot content.\n */\nconst slotExistencePropertyNames = {\n media: '_hasMedia',\n statistic: '_hasStatistic',\n footer: '_hasFooter',\n};\n\n/**\n * Content item.\n *\n * @element c4d-content-item\n * @slot media - The media content.\n * @slot heading - The heading content.\n * @slot footer - The footer (CTA) content.\n * @csspart statistics - The element. Usage: `c4d-content-item::part(statistics)`\n * @csspart media - The media content. Usage: `c4d-content-item::part(media)`\n * @csspart cta - The footer CTA. Usage: `c4d-content-item::part(cta)`\n * @csspart heading - The heading content. Usage: `c4d-content-item::part(heading)`\n * @csspart body - The body content. Usage: `c4d-content-item::part(body)`\n */\n@customElement(`${c4dPrefix}-content-item`)\nclass C4DContentItem extends StableSelectorMixin(LitElement) {\n /**\n * `true` if there are CTA statistic in the content item area.\n */\n @state()\n protected _hasLogo = false;\n /**\n * `true` if there are CTA media in the content item area.\n */\n @state()\n _hasMedia = false;\n /**\n * `true` if there is a pictogram in the content\n */\n @state()\n _hasPictogram = false;\n /**\n * `true` if there are CTA statistic in the content item area.\n */\n @state()\n protected _hasStatistic = false;\n\n /**\n * `true` if there is a footer content.\n */\n @state()\n _hasFooter = false;\n\n @property({ type: Boolean })\n horizontal = false;\n\n /**\n * Handles `slotchange` event.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this[slotExistencePropertyNames[name] || '_hasStatistic'] = hasContent;\n if (\n (\n (target as HTMLSlotElement).assignedNodes()[0] as HTMLElement\n )?.matches?.(\n (this.constructor as typeof C4DContentItem).selectorImageLogo\n )\n ) {\n this._hasLogo = true;\n } else {\n this._hasLogo = false;\n }\n if ((target as HTMLElement).getAttribute('name') == 'media') {\n const hasPictogram = (target as HTMLSlotElement)\n .assignedNodes()\n .some((node) => (node as HTMLElement).tagName.toLowerCase() == 'svg');\n this._hasPictogram = hasPictogram;\n }\n }\n\n /**\n * @returns The statistic content items\n */\n protected _renderStatistic(): TemplateResult | string | void {\n const { _hasStatistic: hasStatistic, _handleSlotChange: handleSlotChange } =\n this;\n return html`\n <div\n ?hidden=\"${!hasStatistic}\"\n class=\"${c4dPrefix}--content-item__statitics\"\n part=\"statistics\">\n <slot name=\"statistics\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n /**\n * @returns The media content items\n */\n protected _renderMedia(): TemplateResult | string | void {\n const { _hasMedia: hasMedia, _handleSlotChange: handleSlotChange } = this;\n\n return html`\n <div\n ?hidden=\"${!hasMedia}\"\n class=\"${c4dPrefix}--content-item__media\"\n part=\"media\">\n <slot name=\"media\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n /**\n * @returns The body content.\n */\n // eslint-disable-next-line class-methods-use-this\n protected _renderBody(): TemplateResult | string | void {\n return html` <slot></slot> `;\n }\n\n /**\n * @returns The footer content.\n */\n protected _renderFooter(): TemplateResult | string | void {\n const { _hasFooter: hasFooter } = this;\n return html`\n <div\n ?hidden=\"${!hasFooter}\"\n class=\"${prefix}--content-item__cta\"\n part=\"cta\">\n <slot name=\"footer\" @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n updated() {\n if (this._hasFooter) {\n this.querySelector(`${c4dPrefix}-content-item-copy`)?.setAttribute(\n 'has-cta',\n ''\n );\n } else {\n this.querySelector(`${c4dPrefix}-content-item-copy`)?.removeAttribute(\n 'has-cta'\n );\n }\n }\n\n render() {\n const { horizontal, _hasStatistic: hasStatistic, _hasLogo: hasLogo } = this;\n const horizontalClass = classMap({\n [`${c4dPrefix}--content-item__horizontal`]:\n horizontal && !hasStatistic && !hasLogo,\n });\n\n return html`\n <div class=\"${horizontalClass}\" part=\"heading\">\n ${this._renderStatistic()} ${this._renderMedia()}\n <div part=\"body\">\n <slot name=\"heading\"></slot>\n ${this._renderBody()}${this._renderFooter()}\n </div>\n </div>\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--content-item`;\n }\n\n static get selectorImageLogo() {\n return `${c4dPrefix}-image-logo`;\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 C4DContentItem;\n"],"mappings":"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","ignoreList":[]}
|