@carbon/ibmdotcom-web-components 2.16.0-rc.1 → 2.16.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.
- package/custom-elements.json +38 -0
- package/dist/dotcom-shell.js +1 -1
- package/dist/dotcom-shell.min.js +1 -1
- package/dist/ibmdotcom-web-components-dotcom-shell.js +1 -1
- package/dist/ibmdotcom-web-components-dotcom-shell.min.js +1 -1
- package/dist/{index-9adbaa9d.js → index-7b01c58c.js} +8 -8
- package/dist/{index-8cac3be0.js → index-9db370ff.js} +8 -8
- package/dist/{left-nav-menu-53570549.js → left-nav-menu-303d0378.js} +1 -1
- package/dist/{left-nav-menu-8cd8b1e4.js → left-nav-menu-78b15285.js} +1 -1
- package/dist/{left-nav-menu-category-heading-73346ff2.js → left-nav-menu-category-heading-47a104b1.js} +1 -1
- package/dist/{left-nav-menu-category-heading-a1d47b2d.js → left-nav-menu-category-heading-d337e476.js} +1 -1
- package/dist/{left-nav-menu-item-424fbc38.js → left-nav-menu-item-0f8445a5.js} +1 -1
- package/dist/{left-nav-menu-item-eb3960f1.js → left-nav-menu-item-21850ed6.js} +1 -1
- package/dist/{left-nav-menu-section-11af02da.js → left-nav-menu-section-8c7e349b.js} +1 -1
- package/dist/{left-nav-menu-section-bb098a42.js → left-nav-menu-section-a9476892.js} +1 -1
- package/dist/{left-nav-overlay-7dc81ebd.js → left-nav-overlay-d2167380.js} +1 -1
- package/dist/{left-nav-overlay-c0fbd4e4.js → left-nav-overlay-ddd5be27.js} +1 -1
- package/dist/{megamenu-category-group-013b7ada.js → megamenu-category-group-5b5c265f.js} +1 -1
- package/dist/{megamenu-category-group-4c28432f.js → megamenu-category-group-ba20774b.js} +1 -1
- package/dist/{megamenu-category-group-copy-cea24421.js → megamenu-category-group-copy-255a8481.js} +1 -1
- package/dist/{megamenu-category-group-copy-3fefc47d.js → megamenu-category-group-copy-67540256.js} +1 -1
- package/dist/{megamenu-category-heading-1f25fc40.js → megamenu-category-heading-a8f9a212.js} +1 -1
- package/dist/{megamenu-category-heading-dd7dc85e.js → megamenu-category-heading-ba1eff54.js} +1 -1
- package/dist/{megamenu-category-link-bb3a8c97.js → megamenu-category-link-cd455946.js} +1 -1
- package/dist/{megamenu-category-link-128fbdda.js → megamenu-category-link-e840d032.js} +1 -1
- package/dist/{megamenu-category-link-group-7bfa5379.js → megamenu-category-link-group-c60932d0.js} +1 -1
- package/dist/{megamenu-category-link-group-1f3fe858.js → megamenu-category-link-group-e18a124c.js} +1 -1
- package/dist/{megamenu-left-navigation-38facd4c.js → megamenu-left-navigation-6bfb8bd3.js} +1 -1
- package/dist/{megamenu-left-navigation-078809ef.js → megamenu-left-navigation-74c721c1.js} +1 -1
- package/dist/{megamenu-overlay-5accfa0c.js → megamenu-overlay-a0e4cd53.js} +1 -1
- package/dist/{megamenu-overlay-a466a800.js → megamenu-overlay-be0b03f0.js} +1 -1
- package/dist/{megamenu-tab-e87a8e2c.js → megamenu-tab-7ff41f58.js} +1 -1
- package/dist/{megamenu-tab-ad5a23fa.js → megamenu-tab-d8435c6b.js} +1 -1
- package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
- package/es/components/button/button.d.ts +2 -1
- package/es/components/button/button.js +5 -4
- package/es/components/button/button.js.map +1 -1
- package/es/components/callout-with-media/callout-with-media.css.js +1 -1
- package/es/components/card/card.css.js +1 -1
- package/es/components/card/card.js +1 -1
- package/es/components/card/card.js.map +1 -1
- package/es/components/card-group/card-group.css.js +1 -1
- package/es/components/card-in-card/card-in-card.css.js +1 -1
- package/es/components/card-link/card-link.css.js +1 -1
- package/es/components/card-section-offset/card-section-offset.css.js +1 -1
- package/es/components/card-section-simple/card-section-simple.css.js +1 -1
- package/es/components/content-block/content-block.css.js +1 -1
- package/es/components/content-block-cards/content-block-cards.css.js +1 -1
- package/es/components/content-block-headlines/content-block-headlines.css.js +1 -1
- package/es/components/content-block-horizontal/content-block-horizontal.css.js +1 -1
- package/es/components/content-block-media/content-block-media.css.js +1 -1
- package/es/components/content-block-mixed/content-block-mixed.css.js +1 -1
- package/es/components/content-block-segmented/content-block-segmented.css.js +1 -1
- package/es/components/content-block-simple/content-block-simple.css.js +1 -1
- package/es/components/content-group/content-group.css.js +1 -1
- package/es/components/content-group-cards/content-group-cards.css.js +1 -1
- package/es/components/content-group-simple/content-group-simple.css.js +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.css.js +1 -1
- package/es/components/cta/cta.css.js +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/feature-card/feature-card.css.js +1 -1
- package/es/components/footer/footer.css.js +1 -1
- package/es/components/leadspace/leadspace.css.js +1 -1
- package/es/components/leadspace-block/leadspace-block.css.js +1 -1
- package/es/components/leadspace-with-search/leadspace-with-search.css.js +1 -1
- package/es/components/link-list/link-list.css.js +1 -1
- package/es/components/locale-modal/locale-modal.css.js +1 -1
- package/es/components/logo-grid/logo-grid.css.js +1 -1
- package/es/components/masthead/masthead.css.js +1 -1
- package/es/components/notice-choice/notice-choice.css.js +1 -1
- package/es/components/notice-choice/notice-choice.d.ts +8 -0
- package/es/components/notice-choice/notice-choice.js +209 -7
- package/es/components/notice-choice/notice-choice.js.map +1 -1
- package/es/components/notice-choice/services.d.ts +1 -1
- package/es/components/notice-choice/services.js +3 -2
- package/es/components/notice-choice/services.js.map +1 -1
- package/es/components/notice-choice/utils.js +4 -1
- package/es/components/notice-choice/utils.js.map +1 -1
- package/es/components/table-of-contents/__stories__/table-of-contents.stories.css.js +1 -1
- package/es/components/table-of-contents/table-of-contents-cdn.css.js +1 -1
- package/es/components/table-of-contents/table-of-contents.css.js +1 -1
- package/es/components/tabs-extended-media/tabs-extended-media.css.js +1 -1
- package/package.json +5 -5
- package/scss/components/table-of-contents/__stories__/table-of-contents.stories.scss +2 -2
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
9
|
import CDSButton from '@carbon/web-components/es/components/button/button.js';
|
|
10
|
+
import { CTA_TYPE } from '../cta/defs';
|
|
10
11
|
declare const C4DButton_base: {
|
|
11
12
|
new (...args: any[]): {
|
|
12
13
|
_linkNode: any;
|
|
13
14
|
_handleClick(event: MouseEvent): void;
|
|
14
|
-
ctaType:
|
|
15
|
+
ctaType: CTA_TYPE;
|
|
15
16
|
disabled?: boolean;
|
|
16
17
|
download?: string;
|
|
17
18
|
href?: string;
|
|
@@ -16,15 +16,15 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
|
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import {
|
|
19
|
+
import { html, LitElement } from 'lit';
|
|
20
20
|
import { property, query } from 'lit/decorators.js';
|
|
21
21
|
import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
|
|
22
22
|
import styles from "././button.css.js";
|
|
23
23
|
import StableSelectorMixin from "../../globals/mixins/stable-selector.js";
|
|
24
24
|
import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
|
|
25
|
-
import CTAMixin from "../../component-mixins/cta/cta.js";
|
|
25
|
+
import CTAMixin, { ariaLabels, icons } from "../../component-mixins/cta/cta.js";
|
|
26
26
|
import CDSButton from '@carbon/web-components/es/components/button/button.js';
|
|
27
|
-
import {
|
|
27
|
+
import { CTA_TYPE } from "../cta/defs.js";
|
|
28
28
|
const {
|
|
29
29
|
prefix,
|
|
30
30
|
stablePrefix: c4dPrefix
|
|
@@ -135,7 +135,8 @@ let C4DButton = _decorate([customElement(`${c4dPrefix}-button`)], function (_ini
|
|
|
135
135
|
key: "_handleVideoTitleUpdate",
|
|
136
136
|
value() {
|
|
137
137
|
return async event => {
|
|
138
|
-
|
|
138
|
+
var _event$detail;
|
|
139
|
+
if (event && this.ctaType === CTA_TYPE.VIDEO && this.href === ((_event$detail = event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.videoId)) {
|
|
139
140
|
var _this$textContent;
|
|
140
141
|
const {
|
|
141
142
|
videoDuration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":["LitElement","html","property","query","settings","styles","StableSelectorMixin","carbonElement","customElement","CTAMixin","CDSButton","ariaLabels","icons","prefix","stablePrefix","c4dPrefix","C4DButton","_decorate","_initialize","_CTAMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","reflect","_handleDisabledClick","event","_superPropGet","_renderIconPrintStyles","_t","_","href","_renderButtonIcon","_icons","_icon","ctaType","icon","document","dir","strings","join","_this$textContent","videoDuration","videoName","detail","formatVideoDuration","formatVideoCaption","formattedVideoDuration","duration","videoTitle","name","textContent","trim","title","createTextNode","appendChild","connectedCallback","eventRequestAdditionalVideoData","addEventListener","_handleVideoTitleUpdate","disconnectedCallback","removeEventListener","updated","changedProperties","has","_iconDiv$querySelecto","_iconDiv$querySelecto2","iconDiv","_this$shadowRoot","shadowRoot","querySelector","remove","innerHTML","classList","add","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/button/button.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, query } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './button.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport CTAMixin from '../../component-mixins/cta/cta';\nimport CDSButton from '@carbon/web-components/es/components/button/button.js';\n\nimport { ariaLabels, icons } from '../../component-mixins/cta/cta';\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Button.\n *\n * @element c4d-button\n * @csspart button - The button. Usage: `c4d-button::part(button)`\n * @csspart hidden-paragraph - The hidden paragraph that contains the link. Usage: `c4d-button::part(hidden-paragraph)`\n * @csspart hidden-icon-span - The span element inside the hidden paragraph. Usage: `c4d-button::part(hidden-icon-span)`\n * @csspart visually-hidden-span - The visually hidden span element for accessibility. Usage: `c4d-button::part(visually-hidden-span)`\n */\n@customElement(`${c4dPrefix}-button`)\n// @ts-ignore\nclass C4DButton extends CTAMixin(StableSelectorMixin(CDSButton)) {\n @query('a')\n _linkNode;\n\n @property()\n iconDiv;\n\n @property()\n span;\n\n /**\n * `true` if expressive theme enabled.\n */\n @property({ type: Boolean, reflect: true })\n isExpressive = true;\n\n _handleDisabledClick(event: Event) {\n super._handleClick(event as any);\n }\n\n /**\n * TODO: Due to the new render() logic coming from the CWC v2 button,\n * this function is currently unused. We'd need to dynamically add it.\n *\n * @returns The icon for the print styles\n */\n _renderIconPrintStyles() {\n return html`\n <p\n class=\"${prefix}--btn--hidden\"\n aria-hidden=\"true\"\n part=\"hidden-paragraph\">\n <span part=\"hidden-icon-span\">:</span> ${this.href}\n </p>\n <slot name=\"icon\"></slot>\n `;\n }\n\n /**\n * @returns The template for the icon.\n */\n _renderButtonIcon() {\n const { ctaType } = this;\n const icon = icons[`${ctaType}-${document.dir}`] ?? icons[ctaType];\n return `\n <span class=\"${prefix}--visually-hidden\" part=\"visually-hidden-span\">${\n ariaLabels[ctaType]\n }</span>\n ${icon?.()?.strings?.join()}\n `;\n }\n\n /**\n * Handles button video title\n *\n * @param event The event.\n */\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleVideoTitleUpdate = async (event) => {\n if (event) {\n const { videoDuration, videoName } = event.detail as any;\n const { formatVideoDuration, formatVideoCaption } = this;\n const formattedVideoDuration = formatVideoDuration({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n });\n this.videoDuration ? null : (this.videoDuration = formattedVideoDuration);\n\n this.videoTitle = formatVideoCaption({\n duration: formattedVideoDuration,\n name: videoName,\n });\n\n if (this.textContent?.trim() === '') {\n const title = document.createTextNode(this.videoTitle);\n this.appendChild(title);\n }\n }\n };\n\n connectedCallback() {\n super.connectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.addEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.removeEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('ctaType')) {\n if (!this.iconDiv) {\n this.iconDiv = this.shadowRoot?.querySelector(\"slot[name='icon']\");\n }\n\n const { iconDiv } = this;\n\n iconDiv.querySelector('svg')?.remove();\n iconDiv.innerHTML = this._renderButtonIcon();\n iconDiv\n ?.querySelector('svg')\n ?.classList.add(`${prefix}--card__cta`, `${c4dPrefix}-ce--cta__icon`);\n }\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--button`;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to run the action.\n */\n static get eventRequestAdditionalVideoData() {\n return `${c4dPrefix}-cta-request-additional-video-data`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\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 C4DButton;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"button.js","names":["html","LitElement","property","query","settings","styles","StableSelectorMixin","carbonElement","customElement","CTAMixin","ariaLabels","icons","CDSButton","CTA_TYPE","prefix","stablePrefix","c4dPrefix","C4DButton","_decorate","_initialize","_CTAMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","reflect","_handleDisabledClick","event","_superPropGet","_renderIconPrintStyles","_t","_","href","_renderButtonIcon","_icons","_icon","ctaType","icon","document","dir","strings","join","_event$detail","VIDEO","detail","videoId","_this$textContent","videoDuration","videoName","formatVideoDuration","formatVideoCaption","formattedVideoDuration","duration","videoTitle","name","textContent","trim","title","createTextNode","appendChild","connectedCallback","eventRequestAdditionalVideoData","addEventListener","_handleVideoTitleUpdate","disconnectedCallback","removeEventListener","updated","changedProperties","has","_iconDiv$querySelecto","_iconDiv$querySelecto2","iconDiv","_this$shadowRoot","shadowRoot","querySelector","remove","innerHTML","classList","add","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/button/button.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 } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './button.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport CTAMixin, { ariaLabels, icons } from '../../component-mixins/cta/cta';\nimport CDSButton from '@carbon/web-components/es/components/button/button.js';\nimport { CTA_TYPE } from '../cta/defs';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Button.\n *\n * @element c4d-button\n * @csspart button - The button. Usage: `c4d-button::part(button)`\n * @csspart hidden-paragraph - The hidden paragraph that contains the link. Usage: `c4d-button::part(hidden-paragraph)`\n * @csspart hidden-icon-span - The span element inside the hidden paragraph. Usage: `c4d-button::part(hidden-icon-span)`\n * @csspart visually-hidden-span - The visually hidden span element for accessibility. Usage: `c4d-button::part(visually-hidden-span)`\n */\n@customElement(`${c4dPrefix}-button`)\n// @ts-ignore\nclass C4DButton extends CTAMixin(StableSelectorMixin(CDSButton)) {\n @query('a')\n _linkNode;\n\n @property()\n iconDiv;\n\n @property()\n span;\n\n /**\n * `true` if expressive theme enabled.\n */\n @property({ type: Boolean, reflect: true })\n isExpressive = true;\n\n _handleDisabledClick(event: Event) {\n super._handleClick(event as any);\n }\n\n /**\n * TODO: Due to the new render() logic coming from the CWC v2 button,\n * this function is currently unused. We'd need to dynamically add it.\n *\n * @returns The icon for the print styles\n */\n _renderIconPrintStyles() {\n return html`\n <p\n class=\"${prefix}--btn--hidden\"\n aria-hidden=\"true\"\n part=\"hidden-paragraph\">\n <span part=\"hidden-icon-span\">:</span> ${this.href}\n </p>\n <slot name=\"icon\"></slot>\n `;\n }\n\n /**\n * @returns The template for the icon.\n */\n _renderButtonIcon() {\n const { ctaType } = this;\n const icon = icons[`${ctaType}-${document.dir}`] ?? icons[ctaType];\n return `\n <span class=\"${prefix}--visually-hidden\" part=\"visually-hidden-span\">${\n ariaLabels[ctaType]\n }</span>\n ${icon?.()?.strings?.join()}\n `;\n }\n\n /**\n * Handles button video title\n *\n * @param event The event.\n */\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleVideoTitleUpdate = async (event) => {\n if (\n event &&\n this.ctaType === CTA_TYPE.VIDEO &&\n this.href === event.detail?.videoId\n ) {\n const { videoDuration, videoName } = event.detail as any;\n const { formatVideoDuration, formatVideoCaption } = this;\n const formattedVideoDuration = formatVideoDuration({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n });\n this.videoDuration ? null : (this.videoDuration = formattedVideoDuration);\n\n this.videoTitle = formatVideoCaption({\n duration: formattedVideoDuration,\n name: videoName,\n });\n\n if (this.textContent?.trim() === '') {\n const title = document.createTextNode(this.videoTitle);\n this.appendChild(title);\n }\n }\n };\n\n connectedCallback() {\n super.connectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.addEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.removeEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('ctaType')) {\n if (!this.iconDiv) {\n this.iconDiv = this.shadowRoot?.querySelector(\"slot[name='icon']\");\n }\n\n const { iconDiv } = this;\n\n iconDiv.querySelector('svg')?.remove();\n iconDiv.innerHTML = this._renderButtonIcon();\n iconDiv\n ?.querySelector('svg')\n ?.classList.add(`${prefix}--card__cta`, `${c4dPrefix}-ce--cta__icon`);\n }\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--button`;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to run the action.\n */\n static get eventRequestAdditionalVideoData() {\n return `${c4dPrefix}-cta-request-additional-video-data`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\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 C4DButton;\n"],"mappings":"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","ignoreList":[]}
|