@neut/ui 0.0.4 → 0.0.6
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/dist/components/alert/Alert/Alert.d.ts +2 -0
- package/dist/components/alert/Alert/Alert.js +22 -0
- package/dist/components/alert/Alert/Alert.js.map +1 -0
- package/dist/components/alert/Alert/Alert.styles.d.ts +3 -0
- package/dist/components/alert/Alert/Alert.styles.js +13 -0
- package/dist/components/alert/Alert/Alert.styles.js.map +1 -0
- package/dist/components/alert/Alert/Alert.types.d.ts +4 -0
- package/dist/components/alert/Alert/index.d.ts +1 -0
- package/dist/components/alert/AlertAction/AlertAction.d.ts +2 -0
- package/dist/components/alert/AlertAction/AlertAction.js +18 -0
- package/dist/components/alert/AlertAction/AlertAction.js.map +1 -0
- package/dist/components/alert/AlertAction/AlertAction.styles.d.ts +1 -0
- package/dist/components/alert/AlertAction/AlertAction.styles.js +6 -0
- package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -0
- package/dist/components/alert/AlertAction/AlertAction.types.d.ts +2 -0
- package/dist/components/alert/AlertAction/index.d.ts +1 -0
- package/dist/components/alert/AlertDescription/AlertDescription.d.ts +2 -0
- package/dist/components/alert/AlertDescription/AlertDescription.js +18 -0
- package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -0
- package/dist/components/alert/AlertDescription/AlertDescription.styles.d.ts +1 -0
- package/dist/components/alert/AlertDescription/AlertDescription.styles.js +6 -0
- package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -0
- package/dist/components/alert/AlertDescription/AlertDescription.types.d.ts +2 -0
- package/dist/components/alert/AlertDescription/index.d.ts +1 -0
- package/dist/components/alert/AlertTitle/AlertTitle.d.ts +2 -0
- package/dist/components/alert/AlertTitle/AlertTitle.js +18 -0
- package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -0
- package/dist/components/alert/AlertTitle/AlertTitle.styles.d.ts +1 -0
- package/dist/components/alert/AlertTitle/AlertTitle.styles.js +6 -0
- package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -0
- package/dist/components/alert/AlertTitle/AlertTitle.types.d.ts +2 -0
- package/dist/components/alert/AlertTitle/index.d.ts +1 -0
- package/dist/components/alert/index.d.ts +4 -0
- package/dist/components/alert/index.js +5 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.d.ts +10 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js +11 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +23 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.styles.d.ts +0 -0
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialog/index.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js +8 -0
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogAction/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +16 -0
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogCancel/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.d.ts +8 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js +11 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +65 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +4 -0
- package/dist/components/alert-dialog/AlertDialogContent/index.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +21 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogDescription/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +18 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogFooter/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +18 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogHeader/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +18 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogMedia/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +26 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogOverlay/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +10 -0
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogPortal/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +21 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js +6 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.types.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogTitle/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js +11 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.types.d.ts +0 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/index.d.ts +1 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.d.ts +2 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js +26 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +1 -0
- package/dist/components/alert-dialog/index.d.ts +12 -0
- package/dist/components/alert-dialog/index.js +15 -0
- package/dist/components/badge/Badge.styles.d.ts +1 -1
- package/dist/components/button/Button.styles.d.ts +3 -3
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.d.ts +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.styles.d.ts +2 -2
- package/dist/components/item/Item/Item.styles.d.ts +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.styles.d.ts +1 -1
- package/dist/components/progress/Progress/Progress.context.d.ts +6 -0
- package/dist/components/progress/Progress/Progress.context.js +11 -0
- package/dist/components/progress/Progress/Progress.context.js.map +1 -0
- package/dist/components/progress/Progress/Progress.d.ts +2 -0
- package/dist/components/progress/Progress/Progress.js +44 -0
- package/dist/components/progress/Progress/Progress.js.map +1 -0
- package/dist/components/progress/Progress/Progress.styles.d.ts +1 -0
- package/dist/components/progress/Progress/Progress.styles.js +6 -0
- package/dist/components/progress/Progress/Progress.styles.js.map +1 -0
- package/dist/components/progress/Progress/Progress.types.d.ts +4 -0
- package/dist/components/progress/Progress/index.d.ts +2 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.d.ts +2 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +27 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.d.ts +1 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js +6 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.types.d.ts +2 -0
- package/dist/components/progress/ProgressIndicator/index.d.ts +1 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.d.ts +2 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.js +18 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.styles.d.ts +1 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js +6 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js.map +1 -0
- package/dist/components/progress/ProgressLabel/ProgressLabel.types.d.ts +2 -0
- package/dist/components/progress/ProgressLabel/index.d.ts +1 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.d.ts +2 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.js +24 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.d.ts +1 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js +6 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.types.d.ts +2 -0
- package/dist/components/progress/ProgressTrack/index.d.ts +1 -0
- package/dist/components/progress/ProgressValue/ProgressValue.d.ts +2 -0
- package/dist/components/progress/ProgressValue/ProgressValue.js +19 -0
- package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -0
- package/dist/components/progress/ProgressValue/ProgressValue.styles.d.ts +1 -0
- package/dist/components/progress/ProgressValue/ProgressValue.styles.js +6 -0
- package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -0
- package/dist/components/progress/ProgressValue/ProgressValue.types.d.ts +2 -0
- package/dist/components/progress/ProgressValue/index.d.ts +1 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/index.js +4 -0
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/slider/Slider/Slider.context.d.ts +17 -0
- package/dist/components/slider/Slider/Slider.context.js +11 -0
- package/dist/components/slider/Slider/Slider.context.js.map +1 -0
- package/dist/components/slider/Slider/Slider.d.ts +2 -0
- package/dist/components/slider/Slider/Slider.js +62 -0
- package/dist/components/slider/Slider/Slider.js.map +1 -0
- package/dist/components/slider/Slider/Slider.styles.d.ts +1 -0
- package/dist/components/slider/Slider/Slider.styles.js +6 -0
- package/dist/components/slider/Slider/Slider.styles.js.map +1 -0
- package/dist/components/slider/Slider/Slider.types.d.ts +13 -0
- package/dist/components/slider/Slider/index.d.ts +2 -0
- package/dist/components/slider/Slider/useSlider.d.ts +19 -0
- package/dist/components/slider/Slider/useSlider.js +33 -0
- package/dist/components/slider/Slider/useSlider.js.map +1 -0
- package/dist/components/slider/SliderControl/SliderControl.d.ts +2 -0
- package/dist/components/slider/SliderControl/SliderControl.js +33 -0
- package/dist/components/slider/SliderControl/SliderControl.js.map +1 -0
- package/dist/components/slider/SliderControl/SliderControl.styles.d.ts +1 -0
- package/dist/components/slider/SliderControl/SliderControl.styles.js +6 -0
- package/dist/components/slider/SliderControl/SliderControl.styles.js.map +1 -0
- package/dist/components/slider/SliderControl/SliderControl.types.d.ts +2 -0
- package/dist/components/slider/SliderControl/index.d.ts +1 -0
- package/dist/components/slider/SliderControl/useSliderControl.d.ts +5 -0
- package/dist/components/slider/SliderControl/useSliderControl.js +36 -0
- package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.d.ts +2 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.js +28 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.styles.d.ts +1 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js +7 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.types.d.ts +2 -0
- package/dist/components/slider/SliderIndicator/index.d.ts +1 -0
- package/dist/components/slider/SliderIndicator/useSliderIndicator.d.ts +6 -0
- package/dist/components/slider/SliderIndicator/useSliderIndicator.js +20 -0
- package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -0
- package/dist/components/slider/SliderThumb/SliderThumb.d.ts +2 -0
- package/dist/components/slider/SliderThumb/SliderThumb.js +45 -0
- package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -0
- package/dist/components/slider/SliderThumb/SliderThumb.styles.d.ts +1 -0
- package/dist/components/slider/SliderThumb/SliderThumb.styles.js +7 -0
- package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -0
- package/dist/components/slider/SliderThumb/SliderThumb.types.d.ts +6 -0
- package/dist/components/slider/SliderThumb/index.d.ts +1 -0
- package/dist/components/slider/SliderThumb/useSliderThumb.d.ts +6 -0
- package/dist/components/slider/SliderThumb/useSliderThumb.js +18 -0
- package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -0
- package/dist/components/slider/SliderTrack/SliderTrack.d.ts +2 -0
- package/dist/components/slider/SliderTrack/SliderTrack.js +24 -0
- package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -0
- package/dist/components/slider/SliderTrack/SliderTrack.styles.d.ts +1 -0
- package/dist/components/slider/SliderTrack/SliderTrack.styles.js +6 -0
- package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -0
- package/dist/components/slider/SliderTrack/SliderTrack.types.d.ts +2 -0
- package/dist/components/slider/SliderTrack/index.d.ts +1 -0
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/slider/index.js +3 -0
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +1 -1
- package/dist/components/tooltip/TooltipContent/useTooltipContent.d.ts +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +124 -101
- package/dist/types/props.types.d.ts +3 -0
- package/dist/ui.css +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressIndicator.styles.js","names":[],"sources":["../../../../src/components/progress/ProgressIndicator/ProgressIndicator.styles.ts"],"sourcesContent":["export const classes =\n \"h-full bg-neutral-900 dark:bg-neutral-200 transition-all\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProgressIndicator } from './ProgressIndicator';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { classes as t } from "./ProgressLabel.styles.js";
|
|
3
|
+
import { mergeProps as n, spread as r, template as i } from "solid-js/web";
|
|
4
|
+
import { splitProps as a } from "solid-js";
|
|
5
|
+
//#region src/components/progress/ProgressLabel/ProgressLabel.tsx
|
|
6
|
+
var o = /* @__PURE__ */ i("<span data-slot=progress-label>"), s = (i) => {
|
|
7
|
+
let [s, c] = a(i, ["class", "classList"]);
|
|
8
|
+
return (() => {
|
|
9
|
+
var i = o();
|
|
10
|
+
return r(i, n({ get class() {
|
|
11
|
+
return e(t, s.class);
|
|
12
|
+
} }, c), !1, !1), i;
|
|
13
|
+
})();
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { s as ProgressLabel };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=ProgressLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressLabel.js","names":["splitProps","ProgressLabelProps","clsx","classes","ProgressLabel","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../../src/components/progress/ProgressLabel/ProgressLabel.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { ProgressLabelProps } from \"./ProgressLabel.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./ProgressLabel.styles\";\n\nexport const ProgressLabel = (props: ProgressLabelProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <span\n data-slot=\"progress-label\"\n class={clsx(classes, local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;8DAKaI,KAAiBC,MAA8B;CAC1D,IAAM,CAACC,GAAOC,KAAUP,EAAWK,GAAO,CAAC,SAAS,YAAY,CAAC;AAEjE,eAAA;EAAA,IAAAG,IAAAC,GAAA;AAIc,SAJdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;AAAA,UAGWT,EAAKC,GAASG,EAAMM,MAAM;KAAA,EAC7BL,EAAM,EAAA,IAAA,GAAA,EAAAC;KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classes = "text-sm font-medium";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressLabel.styles.js","names":[],"sources":["../../../../src/components/progress/ProgressLabel/ProgressLabel.styles.ts"],"sourcesContent":["export const classes = \"text-sm font-medium\";\n"],"mappings":";AAAA,IAAa,IAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProgressLabel } from './ProgressLabel';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { classes as t } from "./ProgressTrack.styles.js";
|
|
3
|
+
import { useProgressContext as n } from "../Progress/Progress.context.js";
|
|
4
|
+
import { memo as r, mergeProps as i, spread as a, template as o } from "solid-js/web";
|
|
5
|
+
import { splitProps as s } from "solid-js";
|
|
6
|
+
//#region src/components/progress/ProgressTrack/ProgressTrack.tsx
|
|
7
|
+
var c = /* @__PURE__ */ o("<div data-slot=progress-track>"), l = (o) => {
|
|
8
|
+
let { value: l } = n(), [u, d] = s(o, ["class", "classList"]);
|
|
9
|
+
return (() => {
|
|
10
|
+
var n = c();
|
|
11
|
+
return a(n, i({
|
|
12
|
+
get "data-progressing"() {
|
|
13
|
+
return r(() => l() > 0)() && l() < 100;
|
|
14
|
+
},
|
|
15
|
+
get class() {
|
|
16
|
+
return e(t, u.class);
|
|
17
|
+
}
|
|
18
|
+
}, d), !1, !1), n;
|
|
19
|
+
})();
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { l as ProgressTrack };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=ProgressTrack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressTrack.js","names":["splitProps","ProgressTrackProps","clsx","classes","useProgressContext","ProgressTrack","props","value","local","others","_el$","_tmpl$","_$spread","_$mergeProps","data-progressing","_$memo","class"],"sources":["../../../../src/components/progress/ProgressTrack/ProgressTrack.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { ProgressTrackProps } from \"./ProgressTrack.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./ProgressTrack.styles\";\nimport { useProgressContext } from \"../Progress\";\n\nexport const ProgressTrack = (props: ProgressTrackProps) => {\n const { value } = useProgressContext();\n\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"progress-track\"\n data-progressing={value() > 0 && value() < 100}\n class={clsx(classes, local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;;6DAMaK,KAAiBC,MAA8B;CAC1D,IAAM,EAAEC,aAAUH,GAAoB,EAEhC,CAACI,GAAOC,KAAUT,EAAWM,GAAO,CAAC,SAAS,YAAY,CAAC;AAEjE,eAAA;EAAA,IAAAI,IAAAC,GAAA;AAKc,SALdC,EAAAF,GAAAG,EAAA;GAAA,IAAA,qBAAA;AAAA,WAGsBE,QAAAR,GAAO,GAAG,EAAC,EAAA,IAAIA,GAAO,GAAG;;GAAG,IAAA,QAAA;AAAA,WACvCL,EAAKC,GAASK,EAAMQ,MAAM;;GAAA,EAC7BP,EAAM,EAAA,IAAA,GAAA,EAAAC;KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classes = "relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-neutral-100 dark:bg-neutral-800";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/components/progress/ProgressTrack/ProgressTrack.styles.ts
|
|
2
|
+
var e = "relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-neutral-100 dark:bg-neutral-800";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as classes };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=ProgressTrack.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressTrack.styles.js","names":[],"sources":["../../../../src/components/progress/ProgressTrack/ProgressTrack.styles.ts"],"sourcesContent":["export const classes =\n \"relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-neutral-100 dark:bg-neutral-800\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProgressTrack } from './ProgressTrack';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { useProgressContext as t } from "../Progress/Progress.context.js";
|
|
3
|
+
import { classes as n } from "./ProgressValue.styles.js";
|
|
4
|
+
import { insert as r, mergeProps as i, spread as a, template as o } from "solid-js/web";
|
|
5
|
+
import { splitProps as s } from "solid-js";
|
|
6
|
+
//#region src/components/progress/ProgressValue/ProgressValue.tsx
|
|
7
|
+
var c = /* @__PURE__ */ o("<span data-slot=progress-value>%"), l = (o) => {
|
|
8
|
+
let { value: l } = t(), [u, d] = s(o, ["class", "classList"]);
|
|
9
|
+
return (() => {
|
|
10
|
+
var t = c(), o = t.firstChild;
|
|
11
|
+
return a(t, i({ get class() {
|
|
12
|
+
return e(n, u.class);
|
|
13
|
+
} }, d), !1, !0), r(t, l, o), t;
|
|
14
|
+
})();
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { l as ProgressValue };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=ProgressValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressValue.js","names":["splitProps","ProgressValueProps","clsx","classes","useProgressContext","ProgressValue","props","value","local","others","_el$","_tmpl$","_el$2","firstChild","_$spread","_$mergeProps","class","_$insert"],"sources":["../../../../src/components/progress/ProgressValue/ProgressValue.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { ProgressValueProps } from \"./ProgressValue.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./ProgressValue.styles\";\nimport { useProgressContext } from \"../Progress\";\n\nexport const ProgressValue = (props: ProgressValueProps) => {\n const { value } = useProgressContext();\n\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <span\n data-slot=\"progress-value\"\n class={clsx(classes, local.class)}\n {...others}\n >\n {value()}%\n </span>\n );\n};\n"],"mappings":";;;;;;+DAMaK,KAAiBC,MAA8B;CAC1D,IAAM,EAAEC,aAAUH,GAAoB,EAEhC,CAACI,GAAOC,KAAUT,EAAWM,GAAO,CAAC,SAAS,YAAY,CAAC;AAEjE,eAAA;EAAA,IAAAI,IAAAC,GAAA,EAAAC,IAAAF,EAAAG;AAMU,SANVC,EAAAJ,GAAAK,EAAA,EAAA,IAAA,QAAA;AAAA,UAGWb,EAAKC,GAASK,EAAMQ,MAAM;KAAA,EAC7BP,EAAM,EAAA,IAAA,GAAA,EAAAQ,EAAAP,GAETH,GAAKK,EAAA,EAAAF;KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classes = "ml-auto text-sm text-neutral-500 dark:text-neutral-400 tabular-nums";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressValue.styles.js","names":[],"sources":["../../../../src/components/progress/ProgressValue/ProgressValue.styles.ts"],"sourcesContent":["export const classes =\n \"ml-auto text-sm text-neutral-500 dark:text-neutral-400 tabular-nums\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProgressValue } from './ProgressValue';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","names":["
|
|
1
|
+
{"version":3,"file":"ScrollArea.js","names":["createSignal","onCleanup","splitProps","ScrollAreaProps","ScrollMetrics","clsx","ScrollBar","ScrollAreaContext","computeMetrics","ScrollArea","props","viewportRef","HTMLDivElement","local","others","hovering","setHovering","dragging","setDragging","verticalMetrics","setVerticalMetrics","thumbRatio","thumbOffset","scrollable","horizontalMetrics","setHorizontalMetrics","updateMetrics","el","HTMLElement","clientHeight","scrollTop","scrollHeight","clientWidth","scrollLeft","scrollWidth","setup","update","ro","ResizeObserver","observe","firstElementChild","addEventListener","passive","disconnect","removeEventListener","_el$","_tmpl$2","_$spread","_$mergeProps","class","_$insert","_$createComponent","Provider","value","vertical","horizontal","children","_el$2","_tmpl$","_ref$","_$use","_$effect","_p$","_v$","_v$2","orientation","e","_$setAttribute","t","_$className","undefined"],"sources":["../../../../src/components/scroll-area/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import { createSignal, onCleanup, splitProps } from \"solid-js\";\nimport type { ScrollAreaProps, ScrollMetrics } from \"./ScrollArea.types\";\nimport { clsx } from \"~/utils\";\nimport { ScrollBar } from \"../ScrollBar\";\nimport { ScrollAreaContext } from \"./ScrollArea.context\";\nimport { computeMetrics } from \"./ScrollArea.utils\";\n\nexport const ScrollArea = (props: ScrollAreaProps) => {\n let viewportRef: HTMLDivElement | undefined;\n\n const [local, others] = splitProps(props, [\n \"orientation\",\n \"class\",\n \"classList\",\n \"children\",\n \"aria-label\",\n ]);\n\n const [hovering, setHovering] = createSignal(false);\n const [dragging, setDragging] = createSignal<\n \"vertical\" | \"horizontal\" | null\n >(null);\n\n const [verticalMetrics, setVerticalMetrics] = createSignal<ScrollMetrics>({\n thumbRatio: 1,\n thumbOffset: 0,\n scrollable: false,\n });\n const [horizontalMetrics, setHorizontalMetrics] = createSignal<ScrollMetrics>(\n {\n thumbRatio: 1,\n thumbOffset: 0,\n scrollable: false,\n },\n );\n\n function updateMetrics(el: HTMLElement) {\n setVerticalMetrics(\n computeMetrics(el.clientHeight, el.scrollTop, el.scrollHeight),\n );\n setHorizontalMetrics(\n computeMetrics(el.clientWidth, el.scrollLeft, el.scrollWidth),\n );\n }\n\n function setup(el: HTMLDivElement) {\n viewportRef = el; // ref 赋值\n\n updateMetrics(el);\n\n const update = () => updateMetrics(el);\n\n const ro = new ResizeObserver(update);\n ro.observe(el);\n\n if (el.firstElementChild) {\n ro.observe(el.firstElementChild);\n }\n\n el.addEventListener(\"scroll\", update, { passive: true });\n\n onCleanup(() => {\n ro.disconnect();\n el.removeEventListener(\"scroll\", update);\n });\n }\n\n return (\n <div\n data-slot=\"scroll-area\"\n class={clsx(\"relative\", local.class)}\n onMouseEnter={() => setHovering(true)}\n onMouseLeave={() => setHovering(false)}\n {...others}\n >\n <ScrollAreaContext.Provider\n value={{\n hovering,\n viewportRef: () => viewportRef,\n dragging,\n setDragging,\n vertical: verticalMetrics,\n horizontal: horizontalMetrics,\n }}\n >\n <div\n ref={setup}\n data-slot=\"scroll-area-viewport\"\n role=\"region\"\n aria-label={local[\"aria-label\"] ?? \"Scrollable content\"}\n class={clsx(\n // \"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-neutral-400/50 dark:focus-visible:ring-neutral-500/50 focus-visible:outline-1\",\n // \"overflow-scroll\",\n // \"[scrollbar-width:none]\",\n \"size-full rounded-[inherit] outline-none\",\n // Native scrollbars hidden via CSS; custom ones provided below\n \"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n // Focus ring — meets WCAG 2.4.7\n \"focus-visible:ring-2 focus-visible:ring-offset-1\",\n \"focus-visible:ring-neutral-400/70 dark:focus-visible:ring-neutral-500/70\",\n // Overflow based on which scrollbars are active\n local.orientation === \"vertical\"\n ? \"overflow-y-scroll overflow-x-hidden\"\n : local.orientation === \"horizontal\"\n ? \"overflow-x-scroll overflow-y-hidden\"\n : \"overflow-scroll\",\n )}\n >\n {local.children}\n </div>\n <ScrollBar orientation={local.orientation} />\n </ScrollAreaContext.Provider>\n </div>\n );\n};\n"],"mappings":";;;;;;;qIAOaS,KAAcC,MAA2B;CACpD,IAAIC,GAEE,CAACE,GAAOC,KAAUZ,EAAWQ,GAAO;EACxC;EACA;EACA;EACA;EACA;EACD,CAAC,EAEI,CAACK,GAAUC,KAAehB,EAAa,GAAM,EAC7C,CAACiB,GAAUC,KAAelB,EAE9B,KAAK,EAED,CAACmB,GAAiBC,KAAsBpB,EAA4B;EACxEqB,YAAY;EACZC,aAAa;EACbC,YAAY;EACb,CAAC,EACI,CAACC,GAAmBC,KAAwBzB,EAChD;EACEqB,YAAY;EACZC,aAAa;EACbC,YAAY;EAEhB,CAAC;CAED,SAASG,EAAcC,GAAiB;AAItCF,EAHAL,EACEZ,EAAemB,EAAGE,cAAcF,EAAGG,WAAWH,EAAGI,aACnD,CAAC,EACDN,EACEjB,EAAemB,EAAGK,aAAaL,EAAGM,YAAYN,EAAGO,YACnD,CAAC;;CAGH,SAASC,EAAMR,GAAoB;AAGjCD,EAFAf,IAAcgB,GAEdD,EAAcC,EAAG;EAEjB,IAAMS,UAAeV,EAAcC,EAAG,EAEhCU,IAAK,IAAIC,eAAeF,EAAO;AASrCnC,EARAoC,EAAGE,QAAQZ,EAAG,EAEVA,EAAGa,qBACLH,EAAGE,QAAQZ,EAAGa,kBAAkB,EAGlCb,EAAGc,iBAAiB,UAAUL,GAAQ,EAAEM,SAAS,IAAM,CAAC,EAExDzC,QAAgB;AAEd0B,GADAU,EAAGM,YAAY,EACfhB,EAAGiB,oBAAoB,UAAUR,EAAO;IACxC;;AAGJ,eAAA;EAAA,IAAAS,IAAAC,GAAA;AA2C+C,SA3C/CD,EAAAJ,iBAAA,oBAKwBzB,EAAY,GAAM,CAAA,EAAA6B,EAAAJ,iBAAA,oBADlBzB,EAAY,GAAK,CAAA,EAAA+B,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;AAAA,UAD9B3C,EAAK,YAAYQ,EAAMoC,MAAM;KAAA,EAGhCnC,EAAM,EAAA,IAAA,GAAA,EAAAoC,EAAAL,GAAAM,EAET5C,EAAkB6C,UAAQ;GACzBC,OAAO;IACLtC;IACAJ,mBAAmBA;IACnBM;IACAC;IACAoC,UAAUnC;IACVoC,YAAY/B;IACb;GAAA,IAAAgC,WAAA;AAAA,WAAA,QAAA;KAAA,IAAAC,IAAAC,GAAA,EAAAC,IAGMxB;AAoBJ,YApBS,OAAAwB,KAAA,aAAAC,EAAAD,GAAAF,EAAA,GAALtB,IAAKsB,GAAAP,EAAAO,SAsBT5C,EAAM2C,SAAQ,EAAAK,GAAAC,MAAA;MAAA,IAAAC,IAnBHlD,EAAM,iBAAiB,sBAAoBmD,IAChD3D,EAIL,4CAEA,wDAEA,oDACA,4EAEAQ,EAAMoD,gBAAgB,aAClB,wCACApD,EAAMoD,gBAAgB,eACpB,wCACA,kBACP;AAAA,aAAAF,MAAAD,EAAAI,KAAAC,EAAAV,GAAA,cAAAK,EAAAI,IAAAH,EAAA,EAAAC,MAAAF,EAAAM,KAAAC,EAAAZ,GAAAK,EAAAM,IAAAJ,EAAA,EAAAF;QAAA;MAAAI,GAAAI,KAAAA;MAAAF,GAAAE,KAAAA;MAAA,CAAA,EAAAb;QAAA,EAAAN,EAIF7C,GAAS,EAAA,IAAC2D,cAAW;AAAA,YAAEpD,EAAMoD;OAAW,CAAA,CAAA;;GAAA,CAAA,CAAA,EAAApB;KAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
interface SliderContextValue {
|
|
3
|
+
values: Accessor<number[]>;
|
|
4
|
+
min: Accessor<number>;
|
|
5
|
+
max: Accessor<number>;
|
|
6
|
+
step: Accessor<number>;
|
|
7
|
+
orientation: Accessor<"horizontal" | "vertical">;
|
|
8
|
+
disabled: Accessor<boolean>;
|
|
9
|
+
activeThumbIndex: Accessor<number>;
|
|
10
|
+
setActiveThumbIndex: (index: number) => void;
|
|
11
|
+
updateValue: (index: number, value: number) => void;
|
|
12
|
+
trackRef: Accessor<HTMLDivElement | undefined>;
|
|
13
|
+
setTrackRef: (el: HTMLDivElement) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const SliderContext: import('solid-js').Context<SliderContextValue | undefined>;
|
|
16
|
+
export declare const useSliderContext: () => SliderContextValue;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "solid-js";
|
|
2
|
+
//#region src/components/slider/Slider/Slider.context.ts
|
|
3
|
+
var n = e(), r = () => {
|
|
4
|
+
let e = t(n);
|
|
5
|
+
if (!e) throw Error("useSliderContext must be used within a SliderProvider");
|
|
6
|
+
return e;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as SliderContext, r as useSliderContext };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=Slider.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.context.js","names":[],"sources":["../../../../src/components/slider/Slider/Slider.context.ts"],"sourcesContent":["import { type Accessor, createContext, useContext } from \"solid-js\";\n\ninterface SliderContextValue {\n values: Accessor<number[]>;\n min: Accessor<number>;\n max: Accessor<number>;\n step: Accessor<number>;\n orientation: Accessor<\"horizontal\" | \"vertical\">;\n disabled: Accessor<boolean>;\n activeThumbIndex: Accessor<number>;\n setActiveThumbIndex: (index: number) => void;\n updateValue: (index: number, value: number) => void;\n trackRef: Accessor<HTMLDivElement | undefined>;\n setTrackRef: (el: HTMLDivElement) => void;\n}\n\nexport const SliderContext = createContext<SliderContextValue>();\n\nexport const useSliderContext = () => {\n const ctx = useContext(SliderContext);\n if (!ctx) {\n throw new Error(\"useSliderContext must be used within a SliderProvider\");\n }\n\n return ctx;\n};\n"],"mappings":";;AAgBA,IAAa,IAAgB,GAAmC,EAEnD,UAAyB;CACpC,IAAM,IAAM,EAAW,EAAc;AACrC,KAAI,CAAC,EACH,OAAU,MAAM,wDAAwD;AAG1E,QAAO"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { classes as t } from "./Slider.styles.js";
|
|
3
|
+
import { SliderControl as n } from "../SliderControl/SliderControl.js";
|
|
4
|
+
import { SliderTrack as r } from "../SliderTrack/SliderTrack.js";
|
|
5
|
+
import { SliderIndicator as i } from "../SliderIndicator/SliderIndicator.js";
|
|
6
|
+
import { SliderThumb as a } from "../SliderThumb/SliderThumb.js";
|
|
7
|
+
import { useSlider as o } from "./useSlider.js";
|
|
8
|
+
import { SliderContext as s } from "./Slider.context.js";
|
|
9
|
+
import { createComponent as c, insert as l, mergeProps as u, spread as d, template as f } from "solid-js/web";
|
|
10
|
+
import { For as p, mergeProps as m, splitProps as h } from "solid-js";
|
|
11
|
+
//#region src/components/slider/Slider/Slider.tsx
|
|
12
|
+
var g = /* @__PURE__ */ f("<div data-slot=slider>"), _ = (f) => {
|
|
13
|
+
let [_, v] = h(m({
|
|
14
|
+
orientation: "horizontal",
|
|
15
|
+
max: 100,
|
|
16
|
+
min: 0,
|
|
17
|
+
step: 1,
|
|
18
|
+
disabled: !1
|
|
19
|
+
}, f), [
|
|
20
|
+
"defaultValue",
|
|
21
|
+
"value",
|
|
22
|
+
"max",
|
|
23
|
+
"min",
|
|
24
|
+
"step",
|
|
25
|
+
"orientation",
|
|
26
|
+
"onValueChange",
|
|
27
|
+
"disabled",
|
|
28
|
+
"class",
|
|
29
|
+
"classList"
|
|
30
|
+
]), { context: y } = o({ get local() {
|
|
31
|
+
return _;
|
|
32
|
+
} });
|
|
33
|
+
return c(s.Provider, {
|
|
34
|
+
value: y,
|
|
35
|
+
get children() {
|
|
36
|
+
var o = g();
|
|
37
|
+
return d(o, u({
|
|
38
|
+
get "data-orientation"() {
|
|
39
|
+
return _.orientation;
|
|
40
|
+
},
|
|
41
|
+
get class() {
|
|
42
|
+
return e(t, _.class);
|
|
43
|
+
}
|
|
44
|
+
}, v), !1, !0), l(o, c(n, { get children() {
|
|
45
|
+
return [c(r, { get children() {
|
|
46
|
+
return c(i, {});
|
|
47
|
+
} }), c(p, {
|
|
48
|
+
get each() {
|
|
49
|
+
return Array.from({ length: y.values().length });
|
|
50
|
+
},
|
|
51
|
+
children: (e, t) => c(a, { get index() {
|
|
52
|
+
return t();
|
|
53
|
+
} })
|
|
54
|
+
})];
|
|
55
|
+
} })), o;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
//#endregion
|
|
60
|
+
export { _ as Slider };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["For","mergeProps","splitProps","SliderProps","clsx","classes","SliderControl","SliderTrack","SliderIndicator","SliderThumb","useSlider","SliderContext","Slider","props","T","merged","orientation","max","min","step","disabled","const","local","others","context","_$createComponent","Provider","value","children","_el$","_tmpl$","_$spread","_$mergeProps","data-orientation","class","_$insert","each","Array","from","length","values","_","idx","index"],"sources":["../../../../src/components/slider/Slider/Slider.tsx"],"sourcesContent":["import { For, mergeProps, splitProps } from \"solid-js\";\nimport type { SliderProps } from \"./Slider.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./Slider.styles\";\nimport { SliderControl } from \"../SliderControl\";\nimport { SliderTrack } from \"../SliderTrack\";\nimport { SliderIndicator } from \"../SliderIndicator\";\nimport { SliderThumb } from \"../SliderThumb\";\nimport { useSlider } from \"./useSlider\";\nimport { SliderContext } from \"./Slider.context\";\n\nexport const Slider = <T extends number | number[]>(props: SliderProps<T>) => {\n const merged = mergeProps(\n {\n orientation: \"horizontal\",\n max: 100,\n min: 0,\n step: 1,\n disabled: false,\n } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"max\",\n \"min\",\n \"step\",\n \"orientation\",\n \"onValueChange\",\n \"disabled\",\n \"class\",\n \"classList\",\n ]);\n\n const { context } = useSlider({\n get local() {\n return local;\n },\n });\n\n return (\n <SliderContext.Provider value={context}>\n <div\n data-slot=\"slider\"\n data-orientation={local.orientation}\n class={clsx(classes, local.class)}\n {...others}\n >\n <SliderControl>\n <SliderTrack>\n <SliderIndicator />\n </SliderTrack>\n\n <For each={Array.from({ length: context.values().length })}>\n {(_, idx) => <SliderThumb index={idx()} />}\n </For>\n </SliderControl>\n </div>\n </SliderContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;qDAWaY,KAAuCC,MAA0B;CAY5E,IAAM,CAACS,GAAOC,KAAUrB,EAXTD,EACb;EACEe,aAAa;EACbC,KAAK;EACLC,KAAK;EACLC,MAAM;EACNC,UAAU;EACX,EACDP,EACD,EAE0C;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEI,EAAEW,eAAYd,EAAU,EAC5B,IAAIY,QAAQ;AACV,SAAOA;IAEV,CAAC;AAEF,QAAAG,EACGd,EAAce,UAAQ;EAACC,OAAOH;EAAO,IAAAI,WAAA;GAAA,IAAAC,IAAAC,GAAA;AAaY,UAbZC,EAAAF,GAAAG,EAAA;IAAA,IAAA,qBAAA;AAAA,YAGhBV,EAAMN;;IAAW,IAAA,QAAA;AAAA,YAC5BZ,EAAKC,GAASiB,EAAMY,MAAM;;IAAA,EAC7BX,EAAM,EAAA,IAAA,GAAA,EAAAY,EAAAN,GAAAJ,EAETnB,GAAa,EAAA,IAAAsB,WAAA;AAAA,WAAA,CAAAH,EACXlB,GAAW,EAAA,IAAAqB,WAAA;AAAA,YAAAH,EACTjB,GAAe,EAAA,CAAA;OAAA,CAAA,EAAAiB,EAGjBzB,GAAG;KAAA,IAACoC,OAAI;AAAA,aAAEC,MAAMC,KAAK,EAAEC,QAAQf,EAAQgB,QAAQ,CAACD,QAAQ,CAAC;;KAAAX,WACtDa,GAAGC,MAAGjB,EAAMhB,GAAW,EAAA,IAACkC,QAAK;AAAA,aAAED,GAAK;QAAA,CAAA;KAAI,CAAA,CAAA;MAAA,CAAA,CAAA,EAAAb;;EAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classes = "data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.styles.js","names":[],"sources":["../../../../src/components/slider/Slider/Slider.styles.ts"],"sourcesContent":["export const classes =\n \"data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseProps, PolymorphicProps } from '../../../types';
|
|
2
|
+
interface BaseSliderProps<T> {
|
|
3
|
+
defaultValue?: T;
|
|
4
|
+
value?: T;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
orientation?: "horizontal" | "vertical";
|
|
9
|
+
onValueChange?: (value: T) => void;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type SliderProps<T extends number | number[]> = PolymorphicProps<"div", BaseProps & BaseSliderProps<T>, false>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SliderProps } from './Slider.types';
|
|
2
|
+
import { NonNullableProps } from '../../../types';
|
|
3
|
+
export declare const useSlider: <T extends number | number[]>({ local, }: {
|
|
4
|
+
local: NonNullableProps<Pick<SliderProps<T>, "defaultValue" | "value" | "max" | "min" | "step" | "orientation" | "onValueChange" | "disabled">, "max" | "min" | "step" | "orientation" | "disabled">;
|
|
5
|
+
}) => {
|
|
6
|
+
context: {
|
|
7
|
+
values: import('solid-js').Accessor<number[]>;
|
|
8
|
+
min: () => number;
|
|
9
|
+
max: () => number;
|
|
10
|
+
step: () => number;
|
|
11
|
+
orientation: () => "horizontal" | "vertical";
|
|
12
|
+
disabled: () => boolean;
|
|
13
|
+
activeThumbIndex: import('solid-js').Accessor<number>;
|
|
14
|
+
setActiveThumbIndex: import('solid-js').Setter<number>;
|
|
15
|
+
updateValue: (index: number, rawValue: number) => void;
|
|
16
|
+
trackRef: () => HTMLDivElement | undefined;
|
|
17
|
+
setTrackRef: (el: HTMLDivElement) => void;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createMemo as e, createSignal as t } from "solid-js";
|
|
2
|
+
//#region src/components/slider/Slider/useSlider.ts
|
|
3
|
+
var n = ({ local: n }) => {
|
|
4
|
+
let r = Array.isArray(n.value ?? n.defaultValue), i = (e) => e === void 0 ? [n.min] : Array.isArray(e) ? e : [e], a = () => n.value !== void 0, [o, s] = t(i(n.defaultValue)), c = e(() => a() ? i(n.value) : o()), l = (e) => r ? e : e[0], [u, d] = t(0), f, p = () => f, m = (e) => {
|
|
5
|
+
f = e;
|
|
6
|
+
}, h = e(() => {
|
|
7
|
+
let e = n.step.toString(), t = e.indexOf(".");
|
|
8
|
+
return t === -1 ? 0 : e.length - t - 1;
|
|
9
|
+
}), g = (e) => {
|
|
10
|
+
let { min: t, max: r, step: i } = n, a = Math.round((e - t) / i) * i + t, o = parseFloat(a.toFixed(h()));
|
|
11
|
+
return Math.min(r, Math.max(t, o));
|
|
12
|
+
};
|
|
13
|
+
return { context: {
|
|
14
|
+
values: c,
|
|
15
|
+
min: () => n.min,
|
|
16
|
+
max: () => n.max,
|
|
17
|
+
step: () => n.step,
|
|
18
|
+
orientation: () => n.orientation,
|
|
19
|
+
disabled: () => n.disabled,
|
|
20
|
+
activeThumbIndex: u,
|
|
21
|
+
setActiveThumbIndex: d,
|
|
22
|
+
updateValue: (e, t) => {
|
|
23
|
+
let r = c().slice(), i = g(t);
|
|
24
|
+
e > 0 && i <= r[e - 1] && (i = g(r[e - 1] + n.step)), e < r.length - 1 && i >= r[e + 1] && (i = g(r[e + 1] - n.step)), r[e] = i, a() || s(r), n.onValueChange?.(l(r));
|
|
25
|
+
},
|
|
26
|
+
trackRef: p,
|
|
27
|
+
setTrackRef: m
|
|
28
|
+
} };
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { n as useSlider };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=useSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlider.js","names":[],"sources":["../../../../src/components/slider/Slider/useSlider.ts"],"sourcesContent":["import { createMemo, createSignal } from \"solid-js\";\nimport type { SliderProps } from \"./Slider.types\";\nimport type { NonNullableProps } from \"~/types\";\n\nexport const useSlider = <T extends number | number[]>({\n local,\n}: {\n local: NonNullableProps<\n Pick<\n SliderProps<T>,\n | \"defaultValue\"\n | \"value\"\n | \"max\"\n | \"min\"\n | \"step\"\n | \"orientation\"\n | \"onValueChange\"\n | \"disabled\"\n >,\n \"max\" | \"min\" | \"step\" | \"orientation\" | \"disabled\"\n >;\n}) => {\n // 由初始传入的类型一次性决定,运行时不再改变\n const isArray = Array.isArray(local.value ?? local.defaultValue);\n\n // 将外部的 T 统一转为内部 number[]\n const toArray = (v: T | undefined): number[] => {\n if (v === undefined) return [local.min];\n return Array.isArray(v) ? v : [v as number];\n };\n\n // 受控 / 非受控模式\n const isControlled = () => local.value !== undefined;\n\n const [internalValues, setInternalValues] = createSignal<number[]>(\n toArray(local.defaultValue),\n );\n\n const values = createMemo<number[]>(() =>\n isControlled() ? toArray(local.value) : internalValues(),\n );\n\n // 将内部 number[] 还原为外部类型 T\n const toExternal = (arr: number[]): T => (isArray ? arr : arr[0]) as T;\n\n // 当前被拖拽的 thumb 索引\n const [activeThumbIndex, setActiveThumbIndex] = createSignal(0);\n\n // track DOM 引用(由 SliderTrack 注入)\n let trackEl: HTMLDivElement | undefined;\n const trackRef = () => trackEl;\n const setTrackRef = (el: HTMLDivElement) => {\n trackEl = el;\n };\n\n /** 从 step 推导需要保留的小数位数,例如 step=0.05 → 2 位 */\n const stepDecimals = createMemo(() => {\n const s = local.step.toString();\n const dot = s.indexOf(\".\");\n return dot === -1 ? 0 : s.length - dot - 1;\n });\n\n /** 将原始数值 snap 到 step 并 clamp 到 [min, max] */\n const snapValue = (raw: number) => {\n const { min, max, step } = local;\n const snapped = Math.round((raw - min) / step) * step + min;\n const fixed = parseFloat(snapped.toFixed(stepDecimals()));\n return Math.min(max, Math.max(min, fixed));\n };\n\n const updateValue = (index: number, rawValue: number) => {\n const next = values().slice();\n let snapped = snapValue(rawValue);\n\n // 防止 thumbs 交叉(多 thumb 场景)\n if (index > 0 && snapped <= next[index - 1]) {\n snapped = snapValue(next[index - 1] + local.step);\n }\n if (index < next.length - 1 && snapped >= next[index + 1]) {\n snapped = snapValue(next[index + 1] - local.step);\n }\n\n next[index] = snapped;\n\n if (!isControlled()) setInternalValues(next);\n local.onValueChange?.(toExternal(next));\n };\n\n const context = {\n values,\n min: () => local.min,\n max: () => local.max,\n step: () => local.step,\n orientation: () => local.orientation,\n disabled: () => local.disabled,\n activeThumbIndex,\n setActiveThumbIndex,\n updateValue,\n trackRef,\n setTrackRef,\n };\n\n return { context };\n};\n"],"mappings":";;AAIA,IAAa,KAA0C,EACrD,eAgBI;CAEJ,IAAM,IAAU,MAAM,QAAQ,EAAM,SAAS,EAAM,aAAa,EAG1D,KAAW,MACX,MAAM,KAAA,IAAkB,CAAC,EAAM,IAAI,GAChC,MAAM,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAY,EAIvC,UAAqB,EAAM,UAAU,KAAA,GAErC,CAAC,GAAgB,KAAqB,EAC1C,EAAQ,EAAM,aAAa,CAC5B,EAEK,IAAS,QACb,GAAc,GAAG,EAAQ,EAAM,MAAM,GAAG,GAAgB,CACzD,EAGK,KAAc,MAAsB,IAAU,IAAM,EAAI,IAGxD,CAAC,GAAkB,KAAuB,EAAa,EAAE,EAG3D,GACE,UAAiB,GACjB,KAAe,MAAuB;AAC1C,MAAU;IAIN,IAAe,QAAiB;EACpC,IAAM,IAAI,EAAM,KAAK,UAAU,EACzB,IAAM,EAAE,QAAQ,IAAI;AAC1B,SAAO,MAAQ,KAAK,IAAI,EAAE,SAAS,IAAM;GACzC,EAGI,KAAa,MAAgB;EACjC,IAAM,EAAE,QAAK,QAAK,YAAS,GACrB,IAAU,KAAK,OAAO,IAAM,KAAO,EAAK,GAAG,IAAO,GAClD,IAAQ,WAAW,EAAQ,QAAQ,GAAc,CAAC,CAAC;AACzD,SAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAM,CAAC;;AAmC5C,QAAO,EAAE,SAdO;EACd;EACA,WAAW,EAAM;EACjB,WAAW,EAAM;EACjB,YAAY,EAAM;EAClB,mBAAmB,EAAM;EACzB,gBAAgB,EAAM;EACtB;EACA;EACA,cA3BmB,GAAe,MAAqB;GACvD,IAAM,IAAO,GAAQ,CAAC,OAAO,EACzB,IAAU,EAAU,EAAS;AAajC,GAVI,IAAQ,KAAK,KAAW,EAAK,IAAQ,OACvC,IAAU,EAAU,EAAK,IAAQ,KAAK,EAAM,KAAK,GAE/C,IAAQ,EAAK,SAAS,KAAK,KAAW,EAAK,IAAQ,OACrD,IAAU,EAAU,EAAK,IAAQ,KAAK,EAAM,KAAK,GAGnD,EAAK,KAAS,GAET,GAAc,IAAE,EAAkB,EAAK,EAC5C,EAAM,gBAAgB,EAAW,EAAK,CAAC;;EAavC;EACA;EACD,EAEiB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { classes as t } from "./SliderControl.styles.js";
|
|
3
|
+
import { useSliderControl as n } from "./useSliderControl.js";
|
|
4
|
+
import { useSliderContext as r } from "../Slider/Slider.context.js";
|
|
5
|
+
import { addEventListener as i, delegateEvents as a, mergeProps as o, spread as s, template as c } from "solid-js/web";
|
|
6
|
+
import { splitProps as l } from "solid-js";
|
|
7
|
+
//#region src/components/slider/SliderControl/SliderControl.tsx
|
|
8
|
+
var u = /* @__PURE__ */ c("<div>"), d = (a) => {
|
|
9
|
+
let c = r(), [d, f] = l(a, ["class", "classList"]), { handlePointerDown: p, handlePointerMove: m, handlePointerUp: h } = n();
|
|
10
|
+
return (() => {
|
|
11
|
+
var n = u();
|
|
12
|
+
return i(n, "pointerup", h, !0), i(n, "pointermove", m, !0), i(n, "pointerdown", p, !0), s(n, o({
|
|
13
|
+
get "data-orientation"() {
|
|
14
|
+
return c.orientation();
|
|
15
|
+
},
|
|
16
|
+
get "data-disabled"() {
|
|
17
|
+
return c.disabled();
|
|
18
|
+
},
|
|
19
|
+
get class() {
|
|
20
|
+
return e(t, d.class);
|
|
21
|
+
}
|
|
22
|
+
}, f), !1, !1), n;
|
|
23
|
+
})();
|
|
24
|
+
};
|
|
25
|
+
a([
|
|
26
|
+
"pointerdown",
|
|
27
|
+
"pointermove",
|
|
28
|
+
"pointerup"
|
|
29
|
+
]);
|
|
30
|
+
//#endregion
|
|
31
|
+
export { d as SliderControl };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=SliderControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderControl.js","names":["splitProps","SliderControlProps","clsx","classes","useSliderControl","useSliderContext","SliderControl","props","ctx","local","others","handlePointerDown","handlePointerMove","handlePointerUp","_el$","_tmpl$","_$addEventListener","_$spread","_$mergeProps","data-orientation","orientation","data-disabled","disabled","class","_$delegateEvents"],"sources":["../../../../src/components/slider/SliderControl/SliderControl.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { SliderControlProps } from \"./SliderControl.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./SliderControl.styles\";\nimport { useSliderControl } from \"./useSliderControl\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const SliderControl = (props: SliderControlProps) => {\n const ctx = useSliderContext();\n\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n const { handlePointerDown, handlePointerMove, handlePointerUp } =\n useSliderControl();\n\n return (\n <div\n data-orientation={ctx.orientation()}\n data-disabled={ctx.disabled()}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n class={clsx(classes, local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;;;oCAOaM,KAAiBC,MAA8B;CAC1D,IAAMC,IAAMH,GAAkB,EAExB,CAACI,GAAOC,KAAUV,EAAWO,GAAO,CAAC,SAAS,YAAY,CAAC,EAE3D,EAAEI,sBAAmBC,sBAAmBC,uBAC5CT,GAAkB;AAEpB,eAAA;EAAA,IAAAU,IAAAC,GAAA;AAQc,SARdC,EAAAF,GAAA,aAMiBD,GAAe,GAAA,EAAAG,EAAAF,GAAA,eADbF,GAAiB,GAAA,EAAAI,EAAAF,GAAA,eADjBH,GAAiB,GAAA,EAAAM,EAAAH,GAAAI,EAAA;GAAA,IAAA,qBAAA;AAAA,WAFdV,EAAIY,aAAa;;GAAA,IAAA,kBAAA;AAAA,WACpBZ,EAAIc,UAAU;;GAAA,IAAA,QAAA;AAAA,WAItBpB,EAAKC,GAASM,EAAMc,MAAM;;GAAA,EAC7Bb,EAAM,EAAA,IAAA,GAAA,EAAAI;KAAA;;AAGdU,EAAA;CAAA;CAAA;CAAA;CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classes = "relative flex w-full touch-none items-center select-none data-[disabled=true]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/components/slider/SliderControl/SliderControl.styles.ts
|
|
2
|
+
var e = "relative flex w-full touch-none items-center select-none data-[disabled=true]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as classes };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=SliderControl.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderControl.styles.js","names":[],"sources":["../../../../src/components/slider/SliderControl/SliderControl.styles.ts"],"sourcesContent":["export const classes =\n \"relative flex w-full touch-none items-center select-none data-[disabled=true]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\";\n"],"mappings":";AAAA,IAAa,IACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SliderControl } from './SliderControl';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useSliderContext as e } from "../Slider/Slider.context.js";
|
|
2
|
+
//#region src/components/slider/SliderControl/useSliderControl.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let t = e(), n = (e, n) => {
|
|
5
|
+
let r = t.trackRef();
|
|
6
|
+
if (!r) return t.min();
|
|
7
|
+
let i = r.getBoundingClientRect(), a = t.orientation() === "vertical", o;
|
|
8
|
+
return o = a ? 1 - (n - i.top) / i.height : (e - i.left) / i.width, t.min() + o * (t.max() - t.min());
|
|
9
|
+
}, r = (e) => {
|
|
10
|
+
let n = t.values(), r = 0, i = Infinity;
|
|
11
|
+
return n.forEach((t, n) => {
|
|
12
|
+
let a = Math.abs(t - e);
|
|
13
|
+
a < i && (i = a, r = n);
|
|
14
|
+
}), r;
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
handlePointerDown: (e) => {
|
|
18
|
+
if (t.disabled() || e.button !== 0) return;
|
|
19
|
+
let i = n(e.clientX, e.clientY), a = r(i);
|
|
20
|
+
t.setActiveThumbIndex(a), t.updateValue(a, i), e.currentTarget.setPointerCapture(e.pointerId);
|
|
21
|
+
},
|
|
22
|
+
handlePointerMove: (e) => {
|
|
23
|
+
if (t.disabled() || !e.currentTarget.hasPointerCapture(e.pointerId)) return;
|
|
24
|
+
let r = n(e.clientX, e.clientY);
|
|
25
|
+
t.updateValue(t.activeThumbIndex(), r);
|
|
26
|
+
},
|
|
27
|
+
handlePointerUp: (e) => {
|
|
28
|
+
let t = e.currentTarget;
|
|
29
|
+
t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { t as useSliderControl };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=useSliderControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSliderControl.js","names":[],"sources":["../../../../src/components/slider/SliderControl/useSliderControl.ts"],"sourcesContent":["import { useSliderContext } from \"../Slider\";\n\nexport const useSliderControl = () => {\n const ctx = useSliderContext();\n\n /** 将页面坐标转为 slider 值 */\n const coordToValue = (clientX: number, clientY: number): number => {\n const track = ctx.trackRef();\n if (!track) return ctx.min();\n\n const rect = track.getBoundingClientRect();\n const isVertical = ctx.orientation() === \"vertical\";\n\n let ratio: number;\n if (isVertical) {\n // 垂直方向:底部为 min,顶部为 max\n ratio = 1 - (clientY - rect.top) / rect.height;\n } else {\n ratio = (clientX - rect.left) / rect.width;\n }\n\n return ctx.min() + ratio * (ctx.max() - ctx.min());\n };\n\n /** 找到距离点击位置最近的 thumb 索引 */\n const closestThumbIndex = (value: number): number => {\n const vals = ctx.values();\n let closest = 0;\n let minDist = Infinity;\n vals.forEach((v, i) => {\n const dist = Math.abs(v - value);\n if (dist < minDist) {\n minDist = dist;\n closest = i;\n }\n });\n return closest;\n };\n\n const handlePointerDown = (e: PointerEvent) => {\n if (ctx.disabled()) return;\n if (e.button !== 0) return;\n\n const value = coordToValue(e.clientX, e.clientY);\n const index = closestThumbIndex(value);\n\n ctx.setActiveThumbIndex(index);\n ctx.updateValue(index, value);\n\n const el = e.currentTarget as HTMLElement;\n el.setPointerCapture(e.pointerId);\n };\n\n const handlePointerMove = (e: PointerEvent) => {\n if (ctx.disabled()) return;\n // 只有在 pointer 被捕获(即 pointerdown 后)才处理\n if (!(e.currentTarget as HTMLElement).hasPointerCapture(e.pointerId))\n return;\n\n const value = coordToValue(e.clientX, e.clientY);\n ctx.updateValue(ctx.activeThumbIndex(), value);\n };\n\n const handlePointerUp = (e: PointerEvent) => {\n const el = e.currentTarget as HTMLElement;\n if (el.hasPointerCapture(e.pointerId)) {\n el.releasePointerCapture(e.pointerId);\n }\n };\n\n return {\n handlePointerDown,\n handlePointerMove,\n handlePointerUp,\n };\n};\n"],"mappings":";;AAEA,IAAa,UAAyB;CACpC,IAAM,IAAM,GAAkB,EAGxB,KAAgB,GAAiB,MAA4B;EACjE,IAAM,IAAQ,EAAI,UAAU;AAC5B,MAAI,CAAC,EAAO,QAAO,EAAI,KAAK;EAE5B,IAAM,IAAO,EAAM,uBAAuB,EACpC,IAAa,EAAI,aAAa,KAAK,YAErC;AAQJ,SAPA,AAIE,IAJE,IAEM,KAAK,IAAU,EAAK,OAAO,EAAK,UAE/B,IAAU,EAAK,QAAQ,EAAK,OAGhC,EAAI,KAAK,GAAG,KAAS,EAAI,KAAK,GAAG,EAAI,KAAK;IAI7C,KAAqB,MAA0B;EACnD,IAAM,IAAO,EAAI,QAAQ,EACrB,IAAU,GACV,IAAU;AAQd,SAPA,EAAK,SAAS,GAAG,MAAM;GACrB,IAAM,IAAO,KAAK,IAAI,IAAI,EAAM;AAChC,GAAI,IAAO,MACT,IAAU,GACV,IAAU;IAEZ,EACK;;AAkCT,QAAO;EACL,oBAhCyB,MAAoB;AAE7C,OADI,EAAI,UAAU,IACd,EAAE,WAAW,EAAG;GAEpB,IAAM,IAAQ,EAAa,EAAE,SAAS,EAAE,QAAQ,EAC1C,IAAQ,EAAkB,EAAM;AAK3B,GAHX,EAAI,oBAAoB,EAAM,EAC9B,EAAI,YAAY,GAAO,EAAM,EAElB,EAAE,cACV,kBAAkB,EAAE,UAAU;;EAsBjC,oBAnByB,MAAoB;AAG7C,OAFI,EAAI,UAAU,IAEd,CAAE,EAAE,cAA8B,kBAAkB,EAAE,UAAU,CAClE;GAEF,IAAM,IAAQ,EAAa,EAAE,SAAS,EAAE,QAAQ;AAChD,KAAI,YAAY,EAAI,kBAAkB,EAAE,EAAM;;EAa9C,kBAVuB,MAAoB;GAC3C,IAAM,IAAK,EAAE;AACb,GAAI,EAAG,kBAAkB,EAAE,UAAU,IACnC,EAAG,sBAAsB,EAAE,UAAU;;EAQxC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { classes as t } from "./SliderIndicator.styles.js";
|
|
3
|
+
import { useSliderIndicator as n } from "./useSliderIndicator.js";
|
|
4
|
+
import { useSliderContext as r } from "../Slider/Slider.context.js";
|
|
5
|
+
import { mergeProps as i, spread as a, template as o } from "solid-js/web";
|
|
6
|
+
import { splitProps as s } from "solid-js";
|
|
7
|
+
//#region src/components/slider/SliderIndicator/SliderIndicator.tsx
|
|
8
|
+
var c = /* @__PURE__ */ o("<div data-slot=slider-range>"), l = (o) => {
|
|
9
|
+
let l = r(), [u, d] = s(o, ["class", "classList"]), { indicatorStyle: f } = n();
|
|
10
|
+
return (() => {
|
|
11
|
+
var n = c();
|
|
12
|
+
return a(n, i({
|
|
13
|
+
get "data-orientation"() {
|
|
14
|
+
return l.orientation();
|
|
15
|
+
},
|
|
16
|
+
get class() {
|
|
17
|
+
return e(t, u.class);
|
|
18
|
+
},
|
|
19
|
+
get style() {
|
|
20
|
+
return f();
|
|
21
|
+
}
|
|
22
|
+
}, d), !1, !1), n;
|
|
23
|
+
})();
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { l as SliderIndicator };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=SliderIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderIndicator.js","names":["splitProps","SliderIndicatorProps","clsx","classes","useSliderIndicator","useSliderContext","SliderIndicator","props","ctx","local","others","indicatorStyle","_el$","_tmpl$","_$spread","_$mergeProps","data-orientation","orientation","class","style"],"sources":["../../../../src/components/slider/SliderIndicator/SliderIndicator.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { SliderIndicatorProps } from \"./SliderIndicator.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./SliderIndicator.styles\";\nimport { useSliderIndicator } from \"./useSliderIndicator\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const SliderIndicator = (props: SliderIndicatorProps) => {\n const ctx = useSliderContext();\n\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n const { indicatorStyle } = useSliderIndicator();\n\n return (\n <div\n data-slot=\"slider-range\"\n data-orientation={ctx.orientation()}\n class={clsx(classes, local.class)}\n style={indicatorStyle()}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;;;2DAOaM,KAAmBC,MAAgC;CAC9D,IAAMC,IAAMH,GAAkB,EAExB,CAACI,GAAOC,KAAUV,EAAWO,GAAO,CAAC,SAAS,YAAY,CAAC,EAE3D,EAAEI,sBAAmBP,GAAoB;AAE/C,eAAA;EAAA,IAAAQ,IAAAC,GAAA;AAMc,SANdC,EAAAF,GAAAG,EAAA;GAAA,IAAA,qBAAA;AAAA,WAGsBP,EAAIS,aAAa;;GAAA,IAAA,QAAA;AAAA,WAC5Bf,EAAKC,GAASM,EAAMS,MAAM;;GAAA,IACjCC,QAAK;AAAA,WAAER,GAAgB;;GAAA,EACnBD,EAAM,EAAA,IAAA,GAAA,EAAAE;KAAA"}
|