@accelint/design-system 0.8.1 → 0.9.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 (287) hide show
  1. package/dist/components/aria/index.d.ts +32 -3
  2. package/dist/components/aria/index.js +36 -1
  3. package/dist/components/aria/index.js.map +1 -1
  4. package/dist/components/button/index.d.ts +45 -6
  5. package/dist/components/button/index.js +105 -3
  6. package/dist/components/button/index.js.map +1 -1
  7. package/dist/components/checkbox/index.d.ts +28 -7
  8. package/dist/components/checkbox/index.js +124 -3
  9. package/dist/components/checkbox/index.js.map +1 -1
  10. package/dist/components/chip/index.d.ts +36 -6
  11. package/dist/components/chip/index.js +171 -3
  12. package/dist/components/chip/index.js.map +1 -1
  13. package/dist/components/collection/index.d.ts +16 -5
  14. package/dist/components/collection/index.js +19 -1
  15. package/dist/components/collection/index.js.map +1 -1
  16. package/dist/components/combo-box/index.d.ts +13 -5
  17. package/dist/components/combo-box/index.js +116 -3
  18. package/dist/components/combo-box/index.js.map +1 -1
  19. package/dist/components/date-field/index.d.ts +13 -5
  20. package/dist/components/date-field/index.js +106 -2
  21. package/dist/components/date-field/index.js.map +1 -1
  22. package/dist/components/date-input/index.d.ts +19 -7
  23. package/dist/components/date-input/index.js +134 -2
  24. package/dist/components/date-input/index.js.map +1 -1
  25. package/dist/components/dialog/index.d.ts +24 -6
  26. package/dist/components/dialog/index.js +187 -3
  27. package/dist/components/dialog/index.js.map +1 -1
  28. package/dist/components/drawer/index.d.ts +19 -7
  29. package/dist/components/drawer/index.js +306 -3
  30. package/dist/components/drawer/index.js.map +1 -1
  31. package/dist/components/element/index.d.ts +15 -4
  32. package/dist/components/element/index.js +21 -2
  33. package/dist/components/element/index.js.map +1 -1
  34. package/dist/components/group/index.d.ts +15 -5
  35. package/dist/components/group/index.js +60 -3
  36. package/dist/components/group/index.js.map +1 -1
  37. package/dist/components/icon/index.d.ts +17 -5
  38. package/dist/components/icon/index.js +39 -3
  39. package/dist/components/icon/index.js.map +1 -1
  40. package/dist/components/index.d.ts +35 -35
  41. package/dist/components/index.js +58 -28
  42. package/dist/components/input/index.d.ts +12 -5
  43. package/dist/components/input/index.js +141 -3
  44. package/dist/components/input/index.js.map +1 -1
  45. package/dist/components/menu/index.d.ts +29 -5
  46. package/dist/components/menu/index.js +253 -3
  47. package/dist/components/menu/index.js.map +1 -1
  48. package/dist/components/merge-provider/index.d.ts +18 -3
  49. package/dist/components/merge-provider/index.js +43 -2
  50. package/dist/components/merge-provider/index.js.map +1 -1
  51. package/dist/components/number-field/index.d.ts +14 -6
  52. package/dist/components/number-field/index.js +127 -2
  53. package/dist/components/number-field/index.js.map +1 -1
  54. package/dist/components/number-field/number-field.css.d.ts +1 -1
  55. package/dist/components/number-field/types.d.ts +1 -1
  56. package/dist/components/options/index.d.ts +25 -5
  57. package/dist/components/options/index.js +254 -3
  58. package/dist/components/options/index.js.map +1 -1
  59. package/dist/components/picker/index.d.ts +23 -5
  60. package/dist/components/picker/index.js +113 -3
  61. package/dist/components/picker/index.js.map +1 -1
  62. package/dist/components/popover/index.d.ts +14 -6
  63. package/dist/components/popover/index.js +140 -3
  64. package/dist/components/popover/index.js.map +1 -1
  65. package/dist/components/query-builder/group.js +1 -1
  66. package/dist/components/query-builder/group.js.map +1 -1
  67. package/dist/components/query-builder/index.d.ts +7 -7
  68. package/dist/components/query-builder/index.js +198 -5
  69. package/dist/components/query-builder/index.js.map +1 -1
  70. package/dist/components/query-builder/rule.js +1 -1
  71. package/dist/components/query-builder/rule.js.map +1 -1
  72. package/dist/components/query-builder/value-editor.js.map +1 -1
  73. package/dist/components/query-builder/value-selector.js +1 -1
  74. package/dist/components/query-builder/value-selector.js.map +1 -1
  75. package/dist/components/radio/index.d.ts +22 -6
  76. package/dist/components/radio/index.js +114 -3
  77. package/dist/components/radio/index.js.map +1 -1
  78. package/dist/components/search-field/index.d.ts +15 -6
  79. package/dist/components/search-field/index.js +92 -3
  80. package/dist/components/search-field/index.js.map +1 -1
  81. package/dist/components/select/index.d.ts +13 -5
  82. package/dist/components/select/index.js +109 -3
  83. package/dist/components/select/index.js.map +1 -1
  84. package/dist/components/slider/index.d.ts +41 -7
  85. package/dist/components/slider/index.js +232 -3
  86. package/dist/components/slider/index.js.map +1 -1
  87. package/dist/components/slider/slider.css.d.ts +1 -1
  88. package/dist/components/slider/types.d.ts +1 -1
  89. package/dist/components/switch/index.d.ts +9 -5
  90. package/dist/components/switch/index.js +60 -3
  91. package/dist/components/switch/index.js.map +1 -1
  92. package/dist/components/tabs/index.d.ts +74 -7
  93. package/dist/components/tabs/index.js +259 -3
  94. package/dist/components/tabs/index.js.map +1 -1
  95. package/dist/components/text-field/index.d.ts +61 -6
  96. package/dist/components/text-field/index.js +93 -2
  97. package/dist/components/text-field/index.js.map +1 -1
  98. package/dist/components/textarea/index.d.ts +18 -5
  99. package/dist/components/textarea/index.js +134 -3
  100. package/dist/components/textarea/index.js.map +1 -1
  101. package/dist/components/time-field/index.d.ts +14 -6
  102. package/dist/components/time-field/index.js +103 -2
  103. package/dist/components/time-field/index.js.map +1 -1
  104. package/dist/components/tooltip/index.d.ts +29 -6
  105. package/dist/components/tooltip/index.js +112 -3
  106. package/dist/components/tooltip/index.js.map +1 -1
  107. package/dist/components/tree/index.d.ts +17 -5
  108. package/dist/components/tree/index.js +491 -3
  109. package/dist/components/tree/index.js.map +1 -1
  110. package/dist/components/tree/utils.js.map +1 -1
  111. package/dist/hooks/index.d.ts +12 -12
  112. package/dist/hooks/use-collection-render/index.d.ts +11 -3
  113. package/dist/hooks/use-collection-render/index.js +25 -1
  114. package/dist/hooks/use-collection-render/index.js.map +1 -1
  115. package/dist/hooks/use-context-props/index.d.ts +10 -3
  116. package/dist/hooks/use-context-props/index.js +15 -1
  117. package/dist/hooks/use-context-props/index.js.map +1 -1
  118. package/dist/hooks/use-defaults/index.d.ts +99 -31
  119. package/dist/hooks/use-defaults/index.js +33 -2
  120. package/dist/hooks/use-defaults/index.js.map +1 -1
  121. package/dist/hooks/use-defaults/types.d.ts +6 -6
  122. package/dist/hooks/use-propagating-press/index.d.ts +13 -2
  123. package/dist/hooks/use-propagating-press/index.js +19 -1
  124. package/dist/hooks/use-propagating-press/index.js.map +1 -1
  125. package/dist/hooks/use-slot/index.d.ts +16 -2
  126. package/dist/hooks/use-slot/index.js +18 -1
  127. package/dist/hooks/use-slot/index.js.map +1 -1
  128. package/dist/hooks/use-theme/index.d.ts +37 -8
  129. package/dist/hooks/use-theme/index.js +105 -2
  130. package/dist/hooks/use-theme/index.js.map +1 -1
  131. package/dist/hooks/use-theme/types.d.ts +2 -2
  132. package/dist/hooks/use-tree/index.d.ts +5 -2
  133. package/dist/hooks/use-tree/index.js +259 -1
  134. package/dist/hooks/use-tree/index.js.map +1 -1
  135. package/dist/hooks/use-tree/utils.js.map +1 -1
  136. package/dist/hooks/use-update-effect/index.d.ts +3 -1
  137. package/dist/hooks/use-update-effect/index.js +20 -1
  138. package/dist/hooks/use-update-effect/index.js.map +1 -1
  139. package/dist/index.css +119 -119
  140. package/dist/index.d.ts +47 -47
  141. package/dist/ladle/actions.js.map +1 -1
  142. package/dist/styles/layers.css.d.ts +3 -3
  143. package/dist/styles/surfaces.css.d.ts +1 -1
  144. package/dist/test/setup.js +78 -8
  145. package/dist/test/setup.js.map +1 -1
  146. package/dist/utils/{css.d.ts → css/index.d.ts} +2 -2
  147. package/dist/utils/{css.js → css/index.js} +5 -5
  148. package/dist/utils/css/index.js.map +1 -0
  149. package/dist/utils/events/index.js +10 -0
  150. package/dist/utils/events/index.js.map +1 -0
  151. package/dist/utils/index.d.ts +4 -4
  152. package/dist/utils/index.js +4 -4
  153. package/dist/utils/{props.d.ts → props/index.d.ts} +2 -2
  154. package/dist/utils/{props.js → props/index.js} +3 -3
  155. package/dist/utils/props/index.js.map +1 -0
  156. package/dist/utils/{validators.d.ts → validators/index.d.ts} +1 -1
  157. package/dist/utils/{validators.js → validators/index.js} +3 -3
  158. package/dist/utils/validators/index.js.map +1 -0
  159. package/dist/vanilla.d.ts +1 -1
  160. package/dist/vanilla.js +1 -1
  161. package/package.json +7 -8
  162. package/dist/components/aria/aria.d.ts +0 -32
  163. package/dist/components/aria/aria.js +0 -39
  164. package/dist/components/aria/aria.js.map +0 -1
  165. package/dist/components/button/button.d.ts +0 -47
  166. package/dist/components/button/button.js +0 -104
  167. package/dist/components/button/button.js.map +0 -1
  168. package/dist/components/checkbox/checkbox.d.ts +0 -30
  169. package/dist/components/checkbox/checkbox.js +0 -123
  170. package/dist/components/checkbox/checkbox.js.map +0 -1
  171. package/dist/components/chip/chip.d.ts +0 -41
  172. package/dist/components/chip/chip.js +0 -171
  173. package/dist/components/chip/chip.js.map +0 -1
  174. package/dist/components/collection/collection.d.ts +0 -17
  175. package/dist/components/collection/collection.js +0 -22
  176. package/dist/components/collection/collection.js.map +0 -1
  177. package/dist/components/combo-box/combo-box.d.ts +0 -21
  178. package/dist/components/combo-box/combo-box.js +0 -116
  179. package/dist/components/combo-box/combo-box.js.map +0 -1
  180. package/dist/components/date-field/date-field.d.ts +0 -20
  181. package/dist/components/date-field/date-field.js +0 -106
  182. package/dist/components/date-field/date-field.js.map +0 -1
  183. package/dist/components/date-input/date-input.d.ts +0 -42
  184. package/dist/components/date-input/date-input.js +0 -128
  185. package/dist/components/date-input/date-input.js.map +0 -1
  186. package/dist/components/dialog/dialog.d.ts +0 -29
  187. package/dist/components/dialog/dialog.js +0 -186
  188. package/dist/components/dialog/dialog.js.map +0 -1
  189. package/dist/components/drawer/drawer.d.ts +0 -28
  190. package/dist/components/drawer/drawer.js +0 -305
  191. package/dist/components/drawer/drawer.js.map +0 -1
  192. package/dist/components/element/element.d.ts +0 -16
  193. package/dist/components/element/element.js +0 -24
  194. package/dist/components/element/element.js.map +0 -1
  195. package/dist/components/group/group.d.ts +0 -16
  196. package/dist/components/group/group.js +0 -61
  197. package/dist/components/group/group.js.map +0 -1
  198. package/dist/components/icon/icon.d.ts +0 -17
  199. package/dist/components/icon/icon.js +0 -39
  200. package/dist/components/icon/icon.js.map +0 -1
  201. package/dist/components/input/input.d.ts +0 -13
  202. package/dist/components/input/input.js +0 -141
  203. package/dist/components/input/input.js.map +0 -1
  204. package/dist/components/menu/menu.d.ts +0 -32
  205. package/dist/components/menu/menu.js +0 -252
  206. package/dist/components/menu/menu.js.map +0 -1
  207. package/dist/components/merge-provider/merge-provider.d.ts +0 -20
  208. package/dist/components/merge-provider/merge-provider.js +0 -46
  209. package/dist/components/merge-provider/merge-provider.js.map +0 -1
  210. package/dist/components/number-field/number-field.d.ts +0 -20
  211. package/dist/components/number-field/number-field.js +0 -125
  212. package/dist/components/number-field/number-field.js.map +0 -1
  213. package/dist/components/options/options.d.ts +0 -28
  214. package/dist/components/options/options.js +0 -253
  215. package/dist/components/options/options.js.map +0 -1
  216. package/dist/components/picker/picker.d.ts +0 -24
  217. package/dist/components/picker/picker.js +0 -113
  218. package/dist/components/picker/picker.js.map +0 -1
  219. package/dist/components/popover/popover.d.ts +0 -22
  220. package/dist/components/popover/popover.js +0 -139
  221. package/dist/components/popover/popover.js.map +0 -1
  222. package/dist/components/query-builder/query-builder.d.ts +0 -23
  223. package/dist/components/query-builder/query-builder.js +0 -200
  224. package/dist/components/query-builder/query-builder.js.map +0 -1
  225. package/dist/components/radio/radio.d.ts +0 -23
  226. package/dist/components/radio/radio.js +0 -114
  227. package/dist/components/radio/radio.js.map +0 -1
  228. package/dist/components/search-field/search-field.d.ts +0 -21
  229. package/dist/components/search-field/search-field.js +0 -92
  230. package/dist/components/search-field/search-field.js.map +0 -1
  231. package/dist/components/select/select.d.ts +0 -20
  232. package/dist/components/select/select.js +0 -109
  233. package/dist/components/select/select.js.map +0 -1
  234. package/dist/components/slider/slider.d.ts +0 -49
  235. package/dist/components/slider/slider.js +0 -230
  236. package/dist/components/slider/slider.js.map +0 -1
  237. package/dist/components/switch/switch.d.ts +0 -10
  238. package/dist/components/switch/switch.js +0 -60
  239. package/dist/components/switch/switch.js.map +0 -1
  240. package/dist/components/tabs/tabs.d.ts +0 -75
  241. package/dist/components/tabs/tabs.js +0 -258
  242. package/dist/components/tabs/tabs.js.map +0 -1
  243. package/dist/components/text-field/text-field.d.ts +0 -64
  244. package/dist/components/text-field/text-field.js +0 -92
  245. package/dist/components/text-field/text-field.js.map +0 -1
  246. package/dist/components/textarea/textarea.d.ts +0 -19
  247. package/dist/components/textarea/textarea.js +0 -134
  248. package/dist/components/textarea/textarea.js.map +0 -1
  249. package/dist/components/time-field/time-field.d.ts +0 -21
  250. package/dist/components/time-field/time-field.js +0 -106
  251. package/dist/components/time-field/time-field.js.map +0 -1
  252. package/dist/components/tooltip/tooltip.d.ts +0 -30
  253. package/dist/components/tooltip/tooltip.js +0 -112
  254. package/dist/components/tooltip/tooltip.js.map +0 -1
  255. package/dist/components/tree/tree.d.ts +0 -29
  256. package/dist/components/tree/tree.js +0 -491
  257. package/dist/components/tree/tree.js.map +0 -1
  258. package/dist/hooks/use-collection-render/use-collection-render.d.ts +0 -11
  259. package/dist/hooks/use-collection-render/use-collection-render.js +0 -28
  260. package/dist/hooks/use-collection-render/use-collection-render.js.map +0 -1
  261. package/dist/hooks/use-context-props/use-context-props.d.ts +0 -10
  262. package/dist/hooks/use-context-props/use-context-props.js +0 -18
  263. package/dist/hooks/use-context-props/use-context-props.js.map +0 -1
  264. package/dist/hooks/use-defaults/use-defaults.d.ts +0 -110
  265. package/dist/hooks/use-defaults/use-defaults.js +0 -36
  266. package/dist/hooks/use-defaults/use-defaults.js.map +0 -1
  267. package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +0 -13
  268. package/dist/hooks/use-propagating-press/use-propagating-press.js +0 -21
  269. package/dist/hooks/use-propagating-press/use-propagating-press.js.map +0 -1
  270. package/dist/hooks/use-slot/use-slot.d.ts +0 -16
  271. package/dist/hooks/use-slot/use-slot.js +0 -21
  272. package/dist/hooks/use-slot/use-slot.js.map +0 -1
  273. package/dist/hooks/use-theme/use-theme.d.ts +0 -77
  274. package/dist/hooks/use-theme/use-theme.js +0 -108
  275. package/dist/hooks/use-theme/use-theme.js.map +0 -1
  276. package/dist/hooks/use-tree/use-tree.d.ts +0 -7
  277. package/dist/hooks/use-tree/use-tree.js +0 -262
  278. package/dist/hooks/use-tree/use-tree.js.map +0 -1
  279. package/dist/hooks/use-update-effect/use-update-effect.d.ts +0 -3
  280. package/dist/hooks/use-update-effect/use-update-effect.js +0 -23
  281. package/dist/hooks/use-update-effect/use-update-effect.js.map +0 -1
  282. package/dist/utils/css.js.map +0 -1
  283. package/dist/utils/events.js +0 -10
  284. package/dist/utils/events.js.map +0 -1
  285. package/dist/utils/props.js.map +0 -1
  286. package/dist/utils/validators.js.map +0 -1
  287. /package/dist/utils/{events.d.ts → events/index.d.ts} +0 -0
