@zayne-labs/ui-react 0.9.18 → 0.9.20
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/css/theme.css +7 -1
- package/dist/esm/card-BBTJxmWt.js +95 -0
- package/dist/esm/card-BBTJxmWt.js.map +1 -0
- package/dist/esm/{carousel-Dznupnx8.js → carousel-Dvp-qURP.js} +2 -2
- package/dist/esm/{carousel-Dznupnx8.js.map → carousel-Dvp-qURP.js.map} +1 -1
- package/dist/esm/components/common/await/index.d.ts +5 -5
- package/dist/esm/components/common/await/index.js +1 -1
- package/dist/esm/components/common/error-boundary/index.d.ts +1 -1
- package/dist/esm/components/common/for/index.d.ts +1 -1
- package/dist/esm/components/common/index.d.ts +10 -10
- package/dist/esm/components/common/index.js +3 -3
- package/dist/esm/components/common/show/index.d.ts +1 -1
- package/dist/esm/components/common/show/index.js +2 -2
- package/dist/esm/components/common/slot/index.d.ts +1 -1
- package/dist/esm/components/common/suspense-with-boundary/index.d.ts +2 -2
- package/dist/esm/components/common/switch/index.d.ts +1 -1
- package/dist/esm/components/common/switch/index.js +2 -2
- package/dist/esm/components/common/teleport/index.d.ts +1 -1
- package/dist/esm/components/ui/card/index.d.ts +2 -2
- package/dist/esm/components/ui/card/index.js +2 -2
- package/dist/esm/components/ui/carousel/index.d.ts +1 -1
- package/dist/esm/components/ui/carousel/index.js +4 -4
- package/dist/esm/components/ui/drag-scroll/index.d.ts +1 -1
- package/dist/esm/components/ui/drop-zone/index.d.ts +2 -2
- package/dist/esm/components/ui/drop-zone/index.js +4 -4
- package/dist/esm/components/ui/form/index.d.ts +1 -1
- package/dist/esm/components/ui/form/index.js +2 -2
- package/dist/esm/components/ui/index.d.ts +6 -6
- package/dist/esm/components/ui/index.js +7 -7
- package/dist/esm/{drop-zone-_YK9C3Xj.js → drop-zone-Beip1k4x.js} +2 -2
- package/dist/esm/{drop-zone-_YK9C3Xj.js.map → drop-zone-Beip1k4x.js.map} +1 -1
- package/dist/esm/{form-DytCfL6R.js → form-6RV0u4YT.js} +4 -4
- package/dist/esm/form-6RV0u4YT.js.map +1 -0
- package/dist/esm/{getSlot-BIcGgBwN.js → getSlot-D1_uG-Ym.js} +2 -2
- package/dist/esm/{getSlot-BIcGgBwN.js.map → getSlot-D1_uG-Ym.js.map} +1 -1
- package/dist/esm/{getSlotMap-DA_uhXqU.d.ts → getSlotMap-DZlQN8--.d.ts} +2 -3
- package/dist/esm/{index-DnaUCh8d.d.ts → index-B3N6YbN8.d.ts} +2 -3
- package/dist/esm/{index-ASoFjmZ6.d.ts → index-BilTdK_M.d.ts} +7 -10
- package/dist/esm/{index-BSJ30pGj.d.ts → index-BsjcsNQh.d.ts} +4 -5
- package/dist/esm/{index-1UCPJf7B.d.ts → index-BwnMUHzm.d.ts} +2 -5
- package/dist/esm/{index-CqlM1M0j.d.ts → index-CFNg1R-m.d.ts} +5 -6
- package/dist/esm/{index-C0XZoIZD.d.ts → index-CGI7EVlK.d.ts} +2 -5
- package/dist/esm/{index-DQ1yFGd2.d.ts → index-CIM4YPg5.d.ts} +4 -6
- package/dist/esm/{index-BhpBx8dH.d.ts → index-CNE9Cime.d.ts} +2 -4
- package/dist/esm/{index-D-j2Cn1J.d.ts → index-DRiwJkJC.d.ts} +4 -5
- package/dist/esm/{index-BC0r1cBF.d.ts → index-DT8F8QKc.d.ts} +4 -7
- package/dist/esm/{index--1COprHP.d.ts → index-UX3DaMVe.d.ts} +2 -5
- package/dist/esm/{index-BuSQsDCX.d.ts → index-XYFc-mmy.d.ts} +4 -6
- package/dist/esm/{index-TBkPiipk.d.ts → index-YFi-sIuR.d.ts} +5 -9
- package/dist/esm/{index-CTZr4PTO.d.ts → index-gT9tVHv1.d.ts} +2 -3
- package/dist/esm/lib/utils/index.d.ts +2 -2
- package/dist/esm/lib/utils/index.js +1 -1
- package/dist/esm/{show-BgYrfIxJ.js → show-DNPzdLi-.js} +2 -2
- package/dist/esm/{show-BgYrfIxJ.js.map → show-DNPzdLi-.js.map} +1 -1
- package/dist/esm/{switch-PF5xTJfr.js → switch-B2gKl94R.js} +2 -2
- package/dist/esm/{switch-PF5xTJfr.js.map → switch-B2gKl94R.js.map} +1 -1
- package/dist/style.css +160 -8
- package/package.json +10 -10
- package/dist/esm/card-DRjs-vtv.js +0 -54
- package/dist/esm/card-DRjs-vtv.js.map +0 -1
- package/dist/esm/form-DytCfL6R.js.map +0 -1
package/css/theme.css
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
@theme {
|
|
2
|
-
--color-shadcn-muted-foreground:
|
|
2
|
+
--color-shadcn-muted-foreground: oklch(0.556 0 0);
|
|
3
|
+
--color-shadcn-destructive: oklch(0.577 0.245 27.325);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
:where(.dark, [data-theme="dark"]) {
|
|
7
|
+
--color-shadcn-muted-foreground: oklch(0.708 0 0);
|
|
8
|
+
--color-shadcn-destructive: oklch(0.704 0.191 22.216);
|
|
3
9
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { __export } from "./chunk-Cl8Af3a2.js";
|
|
2
|
+
import { SlotRoot } from "./slot-RXTKo4L7.js";
|
|
3
|
+
import { cnMerge } from "./cn-_FbtIrlZ.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/ui/card/card.tsx
|
|
8
|
+
function CardRoot(props) {
|
|
9
|
+
const { as: Element = "article",...restOfProps } = props;
|
|
10
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
11
|
+
"data-scope": "card",
|
|
12
|
+
"data-part": "root",
|
|
13
|
+
"data-slot": "card-root",
|
|
14
|
+
className: "flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
15
|
+
...restOfProps
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function CardHeader(props) {
|
|
19
|
+
const { as: Element = "header",...restOfProps } = props;
|
|
20
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
21
|
+
"data-scope": "card",
|
|
22
|
+
"data-part": "header",
|
|
23
|
+
"data-slot": "card-header",
|
|
24
|
+
className: "@container/card-header has-data-[slot=card-action]:grid-cols-[1fr_auto] grid\n auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6",
|
|
25
|
+
...restOfProps
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function CardTitle(props) {
|
|
29
|
+
const { as: Element = "h3", className,...restOfProps } = props;
|
|
30
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
31
|
+
"data-scope": "card",
|
|
32
|
+
"data-part": "title",
|
|
33
|
+
"data-slot": "card-title",
|
|
34
|
+
className: cnMerge("font-semibold leading-none", className),
|
|
35
|
+
...restOfProps
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function CardDescription(props) {
|
|
39
|
+
const { as: Element = "p", className,...restOfProps } = props;
|
|
40
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
41
|
+
"data-scope": "card",
|
|
42
|
+
"data-part": "description",
|
|
43
|
+
"data-slot": "card-description",
|
|
44
|
+
className: cnMerge("text-shadcn-muted-foreground text-sm", className),
|
|
45
|
+
...restOfProps
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function CardContent(props) {
|
|
49
|
+
const { as: Element = "div", className,...restOfProps } = props;
|
|
50
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
51
|
+
"data-scope": "card",
|
|
52
|
+
"data-part": "content",
|
|
53
|
+
"data-slot": "card-content",
|
|
54
|
+
className: cnMerge("px-6", className),
|
|
55
|
+
...restOfProps
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function CardAction(props) {
|
|
59
|
+
const { as: Element = "div", className,...restOfProps } = props;
|
|
60
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
61
|
+
"data-scope": "card",
|
|
62
|
+
"data-part": "action",
|
|
63
|
+
"data-slot": "card-action",
|
|
64
|
+
className: cnMerge("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
|
|
65
|
+
...restOfProps
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function CardFooter(props) {
|
|
69
|
+
const { as: Element = "footer", asChild, className,...restOfProps } = props;
|
|
70
|
+
const Component$1 = asChild ? SlotRoot : Element;
|
|
71
|
+
return /* @__PURE__ */ jsx(Component$1, {
|
|
72
|
+
"data-scope": "card",
|
|
73
|
+
"data-part": "footer",
|
|
74
|
+
"data-slot": "card-footer",
|
|
75
|
+
className: cnMerge("flex items-center px-6", className),
|
|
76
|
+
...restOfProps
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/components/ui/card/card-parts.ts
|
|
82
|
+
var card_parts_exports = {};
|
|
83
|
+
__export(card_parts_exports, {
|
|
84
|
+
Action: () => CardAction,
|
|
85
|
+
Content: () => CardContent,
|
|
86
|
+
Description: () => CardDescription,
|
|
87
|
+
Footer: () => CardFooter,
|
|
88
|
+
Header: () => CardHeader,
|
|
89
|
+
Root: () => CardRoot,
|
|
90
|
+
Title: () => CardTitle
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
export { CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle, card_parts_exports };
|
|
95
|
+
//# sourceMappingURL=card-BBTJxmWt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-BBTJxmWt.js","names":["props: PolymorphicProps<TElement>","props: PolymorphicProps<TElement, { asChild?: boolean }>","Component"],"sources":["../../src/components/ui/card/card.tsx","../../src/components/ui/card/card-parts.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { Slot } from \"@/components/common/slot\";\nimport { cnMerge } from \"@/lib/utils/cn\";\nimport type { PolymorphicProps } from \"@zayne-labs/toolkit-react/utils\";\n\nexport function CardRoot<TElement extends React.ElementType = \"article\">(\n\tprops: PolymorphicProps<TElement>\n) {\n\tconst { as: Element = \"article\", ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"root\"\n\t\t\tdata-slot=\"card-root\"\n\t\t\tclassName=\"flex flex-col gap-6 rounded-xl border py-6 shadow-sm\"\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardHeader<TElement extends React.ElementType = \"header\">(\n\tprops: PolymorphicProps<TElement>\n) {\n\tconst { as: Element = \"header\", ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"header\"\n\t\t\tdata-slot=\"card-header\"\n\t\t\tclassName=\"@container/card-header has-data-[slot=card-action]:grid-cols-[1fr_auto] grid\n\t\t\t\tauto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6\"\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardTitle<TElement extends React.ElementType = \"h3\">(props: PolymorphicProps<TElement>) {\n\tconst { as: Element = \"h3\", className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"title\"\n\t\t\tdata-slot=\"card-title\"\n\t\t\tclassName={cnMerge(\"font-semibold leading-none\", className)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardDescription<TElement extends React.ElementType = \"p\">(\n\tprops: PolymorphicProps<TElement>\n) {\n\tconst { as: Element = \"p\", className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"description\"\n\t\t\tdata-slot=\"card-description\"\n\t\t\tclassName={cnMerge(\"text-shadcn-muted-foreground text-sm\", className)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardContent<TElement extends React.ElementType = \"div\">(\n\tprops: PolymorphicProps<TElement>\n) {\n\tconst { as: Element = \"div\", className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"content\"\n\t\t\tdata-slot=\"card-content\"\n\t\t\tclassName={cnMerge(\"px-6\", className)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardAction<TElement extends React.ElementType = \"div\">(props: PolymorphicProps<TElement>) {\n\tconst { as: Element = \"div\", className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"action\"\n\t\t\tdata-slot=\"card-action\"\n\t\t\tclassName={cnMerge(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nexport function CardFooter<TElement extends React.ElementType = \"footer\">(\n\tprops: PolymorphicProps<TElement, { asChild?: boolean }>\n) {\n\tconst { as: Element = \"footer\", asChild, className, ...restOfProps } = props;\n\n\tconst Component = asChild ? Slot.Root : Element;\n\n\treturn (\n\t\t<Component\n\t\t\tdata-scope=\"card\"\n\t\t\tdata-part=\"footer\"\n\t\t\tdata-slot=\"card-footer\"\n\t\t\tclassName={cnMerge(\"flex items-center px-6\", className)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n","export {\n\tCardContent as Content,\n\tCardDescription as Description,\n\tCardFooter as Footer,\n\tCardHeader as Header,\n\tCardAction as Action,\n\tCardRoot as Root,\n\tCardTitle as Title,\n} from \"./card\";\n"],"mappings":";;;;;;;AAMA,SAAgB,SACfA,OACC;CACD,MAAM,EAAE,IAAI,UAAU,UAAW,GAAG,aAAa,GAAG;AAEpD,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAU;EACV,GAAI;GACH;AAEH;AAED,SAAgB,WACfA,OACC;CACD,MAAM,EAAE,IAAI,UAAU,SAAU,GAAG,aAAa,GAAG;AAEnD,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAU;EAEV,GAAI;GACH;AAEH;AAED,SAAgB,UAAqDA,OAAmC;CACvG,MAAM,EAAE,IAAI,UAAU,MAAM,UAAW,GAAG,aAAa,GAAG;AAE1D,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAW,QAAQ,8BAA8B,UAAU;EAC3D,GAAI;GACH;AAEH;AAED,SAAgB,gBACfA,OACC;CACD,MAAM,EAAE,IAAI,UAAU,KAAK,UAAW,GAAG,aAAa,GAAG;AAEzD,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAW,QAAQ,wCAAwC,UAAU;EACrE,GAAI;GACH;AAEH;AAED,SAAgB,YACfA,OACC;CACD,MAAM,EAAE,IAAI,UAAU,OAAO,UAAW,GAAG,aAAa,GAAG;AAE3D,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAW,QAAQ,QAAQ,UAAU;EACrC,GAAI;GACH;AAEH;AAED,SAAgB,WAAuDA,OAAmC;CACzG,MAAM,EAAE,IAAI,UAAU,OAAO,UAAW,GAAG,aAAa,GAAG;AAE3D,wBACC,IAAC;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAW,QAAQ,kEAAkE,UAAU;EAC/F,GAAI;GACH;AAEH;AAED,SAAgB,WACfC,OACC;CACD,MAAM,EAAE,IAAI,UAAU,UAAU,SAAS,UAAW,GAAG,aAAa,GAAG;CAEvE,MAAMC,cAAY,qBAAsB;AAExC,wBACC,IAACA;EACA,cAAW;EACX,aAAU;EACV,aAAU;EACV,WAAW,QAAQ,0BAA0B,UAAU;EACvD,GAAI;GACH;AAEH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __export } from "./chunk-Cl8Af3a2.js";
|
|
2
2
|
import { getElementList } from "./for-aTw1TgJo.js";
|
|
3
|
-
import { ShowFallback, ShowRoot } from "./show-
|
|
3
|
+
import { ShowFallback, ShowRoot } from "./show-DNPzdLi-.js";
|
|
4
4
|
import { cnMerge } from "./cn-_FbtIrlZ.js";
|
|
5
5
|
import { useEffect, useState } from "react";
|
|
6
6
|
import { useAnimationInterval, useCallbackRef, useConstant } from "@zayne-labs/toolkit-react";
|
|
@@ -267,4 +267,4 @@ __export(carousel_parts_exports, {
|
|
|
267
267
|
|
|
268
268
|
//#endregion
|
|
269
269
|
export { CarouselButton, CarouselCaption, CarouselContent, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, carousel_parts_exports };
|
|
270
|
-
//# sourceMappingURL=carousel-
|
|
270
|
+
//# sourceMappingURL=carousel-Dvp-qURP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-Dznupnx8.js","names":["storeValues: PrettyOmit<CarouselProviderProps<TImages>, \"children\">","props: Omit<CarouselProviderProps<TImages>, \"children\">","props: CarouselProviderProps<TImages>","props: React.SVGProps<SVGSVGElement>","options: CarouselOptions","props: PolymorphicProps<TElement, CarouselContentProps>","props: CarouselButtonsProps","props: CarouselControlProps","props: CarouselWrapperProps<TArrayItem>","props: PolymorphicProps<TElement, OtherCarouselProps>","props: CarouselIndicatorProps"],"sources":["../../src/components/ui/carousel/carousel-store-context.tsx","../../src/components/ui/carousel/icons.tsx","../../src/components/ui/carousel/useCarouselOptions.ts","../../src/components/ui/carousel/carousel.tsx","../../src/components/ui/carousel/carousel-parts.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { useConstant } from \"@zayne-labs/toolkit-react\";\nimport { createZustandContext } from \"@zayne-labs/toolkit-react/zustand\";\nimport type { PrettyOmit } from \"@zayne-labs/toolkit-type-helpers\";\nimport { useEffect } from \"react\";\nimport { create } from \"zustand\";\nimport type { CarouselProviderProps, CarouselStore, ImagesType } from \"./types\";\n\nconst [Provider, useCarouselStoreContext] = createZustandContext<CarouselStore>({\n\thookName: \"useCarouselStore\",\n\tname: \"CarouselStoreContext\",\n\tproviderName: \"CarouselContextProvider\",\n});\n\n// CarouselStore Creation\nconst createCarouselStore = <TImages extends ImagesType>(\n\tstoreValues: PrettyOmit<CarouselProviderProps<TImages>, \"children\">\n) => {\n\tconst { images, onSlideBtnClick } = storeValues;\n\n\tconst useInitCarouselStore = create<CarouselStore<TImages>>()((set, get) => ({\n\t\tcurrentSlide: 0,\n\t\timages,\n\t\tmaxSlide: images.length - 1,\n\n\t\t/* eslint-disable perfectionist/sort-objects -- actions should be last */\n\t\tactions: {\n\t\t\t/* eslint-enable perfectionist/sort-objects -- actions should be last */\n\n\t\t\tgoToNextSlide: () => {\n\t\t\t\tconst { currentSlide, maxSlide } = get();\n\t\t\t\tconst { goToSlide } = get().actions;\n\n\t\t\t\tif (currentSlide === maxSlide) {\n\t\t\t\t\tgoToSlide(0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tgoToSlide(currentSlide + 1);\n\t\t\t},\n\n\t\t\tgoToPreviousSlide: () => {\n\t\t\t\tconst { currentSlide, maxSlide } = get();\n\t\t\t\tconst { goToSlide } = get().actions;\n\n\t\t\t\tif (currentSlide === 0) {\n\t\t\t\t\tgoToSlide(maxSlide);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tgoToSlide(currentSlide - 1);\n\t\t\t},\n\n\t\t\tgoToSlide: (newValue) => {\n\t\t\t\tonSlideBtnClick?.();\n\n\t\t\t\tset({ currentSlide: newValue });\n\t\t\t},\n\t\t},\n\t}));\n\n\treturn useInitCarouselStore;\n};\n\nconst useCarousel = <TImages extends ImagesType>(\n\tprops: Omit<CarouselProviderProps<TImages>, \"children\">\n) => {\n\tconst { images, onSlideBtnClick } = props;\n\n\tconst useInitCarouselStore = useConstant(() => createCarouselStore({ images, onSlideBtnClick }));\n\n\t// == To set images again when a page is mounted, preventing stale images from previous page\n\tuseEffect(() => {\n\t\tuseInitCarouselStore.setState({ images });\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps -- useInitCarouselStore is stable\n\t}, [images]);\n\n\treturn useInitCarouselStore;\n};\n\n// == Provider Component\nfunction CarouselContextProvider<TImages extends ImagesType>(props: CarouselProviderProps<TImages>) {\n\tconst { children, images, onSlideBtnClick } = props;\n\n\tconst useInitCarouselStore = useCarousel({ images, onSlideBtnClick });\n\n\treturn <Provider value={useInitCarouselStore}>{children}</Provider>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components -- It's fine\nexport { useCarouselStoreContext, CarouselContextProvider };\n","import * as React from \"react\";\n\nexport const ChevronLeftIcon = (props: React.SVGProps<SVGSVGElement>) => (\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n\t\t<g fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\">\n\t\t\t<circle cx=\"12\" cy=\"12\" r=\"10\" />\n\t\t\t<path d=\"m14 16l-4-4l4-4\" />\n\t\t</g>\n\t</svg>\n);\n","import { useAnimationInterval, useCallbackRef } from \"@zayne-labs/toolkit-react\";\nimport { useState } from \"react\";\nimport { useCarouselStoreContext } from \"./carousel-store-context\";\n\ntype CarouselOptions = {\n\tautoSlideInterval?: number;\n\thasAutoSlide?: boolean;\n\tshouldPauseOnHover?: boolean;\n};\n\nconst useCarouselOptions = (options: CarouselOptions = {}) => {\n\tconst { autoSlideInterval = 5000, hasAutoSlide = false, shouldPauseOnHover = false } = options;\n\n\tconst { goToNextSlide } = useCarouselStoreContext((state) => state.actions);\n\n\tconst [isPaused, setIsPaused] = useState(false);\n\n\tconst shouldAutoSlide = hasAutoSlide && !isPaused;\n\n\tuseAnimationInterval({\n\t\tintervalDuration: shouldAutoSlide ? autoSlideInterval : null,\n\t\tonAnimation: goToNextSlide,\n\t});\n\n\tconst pauseAutoSlide = useCallbackRef(() => shouldPauseOnHover && setIsPaused(true));\n\n\tconst resumeAutoSlide = useCallbackRef(() => shouldPauseOnHover && setIsPaused(false));\n\n\treturn { pauseAutoSlide, resumeAutoSlide };\n};\n\nexport { useCarouselOptions };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { Show } from \"@/components/common\";\nimport { getElementList } from \"@/components/common/for\";\nimport { cnMerge } from \"@/lib/utils/cn\";\nimport type { CssWithCustomProperties, PolymorphicProps } from \"@zayne-labs/toolkit-react/utils\";\nimport { useCarouselStoreContext } from \"./carousel-store-context\";\nimport { ChevronLeftIcon } from \"./icons\";\nimport type {\n\tCarouselButtonsProps,\n\tCarouselContentProps,\n\tCarouselControlProps,\n\tCarouselIndicatorProps,\n\tCarouselWrapperProps,\n\tOtherCarouselProps,\n} from \"./types\";\nimport { useCarouselOptions } from \"./useCarouselOptions\";\n\n// TODO - Add dragging and swiping support\nexport function CarouselContent<TElement extends React.ElementType = \"article\">(\n\tprops: PolymorphicProps<TElement, CarouselContentProps>\n) {\n\tconst {\n\t\tas: HtmlElement = \"article\",\n\t\tautoSlideInterval,\n\t\tchildren,\n\t\tclassNames,\n\t\thasAutoSlide,\n\t\tshouldPauseOnHover,\n\t} = props;\n\n\tconst { pauseAutoSlide, resumeAutoSlide } = useCarouselOptions({\n\t\tautoSlideInterval,\n\t\thasAutoSlide,\n\t\tshouldPauseOnHover,\n\t});\n\n\t// FIXME - Prevent touch swipe on mobile using a cover element or allow swipe but it must update the state appropriately\n\treturn (\n\t\t<HtmlElement\n\t\t\tdata-id=\"Carousel\"\n\t\t\tclassName={cnMerge(\"relative select-none\", classNames?.base)}\n\t\t\tonMouseEnter={pauseAutoSlide}\n\t\t\tonMouseLeave={resumeAutoSlide}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-id=\"Scroll Container\"\n\t\t\t\tclassName={cnMerge(\n\t\t\t\t\t\"flex size-full overflow-x-scroll [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n\t\t\t\t\tclassNames?.scrollContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</HtmlElement>\n\t);\n}\n\nexport function CarouselButton(props: CarouselButtonsProps) {\n\tconst { classNames, icon, variant } = props;\n\n\tconst { goToNextSlide, goToPreviousSlide } = useCarouselStoreContext((state) => state.actions);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t\"z-30 flex h-full w-fit items-center\",\n\t\t\t\tvariant === \"prev\" ? \"justify-start\" : \"justify-end\",\n\t\t\t\tclassNames?.base\n\t\t\t)}\n\t\t\tonClick={variant === \"prev\" ? goToPreviousSlide : goToNextSlide}\n\t\t>\n\t\t\t<span className={cnMerge(\"transition-transform active:scale-[1.06]\", classNames?.iconContainer)}>\n\t\t\t\t{icon ?? (\n\t\t\t\t\t<ChevronLeftIcon\n\t\t\t\t\t\tclassName={cnMerge(variant === \"next\" && \"rotate-180\", classNames?.defaultIcon)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n\nexport function CarouselControls(props: CarouselControlProps) {\n\tconst { classNames, icon } = props;\n\n\treturn (\n\t\t<div className={cnMerge(\"absolute inset-0 flex justify-between\", classNames?.base)}>\n\t\t\t<Show.Root when={icon?.iconType}>\n\t\t\t\t<CarouselButton\n\t\t\t\t\tvariant=\"prev\"\n\t\t\t\t\tclassNames={{\n\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\ticonContainer: cnMerge(\n\t\t\t\t\t\t\ticon?.iconType === \"nextIcon\" && \"rotate-180\",\n\t\t\t\t\t\t\tclassNames?.iconContainer\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t\ticon={icon?.icon}\n\t\t\t\t/>\n\n\t\t\t\t<CarouselButton\n\t\t\t\t\tvariant=\"next\"\n\t\t\t\t\tclassNames={{\n\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\ticonContainer: cnMerge(\n\t\t\t\t\t\t\ticon?.iconType === \"prevIcon\" && \"rotate-180\",\n\t\t\t\t\t\t\tclassNames?.iconContainer\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t\ticon={icon?.icon}\n\t\t\t\t/>\n\n\t\t\t\t<Show.Otherwise>\n\t\t\t\t\t<CarouselButton\n\t\t\t\t\t\tvariant=\"prev\"\n\t\t\t\t\t\tclassNames={{\n\t\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\t\ticonContainer: classNames?.iconContainer,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={icon?.prev}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<CarouselButton\n\t\t\t\t\t\tvariant=\"next\"\n\t\t\t\t\t\tclassNames={{\n\t\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\t\ticonContainer: classNames?.iconContainer,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={icon?.next}\n\t\t\t\t\t/>\n\t\t\t\t</Show.Otherwise>\n\t\t\t</Show.Root>\n\t\t</div>\n\t);\n}\n\nexport function CarouselItemGroup<TArrayItem>(props: CarouselWrapperProps<TArrayItem>) {\n\tconst { children, className, each, render } = props;\n\n\tconst [ItemList] = getElementList(\"base\");\n\tconst currentSlide = useCarouselStoreContext((state) => state.currentSlide);\n\tconst images = useCarouselStoreContext((state) => each ?? (state.images as TArrayItem[]));\n\n\treturn (\n\t\t<ul\n\t\t\tdata-id=\"Carousel Image Wrapper\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t`flex w-full shrink-0 snap-center [transform:translate3d(var(--translate-distance),0,0)]\n\t\t\t\t[transition:transform_800ms_ease]`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t\"--translate-distance\": `-${currentSlide * 100}%`,\n\t\t\t\t} satisfies CssWithCustomProperties as CssWithCustomProperties\n\t\t\t}\n\t\t>\n\t\t\t{typeof render === \"function\" ? (\n\t\t\t\t<ItemList each={images} render={render} />\n\t\t\t) : (\n\t\t\t\t<ItemList each={images}>{children}</ItemList>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n\nexport function CarouselItem({ children, className, ...restOfProps }: OtherCarouselProps) {\n\treturn (\n\t\t<li\n\t\t\tclassName={cnMerge(\"flex w-full shrink-0 snap-center justify-center\", className)}\n\t\t\t{...restOfProps}\n\t\t>\n\t\t\t{children}\n\t\t</li>\n\t);\n}\n\nexport function CarouselCaption<TElement extends React.ElementType = \"div\">(\n\tprops: PolymorphicProps<TElement, OtherCarouselProps>\n) {\n\tconst { as: HtmlElement = \"div\", children, className } = props;\n\n\treturn (\n\t\t<HtmlElement data-id=\"Carousel Caption\" className={cnMerge(\"absolute z-10\", className)}>\n\t\t\t{children}\n\t\t</HtmlElement>\n\t);\n}\n\nexport function CarouselIndicatorGroup<TArrayItem>(props: CarouselWrapperProps<TArrayItem>) {\n\tconst { children, className, each, render } = props;\n\n\tconst images = useCarouselStoreContext((state) => each ?? (state.images as TArrayItem[]));\n\tconst [IndicatorList] = getElementList(\"base\");\n\n\treturn (\n\t\t<ul\n\t\t\tdata-id=\"Carousel Indicators\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t\"absolute bottom-[25px] z-[2] flex w-full items-center justify-center gap-[15px]\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t{typeof render === \"function\" ? (\n\t\t\t\t<IndicatorList each={images} render={render} />\n\t\t\t) : (\n\t\t\t\t<IndicatorList each={images}>{children}</IndicatorList>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n\nexport function CarouselIndicator(props: CarouselIndicatorProps) {\n\tconst { classNames, currentIndex } = props;\n\n\tconst {\n\t\tactions: { goToSlide },\n\t\tcurrentSlide,\n\t} = useCarouselStoreContext((state) => state);\n\n\treturn (\n\t\t<li className={cnMerge(\"inline-flex\", classNames?.base)}>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => goToSlide(currentIndex)}\n\t\t\t\tclassName={cnMerge(\n\t\t\t\t\t\"size-[6px] rounded-[50%]\",\n\t\t\t\t\tclassNames?.base,\n\t\t\t\t\tcurrentIndex === currentSlide && [\"w-[35px] rounded-[5px]\", classNames?.isActive]\n\t\t\t\t)}\n\t\t\t/>\n\t\t</li>\n\t);\n}\n","export { CarouselContextProvider as Root } from \"./carousel-store-context\";\nexport {\n\tCarouselContent as Content,\n\tCarouselControls as Controls,\n\tCarouselButton as Button,\n\tCarouselItem as Item,\n\tCarouselItemGroup as ItemGroup,\n\tCarouselCaption as Caption,\n\tCarouselIndicator as Indicator,\n\tCarouselIndicatorGroup as IndicatorGroup,\n} from \"./carousel\";\n"],"mappings":";;;;;;;;;;;AASA,MAAM,CAAC,UAAU,wBAAwB,GAAG,qBAAoC;CAC/E,UAAU;CACV,MAAM;CACN,cAAc;AACd,EAAC;AAGF,MAAM,sBAAsB,CAC3BA,gBACI;CACJ,MAAM,EAAE,QAAQ,iBAAiB,GAAG;CAEpC,MAAM,uBAAuB,QAAgC,CAAC,CAAC,KAAK,SAAS;EAC5E,cAAc;EACd;EACA,UAAU,OAAO,SAAS;EAG1B,SAAS;GAGR,eAAe,MAAM;IACpB,MAAM,EAAE,cAAc,UAAU,GAAG,KAAK;IACxC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC;AAE5B,QAAI,iBAAiB,UAAU;AAC9B,eAAU,EAAE;AACZ;IACA;AAED,cAAU,eAAe,EAAE;GAC3B;GAED,mBAAmB,MAAM;IACxB,MAAM,EAAE,cAAc,UAAU,GAAG,KAAK;IACxC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC;AAE5B,QAAI,iBAAiB,GAAG;AACvB,eAAU,SAAS;AACnB;IACA;AAED,cAAU,eAAe,EAAE;GAC3B;GAED,WAAW,CAAC,aAAa;AACxB,uBAAmB;AAEnB,QAAI,EAAE,cAAc,SAAU,EAAC;GAC/B;EACD;CACD,GAAE;AAEH,QAAO;AACP;AAED,MAAM,cAAc,CACnBC,UACI;CACJ,MAAM,EAAE,QAAQ,iBAAiB,GAAG;CAEpC,MAAM,uBAAuB,YAAY,MAAM,oBAAoB;EAAE;EAAQ;CAAiB,EAAC,CAAC;AAGhG,WAAU,MAAM;AACf,uBAAqB,SAAS,EAAE,OAAQ,EAAC;CAEzC,GAAE,CAAC,MAAO,EAAC;AAEZ,QAAO;AACP;AAGD,SAAS,wBAAoDC,OAAuC;CACnG,MAAM,EAAE,UAAU,QAAQ,iBAAiB,GAAG;CAE9C,MAAM,uBAAuB,YAAY;EAAE;EAAQ;CAAiB,EAAC;AAErE,wBAAO,IAAC;EAAS,OAAO;EAAuB;GAAoB;AACnE;;;;ACtFD,MAAa,kBAAkB,CAACC,0BAC/B,IAAC;CAAI,OAAM;CAA6B,OAAM;CAAM,QAAO;CAAM,SAAQ;CAAY,GAAI;2BACxF,KAAC;EAAE,MAAK;EAAO,QAAO;EAAe,eAAc;EAAQ,gBAAe;EAAQ,aAAY;6BAC7F,IAAC;GAAO,IAAG;GAAK,IAAG;GAAK,GAAE;IAAO,kBACjC,IAAC,UAAK,GAAE,oBAAoB;GACzB;EACC;;;;ACEP,MAAM,qBAAqB,CAACC,UAA2B,CAAE,MAAK;CAC7D,MAAM,EAAE,oBAAoB,KAAM,eAAe,OAAO,qBAAqB,OAAO,GAAG;CAEvF,MAAM,EAAE,eAAe,GAAG,wBAAwB,CAAC,UAAU,MAAM,QAAQ;CAE3E,MAAM,CAAC,UAAU,YAAY,GAAG,SAAS,MAAM;CAE/C,MAAM,kBAAkB,iBAAiB;AAEzC,sBAAqB;EACpB,kBAAkB,kBAAkB,oBAAoB;EACxD,aAAa;CACb,EAAC;CAEF,MAAM,iBAAiB,eAAe,MAAM,sBAAsB,YAAY,KAAK,CAAC;CAEpF,MAAM,kBAAkB,eAAe,MAAM,sBAAsB,YAAY,MAAM,CAAC;AAEtF,QAAO;EAAE;EAAgB;CAAiB;AAC1C;;;;ACRD,SAAgB,gBACfC,OACC;CACD,MAAM,EACL,IAAI,cAAc,WAClB,mBACA,UACA,YACA,cACA,oBACA,GAAG;CAEJ,MAAM,EAAE,gBAAgB,iBAAiB,GAAG,mBAAmB;EAC9D;EACA;EACA;CACA,EAAC;AAGF,wBACC,IAAC;EACA,WAAQ;EACR,WAAW,QAAQ,wBAAwB,YAAY,KAAK;EAC5D,cAAc;EACd,cAAc;4BAEd,IAAC;GACA,WAAQ;GACR,WAAW,QACV,yFACA,YAAY,gBACZ;GAEA;IACI;GACO;AAEf;AAED,SAAgB,eAAeC,OAA6B;CAC3D,MAAM,EAAE,YAAY,MAAM,SAAS,GAAG;CAEtC,MAAM,EAAE,eAAe,mBAAmB,GAAG,wBAAwB,CAAC,UAAU,MAAM,QAAQ;AAE9F,wBACC,IAAC;EACA,MAAK;EACL,WAAW,QACV,uCACA,YAAY,SAAS,kBAAkB,eACvC,YAAY,KACZ;EACD,SAAS,YAAY,SAAS,oBAAoB;4BAElD,IAAC;GAAK,WAAW,QAAQ,4CAA4C,YAAY,cAAc;aAC7F,wBACA,IAAC,mBACA,WAAW,QAAQ,YAAY,UAAU,cAAc,YAAY,YAAY,GAC9E;IAEG;GACC;AAEV;AAED,SAAgB,iBAAiBC,OAA6B;CAC7D,MAAM,EAAE,YAAY,MAAM,GAAG;AAE7B,wBACC,IAAC;EAAI,WAAW,QAAQ,yCAAyC,YAAY,KAAK;4BACjF;GAAW,MAAM,MAAM;;oBACtB,IAAC;KACA,SAAQ;KACR,YAAY;MACX,aAAa,YAAY;MACzB,eAAe,QACd,MAAM,aAAa,cAAc,cACjC,YAAY,cACZ;KACD;KACD,MAAM,MAAM;MACX;oBAEF,IAAC;KACA,SAAQ;KACR,YAAY;MACX,aAAa,YAAY;MACzB,eAAe,QACd,MAAM,aAAa,cAAc,cACjC,YAAY,cACZ;KACD;KACD,MAAM,MAAM;MACX;oBAEF,gDACC,IAAC;KACA,SAAQ;KACR,YAAY;MACX,aAAa,YAAY;MACzB,eAAe,YAAY;KAC3B;KACD,MAAM,MAAM;MACX,kBAEF,IAAC;KACA,SAAQ;KACR,YAAY;MACX,aAAa,YAAY;MACzB,eAAe,YAAY;KAC3B;KACD,MAAM,MAAM;MACX,IACc;;IACN;GACP;AAEP;AAED,SAAgB,kBAA8BC,OAAyC;CACtF,MAAM,EAAE,UAAU,WAAW,MAAM,QAAQ,GAAG;CAE9C,MAAM,CAAC,SAAS,GAAG,eAAe,OAAO;CACzC,MAAM,eAAe,wBAAwB,CAAC,UAAU,MAAM,aAAa;CAC3E,MAAM,SAAS,wBAAwB,CAAC,UAAU,QAAS,MAAM,OAAwB;AAEzF,wBACC,IAAC;EACA,WAAQ;EACR,WAAW,SACT;wCAED,UACA;EACD,OACC,EACC,yBAAyB,GAAG,eAAe,IAAI,GAC/C;mBAGM,WAAW,6BAClB,IAAC;GAAS,MAAM;GAAgB;IAAU,mBAE1C,IAAC;GAAS,MAAM;GAAS;IAAoB;GAE1C;AAEN;AAED,SAAgB,aAAa,EAAE,UAAU,UAAW,GAAG,aAAiC,EAAE;AACzF,wBACC,IAAC;EACA,WAAW,QAAQ,mDAAmD,UAAU;EAChF,GAAI;EAEH;GACG;AAEN;AAED,SAAgB,gBACfC,OACC;CACD,MAAM,EAAE,IAAI,cAAc,OAAO,UAAU,WAAW,GAAG;AAEzD,wBACC,IAAC;EAAY,WAAQ;EAAmB,WAAW,QAAQ,iBAAiB,UAAU;EACpF;GACY;AAEf;AAED,SAAgB,uBAAmCD,OAAyC;CAC3F,MAAM,EAAE,UAAU,WAAW,MAAM,QAAQ,GAAG;CAE9C,MAAM,SAAS,wBAAwB,CAAC,UAAU,QAAS,MAAM,OAAwB;CACzF,MAAM,CAAC,cAAc,GAAG,eAAe,OAAO;AAE9C,wBACC,IAAC;EACA,WAAQ;EACR,WAAW,QACV,mFACA,UACA;mBAEO,WAAW,6BAClB,IAAC;GAAc,MAAM;GAAgB;IAAU,mBAE/C,IAAC;GAAc,MAAM;GAAS;IAAyB;GAEpD;AAEN;AAED,SAAgB,kBAAkBE,OAA+B;CAChE,MAAM,EAAE,YAAY,cAAc,GAAG;CAErC,MAAM,EACL,SAAS,EAAE,WAAW,EACtB,cACA,GAAG,wBAAwB,CAAC,UAAU,MAAM;AAE7C,wBACC,IAAC;EAAG,WAAW,QAAQ,eAAe,YAAY,KAAK;4BACtD,IAAC;GACA,MAAK;GACL,SAAS,MAAM,UAAU,aAAa;GACtC,WAAW,QACV,4BACA,YAAY,MACZ,iBAAiB,gBAAgB,CAAC,0BAA0B,YAAY,QAAS,EACjF;IACA;GACE;AAEN"}
|
|
1
|
+
{"version":3,"file":"carousel-Dvp-qURP.js","names":["storeValues: PrettyOmit<CarouselProviderProps<TImages>, \"children\">","props: Omit<CarouselProviderProps<TImages>, \"children\">","props: CarouselProviderProps<TImages>","props: React.SVGProps<SVGSVGElement>","options: CarouselOptions","props: PolymorphicProps<TElement, CarouselContentProps>","props: CarouselButtonsProps","props: CarouselControlProps","props: CarouselWrapperProps<TArrayItem>","props: PolymorphicProps<TElement, OtherCarouselProps>","props: CarouselIndicatorProps"],"sources":["../../src/components/ui/carousel/carousel-store-context.tsx","../../src/components/ui/carousel/icons.tsx","../../src/components/ui/carousel/useCarouselOptions.ts","../../src/components/ui/carousel/carousel.tsx","../../src/components/ui/carousel/carousel-parts.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { useConstant } from \"@zayne-labs/toolkit-react\";\nimport { createZustandContext } from \"@zayne-labs/toolkit-react/zustand\";\nimport type { PrettyOmit } from \"@zayne-labs/toolkit-type-helpers\";\nimport { useEffect } from \"react\";\nimport { create } from \"zustand\";\nimport type { CarouselProviderProps, CarouselStore, ImagesType } from \"./types\";\n\nconst [Provider, useCarouselStoreContext] = createZustandContext<CarouselStore>({\n\thookName: \"useCarouselStore\",\n\tname: \"CarouselStoreContext\",\n\tproviderName: \"CarouselContextProvider\",\n});\n\n// CarouselStore Creation\nconst createCarouselStore = <TImages extends ImagesType>(\n\tstoreValues: PrettyOmit<CarouselProviderProps<TImages>, \"children\">\n) => {\n\tconst { images, onSlideBtnClick } = storeValues;\n\n\tconst useInitCarouselStore = create<CarouselStore<TImages>>()((set, get) => ({\n\t\tcurrentSlide: 0,\n\t\timages,\n\t\tmaxSlide: images.length - 1,\n\n\t\t/* eslint-disable perfectionist/sort-objects -- actions should be last */\n\t\tactions: {\n\t\t\t/* eslint-enable perfectionist/sort-objects -- actions should be last */\n\n\t\t\tgoToNextSlide: () => {\n\t\t\t\tconst { currentSlide, maxSlide } = get();\n\t\t\t\tconst { goToSlide } = get().actions;\n\n\t\t\t\tif (currentSlide === maxSlide) {\n\t\t\t\t\tgoToSlide(0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tgoToSlide(currentSlide + 1);\n\t\t\t},\n\n\t\t\tgoToPreviousSlide: () => {\n\t\t\t\tconst { currentSlide, maxSlide } = get();\n\t\t\t\tconst { goToSlide } = get().actions;\n\n\t\t\t\tif (currentSlide === 0) {\n\t\t\t\t\tgoToSlide(maxSlide);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tgoToSlide(currentSlide - 1);\n\t\t\t},\n\n\t\t\tgoToSlide: (newValue) => {\n\t\t\t\tonSlideBtnClick?.();\n\n\t\t\t\tset({ currentSlide: newValue });\n\t\t\t},\n\t\t},\n\t}));\n\n\treturn useInitCarouselStore;\n};\n\nconst useCarousel = <TImages extends ImagesType>(\n\tprops: Omit<CarouselProviderProps<TImages>, \"children\">\n) => {\n\tconst { images, onSlideBtnClick } = props;\n\n\tconst useInitCarouselStore = useConstant(() => createCarouselStore({ images, onSlideBtnClick }));\n\n\t// == To set images again when a page is mounted, preventing stale images from previous page\n\tuseEffect(() => {\n\t\tuseInitCarouselStore.setState({ images });\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps -- useInitCarouselStore is stable\n\t}, [images]);\n\n\treturn useInitCarouselStore;\n};\n\n// == Provider Component\nfunction CarouselContextProvider<TImages extends ImagesType>(props: CarouselProviderProps<TImages>) {\n\tconst { children, images, onSlideBtnClick } = props;\n\n\tconst useInitCarouselStore = useCarousel({ images, onSlideBtnClick });\n\n\treturn <Provider value={useInitCarouselStore}>{children}</Provider>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components -- It's fine\nexport { useCarouselStoreContext, CarouselContextProvider };\n","import * as React from \"react\";\n\nexport const ChevronLeftIcon = (props: React.SVGProps<SVGSVGElement>) => (\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n\t\t<g fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\">\n\t\t\t<circle cx=\"12\" cy=\"12\" r=\"10\" />\n\t\t\t<path d=\"m14 16l-4-4l4-4\" />\n\t\t</g>\n\t</svg>\n);\n","import { useAnimationInterval, useCallbackRef } from \"@zayne-labs/toolkit-react\";\nimport { useState } from \"react\";\nimport { useCarouselStoreContext } from \"./carousel-store-context\";\n\ntype CarouselOptions = {\n\tautoSlideInterval?: number;\n\thasAutoSlide?: boolean;\n\tshouldPauseOnHover?: boolean;\n};\n\nconst useCarouselOptions = (options: CarouselOptions = {}) => {\n\tconst { autoSlideInterval = 5000, hasAutoSlide = false, shouldPauseOnHover = false } = options;\n\n\tconst { goToNextSlide } = useCarouselStoreContext((state) => state.actions);\n\n\tconst [isPaused, setIsPaused] = useState(false);\n\n\tconst shouldAutoSlide = hasAutoSlide && !isPaused;\n\n\tuseAnimationInterval({\n\t\tintervalDuration: shouldAutoSlide ? autoSlideInterval : null,\n\t\tonAnimation: goToNextSlide,\n\t});\n\n\tconst pauseAutoSlide = useCallbackRef(() => shouldPauseOnHover && setIsPaused(true));\n\n\tconst resumeAutoSlide = useCallbackRef(() => shouldPauseOnHover && setIsPaused(false));\n\n\treturn { pauseAutoSlide, resumeAutoSlide };\n};\n\nexport { useCarouselOptions };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { Show } from \"@/components/common\";\nimport { getElementList } from \"@/components/common/for\";\nimport { cnMerge } from \"@/lib/utils/cn\";\nimport type { CssWithCustomProperties, PolymorphicProps } from \"@zayne-labs/toolkit-react/utils\";\nimport { useCarouselStoreContext } from \"./carousel-store-context\";\nimport { ChevronLeftIcon } from \"./icons\";\nimport type {\n\tCarouselButtonsProps,\n\tCarouselContentProps,\n\tCarouselControlProps,\n\tCarouselIndicatorProps,\n\tCarouselWrapperProps,\n\tOtherCarouselProps,\n} from \"./types\";\nimport { useCarouselOptions } from \"./useCarouselOptions\";\n\n// TODO - Add dragging and swiping support\nexport function CarouselContent<TElement extends React.ElementType = \"article\">(\n\tprops: PolymorphicProps<TElement, CarouselContentProps>\n) {\n\tconst {\n\t\tas: HtmlElement = \"article\",\n\t\tautoSlideInterval,\n\t\tchildren,\n\t\tclassNames,\n\t\thasAutoSlide,\n\t\tshouldPauseOnHover,\n\t} = props;\n\n\tconst { pauseAutoSlide, resumeAutoSlide } = useCarouselOptions({\n\t\tautoSlideInterval,\n\t\thasAutoSlide,\n\t\tshouldPauseOnHover,\n\t});\n\n\t// FIXME - Prevent touch swipe on mobile using a cover element or allow swipe but it must update the state appropriately\n\treturn (\n\t\t<HtmlElement\n\t\t\tdata-id=\"Carousel\"\n\t\t\tclassName={cnMerge(\"relative select-none\", classNames?.base)}\n\t\t\tonMouseEnter={pauseAutoSlide}\n\t\t\tonMouseLeave={resumeAutoSlide}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-id=\"Scroll Container\"\n\t\t\t\tclassName={cnMerge(\n\t\t\t\t\t\"flex size-full overflow-x-scroll [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n\t\t\t\t\tclassNames?.scrollContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</HtmlElement>\n\t);\n}\n\nexport function CarouselButton(props: CarouselButtonsProps) {\n\tconst { classNames, icon, variant } = props;\n\n\tconst { goToNextSlide, goToPreviousSlide } = useCarouselStoreContext((state) => state.actions);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t\"z-30 flex h-full w-fit items-center\",\n\t\t\t\tvariant === \"prev\" ? \"justify-start\" : \"justify-end\",\n\t\t\t\tclassNames?.base\n\t\t\t)}\n\t\t\tonClick={variant === \"prev\" ? goToPreviousSlide : goToNextSlide}\n\t\t>\n\t\t\t<span className={cnMerge(\"transition-transform active:scale-[1.06]\", classNames?.iconContainer)}>\n\t\t\t\t{icon ?? (\n\t\t\t\t\t<ChevronLeftIcon\n\t\t\t\t\t\tclassName={cnMerge(variant === \"next\" && \"rotate-180\", classNames?.defaultIcon)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n\nexport function CarouselControls(props: CarouselControlProps) {\n\tconst { classNames, icon } = props;\n\n\treturn (\n\t\t<div className={cnMerge(\"absolute inset-0 flex justify-between\", classNames?.base)}>\n\t\t\t<Show.Root when={icon?.iconType}>\n\t\t\t\t<CarouselButton\n\t\t\t\t\tvariant=\"prev\"\n\t\t\t\t\tclassNames={{\n\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\ticonContainer: cnMerge(\n\t\t\t\t\t\t\ticon?.iconType === \"nextIcon\" && \"rotate-180\",\n\t\t\t\t\t\t\tclassNames?.iconContainer\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t\ticon={icon?.icon}\n\t\t\t\t/>\n\n\t\t\t\t<CarouselButton\n\t\t\t\t\tvariant=\"next\"\n\t\t\t\t\tclassNames={{\n\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\ticonContainer: cnMerge(\n\t\t\t\t\t\t\ticon?.iconType === \"prevIcon\" && \"rotate-180\",\n\t\t\t\t\t\t\tclassNames?.iconContainer\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t\ticon={icon?.icon}\n\t\t\t\t/>\n\n\t\t\t\t<Show.Otherwise>\n\t\t\t\t\t<CarouselButton\n\t\t\t\t\t\tvariant=\"prev\"\n\t\t\t\t\t\tclassNames={{\n\t\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\t\ticonContainer: classNames?.iconContainer,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={icon?.prev}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<CarouselButton\n\t\t\t\t\t\tvariant=\"next\"\n\t\t\t\t\t\tclassNames={{\n\t\t\t\t\t\t\tdefaultIcon: classNames?.defaultIcon,\n\t\t\t\t\t\t\ticonContainer: classNames?.iconContainer,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={icon?.next}\n\t\t\t\t\t/>\n\t\t\t\t</Show.Otherwise>\n\t\t\t</Show.Root>\n\t\t</div>\n\t);\n}\n\nexport function CarouselItemGroup<TArrayItem>(props: CarouselWrapperProps<TArrayItem>) {\n\tconst { children, className, each, render } = props;\n\n\tconst [ItemList] = getElementList(\"base\");\n\tconst currentSlide = useCarouselStoreContext((state) => state.currentSlide);\n\tconst images = useCarouselStoreContext((state) => each ?? (state.images as TArrayItem[]));\n\n\treturn (\n\t\t<ul\n\t\t\tdata-id=\"Carousel Image Wrapper\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t`flex w-full shrink-0 snap-center [transform:translate3d(var(--translate-distance),0,0)]\n\t\t\t\t[transition:transform_800ms_ease]`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t\"--translate-distance\": `-${currentSlide * 100}%`,\n\t\t\t\t} satisfies CssWithCustomProperties as CssWithCustomProperties\n\t\t\t}\n\t\t>\n\t\t\t{typeof render === \"function\" ? (\n\t\t\t\t<ItemList each={images} render={render} />\n\t\t\t) : (\n\t\t\t\t<ItemList each={images}>{children}</ItemList>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n\nexport function CarouselItem({ children, className, ...restOfProps }: OtherCarouselProps) {\n\treturn (\n\t\t<li\n\t\t\tclassName={cnMerge(\"flex w-full shrink-0 snap-center justify-center\", className)}\n\t\t\t{...restOfProps}\n\t\t>\n\t\t\t{children}\n\t\t</li>\n\t);\n}\n\nexport function CarouselCaption<TElement extends React.ElementType = \"div\">(\n\tprops: PolymorphicProps<TElement, OtherCarouselProps>\n) {\n\tconst { as: HtmlElement = \"div\", children, className } = props;\n\n\treturn (\n\t\t<HtmlElement data-id=\"Carousel Caption\" className={cnMerge(\"absolute z-10\", className)}>\n\t\t\t{children}\n\t\t</HtmlElement>\n\t);\n}\n\nexport function CarouselIndicatorGroup<TArrayItem>(props: CarouselWrapperProps<TArrayItem>) {\n\tconst { children, className, each, render } = props;\n\n\tconst images = useCarouselStoreContext((state) => each ?? (state.images as TArrayItem[]));\n\tconst [IndicatorList] = getElementList(\"base\");\n\n\treturn (\n\t\t<ul\n\t\t\tdata-id=\"Carousel Indicators\"\n\t\t\tclassName={cnMerge(\n\t\t\t\t\"absolute bottom-[25px] z-[2] flex w-full items-center justify-center gap-[15px]\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t{typeof render === \"function\" ? (\n\t\t\t\t<IndicatorList each={images} render={render} />\n\t\t\t) : (\n\t\t\t\t<IndicatorList each={images}>{children}</IndicatorList>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n\nexport function CarouselIndicator(props: CarouselIndicatorProps) {\n\tconst { classNames, currentIndex } = props;\n\n\tconst {\n\t\tactions: { goToSlide },\n\t\tcurrentSlide,\n\t} = useCarouselStoreContext((state) => state);\n\n\treturn (\n\t\t<li className={cnMerge(\"inline-flex\", classNames?.base)}>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => goToSlide(currentIndex)}\n\t\t\t\tclassName={cnMerge(\n\t\t\t\t\t\"size-[6px] rounded-[50%]\",\n\t\t\t\t\tclassNames?.base,\n\t\t\t\t\tcurrentIndex === currentSlide && [\"w-[35px] rounded-[5px]\", classNames?.isActive]\n\t\t\t\t)}\n\t\t\t/>\n\t\t</li>\n\t);\n}\n","export { CarouselContextProvider as Root } from \"./carousel-store-context\";\nexport {\n\tCarouselContent as Content,\n\tCarouselControls as Controls,\n\tCarouselButton as Button,\n\tCarouselItem as Item,\n\tCarouselItemGroup as ItemGroup,\n\tCarouselCaption as Caption,\n\tCarouselIndicator as Indicator,\n\tCarouselIndicatorGroup as IndicatorGroup,\n} from \"./carousel\";\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../../../getSlotMap-
|
|
2
|
-
import "../../../index-
|
|
3
|
-
import "../../../index-
|
|
4
|
-
import "../../../index-
|
|
5
|
-
import { AwaitError
|
|
1
|
+
import "../../../getSlotMap-DZlQN8--.js";
|
|
2
|
+
import "../../../index-DRiwJkJC.js";
|
|
3
|
+
import "../../../index-BsjcsNQh.js";
|
|
4
|
+
import "../../../index-CFNg1R-m.js";
|
|
5
|
+
import { AwaitError, AwaitPending, AwaitRoot, AwaitSuccess, await_parts_d_exports, useAwaitContext } from "../../../index-YFi-sIuR.js";
|
|
6
6
|
export { await_parts_d_exports as Await, AwaitError, AwaitPending, AwaitRoot, AwaitSuccess, useAwaitContext };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import "../../../utils-D4YNWj2X.js";
|
|
5
|
-
import "../../../getSlot-
|
|
5
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
6
6
|
import "../../../error-boundary-B3ycUZ1t.js";
|
|
7
7
|
import "../../../slot-RXTKo4L7.js";
|
|
8
8
|
import { AwaitError, AwaitPending, AwaitRoot, AwaitSuccess, await_parts_exports, useAwaitContext } from "../../../await-Fe4LFRKd.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ErrorBoundary
|
|
1
|
+
import { ErrorBoundary, ErrorBoundaryContextType, ErrorBoundaryProps, FallbackProps, useErrorBoundary, useErrorBoundaryContext } from "../../../index-BsjcsNQh.js";
|
|
2
2
|
export { ErrorBoundary, ErrorBoundaryContextType, ErrorBoundaryProps, FallbackProps, useErrorBoundary, useErrorBoundaryContext };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { For
|
|
1
|
+
import { For, ForRenderProps, ForWithWrapper, getElementList } from "../../../index-CNE9Cime.js";
|
|
2
2
|
export { For, ForRenderProps, ForWithWrapper, getElementList };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "../../getSlotMap-
|
|
2
|
-
import "../../index-
|
|
3
|
-
import { ErrorBoundary
|
|
4
|
-
import { SuspenseWithBoundary
|
|
5
|
-
import { await_parts_d_exports } from "../../index-
|
|
6
|
-
import { For
|
|
7
|
-
import { show_parts_d_exports } from "../../index-
|
|
8
|
-
import { slot_parts_d_exports } from "../../index-
|
|
9
|
-
import { switch_parts_d_exports } from "../../index
|
|
10
|
-
import { Teleport
|
|
1
|
+
import "../../getSlotMap-DZlQN8--.js";
|
|
2
|
+
import "../../index-DRiwJkJC.js";
|
|
3
|
+
import { ErrorBoundary } from "../../index-BsjcsNQh.js";
|
|
4
|
+
import { SuspenseWithBoundary } from "../../index-CFNg1R-m.js";
|
|
5
|
+
import { await_parts_d_exports } from "../../index-YFi-sIuR.js";
|
|
6
|
+
import { For, ForWithWrapper } from "../../index-CNE9Cime.js";
|
|
7
|
+
import { show_parts_d_exports } from "../../index-CGI7EVlK.js";
|
|
8
|
+
import { slot_parts_d_exports } from "../../index-BwnMUHzm.js";
|
|
9
|
+
import { switch_parts_d_exports } from "../../index-UX3DaMVe.js";
|
|
10
|
+
import { Teleport } from "../../index-B3N6YbN8.js";
|
|
11
11
|
export { await_parts_d_exports as Await, ErrorBoundary, For, ForWithWrapper, show_parts_d_exports as Show, slot_parts_d_exports as Slot, SuspenseWithBoundary, switch_parts_d_exports as Switch, Teleport };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "../../utils-D4YNWj2X.js";
|
|
2
|
-
import "../../getSlot-
|
|
2
|
+
import "../../getSlot-D1_uG-Ym.js";
|
|
3
3
|
import { ErrorBoundary } from "../../error-boundary-B3ycUZ1t.js";
|
|
4
4
|
import { slot_parts_exports } from "../../slot-RXTKo4L7.js";
|
|
5
5
|
import { await_parts_exports } from "../../await-Fe4LFRKd.js";
|
|
6
6
|
import { For, ForWithWrapper } from "../../for-aTw1TgJo.js";
|
|
7
|
-
import { show_parts_exports } from "../../show-
|
|
7
|
+
import { show_parts_exports } from "../../show-DNPzdLi-.js";
|
|
8
8
|
import { SuspenseWithBoundary } from "../../suspense-with-boundary-TrQxYRG6.js";
|
|
9
|
-
import { switch_parts_exports } from "../../switch-
|
|
9
|
+
import { switch_parts_exports } from "../../switch-B2gKl94R.js";
|
|
10
10
|
import { Teleport } from "../../teleport-dlSjWj_t.js";
|
|
11
11
|
import "../../common-BYWy8Q78.js";
|
|
12
12
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ShowContent
|
|
1
|
+
import { ShowContent, ShowFallback, ShowRoot, show_parts_d_exports } from "../../../index-CGI7EVlK.js";
|
|
2
2
|
export { show_parts_d_exports as Show, ShowContent, ShowFallback, ShowRoot };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import "../../../getSlot-
|
|
5
|
-
import { ShowContent, ShowFallback, ShowRoot, show_parts_exports } from "../../../show-
|
|
4
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
5
|
+
import { ShowContent, ShowFallback, ShowRoot, show_parts_exports } from "../../../show-DNPzdLi-.js";
|
|
6
6
|
|
|
7
7
|
export { show_parts_exports as Show, ShowContent, ShowFallback, ShowRoot };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SlotRoot
|
|
1
|
+
import { SlotRoot, SlotSlottable, slot_parts_d_exports } from "../../../index-BwnMUHzm.js";
|
|
2
2
|
export { slot_parts_d_exports as Slot, SlotRoot, SlotSlottable };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../../../index-
|
|
2
|
-
import { SuspenseWithBoundary
|
|
1
|
+
import "../../../index-BsjcsNQh.js";
|
|
2
|
+
import { SuspenseWithBoundary, SuspenseWithBoundaryProps } from "../../../index-CFNg1R-m.js";
|
|
3
3
|
export { SuspenseWithBoundary, SuspenseWithBoundaryProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SwitchDefault
|
|
1
|
+
import { SwitchDefault, SwitchMatch, SwitchRoot, switch_parts_d_exports } from "../../../index-UX3DaMVe.js";
|
|
2
2
|
export { switch_parts_d_exports as Switch, SwitchDefault, SwitchMatch, SwitchRoot };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import "../../../getSlot-
|
|
5
|
-
import { SwitchDefault, SwitchMatch, SwitchRoot, switch_parts_exports } from "../../../switch-
|
|
4
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
5
|
+
import { SwitchDefault, SwitchMatch, SwitchRoot, switch_parts_exports } from "../../../switch-B2gKl94R.js";
|
|
6
6
|
|
|
7
7
|
export { switch_parts_exports as Switch, SwitchDefault, SwitchMatch, SwitchRoot };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Teleport
|
|
1
|
+
import { Teleport } from "../../../index-B3N6YbN8.js";
|
|
2
2
|
export { Teleport };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { card_parts_d_exports as Card, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };
|
|
1
|
+
import { CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle, card_parts_d_exports } from "../../../index-XYFc-mmy.js";
|
|
2
|
+
export { card_parts_d_exports as Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../../../slot-RXTKo4L7.js";
|
|
2
2
|
import "../../../cn-_FbtIrlZ.js";
|
|
3
|
-
import { CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle, card_parts_exports } from "../../../card-
|
|
3
|
+
import { CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle, card_parts_exports } from "../../../card-BBTJxmWt.js";
|
|
4
4
|
|
|
5
|
-
export { card_parts_exports as Card, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };
|
|
5
|
+
export { card_parts_exports as Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardRoot, CardTitle };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CarouselButton
|
|
1
|
+
import { CarouselButton, CarouselButtonsProps, CarouselCaption, CarouselContent, CarouselContentProps, CarouselControlProps, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselIndicatorProps, CarouselItem, CarouselItemGroup, CarouselProviderProps, CarouselStore, CarouselStoreApi, CarouselWrapperProps, ImagesType, OtherCarouselProps, carousel_parts_d_exports } from "../../../index-DT8F8QKc.js";
|
|
2
2
|
export { carousel_parts_d_exports as Carousel, CarouselButton, CarouselButtonsProps, CarouselCaption, CarouselContent, CarouselContentProps, CarouselControlProps, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselIndicatorProps, CarouselItem, CarouselItemGroup, CarouselProviderProps, CarouselStore, CarouselStoreApi, CarouselWrapperProps, ImagesType, OtherCarouselProps };
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import "../../../utils-D4YNWj2X.js";
|
|
5
|
-
import "../../../getSlot-
|
|
5
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
6
6
|
import "../../../error-boundary-B3ycUZ1t.js";
|
|
7
7
|
import "../../../slot-RXTKo4L7.js";
|
|
8
8
|
import "../../../await-Fe4LFRKd.js";
|
|
9
9
|
import "../../../for-aTw1TgJo.js";
|
|
10
|
-
import "../../../show-
|
|
10
|
+
import "../../../show-DNPzdLi-.js";
|
|
11
11
|
import "../../../suspense-with-boundary-TrQxYRG6.js";
|
|
12
|
-
import "../../../switch-
|
|
12
|
+
import "../../../switch-B2gKl94R.js";
|
|
13
13
|
import "../../../teleport-dlSjWj_t.js";
|
|
14
14
|
import "../../../common-BYWy8Q78.js";
|
|
15
15
|
import "../../../cn-_FbtIrlZ.js";
|
|
16
|
-
import { CarouselButton, CarouselCaption, CarouselContent, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, carousel_parts_exports } from "../../../carousel-
|
|
16
|
+
import { CarouselButton, CarouselCaption, CarouselContent, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, carousel_parts_exports } from "../../../carousel-Dvp-qURP.js";
|
|
17
17
|
|
|
18
18
|
export { carousel_parts_exports as Carousel, CarouselButton, CarouselCaption, CarouselContent, CarouselControls, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { useDragScroll
|
|
1
|
+
import { useDragScroll } from "../../../index-gT9tVHv1.js";
|
|
2
2
|
export { useDragScroll };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../../../getSlotMap-
|
|
2
|
-
import { ContainerProps, DropZoneActions, DropZoneContainer
|
|
1
|
+
import "../../../getSlotMap-DZlQN8--.js";
|
|
2
|
+
import { ContainerProps, DropZoneActions, DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRenderPropType, DropZoneRoot, DropZoneRootProps, DropZoneState, FileWithPreview, InputProps, UseDropZoneProps, UseDropZoneResult, drop_zone_parts_d_exports, useDropZone, useDropZoneContext } from "../../../index-BilTdK_M.js";
|
|
3
3
|
export { ContainerProps, drop_zone_parts_d_exports as DropZone, DropZoneActions, DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRenderPropType, DropZoneRoot, DropZoneRootProps, DropZoneState, FileWithPreview, InputProps, UseDropZoneProps, UseDropZoneResult, useDropZone, useDropZoneContext };
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import "../../../utils-D4YNWj2X.js";
|
|
5
|
-
import "../../../getSlot-
|
|
5
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
6
6
|
import "../../../error-boundary-B3ycUZ1t.js";
|
|
7
7
|
import "../../../slot-RXTKo4L7.js";
|
|
8
8
|
import "../../../await-Fe4LFRKd.js";
|
|
9
9
|
import "../../../for-aTw1TgJo.js";
|
|
10
|
-
import "../../../show-
|
|
10
|
+
import "../../../show-DNPzdLi-.js";
|
|
11
11
|
import "../../../suspense-with-boundary-TrQxYRG6.js";
|
|
12
|
-
import "../../../switch-
|
|
12
|
+
import "../../../switch-B2gKl94R.js";
|
|
13
13
|
import "../../../teleport-dlSjWj_t.js";
|
|
14
14
|
import "../../../common-BYWy8Q78.js";
|
|
15
15
|
import "../../../cn-_FbtIrlZ.js";
|
|
16
|
-
import { DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRoot, drop_zone_parts_exports, useDropZone, useDropZoneContext } from "../../../drop-zone-
|
|
16
|
+
import { DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRoot, drop_zone_parts_exports, useDropZone, useDropZoneContext } from "../../../drop-zone-Beip1k4x.js";
|
|
17
17
|
|
|
18
18
|
export { drop_zone_parts_exports as DropZone, DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRoot, useDropZone, useDropZoneContext };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FieldValues, FormDescription
|
|
1
|
+
import { FieldValues, FormDescription, FormErrorMessage, FormErrorMessagePrimitive, FormErrorMessagePrimitiveProps, FormField, FormFieldContext, FormFieldControlledField, FormFieldController, FormInput, FormInputGroup, FormInputLeftItem, FormInputPrimitive, FormInputProps, FormInputRightItem, FormLabel, FormRoot, FormSelect, FormSelectPrimitive, FormSelectProps, FormSubmit, FormSubscribeToFieldValue, FormSubscribeToFormState, FormTextArea, FormTextAreaPrimitive, FormTextAreaProps, form_parts_d_exports, useFormRootContext, useStrictFormFieldContext } from "../../../index-CIM4YPg5.js";
|
|
2
2
|
export { FieldValues, form_parts_d_exports as Form, FormDescription, FormErrorMessage, FormErrorMessagePrimitive, FormErrorMessagePrimitiveProps, FormField, FormFieldContext, FormFieldControlledField, FormFieldController, FormInput, FormInputGroup, FormInputLeftItem, FormInputPrimitive, FormInputProps, FormInputRightItem, FormLabel, FormRoot, FormSelect, FormSelectPrimitive, FormSelectProps, FormSubmit, FormSubscribeToFieldValue, FormSubscribeToFormState, FormTextArea, FormTextAreaPrimitive, FormTextAreaProps, useStrictFormFieldContext as useFormFieldContext, useFormRootContext };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import "../../../getSlot-
|
|
4
|
+
import "../../../getSlot-D1_uG-Ym.js";
|
|
5
5
|
import "../../../slot-RXTKo4L7.js";
|
|
6
6
|
import "../../../for-aTw1TgJo.js";
|
|
7
7
|
import "../../../cn-_FbtIrlZ.js";
|
|
8
|
-
import { FormDescription, FormErrorMessage, FormErrorMessagePrimitive, FormField, FormFieldContext, FormFieldControlledField, FormFieldController, FormInput, FormInputGroup, FormInputLeftItem, FormInputPrimitive, FormInputRightItem, FormLabel, FormRoot, FormSelect, FormSelectPrimitive, FormSubmit, FormSubscribeToFieldValue, FormSubscribeToFormState, FormTextArea, FormTextAreaPrimitive, form_parts_exports, useFormRootContext, useStrictFormFieldContext } from "../../../form-
|
|
8
|
+
import { FormDescription, FormErrorMessage, FormErrorMessagePrimitive, FormField, FormFieldContext, FormFieldControlledField, FormFieldController, FormInput, FormInputGroup, FormInputLeftItem, FormInputPrimitive, FormInputRightItem, FormLabel, FormRoot, FormSelect, FormSelectPrimitive, FormSubmit, FormSubscribeToFieldValue, FormSubscribeToFormState, FormTextArea, FormTextAreaPrimitive, form_parts_exports, useFormRootContext, useStrictFormFieldContext } from "../../../form-6RV0u4YT.js";
|
|
9
9
|
|
|
10
10
|
export { form_parts_exports as Form, FormDescription, FormErrorMessage, FormErrorMessagePrimitive, FormField, FormFieldContext, FormFieldControlledField, FormFieldController, FormInput, FormInputGroup, FormInputLeftItem, FormInputPrimitive, FormInputRightItem, FormLabel, FormRoot, FormSelect, FormSelectPrimitive, FormSubmit, FormSubscribeToFieldValue, FormSubscribeToFormState, FormTextArea, FormTextAreaPrimitive, useStrictFormFieldContext as useFormFieldContext, useFormRootContext };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../../getSlotMap-
|
|
2
|
-
import { card_parts_d_exports } from "../../index-
|
|
3
|
-
import { carousel_parts_d_exports } from "../../index-
|
|
4
|
-
import { useDragScroll
|
|
5
|
-
import { drop_zone_parts_d_exports, useDropZone
|
|
6
|
-
import { form_parts_d_exports } from "../../index-
|
|
1
|
+
import "../../getSlotMap-DZlQN8--.js";
|
|
2
|
+
import { card_parts_d_exports } from "../../index-XYFc-mmy.js";
|
|
3
|
+
import { carousel_parts_d_exports } from "../../index-DT8F8QKc.js";
|
|
4
|
+
import { useDragScroll } from "../../index-gT9tVHv1.js";
|
|
5
|
+
import { drop_zone_parts_d_exports, useDropZone } from "../../index-BilTdK_M.js";
|
|
6
|
+
import { form_parts_d_exports } from "../../index-CIM4YPg5.js";
|
|
7
7
|
export { card_parts_d_exports as Card, carousel_parts_d_exports as Carousel, drop_zone_parts_d_exports as DropZone, form_parts_d_exports as Form, useDragScroll, useDropZone };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import "../../utils-D4YNWj2X.js";
|
|
2
|
-
import "../../getSlot-
|
|
2
|
+
import "../../getSlot-D1_uG-Ym.js";
|
|
3
3
|
import "../../error-boundary-B3ycUZ1t.js";
|
|
4
4
|
import "../../slot-RXTKo4L7.js";
|
|
5
5
|
import "../../await-Fe4LFRKd.js";
|
|
6
6
|
import "../../for-aTw1TgJo.js";
|
|
7
|
-
import "../../show-
|
|
7
|
+
import "../../show-DNPzdLi-.js";
|
|
8
8
|
import "../../suspense-with-boundary-TrQxYRG6.js";
|
|
9
|
-
import "../../switch-
|
|
9
|
+
import "../../switch-B2gKl94R.js";
|
|
10
10
|
import "../../teleport-dlSjWj_t.js";
|
|
11
11
|
import "../../common-BYWy8Q78.js";
|
|
12
12
|
import "../../cn-_FbtIrlZ.js";
|
|
13
|
-
import { card_parts_exports } from "../../card-
|
|
14
|
-
import { carousel_parts_exports } from "../../carousel-
|
|
13
|
+
import { card_parts_exports } from "../../card-BBTJxmWt.js";
|
|
14
|
+
import { carousel_parts_exports } from "../../carousel-Dvp-qURP.js";
|
|
15
15
|
import { useDragScroll } from "../../drag-scroll-BLjij7aI.js";
|
|
16
|
-
import { drop_zone_parts_exports, useDropZone } from "../../drop-zone-
|
|
17
|
-
import { form_parts_exports } from "../../form-
|
|
16
|
+
import { drop_zone_parts_exports, useDropZone } from "../../drop-zone-Beip1k4x.js";
|
|
17
|
+
import { form_parts_exports } from "../../form-6RV0u4YT.js";
|
|
18
18
|
|
|
19
19
|
export { card_parts_exports as Card, carousel_parts_exports as Carousel, drop_zone_parts_exports as DropZone, form_parts_exports as Form, useDragScroll, useDropZone };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __export } from "./chunk-Cl8Af3a2.js";
|
|
2
2
|
import { getSlotMap, withSlotNameAndSymbol } from "./utils-D4YNWj2X.js";
|
|
3
3
|
import { SlotRoot } from "./slot-RXTKo4L7.js";
|
|
4
|
-
import { ShowRoot } from "./show-
|
|
4
|
+
import { ShowRoot } from "./show-DNPzdLi-.js";
|
|
5
5
|
import { cnMerge } from "./cn-_FbtIrlZ.js";
|
|
6
6
|
import { Fragment, isValidElement, useCallback, useMemo, useRef, useState } from "react";
|
|
7
7
|
import { createImagePreview, dataAttr, handleFileValidation, toArray } from "@zayne-labs/toolkit-core";
|
|
@@ -310,4 +310,4 @@ __export(drop_zone_parts_exports, {
|
|
|
310
310
|
|
|
311
311
|
//#endregion
|
|
312
312
|
export { DropZoneContainer, DropZoneContext, DropZoneImagePreview, DropZoneInput, DropZoneRoot, drop_zone_parts_exports, useDropZone, useDropZoneContext };
|
|
313
|
-
//# sourceMappingURL=drop-zone-
|
|
313
|
+
//# sourceMappingURL=drop-zone-Beip1k4x.js.map
|