@neut/ui 0.0.4 → 0.0.5

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.
Files changed (107) hide show
  1. package/dist/components/progress/Progress/Progress.context.d.ts +6 -0
  2. package/dist/components/progress/Progress/Progress.context.js +11 -0
  3. package/dist/components/progress/Progress/Progress.context.js.map +1 -0
  4. package/dist/components/progress/Progress/Progress.d.ts +2 -0
  5. package/dist/components/progress/Progress/Progress.js +44 -0
  6. package/dist/components/progress/Progress/Progress.js.map +1 -0
  7. package/dist/components/progress/Progress/Progress.styles.d.ts +1 -0
  8. package/dist/components/progress/Progress/Progress.styles.js +6 -0
  9. package/dist/components/progress/Progress/Progress.styles.js.map +1 -0
  10. package/dist/components/progress/Progress/Progress.types.d.ts +4 -0
  11. package/dist/components/progress/Progress/index.d.ts +2 -0
  12. package/dist/components/progress/ProgressIndicator/ProgressIndicator.d.ts +2 -0
  13. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +27 -0
  14. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -0
  15. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.d.ts +1 -0
  16. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js +6 -0
  17. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -0
  18. package/dist/components/progress/ProgressIndicator/ProgressIndicator.types.d.ts +2 -0
  19. package/dist/components/progress/ProgressIndicator/index.d.ts +1 -0
  20. package/dist/components/progress/ProgressLabel/ProgressLabel.d.ts +2 -0
  21. package/dist/components/progress/ProgressLabel/ProgressLabel.js +18 -0
  22. package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -0
  23. package/dist/components/progress/ProgressLabel/ProgressLabel.styles.d.ts +1 -0
  24. package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js +6 -0
  25. package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js.map +1 -0
  26. package/dist/components/progress/ProgressLabel/ProgressLabel.types.d.ts +2 -0
  27. package/dist/components/progress/ProgressLabel/index.d.ts +1 -0
  28. package/dist/components/progress/ProgressTrack/ProgressTrack.d.ts +2 -0
  29. package/dist/components/progress/ProgressTrack/ProgressTrack.js +24 -0
  30. package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -0
  31. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.d.ts +1 -0
  32. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js +6 -0
  33. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -0
  34. package/dist/components/progress/ProgressTrack/ProgressTrack.types.d.ts +2 -0
  35. package/dist/components/progress/ProgressTrack/index.d.ts +1 -0
  36. package/dist/components/progress/ProgressValue/ProgressValue.d.ts +2 -0
  37. package/dist/components/progress/ProgressValue/ProgressValue.js +19 -0
  38. package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -0
  39. package/dist/components/progress/ProgressValue/ProgressValue.styles.d.ts +1 -0
  40. package/dist/components/progress/ProgressValue/ProgressValue.styles.js +6 -0
  41. package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -0
  42. package/dist/components/progress/ProgressValue/ProgressValue.types.d.ts +2 -0
  43. package/dist/components/progress/ProgressValue/index.d.ts +1 -0
  44. package/dist/components/progress/index.d.ts +3 -0
  45. package/dist/components/progress/index.js +4 -0
  46. package/dist/components/slider/Slider/Slider.context.d.ts +17 -0
  47. package/dist/components/slider/Slider/Slider.context.js +11 -0
  48. package/dist/components/slider/Slider/Slider.context.js.map +1 -0
  49. package/dist/components/slider/Slider/Slider.d.ts +2 -0
  50. package/dist/components/slider/Slider/Slider.js +62 -0
  51. package/dist/components/slider/Slider/Slider.js.map +1 -0
  52. package/dist/components/slider/Slider/Slider.styles.d.ts +1 -0
  53. package/dist/components/slider/Slider/Slider.styles.js +6 -0
  54. package/dist/components/slider/Slider/Slider.styles.js.map +1 -0
  55. package/dist/components/slider/Slider/Slider.types.d.ts +13 -0
  56. package/dist/components/slider/Slider/index.d.ts +2 -0
  57. package/dist/components/slider/Slider/useSlider.d.ts +19 -0
  58. package/dist/components/slider/Slider/useSlider.js +33 -0
  59. package/dist/components/slider/Slider/useSlider.js.map +1 -0
  60. package/dist/components/slider/SliderControl/SliderControl.d.ts +2 -0
  61. package/dist/components/slider/SliderControl/SliderControl.js +33 -0
  62. package/dist/components/slider/SliderControl/SliderControl.js.map +1 -0
  63. package/dist/components/slider/SliderControl/SliderControl.styles.d.ts +1 -0
  64. package/dist/components/slider/SliderControl/SliderControl.styles.js +6 -0
  65. package/dist/components/slider/SliderControl/SliderControl.styles.js.map +1 -0
  66. package/dist/components/slider/SliderControl/SliderControl.types.d.ts +2 -0
  67. package/dist/components/slider/SliderControl/index.d.ts +1 -0
  68. package/dist/components/slider/SliderControl/useSliderControl.d.ts +5 -0
  69. package/dist/components/slider/SliderControl/useSliderControl.js +36 -0
  70. package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -0
  71. package/dist/components/slider/SliderIndicator/SliderIndicator.d.ts +2 -0
  72. package/dist/components/slider/SliderIndicator/SliderIndicator.js +28 -0
  73. package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -0
  74. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.d.ts +1 -0
  75. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js +7 -0
  76. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -0
  77. package/dist/components/slider/SliderIndicator/SliderIndicator.types.d.ts +2 -0
  78. package/dist/components/slider/SliderIndicator/index.d.ts +1 -0
  79. package/dist/components/slider/SliderIndicator/useSliderIndicator.d.ts +6 -0
  80. package/dist/components/slider/SliderIndicator/useSliderIndicator.js +20 -0
  81. package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -0
  82. package/dist/components/slider/SliderThumb/SliderThumb.d.ts +2 -0
  83. package/dist/components/slider/SliderThumb/SliderThumb.js +45 -0
  84. package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -0
  85. package/dist/components/slider/SliderThumb/SliderThumb.styles.d.ts +1 -0
  86. package/dist/components/slider/SliderThumb/SliderThumb.styles.js +7 -0
  87. package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -0
  88. package/dist/components/slider/SliderThumb/SliderThumb.types.d.ts +6 -0
  89. package/dist/components/slider/SliderThumb/index.d.ts +1 -0
  90. package/dist/components/slider/SliderThumb/useSliderThumb.d.ts +6 -0
  91. package/dist/components/slider/SliderThumb/useSliderThumb.js +18 -0
  92. package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -0
  93. package/dist/components/slider/SliderTrack/SliderTrack.d.ts +2 -0
  94. package/dist/components/slider/SliderTrack/SliderTrack.js +24 -0
  95. package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -0
  96. package/dist/components/slider/SliderTrack/SliderTrack.styles.d.ts +1 -0
  97. package/dist/components/slider/SliderTrack/SliderTrack.styles.js +6 -0
  98. package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -0
  99. package/dist/components/slider/SliderTrack/SliderTrack.types.d.ts +2 -0
  100. package/dist/components/slider/SliderTrack/index.d.ts +1 -0
  101. package/dist/components/slider/index.d.ts +1 -0
  102. package/dist/components/slider/index.js +3 -0
  103. package/dist/index.d.ts +2 -0
  104. package/dist/index.js +42 -37
  105. package/dist/types/props.types.d.ts +3 -0
  106. package/dist/ui.css +1 -1
  107. package/package.json +4 -1