@@ -1,6 +1,235 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext } from './slider.js';
3
- export { sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars } from './slider.css.js';
4
- import './types.js';
2
+ import { clsx } from 'clsx';
3
+ import { createContext, forwardRef, useMemo, useContext, useCallback } from 'react';
4
+ import { SliderStateContext, SliderOutput as SliderOutput$1, Provider, SliderTrack as SliderTrack$1, SliderThumb as SliderThumb$1, LabelContext, DEFAULT_SLOT, Slider as Slider$1 } from 'react-aria-components';
5
+ import { useContextProps } from '../../hooks/use-context-props/index.js';
6
+ import { useDefaultProps } from '../../hooks/use-defaults/index.js';
7
+ import { useTheme } from '../../hooks/use-theme/index.js';
8
+ import { inlineVars } from '../../utils/css/index.js';
9
+ import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
10
+ import { AriaTextContext } from '../aria/index.js';
11
+ import { GroupContext } from '../group/index.js';
12
+ import { NumberFieldContext } from '../number-field/index.js';
13
+ import { sliderClassNames, sliderStateVars, sliderTrackStateVars, sliderThumbStateVars } from './slider.css.js';
14
+ import { jsx } from 'react/jsx-runtime';
15
+
16
+ var SliderBarContext = createContext(null);
17
+ var SliderBar = forwardRef(function SliderBar2(props, ref) {
18
+ [props, ref] = useContextProps(props, ref, SliderBarContext);
19
+ props = useDefaultProps(props, "SliderBar");
20
+ const { classNames: classNamesProp, ...rest } = props;
21
+ const theme = useTheme();
22
+ const classNames = useMemo(
23
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
24
+ [theme.Slider, classNamesProp]
25
+ );
26
+ const state = useContext(SliderStateContext);
27
+ const min = state.getThumbPercent(0);
28
+ const max = state.getThumbPercent(1);
29
+ return /* @__PURE__ */ jsx(
30
+ "div",
31
+ {
32
+ ...rest,
33
+ ref,
34
+ className: classNames?.track?.bar,
35
+ style: {
36
+ position: "absolute",
37
+ ...state.orientation === "horizontal" && {
38
+ left: max ? `${min * 100}%` : 0,
39
+ width: max ? `${(max * 100 || 0) - (min * 100 || 0)}%` : `${min * 100}%`
40
+ },
41
+ ...state.orientation === "vertical" && {
42
+ bottom: max ? `${min * 100}%` : 0,
43
+ height: max ? `${(max * 100 || 0) - (min * 100 || 0)}%` : `${min * 100}%`
44
+ }
45
+ }
46
+ }
47
+ );
48
+ });
49
+ var SliderOutputContext = createContext(null);
50
+ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
51
+ [props, ref] = useContextProps(props, ref, SliderOutputContext);
52
+ props = useDefaultProps(props, "SliderOutput");
53
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
54
+ const theme = useTheme();
55
+ const classNames = useMemo(
56
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
57
+ [theme.Slider, classNamesProp]
58
+ );
59
+ const style = useCallback(
60
+ (renderProps) => inlineVars(sliderStateVars, renderProps),
61
+ []
62
+ );
63
+ const children = useCallback(
64
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.output?.output, children: callRenderProps(childrenProp, {
65
+ ...renderProps,
66
+ defaultChildren: null
67
+ }) }),
68
+ [childrenProp, classNames?.output?.output]
69
+ );
70
+ return /* @__PURE__ */ jsx(
71
+ SliderOutput$1,
72
+ {
73
+ ...rest,
74
+ ref,
75
+ className: classNames?.output?.container,
76
+ style,
77
+ children
78
+ }
79
+ );
80
+ });
81
+ var SliderTrackContext = createContext(null);
82
+ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
83
+ [props, ref] = useContextProps(props, ref, SliderTrackContext);
84
+ props = useDefaultProps(props, "SliderTrack");
85
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
86
+ const theme = useTheme();
87
+ const classNames = useMemo(
88
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
89
+ [theme.Slider, classNamesProp]
90
+ );
91
+ const style = useCallback(
92
+ (renderProps) => inlineVars(sliderTrackStateVars, renderProps),
93
+ []
94
+ );
95
+ const values = useMemo(
96
+ () => [
97
+ [SliderThumbContext, { classNames }],
98
+ [SliderBarContext, { classNames }]
99
+ ],
100
+ [classNames]
101
+ );
102
+ const children = useCallback(
103
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.track?.track, children: callRenderProps(childrenProp, {
104
+ ...renderProps,
105
+ defaultChildren: null
106
+ }) }) }),
107
+ [childrenProp, values, classNames?.track?.track]
108
+ );
109
+ return /* @__PURE__ */ jsx(
110
+ SliderTrack$1,
111
+ {
112
+ ...rest,
113
+ ref,
114
+ className: classNames?.track?.container,
115
+ style,
116
+ children
117
+ }
118
+ );
119
+ });
120
+ var SliderThumbContext = createContext(null);
121
+ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
122
+ [props, ref] = useContextProps(props, ref, SliderThumbContext);
123
+ props = useDefaultProps(props, "SliderThumb");
124
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
125
+ const theme = useTheme();
126
+ const classNames = useMemo(
127
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
128
+ [theme.Slider, classNamesProp]
129
+ );
130
+ const style = useCallback(
131
+ (renderProps) => inlineVars(sliderThumbStateVars, renderProps),
132
+ []
133
+ );
134
+ const children = useCallback(
135
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.thumb?.thumb, children: callRenderProps(childrenProp, {
136
+ ...renderProps,
137
+ defaultChildren: null
138
+ }) }),
139
+ [childrenProp, classNames?.thumb?.thumb]
140
+ );
141
+ return /* @__PURE__ */ jsx(
142
+ SliderThumb$1,
143
+ {
144
+ ...rest,
145
+ ref,
146
+ className: classNames?.thumb?.container,
147
+ style,
148
+ children
149
+ }
150
+ );
151
+ });
152
+ var SliderContext = createContext(null);
153
+ var Slider = forwardRef(function Slider2(props, ref) {
154
+ [props, ref] = useContextProps(props, ref, SliderContext);
155
+ props = useDefaultProps(props, "Slider");
156
+ const {
157
+ children: childrenProp,
158
+ classNames: classNamesProp,
159
+ layout = "stacked",
160
+ orientation = "horizontal",
161
+ isDisabled,
162
+ ...rest
163
+ } = props;
164
+ const theme = useTheme();
165
+ const classNames = useMemo(
166
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
167
+ [theme.Slider, classNamesProp]
168
+ );
169
+ const style = useCallback(
170
+ ({ ...renderProps }) => inlineVars(sliderStateVars, {
171
+ ...renderProps,
172
+ layout
173
+ }),
174
+ [layout]
175
+ );
176
+ const values = useMemo(
177
+ () => [
178
+ [LabelContext, { className: classNames?.slider?.label }],
179
+ [
180
+ AriaTextContext,
181
+ {
182
+ slots: {
183
+ [DEFAULT_SLOT]: {},
184
+ min: {
185
+ className: clsx(
186
+ classNames?.slider?.tick,
187
+ classNames?.slider?.min
188
+ )
189
+ },
190
+ max: {
191
+ className: clsx(
192
+ classNames?.slider?.tick,
193
+ classNames?.slider?.max
194
+ )
195
+ }
196
+ }
197
+ }
198
+ ],
199
+ [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],
200
+ [SliderOutputContext, { classNames }],
201
+ [SliderTrackContext, { classNames }],
202
+ [
203
+ GroupContext,
204
+ {
205
+ classNames: classNames?.group,
206
+ context: NumberFieldContext,
207
+ orientation,
208
+ reverse: orientation === "vertical",
209
+ values: { classNames: classNames?.group?.numberField }
210
+ }
211
+ ]
212
+ ],
213
+ [classNames, orientation, isDisabled]
214
+ );
215
+ const children = useCallback(
216
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.slider?.slider, children: callRenderProps(childrenProp, renderProps) }) }),
217
+ [childrenProp, classNames?.slider, values]
218
+ );
219
+ return /* @__PURE__ */ jsx(
220
+ Slider$1,
221
+ {
222
+ ...rest,
223
+ ref,
224
+ className: classNames?.slider?.container,
225
+ orientation,
226
+ style,
227
+ isDisabled,
228
+ children
229
+ }
230
+ );
231
+ });
232
+
233
+ export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext };
5
234
  //# sourceMappingURL=index.js.map
