asheeui 0.6.15 → 0.7.0

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 (183) hide show
  1. package/dist/AsheeUIProvider.js +22 -24
  2. package/dist/components/accordion/Accordion.js +79 -173
  3. package/dist/components/accordion/accordion-config.js +12 -13
  4. package/dist/components/accordion/accordion-styles.js +21 -24
  5. package/dist/components/autocomplete/Autocomplete.js +78 -136
  6. package/dist/components/autocomplete/autocomplete-config.js +7 -12
  7. package/dist/components/button/Button.d.ts +29 -1
  8. package/dist/components/button/Button.d.ts.map +1 -1
  9. package/dist/components/button/Button.js +47 -108
  10. package/dist/components/button/button-config.js +16 -17
  11. package/dist/components/button/button-styles.js +10 -11
  12. package/dist/components/card/Card.d.ts +36 -16
  13. package/dist/components/card/Card.d.ts.map +1 -1
  14. package/dist/components/card/Card.js +115 -205
  15. package/dist/components/card/card-config.js +24 -21
  16. package/dist/components/card/card-styles.js +19 -22
  17. package/dist/components/carousel/Carousel.js +123 -248
  18. package/dist/components/carousel/carousel-config.js +24 -25
  19. package/dist/components/carousel/carousel-styles.js +14 -16
  20. package/dist/components/chip/Chip.js +84 -191
  21. package/dist/components/chip/chip-config.js +13 -14
  22. package/dist/components/chip/chip-styles.js +22 -26
  23. package/dist/components/date-picker/Calendar.d.ts +3 -3
  24. package/dist/components/date-picker/Calendar.d.ts.map +1 -1
  25. package/dist/components/date-picker/Calendar.js +141 -222
  26. package/dist/components/date-picker/DatePicker.d.ts +5 -5
  27. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  28. package/dist/components/date-picker/DatePicker.js +122 -220
  29. package/dist/components/date-picker/TimeSpinner.js +58 -82
  30. package/dist/components/date-picker/date-picker-config.d.ts +4 -4
  31. package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
  32. package/dist/components/date-picker/date-picker-config.js +10 -11
  33. package/dist/components/date-picker/date-picker-styles.js +44 -45
  34. package/dist/components/date-picker/date-picker.helpers.d.ts +4 -4
  35. package/dist/components/date-picker/date-picker.helpers.d.ts.map +1 -1
  36. package/dist/components/date-picker/date-picker.helpers.js +74 -102
  37. package/dist/components/drawer/Drawer.d.ts +26 -8
  38. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  39. package/dist/components/drawer/Drawer.js +54 -131
  40. package/dist/components/drawer/drawer-config.js +14 -15
  41. package/dist/components/drawer/drawer-styles.js +38 -42
  42. package/dist/components/field/FieldShell.js +49 -56
  43. package/dist/components/field/field-config.js +17 -18
  44. package/dist/components/field/field-styles.js +8 -8
  45. package/dist/components/image/Image.d.ts +7 -7
  46. package/dist/components/image/Image.d.ts.map +1 -1
  47. package/dist/components/image/Image.js +65 -132
  48. package/dist/components/image/image-config.js +17 -18
  49. package/dist/components/image/image-styles.js +14 -15
  50. package/dist/components/input/Input.js +65 -150
  51. package/dist/components/input/PasswordInput.js +30 -49
  52. package/dist/components/input/input-config.js +7 -7
  53. package/dist/components/input/input-styles.js +9 -10
  54. package/dist/components/keyboard/KeyboardContext.js +10 -11
  55. package/dist/components/keyboard/KeyboardProvider.js +100 -181
  56. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  57. package/dist/components/keyboard/OnScreenKeyboard.js +159 -166
  58. package/dist/components/keyboard/keyboard-config.js +59 -57
  59. package/dist/components/keyboard/keyboard-styles.js +10 -11
  60. package/dist/components/keyboard/use-keyboard-field.js +29 -21
  61. package/dist/components/link/Link.js +47 -137
  62. package/dist/components/link/link-config.js +14 -15
  63. package/dist/components/link/link-styles.js +25 -29
  64. package/dist/components/marquee/Marquee.js +55 -144
  65. package/dist/components/marquee/marquee-config.js +18 -19
  66. package/dist/components/marquee/marquee-styles.js +13 -15
  67. package/dist/components/modal/Modal.d.ts +26 -10
  68. package/dist/components/modal/Modal.d.ts.map +1 -1
  69. package/dist/components/modal/Modal.js +56 -136
  70. package/dist/components/modal/modal-config.js +15 -16
  71. package/dist/components/modal/modal-styles.js +13 -14
  72. package/dist/components/multi-select/MultiSelect.d.ts +18 -2
  73. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  74. package/dist/components/multi-select/MultiSelect.js +149 -283
  75. package/dist/components/multi-select/multi-select-config.d.ts +23 -18
  76. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  77. package/dist/components/multi-select/multi-select-config.js +18 -21
  78. package/dist/components/multi-select/multi-select-styles.js +17 -20
  79. package/dist/components/radio/Radio.js +43 -80
  80. package/dist/components/radio/RadioGroup.js +57 -155
  81. package/dist/components/radio/radio-config.js +15 -16
  82. package/dist/components/radio/radio-context.js +6 -6
  83. package/dist/components/radio/radio-styles.js +55 -60
  84. package/dist/components/resizable-screen/ResizableScreen.js +87 -177
  85. package/dist/components/resizable-screen/resizable-screen-config.js +16 -17
  86. package/dist/components/select/Select.d.ts +3 -2
  87. package/dist/components/select/Select.d.ts.map +1 -1
  88. package/dist/components/select/Select.js +97 -195
  89. package/dist/components/select/select-config.js +8 -9
  90. package/dist/components/select/select-styles.js +5 -5
  91. package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
  92. package/dist/components/select-menu/SelectMenu.js +102 -196
  93. package/dist/components/select-menu/select-menu-config.js +12 -12
  94. package/dist/components/select-menu/use-select-floating.d.ts +11 -1
  95. package/dist/components/select-menu/use-select-floating.d.ts.map +1 -1
  96. package/dist/components/select-menu/use-select-floating.js +41 -48
  97. package/dist/components/sidebar/Sidebar.d.ts +43 -22
  98. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  99. package/dist/components/sidebar/Sidebar.js +146 -331
  100. package/dist/components/sidebar/sidebar-config.d.ts +98 -31
  101. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  102. package/dist/components/sidebar/sidebar-config.js +47 -33
  103. package/dist/components/sidebar/sidebar-styles.js +27 -32
  104. package/dist/components/spinner/spinner-config.js +12 -13
  105. package/dist/components/spinner/spinner-styles.js +13 -14
  106. package/dist/components/spinner/spinner.js +39 -82
  107. package/dist/components/switch/Switch.js +62 -154
  108. package/dist/components/switch/switch-config.js +11 -12
  109. package/dist/components/switch/switch-styles.js +14 -16
  110. package/dist/components/table/Table.js +64 -186
  111. package/dist/components/table/table-config.js +17 -18
  112. package/dist/components/table/table-styles.js +48 -52
  113. package/dist/components/tabs/Tabs.d.ts +16 -8
  114. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  115. package/dist/components/tabs/Tabs.js +93 -208
  116. package/dist/components/tabs/tabs-config.d.ts +42 -20
  117. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  118. package/dist/components/tabs/tabs-config.js +26 -18
  119. package/dist/components/tabs/tabs-styles.js +15 -17
  120. package/dist/components/textarea/Textarea.js +52 -138
  121. package/dist/components/textarea/textarea-config.js +10 -11
  122. package/dist/components/textarea/textarea-styles.js +9 -10
  123. package/dist/components/toast/ToastContext.js +22 -26
  124. package/dist/components/toast/ToastItem.js +82 -144
  125. package/dist/components/toast/ToastProvider.d.ts.map +1 -1
  126. package/dist/components/toast/ToastProvider.js +128 -190
  127. package/dist/components/toast/toast-config.js +23 -24
  128. package/dist/components/toast/toast-styles.js +50 -55
  129. package/dist/components/toast/use-pausable-timeout.js +17 -13
  130. package/dist/components/tooltip/Tooltip.d.ts +5 -0
  131. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  132. package/dist/components/tooltip/Tooltip.js +68 -158
  133. package/dist/components/tooltip/tooltip-config.d.ts +25 -0
  134. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  135. package/dist/components/tooltip/tooltip-config.js +26 -22
  136. package/dist/components/tooltip/tooltip-styles.js +15 -17
  137. package/dist/config/default-config.js +11 -34
  138. package/dist/config/resolve-color.js +23 -23
  139. package/dist/config/resolve-config.d.ts.map +1 -1
  140. package/dist/config/resolve-config.js +14 -12
  141. package/dist/icons/ArrowLeftIcon.js +16 -19
  142. package/dist/icons/CalendarIcon.js +43 -24
  143. package/dist/icons/CheckIcon.js +16 -19
  144. package/dist/icons/ChevronDownIcon.js +15 -21
  145. package/dist/icons/ChevronLeftIcon.js +16 -19
  146. package/dist/icons/ChevronRightIcon.js +16 -19
  147. package/dist/icons/ChevronUpIcon.js +16 -19
  148. package/dist/icons/ClearIcon.js +26 -22
  149. package/dist/icons/ClockIcon.js +20 -22
  150. package/dist/icons/CloseIcon.js +26 -22
  151. package/dist/icons/ErrorIcon.js +16 -19
  152. package/dist/icons/ExternalLinkIcon.js +25 -23
  153. package/dist/icons/EyeIcon.js +20 -22
  154. package/dist/icons/EyeOffIcon.js +21 -22
  155. package/dist/icons/InfoIcon.js +16 -19
  156. package/dist/icons/SearchIcon.js +25 -22
  157. package/dist/icons/WarningIcon.js +16 -19
  158. package/dist/index.js +65 -163
  159. package/dist/libs/context.js +10 -13
  160. package/dist/libs/index.js +1 -0
  161. package/dist/libs/registry.js +10 -12
  162. package/dist/libs/use-floating-z-index.d.ts +32 -0
  163. package/dist/libs/use-floating-z-index.d.ts.map +1 -0
  164. package/dist/libs/use-floating-z-index.js +16 -0
  165. package/dist/libs/use-isomorphic-layout-effect.js +5 -5
  166. package/dist/scripts/AsheeThemeScript.js +35 -44
  167. package/dist/shared/radius.d.ts.map +1 -1
  168. package/dist/shared/radius.js +12 -13
  169. package/dist/shared/variant.js +46 -134
  170. package/dist/theme/color.js +28 -28
  171. package/dist/theme/controller.d.ts.map +1 -1
  172. package/dist/theme/controller.js +65 -178
  173. package/dist/theme/useTheme.js +13 -44
  174. package/dist/utils/cn.js +7 -7
  175. package/dist/utils/index.d.ts +1 -0
  176. package/dist/utils/index.d.ts.map +1 -1
  177. package/dist/utils/index.js +1 -0
  178. package/dist/utils/merge-object.js +13 -14
  179. package/dist/utils/resolve-token.js +11 -14
  180. package/dist/utils/stacking.d.ts +76 -0
  181. package/dist/utils/stacking.d.ts.map +1 -0
  182. package/dist/utils/stacking.js +34 -0
  183. package/package.json +12 -11
