@plitzi/sdk-elements 0.37.8 → 0.37.10
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/CHANGELOG.md +835 -0
- package/dist/Element/ElementContext.mjs +2 -3
- package/dist/Element/ElementParentContext.mjs +2 -3
- package/dist/Element/ElementWords.d.ts +16 -0
- package/dist/Element/ElementWords.mjs +19 -0
- package/dist/Element/LayoutBody.d.ts +12 -9
- package/dist/Element/LayoutBody.mjs +13 -14
- package/dist/Element/RootElement.mjs +15 -12
- package/dist/Element/helpers/elementConstants.mjs +27 -0
- package/dist/Element/helpers/renderStaticTag.d.ts +3 -1
- package/dist/Element/helpers/renderStaticTag.mjs +6 -5
- package/dist/Element/hooks/useElementDataSource.mjs +20 -19
- package/dist/Element/hooks/useElementInternal.mjs +21 -20
- package/dist/Element/hooks/useInternalClassName.mjs +1 -1
- package/dist/Element/hooks/useInternalItems.mjs +33 -31
- package/dist/Element/hooks/useIntervalTriggers.d.ts +17 -0
- package/dist/Element/hooks/useIntervalTriggers.mjs +37 -0
- package/dist/Element/hooks/useRootElementInteractions.d.ts +6 -2
- package/dist/Element/hooks/useRootElementInteractions.mjs +84 -63
- package/dist/Element/hooks/useScrollInteractions.d.ts +20 -0
- package/dist/Element/hooks/useScrollInteractions.mjs +58 -0
- package/dist/components/IconField/IconField.d.ts +8 -0
- package/dist/components/IconField/IconField.mjs +41 -0
- package/dist/components/IconField/index.d.ts +2 -0
- package/dist/components/IconField/index.mjs +2 -0
- package/dist/components/IconPicker/IconPicker.d.ts +11 -0
- package/dist/components/IconPicker/IconPicker.mjs +82 -0
- package/dist/components/IconPicker/index.d.ts +2 -0
- package/dist/components/IconPicker/index.mjs +2 -0
- package/dist/dataSource/GlobalSources.mjs +102 -83
- package/dist/dataSource/useFlag.d.ts +9 -0
- package/dist/dataSource/useFlag.mjs +8 -0
- package/dist/elements/advanced/BlockHtml/declaration.d.ts +1 -1
- package/dist/elements/advanced/BlockHtml/declaration.mjs +1 -1
- package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
- package/dist/elements/advanced/BlockJsx/Settings.mjs +2 -1
- package/dist/elements/advanced/BlockJsx/declaration.d.ts +1 -1
- package/dist/elements/advanced/BlockJsx/declaration.mjs +1 -1
- package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
- package/dist/elements/advanced/Custom/declaration.d.ts +1 -1
- package/dist/elements/advanced/Custom/declaration.mjs +1 -1
- package/dist/elements/advanced/Custom/index.d.ts +1 -1
- package/dist/elements/advanced/NodeHtml/declaration.d.ts +3 -3
- package/dist/elements/advanced/NodeHtml/declaration.mjs +1 -1
- package/dist/elements/advanced/NodeHtml/index.d.ts +3 -3
- package/dist/elements/advanced/Reference/PropField.d.ts +13 -0
- package/dist/elements/advanced/Reference/PropField.mjs +65 -0
- package/dist/elements/advanced/Reference/Reference.d.ts +5 -6
- package/dist/elements/advanced/Reference/Reference.mjs +128 -138
- package/dist/elements/advanced/Reference/Settings.d.ts +5 -4
- package/dist/elements/advanced/Reference/Settings.mjs +48 -87
- package/dist/elements/advanced/Reference/declaration.d.ts +3 -5
- package/dist/elements/advanced/Reference/declaration.mjs +3 -4
- package/dist/elements/advanced/Reference/index.d.ts +3 -5
- package/dist/elements/basic/Button/Button.d.ts +9 -1
- package/dist/elements/basic/Button/Button.mjs +31 -19
- package/dist/elements/basic/Button/Settings.d.ts +3 -1
- package/dist/elements/basic/Button/Settings.mjs +39 -33
- package/dist/elements/basic/Button/declaration.d.ts +7 -1
- package/dist/elements/basic/Button/declaration.mjs +10 -4
- package/dist/elements/basic/Button/index.d.ts +7 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +1 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +1 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
- package/dist/elements/basic/Dropdown/declaration.d.ts +1 -1
- package/dist/elements/basic/Dropdown/declaration.mjs +1 -1
- package/dist/elements/basic/Dropdown/index.d.ts +2 -2
- package/dist/elements/basic/Heading/declaration.d.ts +1 -1
- package/dist/elements/basic/Heading/declaration.mjs +1 -1
- package/dist/elements/basic/Heading/index.d.ts +1 -1
- package/dist/elements/basic/Link/Link.d.ts +20 -1
- package/dist/elements/basic/Link/Link.mjs +67 -47
- package/dist/elements/basic/Link/Settings.d.ts +6 -1
- package/dist/elements/basic/Link/Settings.mjs +91 -58
- package/dist/elements/basic/Link/declaration.d.ts +14 -1
- package/dist/elements/basic/Link/declaration.mjs +15 -5
- package/dist/elements/basic/Link/index.d.ts +14 -1
- package/dist/elements/basic/Link/isCurrentPage.d.ts +5 -0
- package/dist/elements/basic/Link/isCurrentPage.mjs +12 -0
- package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
- package/dist/elements/basic/Markdown/declaration.mjs +1 -1
- package/dist/elements/basic/Markdown/index.d.ts +1 -1
- package/dist/elements/basic/Paragraph/declaration.d.ts +1 -1
- package/dist/elements/basic/Paragraph/declaration.mjs +1 -1
- package/dist/elements/basic/Paragraph/index.d.ts +1 -1
- package/dist/elements/basic/RichText/declaration.d.ts +1 -1
- package/dist/elements/basic/RichText/declaration.mjs +1 -1
- package/dist/elements/basic/RichText/index.d.ts +1 -1
- package/dist/elements/basic/Text/declaration.d.ts +1 -1
- package/dist/elements/basic/Text/declaration.mjs +1 -1
- package/dist/elements/basic/Text/index.d.ts +1 -1
- package/dist/elements/basic/ThemeToggle/declaration.d.ts +1 -1
- package/dist/elements/basic/ThemeToggle/declaration.mjs +1 -1
- package/dist/elements/basic/ThemeToggle/index.d.ts +1 -1
- package/dist/elements/declarations/index.d.ts +364 -44
- package/dist/elements/declarations/index.mjs +40 -32
- package/dist/elements/form/Form/declaration.d.ts +1 -1
- package/dist/elements/form/Form/declaration.mjs +1 -1
- package/dist/elements/form/Form/index.d.ts +1 -1
- package/dist/elements/form/FormControl/FormControl.mjs +1 -1
- package/dist/elements/form/FormControl/declaration.d.ts +1 -1
- package/dist/elements/form/FormControl/declaration.mjs +1 -1
- package/dist/elements/form/FormControl/index.d.ts +1 -1
- package/dist/elements/index.d.ts +7 -1
- package/dist/elements/index.mjs +30 -24
- package/dist/elements/internal/LayoutContainer/declaration.d.ts +1 -1
- package/dist/elements/internal/LayoutContainer/declaration.mjs +1 -1
- package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
- package/dist/elements/internal/Loading/declaration.d.ts +1 -1
- package/dist/elements/internal/Loading/declaration.mjs +1 -1
- package/dist/elements/internal/Loading/index.d.ts +1 -1
- package/dist/elements/internal/NotFound/declaration.d.ts +1 -1
- package/dist/elements/internal/NotFound/declaration.mjs +1 -1
- package/dist/elements/internal/NotFound/index.d.ts +1 -1
- package/dist/elements/internal/Page/Page.mjs +29 -29
- package/dist/elements/internal/Page/declaration.d.ts +1 -1
- package/dist/elements/internal/Page/declaration.mjs +1 -1
- package/dist/elements/internal/Page/index.d.ts +1 -1
- package/dist/elements/media/Embed/Embed.d.ts +22 -0
- package/dist/elements/media/Embed/Embed.mjs +29 -0
- package/dist/elements/media/Embed/Settings.d.ts +10 -0
- package/dist/elements/media/Embed/Settings.mjs +51 -0
- package/dist/elements/media/Embed/declaration.d.ts +70 -0
- package/dist/elements/media/Embed/declaration.mjs +54 -0
- package/dist/elements/media/Embed/embeddableSrc.d.ts +5 -0
- package/dist/elements/media/Embed/embeddableSrc.mjs +4 -0
- package/dist/elements/media/Embed/index.d.ts +69 -0
- package/dist/elements/media/Embed/index.mjs +6 -0
- package/dist/elements/media/FontAwesome/Settings.mjs +32 -100
- package/dist/elements/media/FontAwesome/declaration.d.ts +1 -1
- package/dist/elements/media/FontAwesome/declaration.mjs +1 -1
- package/dist/elements/media/FontAwesome/index.d.ts +1 -1
- package/dist/elements/media/Image/Image.d.ts +11 -1
- package/dist/elements/media/Image/Image.mjs +33 -23
- package/dist/elements/media/Image/Settings.d.ts +4 -1
- package/dist/elements/media/Image/Settings.mjs +32 -9
- package/dist/elements/media/Image/declaration.d.ts +4 -1
- package/dist/elements/media/Image/declaration.mjs +1 -1
- package/dist/elements/media/Image/index.d.ts +4 -1
- package/dist/elements/media/Svg/Settings.d.ts +7 -0
- package/dist/elements/media/Svg/Settings.mjs +24 -0
- package/dist/elements/media/Svg/Svg.d.ts +16 -0
- package/dist/elements/media/Svg/Svg.mjs +31 -0
- package/dist/elements/media/Svg/declaration.d.ts +61 -0
- package/dist/elements/media/Svg/declaration.mjs +49 -0
- package/dist/elements/media/Svg/index.d.ts +60 -0
- package/dist/elements/media/Svg/index.mjs +6 -0
- package/dist/elements/media/Svg/sanitizeSvg.d.ts +13 -0
- package/dist/elements/media/Svg/sanitizeSvg.mjs +5 -0
- package/dist/elements/media/Video/declaration.d.ts +1 -1
- package/dist/elements/media/Video/declaration.mjs +1 -1
- package/dist/elements/media/Video/index.d.ts +1 -1
- package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +6 -1
- package/dist/elements/provider/ApiContainer/ApiContainer.mjs +118 -112
- package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
- package/dist/elements/provider/ApiContainer/Settings.mjs +45 -37
- package/dist/elements/provider/ApiContainer/declaration.d.ts +1 -1
- package/dist/elements/provider/ApiContainer/declaration.mjs +1 -1
- package/dist/elements/provider/ApiContainer/helpers/loadingSlot.d.ts +6 -0
- package/dist/elements/provider/ApiContainer/helpers/loadingSlot.mjs +8 -0
- package/dist/elements/provider/ApiContainer/hooks/useApi.mjs +12 -12
- package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
- package/dist/elements/provider/Channel/declaration.d.ts +1 -1
- package/dist/elements/provider/Channel/declaration.mjs +1 -1
- package/dist/elements/provider/Channel/index.d.ts +1 -1
- package/dist/elements/settings.mjs +40 -32
- package/dist/elements/structure/Carousel/Carousel.d.ts +32 -0
- package/dist/elements/structure/Carousel/Carousel.mjs +183 -0
- package/dist/elements/structure/Carousel/CarouselContext.d.ts +29 -0
- package/dist/elements/structure/Carousel/CarouselContext.mjs +6 -0
- package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.d.ts +15 -0
- package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.mjs +51 -0
- package/dist/elements/structure/Carousel/CarouselTrack/Settings.d.ts +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/Settings.mjs +8 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts +15 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs +28 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.d.ts +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.mjs +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts +18 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs +41 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.d.ts +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.mjs +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts +12 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.mjs +27 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.d.ts +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.mjs +2 -0
- package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +53 -0
- package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +44 -0
- package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +52 -0
- package/dist/elements/structure/Carousel/CarouselTrack/index.mjs +6 -0
- package/dist/elements/structure/Carousel/Settings.d.ts +14 -0
- package/dist/elements/structure/Carousel/Settings.mjs +97 -0
- package/dist/elements/structure/Carousel/carouselIndex.d.ts +13 -0
- package/dist/elements/structure/Carousel/carouselIndex.mjs +16 -0
- package/dist/elements/structure/Carousel/declaration.d.ts +131 -0
- package/dist/elements/structure/Carousel/declaration.mjs +106 -0
- package/dist/elements/structure/Carousel/index.d.ts +184 -0
- package/dist/elements/structure/Carousel/index.mjs +10 -0
- package/dist/elements/structure/Carousel/useAutoplay.d.ts +18 -0
- package/dist/elements/structure/Carousel/useAutoplay.mjs +34 -0
- package/dist/elements/structure/Container/Container.d.ts +1 -1
- package/dist/elements/structure/Container/Settings.d.ts +1 -1
- package/dist/elements/structure/Container/Settings.mjs +4 -0
- package/dist/elements/structure/Container/declaration.d.ts +2 -2
- package/dist/elements/structure/Container/declaration.mjs +3 -2
- package/dist/elements/structure/Container/index.d.ts +2 -2
- package/dist/elements/structure/DialogContainer/declaration.d.ts +1 -1
- package/dist/elements/structure/DialogContainer/declaration.mjs +1 -1
- package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
- package/dist/elements/structure/List/List.d.ts +6 -1
- package/dist/elements/structure/List/List.mjs +2 -1
- package/dist/elements/structure/List/ListItem/declaration.d.ts +1 -1
- package/dist/elements/structure/List/ListItem/declaration.mjs +1 -1
- package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
- package/dist/elements/structure/List/Settings.d.ts +2 -1
- package/dist/elements/structure/List/Settings.mjs +41 -29
- package/dist/elements/structure/List/declaration.d.ts +2 -1
- package/dist/elements/structure/List/declaration.mjs +1 -1
- package/dist/elements/structure/List/index.d.ts +3 -2
- package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +2 -1
- package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +36 -35
- package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +1 -1
- package/dist/elements/structure/List/modes/ListControlled/rowKeys.d.ts +10 -0
- package/dist/elements/structure/List/modes/ListControlled/rowKeys.mjs +11 -0
- package/dist/elements/structure/ModalContainer/declaration.d.ts +1 -1
- package/dist/elements/structure/ModalContainer/declaration.mjs +1 -1
- package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
- package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +6 -0
- package/dist/elements/structure/ModalContainer/metadataFromText.mjs +2 -1
- package/dist/elements/structure/Pagination/declaration.d.ts +1 -1
- package/dist/elements/structure/Pagination/declaration.mjs +1 -1
- package/dist/elements/structure/Pagination/index.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -1
- package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -1
- package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +1 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
- package/dist/elements/structure/TabContainer/declaration.d.ts +1 -1
- package/dist/elements/structure/TabContainer/declaration.mjs +1 -1
- package/dist/elements/structure/TabContainer/index.d.ts +4 -4
- package/dist/index.d.ts +375 -43
- package/dist/index.mjs +34 -27
- package/package.json +202 -10
|
@@ -103,7 +103,7 @@ declare const declaration: {
|
|
|
103
103
|
readonly canSelect: true;
|
|
104
104
|
readonly canDragDrop: true;
|
|
105
105
|
readonly canMove: true;
|
|
106
|
-
readonly
|
|
106
|
+
readonly canSnippet: true;
|
|
107
107
|
readonly itemsAllowed: readonly [];
|
|
108
108
|
readonly itemsNotAllowed: readonly [];
|
|
109
109
|
};
|
|
@@ -102,7 +102,7 @@ declare const Channel: {
|
|
|
102
102
|
readonly canSelect: true;
|
|
103
103
|
readonly canDragDrop: true;
|
|
104
104
|
readonly canMove: true;
|
|
105
|
-
readonly
|
|
105
|
+
readonly canSnippet: true;
|
|
106
106
|
readonly itemsAllowed: readonly [];
|
|
107
107
|
readonly itemsNotAllowed: readonly [];
|
|
108
108
|
};
|
|
@@ -17,23 +17,27 @@ import h from "./form/Form/Settings.mjs";
|
|
|
17
17
|
import g from "./form/FormControl/Settings.mjs";
|
|
18
18
|
import _ from "./internal/LayoutContainer/Settings.mjs";
|
|
19
19
|
import v from "./internal/Page/Settings.mjs";
|
|
20
|
-
import y from "./media/
|
|
21
|
-
import b from "./media/
|
|
22
|
-
import x from "./media/
|
|
23
|
-
import S from "./
|
|
24
|
-
import C from "./
|
|
25
|
-
import w from "./
|
|
26
|
-
import T from "./
|
|
27
|
-
import E from "./structure/
|
|
28
|
-
import D from "./structure/
|
|
29
|
-
import O from "./structure/
|
|
30
|
-
import k from "./structure/
|
|
31
|
-
import A from "./structure/
|
|
32
|
-
import j from "./structure/
|
|
33
|
-
import M from "./structure/
|
|
34
|
-
import N from "./structure/
|
|
20
|
+
import y from "./media/Embed/Settings.mjs";
|
|
21
|
+
import b from "./media/FontAwesome/Settings.mjs";
|
|
22
|
+
import x from "./media/Image/Settings.mjs";
|
|
23
|
+
import S from "./media/Svg/Settings.mjs";
|
|
24
|
+
import C from "./media/Video/Settings.mjs";
|
|
25
|
+
import w from "./provider/ApiContainer/Settings.mjs";
|
|
26
|
+
import T from "./provider/Channel/Settings.mjs";
|
|
27
|
+
import E from "./structure/Carousel/CarouselTrack/Settings.mjs";
|
|
28
|
+
import D from "./structure/Carousel/Settings.mjs";
|
|
29
|
+
import O from "./structure/Container/Settings.mjs";
|
|
30
|
+
import k from "./structure/DialogContainer/Settings.mjs";
|
|
31
|
+
import A from "./structure/List/ListItem/Settings.mjs";
|
|
32
|
+
import j from "./structure/List/Settings.mjs";
|
|
33
|
+
import M from "./structure/ModalContainer/Settings.mjs";
|
|
34
|
+
import N from "./structure/Pagination/Settings.mjs";
|
|
35
|
+
import P from "./structure/TabContainer/Settings.mjs";
|
|
36
|
+
import F from "./structure/TabContainer/TabContainerBody/Settings.mjs";
|
|
37
|
+
import I from "./structure/TabContainer/TabContainerHeader/Settings.mjs";
|
|
38
|
+
import L from "./structure/TabContainer/TabContainerItem/Settings.mjs";
|
|
35
39
|
//#region src/elements/settings.ts
|
|
36
|
-
var
|
|
40
|
+
var R = /* @__PURE__ */ e({ defaultElementsSettings: () => z }), z = {
|
|
37
41
|
dropdown: c,
|
|
38
42
|
plitziSdk: a,
|
|
39
43
|
custom: r,
|
|
@@ -41,32 +45,36 @@ var P = /* @__PURE__ */ e({ defaultElementsSettings: () => F }), F = {
|
|
|
41
45
|
blockHtml: t,
|
|
42
46
|
blockJsx: n,
|
|
43
47
|
page: v,
|
|
44
|
-
container:
|
|
48
|
+
container: O,
|
|
45
49
|
layoutContainer: _,
|
|
46
|
-
dialogContainer:
|
|
47
|
-
modalContainer:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
dialogContainer: k,
|
|
51
|
+
modalContainer: M,
|
|
52
|
+
carousel: D,
|
|
53
|
+
carouselTrack: E,
|
|
54
|
+
tabContainer: P,
|
|
55
|
+
tabContainerBody: F,
|
|
56
|
+
tabContainerheader: I,
|
|
57
|
+
tabContainerItem: L,
|
|
52
58
|
heading: l,
|
|
53
|
-
image:
|
|
54
|
-
video:
|
|
55
|
-
|
|
59
|
+
image: x,
|
|
60
|
+
video: C,
|
|
61
|
+
embed: y,
|
|
62
|
+
svg: S,
|
|
63
|
+
fontAwesome: b,
|
|
56
64
|
button: s,
|
|
57
65
|
paragraph: f,
|
|
58
66
|
text: m,
|
|
59
67
|
markdown: d,
|
|
60
68
|
richText: p,
|
|
61
|
-
pagination:
|
|
69
|
+
pagination: N,
|
|
62
70
|
nodeHtml: i,
|
|
63
|
-
list:
|
|
64
|
-
listItem:
|
|
71
|
+
list: j,
|
|
72
|
+
listItem: A,
|
|
65
73
|
link: u,
|
|
66
74
|
form: h,
|
|
67
75
|
formControl: g,
|
|
68
|
-
apiContainer:
|
|
69
|
-
channel:
|
|
76
|
+
apiContainer: w,
|
|
77
|
+
channel: T
|
|
70
78
|
};
|
|
71
79
|
//#endregion
|
|
72
|
-
export {
|
|
80
|
+
export { z as defaultElementsSettings, R as settings_exports };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CarouselMode, CarouselTransition } from './CarouselContext';
|
|
2
|
+
import { ReactNode, RefObject } from 'react';
|
|
3
|
+
export type CarouselProps = {
|
|
4
|
+
ref?: RefObject<HTMLElement>;
|
|
5
|
+
className?: string;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
/** What it shows, one slide each — its own, or bound from a source as a list's are. */
|
|
8
|
+
items?: unknown[];
|
|
9
|
+
/** `slide` shows one at a time; `marquee` scrolls them past for ever; `scroll` is a row a visitor swipes. */
|
|
10
|
+
mode?: CarouselMode;
|
|
11
|
+
/** Milliseconds between slides on its own; 0 is none. `slide` only. */
|
|
12
|
+
autoplay?: number;
|
|
13
|
+
/** Holds still under the pointer, for autoplay and a marquee alike. */
|
|
14
|
+
pauseOnHover?: boolean;
|
|
15
|
+
/** After the last slide the first, and before the first the last. */
|
|
16
|
+
loop?: boolean;
|
|
17
|
+
/** How a `slide` carousel changes slide; back enters from the left. */
|
|
18
|
+
transition?: CarouselTransition;
|
|
19
|
+
/** Pixels per second, for a marquee. */
|
|
20
|
+
speed?: number;
|
|
21
|
+
/** The field of each item that names it, as a list's `itemKey`. */
|
|
22
|
+
itemKey?: string;
|
|
23
|
+
/** What the carousel is, for a screen reader: "Featured products". */
|
|
24
|
+
label?: string;
|
|
25
|
+
};
|
|
26
|
+
declare const Carousel: ({ ref, className, children, items, mode, autoplay, pauseOnHover, loop, transition, speed, itemKey, label }: CarouselProps) => import('react').JSX.Element;
|
|
27
|
+
declare const _default: {
|
|
28
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<CarouselProps>): import('react').JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
export default _default;
|
|
32
|
+
export { Carousel };
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import e from "../../../Element/hocs/withElement.mjs";
|
|
2
|
+
import t from "../../../Element/hooks/useElement.mjs";
|
|
3
|
+
import { RootElement as n } from "../../../Element/RootElement.mjs";
|
|
4
|
+
import r from "../../../dataSource/pathFields.mjs";
|
|
5
|
+
import i from "./CarouselContext.mjs";
|
|
6
|
+
import { clampIndex as a, directionOf as o, slideStep as s, stepIndex as c } from "./carouselIndex.mjs";
|
|
7
|
+
import l from "./declaration.mjs";
|
|
8
|
+
import u from "./useAutoplay.mjs";
|
|
9
|
+
import { rowKeys as ee } from "../List/modes/ListControlled/rowKeys.mjs";
|
|
10
|
+
import { use as te, useCallback as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
11
|
+
import ne from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
|
|
12
|
+
import { StoreProvider as re } from "@plitzi/nexus/react";
|
|
13
|
+
import { emptyObject as g } from "@plitzi/sdk-shared/helpers/utils";
|
|
14
|
+
import { jsx as _ } from "react/jsx-runtime";
|
|
15
|
+
import ie from "clsx";
|
|
16
|
+
import ae from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
|
|
17
|
+
import oe from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
|
|
18
|
+
//#region src/elements/structure/Carousel/Carousel.tsx
|
|
19
|
+
var v = ({ ref: e, className: v = "", children: y, items: b = [], mode: x = "slide", autoplay: S = 0, pauseOnHover: C = !0, loop: w = !0, transition: T = "slide", speed: E = 30, itemKey: D, label: se = "" }) => {
|
|
20
|
+
let { id: O, definition: { label: k = "Carousel" } } = t(), A = ae(l.sourceType, O), { settings: { previewMode: ce }, contexts: { InteractionsContext: le } } = ne(), { interactionsManager: j } = te(le), M = p(() => Array.isArray(b) ? b : [], [b]), N = p(() => ee(M, D), [M, D]), P = M.length, F = !!ce, [I, L] = h(0), [R, z] = h("next"), [B, V] = h(!1), [H, U] = h(S > 0), ue = m(null), W = e ?? ue, G = m(null), K = a(I, P);
|
|
21
|
+
f(() => {
|
|
22
|
+
I !== K && L(K);
|
|
23
|
+
}, [I, K]);
|
|
24
|
+
let q = d((e, t) => {
|
|
25
|
+
P !== 0 && e !== K && (z(t), V(!0), L(e), j.interactionTrigger(O, "onChange", {
|
|
26
|
+
index: e,
|
|
27
|
+
item: M[e]
|
|
28
|
+
}));
|
|
29
|
+
}, [
|
|
30
|
+
P,
|
|
31
|
+
K,
|
|
32
|
+
O,
|
|
33
|
+
j,
|
|
34
|
+
M
|
|
35
|
+
]), J = d((e) => {
|
|
36
|
+
let t = G.current, n = t ? s(t) : 0;
|
|
37
|
+
t && n > 0 && t.scrollBy({
|
|
38
|
+
left: e * n,
|
|
39
|
+
behavior: "smooth"
|
|
40
|
+
});
|
|
41
|
+
}, []), Y = d(() => {
|
|
42
|
+
if (x === "scroll") {
|
|
43
|
+
J(1);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
q(c(K, P, 1, w), "next");
|
|
47
|
+
}, [
|
|
48
|
+
P,
|
|
49
|
+
K,
|
|
50
|
+
w,
|
|
51
|
+
x,
|
|
52
|
+
q,
|
|
53
|
+
J
|
|
54
|
+
]), X = d(() => {
|
|
55
|
+
if (x === "scroll") {
|
|
56
|
+
J(-1);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
q(c(K, P, -1, w), "previous");
|
|
60
|
+
}, [
|
|
61
|
+
P,
|
|
62
|
+
K,
|
|
63
|
+
w,
|
|
64
|
+
x,
|
|
65
|
+
q,
|
|
66
|
+
J
|
|
67
|
+
]), Z = d((e) => {
|
|
68
|
+
let t = a(e.index, P);
|
|
69
|
+
if (x === "scroll") {
|
|
70
|
+
J(t - K);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
q(t, o(K, t));
|
|
74
|
+
}, [
|
|
75
|
+
P,
|
|
76
|
+
K,
|
|
77
|
+
x,
|
|
78
|
+
q,
|
|
79
|
+
J
|
|
80
|
+
]), Q = d((e) => {
|
|
81
|
+
e !== K && q(e, o(K, e));
|
|
82
|
+
}, [K, q]);
|
|
83
|
+
u({
|
|
84
|
+
delay: x === "slide" ? S : 0,
|
|
85
|
+
active: F && H && P > 1,
|
|
86
|
+
rootRef: W,
|
|
87
|
+
pauseOnHover: C,
|
|
88
|
+
position: K,
|
|
89
|
+
onTick: Y
|
|
90
|
+
});
|
|
91
|
+
let de = p(() => ({
|
|
92
|
+
next: {
|
|
93
|
+
...l.callbacks.next,
|
|
94
|
+
callback: Y
|
|
95
|
+
},
|
|
96
|
+
previous: {
|
|
97
|
+
...l.callbacks.previous,
|
|
98
|
+
callback: X
|
|
99
|
+
},
|
|
100
|
+
goTo: {
|
|
101
|
+
...l.callbacks.goTo,
|
|
102
|
+
callback: Z
|
|
103
|
+
},
|
|
104
|
+
play: {
|
|
105
|
+
...l.callbacks.play,
|
|
106
|
+
callback: () => U(!0)
|
|
107
|
+
},
|
|
108
|
+
pause: {
|
|
109
|
+
...l.callbacks.pause,
|
|
110
|
+
callback: () => U(!1)
|
|
111
|
+
}
|
|
112
|
+
}), [
|
|
113
|
+
Z,
|
|
114
|
+
Y,
|
|
115
|
+
X
|
|
116
|
+
]), $ = p(() => ({
|
|
117
|
+
items: M,
|
|
118
|
+
count: P,
|
|
119
|
+
index: K,
|
|
120
|
+
item: M[K],
|
|
121
|
+
playing: H && S > 0
|
|
122
|
+
}), [
|
|
123
|
+
S,
|
|
124
|
+
P,
|
|
125
|
+
K,
|
|
126
|
+
M,
|
|
127
|
+
H
|
|
128
|
+
]), fe = d(() => r($), [$]);
|
|
129
|
+
oe({
|
|
130
|
+
id: O,
|
|
131
|
+
source: A,
|
|
132
|
+
name: k || `Carousel - ${O}`,
|
|
133
|
+
fields: fe
|
|
134
|
+
});
|
|
135
|
+
let pe = p(() => A ? { runtime: { sources: { [A]: $ } } } : g, [A, $]), me = p(() => ({
|
|
136
|
+
source: A,
|
|
137
|
+
items: M,
|
|
138
|
+
keys: N,
|
|
139
|
+
index: K,
|
|
140
|
+
direction: R,
|
|
141
|
+
moved: B,
|
|
142
|
+
mode: x,
|
|
143
|
+
transition: T,
|
|
144
|
+
speed: E,
|
|
145
|
+
pauseOnHover: C,
|
|
146
|
+
live: F,
|
|
147
|
+
scrollerRef: G,
|
|
148
|
+
onScrolledTo: Q
|
|
149
|
+
}), [
|
|
150
|
+
K,
|
|
151
|
+
R,
|
|
152
|
+
N,
|
|
153
|
+
M,
|
|
154
|
+
F,
|
|
155
|
+
x,
|
|
156
|
+
B,
|
|
157
|
+
Q,
|
|
158
|
+
C,
|
|
159
|
+
A,
|
|
160
|
+
E,
|
|
161
|
+
T
|
|
162
|
+
]);
|
|
163
|
+
return /* @__PURE__ */ _(n, {
|
|
164
|
+
ref: W,
|
|
165
|
+
className: ie("plitzi-component__carousel", `carousel--${x}`, v),
|
|
166
|
+
role: "region",
|
|
167
|
+
"aria-roledescription": "carousel",
|
|
168
|
+
"aria-label": se || void 0,
|
|
169
|
+
interactionTriggers: l.triggers,
|
|
170
|
+
interactionCallbacks: de,
|
|
171
|
+
children: /* @__PURE__ */ _(re, {
|
|
172
|
+
inherit: "live",
|
|
173
|
+
name: `Carousel:${O}`,
|
|
174
|
+
value: pe,
|
|
175
|
+
children: /* @__PURE__ */ _(i, {
|
|
176
|
+
value: me,
|
|
177
|
+
children: y
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
}, y = e(v);
|
|
182
|
+
//#endregion
|
|
183
|
+
export { v as Carousel, y as default };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CarouselDirection } from './carouselIndex';
|
|
2
|
+
import { RefObject } from 'react';
|
|
3
|
+
export type CarouselMode = 'slide' | 'marquee' | 'scroll';
|
|
4
|
+
export type CarouselTransition = 'slide' | 'fade' | 'none';
|
|
5
|
+
/** What a carousel hands the track inside it: the items, where it is, and how it moves. */
|
|
6
|
+
export type CarouselContextValue = {
|
|
7
|
+
/** The source the carousel publishes — `carousel_<id>` — which each slide publishes its own item under too. */
|
|
8
|
+
source: string;
|
|
9
|
+
items: unknown[];
|
|
10
|
+
keys: readonly (string | number)[];
|
|
11
|
+
index: number;
|
|
12
|
+
direction: CarouselDirection;
|
|
13
|
+
/** Whether it has moved yet: the slide a page opens on does not animate in. */
|
|
14
|
+
moved: boolean;
|
|
15
|
+
mode: CarouselMode;
|
|
16
|
+
transition: CarouselTransition;
|
|
17
|
+
/** Pixels per second, for a marquee. */
|
|
18
|
+
speed: number;
|
|
19
|
+
pauseOnHover: boolean;
|
|
20
|
+
/** Whether it moves at all: never in the builder, which shows the first slide. */
|
|
21
|
+
live: boolean;
|
|
22
|
+
/** The box a `scroll` carousel scrolls, which `next` and `previous` move. */
|
|
23
|
+
scrollerRef: RefObject<HTMLDivElement | null>;
|
|
24
|
+
/** A `scroll` carousel reports the slide it scrolled to. */
|
|
25
|
+
onScrolledTo: (index: number) => void;
|
|
26
|
+
};
|
|
27
|
+
/** Absent outside a carousel: a track on its own renders its children as they are. */
|
|
28
|
+
declare const CarouselContext: import('react').Context<CarouselContextValue | undefined>;
|
|
29
|
+
export default CarouselContext;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
|
+
export type CarouselTrackProps = {
|
|
3
|
+
ref?: RefObject<HTMLElement>;
|
|
4
|
+
className?: string;
|
|
5
|
+
/** What one slide is: rendered once per item, reading the item as `carousel_<id>.item` — as a list row does. */
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
/** Where a carousel's slides are, inside it beside its controls: one at a time, a row, or a marquee. */
|
|
9
|
+
declare const CarouselTrack: ({ ref, className, children }: CarouselTrackProps) => import('react').JSX.Element;
|
|
10
|
+
declare const _default: {
|
|
11
|
+
(props: import('../../../../Element/hocs/withElement').WithElementProps<CarouselTrackProps>): import('react').JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
15
|
+
export { CarouselTrack };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import e from "../../../../Element/hocs/withElement.mjs";
|
|
2
|
+
import { RootElement as t } from "../../../../Element/RootElement.mjs";
|
|
3
|
+
import n from "../CarouselContext.mjs";
|
|
4
|
+
import r from "./components/CarouselSlide/CarouselSlide.mjs";
|
|
5
|
+
import i from "./components/MarqueeTrack/MarqueeTrack.mjs";
|
|
6
|
+
import a from "./components/ScrollTrack/ScrollTrack.mjs";
|
|
7
|
+
import { use as o } from "react";
|
|
8
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
9
|
+
import l from "clsx";
|
|
10
|
+
//#region src/elements/structure/Carousel/CarouselTrack/CarouselTrack.tsx
|
|
11
|
+
var u = ({ ref: e, className: u = "", children: d }) => {
|
|
12
|
+
let f = o(n), p = f?.items ?? [], m = f?.mode, h = p.length > 0;
|
|
13
|
+
return /* @__PURE__ */ c(t, {
|
|
14
|
+
ref: e,
|
|
15
|
+
className: l("plitzi-component__carousel-track", u),
|
|
16
|
+
children: [
|
|
17
|
+
!f && d,
|
|
18
|
+
f && !h && !f.live && /* @__PURE__ */ s("div", {
|
|
19
|
+
className: "carousel__slide--empty",
|
|
20
|
+
children: "This carousel has no items"
|
|
21
|
+
}),
|
|
22
|
+
f && h && m === "slide" && /* @__PURE__ */ s(r, {
|
|
23
|
+
source: f.source,
|
|
24
|
+
item: p[f.index],
|
|
25
|
+
position: f.index,
|
|
26
|
+
count: p.length,
|
|
27
|
+
className: l(f.live && f.moved && `carousel__slide--${f.transition}-${f.direction}`),
|
|
28
|
+
children: d
|
|
29
|
+
}, String(f.keys[f.index])),
|
|
30
|
+
f && h && m === "scroll" && /* @__PURE__ */ s(a, {
|
|
31
|
+
source: f.source,
|
|
32
|
+
items: p,
|
|
33
|
+
keys: f.keys,
|
|
34
|
+
scrollerRef: f.scrollerRef,
|
|
35
|
+
onScrolledTo: f.onScrolledTo,
|
|
36
|
+
children: d
|
|
37
|
+
}),
|
|
38
|
+
f && h && m === "marquee" && /* @__PURE__ */ s(i, {
|
|
39
|
+
source: f.source,
|
|
40
|
+
items: p,
|
|
41
|
+
keys: f.keys,
|
|
42
|
+
speed: f.speed,
|
|
43
|
+
pauseOnHover: f.pauseOnHover,
|
|
44
|
+
live: f.live,
|
|
45
|
+
children: d
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
}, d = e(u);
|
|
50
|
+
//#endregion
|
|
51
|
+
export { u as CarouselTrack, d as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/elements/structure/Carousel/CarouselTrack/Settings.tsx
|
|
3
|
+
var t = () => /* @__PURE__ */ e("div", {
|
|
4
|
+
className: "flex flex-col gap-4 py-2 text-xs",
|
|
5
|
+
children: "What is inside is one slide, rendered once per item."
|
|
6
|
+
});
|
|
7
|
+
//#endregion
|
|
8
|
+
export { t as default };
|
package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type CarouselSlideProps = {
|
|
3
|
+
/** The source the slide publishes its item under: the carousel's own. */
|
|
4
|
+
source: string;
|
|
5
|
+
item: unknown;
|
|
6
|
+
position: number;
|
|
7
|
+
count: number;
|
|
8
|
+
/** A marquee's second copy: there to close the loop, not read twice. */
|
|
9
|
+
copy?: boolean;
|
|
10
|
+
className?: string;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/** One slide: a group a screen reader announces as "3 of 11", reading its item as a list row does. */
|
|
14
|
+
declare const CarouselSlide: ({ source, item, position, count, copy, className, children }: CarouselSlideProps) => import('react').JSX.Element;
|
|
15
|
+
export default CarouselSlide;
|
package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import e from "../../../../List/modes/ListControlled/ListControlledItem.mjs";
|
|
2
|
+
import { Children as t } from "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import i from "clsx";
|
|
5
|
+
//#region src/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.tsx
|
|
6
|
+
var a = ({ source: a, item: o, position: s, count: c, copy: l = !1, className: u = "", children: d }) => {
|
|
7
|
+
let f = t.count(d) === 0;
|
|
8
|
+
return /* @__PURE__ */ r("div", {
|
|
9
|
+
className: i("carousel__slide", u),
|
|
10
|
+
role: "group",
|
|
11
|
+
"aria-roledescription": "slide",
|
|
12
|
+
"aria-label": `${String(s + 1)} of ${String(c)}`,
|
|
13
|
+
"aria-hidden": l || void 0,
|
|
14
|
+
inert: l || void 0,
|
|
15
|
+
children: [f && /* @__PURE__ */ n("div", {
|
|
16
|
+
className: "carousel__slide--empty",
|
|
17
|
+
children: `Slide ${String(s + 1)}`
|
|
18
|
+
}), !f && /* @__PURE__ */ n(e, {
|
|
19
|
+
index: s,
|
|
20
|
+
isTemplate: !1,
|
|
21
|
+
record: o,
|
|
22
|
+
source: a,
|
|
23
|
+
children: d
|
|
24
|
+
})]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { a as default };
|
package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type MarqueeTrackProps = {
|
|
3
|
+
source: string;
|
|
4
|
+
items: unknown[];
|
|
5
|
+
keys: readonly (string | number)[];
|
|
6
|
+
/** Pixels per second. */
|
|
7
|
+
speed: number;
|
|
8
|
+
pauseOnHover: boolean;
|
|
9
|
+
/** In the builder it stands still, one copy of the items. */
|
|
10
|
+
live: boolean;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The items scrolling past for ever: drawn twice, the second copy out of reach of readers and the keyboard, so the
|
|
15
|
+
* track moves half its length and starts again with no jump.
|
|
16
|
+
*/
|
|
17
|
+
declare const MarqueeTrack: ({ source, items, keys, speed, pauseOnHover, live, children }: MarqueeTrackProps) => import('react').JSX.Element;
|
|
18
|
+
export default MarqueeTrack;
|
package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import e from "../CarouselSlide/CarouselSlide.mjs";
|
|
2
|
+
import { useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
|
+
import o from "clsx";
|
|
5
|
+
//#region src/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.tsx
|
|
6
|
+
var s = ({ source: s, items: c, keys: l, speed: u, pauseOnHover: d, live: f, children: p }) => {
|
|
7
|
+
let m = n(null), [h, g] = r(void 0);
|
|
8
|
+
t(() => {
|
|
9
|
+
let e = m.current;
|
|
10
|
+
if (!e || u <= 0) return;
|
|
11
|
+
let t = () => g(e.scrollWidth / 2 / u);
|
|
12
|
+
t();
|
|
13
|
+
let n = new ResizeObserver(t);
|
|
14
|
+
return n.observe(e), () => n.disconnect();
|
|
15
|
+
}, [u, c.length]);
|
|
16
|
+
let _ = { "--plitzi-marquee-duration": `${String(h ?? 0)}s` };
|
|
17
|
+
return /* @__PURE__ */ a("div", {
|
|
18
|
+
ref: m,
|
|
19
|
+
className: o("carousel__marquee", {
|
|
20
|
+
"carousel__marquee--running": f && h !== void 0,
|
|
21
|
+
"carousel__marquee--pause-on-hover": d
|
|
22
|
+
}),
|
|
23
|
+
style: _,
|
|
24
|
+
children: [c.map((t, n) => /* @__PURE__ */ i(e, {
|
|
25
|
+
source: s,
|
|
26
|
+
item: t,
|
|
27
|
+
position: n,
|
|
28
|
+
count: c.length,
|
|
29
|
+
children: p
|
|
30
|
+
}, String(l[n]))), f && c.map((t, n) => /* @__PURE__ */ i(e, {
|
|
31
|
+
source: s,
|
|
32
|
+
item: t,
|
|
33
|
+
position: n,
|
|
34
|
+
count: c.length,
|
|
35
|
+
copy: !0,
|
|
36
|
+
children: p
|
|
37
|
+
}, `copy:${String(l[n])}`))]
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { s as default };
|
package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
|
+
export type ScrollTrackProps = {
|
|
3
|
+
source: string;
|
|
4
|
+
items: unknown[];
|
|
5
|
+
keys: readonly (string | number)[];
|
|
6
|
+
scrollerRef: RefObject<HTMLDivElement | null>;
|
|
7
|
+
onScrolledTo: (index: number) => void;
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
/** A row a visitor swipes, snapping to each slide; it tells the carousel which slide it is showing. */
|
|
11
|
+
declare const ScrollTrack: ({ source, items, keys, scrollerRef, onScrolledTo, children }: ScrollTrackProps) => import('react').JSX.Element;
|
|
12
|
+
export default ScrollTrack;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { slideStep as e } from "../../../carouselIndex.mjs";
|
|
2
|
+
import t from "../CarouselSlide/CarouselSlide.mjs";
|
|
3
|
+
import { useCallback as n, useRef as r } from "react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
//#region src/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.tsx
|
|
6
|
+
var a = ({ source: a, items: o, keys: s, scrollerRef: c, onScrolledTo: l, children: u }) => {
|
|
7
|
+
let d = r(0), f = n(() => {
|
|
8
|
+
cancelAnimationFrame(d.current), d.current = requestAnimationFrame(() => {
|
|
9
|
+
let t = c.current, n = t ? e(t) : 0;
|
|
10
|
+
t && n > 0 && l(Math.round(t.scrollLeft / n));
|
|
11
|
+
});
|
|
12
|
+
}, [c, l]);
|
|
13
|
+
return /* @__PURE__ */ i("div", {
|
|
14
|
+
ref: c,
|
|
15
|
+
className: "carousel__scroller",
|
|
16
|
+
onScroll: f,
|
|
17
|
+
children: o.map((e, n) => /* @__PURE__ */ i(t, {
|
|
18
|
+
source: a,
|
|
19
|
+
item: e,
|
|
20
|
+
position: n,
|
|
21
|
+
count: o.length,
|
|
22
|
+
children: u
|
|
23
|
+
}, String(s[n])))
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { a as default };
|