6
235
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/slider/index.tsx"],"names":["SliderBar","SliderOutput","RACSliderOutput","SliderTrack","RACSliderTrack","SliderThumb","RACSliderThumb","Slider","RACSlider"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from 'clsx';\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DEFAULT_SLOT,\n LabelContext,\n type LabelProps,\n Provider,\n Slider as RACSlider,\n SliderOutput as RACSliderOutput,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n SliderStateContext,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { type AriaLabelContext, AriaTextContext } from '../aria';\nimport { GroupContext } from '../group';\nimport type { GroupProps } from '../group/types';\nimport { NumberFieldContext } from '../number-field';\nimport type { NumberFieldProps } from '../number-field/types';\nimport {\n sliderClassNames,\n sliderStateVars,\n sliderThumbStateVars,\n sliderTrackStateVars,\n} from './slider.css';\nimport type {\n SliderBarProps,\n SliderOutputProps,\n SliderProps,\n SliderRenderProps,\n SliderThumbProps,\n SliderThumbRenderProps,\n SliderTrackProps,\n SliderTrackRenderProps,\n} from './types';\n\nexport const SliderBarContext =\n createContext<ContextValue<SliderBarProps, HTMLDivElement>>(null);\n\n/**\n * SliderBar is optional, but must be used as a child of SliderTrack\n */\nexport const SliderBar = forwardRef(function SliderBar(\n props: SliderBarProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderBarContext);\n\n props = useDefaultProps(props, 'SliderBar');\n\n const { classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const state = useContext(SliderStateContext);\n\n const min = state.getThumbPercent(0);\n const max = state.getThumbPercent(1);\n\n return (\n <div\n {...rest}\n ref={ref}\n className={classNames?.track?.bar}\n style={{\n position: 'absolute',\n ...(state.orientation === 'horizontal' && {\n left: max ? `${min * 100}%` : 0,\n width: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n ...(state.orientation === 'vertical' && {\n bottom: max ? `${min * 100}%` : 0,\n height: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n }}\n />\n );\n});\n\nexport const SliderOutputContext =\n createContext<ContextValue<SliderOutputProps, HTMLOutputElement>>(null);\n\nexport const SliderOutput = forwardRef(function SliderOutput(\n props: SliderOutputProps,\n ref: ForwardedRef<HTMLOutputElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderOutputContext);\n\n props = useDefaultProps(props, 'SliderOutput');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderRenderProps) =>\n inlineVars(sliderStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <div className={classNames?.output?.output}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.output?.output],\n );\n\n return (\n <RACSliderOutput\n {...rest}\n ref={ref}\n className={classNames?.output?.container}\n style={style}\n >\n {children}\n </RACSliderOutput>\n );\n});\n\nexport const SliderTrackContext =\n createContext<ContextValue<SliderTrackProps, HTMLDivElement>>(null);\n\n/**\n * SliderTrack must be used as a child of Slider, a parent of SliderThumb,\n * and if used, a parent of SliderBar\n */\nexport const SliderTrack = forwardRef(function SliderTrack(\n props: SliderTrackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderTrackContext);\n\n props = useDefaultProps(props, 'SliderTrack');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderTrackRenderProps) =>\n inlineVars(sliderTrackStateVars, renderProps),\n [],\n );\n\n const values = useMemo<\n [\n [\n typeof SliderThumbContext,\n ContextValue<SliderThumbProps, HTMLDivElement>,\n ],\n [typeof SliderBarContext, ContextValue<SliderBarProps, HTMLDivElement>],\n ]\n >(\n () => [\n [SliderThumbContext, { classNames }],\n [SliderBarContext, { classNames }],\n ],\n [classNames],\n );\n\n const children = useCallback(\n (renderProps: SliderTrackRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.track?.track}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, values, classNames?.track?.track],\n );\n\n return (\n <RACSliderTrack\n {...rest}\n ref={ref}\n className={classNames?.track?.container}\n style={style}\n >\n {children}\n </RACSliderTrack>\n );\n});\n\nexport const SliderThumbContext =\n createContext<ContextValue<SliderThumbProps, HTMLDivElement>>(null);\n\n/**\n * SliderThumb must be used as a child of SliderTrack\n */\nexport const SliderThumb = forwardRef(function SliderThumb(\n props: SliderThumbProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderThumbContext);\n\n props = useDefaultProps(props, 'SliderThumb');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderThumbRenderProps) =>\n inlineVars(sliderThumbStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderThumbRenderProps) => (\n <div className={classNames?.thumb?.thumb}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.thumb?.thumb],\n );\n\n return (\n <RACSliderThumb\n {...rest}\n ref={ref}\n className={classNames?.thumb?.container}\n style={style}\n >\n {children}\n </RACSliderThumb>\n );\n});\n\nexport const SliderContext =\n createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\n\nexport const Slider = forwardRef(function Slider(\n props: SliderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderContext);\n\n props = useDefaultProps(props, 'Slider');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n layout = 'stacked',\n orientation = 'horizontal',\n isDisabled,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n ({ ...renderProps }: SliderRenderProps) =>\n inlineVars(sliderStateVars, {\n ...renderProps,\n layout,\n }),\n [layout],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof NumberFieldContext,\n ContextValue<NumberFieldProps, HTMLDivElement>,\n ],\n [\n typeof SliderOutputContext,\n ContextValue<SliderOutputProps, HTMLOutputElement>,\n ],\n [\n typeof SliderTrackContext,\n ContextValue<SliderTrackProps, HTMLDivElement>,\n ],\n [\n typeof GroupContext,\n ContextValue<\n GroupProps<NumberFieldProps, HTMLDivElement>,\n HTMLDivElement\n >,\n ],\n ]\n >(\n () => [\n [LabelContext, { className: classNames?.slider?.label }],\n [\n AriaTextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n min: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.min,\n ),\n },\n max: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.max,\n ),\n },\n },\n },\n ],\n [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],\n [SliderOutputContext, { classNames }],\n [SliderTrackContext, { classNames }],\n [\n GroupContext,\n {\n classNames: classNames?.group,\n context: NumberFieldContext,\n orientation,\n reverse: orientation === 'vertical',\n values: { classNames: classNames?.group?.numberField },\n },\n ],\n ],\n [classNames, orientation, isDisabled],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.slider?.slider}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.slider, values],\n );\n\n return (\n <RACSlider\n {...rest}\n ref={ref}\n className={classNames?.slider?.container}\n orientation={orientation}\n style={style}\n isDisabled={isDisabled}\n >\n {children}\n </RACSlider>\n );\n});\n"]}
@@ -7,8 +7,8 @@ import 'react';
7
7
  import '../group/types.js';
