@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,174 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { Chip, ChipContext, ChipGroup, ChipGroupContext, ChipItem, ChipList } from './chip.js';
3
- export { chipClassNames, chipColorVars, chipContainer, chipSpaceVars, chipStateVars } from './chip.css.js';
4
- import './types.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { TextContext, Provider, Tag, TagGroup, TagList } 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 { bodies } from '../../styles/typography.css.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 { ButtonContext } from '../button/index.js';
12
+ import { chipClassNames, chipStateVars } from './chip.css.js';
13
+ import { jsx } from 'react/jsx-runtime';
14
+
15
+ var defaults = {
16
+ color: "info",
17
+ size: "sm"
18
+ };
19
+ var defaultMapping = {
20
+ font: {
21
+ sm: bodies.sm,
22
+ lg: bodies.sm
23
+ },
24
+ remove: {
25
+ sm: { size: "sm", variant: "icon" },
26
+ lg: { size: "sm", variant: "icon" }
27
+ }
28
+ };
29
+ function Chip(props) {
30
+ props = useDefaultProps(props, "Chip");
31
+ const {
32
+ children,
33
+ classNames: classNamesProp,
34
+ color = defaults.color,
35
+ mapping: mappingProp,
36
+ size = defaults.size
37
+ } = props;
38
+ const theme = useTheme();
39
+ const mapping = useMemo(
40
+ () => ({
41
+ ...defaultMapping,
42
+ ...mappingProp
43
+ }),
44
+ [mappingProp]
45
+ );
46
+ const classNames = useMemo(
47
+ () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {
48
+ chip: mapping.font[size]
49
+ }),
50
+ [theme.Chip, classNamesProp, mapping, size]
51
+ );
52
+ const values = useMemo(
53
+ () => [[AriaTextContext, { className: classNames?.label }]],
54
+ [classNames?.label]
55
+ );
56
+ const style = useMemo(
57
+ () => inlineVars(chipStateVars, {
58
+ allowsRemoving: false,
59
+ color,
60
+ selectionBehavior: "toggle",
61
+ selectionMode: "none",
62
+ size,
63
+ isDisabled: false,
64
+ isFocused: false,
65
+ isFocusVisible: false,
66
+ isHovered: false,
67
+ isPressed: false,
68
+ isSelected: false
69
+ }),
70
+ [color, size]
71
+ );
72
+ return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.container, style, children: /* @__PURE__ */ jsx("div", { className: classNames?.chip, children }) }) });
73
+ }
74
+ var ChipContext = createContext(null);
75
+ var ChipItem = forwardRef(function ChipItem2(props, ref) {
76
+ [props, ref] = useContextProps(props, ref, ChipContext);
77
+ props = useDefaultProps(props, "Chip");
78
+ const {
79
+ children: childrenProp,
80
+ id,
81
+ classNames: classNamesProp,
82
+ color = defaults.color,
83
+ size = defaults.size,
84
+ textValue,
85
+ mapping: mappingProp,
86
+ ...rest
87
+ } = props;
88
+ const theme = useTheme();
89
+ const mapping = useMemo(
90
+ () => ({
91
+ ...defaultMapping,
92
+ ...mappingProp
93
+ }),
94
+ [mappingProp]
95
+ );
96
+ const classNames = useMemo(
97
+ () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {
98
+ chip: mapping.font[size]
99
+ }),
100
+ [theme.Chip, classNamesProp, mapping, size]
101
+ );
102
+ const values = useMemo(
103
+ () => [
104
+ // Because ChipGroup (TagGroup) implements a TextContext, we need to block it inside of the Chip
105
+ // so that there isn't a conflict of with our AriaTextContext. Otherwise there are slot errors
106
+ [TextContext, null],
107
+ [AriaTextContext, { className: classNames?.label }],
108
+ [
109
+ ButtonContext,
110
+ {
111
+ ...mapping.remove[size],
112
+ classNames: { button: classNames?.remove },
113
+ slot: "remove"
114
+ }
115
+ ]
116
+ ],
117
+ [classNames?.label, classNames?.remove, mapping, size]
118
+ );
119
+ const style = useCallback(
120
+ (renderProps) => inlineVars(chipStateVars, {
121
+ ...renderProps,
122
+ color,
123
+ size
124
+ }),
125
+ [color, size]
126
+ );
127
+ const children = useCallback(
128
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.chip, children: callRenderProps(childrenProp, renderProps) }) }),
129
+ [values, classNames?.chip, childrenProp]
130
+ );
131
+ return /* @__PURE__ */ jsx(
132
+ Tag,
133
+ {
134
+ ...rest,
135
+ ref,
136
+ id: id ?? textValue,
137
+ className: classNames?.container,
138
+ style,
139
+ textValue,
140
+ children
141
+ }
142
+ );
143
+ });
144
+ function ChipList({
145
+ classNames: classNamesProp,
146
+ ...rest
147
+ }) {
148
+ const theme = useTheme();
149
+ const classNames = useMemo(
150
+ () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),
151
+ [theme.Chip, classNamesProp]
152
+ );
153
+ return /* @__PURE__ */ jsx(TagList, { ...rest, className: classNames?.list });
154
+ }
155
+ var ChipGroupContext = createContext(null);
156
+ var ChipGroup = forwardRef(function ChipGroup2(props, ref) {
157
+ [props, ref] = useContextProps(props, ref, ChipGroupContext);
158
+ props = useDefaultProps(props, "ChipGroup");
159
+ const { children, classNames: classNamesProp, color, size, ...rest } = props;
160
+ const theme = useTheme();
161
+ const classNames = useMemo(
162
+ () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),
163
+ [theme.Chip, classNamesProp]
164
+ );
165
+ const values = useMemo(
166
+ () => [[ChipContext, { classNames, color, size }]],
167
+ [classNames, color, size]
168
+ );
169
+ return /* @__PURE__ */ jsx(TagGroup, { ...rest, ref, className: classNames?.group, children: /* @__PURE__ */ jsx(Provider, { values, children }) });
170
+ });
171
+
172
+ export { Chip, ChipContext, ChipGroup, ChipGroupContext, ChipItem, ChipList };
5
173
  //# sourceMappingURL=index.js.map
