@puzzle-ui/ui 0.4.0 → 0.5.1
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/README.md +61 -77
- package/dist/components/actions/button/button.css +5 -2
- package/dist/components/actions/button-group/button-group.css +16 -17
- package/dist/components/data-display/badge/badge.css +15 -2
- package/dist/components/data-display/badge/index.cjs +13 -2
- package/dist/components/data-display/badge/index.cjs.map +1 -1
- package/dist/components/data-display/badge/index.d.cts +7 -2
- package/dist/components/data-display/badge/index.d.ts +7 -2
- package/dist/components/data-display/badge/index.js +13 -2
- package/dist/components/data-display/badge/index.js.map +1 -1
- package/dist/components/data-display/rating/index.cjs +84 -0
- package/dist/components/data-display/rating/index.cjs.map +1 -0
- package/dist/components/data-display/rating/index.d.cts +3 -0
- package/dist/components/data-display/rating/index.d.ts +3 -0
- package/dist/components/data-display/rating/index.js +84 -0
- package/dist/components/data-display/rating/index.js.map +1 -0
- package/dist/components/data-display/rating/rating.css +72 -0
- package/dist/components/data-display/rating/rating.types.d.cts +15 -0
- package/dist/components/data-display/rating/rating.types.d.ts +15 -0
- package/dist/components/data-display/rating/rating.utils.cjs +27 -0
- package/dist/components/data-display/rating/rating.utils.cjs.map +1 -0
- package/dist/components/data-display/rating/rating.utils.js +25 -0
- package/dist/components/data-display/rating/rating.utils.js.map +1 -0
- package/dist/components/forms/checkbox/checkbox.css +2 -10
- package/dist/components/forms/input-group/input-group.d.cts +4 -2
- package/dist/components/forms/input-group/input-group.d.ts +4 -2
- package/dist/components/forms/radio-group/index.d.cts +2 -1
- package/dist/components/forms/radio-group/index.d.ts +2 -1
- package/dist/components/forms/stepper/index.d.cts +4 -2
- package/dist/components/forms/stepper/index.d.ts +4 -2
- package/dist/components/forms/time-picker/index.cjs +108 -0
- package/dist/components/forms/time-picker/index.cjs.map +1 -0
- package/dist/components/forms/time-picker/index.d.cts +3 -0
- package/dist/components/forms/time-picker/index.d.ts +3 -0
- package/dist/components/forms/time-picker/index.js +108 -0
- package/dist/components/forms/time-picker/index.js.map +1 -0
- package/dist/components/forms/time-picker/time-picker.css +166 -0
- package/dist/components/forms/time-picker/time-picker.types.d.cts +34 -0
- package/dist/components/forms/time-picker/time-picker.types.d.ts +34 -0
- package/dist/components/forms/time-picker/time-picker.utils.cjs +25 -0
- package/dist/components/forms/time-picker/time-picker.utils.cjs.map +1 -0
- package/dist/components/forms/time-picker/time-picker.utils.js +24 -0
- package/dist/components/forms/time-picker/time-picker.utils.js.map +1 -0
- package/dist/components/forms/token-input/index.cjs +189 -0
- package/dist/components/forms/token-input/index.cjs.map +1 -0
- package/dist/components/forms/token-input/index.d.cts +3 -0
- package/dist/components/forms/token-input/index.d.ts +3 -0
- package/dist/components/forms/token-input/index.js +189 -0
- package/dist/components/forms/token-input/index.js.map +1 -0
- package/dist/components/forms/token-input/token-input.css +145 -0
- package/dist/components/forms/token-input/token-input.types.d.cts +48 -0
- package/dist/components/forms/token-input/token-input.types.d.ts +48 -0
- package/dist/components/forms/token-input/token-input.utils.cjs +30 -0
- package/dist/components/forms/token-input/token-input.utils.cjs.map +1 -0
- package/dist/components/forms/token-input/token-input.utils.js +24 -0
- package/dist/components/forms/token-input/token-input.utils.js.map +1 -0
- package/dist/components/layout/aspect-ratio/aspect-ratio.css +14 -0
- package/dist/components/layout/aspect-ratio/aspect-ratio.utils.cjs +11 -0
- package/dist/components/layout/aspect-ratio/aspect-ratio.utils.cjs.map +1 -0
- package/dist/components/layout/aspect-ratio/aspect-ratio.utils.js +11 -0
- package/dist/components/layout/aspect-ratio/aspect-ratio.utils.js.map +1 -0
- package/dist/components/layout/aspect-ratio/index.cjs +16 -0
- package/dist/components/layout/aspect-ratio/index.cjs.map +1 -0
- package/dist/components/layout/aspect-ratio/index.d.cts +11 -0
- package/dist/components/layout/aspect-ratio/index.d.ts +11 -0
- package/dist/components/layout/aspect-ratio/index.js +16 -0
- package/dist/components/layout/aspect-ratio/index.js.map +1 -0
- package/dist/components/layout/container/container.css +1 -0
- package/dist/components/layout/page-layout/page-layout.css +1 -0
- package/dist/components/layout/scroll-area/index.cjs +27 -0
- package/dist/components/layout/scroll-area/index.cjs.map +1 -0
- package/dist/components/layout/scroll-area/index.d.cts +15 -0
- package/dist/components/layout/scroll-area/index.d.ts +15 -0
- package/dist/components/layout/scroll-area/index.js +27 -0
- package/dist/components/layout/scroll-area/index.js.map +1 -0
- package/dist/components/layout/scroll-area/scroll-area.css +25 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.cjs +8 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.cjs.map +1 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.d.cts +2 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.d.ts +2 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.js +8 -0
- package/dist/components/layout/scroll-area/scroll-area.utils.js.map +1 -0
- package/dist/components/layout/section/index.cjs +10 -4
- package/dist/components/layout/section/index.cjs.map +1 -1
- package/dist/components/layout/section/index.d.cts +1 -1
- package/dist/components/layout/section/index.d.ts +1 -1
- package/dist/components/layout/section/index.js +11 -5
- package/dist/components/layout/section/index.js.map +1 -1
- package/dist/components/layout/section/section.css +9 -3
- package/dist/components/layout/section/types.d.cts +5 -5
- package/dist/components/layout/section/types.d.ts +5 -5
- package/dist/components/layout/separator/index.cjs +18 -0
- package/dist/components/layout/separator/index.cjs.map +1 -0
- package/dist/components/layout/separator/index.d.cts +17 -0
- package/dist/components/layout/separator/index.d.ts +17 -0
- package/dist/components/layout/separator/index.js +18 -0
- package/dist/components/layout/separator/index.js.map +1 -0
- package/dist/components/layout/separator/separator.css +15 -0
- package/dist/components/layout/separator/separator.utils.cjs +11 -0
- package/dist/components/layout/separator/separator.utils.cjs.map +1 -0
- package/dist/components/layout/separator/separator.utils.d.cts +2 -0
- package/dist/components/layout/separator/separator.utils.d.ts +2 -0
- package/dist/components/layout/separator/separator.utils.js +11 -0
- package/dist/components/layout/separator/separator.utils.js.map +1 -0
- package/dist/components/layout/stack/index.cjs +18 -2
- package/dist/components/layout/stack/index.cjs.map +1 -1
- package/dist/components/layout/stack/index.d.cts +8 -6
- package/dist/components/layout/stack/index.d.ts +8 -6
- package/dist/components/layout/stack/index.js +18 -2
- package/dist/components/layout/stack/index.js.map +1 -1
- package/dist/components/layout/stack/stack.css +118 -138
- package/dist/components/navigation/carousel/index.cjs +4 -1
- package/dist/components/navigation/carousel/index.cjs.map +1 -1
- package/dist/components/navigation/carousel/index.js +4 -1
- package/dist/components/navigation/carousel/index.js.map +1 -1
- package/dist/components/navigation/tabs/index.d.cts +3 -2
- package/dist/components/navigation/tabs/index.d.ts +3 -2
- package/dist/components/navigation/tree-view/index.cjs +1 -1
- package/dist/components/navigation/tree-view/index.cjs.map +1 -1
- package/dist/components/navigation/tree-view/index.d.cts +5 -1
- package/dist/components/navigation/tree-view/index.d.ts +5 -1
- package/dist/components/navigation/tree-view/index.js +1 -1
- package/dist/components/navigation/tree-view/index.js.map +1 -1
- package/dist/components/navigation/tree-view/tree-view.css +5 -3
- package/dist/components/overlays/context-menu/context-menu.css +151 -0
- package/dist/components/overlays/context-menu/context-menu.types.d.cts +69 -0
- package/dist/components/overlays/context-menu/context-menu.types.d.ts +69 -0
- package/dist/components/overlays/context-menu/context-menu.utils.cjs +46 -0
- package/dist/components/overlays/context-menu/context-menu.utils.cjs.map +1 -0
- package/dist/components/overlays/context-menu/context-menu.utils.js +40 -0
- package/dist/components/overlays/context-menu/context-menu.utils.js.map +1 -0
- package/dist/components/overlays/context-menu/index.cjs +830 -0
- package/dist/components/overlays/context-menu/index.cjs.map +1 -0
- package/dist/components/overlays/context-menu/index.d.cts +42 -0
- package/dist/components/overlays/context-menu/index.d.ts +42 -0
- package/dist/components/overlays/context-menu/index.js +818 -0
- package/dist/components/overlays/context-menu/index.js.map +1 -0
- package/dist/components/typography/heading.cjs +6 -2
- package/dist/components/typography/heading.cjs.map +1 -1
- package/dist/components/typography/heading.d.cts +3 -2
- package/dist/components/typography/heading.d.ts +3 -2
- package/dist/components/typography/heading.js +6 -2
- package/dist/components/typography/heading.js.map +1 -1
- package/dist/components/typography/text.cjs +6 -2
- package/dist/components/typography/text.cjs.map +1 -1
- package/dist/components/typography/text.d.cts +3 -2
- package/dist/components/typography/text.d.ts +3 -2
- package/dist/components/typography/text.js +6 -2
- package/dist/components/typography/text.js.map +1 -1
- package/dist/components/utilities/preview/index.cjs +88 -20
- package/dist/components/utilities/preview/index.cjs.map +1 -1
- package/dist/components/utilities/preview/index.d.cts +6 -2
- package/dist/components/utilities/preview/index.d.ts +6 -2
- package/dist/components/utilities/preview/index.js +88 -20
- package/dist/components/utilities/preview/index.js.map +1 -1
- package/dist/components/utilities/preview/preview.css +26 -11
- package/dist/components/utilities/transition/index.d.cts +1 -1
- package/dist/components/utilities/transition/index.d.ts +1 -1
- package/dist/index.cjs +123 -97
- package/dist/index.d.cts +15 -2
- package/dist/index.d.ts +15 -2
- package/dist/index.js +8 -1
- package/package.json +11 -6
|
@@ -4,20 +4,22 @@ type StackDirection = "row" | "col";
|
|
|
4
4
|
type ResponsiveDirection = ResponsiveValue<StackDirection>;
|
|
5
5
|
type StackMainAlignment = "start" | "center" | "end" | "stretch" | "around" | "between" | "evenly";
|
|
6
6
|
type StackCrossAlignment = "start" | "center" | "end" | "stretch";
|
|
7
|
+
type ResponsiveMainAlignment = ResponsiveValue<StackMainAlignment>;
|
|
8
|
+
type ResponsiveCrossAlignment = ResponsiveValue<StackCrossAlignment>;
|
|
7
9
|
type StackRowProps = {
|
|
8
10
|
direction: "row";
|
|
9
|
-
alignH?:
|
|
10
|
-
alignV?:
|
|
11
|
+
alignH?: ResponsiveMainAlignment;
|
|
12
|
+
alignV?: ResponsiveCrossAlignment;
|
|
11
13
|
};
|
|
12
14
|
type StackColProps = {
|
|
13
15
|
direction?: "col";
|
|
14
|
-
alignH?:
|
|
15
|
-
alignV?:
|
|
16
|
+
alignH?: ResponsiveCrossAlignment;
|
|
17
|
+
alignV?: ResponsiveMainAlignment;
|
|
16
18
|
};
|
|
17
19
|
type StackResponsiveProps = {
|
|
18
20
|
direction: ResponsiveDirection;
|
|
19
|
-
alignH?:
|
|
20
|
-
alignV?:
|
|
21
|
+
alignH?: ResponsiveMainAlignment;
|
|
22
|
+
alignV?: ResponsiveMainAlignment;
|
|
21
23
|
};
|
|
22
24
|
type StackOwnProps<C extends ElementType> = {
|
|
23
25
|
as?: C;
|
|
@@ -3,7 +3,7 @@ import { BREAKPOINTS, cn } from "@puzzle-ui/core";
|
|
|
3
3
|
import { Children, Fragment, cloneElement, createElement, isValidElement } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
// src/components/layout/stack/index.tsx
|
|
6
|
-
const Stack = ({ as: Component = "div", direction = "col", alignH, alignV, wrap = "
|
|
6
|
+
const Stack = ({ as: Component = "div", direction = "col", alignH, alignV, wrap = "wrap", gap = "md", divider, reverse = false, children, className, ...props }) => {
|
|
7
7
|
const directions = typeof direction === "string" ? { mobile: direction } : {
|
|
8
8
|
...direction,
|
|
9
9
|
mobile: direction.mobile ?? "col"
|
|
@@ -13,7 +13,23 @@ const Stack = ({ as: Component = "div", direction = "col", alignH, alignV, wrap
|
|
|
13
13
|
return value ? [`direction-${breakpoint}-${value}`] : [];
|
|
14
14
|
});
|
|
15
15
|
const hasAlignment = alignH !== void 0 || alignV !== void 0;
|
|
16
|
-
const
|
|
16
|
+
const responsiveAlignH = typeof alignH === "string" ? { mobile: alignH } : {
|
|
17
|
+
...alignH,
|
|
18
|
+
mobile: alignH?.mobile ?? "start"
|
|
19
|
+
};
|
|
20
|
+
const responsiveAlignV = typeof alignV === "string" ? { mobile: alignV } : {
|
|
21
|
+
...alignV,
|
|
22
|
+
mobile: alignV?.mobile ?? "start"
|
|
23
|
+
};
|
|
24
|
+
const responsiveAlignHClasses = BREAKPOINTS.flatMap((breakpoint) => {
|
|
25
|
+
const value = responsiveAlignH[breakpoint];
|
|
26
|
+
return value ? [`align-h-${breakpoint}-${value}`] : [];
|
|
27
|
+
});
|
|
28
|
+
const responsiveAlignVClasses = BREAKPOINTS.flatMap((breakpoint) => {
|
|
29
|
+
const value = responsiveAlignV[breakpoint];
|
|
30
|
+
return value ? [`align-v-${breakpoint}-${value}`] : [];
|
|
31
|
+
});
|
|
32
|
+
const classes = cn("puzzle-stack", ...directionClasses, reverse && "reverse", wrap, `gap-${gap}`, ...responsiveAlignHClasses, ...responsiveAlignVClasses, hasAlignment && "has-alignment", className);
|
|
17
33
|
const childrenWithDividers = divider ? Children.toArray(children).flatMap((child, index, arr) => {
|
|
18
34
|
if (index === arr.length - 1) return [child];
|
|
19
35
|
const dividerKey = `stack-divider-${isValidElement(child) ? child.key : index}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/layout/stack/index.tsx"],"sourcesContent":["import { BREAKPOINTS, cn } from \"@puzzle-ui/core\";\nimport {\n Children,\n cloneElement,\n createElement,\n Fragment,\n isValidElement,\n type ComponentPropsWithRef,\n type ElementType,\n type ReactNode,\n} from \"react\";\nimport type { ResponsiveValue } from \"@puzzle-ui/core\";\nimport \"./stack.css\";\n\ntype StackDirection = \"row\" | \"col\";\ntype ResponsiveDirection = ResponsiveValue<StackDirection>;\n\ntype StackMainAlignment =\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"around\"\n | \"between\"\n | \"evenly\";\n\ntype StackCrossAlignment = \"start\" | \"center\" | \"end\" | \"stretch\";\n\ntype StackRowProps = {\n direction: \"row\";\n alignH?:
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/layout/stack/index.tsx"],"sourcesContent":["import { BREAKPOINTS, cn } from \"@puzzle-ui/core\";\nimport {\n Children,\n cloneElement,\n createElement,\n Fragment,\n isValidElement,\n type ComponentPropsWithRef,\n type ElementType,\n type ReactNode,\n} from \"react\";\nimport type { ResponsiveConfig, ResponsiveValue } from \"@puzzle-ui/core\";\nimport \"./stack.css\";\n\ntype StackDirection = \"row\" | \"col\";\ntype ResponsiveDirection = ResponsiveValue<StackDirection>;\n\ntype StackMainAlignment =\n | \"start\"\n | \"center\"\n | \"end\"\n | \"stretch\"\n | \"around\"\n | \"between\"\n | \"evenly\";\n\ntype StackCrossAlignment = \"start\" | \"center\" | \"end\" | \"stretch\";\n\ntype ResponsiveMainAlignment = ResponsiveValue<StackMainAlignment>;\ntype ResponsiveCrossAlignment = ResponsiveValue<StackCrossAlignment>;\n\ntype StackRowProps = {\n direction: \"row\";\n alignH?: ResponsiveMainAlignment;\n alignV?: ResponsiveCrossAlignment;\n};\n\ntype StackColProps = {\n direction?: \"col\";\n alignH?: ResponsiveCrossAlignment;\n alignV?: ResponsiveMainAlignment;\n};\n\ntype StackResponsiveProps = {\n direction: ResponsiveDirection;\n alignH?: ResponsiveMainAlignment;\n alignV?: ResponsiveMainAlignment;\n};\n\ntype StackOwnProps<C extends ElementType> = {\n as?: C;\n wrap?: \"wrap\" | \"nowrap\" | \"wrap-reverse\";\n gap?: \"0\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n divider?: ReactNode;\n reverse?: boolean;\n} & (StackRowProps | StackColProps | StackResponsiveProps);\n\ntype StackProps<C extends ElementType = \"div\"> = StackOwnProps<C> &\n Omit<ComponentPropsWithRef<C>, keyof StackOwnProps<C> | \"as\">;\n\nconst Stack = ({\n as: Component = \"div\",\n direction = \"col\",\n alignH,\n alignV,\n wrap = \"wrap\",\n gap = \"md\",\n divider,\n reverse = false,\n children,\n className,\n ...props\n}: StackProps<ElementType>) => {\n const directions: ResponsiveConfig<StackDirection> =\n typeof direction === \"string\"\n ? { mobile: direction }\n : {\n ...direction,\n mobile: direction.mobile ?? \"col\",\n };\n\n const directionClasses = BREAKPOINTS.flatMap((breakpoint) => {\n const value = directions[breakpoint];\n\n return value ? [`direction-${breakpoint}-${value}`] : [];\n });\n\n const hasAlignment = alignH !== undefined || alignV !== undefined;\n\n const responsiveAlignH: ResponsiveConfig<StackMainAlignment> =\n typeof alignH === \"string\"\n ? { mobile: alignH }\n : { ...alignH, mobile: alignH?.mobile ?? \"start\" };\n const responsiveAlignV: ResponsiveConfig<StackMainAlignment> =\n typeof alignV === \"string\"\n ? { mobile: alignV }\n : { ...alignV, mobile: alignV?.mobile ?? \"start\" };\n const responsiveAlignHClasses = BREAKPOINTS.flatMap((breakpoint) => {\n const value = responsiveAlignH[breakpoint];\n\n return value ? [`align-h-${breakpoint}-${value}`] : [];\n });\n\n const responsiveAlignVClasses = BREAKPOINTS.flatMap((breakpoint) => {\n const value = responsiveAlignV[breakpoint];\n\n return value ? [`align-v-${breakpoint}-${value}`] : [];\n });\n\n const classes = cn(\n \"puzzle-stack\",\n ...directionClasses,\n reverse && \"reverse\",\n wrap,\n `gap-${gap}`,\n ...responsiveAlignHClasses,\n ...responsiveAlignVClasses,\n hasAlignment && \"has-alignment\",\n className,\n );\n\n const childrenWithDividers = divider\n ? Children.toArray(children).flatMap((child, index, arr) => {\n if (index === arr.length - 1) {\n return [child];\n }\n\n // Children keep the keys assigned by Children.toArray; only dividers get new ones.\n const dividerKey = `stack-divider-${isValidElement(child) ? child.key : index}`;\n const clonedDivider = isValidElement(divider)\n ? cloneElement(divider, { key: dividerKey })\n : createElement(Fragment, { key: dividerKey }, divider);\n\n return [child, clonedDivider];\n })\n : children;\n\n return (\n <Component className={classes} {...props}>\n {childrenWithDividers}\n </Component>\n );\n};\n\nexport {\n Stack,\n type StackProps,\n type ResponsiveDirection,\n type StackMainAlignment,\n type StackCrossAlignment,\n};\n"],"mappings":";;;;;AA4DA,MAAM,SAAS,EACb,IAAI,YAAY,OAChB,YAAY,OACZ,QACA,QACA,OAAO,QACP,MAAM,MACN,SACA,UAAU,OACV,UACA,WACA,GAAG,YAC0B;CAC7B,MAAM,aACJ,OAAO,cAAc,WACjB,EAAE,QAAQ,UAAU,IACpB;EACE,GAAG;EACH,QAAQ,UAAU,UAAU;CAC9B;CAEN,MAAM,mBAAmB,YAAY,SAAS,eAAe;EAC3D,MAAM,QAAQ,WAAW;EAEzB,OAAO,QAAQ,CAAC,aAAa,WAAW,GAAG,OAAO,IAAI,CAAC;CACzD,CAAC;CAED,MAAM,eAAe,WAAW,KAAA,KAAa,WAAW,KAAA;CAExD,MAAM,mBACJ,OAAO,WAAW,WACd,EAAE,QAAQ,OAAO,IACjB;EAAE,GAAG;EAAQ,QAAQ,QAAQ,UAAU;CAAQ;CACrD,MAAM,mBACJ,OAAO,WAAW,WACd,EAAE,QAAQ,OAAO,IACjB;EAAE,GAAG;EAAQ,QAAQ,QAAQ,UAAU;CAAQ;CACrD,MAAM,0BAA0B,YAAY,SAAS,eAAe;EAClE,MAAM,QAAQ,iBAAiB;EAE/B,OAAO,QAAQ,CAAC,WAAW,WAAW,GAAG,OAAO,IAAI,CAAC;CACvD,CAAC;CAED,MAAM,0BAA0B,YAAY,SAAS,eAAe;EAClE,MAAM,QAAQ,iBAAiB;EAE/B,OAAO,QAAQ,CAAC,WAAW,WAAW,GAAG,OAAO,IAAI,CAAC;CACvD,CAAC;CAED,MAAM,UAAU,GACd,gBACA,GAAG,kBACH,WAAW,WACX,MACA,OAAO,OACP,GAAG,yBACH,GAAG,yBACH,gBAAgB,iBAChB,SACF;CAEA,MAAM,uBAAuB,UACzB,SAAS,QAAQ,QAAQ,CAAC,CAAC,SAAS,OAAO,OAAO,QAAQ;EACxD,IAAI,UAAU,IAAI,SAAS,GACzB,OAAO,CAAC,KAAK;EAIf,MAAM,aAAa,iBAAiB,eAAe,KAAK,IAAI,MAAM,MAAM;EAKxE,OAAO,CAAC,OAJc,eAAe,OAAO,IACxC,aAAa,SAAS,EAAE,KAAK,WAAW,CAAC,IACzC,cAAc,UAAU,EAAE,KAAK,WAAW,GAAG,OAAO,CAE5B;CAC9B,CAAC,IACD;CAEJ,OACE,oBAAC,WAAD;EAAW,WAAW;EAAS,GAAI;EAChC,UAAA;CACQ,CAAA;AAEf"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
.puzzle-stack {
|
|
2
|
+
--stack-align-h: flex-start;
|
|
3
|
+
--stack-align-v: flex-start;
|
|
4
|
+
--stack-main-alignment: var(--stack-align-v);
|
|
5
|
+
--stack-cross-alignment: var(--stack-align-h);
|
|
2
6
|
gap: var(--puzzle-space-4, 1rem);
|
|
3
7
|
justify-content: flex-start;
|
|
4
8
|
align-items: stretch;
|
|
5
9
|
display: flex;
|
|
6
10
|
}
|
|
7
11
|
|
|
12
|
+
.puzzle-stack.has-alignment {
|
|
13
|
+
justify-content: var(--stack-main-alignment);
|
|
14
|
+
align-items: var(--stack-cross-alignment);
|
|
15
|
+
}
|
|
16
|
+
|
|
8
17
|
.puzzle-stack.nowrap {
|
|
9
18
|
flex-wrap: nowrap;
|
|
10
19
|
}
|
|
@@ -30,18 +39,20 @@
|
|
|
30
39
|
}
|
|
31
40
|
|
|
32
41
|
.puzzle-stack.gap-md {
|
|
33
|
-
gap: var(--puzzle-space-
|
|
42
|
+
gap: var(--puzzle-space-4, 1rem);
|
|
34
43
|
}
|
|
35
44
|
|
|
36
45
|
.puzzle-stack.gap-lg {
|
|
37
|
-
gap: var(--puzzle-space-
|
|
46
|
+
gap: var(--puzzle-space-8, 2rem);
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
.puzzle-stack.gap-xl {
|
|
41
|
-
gap: var(--puzzle-space-
|
|
50
|
+
gap: var(--puzzle-space-16, 4rem);
|
|
42
51
|
}
|
|
43
52
|
|
|
44
53
|
.puzzle-stack.direction-mobile-row {
|
|
54
|
+
--stack-main-alignment: var(--stack-align-h);
|
|
55
|
+
--stack-cross-alignment: var(--stack-align-v);
|
|
45
56
|
flex-direction: row;
|
|
46
57
|
}
|
|
47
58
|
|
|
@@ -50,6 +61,8 @@
|
|
|
50
61
|
}
|
|
51
62
|
|
|
52
63
|
.puzzle-stack.direction-mobile-col {
|
|
64
|
+
--stack-main-alignment: var(--stack-align-v);
|
|
65
|
+
--stack-cross-alignment: var(--stack-align-h);
|
|
53
66
|
flex-direction: column;
|
|
54
67
|
}
|
|
55
68
|
|
|
@@ -57,52 +70,66 @@
|
|
|
57
70
|
flex-direction: column-reverse;
|
|
58
71
|
}
|
|
59
72
|
|
|
60
|
-
.puzzle-stack.
|
|
61
|
-
|
|
73
|
+
.puzzle-stack.align-h-mobile-start {
|
|
74
|
+
--stack-align-h: flex-start;
|
|
62
75
|
}
|
|
63
76
|
|
|
64
|
-
.puzzle-stack.
|
|
65
|
-
|
|
77
|
+
.puzzle-stack.align-h-mobile-center {
|
|
78
|
+
--stack-align-h: center;
|
|
66
79
|
}
|
|
67
80
|
|
|
68
|
-
.puzzle-stack.
|
|
69
|
-
|
|
81
|
+
.puzzle-stack.align-h-mobile-end {
|
|
82
|
+
--stack-align-h: flex-end;
|
|
70
83
|
}
|
|
71
84
|
|
|
72
|
-
.puzzle-stack.
|
|
73
|
-
|
|
85
|
+
.puzzle-stack.align-h-mobile-stretch {
|
|
86
|
+
--stack-align-h: stretch;
|
|
74
87
|
}
|
|
75
88
|
|
|
76
|
-
.puzzle-stack.
|
|
77
|
-
|
|
89
|
+
.puzzle-stack.align-h-mobile-around {
|
|
90
|
+
--stack-align-h: space-around;
|
|
78
91
|
}
|
|
79
92
|
|
|
80
|
-
.puzzle-stack.
|
|
81
|
-
|
|
93
|
+
.puzzle-stack.align-h-mobile-between {
|
|
94
|
+
--stack-align-h: space-between;
|
|
82
95
|
}
|
|
83
96
|
|
|
84
|
-
.puzzle-stack.
|
|
85
|
-
|
|
97
|
+
.puzzle-stack.align-h-mobile-evenly {
|
|
98
|
+
--stack-align-h: space-evenly;
|
|
86
99
|
}
|
|
87
100
|
|
|
88
|
-
.puzzle-stack.
|
|
89
|
-
align-
|
|
101
|
+
.puzzle-stack.align-v-mobile-start {
|
|
102
|
+
--stack-align-v: flex-start;
|
|
90
103
|
}
|
|
91
104
|
|
|
92
|
-
.puzzle-stack.
|
|
93
|
-
align-
|
|
105
|
+
.puzzle-stack.align-v-mobile-center {
|
|
106
|
+
--stack-align-v: center;
|
|
94
107
|
}
|
|
95
108
|
|
|
96
|
-
.puzzle-stack.
|
|
97
|
-
align-
|
|
109
|
+
.puzzle-stack.align-v-mobile-end {
|
|
110
|
+
--stack-align-v: flex-end;
|
|
98
111
|
}
|
|
99
112
|
|
|
100
|
-
.puzzle-stack.
|
|
101
|
-
align-
|
|
113
|
+
.puzzle-stack.align-v-mobile-stretch {
|
|
114
|
+
--stack-align-v: stretch;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.puzzle-stack.align-v-mobile-around {
|
|
118
|
+
--stack-align-v: space-around;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.puzzle-stack.align-v-mobile-between {
|
|
122
|
+
--stack-align-v: space-between;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.puzzle-stack.align-v-mobile-evenly {
|
|
126
|
+
--stack-align-v: space-evenly;
|
|
102
127
|
}
|
|
103
128
|
|
|
104
129
|
@media (width >= 768px) {
|
|
105
130
|
.puzzle-stack.direction-tablet-row {
|
|
131
|
+
--stack-main-alignment: var(--stack-align-h);
|
|
132
|
+
--stack-cross-alignment: var(--stack-align-v);
|
|
106
133
|
flex-direction: row;
|
|
107
134
|
}
|
|
108
135
|
|
|
@@ -111,6 +138,8 @@
|
|
|
111
138
|
}
|
|
112
139
|
|
|
113
140
|
.puzzle-stack.direction-tablet-col {
|
|
141
|
+
--stack-main-alignment: var(--stack-align-v);
|
|
142
|
+
--stack-cross-alignment: var(--stack-align-h);
|
|
114
143
|
flex-direction: column;
|
|
115
144
|
}
|
|
116
145
|
|
|
@@ -118,58 +147,67 @@
|
|
|
118
147
|
flex-direction: column-reverse;
|
|
119
148
|
}
|
|
120
149
|
|
|
121
|
-
.puzzle-stack.
|
|
122
|
-
|
|
123
|
-
align-items: stretch;
|
|
150
|
+
.puzzle-stack.align-h-tablet-start {
|
|
151
|
+
--stack-align-h: flex-start;
|
|
124
152
|
}
|
|
125
153
|
|
|
126
|
-
.puzzle-stack.
|
|
127
|
-
|
|
154
|
+
.puzzle-stack.align-h-tablet-center {
|
|
155
|
+
--stack-align-h: center;
|
|
128
156
|
}
|
|
129
157
|
|
|
130
|
-
.puzzle-stack.
|
|
131
|
-
|
|
158
|
+
.puzzle-stack.align-h-tablet-end {
|
|
159
|
+
--stack-align-h: flex-end;
|
|
132
160
|
}
|
|
133
161
|
|
|
134
|
-
.puzzle-stack.
|
|
135
|
-
|
|
162
|
+
.puzzle-stack.align-h-tablet-stretch {
|
|
163
|
+
--stack-align-h: stretch;
|
|
136
164
|
}
|
|
137
165
|
|
|
138
|
-
.puzzle-stack.
|
|
139
|
-
|
|
166
|
+
.puzzle-stack.align-h-tablet-around {
|
|
167
|
+
--stack-align-h: space-around;
|
|
140
168
|
}
|
|
141
169
|
|
|
142
|
-
.puzzle-stack.
|
|
143
|
-
|
|
170
|
+
.puzzle-stack.align-h-tablet-between {
|
|
171
|
+
--stack-align-h: space-between;
|
|
144
172
|
}
|
|
145
173
|
|
|
146
|
-
.puzzle-stack.
|
|
147
|
-
|
|
174
|
+
.puzzle-stack.align-h-tablet-evenly {
|
|
175
|
+
--stack-align-h: space-evenly;
|
|
148
176
|
}
|
|
149
177
|
|
|
150
|
-
.puzzle-stack.
|
|
151
|
-
|
|
178
|
+
.puzzle-stack.align-v-tablet-start {
|
|
179
|
+
--stack-align-v: flex-start;
|
|
152
180
|
}
|
|
153
181
|
|
|
154
|
-
.puzzle-stack.
|
|
155
|
-
align-
|
|
182
|
+
.puzzle-stack.align-v-tablet-center {
|
|
183
|
+
--stack-align-v: center;
|
|
156
184
|
}
|
|
157
185
|
|
|
158
|
-
.puzzle-stack.
|
|
159
|
-
align-
|
|
186
|
+
.puzzle-stack.align-v-tablet-end {
|
|
187
|
+
--stack-align-v: flex-end;
|
|
160
188
|
}
|
|
161
189
|
|
|
162
|
-
.puzzle-stack.
|
|
163
|
-
align-
|
|
190
|
+
.puzzle-stack.align-v-tablet-stretch {
|
|
191
|
+
--stack-align-v: stretch;
|
|
164
192
|
}
|
|
165
193
|
|
|
166
|
-
.puzzle-stack.
|
|
167
|
-
align-
|
|
194
|
+
.puzzle-stack.align-v-tablet-around {
|
|
195
|
+
--stack-align-v: space-around;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.puzzle-stack.align-v-tablet-between {
|
|
199
|
+
--stack-align-v: space-between;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.puzzle-stack.align-v-tablet-evenly {
|
|
203
|
+
--stack-align-v: space-evenly;
|
|
168
204
|
}
|
|
169
205
|
}
|
|
170
206
|
|
|
171
207
|
@media (width >= 1024px) {
|
|
172
208
|
.puzzle-stack.direction-desktop-row {
|
|
209
|
+
--stack-main-alignment: var(--stack-align-h);
|
|
210
|
+
--stack-cross-alignment: var(--stack-align-v);
|
|
173
211
|
flex-direction: row;
|
|
174
212
|
}
|
|
175
213
|
|
|
@@ -178,6 +216,8 @@
|
|
|
178
216
|
}
|
|
179
217
|
|
|
180
218
|
.puzzle-stack.direction-desktop-col {
|
|
219
|
+
--stack-main-alignment: var(--stack-align-v);
|
|
220
|
+
--stack-cross-alignment: var(--stack-align-h);
|
|
181
221
|
flex-direction: column;
|
|
182
222
|
}
|
|
183
223
|
|
|
@@ -185,119 +225,59 @@
|
|
|
185
225
|
flex-direction: column-reverse;
|
|
186
226
|
}
|
|
187
227
|
|
|
188
|
-
.puzzle-stack.
|
|
189
|
-
|
|
190
|
-
align-items: stretch;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
.puzzle-stack.direction-desktop-row.align-h-start, .puzzle-stack.direction-desktop-col.align-v-start {
|
|
194
|
-
justify-content: flex-start;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.puzzle-stack.direction-desktop-row.align-h-center, .puzzle-stack.direction-desktop-col.align-v-center {
|
|
198
|
-
justify-content: center;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.puzzle-stack.direction-desktop-row.align-h-end, .puzzle-stack.direction-desktop-col.align-v-end {
|
|
202
|
-
justify-content: flex-end;
|
|
228
|
+
.puzzle-stack.align-h-desktop-start {
|
|
229
|
+
--stack-align-h: flex-start;
|
|
203
230
|
}
|
|
204
231
|
|
|
205
|
-
.puzzle-stack.
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.puzzle-stack.direction-desktop-row.align-h-around, .puzzle-stack.direction-desktop-col.align-v-around {
|
|
210
|
-
justify-content: space-around;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.puzzle-stack.direction-desktop-row.align-h-between, .puzzle-stack.direction-desktop-col.align-v-between {
|
|
214
|
-
justify-content: space-between;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.puzzle-stack.direction-desktop-row.align-h-evenly, .puzzle-stack.direction-desktop-col.align-v-evenly {
|
|
218
|
-
justify-content: space-evenly;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
.puzzle-stack.direction-desktop-row.align-v-start, .puzzle-stack.direction-desktop-col.align-h-start {
|
|
222
|
-
align-items: flex-start;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.puzzle-stack.direction-desktop-row.align-v-center, .puzzle-stack.direction-desktop-col.align-h-center {
|
|
226
|
-
align-items: center;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.puzzle-stack.direction-desktop-row.align-v-end, .puzzle-stack.direction-desktop-col.align-h-end {
|
|
230
|
-
align-items: flex-end;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.puzzle-stack.direction-desktop-row.align-v-stretch, .puzzle-stack.direction-desktop-col.align-h-stretch {
|
|
234
|
-
align-items: stretch;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
@media (width >= 1440px) {
|
|
239
|
-
.puzzle-stack.direction-hd-row {
|
|
240
|
-
flex-direction: row;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
.puzzle-stack.direction-hd-row.reverse {
|
|
244
|
-
flex-direction: row-reverse;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.puzzle-stack.direction-hd-col {
|
|
248
|
-
flex-direction: column;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.puzzle-stack.direction-hd-col.reverse {
|
|
252
|
-
flex-direction: column-reverse;
|
|
232
|
+
.puzzle-stack.align-h-desktop-center {
|
|
233
|
+
--stack-align-h: center;
|
|
253
234
|
}
|
|
254
235
|
|
|
255
|
-
.puzzle-stack.
|
|
256
|
-
|
|
257
|
-
align-items: stretch;
|
|
236
|
+
.puzzle-stack.align-h-desktop-end {
|
|
237
|
+
--stack-align-h: flex-end;
|
|
258
238
|
}
|
|
259
239
|
|
|
260
|
-
.puzzle-stack.
|
|
261
|
-
|
|
240
|
+
.puzzle-stack.align-h-desktop-stretch {
|
|
241
|
+
--stack-align-h: stretch;
|
|
262
242
|
}
|
|
263
243
|
|
|
264
|
-
.puzzle-stack.
|
|
265
|
-
|
|
244
|
+
.puzzle-stack.align-h-desktop-around {
|
|
245
|
+
--stack-align-h: space-around;
|
|
266
246
|
}
|
|
267
247
|
|
|
268
|
-
.puzzle-stack.
|
|
269
|
-
|
|
248
|
+
.puzzle-stack.align-h-desktop-between {
|
|
249
|
+
--stack-align-h: space-between;
|
|
270
250
|
}
|
|
271
251
|
|
|
272
|
-
.puzzle-stack.
|
|
273
|
-
|
|
252
|
+
.puzzle-stack.align-h-desktop-evenly {
|
|
253
|
+
--stack-align-h: space-evenly;
|
|
274
254
|
}
|
|
275
255
|
|
|
276
|
-
.puzzle-stack.
|
|
277
|
-
|
|
256
|
+
.puzzle-stack.align-v-desktop-start {
|
|
257
|
+
--stack-align-v: flex-start;
|
|
278
258
|
}
|
|
279
259
|
|
|
280
|
-
.puzzle-stack.
|
|
281
|
-
|
|
260
|
+
.puzzle-stack.align-v-desktop-center {
|
|
261
|
+
--stack-align-v: center;
|
|
282
262
|
}
|
|
283
263
|
|
|
284
|
-
.puzzle-stack.
|
|
285
|
-
|
|
264
|
+
.puzzle-stack.align-v-desktop-end {
|
|
265
|
+
--stack-align-v: flex-end;
|
|
286
266
|
}
|
|
287
267
|
|
|
288
|
-
.puzzle-stack.
|
|
289
|
-
align-
|
|
268
|
+
.puzzle-stack.align-v-desktop-stretch {
|
|
269
|
+
--stack-align-v: stretch;
|
|
290
270
|
}
|
|
291
271
|
|
|
292
|
-
.puzzle-stack.
|
|
293
|
-
align-
|
|
272
|
+
.puzzle-stack.align-v-desktop-around {
|
|
273
|
+
--stack-align-v: space-around;
|
|
294
274
|
}
|
|
295
275
|
|
|
296
|
-
.puzzle-stack.
|
|
297
|
-
align-
|
|
276
|
+
.puzzle-stack.align-v-desktop-between {
|
|
277
|
+
--stack-align-v: space-between;
|
|
298
278
|
}
|
|
299
279
|
|
|
300
|
-
.puzzle-stack.
|
|
301
|
-
align-
|
|
280
|
+
.puzzle-stack.align-v-desktop-evenly {
|
|
281
|
+
--stack-align-v: space-evenly;
|
|
302
282
|
}
|
|
303
283
|
}
|
|
@@ -157,7 +157,10 @@ const Carousel = ({ renderItem, getItemKey, panelsPerView, itemWidth, gap = 0, c
|
|
|
157
157
|
}, [
|
|
158
158
|
items.length,
|
|
159
159
|
itemOrderSignature,
|
|
160
|
-
measureLayout
|
|
160
|
+
measureLayout,
|
|
161
|
+
gaps.mobile,
|
|
162
|
+
gaps.tablet,
|
|
163
|
+
gaps.desktop
|
|
161
164
|
]);
|
|
162
165
|
/**
|
|
163
166
|
* currentPanel is always an item index.
|