8
8
  import '@react-types/shared';
9
9
  import '../number-field/types.js';
10
- import '../button/types.js';
11
10
  import '../../types/props.js';
11
+ import '../button/types.js';
12
12
  import '../icon/types.js';
13
13
  import '../input/types.js';
14
14
 
@@ -6,8 +6,8 @@ import { GroupClassNames } from '../group/types.js';
6
6
  import { NumberFieldClassNames } from '../number-field/types.js';
7
7
  import 'react';
8
8
  import '@react-types/shared';
9
- import '../button/types.js';
10
9
  import '../../types/props.js';
10
+ import '../button/types.js';
11
11
  import '../icon/types.js';
12
12
  import '../input/types.js';
13
13
 
@@ -1,6 +1,10 @@
1
- export { Switch, SwitchContext } from './switch.js';
2
- export { switchClassNames, switchColorVars, switchContainer, switchSpaceVars, switchStateVars } from './switch.css.js';
3
- export { SwitchAlignment, SwitchClassNames, SwitchProps, SwitchRenderProps, SwitchState } from './types.js';
4
- import 'react-aria-components';
5
- import 'react';
1
+ import { BaseSwitchProps, SwitchProps } from './types.js';
2
+ import * as react_aria_components from 'react-aria-components';
3
+ import { ContextValue } from 'react-aria-components';
4
+ import * as react from 'react';
6
5
  import '../../types/react-aria.js';