@@ -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,2 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ export type SliderControlProps = PolymorphicProps<"div", BaseProps, false>;
@@ -0,0 +1 @@
1
+ export { SliderControl } from './SliderControl';
@@ -0,0 +1,5 @@
1
+ export declare const useSliderControl: () => {
2
+ handlePointerDown: (e: PointerEvent) => void;
3
+ handlePointerMove: (e: PointerEvent) => void;
4
+ handlePointerUp: (e: PointerEvent) => void;
5
+ };
@@ -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,2 @@
1
+ import { SliderIndicatorProps } from './SliderIndicator.types';
2
+ export declare const SliderIndicator: (props: SliderIndicatorProps) => import("solid-js").JSX.Element;
@@ -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"}
@@ -0,0 +1 @@
1
+ export declare const classes: string;
@@ -0,0 +1,7 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ //#region src/components/slider/SliderIndicator/SliderIndicator.styles.ts
3
+ var t = e("bg-neutral-900 dark:bg-neutral-200 select-none", "data-[orientation=horizontal]:relative data-[orientation=horizontal]:h-full data-[orientation=horizontal]:inset-s-(--start-position) data-[orientation=horizontal]:w-(--relative-size)", "data-[orientation=vertical]:absolute data-[orientation=vertical]:w-full data-[orientation=vertical]:h-(--start-position) data-[orientation=vertical]:bottom-(--relative-size)");
4
+ //#endregion
5
+ export { t as classes };
6
+
7
+ //# sourceMappingURL=SliderIndicator.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderIndicator.styles.js","names":[],"sources":["../../../../src/components/slider/SliderIndicator/SliderIndicator.styles.ts"],"sourcesContent":["import { clsx } from \"~/utils\";\n\nexport const classes = clsx(\n \"bg-neutral-900 dark:bg-neutral-200 select-none\",\n \"data-[orientation=horizontal]:relative data-[orientation=horizontal]:h-full data-[orientation=horizontal]:inset-s-(--start-position) data-[orientation=horizontal]:w-(--relative-size)\",\n \"data-[orientation=vertical]:absolute data-[orientation=vertical]:w-full data-[orientation=vertical]:h-(--start-position) data-[orientation=vertical]:bottom-(--relative-size)\",\n);\n"],"mappings":";;AAEA,IAAa,IAAU,EACrB,kDACA,0LACA,gLACD"}
@@ -0,0 +1,2 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ export type SliderIndicatorProps = PolymorphicProps<"div", BaseProps, false>;
@@ -0,0 +1 @@
1
+ export { SliderIndicator } from './SliderIndicator';
@@ -0,0 +1,6 @@
1
+ export declare const useSliderIndicator: () => {
2
+ indicatorStyle: import('solid-js').Accessor<{
3
+ "--relative-size": string;
4
+ "--start-position": string;
5
+ }>;
6
+ };
@@ -0,0 +1,20 @@
1
+ import { useSliderContext as e } from "../Slider/Slider.context.js";
2
+ import { createMemo as t } from "solid-js";
3
+ //#region src/components/slider/SliderIndicator/useSliderIndicator.ts
4
+ var n = () => {
5
+ let { min: n, max: r, values: i, orientation: a } = e();
6
+ return { indicatorStyle: t(() => {
7
+ let e = r() - n(), t = i(), o = t.length === 1 ? 0 : (t[0] - n()) / e * 100, s = (t[t.length - 1] - n()) / e * 100;
8
+ return a() === "vertical" ? {
9
+ "--relative-size": `${o}%`,
10
+ "--start-position": `${s - o}%`
11
+ } : {
12
+ "--start-position": `${o}%`,
13
+ "--relative-size": `${s - o}%`
14
+ };
15
+ }) };
16
+ };
17
+ //#endregion
18
+ export { n as useSliderIndicator };
19
+
20
+ //# sourceMappingURL=useSliderIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderIndicator.js","names":[],"sources":["../../../../src/components/slider/SliderIndicator/useSliderIndicator.ts"],"sourcesContent":["import { createMemo } from \"solid-js\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const useSliderIndicator = () => {\n const { min, max, values, orientation } = useSliderContext();\n\n // /**\n // * 计算 indicator 的 start% 和 end%:\n // * - 单 thumb:从 0 到当前值\n // * - 双 thumb(range):从 min thumb 到 max thumb\n // */\n // const indicatorStyle = createMemo(() => {\n // const range = max() - min();\n // const sorted = values()\n // .slice()\n // .sort((a, b) => a - b);\n // const isSingle = sorted.length === 1;\n\n // const startPct = isSingle ? 0 : ((sorted[0] - min()) / range) * 100;\n // const endPct = ((sorted[sorted.length - 1] - min()) / range) * 100;\n\n // if (orientation() === \"vertical\") {\n // return {\n // bottom: `${startPct}%`,\n // height: `${endPct - startPct}%`,\n // };\n // }\n\n // return {\n // left: `${startPct}%`,\n // width: `${endPct - startPct}%`,\n // };\n // });\n\n /**\n * 计算 indicator 的 start% 和 end%:\n * - 单 thumb:start 固定为 0,end 为当前值的百分比\n * - 多 thumb(range):start 为第一个 thumb,end 为最后一个 thumb\n * 注意:不对 values 排序,保持与 thumb 索引的对应关系\n */\n const indicatorStyle = createMemo(() => {\n const range = max() - min();\n const vals = values();\n const isSingle = vals.length === 1;\n\n const startPct = isSingle ? 0 : ((vals[0] - min()) / range) * 100;\n const endPct = ((vals[vals.length - 1] - min()) / range) * 100;\n\n if (orientation() === \"vertical\") {\n return {\n \"--relative-size\": `${startPct}%`,\n \"--start-position\": `${endPct - startPct}%`,\n };\n }\n\n return {\n \"--start-position\": `${startPct}%`,\n \"--relative-size\": `${endPct - startPct}%`,\n };\n });\n\n return { indicatorStyle };\n};\n"],"mappings":";;;AAGA,IAAa,UAA2B;CACtC,IAAM,EAAE,QAAK,QAAK,WAAQ,mBAAgB,GAAkB;AAyD5D,QAAO,EAAE,gBArBc,QAAiB;EACtC,IAAM,IAAQ,GAAK,GAAG,GAAK,EACrB,IAAO,GAAQ,EAGf,IAFW,EAAK,WAAW,IAEL,KAAM,EAAK,KAAK,GAAK,IAAI,IAAS,KACxD,KAAW,EAAK,EAAK,SAAS,KAAK,GAAK,IAAI,IAAS;AAS3D,SAPI,GAAa,KAAK,aACb;GACL,mBAAmB,GAAG,EAAS;GAC/B,oBAAoB,GAAG,IAAS,EAAS;GAC1C,GAGI;GACL,oBAAoB,GAAG,EAAS;GAChC,mBAAmB,GAAG,IAAS,EAAS;GACzC;GACD,EAEuB"}
@@ -0,0 +1,2 @@
1
+ import { SliderThumbProps } from './SliderThumb.types';
2
+ export declare const SliderThumb: (props: SliderThumbProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,45 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { classes as t } from "./SliderThumb.styles.js";
3
+ import { useSliderThumb as n } from "./useSliderThumb.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/SliderThumb/SliderThumb.tsx
8
+ var u = /* @__PURE__ */ c("<div data-slot=slider-thumb>"), d = (a) => {
9
+ let c = r(), [d, f] = l(a, [
10
+ "index",
11
+ "class",
12
+ "classList"
13
+ ]), { positionStyle: p, handleKeyDown: m } = n(d.index);
14
+ return (() => {
15
+ var n = u();
16
+ return n.addEventListener("focus", () => c.setActiveThumbIndex(d.index)), i(n, "keydown", m, !0), s(n, o({
17
+ get "data-index"() {
18
+ return d.index;
19
+ },
20
+ get "data-orientation"() {
21
+ return c.orientation();
22
+ },
23
+ get "data-disabled"() {
24
+ return c.disabled();
25
+ },
26
+ get "aria-disabled"() {
27
+ return c.disabled();
28
+ },
29
+ get tabindex() {
30
+ return c.disabled() ? -1 : 0;
31
+ },
32
+ get class() {
33
+ return e(t, d.class);
34
+ },
35
+ get style() {
36
+ return p();
37
+ }
38
+ }, f), !1, !1), n;
39
+ })();
40
+ };
41
+ a(["keydown"]);
42
+ //#endregion
43
+ export { d as SliderThumb };
44
+
45
+ //# sourceMappingURL=SliderThumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderThumb.js","names":["splitProps","SliderThumbProps","clsx","classes","useSliderThumb","useSliderContext","SliderThumb","props","ctx","local","others","positionStyle","handleKeyDown","index","_el$","_tmpl$","addEventListener","setActiveThumbIndex","_$addEventListener","_$spread","_$mergeProps","data-index","data-orientation","orientation","data-disabled","disabled","aria-disabled","tabindex","class","style","_$delegateEvents"],"sources":["../../../../src/components/slider/SliderThumb/SliderThumb.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { SliderThumbProps } from \"./SliderThumb.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./SliderThumb.styles\";\nimport { useSliderThumb } from \"./useSliderThumb\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const SliderThumb = (props: SliderThumbProps) => {\n const ctx = useSliderContext();\n\n const [local, others] = splitProps(props, [\"index\", \"class\", \"classList\"]);\n\n const { positionStyle, handleKeyDown } = useSliderThumb(local.index);\n\n return (\n <div\n data-slot=\"slider-thumb\"\n data-index={local.index}\n data-orientation={ctx.orientation()}\n data-disabled={ctx.disabled()}\n aria-disabled={ctx.disabled()}\n tabindex={ctx.disabled() ? -1 : 0}\n class={clsx(classes, local.class)}\n style={positionStyle()}\n onKeyDown={handleKeyDown}\n onFocus={() => ctx.setActiveThumbIndex(local.index)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;;;2DAOaM,KAAeC,MAA4B;CACtD,IAAMC,IAAMH,GAAkB,EAExB,CAACI,GAAOC,KAAUV,EAAWO,GAAO;EAAC;EAAS;EAAS;EAAY,CAAC,EAEpE,EAAEI,kBAAeC,qBAAkBR,EAAeK,EAAMI,MAAM;AAEpE,eAAA;EAAA,IAAAC,IAAAC,GAAA;AAYc,SAZdD,EAAAE,iBAAA,eAWmBR,EAAIS,oBAAoBR,EAAMI,MAAM,CAAA,EAAAK,EAAAJ,GAAA,WADxCF,GAAa,GAAA,EAAAO,EAAAL,GAAAM,EAAA;GAAA,IAAA,eAAA;AAAA,WAPZX,EAAMI;;GAAK,IAAA,qBAAA;AAAA,WACLL,EAAIe,aAAa;;GAAA,IAAA,kBAAA;AAAA,WACpBf,EAAIiB,UAAU;;GAAA,IAAA,kBAAA;AAAA,WACdjB,EAAIiB,UAAU;;GAAA,IAC7BE,WAAQ;AAAA,WAAEnB,EAAIiB,UAAU,GAAG,KAAK;;GAAC,IAAA,QAAA;AAAA,WAC1BvB,EAAKC,GAASM,EAAMmB,MAAM;;GAAA,IACjCC,QAAK;AAAA,WAAElB,GAAe;;GAAA,EAGlBD,EAAM,EAAA,IAAA,GAAA,EAAAI;KAAA;;AAGdgB,EAAA,CAAA,UAAA,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const classes: string;
@@ -0,0 +1,7 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ //#region src/components/slider/SliderThumb/SliderThumb.styles.ts
3
+ var t = e("absolute block size-3 shrink-0 rounded-full border border-neutral-400 dark:border-neutral-500 bg-white ring-neutral-400/50 dark:ring-neutral-500/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 data-[disabled=true]:pointer-events-none", "data-[orientation=horizontal]:-translate-1/2 data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--position)", "data-[orientation=vertical]:-translate-x-1/2 data-[orientation=vertical]:translate-y-1/2 data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:bottom-(--position)");
4
+ //#endregion
5
+ export { t as classes };
6
+
7
+ //# sourceMappingURL=SliderThumb.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderThumb.styles.js","names":[],"sources":["../../../../src/components/slider/SliderThumb/SliderThumb.styles.ts"],"sourcesContent":["import { clsx } from \"~/utils\";\n\nexport const classes = clsx(\n \"absolute block size-3 shrink-0 rounded-full border border-neutral-400 dark:border-neutral-500 bg-white ring-neutral-400/50 dark:ring-neutral-500/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 data-[disabled=true]:pointer-events-none\",\n \"data-[orientation=horizontal]:-translate-1/2 data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--position)\",\n \"data-[orientation=vertical]:-translate-x-1/2 data-[orientation=vertical]:translate-y-1/2 data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:bottom-(--position)\",\n);\n"],"mappings":";;AAEA,IAAa,IAAU,EACrB,qVACA,sIACA,gLACD"}
@@ -0,0 +1,6 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ interface BaseSliderThumbProps {
3
+ index: number;
4
+ }
5
+ export type SliderThumbProps = PolymorphicProps<"div", BaseProps & BaseSliderThumbProps, false>;
6
+ export {};
@@ -0,0 +1 @@
1
+ export { SliderThumb } from './SliderThumb';
@@ -0,0 +1,6 @@
1
+ export declare const useSliderThumb: (index: number) => {
2
+ positionStyle: import('solid-js').Accessor<{
3
+ "--position": string;
4
+ }>;
5
+ handleKeyDown: (e: KeyboardEvent) => void;
6
+ };
@@ -0,0 +1,18 @@
1
+ import { useSliderContext as e } from "../Slider/Slider.context.js";
2
+ import { createMemo as t } from "solid-js";
3
+ //#region src/components/slider/SliderThumb/useSliderThumb.tsx
4
+ var n = (n) => {
5
+ let r = e(), i = t(() => r.values()[n] ?? r.min());
6
+ return {
7
+ positionStyle: t(() => ({ "--position": `${(i() - r.min()) / (r.max() - r.min()) * 100}%` })),
8
+ handleKeyDown: (e) => {
9
+ if (r.disabled()) return;
10
+ let t = e.shiftKey ? r.step() * 10 : r.step(), a = r.orientation() === "vertical", o = a ? ["ArrowUp"] : ["ArrowRight", "ArrowUp"], s = a ? ["ArrowDown"] : ["ArrowLeft", "ArrowDown"];
11
+ o.includes(e.key) ? (e.preventDefault(), r.updateValue(n, i() + t)) : s.includes(e.key) ? (e.preventDefault(), r.updateValue(n, i() - t)) : e.key === "Home" ? (e.preventDefault(), r.updateValue(n, r.min())) : e.key === "End" && (e.preventDefault(), r.updateValue(n, r.max()));
12
+ }
13
+ };
14
+ };
15
+ //#endregion
16
+ export { n as useSliderThumb };
17
+
18
+ //# sourceMappingURL=useSliderThumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderThumb.js","names":["createMemo","useSliderContext","useSliderThumb","index","ctx","value","values","min","positionStyle","pct","max","handleKeyDown","e","KeyboardEvent","disabled","step","shiftKey","isVertical","orientation","increaseKeys","decreaseKeys","includes","key","preventDefault","updateValue"],"sources":["../../../../src/components/slider/SliderThumb/useSliderThumb.tsx"],"sourcesContent":["import { createMemo } from \"solid-js\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const useSliderThumb = (index: number) => {\n const ctx = useSliderContext();\n\n const value = createMemo(() => ctx.values()[index] ?? ctx.min());\n\n /**\n * thumb 相对于 SliderControl(position: relative)绝对定位。\n * 主轴:百分比 + translate(-50%) 使 thumb 中心对齐刻度点。\n * 交叉轴:50% + translate(-50%) 使 thumb 始终居中于 track 细线。\n */\n const positionStyle = createMemo(() => {\n const pct = ((value() - ctx.min()) / (ctx.max() - ctx.min())) * 100;\n\n return {\n \"--position\": `${pct}%`,\n };\n });\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (ctx.disabled()) return;\n\n const step = e.shiftKey ? ctx.step() * 10 : ctx.step();\n const isVertical = ctx.orientation() === \"vertical\";\n\n const increaseKeys = isVertical ? [\"ArrowUp\"] : [\"ArrowRight\", \"ArrowUp\"];\n const decreaseKeys = isVertical\n ? [\"ArrowDown\"]\n : [\"ArrowLeft\", \"ArrowDown\"];\n\n if (increaseKeys.includes(e.key)) {\n e.preventDefault();\n ctx.updateValue(index, value() + step);\n } else if (decreaseKeys.includes(e.key)) {\n e.preventDefault();\n ctx.updateValue(index, value() - step);\n } else if (e.key === \"Home\") {\n e.preventDefault();\n ctx.updateValue(index, ctx.min());\n } else if (e.key === \"End\") {\n e.preventDefault();\n ctx.updateValue(index, ctx.max());\n }\n };\n\n return { positionStyle, handleKeyDown };\n};\n"],"mappings":";;;AAGA,IAAaE,KAAkBC,MAAkB;CAC/C,IAAMC,IAAMH,GAAkB,EAExBI,IAAQL,QAAiBI,EAAIE,QAAQ,CAACH,MAAUC,EAAIG,KAAK,CAAC;AAyChE,QAAO;EAAEC,eAlCaR,SAGb,EACL,cAAc,IAHFK,GAAO,GAAGD,EAAIG,KAAK,KAAKH,EAAIM,KAAK,GAAGN,EAAIG,KAAK,IAAK,IAG1C,IACrB,EACD;EA4BsBI,gBA1BDC,MAAqB;AAC1C,OAAIR,EAAIU,UAAU,CAAE;GAEpB,IAAMC,IAAOH,EAAEI,WAAWZ,EAAIW,MAAM,GAAG,KAAKX,EAAIW,MAAM,EAChDE,IAAab,EAAIc,aAAa,KAAK,YAEnCC,IAAeF,IAAa,CAAC,UAAU,GAAG,CAAC,cAAc,UAAU,EACnEG,IAAeH,IACjB,CAAC,YAAY,GACb,CAAC,aAAa,YAAY;AAE9B,GAAIE,EAAaE,SAAST,EAAEU,IAAI,IAC9BV,EAAEW,gBAAgB,EAClBnB,EAAIoB,YAAYrB,GAAOE,GAAO,GAAGU,EAAK,IAC7BK,EAAaC,SAAST,EAAEU,IAAI,IACrCV,EAAEW,gBAAgB,EAClBnB,EAAIoB,YAAYrB,GAAOE,GAAO,GAAGU,EAAK,IAC7BH,EAAEU,QAAQ,UACnBV,EAAEW,gBAAgB,EAClBnB,EAAIoB,YAAYrB,GAAOC,EAAIG,KAAK,CAAC,IACxBK,EAAEU,QAAQ,UACnBV,EAAEW,gBAAgB,EAClBnB,EAAIoB,YAAYrB,GAAOC,EAAIM,KAAK,CAAC;;EAIE"}
@@ -0,0 +1,2 @@
1
+ import { SliderTrackProps } from './SliderTrack.types';
2
+ export declare const SliderTrack: (props: SliderTrackProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { classes as t } from "./SliderTrack.styles.js";
3
+ import { useSliderContext as n } from "../Slider/Slider.context.js";
4
+ import { mergeProps as r, spread as i, template as a, use as o } from "solid-js/web";
5
+ import { splitProps as s } from "solid-js";
6
+ //#region src/components/slider/SliderTrack/SliderTrack.tsx
7
+ var c = /* @__PURE__ */ a("<div data-slot=slider-track>"), l = (a) => {
8
+ let l = n(), [u, d] = s(a, ["class", "classList"]);
9
+ return (() => {
10
+ var n = c(), a = l.setTrackRef;
11
+ return typeof a == "function" ? o(a, n) : l.setTrackRef = n, i(n, r({
12
+ get "data-orientation"() {
13
+ return l.orientation();
14
+ },
15
+ get class() {
16
+ return e(t, u.class);
17
+ }
18
+ }, d), !1, !1), n;
19
+ })();
20
+ };
21
+ //#endregion
22
+ export { l as SliderTrack };
23
+
24
+ //# sourceMappingURL=SliderTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderTrack.js","names":["splitProps","SliderTrackProps","clsx","classes","useSliderContext","SliderTrack","props","ctx","local","others","_el$","_tmpl$","_ref$","setTrackRef","_$use","_$spread","_$mergeProps","data-orientation","orientation","class"],"sources":["../../../../src/components/slider/SliderTrack/SliderTrack.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { SliderTrackProps } from \"./SliderTrack.types\";\nimport { clsx } from \"~/utils\";\nimport { classes } from \"./SliderTrack.styles\";\nimport { useSliderContext } from \"../Slider\";\n\nexport const SliderTrack = (props: SliderTrackProps) => {\n const ctx = useSliderContext();\n\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <div\n data-slot=\"slider-track\"\n data-orientation={ctx.orientation()}\n ref={ctx.setTrackRef}\n class={clsx(classes, local.class)}\n {...others}\n />\n );\n};\n"],"mappings":";;;;;;2DAMaK,KAAeC,MAA4B;CACtD,IAAMC,IAAMH,GAAkB,EAExB,CAACI,GAAOC,KAAUT,EAAWM,GAAO,CAAC,SAAS,YAAY,CAAC;AAEjE,eAAA;EAAA,IAAAI,IAAAC,GAAA,EAAAC,IAISL,EAAIM;AAEC,SAFU,OAAAD,KAAA,aAAAE,EAAAF,GAAAF,EAAA,GAAfH,EAAIM,cAAWH,GAAAK,EAAAL,GAAAM,EAAA;GAAA,IAAA,qBAAA;AAAA,WADFT,EAAIW,aAAa;;GAAA,IAAA,QAAA;AAAA,WAE5BhB,EAAKC,GAASK,EAAMW,MAAM;;GAAA,EAC7BV,EAAM,EAAA,IAAA,GAAA,EAAAC;KAAA"}
@@ -0,0 +1 @@
1
+ export declare const classes = "relative grow overflow-hidden rounded-full bg-neutral-100 dark:bg-neutral-800 select-none data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1";
@@ -0,0 +1,6 @@
1
+ //#region src/components/slider/SliderTrack/SliderTrack.styles.ts
2
+ var e = "relative grow overflow-hidden rounded-full bg-neutral-100 dark:bg-neutral-800 select-none data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1";
3
+ //#endregion
4
+ export { e as classes };
5
+
6
+ //# sourceMappingURL=SliderTrack.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderTrack.styles.js","names":[],"sources":["../../../../src/components/slider/SliderTrack/SliderTrack.styles.ts"],"sourcesContent":["export const classes =\n \"relative grow overflow-hidden rounded-full bg-neutral-100 dark:bg-neutral-800 select-none data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1\";\n"],"mappings":";AAAA,IAAa,IACX"}
@@ -0,0 +1,2 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ export type SliderTrackProps = PolymorphicProps<"div", BaseProps, false>;
@@ -0,0 +1 @@
1
+ export { SliderTrack } from './SliderTrack';
@@ -0,0 +1 @@
1
+ export * from './Slider';
@@ -0,0 +1,3 @@
1
+ import { useSliderContext as e } from "./Slider/Slider.context.js";
2
+ import { Slider as t } from "./Slider/Slider.js";
3
+ export { t as Slider, e as useSliderContext };
package/dist/index.d.ts CHANGED
@@ -14,10 +14,12 @@ export * from './components/item';
14
14
  export * from './components/kbd';
15
15
  export * from './components/label';
16
16
  export * from './components/pagination';
17
+ export * from './components/progress';
17
18
  export * from './components/scroll-area';
18
19
  export * from './components/separator';
19
20
  export * from './components/sidebar';
20
21
  export * from './components/skeleton';
22
+ export * from './components/slider';
21
23
  export * from './components/spinner';
22
24
  export * from './components/switch';
23
25
  export * from './components/textarea';
package/dist/index.js CHANGED
@@ -69,40 +69,45 @@ import { PaginationLink as pe } from "./components/pagination/PaginationLink/Pag
69
69
  import { PaginationPrevious as me } from "./components/pagination/PaginationPrevious/PaginationPrevious.js";
70
70
  import { PaginationNext as he } from "./components/pagination/PaginationNext/PaginationNext.js";
71
71
  import { PaginationEllipsis as ge } from "./components/pagination/PaginationEllipsis/PaginationEllipsis.js";
72
- import { ScrollBar as _e } from "./components/scroll-area/ScrollBar/ScrollBar.js";
73
- import { ScrollArea as ve } from "./components/scroll-area/ScrollArea/ScrollArea.js";
74
- import { SidebarProvider as ye } from "./components/sidebar/SidebarProvider/SidebarProvider.js";
75
- import { Sidebar as be } from "./components/sidebar/Sidebar/Sidebar.js";
76
- import { SidebarTrigger as xe } from "./components/sidebar/SidebarTrigger/SidebarTrigger.js";
77
- import { SidebarRail as Se } from "./components/sidebar/SidebarRail/SidebarRail.js";
78
- import { SidebarInset as Ce } from "./components/sidebar/SidebarInset/SidebarInset.js";
79
- import { SidebarInput as we } from "./components/sidebar/SidebarInput/SidebarInput.js";
80
- import { SidebarHeader as Te } from "./components/sidebar/SidebarHeader/SidebarHeader.js";
81
- import { SidebarFooter as Ee } from "./components/sidebar/SidebarFooter/SidebarFooter.js";
82
- import { SidebarSeparator as De } from "./components/sidebar/SidebarSeparator/SidebarSeparator.js";
83
- import { SidebarContent as Oe } from "./components/sidebar/SidebarContent/SidebarContent.js";
84
- import { SidebarGroup as ke } from "./components/sidebar/SidebarGroup/SidebarGroup.js";
85
- import { SidebarGroupLabel as Ae } from "./components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js";
86
- import { SidebarGroupAction as je } from "./components/sidebar/SidebarGroupAction/SidebarGroupAction.js";
87
- import { SidebarGroupContent as Me } from "./components/sidebar/SidebarGroupContent/SidebarGroupContent.js";
88
- import { SidebarMenu as Ne } from "./components/sidebar/SidebarMenu/SidebarMenu.js";
89
- import { SidebarMenuItem as Pe } from "./components/sidebar/SidebarMenuItem/SidebarMenuItem.js";
90
- import { Tooltip as Fe } from "./components/tooltip/Tooltip/Tooltip.js";
91
- import { TooltipTrigger as Ie } from "./components/tooltip/TooltipTrigger/TooltipTrigger.js";
92
- import { TooltipContent as Le } from "./components/tooltip/TooltipContent/TooltipContent.js";
93
- import { TooltipArrow as Re } from "./components/tooltip/TooltipArrow/TooltipArrow.js";
94
- import { SidebarMenuButton as ze } from "./components/sidebar/SidebarMenuButton/SidebarMenuButton.js";
95
- import { SidebarMenuBadge as Be } from "./components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js";
96
- import { Skeleton as Ve } from "./components/skeleton/Skeleton.js";
97
- import { SidebarMenuSkeleton as He } from "./components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js";
98
- import { SidebarMenuSub as Ue } from "./components/sidebar/SidebarMenuSub/SidebarMenuSub.js";
99
- import { SidebarMenuSubItem as We } from "./components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js";
100
- import { SidebarMenuSubButton as Ge } from "./components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js";
101
- import { Spinner as Ke } from "./components/spinner/Spinner.js";
102
- import { Switch as qe } from "./components/switch/Switch.js";
103
- import { toast as Je } from "./components/toast/state.js";
104
- import { useSonner as Ye } from "./components/toast/hooks.js";
105
- import { Toast as Xe } from "./components/toast/components/Toast.js";
106
- import { Toaster as Ze } from "./components/toast/components/Toaster.js";
107
- import { useFontLoader as Qe } from "./hooks/useFontLoader.js";
108
- export { n as Accordion, r as AccordionContent, i as AccordionItem, a as AccordionTrigger, o as AspectRatio, s as Avatar, u as AvatarBadge, l as AvatarFallback, d as AvatarGroup, f as AvatarGroupCount, c as AvatarImage, p as Badge, m as Button, h as ButtonGroup, _ as ButtonGroupSeparator, v as ButtonGroupText, y as Card, b as CardAction, x as CardContent, S as CardDescription, C as CardFooter, w as CardHeader, T as CardTitle, E as Carousel, D as CarouselContent, O as CarouselDots, k as CarouselItem, A as CarouselNext, j as CarouselPrevious, F as Field, I as FieldContent, V as FieldDescription, B as FieldError, P as FieldGroup, R as FieldLabel, N as FieldLegend, H as FieldSeparator, M as FieldSet, z as FieldTitle, U as Image, W as Input, G as InputGroup, K as InputGroupAddon, q as InputGroupButton, Y as InputGroupInput, J as InputGroupText, Z as InputGroupTextarea, ee as Item, ae as ItemActions, ne as ItemContent, ie as ItemDescription, se as ItemFooter, Q as ItemGroup, oe as ItemHeader, te as ItemMedia, $ as ItemSeparator, re as ItemTitle, ce as Kbd, le as KbdGroup, L as Label, ue as Pagination, de as PaginationContent, ge as PaginationEllipsis, fe as PaginationItem, pe as PaginationLink, he as PaginationNext, me as PaginationPrevious, ve as ScrollArea, _e as ScrollBar, g as Separator, be as Sidebar, Oe as SidebarContent, Ee as SidebarFooter, ke as SidebarGroup, je as SidebarGroupAction, Me as SidebarGroupContent, Ae as SidebarGroupLabel, Te as SidebarHeader, we as SidebarInput, Ce as SidebarInset, Ne as SidebarMenu, Be as SidebarMenuBadge, ze as SidebarMenuButton, Pe as SidebarMenuItem, He as SidebarMenuSkeleton, Ue as SidebarMenuSub, Ge as SidebarMenuSubButton, We as SidebarMenuSubItem, ye as SidebarProvider, Se as SidebarRail, De as SidebarSeparator, xe as SidebarTrigger, Ve as Skeleton, Ke as Spinner, qe as Switch, X as Textarea, Xe as Toast, Ze as Toaster, Fe as Tooltip, Re as TooltipArrow, Le as TooltipContent, Ie as TooltipTrigger, e as clsx, Je as toast, Qe as useFontLoader, Ye as useSonner, t as warnOnce };
72
+ import { Progress as _e } from "./components/progress/Progress/Progress.js";
73
+ import { ProgressLabel as ve } from "./components/progress/ProgressLabel/ProgressLabel.js";
74
+ import { ProgressValue as ye } from "./components/progress/ProgressValue/ProgressValue.js";
75
+ import { ScrollBar as be } from "./components/scroll-area/ScrollBar/ScrollBar.js";
76
+ import { ScrollArea as xe } from "./components/scroll-area/ScrollArea/ScrollArea.js";
77
+ import { SidebarProvider as Se } from "./components/sidebar/SidebarProvider/SidebarProvider.js";
78
+ import { Sidebar as Ce } from "./components/sidebar/Sidebar/Sidebar.js";
79
+ import { SidebarTrigger as we } from "./components/sidebar/SidebarTrigger/SidebarTrigger.js";
80
+ import { SidebarRail as Te } from "./components/sidebar/SidebarRail/SidebarRail.js";
81
+ import { SidebarInset as Ee } from "./components/sidebar/SidebarInset/SidebarInset.js";
82
+ import { SidebarInput as De } from "./components/sidebar/SidebarInput/SidebarInput.js";
83
+ import { SidebarHeader as Oe } from "./components/sidebar/SidebarHeader/SidebarHeader.js";
84
+ import { SidebarFooter as ke } from "./components/sidebar/SidebarFooter/SidebarFooter.js";
85
+ import { SidebarSeparator as Ae } from "./components/sidebar/SidebarSeparator/SidebarSeparator.js";
86
+ import { SidebarContent as je } from "./components/sidebar/SidebarContent/SidebarContent.js";
87
+ import { SidebarGroup as Me } from "./components/sidebar/SidebarGroup/SidebarGroup.js";
88
+ import { SidebarGroupLabel as Ne } from "./components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js";
89
+ import { SidebarGroupAction as Pe } from "./components/sidebar/SidebarGroupAction/SidebarGroupAction.js";
90
+ import { SidebarGroupContent as Fe } from "./components/sidebar/SidebarGroupContent/SidebarGroupContent.js";
91
+ import { SidebarMenu as Ie } from "./components/sidebar/SidebarMenu/SidebarMenu.js";
92
+ import { SidebarMenuItem as Le } from "./components/sidebar/SidebarMenuItem/SidebarMenuItem.js";
93
+ import { Tooltip as Re } from "./components/tooltip/Tooltip/Tooltip.js";
94
+ import { TooltipTrigger as ze } from "./components/tooltip/TooltipTrigger/TooltipTrigger.js";
95
+ import { TooltipContent as Be } from "./components/tooltip/TooltipContent/TooltipContent.js";
96
+ import { TooltipArrow as Ve } from "./components/tooltip/TooltipArrow/TooltipArrow.js";
97
+ import { SidebarMenuButton as He } from "./components/sidebar/SidebarMenuButton/SidebarMenuButton.js";
98
+ import { SidebarMenuBadge as Ue } from "./components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js";
99
+ import { Skeleton as We } from "./components/skeleton/Skeleton.js";
100
+ import { SidebarMenuSkeleton as Ge } from "./components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js";
101
+ import { SidebarMenuSub as Ke } from "./components/sidebar/SidebarMenuSub/SidebarMenuSub.js";
102
+ import { SidebarMenuSubItem as qe } from "./components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js";
103
+ import { SidebarMenuSubButton as Je } from "./components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js";
104
+ import { useSliderContext as Ye } from "./components/slider/Slider/Slider.context.js";
105
+ import { Slider as Xe } from "./components/slider/Slider/Slider.js";
106
+ import { Spinner as Ze } from "./components/spinner/Spinner.js";
107
+ import { Switch as Qe } from "./components/switch/Switch.js";
108
+ import { toast as $e } from "./components/toast/state.js";
109
+ import { useSonner as et } from "./components/toast/hooks.js";
110
+ import { Toast as tt } from "./components/toast/components/Toast.js";
111
+ import { Toaster as nt } from "./components/toast/components/Toaster.js";
112
+ import { useFontLoader as rt } from "./hooks/useFontLoader.js";
113
+ export { n as Accordion, r as AccordionContent, i as AccordionItem, a as AccordionTrigger, o as AspectRatio, s as Avatar, u as AvatarBadge, l as AvatarFallback, d as AvatarGroup, f as AvatarGroupCount, c as AvatarImage, p as Badge, m as Button, h as ButtonGroup, _ as ButtonGroupSeparator, v as ButtonGroupText, y as Card, b as CardAction, x as CardContent, S as CardDescription, C as CardFooter, w as CardHeader, T as CardTitle, E as Carousel, D as CarouselContent, O as CarouselDots, k as CarouselItem, A as CarouselNext, j as CarouselPrevious, F as Field, I as FieldContent, V as FieldDescription, B as FieldError, P as FieldGroup, R as FieldLabel, N as FieldLegend, H as FieldSeparator, M as FieldSet, z as FieldTitle, U as Image, W as Input, G as InputGroup, K as InputGroupAddon, q as InputGroupButton, Y as InputGroupInput, J as InputGroupText, Z as InputGroupTextarea, ee as Item, ae as ItemActions, ne as ItemContent, ie as ItemDescription, se as ItemFooter, Q as ItemGroup, oe as ItemHeader, te as ItemMedia, $ as ItemSeparator, re as ItemTitle, ce as Kbd, le as KbdGroup, L as Label, ue as Pagination, de as PaginationContent, ge as PaginationEllipsis, fe as PaginationItem, pe as PaginationLink, he as PaginationNext, me as PaginationPrevious, _e as Progress, ve as ProgressLabel, ye as ProgressValue, xe as ScrollArea, be as ScrollBar, g as Separator, Ce as Sidebar, je as SidebarContent, ke as SidebarFooter, Me as SidebarGroup, Pe as SidebarGroupAction, Fe as SidebarGroupContent, Ne as SidebarGroupLabel, Oe as SidebarHeader, De as SidebarInput, Ee as SidebarInset, Ie as SidebarMenu, Ue as SidebarMenuBadge, He as SidebarMenuButton, Le as SidebarMenuItem, Ge as SidebarMenuSkeleton, Ke as SidebarMenuSub, Je as SidebarMenuSubButton, qe as SidebarMenuSubItem, Se as SidebarProvider, Te as SidebarRail, Ae as SidebarSeparator, we as SidebarTrigger, We as Skeleton, Xe as Slider, Ze as Spinner, Qe as Switch, X as Textarea, tt as Toast, nt as Toaster, Re as Tooltip, Ve as TooltipArrow, Be as TooltipContent, ze as TooltipTrigger, e as clsx, $e as toast, rt as useFontLoader, Ye as useSliderContext, et as useSonner, t as warnOnce };
@@ -17,4 +17,7 @@ export interface BaseProps {
17
17
  classList?: Record<string, boolean | undefined>;
18
18
  dir?: "ltr" | "rtl" | "auto";
19
19
  }
20
+ export type NonNullableProps<T, K extends keyof T> = Omit<T, K> & {
21
+ [P in K]-?: Exclude<T[P], null | undefined>;
22
+ };
20
23
  export {};