6
174
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/chip/index.tsx"],"names":["ChipItem","RACTextContext","ChipGroup"],"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 {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n TextContext as RACTextContext,\n Tag,\n TagGroup,\n TagList,\n type TagRenderProps,\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 { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { AriaTextContext } from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { chipClassNames, chipStateVars } from './chip.css';\nimport type {\n ChipGroupProps,\n ChipItemProps,\n ChipListProps,\n ChipMapping,\n ChipProps,\n} from './types';\n\nconst defaults: Required<Pick<ChipProps, 'color' | 'size'>> = {\n color: 'info',\n size: 'sm',\n};\n\nconst defaultMapping: ChipMapping = {\n font: {\n sm: bodies.sm,\n lg: bodies.sm,\n },\n remove: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'sm', variant: 'icon' },\n },\n};\n\nexport function Chip(props: ChipProps) {\n props = useDefaultProps(props, 'Chip');\n\n const {\n children,\n classNames: classNamesProp,\n color = defaults.color,\n mapping: mappingProp,\n size = defaults.size,\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {\n chip: mapping.font[size],\n }),\n [theme.Chip, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [[typeof AriaTextContext, ContextValue<TextProps, HTMLElement>]]\n >(\n () => [[AriaTextContext, { className: classNames?.label }]],\n [classNames?.label],\n );\n\n const style = useMemo(\n () =>\n inlineVars(chipStateVars, {\n allowsRemoving: false,\n color,\n selectionBehavior: 'toggle',\n selectionMode: 'none',\n size,\n isDisabled: false,\n isFocused: false,\n isFocusVisible: false,\n isHovered: false,\n isPressed: false,\n isSelected: false,\n }),\n [color, size],\n );\n\n return (\n <Provider values={values}>\n <div className={classNames?.container} style={style}>\n <div className={classNames?.chip}>{children}</div>\n </div>\n </Provider>\n );\n}\n\nexport const ChipContext =\n createContext<ContextValue<ChipItemProps, HTMLDivElement>>(null);\n\n/**\n * Must be used in conjunction with ChipList & ChipGroup and\n * cannot be used outside of ChipList, else will throw error\n *\n * Color & Size props can be passed in from ChipGroup and overriden\n * on each instance of this components\n *\n * Order of precedence (from lowest to highest):\n * Design System Defaults of Chip\n * Global Defaults of ChipGroup\n * Instance of ChipGroup\n * Global Defaults of ChipItem\n * Instance of ChipItem\n */\nexport const ChipItem = forwardRef(function ChipItem(\n props: ChipItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ChipContext);\n props = useDefaultProps(props, 'Chip');\n\n const {\n children: childrenProp,\n id,\n classNames: classNamesProp,\n color = defaults.color,\n size = defaults.size,\n textValue,\n mapping: mappingProp,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {\n chip: mapping.font[size],\n }),\n [theme.Chip, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof RACTextContext, ContextValue<TextProps, HTMLElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n ]\n >(\n () => [\n // Because ChipGroup (TagGroup) implements a TextContext, we need to block it inside of the Chip\n // so that there isn't a conflict of with our AriaTextContext. Otherwise there are slot errors\n [RACTextContext, null],\n [AriaTextContext, { className: classNames?.label }],\n [\n ButtonContext,\n {\n ...mapping.remove[size],\n classNames: { button: classNames?.remove },\n slot: 'remove',\n },\n ],\n ],\n [classNames?.label, classNames?.remove, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: TagRenderProps) =>\n inlineVars(chipStateVars, {\n ...renderProps,\n color,\n size,\n }),\n [color, size],\n );\n\n const children = useCallback(\n (renderProps: TagRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.chip}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [values, classNames?.chip, childrenProp],\n );\n\n return (\n <Tag\n {...rest}\n ref={ref}\n id={id ?? textValue}\n className={classNames?.container}\n style={style}\n textValue={textValue}\n >\n {children}\n </Tag>\n );\n});\n\n/**\n * Must be used in conjunction with ChipItem & ChipGroup and\n * cannot be used outside of ChipGroup, else will throw error\n */\nexport function ChipList<T extends object>({\n classNames: classNamesProp,\n ...rest\n}: ChipListProps<T>) {\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),\n [theme.Chip, classNamesProp],\n );\n\n return <TagList<T> {...rest} className={classNames?.list} />;\n}\n\nexport const ChipGroupContext =\n createContext<ContextValue<ChipGroupProps, HTMLDivElement>>(null);\n\n/**\n * Color & Size props are passed down to ChipItem but can be overridden\n * on each component if desired\n */\nexport const ChipGroup = forwardRef(function ChipGroup(\n props: ChipGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ChipGroupContext);\n props = useDefaultProps(props, 'ChipGroup');\n\n const { children, classNames: classNamesProp, color, size, ...rest } = props;\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),\n [theme.Chip, classNamesProp],\n );\n\n const values = useMemo<\n [[typeof ChipContext, ContextValue<ChipItemProps, HTMLDivElement>]]\n >(\n () => [[ChipContext, { classNames, color, size }]],\n [classNames, color, size],\n );\n\n return (\n <TagGroup {...rest} ref={ref} className={classNames?.group}>\n <Provider values={values}>{children}</Provider>\n </TagGroup>\n );\n});\n"]}
@@ -1,6 +1,17 @@
1
- export { createCollectionRenderer } from './collection.js';
2
- import '@react-types/shared';
3
- import 'react';
4
- import 'react-aria-components';
5
- import '../merge-provider/types.js';
1
+ import { Collection, Node } from '@react-types/shared';
2
+ import { Context } from 'react';
3
+ import { CollectionRenderer } from 'react-aria-components';
4
+ import { MergeProviderProps } from '../merge-provider/types.js';
6
5
  import '../../types/react-aria.js';
6
+
7
+ /**
8
+ * Replace the default collection renderer to allow for injection of
9
+ * context props for multiple composed components. Also enables use of
10
+ * Section as wrapper of list items at the top level as a styleable
11
+ * element within the RAC container
12
+ */
13
+ declare function createCollectionRenderer<C extends {
14
+ readonly collection: Collection<Node<unknown>>;
15
+ }, V extends MergeProviderProps['values']>(context: Context<C>, values: V): CollectionRenderer;
16
+
17
+ export { createCollectionRenderer };
@@ -1,4 +1,22 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { createCollectionRenderer } from './collection.js';
2
+ import { useContext } from 'react';
3
+ import { useCollectionRender } from '../../hooks/use-collection-render/index.js';
4
+ import { MergeProvider } from '../merge-provider/index.js';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function createCollectionRenderer(context, values) {
8
+ return {
9
+ // biome-ignore lint/style/useNamingConvention: intentional
10
+ CollectionRoot: ({ renderDropIndicator }) => /* @__PURE__ */ jsx(MergeProvider, { values, children: useCollectionRender(
11
+ useContext(context)?.collection,
12
+ null,
13
+ renderDropIndicator
14
+ ) }),
15
+ // biome-ignore lint/style/useNamingConvention: intentional
16
+ CollectionBranch: ({ collection, parent, renderDropIndicator }) => /* @__PURE__ */ jsx(MergeProvider, { values, children: useCollectionRender(collection, parent, renderDropIndicator) })
17
+ };
18
+ }
19
+
20
+ export { createCollectionRenderer };
3
21
  //# sourceMappingURL=index.js.map
4
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/collection/index.tsx"],"names":[],"mappings":";;;;;;AAyBO,SAAS,wBAAA,CAGd,SAAqB,MAA+B,EAAA;AACpD,EAAO,OAAA;AAAA;AAAA,IAEL,gBAAgB,CAAC,EAAE,qBACjB,qBAAA,GAAA,CAAC,iBAAc,MACZ,EAAA,QAAA,EAAA,mBAAA;AAAA,MACC,UAAA,CAAW,OAAO,CAAG,EAAA,UAAA;AAAA,MACrB,IAAA;AAAA,MACA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAAA,IAGF,gBAAkB,EAAA,CAAC,EAAE,UAAA,EAAY,QAAQ,mBAAoB,EAAA,qBAC1D,GAAA,CAAA,aAAA,EAAA,EAAc,MACZ,EAAA,QAAA,EAAA,mBAAA,CAAoB,UAAY,EAAA,MAAA,EAAQ,mBAAmB,CAC9D,EAAA;AAAA,GAEJ;AACF","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 type { Collection, Node } from '@react-types/shared';\nimport { type Context, useContext } from 'react';\nimport type { CollectionRenderer } from 'react-aria-components';\nimport { useCollectionRender } from '../../hooks/use-collection-render';\nimport { MergeProvider } from '../merge-provider';\nimport type { MergeProviderProps } from '../merge-provider/types';\n\n/**\n * Replace the default collection renderer to allow for injection of\n * context props for multiple composed components. Also enables use of\n * Section as wrapper of list items at the top level as a styleable\n * element within the RAC container\n */\nexport function createCollectionRenderer<\n C extends { readonly collection: Collection<Node<unknown>> },\n V extends MergeProviderProps['values'],\n>(context: Context<C>, values: V): CollectionRenderer {\n return {\n // biome-ignore lint/style/useNamingConvention: intentional\n CollectionRoot: ({ renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(\n useContext(context)?.collection,\n null,\n renderDropIndicator,\n )}\n </MergeProvider>\n ),\n // biome-ignore lint/style/useNamingConvention: intentional\n CollectionBranch: ({ collection, parent, renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(collection, parent, renderDropIndicator)}\n </MergeProvider>\n ),\n };\n}\n"]}
@@ -1,8 +1,7 @@
1
- export { ComboBox, ComboBoxContext } from './combo-box.js';
2
- export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars } from './combo-box.css.js';
3
- export { ComboBoxClassNames, ComboBoxMapping, ComboBoxProps, ComboBoxRenderProps, ComboBoxSizes, ComboBoxState } from './types.js';
4
- import 'react-aria-components';
5
- import 'react';
1
+ import { ComboBoxClassNames, ComboBoxMapping, ComboBoxSizes, ComboBoxProps } 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 'type-fest';
7
6
  import '../../types/generic.js';
8
7
  import '../../types/props.js';
@@ -11,3 +10,12 @@ import '../../types/react-aria.js';
11
10
  import '../icon/types.js';
12
11
  import '../input/types.js';
13
12
  import '../options/types.js';
13
+
14
+ declare const ComboBoxContext: react.Context<ContextValue<ComboBoxProps<object>, HTMLDivElement>>;
15
+ declare const ComboBox: <T extends object>(props: Omit<react_aria_components.ComboBoxProps<T>, "className" | "style"> & {
16
+ classNames?: ComboBoxClassNames;
17
+ mapping?: Partial<ComboBoxMapping>;
18
+ size?: ComboBoxSizes;
19
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
20
+
21
+ export { ComboBox, ComboBoxContext };
@@ -1,6 +1,119 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { ComboBox, ComboBoxContext } from './combo-box.js';
3
- export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars } from './combo-box.css.js';
4
- import './types.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { Provider, ComboBox as ComboBox$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 { bodies } from '../../styles/typography.css.js';
8
+ import { inlineVars } from '../../utils/css/index.js';
9
+ import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
10
+ import { AriaLabelContext, AriaGroupContext, AriaTextContext, AriaFieldErrorContext } from '../aria/index.js';
11
+ import { ButtonContext } from '../button/index.js';
12
+ import { InputContext } from '../input/index.js';
13
+ import { OptionsContext } from '../options/index.js';
14
+ import { comboBoxClassNames, comboBoxStateVars } from './combo-box.css.js';
15
+ import { jsx } from 'react/jsx-runtime';
16
+
17
+ var defaultMapping = {
18
+ description: {
19
+ sm: bodies.xs,
20
+ lg: bodies.xs
21
+ },
22
+ error: {
23
+ sm: bodies.xs,
24
+ lg: bodies.xs
25
+ },
26
+ toggle: {
27
+ sm: { size: "sm", variant: "icon" },
28
+ lg: { size: "md", variant: "icon" }
29
+ }
30
+ };
31
+ var ComboBoxContext = createContext(null);
32
+ var ComboBox = forwardRef(function ComboBox2(props, ref) {
33
+ [props, ref] = useContextProps(props, ref, ComboBoxContext);
34
+ props = useDefaultProps(props, "ComboBox");
35
+ const {
36
+ children: childrenProp,
37
+ classNames: classNamesProp,
38
+ mapping: mappingProp,
39
+ size = "lg"
40
+ } = props;
41
+ const theme = useTheme();
42
+ const mapping = useMemo(
43
+ () => ({
44
+ ...defaultMapping,
45
+ ...mappingProp
46
+ }),
47
+ [mappingProp]
48
+ );
49
+ const classNames = useMemo(
50
+ () => mergeClassNames(comboBoxClassNames, theme.ComboBox, classNamesProp, {
51
+ description: mapping.description[size],
52
+ error: mapping.error[size]
53
+ }),
54
+ [theme.ComboBox, classNamesProp, mapping, size]
55
+ );
56
+ const values = useMemo(
57
+ () => [
58
+ [
59
+ AriaLabelContext,
60
+ {
61
+ className: classNames?.label
62
+ }
63
+ ],
64
+ [
65
+ AriaGroupContext,
66
+ {
67
+ className: classNames?.group
68
+ }
69
+ ],
70
+ [InputContext, { classNames: classNames?.input, size }],
71
+ [
72
+ ButtonContext,
73
+ {
74
+ ...mapping.toggle[size],
75
+ classNames: classNames?.toggle
76
+ }
77
+ ],
78
+ [
79
+ AriaTextContext,
80
+ {
81
+ slots: {
82
+ description: { className: classNames?.description }
83
+ }
84
+ }
85
+ ],
86
+ [AriaFieldErrorContext, { className: classNames?.error }],
87
+ [OptionsContext, { classNames: classNames?.options, size }]
88
+ ],
89
+ [classNames, mapping, size]
90
+ );
91
+ const style = useCallback(
92
+ (renderProps) => inlineVars(comboBoxStateVars, {
93
+ ...renderProps,
94
+ size
95
+ }),
96
+ [size]
97
+ );
98
+ const children = useCallback(
99
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.comboBox, children: /* @__PURE__ */ jsx(Provider, { values, children: callRenderProps(childrenProp, {
100
+ ...renderProps,
101
+ defaultChildren: null
102
+ }) }) }),
103
+ [classNames?.comboBox, values, childrenProp]
104
+ );
105
+ return /* @__PURE__ */ jsx(
106
+ ComboBox$1,
107
+ {
108
+ ...props,
109
+ ref,
110
+ className: classNames?.container,
111
+ style,
112
+ children
113
+ }
114
+ );
115
+ });
116
+
117
+ export { ComboBox, ComboBoxContext };
5
118
  //# sourceMappingURL=index.js.map
6
119
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/combo-box/index.tsx"],"names":["ComboBox","RACComboBox"],"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 {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ComboBoxRenderProps,\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n Provider,\n ComboBox as RACComboBox,\n type GroupProps as RACGroupProps,\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 { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n AriaGroupContext,\n AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext } from '../button';\nimport type { ButtonProps } from '../button/types';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport { OptionsContext } from '../options';\nimport type { OptionsProps } from '../options/types';\nimport { comboBoxClassNames, comboBoxStateVars } from './combo-box.css';\nimport type { ComboBoxMapping, ComboBoxProps } from './types';\n\nconst defaultMapping: ComboBoxMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'md', variant: 'icon' },\n },\n};\n\nexport const ComboBoxContext =\n createContext<ContextValue<ComboBoxProps<object>, HTMLDivElement>>(null);\n\nexport const ComboBox = forwardRef(function ComboBox<T extends object>(\n props: ComboBoxProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ComboBoxContext);\n props = useDefaultProps(props, 'ComboBox');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(comboBoxClassNames, theme.ComboBox, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.ComboBox, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n [\n AriaGroupContext,\n {\n className: classNames?.group,\n },\n ],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: ComboBoxRenderProps) =>\n inlineVars(comboBoxStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: ComboBoxRenderProps) => (\n <div className={classNames?.comboBox}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [classNames?.comboBox, values, childrenProp],\n );\n\n return (\n <RACComboBox\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACComboBox>\n );\n});\n"]}
@@ -1,8 +1,7 @@
1
- export { DateField, DateFieldContext } from './date-field.js';
2
- export { DateFieldClassNames, DateFieldMapping, DateFieldProps, DateFieldRenderProps, DateFieldSizes, DateFieldState } from './types.js';
3
- export { dateFieldClassNames, dateFieldColorVars, dateFieldContainer, dateFieldSpaceVars, dateFieldStateVars } from './date-field.css.js';
4
- import 'react-aria-components';
5
- import 'react';
1
+ import { DateFieldClassNames, DateFieldMapping, DateFieldSizes, DateFieldProps } from './types.js';
2
+ import * as react_aria_components from 'react-aria-components';
3
+ import { DateValue, ContextValue } from 'react-aria-components';
4
+ import * as react from 'react';
6
5
  import 'type-fest';
7
6
  import '../../types/generic.js';
8
7
  import '../../types/props.js';
@@ -10,3 +9,12 @@ import '../date-input/types.js';
10
9
  import '@react-stately/datepicker';
11
10
  import '../../types/react-aria.js';
12
11
  import '../icon/types.js';
12
+
13
+ declare const DateFieldContext: react.Context<ContextValue<DateFieldProps<DateValue>, HTMLDivElement>>;
14
+ declare const DateField: <T extends DateValue>(props: Omit<react_aria_components.DateFieldProps<T>, "className" | "style"> & {
15
+ classNames?: DateFieldClassNames;
16
+ mapping?: Partial<DateFieldMapping>;
17
+ size?: DateFieldSizes;
18
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
19
+
20
+ export { DateField, DateFieldContext };
@@ -1,5 +1,109 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { DateField, DateFieldContext } from './date-field.js';
3
- export { dateFieldClassNames, dateFieldColorVars, dateFieldContainer, dateFieldSpaceVars, dateFieldStateVars } from './date-field.css.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { LabelContext, Provider, DateField as DateField$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 { bodies } from '../../styles/typography.css.js';
8
+ import { inlineVars } from '../../utils/css/index.js';
9
+ import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
10
+ import { AriaTextContext, AriaFieldErrorContext } from '../aria/index.js';
11
+ import { DateInputContext } from '../date-input/index.js';
12
+ import { IconContext } from '../icon/index.js';
13
+ import { dateFieldClassNames, dateFieldStateVars } from './date-field.css.js';
14
+ import { jsx } from 'react/jsx-runtime';
15
+
16
+ var defaultMapping = {
17
+ description: {
18
+ sm: bodies.xs,
19
+ lg: bodies.xs
20
+ },
21
+ error: {
22
+ sm: bodies.xs,
23
+ lg: bodies.xs
24
+ },
25
+ icon: {
26
+ sm: { size: "xs" },
27
+ lg: { size: "md" }
28
+ }
29
+ };
30
+ var defaultSize = "lg";
31
+ var DateFieldContext = createContext(null);
32
+ var DateField = forwardRef(function DateField2(props, ref) {
33
+ [props, ref] = useContextProps(props, ref, DateFieldContext);
34
+ props = useDefaultProps(
35
+ props,
36
+ "DateField"
37
+ );
38
+ const {
39
+ children: childrenProp,
40
+ classNames: classNamesProp,
41
+ mapping: mappingProp,
42
+ size = defaultSize,
43
+ value,
44
+ ...rest
45
+ } = props;
46
+ const theme = useTheme();
47
+ const mapping = useMemo(
48
+ () => ({
49
+ ...defaultMapping,
50
+ ...mappingProp
51
+ }),
52
+ [mappingProp]
53
+ );
54
+ const classNames = useMemo(
55
+ () => mergeClassNames(dateFieldClassNames, theme.DateField, classNamesProp, {
56
+ description: mapping.description[size],
57
+ error: mapping.error[size]
58
+ }),
59
+ [theme.DateField, classNamesProp, mapping, size]
60
+ );
61
+ const style = useCallback(
62
+ (renderProps) => inlineVars(dateFieldStateVars, {
63
+ ...renderProps,
64
+ size
65
+ }),
66
+ [size]
67
+ );
68
+ const values = useMemo(
69
+ () => [
70
+ [DateInputContext, { classNames: classNames?.input, size }],
71
+ [LabelContext, { className: classNames?.label }],
72
+ [
73
+ AriaTextContext,
74
+ {
75
+ slots: {
76
+ description: { className: classNames?.description }
77
+ }
78
+ }
79
+ ],
80
+ [AriaFieldErrorContext, { className: classNames?.error }],
81
+ [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }]
82
+ ],
83
+ [classNames, mapping, size]
84
+ );
85
+ const children = useCallback(
86
+ (renderProps) => {
87
+ return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.dateField, children: callRenderProps(childrenProp, {
88
+ ...renderProps,
89
+ defaultChildren: null
90
+ }) }) });
91
+ },
92
+ [childrenProp, values, classNames?.dateField]
93
+ );
94
+ return /* @__PURE__ */ jsx(
95
+ DateField$1,
96
+ {
97
+ ...rest,
98
+ ref,
99
+ className: classNames?.container,
100
+ style,
101
+ value,
102
+ children
103
+ }
104
+ );
105
+ });
106
+
107
+ export { DateField, DateFieldContext };
4
108
  //# sourceMappingURL=index.js.map