6
+
7
+ declare const SwitchContext: react.Context<ContextValue<SwitchProps, HTMLLabelElement>>;
8
+ declare const Switch: (props: Omit<react_aria_components.SwitchProps, "children" | "className" | "style"> & BaseSwitchProps & react.RefAttributes<HTMLLabelElement>) => react.ReactElement | null;
9
+
10
+ export { Switch, SwitchContext };
@@ -1,6 +1,63 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { Switch, SwitchContext } from './switch.js';
3
- export { switchClassNames, switchColorVars, switchContainer, switchSpaceVars, switchStateVars } from './switch.css.js';
4
- import './types.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { Switch as Switch$1 } from 'react-aria-components';
4
+ import { useContextProps } from '../../hooks/use-context-props/index.js';
5
+ import { useDefaultProps } from '../../hooks/use-defaults/index.js';
6
+ import { useTheme } from '../../hooks/use-theme/index.js';
7
+ import { inlineVars } from '../../utils/css/index.js';
8
+ import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
9
+ import { switchClassNames, switchStateVars } from './switch.css.js';
10
+ import { jsxs, jsx } from 'react/jsx-runtime';
11
+
12
+ var SwitchContext = createContext(null);
13
+ var Switch = forwardRef(function Switch2(props, ref) {
14
+ [props, ref] = useContextProps(props, ref, SwitchContext);
15
+ props = useDefaultProps(props, "Switch");
16
+ const {
17
+ children: childrenProp,
18
+ classNames: classNamesProp,
19
+ alignInput,
20
+ ...rest
21
+ } = props;
22
+ const theme = useTheme();
23
+ const classNames = useMemo(
24
+ () => mergeClassNames(switchClassNames, theme.Switch, classNamesProp),
25
+ [theme.Switch, classNamesProp]
26
+ );
27
+ const style = useCallback(
28
+ ({ state, ...renderProps }) => inlineVars(switchStateVars, {
29
+ ...renderProps,
30
+ alignInput
31
+ }),
32
+ [alignInput]
33
+ );
34
+ const children = useCallback(
35
+ (renderProps) => {
36
+ const child = callRenderProps(childrenProp, renderProps);
37
+ return /* @__PURE__ */ jsxs("span", { className: classNames?.switch, children: [
38
+ child && /* @__PURE__ */ jsx("span", { className: classNames?.label, children: child }),
39
+ /* @__PURE__ */ jsx("span", { className: classNames?.indicator })
40
+ ] });
41
+ },
42
+ [
43
+ childrenProp,
44
+ classNames?.switch,
45
+ classNames?.label,
46
+ classNames?.indicator
47
+ ]
48
+ );
49
+ return /* @__PURE__ */ jsx(
50
+ Switch$1,
51
+ {
52
+ ...rest,
53
+ ref,
54
+ className: classNames?.container,
55
+ style,
56
+ children
57
+ }
58
+ );
59
+ });
60
+
61
+ export { Switch, SwitchContext };
5
62
  //# sourceMappingURL=index.js.map