@@ -1,35 +1,49 @@
1
1
  "use client";
2
- import { registerComponentDefaults as t } from "../../libs/registry.js";
3
- const e = {
4
- size: "md",
5
- showTooltips: !0,
6
- tooltipPlacement: "right",
7
- animated: !0,
8
- defaultCollapsed: !1,
9
- collapsible: !0,
10
- showCollapseButton: !0,
11
- itemVariant: "ghost",
12
- activeItemVariant: "solid",
13
- activeItemColor: "primary"
14
- }, a = {
15
- size: "md",
16
- variant: "default",
17
- radius: "none",
18
- itemRadius: "md",
19
- itemVariant: "ghost",
20
- activeItemVariant: "solid",
21
- activeItemColor: "primary",
22
- showTooltips: !0,
23
- tooltipPlacement: "right",
24
- tooltipVariant: "solid",
25
- tooltipColor: "secondary",
26
- animated: !0,
27
- defaultCollapsed: !1,
28
- collapsible: !0,
29
- showCollapseButton: !0
30
- };
31
- t("sidebar", e);
32
- export {
33
- a as FALLBACK_SIDEBAR_CONFIG,
34
- e as defaultSidebarConfig
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/sidebar/sidebar-config.ts
4
+ var t = {
5
+ size: "md",
6
+ animated: !0,
7
+ defaultCollapsed: !1,
8
+ collapsible: !0,
9
+ showCollapseButton: !0,
10
+ options: {
11
+ inactive: { variant: "ghost" },
12
+ active: {
13
+ variant: "solid",
14
+ color: "primary"
15
+ }
16
+ },
17
+ tooltip: {
18
+ show: !0,
19
+ placement: "right"
20
+ }
21
+ }, n = {
22
+ size: "md",
23
+ variant: "default",
24
+ radius: "none",
25
+ options: {
26
+ radius: "md",
27
+ active: {
28
+ variant: "solid",
29
+ color: "primary"
30
+ },
31
+ inactive: {
32
+ variant: "ghost",
33
+ color: "none"
34
+ }
35
+ },
36
+ tooltip: {
37
+ show: !0,
38
+ placement: "right",
39
+ variant: "solid",
40
+ color: "secondary"
41
+ },
42
+ animated: !0,
43
+ defaultCollapsed: !1,
44
+ collapsible: !0,
45
+ showCollapseButton: !0
35
46
  };
47
+ e("sidebar", t);
48
+ //#endregion
49
+ export { n as FALLBACK_SIDEBAR_CONFIG, t as defaultSidebarConfig };
@@ -1,35 +1,30 @@
1
1
  "use client";
2
- const r = {
3
- sm: "w-56",
4
- md: "w-64",
5
- lg: "w-72"
6
- }, o = {
7
- sm: "w-16",
8
- md: "w-18",
9
- lg: "w-20"
10
- }, d = {
11
- sm: "h-12 text-xs px-2.5",
12
- md: "h-14 text-sm px-3",
13
- lg: "h-16 text-base px-4"
14
- }, b = {
15
- sm: "text-[10px] px-2 py-1.5",
16
- md: "text-xs px-3 py-2",
17
- lg: "text-sm px-4 py-2.5"
18
- }, e = {
19
- sm: "h-9 text-xs px-2",
20
- md: "h-11 text-sm px-3",
21
- lg: "h-13 text-base px-4"
2
+ //#region src/components/sidebar/sidebar-styles.ts
3
+ var e = {
4
+ sm: "w-56",
5
+ md: "w-64",
6
+ lg: "w-72"
22
7
  }, t = {
23
- default: "border-r border-border bg-background/80 backdrop-blur-xs",
24
- bordered: "border-r-2 border-border bg-background/80 backdrop-blur-xs",
25
- floating: "m-2 rounded-xl border border-border shadow-md bg-background/80 backdrop-blur-xs",
26
- ghost: "border-none bg-background/80 backdrop-blur-xs"
27
- };
28
- export {
29
- o as SIDEBAR_COLLAPSED_WIDTH_CLASS,
30
- r as SIDEBAR_EXPANDED_WIDTH_CLASS,
31
- d as SIDEBAR_HEADER_CLASS,
32
- e as SIDEBAR_ITEM_CLASS,
33
- b as SIDEBAR_SECTION_LABEL_CLASS,
34
- t as SIDEBAR_VARIANT_CLASS
8
+ sm: "w-16",
9
+ md: "w-18",
10
+ lg: "w-20"
11
+ }, n = {
12
+ sm: "h-12 text-xs px-2.5",
13
+ md: "h-14 text-sm px-3",
14
+ lg: "h-16 text-base px-4"
15
+ }, r = {
16
+ sm: "text-[10px] px-2 py-1.5",
17
+ md: "text-xs px-3 py-2",
18
+ lg: "text-sm px-4 py-2.5"
19
+ }, i = {
20
+ sm: "h-9 text-xs px-2",
21
+ md: "h-11 text-sm px-3",
22
+ lg: "h-13 text-base px-4"
23
+ }, a = {
24
+ default: "border-r border-border bg-background/80 backdrop-blur-xs",
25
+ bordered: "border-r-2 border-border bg-background/80 backdrop-blur-xs",
26
+ floating: "m-2 rounded-xl border border-border shadow-md bg-background/80 backdrop-blur-xs",
27
+ ghost: "border-none bg-background/80 backdrop-blur-xs"
35
28
  };
29
+ //#endregion
30
+ export { t as SIDEBAR_COLLAPSED_WIDTH_CLASS, e as SIDEBAR_EXPANDED_WIDTH_CLASS, n as SIDEBAR_HEADER_CLASS, i as SIDEBAR_ITEM_CLASS, r as SIDEBAR_SECTION_LABEL_CLASS, a as SIDEBAR_VARIANT_CLASS };
@@ -1,16 +1,15 @@
1
1
  "use client";
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
- const s = {
4
- size: "md",
5
- speed: "0.75s"
6
- }, o = {
7
- size: "md",
8
- color: "primary",
9
- speed: "0.75s",
10
- className: ""
11
- };
12
- e("spinner", s);
13
- export {
14
- o as FALLBACK_SPINNER_CONFIG,
15
- s as defaultSpinnerConfig
3
+ //#region src/components/spinner/spinner-config.ts
4
+ var t = {
5
+ size: "md",
6
+ speed: "0.75s"
7
+ }, n = {
8
+ size: "md",
9
+ color: "primary",
10
+ speed: "0.75s",
11
+ className: ""
16
12
  };
13
+ e("spinner", t);
14
+ //#endregion
15
+ export { n as FALLBACK_SPINNER_CONFIG, t as defaultSpinnerConfig };
@@ -1,17 +1,16 @@
1
1
  "use client";
2
- const e = {
3
- sm: "w-3.5 h-3.5",
4
- md: "w-4 h-4",
5
- lg: "w-5 h-5"
2
+ //#region src/components/spinner/spinner-styles.ts
3
+ var e = {
4
+ sm: "w-3.5 h-3.5",
5
+ md: "w-4 h-4",
6
+ lg: "w-5 h-5"
6
7
  }, t = {
7
- none: "text-background",
8
- primary: "text-primary",
9
- secondary: "text-secondary",
10
- danger: "text-danger",
11
- warning: "text-warning",
12
- success: "text-success"
13
- };
14
- export {
15
- t as SPINNER_COLOR_CLASS,
16
- e as SPINNER_SIZE_CLASS
8
+ none: "text-background",
9
+ primary: "text-primary",
10
+ secondary: "text-secondary",
11
+ danger: "text-danger",
12
+ warning: "text-warning",
13
+ success: "text-success"
17
14
  };
15
+ //#endregion
16
+ export { t as SPINNER_COLOR_CLASS, e as SPINNER_SIZE_CLASS };
@@ -1,83 +1,40 @@
1
1
  "use client";
2
- import { jsxs as f, jsx as a } from "react/jsx-runtime";
3
- import { forwardRef as h } from "react";
4
- import { useAsheeConfig as z } from "../../libs/context.js";
5
- import { resolveCascade as o, resolveClassKey as t } from "../../utils/resolve-token.js";
6
- import { FALLBACK_SPINNER_CONFIG as r } from "./spinner-config.js";
7
- import { SPINNER_SIZE_CLASS as _, SPINNER_COLOR_CLASS as x } from "./spinner-styles.js";
8
- import { cn as A } from "../../utils/cn.js";
9
- const I = h(
10
- ({ size: c, color: i, speed: m, className: p, style: n, ...d }, N) => {
11
- var l;
12
- const s = z(), e = (l = s.components) == null ? void 0 : l.spinner, S = o(
13
- c,
14
- e == null ? void 0 : e.size,
15
- void 0,
16
- r.size
17
- ), v = o(
18
- i,
19
- e == null ? void 0 : e.color,
20
- s.defaultColor,
21
- r.color
22
- ), u = o(
23
- m,
24
- e == null ? void 0 : e.speed,
25
- void 0,
26
- r.speed
27
- ), y = t(
28
- S,
29
- _,
30
- r.size
31
- ), C = t(
32
- v,
33
- x,
34
- r.color
35
- );
36
- return /* @__PURE__ */ f(
37
- "svg",
38
- {
39
- ref: N,
40
- "aria-hidden": "true",
41
- className: A(
42
- "animate-spin shrink-0",
43
- y,
44
- C,
45
- e == null ? void 0 : e.className,
46
- p
47
- ),
48
- style: {
49
- animationDuration: u,
50
- ...n
51
- },
52
- viewBox: "0 0 24 24",
53
- fill: "none",
54
- ...d,
55
- children: [
56
- /* @__PURE__ */ a(
57
- "circle",
58
- {
59
- className: "opacity-25",
60
- cx: "12",
61
- cy: "12",
62
- r: "10",
63
- stroke: "currentColor",
64
- strokeWidth: "4"
65
- }
66
- ),
67
- /* @__PURE__ */ a(
68
- "path",
69
- {
70
- className: "opacity-75",
71
- fill: "currentColor",
72
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
73
- }
74
- )
75
- ]
76
- }
77
- );
78
- }
79
- );
80
- I.displayName = "Spinner";
81
- export {
82
- I as Spinner
83
- };
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { resolveCascade as n, resolveClassKey as r } from "../../utils/resolve-token.js";
6
+ import { FALLBACK_SPINNER_CONFIG as i } from "./spinner-config.js";
7
+ import { SPINNER_COLOR_CLASS as a, SPINNER_SIZE_CLASS as o } from "./spinner-styles.js";
8
+ import { forwardRef as s } from "react";
9
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
10
+ //#region src/components/spinner/spinner.tsx
11
+ var u = s(({ size: s, color: u, speed: d, className: f, style: p, ...m }, h) => {
12
+ let g = t(), _ = g.components?.spinner, v = n(s, _?.size, void 0, i.size), y = n(u, _?.color, g.defaultColor, i.color), b = n(d, _?.speed, void 0, i.speed), x = r(v, o, i.size), S = r(y, a, i.color);
13
+ return /* @__PURE__ */ l("svg", {
14
+ ref: h,
15
+ "aria-hidden": "true",
16
+ className: e("animate-spin shrink-0", x, S, _?.className, f),
17
+ style: {
18
+ animationDuration: b,
19
+ ...p
20
+ },
21
+ viewBox: "0 0 24 24",
22
+ fill: "none",
23
+ ...m,
24
+ children: [/* @__PURE__ */ c("circle", {
25
+ className: "opacity-25",
26
+ cx: "12",
27
+ cy: "12",
28
+ r: "10",
29
+ stroke: "currentColor",
30
+ strokeWidth: "4"
31
+ }), /* @__PURE__ */ c("path", {
32
+ className: "opacity-75",
33
+ fill: "currentColor",
34
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
35
+ })]
36
+ });
37
+ });
38
+ u.displayName = "Spinner";
39
+ //#endregion
40
+ export { u as Spinner };
@@ -1,155 +1,63 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as Z } from "react/jsx-runtime";
3
- import { forwardRef as G, useId as O, useState as V, useCallback as J } from "react";
4
- import { useAsheeConfig as P } from "../../libs/context.js";
5
- import { resolveCascade as u, resolveRadiusKey as Q, resolveClassKey as l } from "../../utils/resolve-token.js";
6
- import { FieldShell as X } from "../field/FieldShell.js";
7
- import { FALLBACK_SWITCH_CONFIG as s } from "./switch-config.js";
8
- import { SWITCH_TRACK_SIZE_CLASS as Y, SWITCH_THUMB_SIZE_CLASS as $, SWITCH_THUMB_TRANSLATE_CLASS as q } from "./switch-styles.js";
9
- import { RADIUS_CLASS as ee } from "../../shared/radius.js";
10
- import { resolveVariantClass as se } from "../../shared/variant.js";
11
- import { cn as a } from "../../utils/cn.js";
12
- const re = G(
13
- ({
14
- size: C,
15
- color: k,
16
- radius: A,
17
- label: y,
18
- labelAlign: I,
19
- description: _,
20
- required: p,
21
- isLoading: n,
22
- id: z,
23
- className: T,
24
- style: x,
25
- disabled: N,
26
- checked: c,
27
- defaultChecked: w = !1,
28
- onChange: o,
29
- ...K
30
- }, H) => {
31
- var b;
32
- const S = P(), e = (b = S.components) == null ? void 0 : b.switch, L = O(), d = z ?? L, [R, g] = V(w), t = c ?? R, m = u(
33
- C,
34
- e == null ? void 0 : e.size,
35
- void 0,
36
- s.size
37
- ), F = u(
38
- k,
39
- e == null ? void 0 : e.color,
40
- S.defaultColor,
41
- s.color
42
- ), U = Q(
43
- A,
44
- e == null ? void 0 : e.radius,
45
- void 0,
46
- s.radius
47
- ), W = u(
48
- I,
49
- e == null ? void 0 : e.labelAlign,
50
- void 0,
51
- s.labelAlign
52
- ), B = l(
53
- m,
54
- Y,
55
- s.size
56
- ), E = l(
57
- m,
58
- $,
59
- s.size
60
- ), j = l(
61
- m,
62
- q,
63
- s.size
64
- ), h = l(
65
- U,
66
- ee,
67
- s.radius
68
- ), D = se("solid", F), i = N || n, M = J(
69
- (f) => {
70
- if (i) return;
71
- const v = f.target.checked;
72
- c === void 0 && g(v), o == null || o(v, f);
73
- },
74
- [c, i, o]
75
- );
76
- return /* @__PURE__ */ r(
77
- X,
78
- {
79
- id: d,
80
- label: y,
81
- labelAlign: W,
82
- description: _,
83
- required: p,
84
- isLoading: n,
85
- children: /* @__PURE__ */ r(
86
- "label",
87
- {
88
- htmlFor: d,
89
- className: a(
90
- "inline-flex items-center gap-3 select-none cursor-pointer shrink-0",
91
- i && "opacity-50 pointer-events-none cursor-not-allowed"
92
- ),
93
- children: /* @__PURE__ */ Z(
94
- "div",
95
- {
96
- className: a(
97
- "relative shrink-0 inline-flex items-center",
98
- B
99
- ),
100
- children: [
101
- /* @__PURE__ */ r(
102
- "input",
103
- {
104
- ref: H,
105
- id: d,
106
- type: "checkbox",
107
- role: "switch",
108
- checked: t,
109
- disabled: i,
110
- required: p,
111
- "aria-checked": t,
112
- "aria-busy": n,
113
- onChange: M,
114
- className: "sr-only peer",
115
- ...K
116
- }
117
- ),
118
- /* @__PURE__ */ r(
119
- "div",
120
- {
121
- className: a(
122
- "absolute inset-0 border border-border/60 transition-colors duration-200 shrink-0",
123
- "peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2",
124
- h,
125
- t ? D : "bg-secondary",
126
- T
127
- ),
128
- style: x
129
- }
130
- ),
131
- /* @__PURE__ */ r(
132
- "span",
133
- {
134
- className: a(
135
- "relative z-10 bg-background shadow-sm pointer-events-none shrink-0",
136
- "transition-transform duration-200 ease-in-out transform-gpu",
137
- h,
138
- E,
139
- t ? j : "translate-x-0"
140
- )
141
- }
142
- )
143
- ]
144
- }
145
- )
146
- }
147
- )
148
- }
149
- );
150
- }
151
- );
152
- re.displayName = "Switch";
153
- export {
154
- re as Switch
155
- };
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { RADIUS_CLASS as n } from "../../shared/radius.js";
6
+ import { resolveVariantClass as r } from "../../shared/variant.js";
7
+ import { resolveCascade as i, resolveClassKey as a, resolveRadiusKey as o } from "../../utils/resolve-token.js";
8
+ import { FieldShell as s } from "../field/FieldShell.js";
9
+ import { FALLBACK_SWITCH_CONFIG as c } from "./switch-config.js";
10
+ import { SWITCH_THUMB_SIZE_CLASS as l, SWITCH_THUMB_TRANSLATE_CLASS as u, SWITCH_TRACK_SIZE_CLASS as d } from "./switch-styles.js";
11
+ import { forwardRef as f, useCallback as p, useId as m, useState as h } from "react";
12
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
13
+ //#region src/components/switch/Switch.tsx
14
+ var v = f(({ size: f, color: v, radius: y, label: b, labelAlign: x, description: S, required: C, isLoading: w, id: T, className: E, style: D, disabled: O, checked: k, defaultChecked: A = !1, onChange: j, ...M }, N) => {
15
+ let P = t(), F = P.components?.switch, I = m(), L = T ?? I, [R, z] = h(A), B = k ?? R, V = i(f, F?.size, void 0, c.size), H = i(v, F?.color, P.defaultColor, c.color), U = o(y, F?.radius, void 0, c.radius), W = i(x, F?.labelAlign, void 0, c.labelAlign), G = a(V, d, c.size), K = a(V, l, c.size), q = a(V, u, c.size), J = a(U, n, c.radius), Y = r("solid", H), X = O || w, Z = p((e) => {
16
+ if (X) return;
17
+ let t = e.target.checked;
18
+ k === void 0 && z(t), j?.(t, e);
19
+ }, [
20
+ k,
21
+ X,
22
+ j
23
+ ]);
24
+ return /* @__PURE__ */ g(s, {
25
+ id: L,
26
+ label: b,
27
+ labelAlign: W,
28
+ description: S,
29
+ required: C,
30
+ isLoading: w,
31
+ children: /* @__PURE__ */ g("label", {
32
+ htmlFor: L,
33
+ className: e("inline-flex items-center gap-3 select-none cursor-pointer shrink-0", X && "opacity-50 pointer-events-none cursor-not-allowed"),
34
+ children: /* @__PURE__ */ _("div", {
35
+ className: e("relative shrink-0 inline-flex items-center", G),
36
+ children: [
37
+ /* @__PURE__ */ g("input", {
38
+ ref: N,
39
+ id: L,
40
+ type: "checkbox",
41
+ role: "switch",
42
+ checked: B,
43
+ disabled: X,
44
+ required: C,
45
+ "aria-checked": B,
46
+ "aria-busy": w,
47
+ onChange: Z,
48
+ className: "sr-only peer",
49
+ ...M
50
+ }),
51
+ /* @__PURE__ */ g("div", {
52
+ className: e("absolute inset-0 border border-border/60 transition-colors duration-200 shrink-0", "peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2", J, B ? Y : "bg-secondary", E),
53
+ style: D
54
+ }),
55
+ /* @__PURE__ */ g("span", { className: e("relative z-10 bg-background shadow-sm pointer-events-none shrink-0", "transition-transform duration-200 ease-in-out transform-gpu", J, K, B ? q : "translate-x-0") })
56
+ ]
57
+ })
58
+ })
59
+ });
60
+ });
61
+ v.displayName = "Switch";
62
+ //#endregion
63
+ export { v as Switch };
@@ -1,13 +1,12 @@
1
1
  "use client";
2
- import { registerComponentDefaults as t } from "../../libs/registry.js";
3
- import { FALLBACK_FIELD_CONFIG as o } from "../field/field-config.js";
4
- import { defaultInputConfig as i } from "../input/input-config.js";
5
- const r = {
6
- ...i,
7
- radius: "full"
8
- }, C = o;
9
- t("switch", r);
10
- export {
11
- C as FALLBACK_SWITCH_CONFIG,
12
- r as defaultSwitchConfig
13
- };
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ import { FALLBACK_FIELD_CONFIG as t } from "../field/field-config.js";
4
+ import { defaultInputConfig as n } from "../input/input-config.js";
5
+ //#region src/components/switch/switch-config.ts
6
+ var r = {
7
+ ...n,
8
+ radius: "full"
9
+ }, i = t;
10
+ e("switch", r);
11
+ //#endregion
12
+ export { i as FALLBACK_SWITCH_CONFIG, r as defaultSwitchConfig };
@@ -1,19 +1,17 @@
1
1
  "use client";
2
- const s = {
3
- sm: "w-8 h-4.5 p-0.5",
4
- md: "w-11 h-6 p-0.5",
5
- lg: "w-14 h-7.5 p-1"
6
- }, S = {
7
- sm: "size-3.5",
8
- md: "size-5",
9
- lg: "size-5.5"
2
+ //#region src/components/switch/switch-styles.ts
3
+ var e = {
4
+ sm: "w-8 h-4.5 p-0.5",
5
+ md: "w-11 h-6 p-0.5",
6
+ lg: "w-14 h-7.5 p-1"
10
7
  }, t = {
11
- sm: "translate-x-3.5",
12
- md: "translate-x-5",
13
- lg: "translate-x-6"
14
- };
15
- export {
16
- S as SWITCH_THUMB_SIZE_CLASS,
17
- t as SWITCH_THUMB_TRANSLATE_CLASS,
18
- s as SWITCH_TRACK_SIZE_CLASS
8
+ sm: "size-3.5",
9
+ md: "size-5",
10
+ lg: "size-5.5"
11
+ }, n = {
12
+ sm: "translate-x-3.5",
13
+ md: "translate-x-5",
14
+ lg: "translate-x-6"
19
15
  };
16
+ //#endregion
17
+ export { t as SWITCH_THUMB_SIZE_CLASS, n as SWITCH_THUMB_TRANSLATE_CLASS, e as SWITCH_TRACK_SIZE_CLASS };