@carbon/ibm-products-web-components 0.31.0 → 0.32.0-rc.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 +414 -5
- package/es/components/about-modal/about-modal.scss.js +1 -1
- package/es/components/big-number/big-number-skeleton.d.ts +22 -0
- package/es/components/big-number/big-number-skeleton.js +56 -0
- package/es/components/big-number/big-number-skeleton.js.map +1 -0
- package/es/components/big-number/big-number-skeleton.scss.js +13 -0
- package/es/components/big-number/big-number-skeleton.scss.js.map +1 -0
- package/es/components/big-number/big-number.d.ts +37 -0
- package/es/components/big-number/big-number.js +184 -0
- package/es/components/big-number/big-number.js.map +1 -0
- package/es/components/big-number/big-number.scss.js +13 -0
- package/es/components/big-number/big-number.scss.js.map +1 -0
- package/es/{utilities/carousel/index.d.ts → components/big-number/big-number.test.d.ts} +1 -2
- package/es/components/big-number/big-number.test.js +113 -0
- package/es/components/big-number/big-number.test.js.map +1 -0
- package/es/components/big-number/constants.d.ts +19 -0
- package/es/components/big-number/constants.js +30 -0
- package/es/components/big-number/constants.js.map +1 -0
- package/es/components/big-number/index.d.ts +10 -0
- package/es/{node_modules/@carbon/utilities/es/dateTimeFormat → components/big-number}/index.js +2 -5
- package/es/components/big-number/index.js.map +1 -0
- package/es/components/checklist/checklist.scss.js +1 -1
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +422 -0
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js +135 -0
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +13 -0
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
- package/es/{utilities/carousel/types.js → components/coachmark/coachmark-tagline/coachmark-tagline.test.d.ts} +4 -3
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.test.js +126 -0
- package/es/components/coachmark/coachmark-tagline/coachmark-tagline.test.js.map +1 -0
- package/es/components/coachmark/coachmark-tagline/index.d.ts +9 -0
- package/{es-custom/utilities/carousel → es/components/coachmark/coachmark-tagline}/index.js +1 -1
- package/es/components/coachmark/coachmark-tagline/index.js.map +1 -0
- package/es/components/guide-banner/guide-banner-element.d.ts +7 -0
- package/es/components/guide-banner/guide-banner-element.js +14 -0
- package/es/components/guide-banner/guide-banner-element.js.map +1 -1
- package/es/components/guide-banner/guide-banner-element.scss.js +13 -0
- package/es/components/guide-banner/guide-banner-element.scss.js.map +1 -0
- package/es/components/guide-banner/guide-banner-element.test.d.ts +7 -0
- package/es/components/guide-banner/guide-banner-element.test.js +58 -0
- package/es/components/guide-banner/guide-banner-element.test.js.map +1 -0
- package/es/components/guide-banner/guide-banner.d.ts +4 -4
- package/es/components/guide-banner/guide-banner.js +4 -4
- package/es/components/guide-banner/guide-banner.js.map +1 -1
- package/es/components/guide-banner/guide-banner.scss.js +1 -1
- package/es/components/guide-banner/guide-banner.test.d.ts +6 -0
- package/es/components/guide-banner/guide-banner.test.js +3 -3
- package/es/components/guide-banner/guide-banner.test.js.map +1 -1
- package/es/components/interstitial-screen/interstitial-screen-body-item.scss.js +1 -1
- package/es/components/interstitial-screen/interstitial-screen-body.d.ts +1 -0
- package/es/components/interstitial-screen/interstitial-screen-body.js +16 -4
- package/es/components/interstitial-screen/interstitial-screen-body.js.map +1 -1
- package/es/components/interstitial-screen/interstitial-screen-body.scss.js +1 -1
- package/es/components/interstitial-screen/interstitial-screen-context.d.ts +1 -0
- package/es/components/interstitial-screen/interstitial-screen-context.js +5 -0
- package/es/components/interstitial-screen/interstitial-screen-context.js.map +1 -1
- package/es/components/interstitial-screen/interstitial-screen.js +15 -0
- package/es/components/interstitial-screen/interstitial-screen.js.map +1 -1
- package/es/components/interstitial-screen/interstitial-screen.test.js +11 -0
- package/es/components/interstitial-screen/interstitial-screen.test.js.map +1 -1
- package/es/components/interstitial-screen/interstitial.figma.js +288 -0
- package/es/components/interstitial-screen/interstitial.figma.js.map +1 -0
- package/es/components/notification-panel/notification.js +2 -3
- package/es/components/notification-panel/notification.js.map +1 -1
- package/es/components/notification-panel/notification.test.js +2 -3
- package/es/components/notification-panel/notification.test.js.map +1 -1
- package/es/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +1 -1
- package/es/components/page-header/_story-assets/set-of-tags/set-of-tags.js +2 -3
- package/es/components/page-header/_story-assets/set-of-tags/set-of-tags.js.map +1 -1
- package/es/components/page-header/_story-assets/set-of-tags/set-of-tags.scss.js +1 -1
- package/es/components/page-header/utils.js +17 -5
- package/es/components/page-header/utils.js.map +1 -1
- package/es/components/side-panel/side-panel.figma.js +229 -0
- package/es/components/side-panel/side-panel.figma.js.map +1 -0
- package/es/components/tearsheet/tearsheet.d.ts +33 -14
- package/es/components/tearsheet/tearsheet.js +65 -98
- package/es/components/tearsheet/tearsheet.js.map +1 -1
- package/es/components/tearsheet/tearsheet.scss.js +1 -1
- package/es/index.d.ts +4 -1
- package/es/index.js +3 -0
- package/es/index.js.map +1 -1
- package/es/packages/ibm-products-web-components/package.json.js +1 -1
- package/es/utilities/snapscroll/index.d.ts +7 -0
- package/es/utilities/snapscroll/index.js +9 -0
- package/es/utilities/snapscroll/index.js.map +1 -0
- package/es/utilities/snapscroll/snapscroll.d.ts +29 -0
- package/es/utilities/snapscroll/snapscroll.js +134 -0
- package/es/utilities/snapscroll/snapscroll.js.map +1 -0
- package/es/utilities/snapscroll/snapscroll.test.d.ts +1 -0
- package/es/utilities/snapscroll/snapscroll.test.js +41 -0
- package/es/utilities/snapscroll/snapscroll.test.js.map +1 -0
- package/es-custom/components/about-modal/about-modal.scss.js +1 -1
- package/es-custom/components/big-number/big-number-skeleton.d.ts +22 -0
- package/es-custom/components/big-number/big-number-skeleton.js +56 -0
- package/es-custom/components/big-number/big-number-skeleton.js.map +1 -0
- package/es-custom/components/big-number/big-number-skeleton.scss.js +13 -0
- package/es-custom/components/big-number/big-number-skeleton.scss.js.map +1 -0
- package/es-custom/components/big-number/big-number.d.ts +37 -0
- package/es-custom/components/big-number/big-number.js +184 -0
- package/es-custom/components/big-number/big-number.js.map +1 -0
- package/es-custom/components/big-number/big-number.scss.js +13 -0
- package/es-custom/components/big-number/big-number.scss.js.map +1 -0
- package/{lib/utilities/carousel/index.d.ts → es-custom/components/big-number/big-number.test.d.ts} +1 -2
- package/es-custom/components/big-number/big-number.test.js +113 -0
- package/es-custom/components/big-number/big-number.test.js.map +1 -0
- package/es-custom/components/big-number/constants.d.ts +19 -0
- package/es-custom/components/big-number/constants.js +30 -0
- package/es-custom/components/big-number/constants.js.map +1 -0
- package/es-custom/components/big-number/index.d.ts +10 -0
- package/es-custom/{node_modules/@carbon/utilities/es/dateTimeFormat → components/big-number}/index.js +2 -5
- package/es-custom/components/big-number/index.js.map +1 -0
- package/es-custom/components/checklist/checklist.scss.js +1 -1
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +422 -0
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js +135 -0
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +13 -0
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
- package/es-custom/{utilities/carousel/types.js → components/coachmark/coachmark-tagline/coachmark-tagline.test.d.ts} +4 -3
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.test.js +126 -0
- package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.test.js.map +1 -0
- package/es-custom/components/coachmark/coachmark-tagline/index.d.ts +9 -0
- package/{es/utilities/carousel → es-custom/components/coachmark/coachmark-tagline}/index.js +1 -1
- package/es-custom/components/guide-banner/guide-banner-element.d.ts +7 -0
- package/es-custom/components/guide-banner/guide-banner-element.js +14 -0
- package/es-custom/components/guide-banner/guide-banner-element.js.map +1 -1
- package/es-custom/components/guide-banner/guide-banner-element.scss.js +13 -0
- package/es-custom/components/guide-banner/guide-banner-element.scss.js.map +1 -0
- package/es-custom/{utilities/carousel/index.d.ts → components/guide-banner/guide-banner-element.test.d.ts} +1 -2
- package/es-custom/components/guide-banner/guide-banner-element.test.js +58 -0
- package/es-custom/components/guide-banner/guide-banner-element.test.js.map +1 -0
- package/es-custom/components/guide-banner/guide-banner.d.ts +4 -4
- package/es-custom/components/guide-banner/guide-banner.js +4 -4
- package/es-custom/components/guide-banner/guide-banner.js.map +1 -1
- package/es-custom/components/guide-banner/guide-banner.scss.js +1 -1
- package/es-custom/components/guide-banner/guide-banner.test.d.ts +6 -0
- package/es-custom/components/guide-banner/guide-banner.test.js +3 -3
- package/es-custom/components/guide-banner/guide-banner.test.js.map +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen-body-item.scss.js +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen-body.d.ts +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-body.js +16 -4
- package/es-custom/components/interstitial-screen/interstitial-screen-body.js.map +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen-body.scss.js +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen-context.d.ts +1 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-context.js +5 -0
- package/es-custom/components/interstitial-screen/interstitial-screen-context.js.map +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen.js +15 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.js.map +1 -1
- package/es-custom/components/interstitial-screen/interstitial-screen.test.js +11 -0
- package/es-custom/components/interstitial-screen/interstitial-screen.test.js.map +1 -1
- package/es-custom/components/interstitial-screen/interstitial.figma.js +288 -0
- package/es-custom/components/interstitial-screen/interstitial.figma.js.map +1 -0
- package/es-custom/components/notification-panel/notification.js +2 -3
- package/es-custom/components/notification-panel/notification.js.map +1 -1
- package/es-custom/components/notification-panel/notification.test.js +2 -3
- package/es-custom/components/notification-panel/notification.test.js.map +1 -1
- package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +1 -1
- package/es-custom/components/page-header/_story-assets/set-of-tags/set-of-tags.js +2 -3
- package/es-custom/components/page-header/_story-assets/set-of-tags/set-of-tags.js.map +1 -1
- package/es-custom/components/page-header/_story-assets/set-of-tags/set-of-tags.scss.js +1 -1
- package/es-custom/components/page-header/utils.js +17 -5
- package/es-custom/components/page-header/utils.js.map +1 -1
- package/es-custom/components/side-panel/side-panel.figma.js +229 -0
- package/es-custom/components/side-panel/side-panel.figma.js.map +1 -0
- package/es-custom/components/tearsheet/tearsheet.d.ts +33 -14
- package/es-custom/components/tearsheet/tearsheet.js +65 -98
- package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
- package/es-custom/components/tearsheet/tearsheet.scss.js +1 -1
- package/es-custom/index.d.ts +4 -1
- package/es-custom/index.js +3 -0
- package/es-custom/index.js.map +1 -1
- package/es-custom/packages/ibm-products-web-components/package.json.js +1 -1
- package/{es/utilities/carousel/swipeEvents.d.ts → es-custom/utilities/snapscroll/index.d.ts} +1 -1
- package/es-custom/utilities/snapscroll/index.js +9 -0
- package/es-custom/utilities/snapscroll/snapscroll.d.ts +29 -0
- package/es-custom/utilities/snapscroll/snapscroll.js +134 -0
- package/es-custom/utilities/snapscroll/snapscroll.js.map +1 -0
- package/es-custom/utilities/snapscroll/snapscroll.test.d.ts +1 -0
- package/es-custom/utilities/snapscroll/snapscroll.test.js +41 -0
- package/es-custom/utilities/snapscroll/snapscroll.test.js.map +1 -0
- package/lib/components/big-number/big-number-skeleton.d.ts +22 -0
- package/lib/components/big-number/big-number.d.ts +37 -0
- package/lib/components/big-number/big-number.test.d.ts +7 -0
- package/lib/components/big-number/constants.d.ts +19 -0
- package/lib/components/big-number/index.d.ts +10 -0
- package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +422 -0
- package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.test.d.ts +9 -0
- package/lib/components/coachmark/coachmark-tagline/index.d.ts +9 -0
- package/lib/components/guide-banner/guide-banner-element.d.ts +7 -0
- package/lib/components/guide-banner/guide-banner-element.test.d.ts +7 -0
- package/lib/components/guide-banner/guide-banner.d.ts +4 -4
- package/lib/components/guide-banner/guide-banner.test.d.ts +6 -0
- package/lib/components/interstitial-screen/interstitial-screen-body.d.ts +1 -0
- package/lib/components/interstitial-screen/interstitial-screen-context.d.ts +1 -0
- package/lib/components/tearsheet/tearsheet.d.ts +33 -14
- package/lib/index.d.ts +4 -1
- package/lib/utilities/snapscroll/index.d.ts +7 -0
- package/lib/utilities/snapscroll/snapscroll.d.ts +29 -0
- package/lib/utilities/snapscroll/snapscroll.test.d.ts +1 -0
- package/package.json +6 -3
- package/scss/components/big-number/big-number-skeleton.scss +59 -0
- package/scss/components/big-number/big-number.scss +27 -0
- package/scss/components/coachmark/coachmark-tagline/coachmark-tagline.scss +22 -0
- package/scss/components/guide-banner/guide-banner-element.scss +31 -0
- package/scss/components/guide-banner/guide-banner.scss +2 -0
- package/scss/components/interstitial-screen/interstitial-screen-body-item.scss +1 -1
- package/scss/components/interstitial-screen/interstitial-screen-body.scss +1 -1
- package/scss/components/page-header/_story-assets/_storybook-styles.scss +6 -4
- package/telemetry.yml +12 -3
- package/es/node_modules/@carbon/utilities/es/dateTimeFormat/index.js.map +0 -1
- package/es/node_modules/@carbon/utilities/es/dateTimeFormat/relative.js +0 -11
- package/es/node_modules/@carbon/utilities/es/dateTimeFormat/relative.js.map +0 -1
- package/es/node_modules/@carbon/utilities/es/documentLang/documentLang.js +0 -9
- package/es/node_modules/@carbon/utilities/es/documentLang/documentLang.js.map +0 -1
- package/es/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js +0 -11
- package/es/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js.map +0 -1
- package/es/utilities/carousel/carousel.d.ts +0 -14
- package/es/utilities/carousel/carousel.js +0 -341
- package/es/utilities/carousel/carousel.js.map +0 -1
- package/es/utilities/carousel/swipeEvents.js +0 -109
- package/es/utilities/carousel/swipeEvents.js.map +0 -1
- package/es/utilities/carousel/types.d.ts +0 -37
- package/es/utilities/carousel/types.js.map +0 -1
- package/es-custom/node_modules/@carbon/utilities/es/dateTimeFormat/index.js.map +0 -1
- package/es-custom/node_modules/@carbon/utilities/es/dateTimeFormat/relative.js +0 -11
- package/es-custom/node_modules/@carbon/utilities/es/dateTimeFormat/relative.js.map +0 -1
- package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js +0 -9
- package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js.map +0 -1
- package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js +0 -11
- package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js.map +0 -1
- package/es-custom/utilities/carousel/carousel.d.ts +0 -14
- package/es-custom/utilities/carousel/carousel.js +0 -341
- package/es-custom/utilities/carousel/carousel.js.map +0 -1
- package/es-custom/utilities/carousel/swipeEvents.d.ts +0 -7
- package/es-custom/utilities/carousel/swipeEvents.js +0 -109
- package/es-custom/utilities/carousel/swipeEvents.js.map +0 -1
- package/es-custom/utilities/carousel/types.d.ts +0 -37
- package/es-custom/utilities/carousel/types.js.map +0 -1
- package/lib/utilities/carousel/carousel.d.ts +0 -14
- package/lib/utilities/carousel/swipeEvents.d.ts +0 -7
- package/lib/utilities/carousel/types.d.ts +0 -37
- /package/es-custom/{utilities/carousel → components/coachmark/coachmark-tagline}/index.js.map +0 -0
- /package/{es/utilities/carousel → es-custom/utilities/snapscroll}/index.js.map +0 -0
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { registerSwipeEvents } from './swipeEvents.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Copyright IBM Corp. 2025
|
|
12
|
-
*
|
|
13
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
14
|
-
* LICENSE file in the root directory of this source tree.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Initializes a carousel with the given configuration.
|
|
18
|
-
* @param carouselContainer - The HTMLElement representing the carousel container.
|
|
19
|
-
* @param config - Optional configuration object.
|
|
20
|
-
* @returns An object containing methods to control the carousel.
|
|
21
|
-
*/
|
|
22
|
-
const initCarousel = (carouselContainer, config) => {
|
|
23
|
-
const prefix = 'carousel';
|
|
24
|
-
let viewIndexStack = [0];
|
|
25
|
-
let previousViewIndexStack = [0];
|
|
26
|
-
const refs = {};
|
|
27
|
-
const minHeight = 10; // 10 rem
|
|
28
|
-
const { onViewChangeStart, onViewChangeEnd, excludeSwipeSupport } = config || {};
|
|
29
|
-
/**
|
|
30
|
-
* Registers an HTMLElement at a specific index in the refs array.
|
|
31
|
-
*
|
|
32
|
-
* @param {number} index - The index at which to register the HTMLElement.
|
|
33
|
-
* @param {HTMLElement} ref - The HTMLElement to register.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* registerRef(0, document.getElementById('myElement'));
|
|
37
|
-
*/
|
|
38
|
-
const registerRef = (index, ref) => {
|
|
39
|
-
refs[index] = ref;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Wraps all child elements of a given container into a new div with the specified class.
|
|
43
|
-
* If an element with the specified class already exists as a child of the container, the function does nothing.
|
|
44
|
-
*
|
|
45
|
-
* @param {HTMLElement} container - The container element to wrap child elements of.
|
|
46
|
-
* @param {string} wrapperClass - The class name to apply to the new wrapper div.
|
|
47
|
-
* @returns {void}
|
|
48
|
-
*/
|
|
49
|
-
const wrapAllItems = (container, wrapperClass) => {
|
|
50
|
-
if (container.querySelector(`.${wrapperClass}`)) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const wrapper = document.createElement('div');
|
|
54
|
-
wrapper.classList.add(`${wrapperClass}`);
|
|
55
|
-
while (container.firstChild) {
|
|
56
|
-
wrapper.appendChild(container.firstChild);
|
|
57
|
-
}
|
|
58
|
-
container.appendChild(wrapper);
|
|
59
|
-
};
|
|
60
|
-
const getHistory = () => {
|
|
61
|
-
return viewIndexStack.map((id) => ({
|
|
62
|
-
id,
|
|
63
|
-
elem: refs[id],
|
|
64
|
-
}));
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Retrieves the current carousel response based on the view index stack and reference objects.
|
|
68
|
-
* @returns {CarouselResponse} - An object containing carousel response details.
|
|
69
|
-
*/
|
|
70
|
-
const getCallbackResponse = () => {
|
|
71
|
-
const totalRefs = Object.keys(refs).length;
|
|
72
|
-
const lastElementRef = refs[totalRefs - 1];
|
|
73
|
-
const historicalData = getHistory();
|
|
74
|
-
return {
|
|
75
|
-
currentIndex: viewIndexStack[0],
|
|
76
|
-
lastIndex: parseInt((lastElementRef === null || lastElementRef === void 0 ? void 0 : lastElementRef.dataset.index) || viewIndexStack[0].toString(), 10),
|
|
77
|
-
totalViews: totalRefs,
|
|
78
|
-
historyStack: historicalData,
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Handles the start of a transition in the application.
|
|
83
|
-
* This function is responsible for capturing the current state of the view index stack
|
|
84
|
-
* and invoking a callback function if it exists.
|
|
85
|
-
*
|
|
86
|
-
* @function handleTransitionStart
|
|
87
|
-
* @returns {void}
|
|
88
|
-
*/
|
|
89
|
-
const handleTransitionStart = () => {
|
|
90
|
-
previousViewIndexStack = [...viewIndexStack];
|
|
91
|
-
const callbackData = getCallbackResponse();
|
|
92
|
-
onViewChangeStart === null || onViewChangeStart === void 0 ? void 0 : onViewChangeStart(callbackData);
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Handles the 'transitionend' event for a given element.
|
|
96
|
-
* This function checks if the element has a 'data-index' attribute and if its value matches the current view index.
|
|
97
|
-
* If both conditions are met, it calls the 'onViewChangeEnd' callback with the response from 'getCallbackResponse'.
|
|
98
|
-
*
|
|
99
|
-
* @param {HTMLElement | null} el - The element to handle the 'transitionend' event for.
|
|
100
|
-
* @returns {void}
|
|
101
|
-
*/
|
|
102
|
-
const handleTransitionEnd = (el) => {
|
|
103
|
-
if (!el) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
const tmpElementIndex = el.dataset.index;
|
|
107
|
-
if (tmpElementIndex &&
|
|
108
|
-
viewIndexStack[0] === parseInt(tmpElementIndex, 10)) {
|
|
109
|
-
const callbackData = getCallbackResponse();
|
|
110
|
-
onViewChangeEnd === null || onViewChangeEnd === void 0 ? void 0 : onViewChangeEnd(callbackData);
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* A utility function to sanitize an index value.
|
|
115
|
-
* This function ensures the index stays within the bounds of the refs array.
|
|
116
|
-
*
|
|
117
|
-
* @param {number} idx - The index to be sanitized.
|
|
118
|
-
* @returns {number} - The sanitized index.
|
|
119
|
-
*/
|
|
120
|
-
const sanitizeIndex = (idx) => {
|
|
121
|
-
const floorVal = 0;
|
|
122
|
-
const ceilVal = Object.keys(refs).length - 1;
|
|
123
|
-
return Math.max(floorVal, Math.min(idx, ceilVal));
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* Handles the 'transitionend' event for a given element.
|
|
127
|
-
* This function checks if the element has a 'data-index' attribute and if its value matches the current view index.
|
|
128
|
-
* If both conditions are met, it calls the 'onViewChangeEnd' callback with the response from 'getCallbackResponse'.
|
|
129
|
-
* @returns {void}
|
|
130
|
-
*/
|
|
131
|
-
const transitionToViewIndex = (idx) => {
|
|
132
|
-
const sanitizedIndex = sanitizeIndex(idx);
|
|
133
|
-
if (viewIndexStack[0] !== sanitizedIndex) {
|
|
134
|
-
handleTransitionStart();
|
|
135
|
-
viewIndexStack = [sanitizedIndex, ...viewIndexStack];
|
|
136
|
-
performAnimation(false);
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
const transitionComplete = (ref) => {
|
|
140
|
-
handleTransitionEnd(ref);
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Attaches class names to an HTMLElement based on given conditions.
|
|
144
|
-
*
|
|
145
|
-
* @param {HTMLElement} viewItem - The HTML element to which class names will be added.
|
|
146
|
-
* @param {boolean} isInViewStack - Indicates if the view item is in the view stack.
|
|
147
|
-
* @param {boolean} isActive - Indicates if the view item is active.
|
|
148
|
-
* @param {boolean} isBeingRecycledOut - Indicates if the view item is being recycled out.
|
|
149
|
-
* @param {boolean} isBeingRecycledIn - Indicates if the view item is being recycled in.
|
|
150
|
-
* @returns {void}
|
|
151
|
-
*/
|
|
152
|
-
const attachClassNames = (viewItem, isInViewStack, isActive, isBeingRecycledOut, isBeingRecycledIn) => {
|
|
153
|
-
viewItem.classList.add(`${prefix}__view`);
|
|
154
|
-
viewItem.classList.toggle(`${prefix}__view-in-stack`, isInViewStack && !isActive);
|
|
155
|
-
viewItem.classList.toggle(`${prefix}__view-active`, isInViewStack && isActive);
|
|
156
|
-
if (isBeingRecycledIn && !isBeingRecycledOut) {
|
|
157
|
-
viewItem.classList.add(`${prefix}__view-recycle-in`);
|
|
158
|
-
}
|
|
159
|
-
if (!isBeingRecycledIn && isBeingRecycledOut) {
|
|
160
|
-
viewItem.classList.add(`${prefix}__view-recycle-out`);
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
const removeReCycleClasses = (viewItem) => {
|
|
164
|
-
viewItem.classList.remove(`${prefix}__view-recycle-in`, `${prefix}__view-recycle-out`);
|
|
165
|
-
};
|
|
166
|
-
const remToPx = (rem) => {
|
|
167
|
-
return (rem * parseFloat(getComputedStyle(document.documentElement).fontSize));
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Updates the height of the items wrapper in a carousel based on the smallest item height and a threshold height.
|
|
171
|
-
* This function ensures that the items wrapper does not have a height smaller than the threshold, adjusting the item height if necessary.
|
|
172
|
-
*
|
|
173
|
-
* @param {number} itemHeightSmallest - The smallest height of an item in pixels.
|
|
174
|
-
*/
|
|
175
|
-
const updateHeightForWrapper = (itemHeightSmallest) => {
|
|
176
|
-
const thresholdHeight = remToPx(minHeight);
|
|
177
|
-
const containerHeight = carouselContainer.clientHeight;
|
|
178
|
-
if (containerHeight < thresholdHeight) {
|
|
179
|
-
if (itemHeightSmallest < thresholdHeight) {
|
|
180
|
-
itemHeightSmallest = thresholdHeight;
|
|
181
|
-
}
|
|
182
|
-
const itemsWrapper = carouselContainer.querySelector(`.${prefix}__itemsWrapper`);
|
|
183
|
-
if (itemsWrapper) {
|
|
184
|
-
itemsWrapper.style.blockSize = `${itemHeightSmallest}px`;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
/**
|
|
189
|
-
* Performs animation on view items based on their state in the view index stack.
|
|
190
|
-
* @param {boolean} isInitial - A flag indicating if this is the initial animation.
|
|
191
|
-
*/
|
|
192
|
-
const performAnimation = (isInitial) => {
|
|
193
|
-
let itemHeightSmallest = 0;
|
|
194
|
-
Array.from(viewItems).forEach((viewItem, index) => {
|
|
195
|
-
const stackIndex = viewIndexStack.findIndex((idx) => idx === index);
|
|
196
|
-
const stackIndexInstanceCount = previousViewIndexStack.filter((viIdx) => viIdx === index).length;
|
|
197
|
-
const isBeingRecycledOut = previousViewIndexStack.length > viewIndexStack.length &&
|
|
198
|
-
previousViewIndexStack[0] === index &&
|
|
199
|
-
stackIndexInstanceCount > 0;
|
|
200
|
-
const isBeingRecycledIn = previousViewIndexStack.length < viewIndexStack.length &&
|
|
201
|
-
viewIndexStack[0] === index &&
|
|
202
|
-
stackIndexInstanceCount > 0;
|
|
203
|
-
const isInViewStack = stackIndex > -1;
|
|
204
|
-
const isActive = index === viewIndexStack[0];
|
|
205
|
-
attachClassNames(viewItem, isInViewStack, isActive, isBeingRecycledOut, isBeingRecycledIn);
|
|
206
|
-
if (isInitial) {
|
|
207
|
-
registerRef(index, viewItem);
|
|
208
|
-
setTimeout(() => {
|
|
209
|
-
if (!itemHeightSmallest ||
|
|
210
|
-
(viewItem.offsetHeight < itemHeightSmallest &&
|
|
211
|
-
itemHeightSmallest > remToPx(minHeight))) {
|
|
212
|
-
itemHeightSmallest = viewItem.offsetHeight;
|
|
213
|
-
}
|
|
214
|
-
viewItem.style.position = 'absolute';
|
|
215
|
-
updateHeightForWrapper(itemHeightSmallest);
|
|
216
|
-
});
|
|
217
|
-
const listener = (e) => {
|
|
218
|
-
removeReCycleClasses(viewItem);
|
|
219
|
-
if (e.target === refs[viewIndexStack[0]]) {
|
|
220
|
-
//transitionend will trigger twice for pervious card and current card
|
|
221
|
-
transitionComplete(viewItem);
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
// store reference on the element for later removal
|
|
225
|
-
viewItem._carouselListener = listener;
|
|
226
|
-
viewItem.addEventListener('animationend', listener);
|
|
227
|
-
viewItem.addEventListener('transitionend', listener);
|
|
228
|
-
viewItem.setAttribute('data-index', index.toString());
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
if (isInitial) {
|
|
232
|
-
handleTransitionEnd(Array.from(viewItems)[0]);
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* A utility function to navigate to the next view in the stack.
|
|
237
|
-
* This function increments the current view index and transitions to the new index.
|
|
238
|
-
*
|
|
239
|
-
* @returns {void} - This function does not return any value.
|
|
240
|
-
*/
|
|
241
|
-
const navigateNext = () => {
|
|
242
|
-
const targetViewIndex = viewIndexStack[0] + 1;
|
|
243
|
-
transitionToViewIndex(targetViewIndex);
|
|
244
|
-
};
|
|
245
|
-
/**
|
|
246
|
-
* Navigates to the previous view in the view stack.
|
|
247
|
-
* @function navigatePrev
|
|
248
|
-
* @description This function checks if there is a previous view in the stack. If so, it triggers a transition start, removes the current view from the stack, and performs an animation to transition to the previous view.
|
|
249
|
-
* @returns {void} - This function does not return a value.
|
|
250
|
-
*/
|
|
251
|
-
const navigatePrev = () => {
|
|
252
|
-
if (viewIndexStack.length - 1 >= 1) {
|
|
253
|
-
handleTransitionStart();
|
|
254
|
-
viewIndexStack = viewIndexStack.slice(1);
|
|
255
|
-
performAnimation(false);
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
/**
|
|
259
|
-
* A function that transitions the view to a specified index.
|
|
260
|
-
*
|
|
261
|
-
* @param {number} index - The index to transition to.
|
|
262
|
-
* @returns {void} - This function does not return a value.
|
|
263
|
-
*/
|
|
264
|
-
const goToIndex = (index) => {
|
|
265
|
-
transitionToViewIndex(index);
|
|
266
|
-
};
|
|
267
|
-
/**
|
|
268
|
-
* Retrieves the currently active item and its index from the view index stack and references.
|
|
269
|
-
* @returns An object containing the index and the corresponding item reference.
|
|
270
|
-
*/
|
|
271
|
-
const getActiveItem = () => {
|
|
272
|
-
return {
|
|
273
|
-
index: viewIndexStack[0],
|
|
274
|
-
item: refs[viewIndexStack[0]],
|
|
275
|
-
};
|
|
276
|
-
};
|
|
277
|
-
/**
|
|
278
|
-
* Resets the view index stack and performs an animation.
|
|
279
|
-
*
|
|
280
|
-
* @returns {void}
|
|
281
|
-
*/
|
|
282
|
-
const reset = () => {
|
|
283
|
-
viewIndexStack = [0];
|
|
284
|
-
performAnimation(false);
|
|
285
|
-
};
|
|
286
|
-
/**
|
|
287
|
-
* Removes event listeners for 'animationend' and 'transitionend' events from all elements with references stored in the `refs` object.
|
|
288
|
-
* Also registers swipe events if `excludeSwipeSupport` is false.
|
|
289
|
-
*/
|
|
290
|
-
const destroyEvents = () => {
|
|
291
|
-
Object.values(refs).forEach((el) => {
|
|
292
|
-
if (el && el._carouselListener) {
|
|
293
|
-
el.removeEventListener('animationend', el._carouselListener);
|
|
294
|
-
el.removeEventListener('transitionend', el._carouselListener);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
if (!excludeSwipeSupport) {
|
|
298
|
-
registerSwipeEvents(carouselContainer, navigateNext, navigatePrev, true);
|
|
299
|
-
}
|
|
300
|
-
};
|
|
301
|
-
/**
|
|
302
|
-
* Retrieves carousel items from a given container element.
|
|
303
|
-
* If the container has a 'slot' element, it fetches all elements assigned to that slot.
|
|
304
|
-
* Otherwise, it fetches all direct children of the container.
|
|
305
|
-
*
|
|
306
|
-
* @param {HTMLElement} container - The container element from which to extract carousel items.
|
|
307
|
-
* @returns {HTMLElement[]} An array of HTMLElements representing the carousel items.
|
|
308
|
-
*
|
|
309
|
-
* @example
|
|
310
|
-
* const carouselContainer = document.querySelector('.carousel-container');
|
|
311
|
-
* const carouselItems = getCarouselItems(carouselContainer);
|
|
312
|
-
* console.log(carouselItems); // Logs the carousel items as HTMLElements
|
|
313
|
-
*/
|
|
314
|
-
const getCarouselItems = (container) => {
|
|
315
|
-
const slot = container.querySelector('slot');
|
|
316
|
-
return slot
|
|
317
|
-
? slot.assignedElements({ flatten: true })
|
|
318
|
-
: Array.from(container.children);
|
|
319
|
-
};
|
|
320
|
-
// initialize
|
|
321
|
-
wrapAllItems(carouselContainer, `${prefix}__itemsWrapper`);
|
|
322
|
-
const wrapper = carouselContainer.querySelector(`.${prefix}__itemsWrapper`);
|
|
323
|
-
const viewItems = getCarouselItems(wrapper);
|
|
324
|
-
carouselContainer.classList.add(`${prefix}__view-stack`);
|
|
325
|
-
performAnimation(true);
|
|
326
|
-
if (!excludeSwipeSupport) {
|
|
327
|
-
registerSwipeEvents(carouselContainer, navigateNext, navigatePrev, false);
|
|
328
|
-
}
|
|
329
|
-
return {
|
|
330
|
-
next: navigateNext,
|
|
331
|
-
prev: navigatePrev,
|
|
332
|
-
reset,
|
|
333
|
-
goToIndex,
|
|
334
|
-
getActiveItem,
|
|
335
|
-
destroyEvents,
|
|
336
|
-
allViews: refs,
|
|
337
|
-
};
|
|
338
|
-
};
|
|
339
|
-
|
|
340
|
-
export { initCarousel };
|
|
341
|
-
//# sourceMappingURL=carousel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sources":["../../../src/utilities/carousel/carousel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Copyright IBM Corp. 2025
|
|
10
|
-
*
|
|
11
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
|
-
* LICENSE file in the root directory of this source tree.
|
|
13
|
-
*/
|
|
14
|
-
const registerSwipeEvents = (carousel, next, prev, destroy) => {
|
|
15
|
-
const minSwipeDistance = 50;
|
|
16
|
-
// Touch support
|
|
17
|
-
let touchStartX = null;
|
|
18
|
-
let touchEndX = null;
|
|
19
|
-
let lastScrollTime = 0;
|
|
20
|
-
const scrollCoolDown = 400;
|
|
21
|
-
let isMouseDown = false;
|
|
22
|
-
let mouseStartX = null;
|
|
23
|
-
let mouseEndX = null;
|
|
24
|
-
//handlers
|
|
25
|
-
const touchStartHandler = (e) => {
|
|
26
|
-
touchStartX = e.touches[0].clientX;
|
|
27
|
-
};
|
|
28
|
-
const touchMoveHandler = (e) => {
|
|
29
|
-
touchEndX = e.touches[0].clientX;
|
|
30
|
-
};
|
|
31
|
-
const touchEndHandler = () => {
|
|
32
|
-
if (touchStartX !== null && touchEndX !== null) {
|
|
33
|
-
const distance = touchStartX - touchEndX;
|
|
34
|
-
if (Math.abs(distance) > minSwipeDistance) {
|
|
35
|
-
if (distance > 0) {
|
|
36
|
-
next();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
prev();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
touchStartX = null;
|
|
44
|
-
touchEndX = null;
|
|
45
|
-
};
|
|
46
|
-
const mouseDownHandler = (e) => {
|
|
47
|
-
isMouseDown = true;
|
|
48
|
-
mouseStartX = e.clientX;
|
|
49
|
-
};
|
|
50
|
-
const mouseMoveHandler = (e) => {
|
|
51
|
-
if (!isMouseDown) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
mouseEndX = e.clientX;
|
|
55
|
-
};
|
|
56
|
-
const mouseUpHandler = () => {
|
|
57
|
-
if (isMouseDown && mouseStartX !== null && mouseEndX !== null) {
|
|
58
|
-
const distance = mouseStartX - mouseEndX;
|
|
59
|
-
if (Math.abs(distance) > minSwipeDistance) {
|
|
60
|
-
if (distance > 0) {
|
|
61
|
-
next();
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
prev();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
isMouseDown = false;
|
|
69
|
-
mouseStartX = null;
|
|
70
|
-
mouseEndX = null;
|
|
71
|
-
};
|
|
72
|
-
const wheelHandler = (e) => {
|
|
73
|
-
const now = Date.now();
|
|
74
|
-
if (Math.abs(e.deltaX) > Math.abs(e.deltaY) && Math.abs(e.deltaX) > 20) {
|
|
75
|
-
e.preventDefault(); // Prevent page from scrolling
|
|
76
|
-
if (now - lastScrollTime < scrollCoolDown) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (e.deltaX > 0) {
|
|
80
|
-
next();
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
prev();
|
|
84
|
-
}
|
|
85
|
-
lastScrollTime = now;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
if (destroy) {
|
|
89
|
-
carousel.removeEventListener('touchstart', touchStartHandler);
|
|
90
|
-
carousel.removeEventListener('touchmove', touchMoveHandler);
|
|
91
|
-
carousel.removeEventListener('touchend', touchEndHandler);
|
|
92
|
-
carousel.removeEventListener('mousedown', mouseDownHandler);
|
|
93
|
-
carousel.removeEventListener('mousemove', mouseMoveHandler);
|
|
94
|
-
carousel.removeEventListener('mouseup', mouseUpHandler);
|
|
95
|
-
carousel.removeEventListener('wheel', wheelHandler);
|
|
96
|
-
}
|
|
97
|
-
carousel.addEventListener('touchstart', touchStartHandler);
|
|
98
|
-
carousel.addEventListener('touchmove', touchMoveHandler);
|
|
99
|
-
carousel.addEventListener('touchend', touchEndHandler);
|
|
100
|
-
// Mouse drag support
|
|
101
|
-
carousel.addEventListener('mousedown', mouseDownHandler);
|
|
102
|
-
carousel.addEventListener('mousemove', mouseMoveHandler);
|
|
103
|
-
carousel.addEventListener('mouseup', mouseUpHandler);
|
|
104
|
-
// Wheel gesture support
|
|
105
|
-
carousel.addEventListener('wheel', wheelHandler);
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export { registerSwipeEvents };
|
|
109
|
-
//# sourceMappingURL=swipeEvents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swipeEvents.js","sources":["../../../src/utilities/carousel/swipeEvents.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
*
|
|
4
|
-
* Copyright IBM Corp. 2025
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
interface CarouselStackHistory {
|
|
10
|
-
id: number;
|
|
11
|
-
elem: HTMLLIElement;
|
|
12
|
-
}
|
|
13
|
-
type CarouselResponse = {
|
|
14
|
-
currentIndex: number;
|
|
15
|
-
lastIndex: number;
|
|
16
|
-
totalViews: number;
|
|
17
|
-
historyStack: CarouselStackHistory[];
|
|
18
|
-
};
|
|
19
|
-
type ActiveItem = {
|
|
20
|
-
index: number;
|
|
21
|
-
item: HTMLElement | null;
|
|
22
|
-
};
|
|
23
|
-
export type Config = {
|
|
24
|
-
onViewChangeStart?: (args: CarouselResponse) => void;
|
|
25
|
-
onViewChangeEnd?: (args: CarouselResponse) => void;
|
|
26
|
-
excludeSwipeSupport?: boolean;
|
|
27
|
-
};
|
|
28
|
-
interface InitCarousel {
|
|
29
|
-
next: () => void;
|
|
30
|
-
prev: () => void;
|
|
31
|
-
reset: () => void;
|
|
32
|
-
goToIndex: (index: number) => void;
|
|
33
|
-
getActiveItem: () => ActiveItem;
|
|
34
|
-
destroyEvents: (() => void) | null;
|
|
35
|
-
allViews: Record<number, HTMLElement | null>;
|
|
36
|
-
}
|
|
37
|
-
export type { CarouselStackHistory, CarouselResponse, InitCarousel };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/@carbon/utilities/es/dateTimeFormat/index.js"],"sourcesContent":["import*as o from\"./relative\";import*as t from\"./absolute\";const r={relative:o,absolute:t};export{r as dateTimeFormat};\n"],"names":["o"],"mappings":";;;;;;;;;AAA+D,MAAC,CAAC,CAAC,CAAC,QAAQ,CAACA,QAAY;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
function i(a,o){const t=new Intl.RelativeTimeFormat(o?.locale,{style:o?.style??"long"}),f=typeof a=="number"?new Date(a):a,m=Date.now(),l=Math.floor((m-f.getTime())/1e3),r=Math.floor(l/60),n=Math.floor(r/60),e=Math.floor(n/24),s=Math.floor(e/7),c=Math.floor(s/4),h=Math.floor(e/365);return Math.abs(l)<60?new Intl.RelativeTimeFormat(o?.locale,{numeric:"auto",style:o?.style??"long"}).format(0,"seconds"):Math.abs(r)<60?t.format(r*-1,"minutes"):Math.abs(n)<24?t.format(n*-1,"hours"):Math.abs(e)<7?t.format(e*-1,"days"):Math.abs(s)<4?t.format(s*-1,"weeks"):Math.abs(e)<365?t.format(c*-1,"months"):t.format(h*-1,"years")}
|
|
9
|
-
|
|
10
|
-
export { i as format };
|
|
11
|
-
//# sourceMappingURL=relative.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relative.js","sources":["../../../../../../../../node_modules/@carbon/utilities/es/dateTimeFormat/relative.js"],"sourcesContent":["function i(a,o){const t=new Intl.RelativeTimeFormat(o?.locale,{style:o?.style??\"long\"}),f=typeof a==\"number\"?new Date(a):a,m=Date.now(),l=Math.floor((m-f.getTime())/1e3),r=Math.floor(l/60),n=Math.floor(r/60),e=Math.floor(n/24),s=Math.floor(e/7),c=Math.floor(s/4),h=Math.floor(e/365);return Math.abs(l)<60?new Intl.RelativeTimeFormat(o?.locale,{numeric:\"auto\",style:o?.style??\"long\"}).format(0,\"seconds\"):Math.abs(r)<60?t.format(r*-1,\"minutes\"):Math.abs(n)<24?t.format(n*-1,\"hours\"):Math.abs(e)<7?t.format(e*-1,\"days\"):Math.abs(s)<4?t.format(s*-1,\"weeks\"):Math.abs(e)<365?t.format(c*-1,\"months\"):t.format(h*-1,\"years\")}export{i as format};\n"],"names":[],"mappings":";;;;;;;AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const t=typeof document<"u";t?document.documentElement.lang:"";
|
|
9
|
-
//# sourceMappingURL=documentLang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentLang.js","sources":["../../../../../../../../node_modules/@carbon/utilities/es/documentLang/documentLang.js"],"sourcesContent":["const t=typeof document<\"u\";let o=t?document.documentElement.lang:\"\",i=!1,n=[],r=!1;function s(){t&&(i||(i=!0,queueMicrotask(()=>{i=!1;const e=document.documentElement.lang;if(e!==o){o=e;for(const u of n)u(e)}})))}function c(){if(!t||r)return;r=!0,new MutationObserver(s).observe(document.documentElement,{attributes:!0,attributeFilter:[\"lang\"]})}function a(){return t&&(document.documentElement.lang||window.navigator.language)||\"\"}function l(e){return t?(r||c(),n.push(e),()=>{n=n.filter(u=>u!==e),n.length===0&&(r=!1)}):()=>{}}export{a as getDocumentLang,l as subscribeDocumentLangChange};\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE","x_google_ignoreList":[0]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2024
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
function v(e,t){if(!e)return 0;const a=e.style.display;!e.offsetParent&&getComputedStyle(e).display==="none"&&(e.style.display="inline-block");const o=e.getBoundingClientRect()[t];return e.style.display=a,o}function w({container:e,items:t,offset:a,sizes:o,fixedSizes:f,offsetSize:c,maxVisibleItems:l,dimension:m,onChange:E,previousHiddenItems:u=[]}){const H=m==="width"?e.clientWidth:e.clientHeight;let s=[],i=[];const p=o.reduce((r,d)=>r+d,0),n=f.reduce((r,d)=>r+d,0);if(p+n<=H)s=l?t.slice(0,l):[...t],i=l?t.slice(l):[];else {const r=H-c;let d=0;for(let h=0;h<t.length;h++){const g=o[h];d+g+n<=r&&(!l||s.length<l)?(s.push(t[h]),d+=g):i.push(t[h]);}}return u.length===i.length&&u.every((r,d)=>r===i[d])?u:(s.forEach(r=>r.removeAttribute("data-hidden")),i.forEach(r=>r.setAttribute("data-hidden","")),a&&a.toggleAttribute("data-hidden",i.length===0),E(s,i),i)}function L({container:e,maxVisibleItems:t,onChange:a,dimension:o="width"}){if(!(e instanceof HTMLElement))throw new Error("container must be an HTMLElement");if(typeof a!="function")throw new Error("onChange must be a function");if(t!==void 0&&(!Number.isInteger(t)||t<=0))throw new Error("maxVisibleItems must be a positive integer");const f=Array.from(e.children),c=f.find(n=>n.hasAttribute("data-offset")),l=f.filter(n=>n.hasAttribute("data-fixed")),m=f.filter(n=>n!==c&&!l.includes(n)),E=l.map(n=>v(n,o)),u=m.map(n=>v(n,o)),H=v(c,o);let s=[];function i(){s=w({container:e,items:m,offset:c,sizes:u,fixedSizes:E,offsetSize:H,maxVisibleItems:t,dimension:o,onChange:a,previousHiddenItems:s});}const p=new ResizeObserver(()=>requestAnimationFrame(i));return p.observe(e),requestAnimationFrame(i),{disconnect(){p.disconnect();}}}
|
|
9
|
-
|
|
10
|
-
export { L as createOverflowHandler, v as getSize, w as updateOverflowHandler };
|
|
11
|
-
//# sourceMappingURL=overflowHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overflowHandler.js","sources":["../../../../../../../../node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js"],"sourcesContent":["function v(e,t){if(!e)return 0;const a=e.style.display;!e.offsetParent&&getComputedStyle(e).display===\"none\"&&(e.style.display=\"inline-block\");const o=e.getBoundingClientRect()[t];return e.style.display=a,o}function w({container:e,items:t,offset:a,sizes:o,fixedSizes:f,offsetSize:c,maxVisibleItems:l,dimension:m,onChange:E,previousHiddenItems:u=[]}){const H=m===\"width\"?e.clientWidth:e.clientHeight;let s=[],i=[];const p=o.reduce((r,d)=>r+d,0),n=f.reduce((r,d)=>r+d,0);if(p+n<=H)s=l?t.slice(0,l):[...t],i=l?t.slice(l):[];else{const r=H-c;let d=0;for(let h=0;h<t.length;h++){const g=o[h];d+g+n<=r&&(!l||s.length<l)?(s.push(t[h]),d+=g):i.push(t[h])}}return u.length===i.length&&u.every((r,d)=>r===i[d])?u:(s.forEach(r=>r.removeAttribute(\"data-hidden\")),i.forEach(r=>r.setAttribute(\"data-hidden\",\"\")),a&&a.toggleAttribute(\"data-hidden\",i.length===0),E(s,i),i)}function L({container:e,maxVisibleItems:t,onChange:a,dimension:o=\"width\"}){if(!(e instanceof HTMLElement))throw new Error(\"container must be an HTMLElement\");if(typeof a!=\"function\")throw new Error(\"onChange must be a function\");if(t!==void 0&&(!Number.isInteger(t)||t<=0))throw new Error(\"maxVisibleItems must be a positive integer\");const f=Array.from(e.children),c=f.find(n=>n.hasAttribute(\"data-offset\")),l=f.filter(n=>n.hasAttribute(\"data-fixed\")),m=f.filter(n=>n!==c&&!l.includes(n)),E=l.map(n=>v(n,o)),u=m.map(n=>v(n,o)),H=v(c,o);let s=[];function i(){s=w({container:e,items:m,offset:c,sizes:u,fixedSizes:E,offsetSize:H,maxVisibleItems:t,dimension:o,onChange:a,previousHiddenItems:s})}const p=new ResizeObserver(()=>requestAnimationFrame(i));return p.observe(e),requestAnimationFrame(i),{disconnect(){p.disconnect()}}}export{L as createOverflowHandler,v as getSize,w as updateOverflowHandler};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright IBM Corp. 2025
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { InitCarousel, Config } from './types';
|
|
8
|
-
/**
|
|
9
|
-
* Initializes a carousel with the given configuration.
|
|
10
|
-
* @param carouselContainer - The HTMLElement representing the carousel container.
|
|
11
|
-
* @param config - Optional configuration object.
|
|
12
|
-
* @returns An object containing methods to control the carousel.
|
|
13
|
-
*/
|
|
14
|
-
export declare const initCarousel: (carouselContainer: HTMLElement, config?: Config) => InitCarousel;
|