6
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/switch/index.tsx"],"names":["Switch","RACSwitch"],"mappings":";;;;;;;;;;;AA4Ba,IAAA,aAAA,GACX,cAA2D,IAAI;AAE1D,IAAM,MAAS,GAAA,UAAA,CAAW,SAASA,OAAAA,CACxC,OACA,GACA,EAAA;AACA,EAAA,CAAC,OAAO,GAAG,CAAA,GAAI,eAAgB,CAAA,KAAA,EAAO,KAAK,aAAa,CAAA;AAExD,EAAQ,KAAA,GAAA,eAAA,CAAgB,OAAO,QAAQ,CAAA;AAEvC,EAAM,MAAA;AAAA,IACJ,QAAU,EAAA,YAAA;AAAA,IACV,UAAY,EAAA,cAAA;AAAA,IACZ,UAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,EAAA,MAAM,UAAa,GAAA,OAAA;AAAA,IACjB,MAAM,eAAA,CAAgB,gBAAkB,EAAA,KAAA,CAAM,QAAQ,cAAc,CAAA;AAAA,IACpE,CAAC,KAAM,CAAA,MAAA,EAAQ,cAAc;AAAA,GAC/B;AAEA,EAAA,MAAM,KAAQ,GAAA,WAAA;AAAA,IACZ,CAAC,EAAE,KAAA,EAAO,GAAG,WAAY,EAAA,KACvB,WAAW,eAAiB,EAAA;AAAA,MAC1B,GAAG,WAAA;AAAA,MACH;AAAA,KACD,CAAA;AAAA,IACH,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,MAAM,QAAW,GAAA,WAAA;AAAA,IACf,CAAC,WAAmC,KAAA;AAClC,MAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,YAAA,EAAc,WAAW,CAAA;AAEvD,MAAA,uBACG,IAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,UAAA,EAAY,MAC1B,EAAA,QAAA,EAAA;AAAA,QAAA,KAAA,oBAAU,GAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,UAAA,EAAY,OAAQ,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,wBACpD,GAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,UAAA,EAAY,SAAW,EAAA;AAAA,OAC1C,EAAA,CAAA;AAAA,KAEJ;AAAA,IACA;AAAA,MACE,YAAA;AAAA,MACA,UAAY,EAAA,MAAA;AAAA,MACZ,UAAY,EAAA,KAAA;AAAA,MACZ,UAAY,EAAA;AAAA;AACd,GACF;AAEA,EACE,uBAAA,GAAA;AAAA,IAACC,QAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MACA,WAAW,UAAY,EAAA,SAAA;AAAA,MACvB,KAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAC","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport { type ContextValue, Switch as RACSwitch } from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { switchClassNames, switchStateVars } from './switch.css';\nimport type { SwitchProps, SwitchRenderProps } from './types';\n\nexport const SwitchContext =\n createContext<ContextValue<SwitchProps, HTMLLabelElement>>(null);\n\nexport const Switch = forwardRef(function Switch(\n props: SwitchProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n [props, ref] = useContextProps(props, ref, SwitchContext);\n\n props = useDefaultProps(props, 'Switch');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(switchClassNames, theme.Switch, classNamesProp),\n [theme.Switch, classNamesProp],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: SwitchRenderProps) =>\n inlineVars(switchStateVars, {\n ...renderProps,\n alignInput,\n }),\n [alignInput],\n );\n\n const children = useCallback(\n (renderProps: SwitchRenderProps) => {\n const child = callRenderProps(childrenProp, renderProps);\n\n return (\n <span className={classNames?.switch}>\n {child && <span className={classNames?.label}>{child}</span>}\n <span className={classNames?.indicator} />\n </span>\n );\n },\n [\n childrenProp,\n classNames?.switch,\n classNames?.label,\n classNames?.indicator,\n ],\n );\n\n return (\n <RACSwitch\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSwitch>\n );\n});\n"]}
@@ -1,8 +1,75 @@
1
- export { Tab, TabContext, TabList, TabListContext, TabPanel, TabPanelContext, TabPanels, TabPanelsContext, Tabs, TabsContext } from './tabs.js';
2
- export { tabColorVars, tabListStateVars, tabPanelStateVars, tabPanelsStateVars, tabSpaceVars, tabStateVars, tabsClassNames, tabsContainers } from './tabs.css.js';
3
- export { TabListAlignment, TabListAnchor, TabListProps, TabListState, TabListVariants, TabPanelProps, TabPanelRenderProps, TabPanelState, TabPanelsProps, TabPanelsState, TabProps, TabRenderProps, TabState, TabsClassNames, TabsProps } from './types.js';
4
- import '@react-types/shared';
5
- import 'react-aria-components';
6
- import 'react';
7
- import 'type-fest';
1
+ import * as _react_types_shared from '@react-types/shared';
2
+ import { TabsClassNames, TabListAlignment, TabListAnchor, TabListSizes, TabListVariants, TabListProps, TabPanelProps, TabPanelsProps, TabsProps } from './types.js';
3
+ import * as react_aria_components from 'react-aria-components';
4
+ import { ContextValue, SlotProps } from 'react-aria-components';
5
+ import * as react from 'react';
6
+ import { RequiredDeep } from 'type-fest';
8
7
  import '../../types/generic.js';
