@carbon/ibmdotcom-web-components 2.47.0 → 2.49.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 +4 -6
- package/dist/dotcom-shell.js +2 -2
- package/dist/dotcom-shell.min.js +2 -2
- package/dist/ibmdotcom-web-components-dotcom-shell.js +2 -2
- package/dist/ibmdotcom-web-components-dotcom-shell.min.js +2 -2
- package/dist/{index-d71fad5e.js → index-adfddc06.js} +5 -5
- package/dist/{index-2afb6b83.js → index-b426f051.js} +18 -74
- package/dist/{left-nav-menu-fd372a33.js → left-nav-menu-285b2d09.js} +2 -2
- package/dist/{left-nav-menu-c200cfbf.js → left-nav-menu-5e27b743.js} +2 -2
- package/dist/{left-nav-menu-category-heading-920e6a4d.js → left-nav-menu-category-heading-30bfb070.js} +2 -2
- package/dist/{left-nav-menu-category-heading-5e03be50.js → left-nav-menu-category-heading-ec5617ac.js} +2 -2
- package/dist/{left-nav-menu-item-4f1e5c31.js → left-nav-menu-item-d1f39a4f.js} +2 -2
- package/dist/{left-nav-menu-item-7fdb8ccb.js → left-nav-menu-item-eaaeb2a2.js} +2 -2
- package/dist/{left-nav-menu-section-030cb39a.js → left-nav-menu-section-40165248.js} +2 -2
- package/dist/{left-nav-menu-section-6b023c26.js → left-nav-menu-section-6343cf51.js} +2 -2
- package/dist/{left-nav-overlay-08587d78.js → left-nav-overlay-2ceeed16.js} +2 -2
- package/dist/{left-nav-overlay-889c0a90.js → left-nav-overlay-c58ce474.js} +2 -2
- package/dist/{megamenu-category-group-26bd14a7.js → megamenu-category-group-acc5b32b.js} +2 -2
- package/dist/{megamenu-category-group-copy-3b2207e3.js → megamenu-category-group-copy-0d9fac6a.js} +2 -2
- package/dist/{megamenu-category-group-copy-6164fd89.js → megamenu-category-group-copy-ac5247f8.js} +2 -2
- package/dist/{megamenu-category-group-dd55d8cd.js → megamenu-category-group-f388d208.js} +2 -2
- package/dist/{megamenu-category-heading-1916b04a.js → megamenu-category-heading-8f657c8d.js} +2 -2
- package/dist/{megamenu-category-heading-7d136716.js → megamenu-category-heading-cd3d3fe7.js} +2 -2
- package/dist/{megamenu-category-link-5b9838a2.js → megamenu-category-link-592c66f0.js} +2 -2
- package/dist/{megamenu-category-link-d47b8f6a.js → megamenu-category-link-b29c1a6a.js} +2 -2
- package/dist/{megamenu-category-link-group-97e7fb8f.js → megamenu-category-link-group-2448afd6.js} +2 -2
- package/dist/{megamenu-category-link-group-c112da07.js → megamenu-category-link-group-50b30323.js} +2 -2
- package/dist/{megamenu-left-navigation-8bbb4f4b.js → megamenu-left-navigation-93122184.js} +2 -2
- package/dist/{megamenu-left-navigation-68bc901a.js → megamenu-left-navigation-fd6e97cc.js} +2 -2
- package/dist/{megamenu-overlay-a191f87b.js → megamenu-overlay-bdf43cd6.js} +2 -2
- package/dist/{megamenu-overlay-1e5cbcc8.js → megamenu-overlay-daeba46c.js} +2 -2
- package/dist/{megamenu-tab-15ccf09c.js → megamenu-tab-656e4007.js} +2 -2
- package/dist/{megamenu-tab-70d5982a.js → megamenu-tab-90a388cf.js} +2 -2
- package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.d.ts +5 -1
- package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.js +17 -4
- package/es/components/lightbox-media-viewer/lightbox-media-viewer-body.js.map +1 -1
- package/es/components/lightbox-media-viewer/lightbox-media-viewer.d.ts +3 -1
- package/es/components/lightbox-media-viewer/lightbox-media-viewer.js +10 -2
- package/es/components/lightbox-media-viewer/lightbox-media-viewer.js.map +1 -1
- package/es/components/lightbox-media-viewer/lightbox-video-player.d.ts +1 -1
- package/es/components/lightbox-media-viewer/lightbox-video-player.js +16 -5
- package/es/components/lightbox-media-viewer/lightbox-video-player.js.map +1 -1
- package/es/components/masthead/masthead-cart.d.ts +0 -13
- package/es/components/masthead/masthead-cart.js +15 -71
- package/es/components/masthead/masthead-cart.js.map +1 -1
- package/es/components-react/lightbox-media-viewer/lightbox-media-viewer.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox-media-viewer-body.js","names":["html","LitElement","FocusMixin","settings","styles","stablePrefix","c4dPrefix","C4DLightboxMediaViewerBody","
|
|
1
|
+
{"version":3,"file":"lightbox-media-viewer-body.js","names":["html","LitElement","FocusMixin","settings","styles","stablePrefix","c4dPrefix","C4DLightboxMediaViewerBody","_renderCTAs","_t","_","render","_t2","_renderMedia","_renderTitle","_renderDescription","_defineProperty"],"sources":["components/lightbox-media-viewer/lightbox-media-viewer-body.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2026\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 FocusMixin from '@carbon/web-components/es/globals/mixins/focus.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './lightbox-media-viewer.scss';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * Media viewer modal body.\n */\nabstract class C4DLightboxMediaViewerBody extends FocusMixin(LitElement) {\n /**\n * @returns The description content.\n */\n abstract _renderDescription(): TemplateResult | string | void;\n\n /**\n * @returns The media content.\n */\n abstract _renderMedia(): TemplateResult | string | void;\n\n /**\n * @returns The title content.\n */\n abstract _renderTitle(): TemplateResult | string | void;\n\n /**\n * @returns The CTA content.\n */\n _renderCTAs(): TemplateResult | string | void {\n return html`<slot name=\"cta\"></slot>`;\n }\n\n render() {\n return html`\n <div\n class=\"${c4dPrefix}--lightbox-media-viewer__container\"\n part=\"container\">\n <div class=\"${c4dPrefix}--lightbox-media-viewer__row\" part=\"row\">\n <div class=\"${c4dPrefix}--lightbox-media-viewer__media\" part=\"media\">\n ${this._renderMedia()}\n </div>\n <div\n class=\"${c4dPrefix}--lightbox-media-viewer__media-description\"\n part=\"content-wrapper\">\n <div\n class=\"${c4dPrefix}--lightbox-media-viewer__content\"\n part=\"content\">\n <div\n part=\"title\"\n class=\"${c4dPrefix}--lightbox-media-viewer__content__title\"\n data-autoid=\"${c4dPrefix}--lightbox-media-viewer__content__title\">\n ${this._renderTitle()}\n </div>\n <div\n part=\"description\"\n class=\"${c4dPrefix}--lightbox-media-viewer__content__desc\"\n data-autoid=\"${c4dPrefix}--lightbox-media-viewer__content__desc\">\n ${this._renderDescription()}\n </div>\n <div\n part=\"cta\"\n class=\"${c4dPrefix}--lightbox-media-viewer__content__cta\"\n data-autoid=\"${c4dPrefix}--lightbox-media-viewer__content__cta\">\n ${this._renderCTAs()}\n </div>\n </div>\n </div>\n </div>\n </div>\n `;\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 C4DLightboxMediaViewerBody;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,UAAU,QAAwB,KAAK;AACtD,OAAOC,UAAU,MAAM,mDAAmD;AAC1E,OAAOC,QAAQ,MAAM,+DAA+D;AACpF,OAAOC,MAAM,MAAM,kCAA8B;AAEjD,MAAM;EAAEC,YAAY,EAAEC;AAAU,CAAC,GAAGH,QAAQ;;AAE5C;AACA;AACA;AACA,MAAeI,0BAA0B,SAASL,UAAU,CAACD,UAAU,CAAC,CAAC;EACvE;AACF;AACA;;EAGE;AACF;AACA;;EAGE;AACF;AACA;;EAGE;AACF;AACA;EACEO,WAAWA,CAAA,EAAmC;IAC5C,OAAOR,IAAI,CAAAS,EAAA,KAAAA,EAAA,GAAAC,CAAA;EACb;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAOX,IAAI,CAAAY,GAAA,KAAAA,GAAA,GAAAF,CAAA;AACf;AACA,iBAFe;AACf;AACA,sBAFe;AACf,wBADe;AACf,cADe;AACf;AACA;AACA,qBAHe;AACf;AACA;AACA,uBAHe;AACf;AACA;AACA;AACA,yBAJe;AACf,+BADe;AACf,kBADe;AACf;AACA;AACA;AACA,yBAJe;AACf,+BADe;AACf,kBADe;AACf;AACA;AACA;AACA,yBAJe;AACf,+BADe;AACf,kBADe;AACf;AACA;AACA;AACA;AACA;AACA,KANe,GAEEJ,SAAS,EAEJA,SAAS,EACPA,SAAS,EACnB,IAAI,CAACO,YAAY,CAAC,CAAC,EAGZP,SAAS,EAGPA,SAAS,EAIPA,SAAS,EACHA,SAAS,EACtB,IAAI,CAACQ,YAAY,CAAC,CAAC,EAIZR,SAAS,EACHA,SAAS,EACtB,IAAI,CAACS,kBAAkB,CAAC,CAAC,EAIlBT,SAAS,EACHA,SAAS,EACtB,IAAI,CAACE,WAAW,CAAC,CAAC;EAOlC;;EAEwB;AAC1B;;AAEA;AAAAQ,eAAA,CAlEeT,0BAA0B,YA+DvBH,MAAM;AAIxB,eAAeG,0BAA0B","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
*
|
|
4
|
-
* Copyright IBM Corp. 2020,
|
|
4
|
+
* Copyright IBM Corp. 2020, 2026
|
|
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.
|
|
@@ -13,6 +13,7 @@ import C4DLightboxMediaViewerBody from './lightbox-media-viewer-body';
|
|
|
13
13
|
* @element c4d-lightbox-media-viewer
|
|
14
14
|
* @slot title - The title content.
|
|
15
15
|
* @slot description - The description content.
|
|
16
|
+
* @slot cta - The CTA content.
|
|
16
17
|
* @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`
|
|
17
18
|
* @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`
|
|
18
19
|
* @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`
|
|
@@ -26,6 +27,7 @@ declare class C4DLightboxMediaViewer extends C4DLightboxMediaViewerBody {
|
|
|
26
27
|
_renderDescription(): import("lit-html").TemplateResult<1>;
|
|
27
28
|
_renderMedia(): import("lit-html").TemplateResult<1>;
|
|
28
29
|
_renderTitle(): import("lit-html").TemplateResult<1>;
|
|
30
|
+
_renderCTAs(): import("lit-html").TemplateResult<1>;
|
|
29
31
|
private _mediaItem?;
|
|
30
32
|
private _mediaWindow;
|
|
31
33
|
private _containingCarousel?;
|
|
@@ -4,12 +4,13 @@ import _get from "@babel/runtime/helpers/esm/get";
|
|
|
4
4
|
let _ = t => t,
|
|
5
5
|
_t,
|
|
6
6
|
_t2,
|
|
7
|
-
_t3
|
|
7
|
+
_t3,
|
|
8
|
+
_t4;
|
|
8
9
|
function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
9
10
|
/**
|
|
10
11
|
* @license
|
|
11
12
|
*
|
|
12
|
-
* Copyright IBM Corp. 2020,
|
|
13
|
+
* Copyright IBM Corp. 2020, 2026
|
|
13
14
|
*
|
|
14
15
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
15
16
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -32,6 +33,7 @@ const {
|
|
|
32
33
|
* @element c4d-lightbox-media-viewer
|
|
33
34
|
* @slot title - The title content.
|
|
34
35
|
* @slot description - The description content.
|
|
36
|
+
* @slot cta - The CTA content.
|
|
35
37
|
* @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`
|
|
36
38
|
* @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`
|
|
37
39
|
* @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`
|
|
@@ -80,6 +82,12 @@ let C4DLightboxMediaViewer = _decorate([customElement(`${c4dPrefix}-lightbox-med
|
|
|
80
82
|
>
|
|
81
83
|
`), title);
|
|
82
84
|
}
|
|
85
|
+
}, {
|
|
86
|
+
kind: "method",
|
|
87
|
+
key: "_renderCTAs",
|
|
88
|
+
value: function _renderCTAs() {
|
|
89
|
+
return html(_t4 || (_t4 = _` <slot name="cta"></slot> `));
|
|
90
|
+
}
|
|
83
91
|
}, {
|
|
84
92
|
kind: "field",
|
|
85
93
|
decorators: [query(`.${c4dPrefix}--lightbox-media-viewer__media`)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox-media-viewer.js","names":["html","property","query","settings","C4DLightboxMediaViewerBody","C4DVideoPlayerContainer","C4DExpressiveModal","carbonElement","customElement","stablePrefix","c4dPrefix","C4DLightboxMediaViewer","_decorate","_initialize","_C4DLightboxMediaView","constructor","args","F","d","kind","key","value","_renderDescription","description","_t","_","_renderMedia","_t2","_handleSlotChange","_renderTitle","title","_t3","decorators","event","_containingModal","containingModal","media","target","assignedNodes","_mediaItem","_intersectionObserver","IntersectionObserver","disconnect","undefined","_boundModalClosedHandler","removeEventListener","eventBeforeClose","_mediaWindow","mediaWindow","_containingCarousel","containingCarousel","callback","_handleOutOfCarouselView","bind","root","rootMargin","threshold","observe","_handleModalClosed","addEventListener","entries","forEach","entry","intersectionRatio","_pauseVideo","mediaItem","pauseAllVideos","connectedCallback","_superPropGet","closest","update","changedProperties","videoId","caption","hideCaption","thumbnail","innerHTML","alt","defaultSrc","attribute","static"],"sources":["components/lightbox-media-viewer/lightbox-media-viewer.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 } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DLightboxMediaViewerBody from './lightbox-media-viewer-body';\nimport C4DVideoPlayerContainer from '../video-player/video-player-container';\nimport C4DCarousel from '../carousel/carousel';\nimport C4DExpressiveModal from '../expressive-modal/expressive-modal';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * The image content of lightbox media viewer.\n *\n * @element c4d-lightbox-media-viewer\n * @slot title - The title content.\n * @slot description - The description content.\n * @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`\n * @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`\n * @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`\n * @csspart content-wrapper - The wrapper around content. Usage: `c4d-lightbox-video-player::part(content-wrapper)`\n * @csspart content - The inner wrapper around content. Usage: `c4d-lightbox-video-player::part(content)`\n * @csspart title - The title of the media. Usage: `c4d-lightbox-video-player::part(title)`\n * @csspart description - The description of the media. Usage: `c4d-lightbox-video-player::part(description)`\n * @csspart h2 - The h2 element that holds the title. Usage: `c4d-lightbox-video-player::part(h2)`\n */\n@customElement(`${c4dPrefix}-lightbox-media-viewer`)\nclass C4DLightboxMediaViewer extends C4DLightboxMediaViewerBody {\n _renderDescription() {\n const { description } = this;\n return html` <slot name=\"description\">${description}</slot> `;\n }\n\n _renderMedia() {\n return html`\n <slot name=\"media\" @slotchange=\"${this._handleSlotChange}\"></slot>\n `;\n }\n\n _renderTitle() {\n const { title } = this;\n return html`\n <slot name=\"title\"\n ><h2 part=\"h2\" style=\"all: inherit;\">${title}</h2></slot\n >\n `;\n }\n\n private _mediaItem?: HTMLElement;\n\n @query(`.${c4dPrefix}--lightbox-media-viewer__media`)\n private _mediaWindow!: HTMLDivElement;\n\n private _containingCarousel?: C4DCarousel;\n\n private _containingModal?: C4DExpressiveModal;\n\n private _handleSlotChange(event: Event) {\n const { _containingModal: containingModal } = this;\n const [media] = (event.target as HTMLSlotElement).assignedNodes();\n this._mediaItem = media as HTMLImageElement | C4DVideoPlayerContainer;\n\n // Disconnect & delete intersection observer\n if (this._intersectionObserver instanceof IntersectionObserver) {\n this._intersectionObserver.disconnect();\n this._intersectionObserver = undefined;\n }\n\n // Remove modal closed listeners from the containing modal\n if (containingModal && this._boundModalClosedHandler) {\n containingModal.removeEventListener(\n C4DExpressiveModal.eventBeforeClose,\n this._boundModalClosedHandler\n );\n this._boundModalClosedHandler = undefined;\n }\n\n if (media instanceof C4DVideoPlayerContainer) {\n const {\n _mediaWindow: mediaWindow,\n _containingCarousel: containingCarousel,\n } = this;\n\n // Watch for out-of-view if we're in a carousel\n if (mediaWindow && containingCarousel) {\n const callback = this._handleOutOfCarouselView.bind(this);\n this._intersectionObserver = new IntersectionObserver(callback, {\n root: containingCarousel,\n rootMargin: '999px 0px 999px 0px',\n threshold: 1,\n });\n\n this._intersectionObserver.observe(mediaWindow);\n }\n\n // Watch for modal close\n if (containingModal) {\n this._boundModalClosedHandler = this._handleModalClosed.bind(this);\n\n containingModal.addEventListener(\n C4DExpressiveModal.eventBeforeClose,\n this._boundModalClosedHandler\n );\n }\n }\n }\n\n private _intersectionObserver?: IntersectionObserver;\n\n private _handleOutOfCarouselView(entries) {\n entries.forEach((entry) => {\n if (entry.intersectionRatio < 1) {\n this._pauseVideo();\n }\n });\n }\n\n private _handleModalClosed() {\n this._pauseVideo();\n }\n\n private _pauseVideo() {\n const { _mediaItem: mediaItem } = this;\n\n if (mediaItem instanceof C4DVideoPlayerContainer) {\n mediaItem.pauseAllVideos();\n }\n }\n\n _boundModalClosedHandler?: EventListenerOrEventListenerObject;\n\n connectedCallback() {\n super.connectedCallback();\n\n this._containingCarousel =\n (this.closest(`${c4dPrefix}-carousel`) as C4DCarousel) || undefined;\n this._containingModal =\n (this.closest(`${c4dPrefix}-expressive-modal`) as C4DExpressiveModal) ||\n undefined;\n }\n\n update(changedProperties) {\n if (this.videoId) {\n const { videoId, caption, hideCaption, thumbnail } = this;\n this.innerHTML = `\n <c4d-video-player-container\n playing-mode=\"inline\"\n video-id=\"${videoId}\"\n caption=\"${caption}\"\n ?hide-caption=\"${hideCaption}\"\n thumbnail=\"${thumbnail}\"\n slot=\"media\"\n ></c4d-video-player-container>\n `;\n } else {\n const { alt, defaultSrc } = this;\n this.innerHTML = `\n <img\n class=\"${c4dPrefix}--image__img\"\n alt=\"${alt}\"\n src=\"${defaultSrc}\"\n loading=\"lazy\"\n slot=\"media\"\n style=\"max-width:100%;max-height:100%\"\n />\n `;\n }\n super.update(changedProperties);\n }\n\n /**\n * The alternate text.\n */\n @property()\n alt = '';\n\n /**\n * The image source.\n */\n @property({ attribute: 'default-src' })\n defaultSrc = '';\n\n /**\n * The media description.\n */\n @property()\n description = '';\n\n /**\n * The media title.\n */\n @property()\n title = '';\n\n @property({ attribute: 'video-id' })\n videoId = '';\n\n @property()\n caption = '';\n\n @property()\n hideCaption = false;\n\n @property()\n thumbnail = '';\n\n /**\n * The name of the custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n */\n static get eventBeforeModalClose() {\n return `${c4dPrefix}-expressive-modal-beingclosed`;\n }\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DLightboxMediaViewer;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"lightbox-media-viewer.js","names":["html","property","query","settings","C4DLightboxMediaViewerBody","C4DVideoPlayerContainer","C4DExpressiveModal","carbonElement","customElement","stablePrefix","c4dPrefix","C4DLightboxMediaViewer","_decorate","_initialize","_C4DLightboxMediaView","constructor","args","F","d","kind","key","value","_renderDescription","description","_t","_","_renderMedia","_t2","_handleSlotChange","_renderTitle","title","_t3","_renderCTAs","_t4","decorators","event","_containingModal","containingModal","media","target","assignedNodes","_mediaItem","_intersectionObserver","IntersectionObserver","disconnect","undefined","_boundModalClosedHandler","removeEventListener","eventBeforeClose","_mediaWindow","mediaWindow","_containingCarousel","containingCarousel","callback","_handleOutOfCarouselView","bind","root","rootMargin","threshold","observe","_handleModalClosed","addEventListener","entries","forEach","entry","intersectionRatio","_pauseVideo","mediaItem","pauseAllVideos","connectedCallback","_superPropGet","closest","update","changedProperties","videoId","caption","hideCaption","thumbnail","innerHTML","alt","defaultSrc","attribute","static"],"sources":["components/lightbox-media-viewer/lightbox-media-viewer.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2026\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 } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport C4DLightboxMediaViewerBody from './lightbox-media-viewer-body';\nimport C4DVideoPlayerContainer from '../video-player/video-player-container';\nimport C4DCarousel from '../carousel/carousel';\nimport C4DExpressiveModal from '../expressive-modal/expressive-modal';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * The image content of lightbox media viewer.\n *\n * @element c4d-lightbox-media-viewer\n * @slot title - The title content.\n * @slot description - The description content.\n * @slot cta - The CTA content.\n * @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`\n * @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`\n * @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`\n * @csspart content-wrapper - The wrapper around content. Usage: `c4d-lightbox-video-player::part(content-wrapper)`\n * @csspart content - The inner wrapper around content. Usage: `c4d-lightbox-video-player::part(content)`\n * @csspart title - The title of the media. Usage: `c4d-lightbox-video-player::part(title)`\n * @csspart description - The description of the media. Usage: `c4d-lightbox-video-player::part(description)`\n * @csspart h2 - The h2 element that holds the title. Usage: `c4d-lightbox-video-player::part(h2)`\n */\n@customElement(`${c4dPrefix}-lightbox-media-viewer`)\nclass C4DLightboxMediaViewer extends C4DLightboxMediaViewerBody {\n _renderDescription() {\n const { description } = this;\n return html` <slot name=\"description\">${description}</slot> `;\n }\n\n _renderMedia() {\n return html`\n <slot name=\"media\" @slotchange=\"${this._handleSlotChange}\"></slot>\n `;\n }\n\n _renderTitle() {\n const { title } = this;\n return html`\n <slot name=\"title\"\n ><h2 part=\"h2\" style=\"all: inherit;\">${title}</h2></slot\n >\n `;\n }\n\n _renderCTAs() {\n return html` <slot name=\"cta\"></slot> `;\n }\n\n private _mediaItem?: HTMLElement;\n\n @query(`.${c4dPrefix}--lightbox-media-viewer__media`)\n private _mediaWindow!: HTMLDivElement;\n\n private _containingCarousel?: C4DCarousel;\n\n private _containingModal?: C4DExpressiveModal;\n\n private _handleSlotChange(event: Event) {\n const { _containingModal: containingModal } = this;\n const [media] = (event.target as HTMLSlotElement).assignedNodes();\n this._mediaItem = media as HTMLImageElement | C4DVideoPlayerContainer;\n\n // Disconnect & delete intersection observer\n if (this._intersectionObserver instanceof IntersectionObserver) {\n this._intersectionObserver.disconnect();\n this._intersectionObserver = undefined;\n }\n\n // Remove modal closed listeners from the containing modal\n if (containingModal && this._boundModalClosedHandler) {\n containingModal.removeEventListener(\n C4DExpressiveModal.eventBeforeClose,\n this._boundModalClosedHandler\n );\n this._boundModalClosedHandler = undefined;\n }\n\n if (media instanceof C4DVideoPlayerContainer) {\n const {\n _mediaWindow: mediaWindow,\n _containingCarousel: containingCarousel,\n } = this;\n\n // Watch for out-of-view if we're in a carousel\n if (mediaWindow && containingCarousel) {\n const callback = this._handleOutOfCarouselView.bind(this);\n this._intersectionObserver = new IntersectionObserver(callback, {\n root: containingCarousel,\n rootMargin: '999px 0px 999px 0px',\n threshold: 1,\n });\n\n this._intersectionObserver.observe(mediaWindow);\n }\n\n // Watch for modal close\n if (containingModal) {\n this._boundModalClosedHandler = this._handleModalClosed.bind(this);\n\n containingModal.addEventListener(\n C4DExpressiveModal.eventBeforeClose,\n this._boundModalClosedHandler\n );\n }\n }\n }\n\n private _intersectionObserver?: IntersectionObserver;\n\n private _handleOutOfCarouselView(entries) {\n entries.forEach((entry) => {\n if (entry.intersectionRatio < 1) {\n this._pauseVideo();\n }\n });\n }\n\n private _handleModalClosed() {\n this._pauseVideo();\n }\n\n private _pauseVideo() {\n const { _mediaItem: mediaItem } = this;\n\n if (mediaItem instanceof C4DVideoPlayerContainer) {\n mediaItem.pauseAllVideos();\n }\n }\n\n _boundModalClosedHandler?: EventListenerOrEventListenerObject;\n\n connectedCallback() {\n super.connectedCallback();\n\n this._containingCarousel =\n (this.closest(`${c4dPrefix}-carousel`) as C4DCarousel) || undefined;\n this._containingModal =\n (this.closest(`${c4dPrefix}-expressive-modal`) as C4DExpressiveModal) ||\n undefined;\n }\n\n update(changedProperties) {\n if (this.videoId) {\n const { videoId, caption, hideCaption, thumbnail } = this;\n this.innerHTML = `\n <c4d-video-player-container\n playing-mode=\"inline\"\n video-id=\"${videoId}\"\n caption=\"${caption}\"\n ?hide-caption=\"${hideCaption}\"\n thumbnail=\"${thumbnail}\"\n slot=\"media\"\n ></c4d-video-player-container>\n `;\n } else {\n const { alt, defaultSrc } = this;\n this.innerHTML = `\n <img\n class=\"${c4dPrefix}--image__img\"\n alt=\"${alt}\"\n src=\"${defaultSrc}\"\n loading=\"lazy\"\n slot=\"media\"\n style=\"max-width:100%;max-height:100%\"\n />\n `;\n }\n super.update(changedProperties);\n }\n\n /**\n * The alternate text.\n */\n @property()\n alt = '';\n\n /**\n * The image source.\n */\n @property({ attribute: 'default-src' })\n defaultSrc = '';\n\n /**\n * The media description.\n */\n @property()\n description = '';\n\n /**\n * The media title.\n */\n @property()\n title = '';\n\n @property({ attribute: 'video-id' })\n videoId = '';\n\n @property()\n caption = '';\n\n @property()\n hideCaption = false;\n\n @property()\n thumbnail = '';\n\n /**\n * The name of the custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n */\n static get eventBeforeModalClose() {\n return `${c4dPrefix}-expressive-modal-beingclosed`;\n }\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DLightboxMediaViewer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prot
|
|
|
9
9
|
/**
|
|
10
10
|
* @license
|
|
11
11
|
*
|
|
12
|
-
* Copyright IBM Corp. 2020,
|
|
12
|
+
* Copyright IBM Corp. 2020, 2026
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
15
15
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -86,9 +86,22 @@ let C4DLightboxVideoPlayer = _decorate([customElement(`${c4dPrefix}-lightbox-vid
|
|
|
86
86
|
const {
|
|
87
87
|
duration,
|
|
88
88
|
formatCaption,
|
|
89
|
-
formatDuration,
|
|
90
89
|
name
|
|
91
90
|
} = this;
|
|
91
|
+
let formattedDuration = '';
|
|
92
|
+
if (duration != null) {
|
|
93
|
+
const totalSeconds = Math.floor(duration);
|
|
94
|
+
const hours = Math.floor(totalSeconds / 3600);
|
|
95
|
+
const minutes = Math.floor(totalSeconds % 3600 / 60);
|
|
96
|
+
const seconds = totalSeconds % 60;
|
|
97
|
+
if (hours > 0) {
|
|
98
|
+
// format as HH:MM:SS
|
|
99
|
+
formattedDuration = `${hours}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;
|
|
100
|
+
} else {
|
|
101
|
+
// formatt as MM:SS
|
|
102
|
+
formattedDuration = `${minutes}:${String(seconds).padStart(2, '0')}`;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
92
105
|
return html(_t3 || (_t3 = _`
|
|
93
106
|
<slot name="title">
|
|
94
107
|
<h2 style="all: inherit;" part="h2">
|
|
@@ -96,9 +109,7 @@ let C4DLightboxVideoPlayer = _decorate([customElement(`${c4dPrefix}-lightbox-vid
|
|
|
96
109
|
</h2>
|
|
97
110
|
</slot>
|
|
98
111
|
`), formatCaption({
|
|
99
|
-
duration:
|
|
100
|
-
duration: !duration ? duration : duration * 1000
|
|
101
|
-
}),
|
|
112
|
+
duration: formattedDuration,
|
|
102
113
|
name
|
|
103
114
|
}));
|
|
104
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox-video-player.js","names":["html","property","removeHtmlTagEntities","settings","formatVideoCaption","formatVideoDuration","C4DLightboxMediaViewerBody","carbonElement","customElement","stablePrefix","c4dPrefix","C4DLightboxVideoPlayer","_decorate","_initialize","_C4DLightboxMediaView","constructor","args","F","d","kind","key","value","_renderDescription","description","_t","_","_renderMedia","_t2","_renderTitle","duration","formatCaption","
|
|
1
|
+
{"version":3,"file":"lightbox-video-player.js","names":["html","property","removeHtmlTagEntities","settings","formatVideoCaption","formatVideoDuration","C4DLightboxMediaViewerBody","carbonElement","customElement","stablePrefix","c4dPrefix","C4DLightboxVideoPlayer","_decorate","_initialize","_C4DLightboxMediaView","constructor","args","F","d","kind","key","value","_renderDescription","description","_t","_","_renderMedia","_t2","_renderTitle","duration","formatCaption","name","formattedDuration","totalSeconds","Math","floor","hours","minutes","seconds","String","padStart","_t3","updated","changedProperties","has","setAttribute","connectedCallback","_superPropGet","decorators","type","Number","attribute"],"sources":["components/lightbox-media-viewer/lightbox-video-player.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2026\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 } from 'lit/decorators.js';\nimport removeHtmlTagEntities from '@carbon/ibmdotcom-utilities/es/utilities/removeHtmlTagEntities/removeHtmlTagEntities.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport {\n formatVideoCaption,\n formatVideoDuration,\n} from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';\nimport C4DLightboxMediaViewerBody from './lightbox-media-viewer-body';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nconst { stablePrefix: c4dPrefix } = settings;\n\n/**\n * The video content of lightbox media viewer.\n *\n * @element c4d-lightbox-video-player\n * @slot title - The title content.\n * @slot description - The description content.\n * @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`\n * @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`\n * @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`\n * @csspart content-wrapper - The wrapper around content. Usage: `c4d-lightbox-video-player::part(content-wrapper)`\n * @csspart content - The inner wrapper around content. Usage: `c4d-lightbox-video-player::part(content)`\n * @csspart title - The title of the media. Usage: `c4d-lightbox-video-player::part(title)`\n * @csspart description - The description of the media. Usage: `c4d-lightbox-video-player::part(description)`\n * @csspart video-player - The wrapper around the video player. Usage: `c4d-lightbox-video-player::part(video-player)`\n * @csspart video-container - The inner wrapper around the slotted video player. Usage: `c4d-lightbox-video-player::part(video-container)`\n * @csspart h2 - The h2 element that holds the title. Usage: `c4d-lightbox-video-player::part(h2)`\n */\n@customElement(`${c4dPrefix}-lightbox-video-player`)\nclass C4DLightboxVideoPlayer extends C4DLightboxMediaViewerBody {\n _renderDescription() {\n const { description } = this;\n return html`\n <slot name=\"description\">${removeHtmlTagEntities(description)}</slot>\n `;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _renderMedia() {\n return html`\n <div class=\"${c4dPrefix}--video-player\" part=\"video-player\">\n <div\n class=\"${c4dPrefix}--video-player__video-container\"\n part=\"video-container\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n _renderTitle() {\n const { duration, formatCaption, name } = this;\n\n let formattedDuration = '';\n\n if (duration != null) {\n const totalSeconds = Math.floor(duration);\n\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = totalSeconds % 60;\n\n if (hours > 0) {\n // format as HH:MM:SS\n formattedDuration = `${hours}:${String(minutes).padStart(\n 2,\n '0'\n )}:${String(seconds).padStart(2, '0')}`;\n } else {\n // formatt as MM:SS\n formattedDuration = `${minutes}:${String(seconds).padStart(2, '0')}`;\n }\n }\n\n return html`\n <slot name=\"title\">\n <h2 style=\"all: inherit;\" part=\"h2\">\n ${formatCaption({\n duration: formattedDuration,\n name,\n })}\n </h2>\n </slot>\n `;\n }\n\n updated(changedProperties) {\n if (changedProperties.has('name')) {\n this.setAttribute('aria-label', this.name);\n }\n }\n\n connectedCallback() {\n this.setAttribute('role', 'dialog');\n super.connectedCallback();\n }\n\n /**\n * The media description.\n */\n @property()\n description = '';\n\n /**\n * The video duration.\n */\n @property({ type: Number })\n duration?: number;\n\n /**\n * The formatter for the video caption, composed with the video name and the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatCaption = formatVideoCaption;\n\n /**\n * The formatter for the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatDuration = formatVideoDuration;\n\n /**\n * The video name.\n */\n @property()\n name = '';\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DLightboxVideoPlayer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -371,19 +371,6 @@ declare class C4DMastheadCart extends C4DMastheadCart_base {
|
|
|
371
371
|
cc: string;
|
|
372
372
|
};
|
|
373
373
|
connectedCallback(): void;
|
|
374
|
-
disconnectedCallback(): void;
|
|
375
|
-
/**
|
|
376
|
-
* Updates cart state
|
|
377
|
-
*/
|
|
378
|
-
updateCart: () => void;
|
|
379
|
-
/**
|
|
380
|
-
* Checks if the user has an active cart and retries a few times if the cart cookie is not available yet.
|
|
381
|
-
*/
|
|
382
|
-
checkCartWithRetry(retries?: number, delay?: number): void;
|
|
383
|
-
/**
|
|
384
|
-
* Filter the correct checkout URL based on locale and country code.
|
|
385
|
-
*/
|
|
386
|
-
handleURL(cc: string, lc: string): string;
|
|
387
374
|
updated(changedProperties: any): void;
|
|
388
375
|
render(): import("lit-html").TemplateResult<1>;
|
|
389
376
|
static get stableSelector(): string;
|
|
@@ -93,81 +93,14 @@ let C4DMastheadCart = _decorate([customElement(`${c4dPrefix}-masthead-cart`)], f
|
|
|
93
93
|
|
|
94
94
|
function connectedCallback() {
|
|
95
95
|
_superPropGet(C4DMastheadCart, "connectedCallback", this, 3)([]);
|
|
96
|
+
// Check the relevant cookie for whether the user has an active cart.
|
|
97
|
+
this.hasActiveCart = SAPCommerceAPI.hasActiveCart();
|
|
96
98
|
|
|
97
|
-
//
|
|
98
|
-
this.updateCart();
|
|
99
|
-
|
|
100
|
-
// Fallback retry
|
|
101
|
-
this.checkCartWithRetry();
|
|
102
|
-
|
|
103
|
-
// Listen for cross-tab updates
|
|
104
|
-
window.addEventListener('storage', this.updateCart);
|
|
105
|
-
|
|
106
|
-
// Fetch locale
|
|
99
|
+
// Fetch the locale for the page.
|
|
107
100
|
LocaleAPI.getLocale().then(locale => {
|
|
108
101
|
this.locale = locale;
|
|
109
102
|
});
|
|
110
103
|
}
|
|
111
|
-
}, {
|
|
112
|
-
kind: "method",
|
|
113
|
-
key: "disconnectedCallback",
|
|
114
|
-
value: function disconnectedCallback() {
|
|
115
|
-
_superPropGet(C4DMastheadCart, "disconnectedCallback", this, 3)([]);
|
|
116
|
-
window.removeEventListener('storage', this.updateCart);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Updates cart state
|
|
121
|
-
*/
|
|
122
|
-
}, {
|
|
123
|
-
kind: "field",
|
|
124
|
-
key: "updateCart",
|
|
125
|
-
value() {
|
|
126
|
-
return () => {
|
|
127
|
-
const hasCart = SAPCommerceAPI.hasActiveCart();
|
|
128
|
-
this.hasActiveCart = hasCart;
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
}, {
|
|
132
|
-
kind: "method",
|
|
133
|
-
key: "checkCartWithRetry",
|
|
134
|
-
value:
|
|
135
|
-
/**
|
|
136
|
-
* Checks if the user has an active cart and retries a few times if the cart cookie is not available yet.
|
|
137
|
-
*/
|
|
138
|
-
function checkCartWithRetry(retries = 5, delay = 200) {
|
|
139
|
-
const check = () => {
|
|
140
|
-
const hasCart = SAPCommerceAPI.hasActiveCart();
|
|
141
|
-
if (hasCart) {
|
|
142
|
-
this.hasActiveCart = true;
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if (retries > 0) {
|
|
146
|
-
retries--;
|
|
147
|
-
setTimeout(check, delay);
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
check();
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Filter the correct checkout URL based on locale and country code.
|
|
155
|
-
*/
|
|
156
|
-
}, {
|
|
157
|
-
kind: "method",
|
|
158
|
-
key: "handleURL",
|
|
159
|
-
value: function handleURL(cc, lc) {
|
|
160
|
-
switch (cc) {
|
|
161
|
-
case 'uk':
|
|
162
|
-
return `/store/en/gb/checkout`;
|
|
163
|
-
case 'ae':
|
|
164
|
-
return `/store/en/ae/checkout`;
|
|
165
|
-
case 'sa':
|
|
166
|
-
return `/store/en/sa/checkout`;
|
|
167
|
-
default:
|
|
168
|
-
return `/store/${lc}/${cc}/checkout`;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
104
|
}, {
|
|
172
105
|
kind: "method",
|
|
173
106
|
key: "updated",
|
|
@@ -191,6 +124,17 @@ let C4DMastheadCart = _decorate([customElement(`${c4dPrefix}-masthead-cart`)], f
|
|
|
191
124
|
lc
|
|
192
125
|
}
|
|
193
126
|
} = this;
|
|
127
|
+
let href;
|
|
128
|
+
if (cc === 'uk') {
|
|
129
|
+
href = '/store/en/gb/checkout';
|
|
130
|
+
} else if (cc === 'ae') {
|
|
131
|
+
href = '/store/en/ae/checkout';
|
|
132
|
+
} else if (cc === 'sa') {
|
|
133
|
+
href = '/store/en/sa/checkout';
|
|
134
|
+
} else {
|
|
135
|
+
href = `/store/${lc}/${cc}/checkout`;
|
|
136
|
+
}
|
|
137
|
+
console.log(href);
|
|
194
138
|
return html(_t || (_t = _`
|
|
195
139
|
<a
|
|
196
140
|
part="cart-link"
|
|
@@ -199,7 +143,7 @@ let C4DMastheadCart = _decorate([customElement(`${c4dPrefix}-masthead-cart`)], f
|
|
|
199
143
|
aria-label="${0}"
|
|
200
144
|
>${0}</a
|
|
201
145
|
>
|
|
202
|
-
`),
|
|
146
|
+
`), href, prefix, prefix, linkLabel, ShoppingCart20());
|
|
203
147
|
}
|
|
204
148
|
}, {
|
|
205
149
|
kind: "get",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masthead-cart.js","names":["StableSelectorMixin","html","LitElement","property","state","settings","carbonElement","customElement","ShoppingCart20","styles","LocaleAPI","SAPCommerceAPI","prefix","stablePrefix","c4dPrefix","C4DMastheadCart","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","key","value","lc","cc","connectedCallback","_superPropGet","
|
|
1
|
+
{"version":3,"file":"masthead-cart.js","names":["StableSelectorMixin","html","LitElement","property","state","settings","carbonElement","customElement","ShoppingCart20","styles","LocaleAPI","SAPCommerceAPI","prefix","stablePrefix","c4dPrefix","C4DMastheadCart","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","attribute","key","value","lc","cc","connectedCallback","_superPropGet","hasActiveCart","getLocale","then","locale","updated","changedProperties","has","hidden","render","linkLabel","href","console","log","_t","_","static"],"sources":["components/masthead/masthead-cart.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2024, 2026\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 StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport ShoppingCart20 from '@carbon/web-components/es/icons/shopping--cart/20.js';\nimport styles from './masthead.scss';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';\nimport SAPCommerceAPI from '@carbon/ibmdotcom-services/es/services/SAPCommerce/SAPCommerce.js';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * The Cart icon in the masthead.\n *\n * @element c4d-masthead-cart\n * @csspart cart-link - The masthead cart link. Usage: `c4d-masthead-cart::part(cart-link)`\n */\n@customElement(`${c4dPrefix}-masthead-cart`)\nclass C4DMastheadCart extends StableSelectorMixin(LitElement) {\n /**\n * The `aria-label` attribute for the link.\n */\n @property({ attribute: 'link-label' })\n linkLabel = 'Cart';\n\n /**\n * Tracks whether the user has an active cart to control the display.\n */\n @state()\n hasActiveCart = false;\n\n /**\n * Store the locale. Defaults to en-us.\n */\n @state()\n locale = { lc: 'en', cc: 'us' };\n\n connectedCallback() {\n super.connectedCallback();\n // Check the relevant cookie for whether the user has an active cart.\n this.hasActiveCart = SAPCommerceAPI.hasActiveCart();\n\n // Fetch the locale for the page.\n LocaleAPI.getLocale().then((locale) => {\n this.locale = locale;\n });\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const { hasActiveCart } = this;\n if (changedProperties.has('hasActiveCart')) {\n this.hidden = !hasActiveCart;\n }\n }\n\n render() {\n const {\n linkLabel,\n locale: { cc, lc },\n } = this;\n\n let href;\n\n if (cc === 'uk') {\n href = '/store/en/gb/checkout';\n } else if (cc === 'ae') {\n href = '/store/en/ae/checkout';\n } else if (cc === 'sa') {\n href = '/store/en/sa/checkout';\n } else {\n href = `/store/${lc}/${cc}/checkout`;\n }\n\n console.log(href);\n\n return html`\n <a\n part=\"cart-link\"\n href=\"${href}\"\n class=\"${prefix}--header__menu-item ${prefix}--header__menu-title\"\n aria-label=\"${linkLabel}\"\n >${ShoppingCart20()}</a\n >\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--masthead-cart`;\n }\n\n static styles = styles;\n}\n\nexport default C4DMastheadCart;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ export interface ComponentProps {
|
|
|
21
21
|
* @element c4d-lightbox-media-viewer
|
|
22
22
|
* @slot title - The title content.
|
|
23
23
|
* @slot description - The description content.
|
|
24
|
+
* @slot cta - The CTA content.
|
|
24
25
|
* @csspart container - The wrapper around the lightbox media. Usage: `c4d-lightbox-video-player::part(container)`
|
|
25
26
|
* @csspart row - The wrapper around the row. Usage: `c4d-lightbox-video-player::part(row)`
|
|
26
27
|
* @csspart media - The wrapper around media. Usage: `c4d-lightbox-video-player::part(media)`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/ibmdotcom-web-components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.49.0",
|
|
4
4
|
"description": "Carbon for IBM.com Web Components",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"exports": {
|
|
@@ -244,5 +244,5 @@
|
|
|
244
244
|
"web-component-analyzer": "1.2.0-next.0",
|
|
245
245
|
"webpack": "^4.46.0"
|
|
246
246
|
},
|
|
247
|
-
"gitHead": "
|
|
247
|
+
"gitHead": "dc4b43dc70d648df2cd7fb4a2e8b7b2d3af251b2"
|
|
248
248
|
}
|