5
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/date-field/index.tsx"],"names":["DateField","RACDateField"],"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 {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type DateValue,\n type FieldErrorProps,\n LabelContext,\n type LabelProps,\n Provider,\n DateField as RACDateField,\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 { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n type AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { DateInputContext } from '../date-input';\nimport type { DateInputProps } from '../date-input/types';\nimport { IconContext } from '../icon';\nimport type { IconProps } from '../icon/types';\nimport { dateFieldClassNames, dateFieldStateVars } from './date-field.css';\nimport type {\n DateFieldMapping,\n DateFieldProps,\n DateFieldRenderProps,\n} from './types';\n\nconst defaultMapping: DateFieldMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'md' },\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const DateFieldContext =\n createContext<ContextValue<DateFieldProps<DateValue>, HTMLDivElement>>(null);\n\nexport const DateField = forwardRef(function DateField<T extends DateValue>(\n props: DateFieldProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, DateFieldContext);\n\n props = useDefaultProps(\n props as DateFieldProps<DateValue>,\n 'DateField',\n ) as DateFieldProps<T>;\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n value,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dateFieldClassNames, theme.DateField, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.DateField, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: DateFieldRenderProps) =>\n inlineVars(dateFieldStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const values = useMemo<\n [\n [typeof DateInputContext, ContextValue<DateInputProps, HTMLDivElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof IconContext, ContextValue<IconProps, HTMLDivElement>],\n ]\n >(\n () => [\n [DateInputContext, { classNames: classNames?.input, size }],\n [LabelContext, { className: classNames?.label }],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }],\n ],\n [classNames, mapping, size],\n );\n\n const children = useCallback(\n (renderProps: DateFieldRenderProps) => {\n return (\n <Provider values={values}>\n <div className={classNames?.dateField}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n );\n },\n [childrenProp, values, classNames?.dateField],\n );\n\n return (\n <RACDateField\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n value={value}\n >\n {children}\n </RACDateField>\n );\n});\n"]}
@@ -1,11 +1,23 @@
1
- export { DateInput, DateInputContext, DateSegment, DateSegmentContext, DateSegments } from './date-input.js';
2
- export { dateInputClassNames, dateInputColorVars, dateInputContainer, dateInputSpaceVars, dateInputStateVars, dateSegmentStateVars, dateSegmentsContainer } from './date-input.css.js';
3
- export { DateInputClassNames, DateInputMapping, DateInputProps, DateInputRenderProps, DateInputSizes, DateInputState, DateSegmentProps, DateSegmentRenderProps, DateSegmentsProps } from './types.js';
4
- import '@react-types/shared';
5
- import 'react-aria-components';
6
- import '@react-stately/datepicker';
7
- import 'react';
1
+ import { DateInputProps, DateSegmentProps, DateInputClassNames, DateInputMapping, DateInputSizes } from './types.js';
2
+ import * as _react_stately_datepicker from '@react-stately/datepicker';
3
+ import * as react from 'react';
4
+ import { FC } from 'react';
5
+ import { ContextValue, SlotProps } from 'react-aria-components';
8
6
  import 'type-fest';
9
7
  import '../../types/generic.js';
10
8
  import '../../types/react-aria.js';
11
9
  import '../icon/types.js';
10
+
11
+ declare const DateInputContext: react.Context<ContextValue<DateInputProps, HTMLDivElement>>;
12
+ declare const DateInput: (props: DateInputProps & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
13
+ declare const DateSegments: (props: {
14
+ children: (segment: _react_stately_datepicker.DateSegment) => react.ReactElement;
15
+ } & {
16
+ classNames?: DateInputClassNames;
17
+ mapping?: DateInputMapping;
18
+ size?: DateInputSizes;
19
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
20
+ declare const DateSegmentContext: react.Context<ContextValue<SlotProps, HTMLDivElement>>;
21
+ declare const DateSegment: FC<DateSegmentProps>;
22
+
23
+ export { DateInput, DateInputContext, DateSegment, DateSegmentContext, DateSegments };