8
+
9
+ declare const TEST_IDS: RequiredDeep<TabsClassNames>;
10
+ declare const TabsContext: react.Context<ContextValue<TabsProps, HTMLDivElement>>;
11
+ /**
12
+ * A required wrapper for other Tabs components, which manages
13
+ * and provides the state context. Other Tabs components will
14
+ * throw an error if not wrapped with this component
15
+ *
16
+ * NOTE: TabList & TabPanels do not have to be direct children
17
+ * of this component. Additional layout can be introduced around
18
+ * this components children
19
+ */
20
+ declare const Tabs: (props: Omit<react_aria_components.TabsProps, "children" | "className" | "style"> & {
21
+ classNames?: TabsClassNames;
22
+ } & {
23
+ children?: react.ReactNode | undefined;
24
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
25
+ declare const TabListContext: react.Context<ContextValue<TabListProps<unknown>, HTMLDivElement>>;
26
+ /**
27
+ * Parent of Tab
28
+ */
29
+ declare const TabList: <T extends object>(props: Omit<react_aria_components.TabListProps<T>, "className" | "style"> & {
30
+ align?: TabListAlignment;
31
+ anchor?: TabListAnchor;
32
+ orientation?: _react_types_shared.Orientation;
33
+ size?: TabListSizes;
34
+ variant?: TabListVariants;
35
+ } & {
36
+ classNames?: TabsClassNames;
37
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
38
+ declare const TabContext: react.Context<ContextValue<Omit<Omit<react_aria_components.TabProps, "className" | "style"> & {
39
+ id: string;
40
+ } & _react_types_shared.PressEvents & {
41
+ classNames?: TabsClassNames;
42
+ } & SlotProps, "id">, HTMLDivElement>>;
43
+ /**
44
+ * Must be a direct child of TabList
45
+ */
46
+ declare const Tab: (props: Omit<react_aria_components.TabProps, "className" | "style"> & {
47
+ id: string;
48
+ } & _react_types_shared.PressEvents & {
49
+ classNames?: TabsClassNames;
50
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
51
+ declare const TabPanelsContext: react.Context<ContextValue<TabPanelsProps, HTMLDivElement>>;
52
+ /**
53
+ * Parent of TabPanel, but only required if using shouldForceMount=true
54
+ */
55
+ declare const TabPanels: (props: {
56
+ shouldForceMount?: boolean;
57
+ } & {
58
+ children?: react.ReactNode | undefined;
59
+ } & {
60
+ classNames?: TabsClassNames;
61
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
62
+ declare const TabPanelContext: react.Context<ContextValue<Omit<TabPanelProps, "id">, HTMLDivElement>>;
63
+ /**
64
+ * Must be direct child of TabPanels if TabPanel implements shouldForceMount=true
65
+ *
66
+ * Othewise can be used anywhere inside of Tabs. TabPanels may be desirable to use
67
+ * if theme implements any styles that adjust layout
68
+ */
69
+ declare const TabPanel: (props: Omit<react_aria_components.TabPanelProps, "className" | "style"> & {
70
+ id: string;
71
+ } & {
72
+ classNames?: TabsClassNames;
73
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
74
+
75
+ export { TEST_IDS, Tab, TabContext, TabList, TabListContext, TabPanel, TabPanelContext, TabPanels, TabPanelsContext, Tabs, TabsContext };