@accelint/design-system 0.8.1 → 0.10.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 (329) 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/button.css.js.map +1 -1
  5. package/dist/components/button/index.d.ts +45 -6
  6. package/dist/components/button/index.js +105 -3
  7. package/dist/components/button/index.js.map +1 -1
  8. package/dist/components/checkbox/checkbox.css.js.map +1 -1
  9. package/dist/components/checkbox/index.d.ts +28 -7
  10. package/dist/components/checkbox/index.js +124 -3
  11. package/dist/components/checkbox/index.js.map +1 -1
  12. package/dist/components/chip/chip.css.js.map +1 -1
  13. package/dist/components/chip/index.d.ts +36 -6
  14. package/dist/components/chip/index.js +171 -3
  15. package/dist/components/chip/index.js.map +1 -1
  16. package/dist/components/collection/index.d.ts +16 -5
  17. package/dist/components/collection/index.js +19 -1
  18. package/dist/components/collection/index.js.map +1 -1
  19. package/dist/components/combo-box/combo-box.css.js.map +1 -1
  20. package/dist/components/combo-box/index.d.ts +13 -5
  21. package/dist/components/combo-box/index.js +116 -3
  22. package/dist/components/combo-box/index.js.map +1 -1
  23. package/dist/components/date-field/date-field.css.js.map +1 -1
  24. package/dist/components/date-field/index.d.ts +13 -5
  25. package/dist/components/date-field/index.js +106 -2
  26. package/dist/components/date-field/index.js.map +1 -1
  27. package/dist/components/date-input/date-input.css.js.map +1 -1
  28. package/dist/components/date-input/index.d.ts +19 -7
  29. package/dist/components/date-input/index.js +144 -2
  30. package/dist/components/date-input/index.js.map +1 -1
  31. package/dist/components/dialog/dialog.css.js.map +1 -1
  32. package/dist/components/dialog/index.d.ts +24 -6
  33. package/dist/components/dialog/index.js +187 -3
  34. package/dist/components/dialog/index.js.map +1 -1
  35. package/dist/components/dialog/types.d.ts +1 -1
  36. package/dist/components/drawer/drawer.css.js.map +1 -1
  37. package/dist/components/drawer/index.d.ts +19 -7
  38. package/dist/components/drawer/index.js +306 -3
  39. package/dist/components/drawer/index.js.map +1 -1
  40. package/dist/components/element/index.d.ts +15 -4
  41. package/dist/components/element/index.js +21 -2
  42. package/dist/components/element/index.js.map +1 -1
  43. package/dist/components/element/types.d.ts +3 -3
  44. package/dist/components/group/group.css.js.map +1 -1
  45. package/dist/components/group/index.d.ts +15 -5
  46. package/dist/components/group/index.js +60 -3
  47. package/dist/components/group/index.js.map +1 -1
  48. package/dist/components/icon/icon.css.js.map +1 -1
  49. package/dist/components/icon/index.d.ts +17 -5
  50. package/dist/components/icon/index.js +39 -3
  51. package/dist/components/icon/index.js.map +1 -1
  52. package/dist/components/index.d.ts +35 -35
  53. package/dist/components/index.js +58 -28
  54. package/dist/components/input/index.d.ts +12 -5
  55. package/dist/components/input/index.js +141 -3
  56. package/dist/components/input/index.js.map +1 -1
  57. package/dist/components/input/input.css.js.map +1 -1
  58. package/dist/components/menu/index.d.ts +29 -5
  59. package/dist/components/menu/index.js +254 -3
  60. package/dist/components/menu/index.js.map +1 -1
  61. package/dist/components/menu/menu.css.js.map +1 -1
  62. package/dist/components/merge-provider/index.d.ts +18 -3
  63. package/dist/components/merge-provider/index.js +43 -2
  64. package/dist/components/merge-provider/index.js.map +1 -1
  65. package/dist/components/number-field/index.d.ts +14 -6
  66. package/dist/components/number-field/index.js +127 -2
  67. package/dist/components/number-field/index.js.map +1 -1
  68. package/dist/components/number-field/number-field.css.d.ts +1 -1
  69. package/dist/components/number-field/number-field.css.js.map +1 -1
  70. package/dist/components/number-field/types.d.ts +1 -1
  71. package/dist/components/options/index.d.ts +25 -5
  72. package/dist/components/options/index.js +255 -3
  73. package/dist/components/options/index.js.map +1 -1
  74. package/dist/components/options/options.css.js.map +1 -1
  75. package/dist/components/picker/index.d.ts +23 -5
  76. package/dist/components/picker/index.js +113 -3
  77. package/dist/components/picker/index.js.map +1 -1
  78. package/dist/components/picker/picker.css.js.map +1 -1
  79. package/dist/components/picker/picker.stories.css.js.map +1 -1
  80. package/dist/components/popover/index.d.ts +14 -6
  81. package/dist/components/popover/index.js +140 -3
  82. package/dist/components/popover/index.js.map +1 -1
  83. package/dist/components/popover/popover.css.js.map +1 -1
  84. package/dist/components/popover/types.d.ts +1 -1
  85. package/dist/components/query-builder/action-element.js.map +1 -1
  86. package/dist/components/query-builder/constants.js.map +1 -1
  87. package/dist/components/query-builder/dataset-sample.js.map +1 -1
  88. package/dist/components/query-builder/group.js +1 -1
  89. package/dist/components/query-builder/group.js.map +1 -1
  90. package/dist/components/query-builder/index.d.ts +7 -7
  91. package/dist/components/query-builder/index.js +198 -5
  92. package/dist/components/query-builder/index.js.map +1 -1
  93. package/dist/components/query-builder/query-builder.css.js.map +1 -1
  94. package/dist/components/query-builder/rule.js +1 -1
  95. package/dist/components/query-builder/rule.js.map +1 -1
  96. package/dist/components/query-builder/utils.js.map +1 -1
  97. package/dist/components/query-builder/value-editor.js.map +1 -1
  98. package/dist/components/query-builder/value-selector.js +1 -1
  99. package/dist/components/query-builder/value-selector.js.map +1 -1
  100. package/dist/components/radio/index.d.ts +22 -6
  101. package/dist/components/radio/index.js +114 -3
  102. package/dist/components/radio/index.js.map +1 -1
  103. package/dist/components/radio/radio.css.js.map +1 -1
  104. package/dist/components/search-field/index.d.ts +15 -6
  105. package/dist/components/search-field/index.js +92 -3
  106. package/dist/components/search-field/index.js.map +1 -1
  107. package/dist/components/search-field/search-field.css.js.map +1 -1
  108. package/dist/components/select/index.d.ts +13 -5
  109. package/dist/components/select/index.js +109 -3
  110. package/dist/components/select/index.js.map +1 -1
  111. package/dist/components/select/select.css.js.map +1 -1
  112. package/dist/components/slider/index.d.ts +41 -7
  113. package/dist/components/slider/index.js +235 -3
  114. package/dist/components/slider/index.js.map +1 -1
  115. package/dist/components/slider/slider.css.d.ts +1 -1
  116. package/dist/components/slider/slider.css.js.map +1 -1
  117. package/dist/components/slider/types.d.ts +1 -1
  118. package/dist/components/switch/index.d.ts +9 -5
  119. package/dist/components/switch/index.js +60 -3
  120. package/dist/components/switch/index.js.map +1 -1
  121. package/dist/components/switch/switch.css.js.map +1 -1
  122. package/dist/components/tabs/index.d.ts +74 -7
  123. package/dist/components/tabs/index.js +259 -3
  124. package/dist/components/tabs/index.js.map +1 -1
  125. package/dist/components/tabs/tabs.css.js.map +1 -1
  126. package/dist/components/text-field/index.d.ts +61 -6
  127. package/dist/components/text-field/index.js +93 -2
  128. package/dist/components/text-field/index.js.map +1 -1
  129. package/dist/components/text-field/text-field.css.js.map +1 -1
  130. package/dist/components/textarea/index.d.ts +18 -5
  131. package/dist/components/textarea/index.js +134 -3
  132. package/dist/components/textarea/index.js.map +1 -1
  133. package/dist/components/textarea/textarea.css.js.map +1 -1
  134. package/dist/components/time-field/index.d.ts +14 -6
  135. package/dist/components/time-field/index.js +103 -2
  136. package/dist/components/time-field/index.js.map +1 -1
  137. package/dist/components/time-field/time-field.css.js.map +1 -1
  138. package/dist/components/tooltip/index.d.ts +29 -6
  139. package/dist/components/tooltip/index.js +112 -3
  140. package/dist/components/tooltip/index.js.map +1 -1
  141. package/dist/components/tooltip/tooltip.css.js.map +1 -1
  142. package/dist/components/tree/index.d.ts +17 -5
  143. package/dist/components/tree/index.js +491 -3
  144. package/dist/components/tree/index.js.map +1 -1
  145. package/dist/components/tree/tree.css.js.map +1 -1
  146. package/dist/components/tree/utils.js.map +1 -1
  147. package/dist/hooks/index.d.ts +12 -12
  148. package/dist/hooks/use-collection-render/index.d.ts +11 -3
  149. package/dist/hooks/use-collection-render/index.js +25 -1
  150. package/dist/hooks/use-collection-render/index.js.map +1 -1
  151. package/dist/hooks/use-context-props/index.d.ts +10 -3
  152. package/dist/hooks/use-context-props/index.js +15 -1
  153. package/dist/hooks/use-context-props/index.js.map +1 -1
  154. package/dist/hooks/use-defaults/index.d.ts +99 -31
  155. package/dist/hooks/use-defaults/index.js +33 -2
  156. package/dist/hooks/use-defaults/index.js.map +1 -1
  157. package/dist/hooks/use-defaults/types.d.ts +6 -6
  158. package/dist/hooks/use-propagating-press/index.d.ts +13 -2
  159. package/dist/hooks/use-propagating-press/index.js +19 -1
  160. package/dist/hooks/use-propagating-press/index.js.map +1 -1
  161. package/dist/hooks/use-slot/index.d.ts +16 -2
  162. package/dist/hooks/use-slot/index.js +18 -1
  163. package/dist/hooks/use-slot/index.js.map +1 -1
  164. package/dist/hooks/use-theme/index.d.ts +37 -8
  165. package/dist/hooks/use-theme/index.js +105 -2
  166. package/dist/hooks/use-theme/index.js.map +1 -1
  167. package/dist/hooks/use-theme/types.d.ts +2 -2
  168. package/dist/hooks/use-theme/use-theme.css.js.map +1 -1
  169. package/dist/hooks/use-tree/index.d.ts +5 -2
  170. package/dist/hooks/use-tree/index.js +262 -1
  171. package/dist/hooks/use-tree/index.js.map +1 -1
  172. package/dist/hooks/use-tree/utils.js.map +1 -1
  173. package/dist/hooks/use-update-effect/index.d.ts +3 -1
  174. package/dist/hooks/use-update-effect/index.js +20 -1
  175. package/dist/hooks/use-update-effect/index.js.map +1 -1
  176. package/dist/index.css +119 -119
  177. package/dist/index.d.ts +47 -47
  178. package/dist/ladle/actions.js.map +1 -1
  179. package/dist/styles/layers.css.d.ts +3 -3
  180. package/dist/styles/layers.css.js.map +1 -1
  181. package/dist/styles/surfaces.css.d.ts +1 -1
  182. package/dist/styles/surfaces.css.js.map +1 -1
  183. package/dist/styles/theme.css.js.map +1 -1
  184. package/dist/styles/typography.css.js.map +1 -1
  185. package/dist/test/setup.js +78 -8
  186. package/dist/test/setup.js.map +1 -1
  187. package/dist/types/use-tree.d.ts +1 -1
  188. package/dist/utils/{css.d.ts → css/index.d.ts} +2 -2
  189. package/dist/utils/{css.js → css/index.js} +5 -5
  190. package/dist/utils/css/index.js.map +1 -0
  191. package/dist/utils/events/index.js +10 -0
  192. package/dist/utils/events/index.js.map +1 -0
  193. package/dist/utils/index.d.ts +4 -4
  194. package/dist/utils/index.js +4 -4
  195. package/dist/utils/{props.d.ts → props/index.d.ts} +2 -2
  196. package/dist/utils/{props.js → props/index.js} +3 -3
  197. package/dist/utils/props/index.js.map +1 -0
  198. package/dist/utils/{validators.d.ts → validators/index.d.ts} +1 -1
  199. package/dist/utils/{validators.js → validators/index.js} +3 -3
  200. package/dist/utils/validators/index.js.map +1 -0
  201. package/dist/vanilla.d.ts +1 -1
  202. package/dist/vanilla.js +1 -1
  203. package/package.json +25 -26
  204. package/dist/components/aria/aria.d.ts +0 -32
  205. package/dist/components/aria/aria.js +0 -39
  206. package/dist/components/aria/aria.js.map +0 -1
  207. package/dist/components/button/button.d.ts +0 -47
  208. package/dist/components/button/button.js +0 -104
  209. package/dist/components/button/button.js.map +0 -1
  210. package/dist/components/checkbox/checkbox.d.ts +0 -30
  211. package/dist/components/checkbox/checkbox.js +0 -123
  212. package/dist/components/checkbox/checkbox.js.map +0 -1
  213. package/dist/components/chip/chip.d.ts +0 -41
  214. package/dist/components/chip/chip.js +0 -171
  215. package/dist/components/chip/chip.js.map +0 -1
  216. package/dist/components/collection/collection.d.ts +0 -17
  217. package/dist/components/collection/collection.js +0 -22
  218. package/dist/components/collection/collection.js.map +0 -1
  219. package/dist/components/combo-box/combo-box.d.ts +0 -21
  220. package/dist/components/combo-box/combo-box.js +0 -116
  221. package/dist/components/combo-box/combo-box.js.map +0 -1
  222. package/dist/components/date-field/date-field.d.ts +0 -20
  223. package/dist/components/date-field/date-field.js +0 -106
  224. package/dist/components/date-field/date-field.js.map +0 -1
  225. package/dist/components/date-input/date-input.d.ts +0 -42
  226. package/dist/components/date-input/date-input.js +0 -128
  227. package/dist/components/date-input/date-input.js.map +0 -1
  228. package/dist/components/dialog/dialog.d.ts +0 -29
  229. package/dist/components/dialog/dialog.js +0 -186
  230. package/dist/components/dialog/dialog.js.map +0 -1
  231. package/dist/components/drawer/drawer.d.ts +0 -28
  232. package/dist/components/drawer/drawer.js +0 -305
  233. package/dist/components/drawer/drawer.js.map +0 -1
  234. package/dist/components/element/element.d.ts +0 -16
  235. package/dist/components/element/element.js +0 -24
  236. package/dist/components/element/element.js.map +0 -1
  237. package/dist/components/group/group.d.ts +0 -16
  238. package/dist/components/group/group.js +0 -61
  239. package/dist/components/group/group.js.map +0 -1
  240. package/dist/components/icon/icon.d.ts +0 -17
  241. package/dist/components/icon/icon.js +0 -39
  242. package/dist/components/icon/icon.js.map +0 -1
  243. package/dist/components/input/input.d.ts +0 -13
  244. package/dist/components/input/input.js +0 -141
  245. package/dist/components/input/input.js.map +0 -1
  246. package/dist/components/menu/menu.d.ts +0 -32
  247. package/dist/components/menu/menu.js +0 -252
  248. package/dist/components/menu/menu.js.map +0 -1
  249. package/dist/components/merge-provider/merge-provider.d.ts +0 -20
  250. package/dist/components/merge-provider/merge-provider.js +0 -46
  251. package/dist/components/merge-provider/merge-provider.js.map +0 -1
  252. package/dist/components/number-field/number-field.d.ts +0 -20
  253. package/dist/components/number-field/number-field.js +0 -125
  254. package/dist/components/number-field/number-field.js.map +0 -1
  255. package/dist/components/options/options.d.ts +0 -28
  256. package/dist/components/options/options.js +0 -253
  257. package/dist/components/options/options.js.map +0 -1
  258. package/dist/components/picker/picker.d.ts +0 -24
  259. package/dist/components/picker/picker.js +0 -113
  260. package/dist/components/picker/picker.js.map +0 -1
  261. package/dist/components/popover/popover.d.ts +0 -22
  262. package/dist/components/popover/popover.js +0 -139
  263. package/dist/components/popover/popover.js.map +0 -1
  264. package/dist/components/query-builder/query-builder.d.ts +0 -23
  265. package/dist/components/query-builder/query-builder.js +0 -200
  266. package/dist/components/query-builder/query-builder.js.map +0 -1
  267. package/dist/components/radio/radio.d.ts +0 -23
  268. package/dist/components/radio/radio.js +0 -114
  269. package/dist/components/radio/radio.js.map +0 -1
  270. package/dist/components/search-field/search-field.d.ts +0 -21
  271. package/dist/components/search-field/search-field.js +0 -92
  272. package/dist/components/search-field/search-field.js.map +0 -1
  273. package/dist/components/select/select.d.ts +0 -20
  274. package/dist/components/select/select.js +0 -109
  275. package/dist/components/select/select.js.map +0 -1
  276. package/dist/components/slider/slider.d.ts +0 -49
  277. package/dist/components/slider/slider.js +0 -230
  278. package/dist/components/slider/slider.js.map +0 -1
  279. package/dist/components/switch/switch.d.ts +0 -10
  280. package/dist/components/switch/switch.js +0 -60
  281. package/dist/components/switch/switch.js.map +0 -1
  282. package/dist/components/tabs/tabs.d.ts +0 -75
  283. package/dist/components/tabs/tabs.js +0 -258
  284. package/dist/components/tabs/tabs.js.map +0 -1
  285. package/dist/components/text-field/text-field.d.ts +0 -64
  286. package/dist/components/text-field/text-field.js +0 -92
  287. package/dist/components/text-field/text-field.js.map +0 -1
  288. package/dist/components/textarea/textarea.d.ts +0 -19
  289. package/dist/components/textarea/textarea.js +0 -134
  290. package/dist/components/textarea/textarea.js.map +0 -1
  291. package/dist/components/time-field/time-field.d.ts +0 -21
  292. package/dist/components/time-field/time-field.js +0 -106
  293. package/dist/components/time-field/time-field.js.map +0 -1
  294. package/dist/components/tooltip/tooltip.d.ts +0 -30
  295. package/dist/components/tooltip/tooltip.js +0 -112
  296. package/dist/components/tooltip/tooltip.js.map +0 -1
  297. package/dist/components/tree/tree.d.ts +0 -29
  298. package/dist/components/tree/tree.js +0 -491
  299. package/dist/components/tree/tree.js.map +0 -1
  300. package/dist/hooks/use-collection-render/use-collection-render.d.ts +0 -11
  301. package/dist/hooks/use-collection-render/use-collection-render.js +0 -28
  302. package/dist/hooks/use-collection-render/use-collection-render.js.map +0 -1
  303. package/dist/hooks/use-context-props/use-context-props.d.ts +0 -10
  304. package/dist/hooks/use-context-props/use-context-props.js +0 -18
  305. package/dist/hooks/use-context-props/use-context-props.js.map +0 -1
  306. package/dist/hooks/use-defaults/use-defaults.d.ts +0 -110
  307. package/dist/hooks/use-defaults/use-defaults.js +0 -36
  308. package/dist/hooks/use-defaults/use-defaults.js.map +0 -1
  309. package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +0 -13
  310. package/dist/hooks/use-propagating-press/use-propagating-press.js +0 -21
  311. package/dist/hooks/use-propagating-press/use-propagating-press.js.map +0 -1
  312. package/dist/hooks/use-slot/use-slot.d.ts +0 -16
  313. package/dist/hooks/use-slot/use-slot.js +0 -21
  314. package/dist/hooks/use-slot/use-slot.js.map +0 -1
  315. package/dist/hooks/use-theme/use-theme.d.ts +0 -77
  316. package/dist/hooks/use-theme/use-theme.js +0 -108
  317. package/dist/hooks/use-theme/use-theme.js.map +0 -1
  318. package/dist/hooks/use-tree/use-tree.d.ts +0 -7
  319. package/dist/hooks/use-tree/use-tree.js +0 -262
  320. package/dist/hooks/use-tree/use-tree.js.map +0 -1
  321. package/dist/hooks/use-update-effect/use-update-effect.d.ts +0 -3
  322. package/dist/hooks/use-update-effect/use-update-effect.js +0 -23
  323. package/dist/hooks/use-update-effect/use-update-effect.js.map +0 -1
  324. package/dist/utils/css.js.map +0 -1
  325. package/dist/utils/events.js +0 -10
  326. package/dist/utils/events.js.map +0 -1
  327. package/dist/utils/props.js.map +0 -1
  328. package/dist/utils/validators.js.map +0 -1
  329. /package/dist/utils/{events.d.ts → events/index.d.ts} +0 -0
@@ -1,6 +1,137 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { TextArea, TextAreaContext } from './textarea.js';
3
- export { textAreaClassNames, textAreaColorVars, textAreaContainer, textAreaSpaceVars, textAreaStateVars } from './textarea.css.js';
4
- import './types.js';
2
+ import { useFocusRing } from '@react-aria/focus';
3
+ import { useHover } from '@react-aria/interactions';
4
+ import { useControlledState } from '@react-stately/utils';
5
+ import { createContext, forwardRef, useMemo, useCallback, useEffect } from 'react';
6
+ import { TextAreaContext as TextAreaContext$1 } from 'react-aria-components';
7
+ import { useContextProps } from '../../hooks/use-context-props/index.js';
8
+ import { useDefaultProps } from '../../hooks/use-defaults/index.js';
9
+ import { useTheme } from '../../hooks/use-theme/index.js';
10
+ import { inputs } from '../../styles/typography.css.js';
11
+ import { inlineVars } from '../../utils/css/index.js';
12
+ import { mergeClassNames, mergeProps } from '../../utils/props/index.js';
13
+ import { textAreaClassNames, textAreaStateVars } from './textarea.css.js';
14
+ import { jsx } from 'react/jsx-runtime';
15
+
16
+ var defaultMapping = {
17
+ font: inputs
18
+ };
19
+ var TextAreaContext = createContext(null);
20
+ var TextArea = forwardRef(function TextArea2(props, ref) {
21
+ [props, ref] = useContextProps(props, ref, TextAreaContext$1);
22
+ props.className = void 0;
23
+ props.style = void 0;
24
+ [props, ref] = useContextProps(props, ref, TextAreaContext);
25
+ props = useDefaultProps(props, "TextArea");
26
+ const {
27
+ classNames: classNamesProp,
28
+ defaultValue = "",
29
+ disabled: isDisabled = false,
30
+ mapping: mappingProp,
31
+ placeholder,
32
+ readOnly: isReadOnly = false,
33
+ required: isRequired = false,
34
+ resize = "none",
35
+ size = "lg",
36
+ value: valueProp,
37
+ onChange,
38
+ onHoverStart,
39
+ onHoverChange,
40
+ onHoverEnd,
41
+ "aria-invalid": ariaInvalid,
42
+ ...rest
43
+ } = props;
44
+ const [value, setValue] = useControlledState(valueProp, defaultValue);
45
+ const isInvalid = !!ariaInvalid && ariaInvalid !== "false";
46
+ const isPlaceholder = !!placeholder && !value;
47
+ const isEmpty = !value;
48
+ const { isFocused, isFocusVisible, focusProps } = useFocusRing({
49
+ autoFocus: props.autoFocus,
50
+ isTextInput: true
51
+ });
52
+ const { hoverProps, isHovered } = useHover({
53
+ isDisabled,
54
+ onHoverStart,
55
+ onHoverChange,
56
+ onHoverEnd
57
+ });
58
+ const theme = useTheme();
59
+ const mapping = useMemo(
60
+ () => ({
61
+ ...defaultMapping,
62
+ ...mappingProp
63
+ }),
64
+ [mappingProp]
65
+ );
66
+ const classNames = useMemo(
67
+ () => mergeClassNames(textAreaClassNames, theme.TextArea, classNamesProp, {
68
+ textarea: mapping.font[size]
69
+ }),
70
+ [theme.TextArea, classNamesProp, mapping.font, size]
71
+ );
72
+ const mergedProps = useMemo(
73
+ () => mergeProps(rest, focusProps, hoverProps),
74
+ [focusProps, hoverProps, rest]
75
+ );
76
+ const style = useMemo(
77
+ () => inlineVars(textAreaStateVars, {
78
+ resize,
79
+ size,
80
+ isDisabled,
81
+ isEmpty,
82
+ isFocused,
83
+ isFocusVisible,
84
+ isHovered,
85
+ isInvalid,
86
+ isPlaceholder,
87
+ isReadOnly,
88
+ isRequired
89
+ }),
90
+ [
91
+ resize,
92
+ size,
93
+ isDisabled,
94
+ isEmpty,
95
+ isFocused,
96
+ isFocusVisible,
97
+ isHovered,
98
+ isInvalid,
99
+ isPlaceholder,
100
+ isReadOnly,
101
+ isRequired
102
+ ]
103
+ );
104
+ const handleChange = useCallback(
105
+ (event) => {
106
+ onChange?.(event);
107
+ if (!event.defaultPrevented) {
108
+ setValue(event.currentTarget.textContent ?? "");
109
+ }
110
+ },
111
+ [onChange, setValue]
112
+ );
113
+ useEffect(() => {
114
+ if (typeof ref !== "function" && ref?.current) {
115
+ ref.current.textContent = `${value ?? ""}`;
116
+ }
117
+ }, [ref, value]);
118
+ return /* @__PURE__ */ jsx("div", { className: classNames?.container, style, children: /* @__PURE__ */ jsx(
119
+ "span",
120
+ {
121
+ ...mergedProps,
122
+ ...hoverProps,
123
+ ref,
124
+ className: classNames?.textarea,
125
+ contentEditable: !(isDisabled || isReadOnly),
126
+ role: "textbox",
127
+ suppressContentEditableWarning: true,
128
+ onInput: handleChange,
129
+ "aria-invalid": ariaInvalid,
130
+ "data-placeholder": placeholder
131
+ }
132
+ ) });
133
+ });
134
+
135
+ export { TextArea, TextAreaContext };
5
136
  //# sourceMappingURL=index.js.map
6
137
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/textarea/index.tsx"],"names":["TextArea","RACTextAreaContext"],"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 { useFocusRing } from '@react-aria/focus';\nimport { useHover } from '@react-aria/interactions';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n type FormEvent,\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n TextAreaContext as RACTextAreaContext,\n type TextAreaProps as RACTextAreaProps,\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 { inputs } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { mergeClassNames, mergeProps } from '../../utils/props';\nimport { textAreaClassNames, textAreaStateVars } from './textarea.css';\nimport type { TextAreaMapping, TextAreaProps } from './types';\n\nconst defaultMapping: TextAreaMapping = {\n font: inputs,\n};\n\nexport const TextAreaContext =\n createContext<ContextValue<TextAreaProps, HTMLTextAreaElement>>(null);\n\n/**\n * We implement a textarea as a content editable span to provide\n * improved UX, where the input area automatically grows with input\n * content length. This can be overriden by applying max-height\n * and overflow CSS, if desired.\n *\n * This also has the side effect of changing the target element in\n * the ref and event handlers. The normal `event.target.value` is not\n * available, and must be substituted with `event.currentTarget.textContent`\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps,\n ref: ForwardedRef<HTMLTextAreaElement>,\n) {\n [props, ref] = useContextProps(props, ref, RACTextAreaContext);\n\n // Disallow props possibly provided by React Aria context\n // could be render props functions we don't want to support\n (props as RACTextAreaProps).className = undefined;\n (props as RACTextAreaProps).style = undefined;\n\n // Duplicate context prop merging to support React Aria's context\n // and our own which establishes a superset type for the props\n [props, ref] = useContextProps(props, ref, TextAreaContext);\n props = useDefaultProps(props, 'TextArea');\n\n const {\n classNames: classNamesProp,\n defaultValue = '',\n disabled: isDisabled = false,\n mapping: mappingProp,\n placeholder,\n readOnly: isReadOnly = false,\n required: isRequired = false,\n resize = 'none',\n size = 'lg',\n value: valueProp,\n onChange,\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n 'aria-invalid': ariaInvalid,\n ...rest\n } = props;\n\n const [value, setValue] = useControlledState(valueProp, defaultValue);\n const isInvalid = !!ariaInvalid && ariaInvalid !== 'false';\n const isPlaceholder = !!placeholder && !value;\n const isEmpty = !value;\n\n const { isFocused, isFocusVisible, focusProps } = useFocusRing({\n autoFocus: props.autoFocus,\n isTextInput: true,\n });\n\n const { hoverProps, isHovered } = useHover({\n isDisabled,\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n });\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(textAreaClassNames, theme.TextArea, classNamesProp, {\n textarea: mapping.font[size],\n }),\n [theme.TextArea, classNamesProp, mapping.font, size],\n );\n\n const mergedProps = useMemo(\n () => mergeProps(rest, focusProps, hoverProps),\n [focusProps, hoverProps, rest],\n );\n\n const style = useMemo(\n () =>\n inlineVars(textAreaStateVars, {\n resize,\n size,\n isDisabled,\n isEmpty,\n isFocused,\n isFocusVisible,\n isHovered,\n isInvalid,\n isPlaceholder,\n isReadOnly,\n isRequired,\n }),\n [\n resize,\n size,\n isDisabled,\n isEmpty,\n isFocused,\n isFocusVisible,\n isHovered,\n isInvalid,\n isPlaceholder,\n isReadOnly,\n isRequired,\n ],\n );\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) => {\n onChange?.(event);\n\n if (!event.defaultPrevented) {\n setValue(event.currentTarget.textContent ?? '');\n }\n },\n [onChange, setValue],\n );\n\n /**\n * In order to provide the UX of an \"input\" that auto grows in height\n * thats driven by content, we implement a content-editable span instead\n * of a textarea. However, this has the side effect that it must be\n * updated as an \"uncontrolled\" element, otherwise the cursor resets\n * to the beginning of the input area after every keystroke if the value\n * is passed in as \"children\"\n */\n useEffect(() => {\n if (typeof ref !== 'function' && ref?.current) {\n ref.current.textContent = `${value ?? ''}`;\n }\n }, [ref, value]);\n\n return (\n <div className={classNames?.container} style={style}>\n {/* biome-ignore lint/a11y/useFocusableInteractive: TODO: refactor */}\n <span\n {...mergedProps}\n {...hoverProps}\n ref={ref}\n className={classNames?.textarea}\n contentEditable={!(isDisabled || isReadOnly)}\n role='textbox'\n suppressContentEditableWarning\n onInput={handleChange}\n aria-invalid={ariaInvalid}\n data-placeholder={placeholder}\n />\n </div>\n );\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/textarea/textarea.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,kBAAqB,GAAA,EAAC,SAAU,EAAA,iDAAA,EAAkD,UAAS,gDAAgD;AAC/I,IAAI,oBAAoB,EAAC,UAAA,EAAW,+BAA8B,MAAO,EAAA,yBAAA,EAA0B,OAAM,wBAAwB;AACjI,IAAI,iBAAoB,GAAA;AACxB,IAAI,oBAAoB,EAAC,QAAA,EAAS,2BAA4B,EAAA,KAAA,EAAM,0BAAyB,QAAS,EAAA,2BAAA,EAA4B,SAAU,EAAA,4BAAA,EAA6B,QAAO,yBAA0B,EAAA,SAAA,EAAU,8BAA6B,CAAE,EAAA,oBAAA,EAAqB,GAAE,oBAAoB;AAC1R,IAAA,iBAAA,GAAoB,EAAC,MAAO,EAAA,yBAAA,EAA0B,MAAK,uBAAwB,EAAA,UAAA,EAAW,6BAA8B,EAAA,OAAA,EAAQ,0BAA2B,EAAA,SAAA,EAAU,8BAA6B,cAAe,EAAA,iCAAA,EAAkC,SAAU,EAAA,4BAAA,EAA6B,SAAU,EAAA,4BAAA,EAA6B,eAAc,gCAAiC,EAAA,UAAA,EAAW,6BAA8B,EAAA,UAAA,EAAW,6BAA6B","file":"textarea.css.js","sourcesContent":["export var textAreaClassNames = {container:'textarea_textAreaClassNames_container__13oc1ofn',textarea:'textarea_textAreaClassNames_textarea__13oc1ofo'};\nexport var textAreaColorVars = {background:'var(--background__13oc1of1)',border:'var(--border__13oc1of2)',color:'var(--color__13oc1of3)'};\nexport var textAreaContainer = 'textarea_textAreaContainer__13oc1of0';\nexport var textAreaSpaceVars = {minWidth:'var(--minWidth__13oc1of4)',width:'var(--width__13oc1of5)',maxWidth:'var(--maxWidth__13oc1of6)',minHeight:'var(--minHeight__13oc1of7)',height:'var(--height__13oc1of8)',maxHeight:'var(--maxHeight__13oc1of9)',x:'var(--x__13oc1ofa)',y:'var(--y__13oc1ofb)'};\nexport var textAreaStateVars = {resize:'var(--resize__13oc1ofc)',size:'var(--size__13oc1ofd)',isDisabled:'var(--isDisabled__13oc1ofe)',isEmpty:'var(--isEmpty__13oc1off)',isFocused:'var(--isFocused__13oc1ofg)',isFocusVisible:'var(--isFocusVisible__13oc1ofh)',isHovered:'var(--isHovered__13oc1ofi)',isInvalid:'var(--isInvalid__13oc1ofj)',isPlaceholder:'var(--isPlaceholder__13oc1ofk)',isReadOnly:'var(--isReadOnly__13oc1ofl)',isRequired:'var(--isRequired__13oc1ofm)'};"]}
1
+ {"version":3,"sources":["../../../src/components/textarea/textarea.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,kBAAA,GAAqB,EAAC,SAAA,EAAU,iDAAA,EAAkD,UAAS,gDAAA;AAC/F,IAAI,oBAAoB,EAAC,UAAA,EAAW,+BAA8B,MAAA,EAAO,yBAAA,EAA0B,OAAM,wBAAA;AACzG,IAAI,iBAAA,GAAoB;AACxB,IAAI,oBAAoB,EAAC,QAAA,EAAS,2BAAA,EAA4B,KAAA,EAAM,0BAAyB,QAAA,EAAS,2BAAA,EAA4B,SAAA,EAAU,4BAAA,EAA6B,QAAO,yBAAA,EAA0B,SAAA,EAAU,8BAA6B,CAAA,EAAE,oBAAA,EAAqB,GAAE,oBAAA;AAC1Q,IAAI,iBAAA,GAAoB,EAAC,MAAA,EAAO,yBAAA,EAA0B,MAAK,uBAAA,EAAwB,UAAA,EAAW,6BAAA,EAA8B,OAAA,EAAQ,0BAAA,EAA2B,SAAA,EAAU,8BAA6B,cAAA,EAAe,iCAAA,EAAkC,SAAA,EAAU,4BAAA,EAA6B,SAAA,EAAU,4BAAA,EAA6B,eAAc,gCAAA,EAAiC,UAAA,EAAW,6BAAA,EAA8B,UAAA,EAAW,6BAAA","file":"textarea.css.js","sourcesContent":["export var textAreaClassNames = {container:'textarea_textAreaClassNames_container__13oc1ofn',textarea:'textarea_textAreaClassNames_textarea__13oc1ofo'};\nexport var textAreaColorVars = {background:'var(--background__13oc1of1)',border:'var(--border__13oc1of2)',color:'var(--color__13oc1of3)'};\nexport var textAreaContainer = 'textarea_textAreaContainer__13oc1of0';\nexport var textAreaSpaceVars = {minWidth:'var(--minWidth__13oc1of4)',width:'var(--width__13oc1of5)',maxWidth:'var(--maxWidth__13oc1of6)',minHeight:'var(--minHeight__13oc1of7)',height:'var(--height__13oc1of8)',maxHeight:'var(--maxHeight__13oc1of9)',x:'var(--x__13oc1ofa)',y:'var(--y__13oc1ofb)'};\nexport var textAreaStateVars = {resize:'var(--resize__13oc1ofc)',size:'var(--size__13oc1ofd)',isDisabled:'var(--isDisabled__13oc1ofe)',isEmpty:'var(--isEmpty__13oc1off)',isFocused:'var(--isFocused__13oc1ofg)',isFocusVisible:'var(--isFocusVisible__13oc1ofh)',isHovered:'var(--isHovered__13oc1ofi)',isInvalid:'var(--isInvalid__13oc1ofj)',isPlaceholder:'var(--isPlaceholder__13oc1ofk)',isReadOnly:'var(--isReadOnly__13oc1ofl)',isRequired:'var(--isRequired__13oc1ofm)'};"]}
@@ -1,9 +1,8 @@
1
- export { TimeField, TimeFieldContext } from './time-field.js';
2
- export { TimeFieldClassNames, TimeFieldMapping, TimeFieldProps, TimeFieldRenderProps, TimeFieldSizes, TimeFieldState } from './types.js';
3
- export { timeFieldClassNames, timeFieldColorVars, timeFieldContainer, timeFieldSpaceVars, timeFieldStateVars } from './time-field.css.js';
4
- import 'react-aria-components';
5
- import 'react';
6
- import '@react-aria/datepicker';
1
+ import { TimeFieldClassNames, TimeFieldMapping, TimeFieldSizes, TimeFieldProps } 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';
5
+ import { TimeValue } from '@react-aria/datepicker';
7
6
  import 'type-fest';
8
7
  import '../../types/generic.js';
9
8
  import '../../types/props.js';
@@ -11,3 +10,12 @@ import '../date-input/types.js';
11
10
  import '@react-stately/datepicker';
12
11
  import '../../types/react-aria.js';
13
12
  import '../icon/types.js';
13
+
14
+ declare const TimeFieldContext: react.Context<ContextValue<TimeFieldProps<TimeValue>, HTMLDivElement>>;
15
+ declare const TimeField: <T extends TimeValue>(props: Omit<react_aria_components.TimeFieldProps<T>, "className" | "style"> & {
16
+ classNames?: TimeFieldClassNames;
17
+ mapping?: Partial<TimeFieldMapping>;
18
+ size?: TimeFieldSizes;
19
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
20
+
21
+ export { TimeField, TimeFieldContext };
@@ -1,5 +1,106 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { TimeField, TimeFieldContext } from './time-field.js';
3
- export { timeFieldClassNames, timeFieldColorVars, timeFieldContainer, timeFieldSpaceVars, timeFieldStateVars } from './time-field.css.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { LabelContext, Provider, TimeField as TimeField$1 } from 'react-aria-components';
4
+ import { useContextProps, useDefaultProps, useTheme } from '../../hooks/index.js';
5
+ import { bodies } from '../../styles/index.js';
6
+ import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
7
+ import { AriaTextContext, AriaFieldErrorContext } from '../aria/index.js';
8
+ import { DateInputContext } from '../date-input/index.js';
9
+ import { IconContext } from '../icon/index.js';
10
+ import { timeFieldClassNames, timeFieldStateVars } from './time-field.css.js';
11
+ import { jsx } from 'react/jsx-runtime';
12
+
13
+ var defaultMapping = {
14
+ description: {
15
+ sm: bodies.xs,
16
+ lg: bodies.xs
17
+ },
18
+ error: {
19
+ sm: bodies.xs,
20
+ lg: bodies.xs
21
+ },
22
+ icon: {
23
+ sm: { size: "xs" },
24
+ lg: { size: "md" }
25
+ }
26
+ };
27
+ var defaultSize = "lg";
28
+ var TimeFieldContext = createContext(null);
29
+ var TimeField = forwardRef(function TimeField2(props, ref) {
30
+ [props, ref] = useContextProps(props, ref, TimeFieldContext);
31
+ props = useDefaultProps(
32
+ props,
33
+ "TimeField"
34
+ );
35
+ const {
36
+ children: childrenProp,
37
+ classNames: classNamesProp,
38
+ mapping: mappingProp,
39
+ size = defaultSize,
40
+ value,
41
+ ...rest
42
+ } = props;
43
+ const theme = useTheme();
44
+ const mapping = useMemo(
45
+ () => ({
46
+ ...defaultMapping,
47
+ ...mappingProp
48
+ }),
49
+ [mappingProp]
50
+ );
51
+ const classNames = useMemo(
52
+ () => mergeClassNames(timeFieldClassNames, theme.TimeField, classNamesProp, {
53
+ description: mapping.description[size],
54
+ error: mapping.error[size]
55
+ }),
56
+ [theme.TimeField, classNamesProp, mapping, size]
57
+ );
58
+ const style = useCallback(
59
+ (renderProps) => inlineVars(timeFieldStateVars, {
60
+ ...renderProps,
61
+ size
62
+ }),
63
+ [size]
64
+ );
65
+ const values = useMemo(
66
+ () => [
67
+ [DateInputContext, { classNames: classNames?.input, size }],
68
+ [LabelContext, { className: classNames?.label }],
69
+ [
70
+ AriaTextContext,
71
+ {
72
+ slots: {
73
+ description: { className: classNames?.description }
74
+ }
75
+ }
76
+ ],
77
+ [AriaFieldErrorContext, { className: classNames?.error }],
78
+ [IconContext, { ...mapping.icon[size], classNames: classNames?.icon }]
79
+ ],
80
+ [classNames, size, mapping]
81
+ );
82
+ const children = useCallback(
83
+ (renderProps) => {
84
+ return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.timeField, children: callRenderProps(childrenProp, {
85
+ ...renderProps,
86
+ defaultChildren: null
87
+ }) }) });
88
+ },
89
+ [childrenProp, values, classNames]
90
+ );
91
+ return /* @__PURE__ */ jsx(
92
+ TimeField$1,
93
+ {
94
+ ...rest,
95
+ ref,
96
+ className: classNames?.container,
97
+ style,
98
+ value,
99
+ children
100
+ }
101
+ );
102
+ });
103
+
104
+ export { TimeField, TimeFieldContext };
4
105
  //# sourceMappingURL=index.js.map
5
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/time-field/index.tsx"],"names":["TimeField","RACTimeField"],"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 type { TimeValue } from '@react-aria/datepicker';\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n LabelContext,\n type LabelProps,\n Provider,\n TimeField as RACTimeField,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n AriaFieldErrorContext,\n type AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport type { DateFieldRenderProps } from '../date-field/types';\nimport { DateInputContext } from '../date-input';\nimport type { DateInputProps } from '../date-input/types';\nimport { IconContext } from '../icon';\nimport type { IconProps } from '../icon/types';\nimport { timeFieldClassNames, timeFieldStateVars } from './time-field.css';\nimport type {\n TimeFieldMapping,\n TimeFieldProps,\n TimeFieldRenderProps,\n} from './types';\n\nconst defaultMapping: TimeFieldMapping = {\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 TimeFieldContext =\n createContext<ContextValue<TimeFieldProps<TimeValue>, HTMLDivElement>>(null);\n\nexport const TimeField = forwardRef(function TimeField<T extends TimeValue>(\n props: TimeFieldProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TimeFieldContext);\n props = useDefaultProps(\n props as TimeFieldProps<TimeValue>,\n 'TimeField',\n ) as TimeFieldProps<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(timeFieldClassNames, theme.TimeField, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.TimeField, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: DateFieldRenderProps) =>\n inlineVars(timeFieldStateVars, {\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, size, mapping],\n );\n\n const children = useCallback(\n (renderProps: TimeFieldRenderProps) => {\n return (\n <Provider values={values}>\n <div className={classNames?.timeField}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n );\n },\n [childrenProp, values, classNames],\n );\n\n return (\n <RACTimeField\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n value={value}\n >\n {children}\n </RACTimeField>\n );\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/time-field/time-field.css.ts"],"names":[],"mappings":";;;AAAW,IAAA,mBAAA,GAAsB,EAAC,SAAA,EAAU,mDAAoD,EAAA,SAAA,EAAU,mDAAoD,EAAA,KAAA,EAAM,yEAA0E,EAAA,WAAA,EAAY,qDAAsD,EAAA,KAAA,EAAM,+CAA+C;AAC9V,IAAI,qBAAqB,EAAC,MAAA,EAAO,0BAAyB,WAAY,EAAA,EAAC,OAAM,mCAAmC,EAAA,EAAE,KAAM,EAAA,EAAC,OAAM,6BAA6B,EAAA,EAAE,OAAM,EAAC,KAAA,EAAM,+BAA8B;AACzM,IAAI,kBAAqB,GAAA;AACzB,IAAI,kBAAqB,GAAA,EAAC,CAAE,EAAA,mBAAA,EAAoB,CAAE,EAAA,mBAAA,EAAoB,GAAI,EAAA,qBAAA,EAAsB,QAAS,EAAA,0BAAA,EAA2B,KAAM,EAAA,uBAAA,EAAwB,UAAS,0BAA0B;AACrM,IAAI,kBAAqB,GAAA,EAAC,IAAK,EAAA,sBAAA,EAAuB,YAAW,4BAA6B,EAAA,SAAA,EAAU,2BAA4B,EAAA,SAAA,EAAU,6BAA4B,SAAU,EAAA,2BAAA,EAA4B,UAAW,EAAA,4BAAA,EAA6B,YAAW,4BAA4B","file":"time-field.css.js","sourcesContent":["export var timeFieldClassNames = {container:'time-field_timeFieldClassNames_container__hlv6r3i',timeField:'time-field_timeFieldClassNames_timeField__hlv6r3j',label:'time-field_timeFieldClassNames_label__hlv6r3k typography_label__j8fgabg',description:'time-field_timeFieldClassNames_description__hlv6r3l',error:'time-field_timeFieldClassNames_error__hlv6r3m'};\nexport var timeFieldColorVars = {border:'var(--border__hlv6r37)',description:{color:'var(--description-color__hlv6r38)'},error:{color:'var(--error-color__hlv6r39)'},label:{color:'var(--label-color__hlv6r3a)'}};\nexport var timeFieldContainer = 'time-field_timeFieldContainer__hlv6r30';\nexport var timeFieldSpaceVars = {x:'var(--x__hlv6r31)',y:'var(--y__hlv6r32)',gap:'var(--gap__hlv6r33)',minWidth:'var(--minWidth__hlv6r34)',width:'var(--width__hlv6r35)',maxWidth:'var(--maxWidth__hlv6r36)'};\nexport var timeFieldStateVars = {size:'var(--size__hlv6r3b)',isDisabled:'var(--isDisabled__hlv6r3c)',isFocused:'var(--isFocused__hlv6r3d)',isHovered:'var(--isHovered__hlv6r3e)',isInvalid:'var(--isInvalid__hlv6r3f)',isReadOnly:'var(--isReadOnly__hlv6r3g)',isRequired:'var(--isRequired__hlv6r3h)'};"]}
1
+ {"version":3,"sources":["../../../src/components/time-field/time-field.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,mBAAA,GAAsB,EAAC,SAAA,EAAU,mDAAA,EAAoD,SAAA,EAAU,mDAAA,EAAoD,KAAA,EAAM,yEAAA,EAA0E,WAAA,EAAY,qDAAA,EAAsD,KAAA,EAAM,+CAAA;AAC/S,IAAI,qBAAqB,EAAC,MAAA,EAAO,0BAAyB,WAAA,EAAY,EAAC,OAAM,mCAAA,EAAmC,EAAE,KAAA,EAAM,EAAC,OAAM,6BAAA,EAA6B,EAAE,OAAM,EAAC,KAAA,EAAM,+BAA6B;AACxM,IAAI,kBAAA,GAAqB;AACzB,IAAI,kBAAA,GAAqB,EAAC,CAAA,EAAE,mBAAA,EAAoB,CAAA,EAAE,mBAAA,EAAoB,GAAA,EAAI,qBAAA,EAAsB,QAAA,EAAS,0BAAA,EAA2B,KAAA,EAAM,uBAAA,EAAwB,UAAS,0BAAA;AAC3K,IAAI,kBAAA,GAAqB,EAAC,IAAA,EAAK,sBAAA,EAAuB,YAAW,4BAAA,EAA6B,SAAA,EAAU,2BAAA,EAA4B,SAAA,EAAU,6BAA4B,SAAA,EAAU,2BAAA,EAA4B,UAAA,EAAW,4BAAA,EAA6B,YAAW,4BAAA","file":"time-field.css.js","sourcesContent":["export var timeFieldClassNames = {container:'time-field_timeFieldClassNames_container__hlv6r3i',timeField:'time-field_timeFieldClassNames_timeField__hlv6r3j',label:'time-field_timeFieldClassNames_label__hlv6r3k typography_label__j8fgabg',description:'time-field_timeFieldClassNames_description__hlv6r3l',error:'time-field_timeFieldClassNames_error__hlv6r3m'};\nexport var timeFieldColorVars = {border:'var(--border__hlv6r37)',description:{color:'var(--description-color__hlv6r38)'},error:{color:'var(--error-color__hlv6r39)'},label:{color:'var(--label-color__hlv6r3a)'}};\nexport var timeFieldContainer = 'time-field_timeFieldContainer__hlv6r30';\nexport var timeFieldSpaceVars = {x:'var(--x__hlv6r31)',y:'var(--y__hlv6r32)',gap:'var(--gap__hlv6r33)',minWidth:'var(--minWidth__hlv6r34)',width:'var(--width__hlv6r35)',maxWidth:'var(--maxWidth__hlv6r36)'};\nexport var timeFieldStateVars = {size:'var(--size__hlv6r3b)',isDisabled:'var(--isDisabled__hlv6r3c)',isFocused:'var(--isFocused__hlv6r3d)',isHovered:'var(--isHovered__hlv6r3e)',isInvalid:'var(--isInvalid__hlv6r3f)',isReadOnly:'var(--isReadOnly__hlv6r3g)',isRequired:'var(--isRequired__hlv6r3h)'};"]}
@@ -1,7 +1,30 @@
1
- export { Tooltip, TooltipContext, TooltipTarget, TooltipTargetContext } from './tooltip.js';
2
- export { tooltipClassNames, tooltipContainers, tooltipSpaceVars, tooltipStateVars, tooltipTargetStateVars } from './tooltip.css.js';
3
- export { TooltipClassNames, TooltipMapping, TooltipProps, TooltipRenderProps, TooltipState, TooltipTargetProps, TooltipTargetState } from './types.js';
4
- import 'react';
5
- import 'react-aria-components';
6
- import '../../types/react-aria.js';
1
+ import * as react from 'react';
2
+ import * as react_aria_components from 'react-aria-components';
3
+ import { ContextValue } from 'react-aria-components';
4
+ import { RenderPropsChildren } from '../../types/react-aria.js';
5
+ import { TooltipClassNames, TooltipMapping, TooltipRenderProps, TooltipProps, TooltipTargetProps } from './types.js';
7
6
  import 'type-fest';
7
+
8
+ declare const TooltipContext: react.Context<ContextValue<TooltipProps, HTMLDivElement>>;
9
+ declare const Tooltip: (props: Omit<react_aria_components.TooltipProps, "children" | "className" | "style" | "UNSTABLE_portalContainer"> & {
10
+ classNames?: TooltipClassNames;
11
+ mapping?: Partial<TooltipMapping>;
12
+ } & {
13
+ children?: RenderPropsChildren<TooltipRenderProps>;
14
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
15
+ declare const TooltipTargetContext: react.Context<ContextValue<TooltipTargetProps, HTMLDivElement>>;
16
+ /**
17
+ * This target component is only needed if attempting to add a Tooltip
18
+ * to a non-focusable element/component
19
+ */
20
+ declare const TooltipTarget: (props: {
21
+ classNames?: TooltipClassNames;
22
+ mapping?: Partial<TooltipMapping>;
23
+ } & {
24
+ focusable?: boolean;
25
+ relative?: "parent" | "self";
26
+ } & {
27
+ children?: react.ReactNode | undefined;
28
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
29
+
30
+ export { Tooltip, TooltipContext, TooltipTarget, TooltipTargetContext };
@@ -1,6 +1,115 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- export { Tooltip, TooltipContext, TooltipTarget, TooltipTargetContext } from './tooltip.js';
3
- export { tooltipClassNames, tooltipContainers, tooltipSpaceVars, tooltipStateVars, tooltipTargetStateVars } from './tooltip.css.js';
4
- import './types.js';
2
+ import { useFocusable } from '@react-aria/focus';
3
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
4
+ import { Tooltip as Tooltip$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 { bodies } from '../../styles/typography.css.js';
9
+ import { inlineVars } from '../../utils/css/index.js';
10
+ import { mergeClassNames, callRenderProps } from '../../utils/props/index.js';
11
+ import { tooltipClassNames, tooltipStateVars, tooltipTargetStateVars } from './tooltip.css.js';
12
+ import { jsx } from 'react/jsx-runtime';
13
+
14
+ var defaultMapping = {
15
+ font: bodies.xs
16
+ };
17
+ var TooltipContext = createContext(null);
18
+ var Tooltip = forwardRef(function Tooltip2(props, ref) {
19
+ [props, ref] = useContextProps(props, ref, TooltipContext);
20
+ props = useDefaultProps(props, "Tooltip");
21
+ const {
22
+ children: childrenProp,
23
+ classNames: classNamesProp,
24
+ containerPadding,
25
+ crossOffset,
26
+ mapping: mappingProp,
27
+ offset,
28
+ ...rest
29
+ } = props;
30
+ const theme = useTheme();
31
+ const mapping = useMemo(
32
+ () => ({
33
+ ...defaultMapping,
34
+ ...mappingProp
35
+ }),
36
+ [mappingProp]
37
+ );
38
+ const classNames = useMemo(
39
+ () => mergeClassNames(tooltipClassNames, theme.Tooltip, classNamesProp, {
40
+ tooltip: {
41
+ container: theme.className,
42
+ tooltip: mapping.font
43
+ }
44
+ }),
45
+ [theme.Tooltip, classNamesProp, theme.className, mapping]
46
+ );
47
+ const style = useCallback(
48
+ ({ state, ...renderProps }) => ({
49
+ ...theme.style,
50
+ ...inlineVars(tooltipStateVars, {
51
+ containerPadding,
52
+ crossOffset,
53
+ offset,
54
+ ...renderProps,
55
+ isOpen: state.isOpen
56
+ })
57
+ }),
58
+ [theme.style, containerPadding, crossOffset, offset]
59
+ );
60
+ const children = useCallback(
61
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.tooltip?.tooltip, children: callRenderProps(childrenProp, {
62
+ ...renderProps,
63
+ isOpen: renderProps.state.isOpen
64
+ }) }),
65
+ [classNames?.tooltip?.tooltip, childrenProp]
66
+ );
67
+ return /* @__PURE__ */ jsx(
68
+ Tooltip$1,
69
+ {
70
+ ...rest,
71
+ ref,
72
+ className: classNames?.tooltip?.container,
73
+ style,
74
+ children
75
+ }
76
+ );
77
+ });
78
+ var TooltipTargetContext = createContext(null);
79
+ var TooltipTarget = forwardRef(function TooltipTarget2(props, ref) {
80
+ [props, ref] = useContextProps(props, ref, TooltipTargetContext);
81
+ props = useDefaultProps(props, "TooltipTarget");
82
+ const {
83
+ children,
84
+ classNames: classNamesProp,
85
+ focusable = true,
86
+ relative = "self"
87
+ } = props;
88
+ const { focusableProps } = useFocusable({}, ref);
89
+ const theme = useTheme();
90
+ const classNames = useMemo(
91
+ () => mergeClassNames(tooltipClassNames, theme.Tooltip, classNamesProp),
92
+ [theme.Tooltip, classNamesProp]
93
+ );
94
+ const style = useMemo(
95
+ () => inlineVars(tooltipTargetStateVars, {
96
+ focusable,
97
+ relative
98
+ }),
99
+ [focusable, relative]
100
+ );
101
+ return /* @__PURE__ */ jsx("div", { className: classNames?.target?.container, style, children: /* @__PURE__ */ jsx(
102
+ "div",
103
+ {
104
+ ...focusableProps,
105
+ ref,
106
+ className: classNames?.target?.target,
107
+ tabIndex: focusable ? 0 : void 0,
108
+ children
109
+ }
110
+ ) });
111
+ });
112
+
113
+ export { Tooltip, TooltipContext, TooltipTarget, TooltipTargetContext };
5
114
  //# sourceMappingURL=index.js.map
6
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
1
+ {"version":3,"sources":["../../../src/components/tooltip/index.tsx"],"names":["Tooltip","RACTooltip","TooltipTarget"],"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 { useFocusable } from '@react-aria/focus';\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Tooltip as RACTooltip,\n type TooltipRenderProps,\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 tooltipClassNames,\n tooltipStateVars,\n tooltipTargetStateVars,\n} from './tooltip.css';\nimport type { TooltipMapping, TooltipProps, TooltipTargetProps } from './types';\n\nconst defaultMapping: TooltipMapping = {\n font: bodies.xs,\n};\n\nexport const TooltipContext =\n createContext<ContextValue<TooltipProps, HTMLDivElement>>(null);\n\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TooltipContext);\n\n props = useDefaultProps(props, 'Tooltip');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n containerPadding,\n crossOffset,\n mapping: mappingProp,\n offset,\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(tooltipClassNames, theme.Tooltip, classNamesProp, {\n tooltip: {\n container: theme.className,\n tooltip: mapping.font,\n },\n }),\n [theme.Tooltip, classNamesProp, theme.className, mapping],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: TooltipRenderProps) => ({\n ...theme.style,\n ...inlineVars(tooltipStateVars, {\n containerPadding,\n crossOffset,\n offset,\n ...renderProps,\n isOpen: state.isOpen,\n }),\n }),\n [theme.style, containerPadding, crossOffset, offset],\n );\n\n const children = useCallback(\n (renderProps: TooltipRenderProps) => (\n <div className={classNames?.tooltip?.tooltip}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n isOpen: renderProps.state.isOpen,\n })}\n </div>\n ),\n [classNames?.tooltip?.tooltip, childrenProp],\n );\n\n return (\n <RACTooltip\n {...rest}\n ref={ref}\n className={classNames?.tooltip?.container}\n style={style}\n >\n {children}\n </RACTooltip>\n );\n});\n\nexport const TooltipTargetContext =\n createContext<ContextValue<TooltipTargetProps, HTMLDivElement>>(null);\n\n/**\n * This target component is only needed if attempting to add a Tooltip\n * to a non-focusable element/component\n */\nexport const TooltipTarget = forwardRef(function TooltipTarget(\n props: TooltipTargetProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TooltipTargetContext);\n\n props = useDefaultProps(props, 'TooltipTarget');\n\n const {\n children,\n classNames: classNamesProp,\n focusable = true,\n relative = 'self',\n } = props;\n\n const { focusableProps } = useFocusable({}, ref);\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tooltipClassNames, theme.Tooltip, classNamesProp),\n [theme.Tooltip, classNamesProp],\n );\n\n const style = useMemo(\n () =>\n inlineVars(tooltipTargetStateVars, {\n focusable,\n relative,\n }),\n [focusable, relative],\n );\n\n return (\n <div className={classNames?.target?.container} style={style}>\n <div\n {...focusableProps}\n ref={ref}\n className={classNames?.target?.target}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={focusable ? 0 : undefined}\n >\n {children}\n </div>\n </div>\n );\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/tooltip/tooltip.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,iBAAoB,GAAA,EAAC,OAAQ,EAAA,EAAC,WAAU,sDAAuD,EAAA,OAAA,EAAQ,sGAAsG,EAAA,EAAE,QAAO,EAAC,SAAA,EAAU,qDAAsD,EAAA,MAAA,EAAO,oDAAmD;AACrV,IAAI,iBAAoB,GAAA,EAAC,OAAQ,EAAA,4CAAA,EAA6C,QAAO,2CAA2C;AAChI,IAAI,gBAAmB,GAAA,EAAC,CAAE,EAAA,mBAAA,EAAoB,GAAE,mBAAmB;AACnE,IAAI,gBAAmB,GAAA,EAAC,gBAAiB,EAAA,kCAAA,EAAmC,aAAY,6BAA8B,EAAA,MAAA,EAAO,wBAAyB,EAAA,SAAA,EAAU,6BAA4B,UAAW,EAAA,4BAAA,EAA6B,SAAU,EAAA,2BAAA,EAA4B,QAAO,wBAAwB;AACzS,IAAI,sBAAyB,GAAA,EAAC,SAAU,EAAA,2BAAA,EAA4B,UAAS,0BAA0B","file":"tooltip.css.js","sourcesContent":["export var tooltipClassNames = {tooltip:{container:'tooltip_tooltipClassNames_tooltip_container__sg5iyrd',tooltip:'tooltip_tooltipClassNames_tooltip_tooltip__sg5iyre surfaces_proud__15mw6jf5 surfaces_flush__15mw6jf4'},target:{container:'tooltip_tooltipClassNames_target_container__sg5iyrf',target:'tooltip_tooltipClassNames_target_target__sg5iyrg'}};\nexport var tooltipContainers = {tooltip:'tooltip_tooltipContainers_tooltip__sg5iyr0',target:'tooltip_tooltipContainers_target__sg5iyr1'};\nexport var tooltipSpaceVars = {x:'var(--x__sg5iyr2)',y:'var(--y__sg5iyr3)'};\nexport var tooltipStateVars = {containerPadding:'var(--containerPadding__sg5iyr4)',crossOffset:'var(--crossOffset__sg5iyr5)',offset:'var(--offset__sg5iyr6)',placement:'var(--placement__sg5iyr7)',isEntering:'var(--isEntering__sg5iyr8)',isExiting:'var(--isExiting__sg5iyr9)',isOpen:'var(--isOpen__sg5iyra)'};\nexport var tooltipTargetStateVars = {focusable:'var(--focusable__sg5iyrb)',relative:'var(--relative__sg5iyrc)'};"]}
1
+ {"version":3,"sources":["../../../src/components/tooltip/tooltip.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,iBAAA,GAAoB,EAAC,OAAA,EAAQ,EAAC,WAAU,sDAAA,EAAuD,OAAA,EAAQ,sGAAA,EAAsG,EAAE,QAAO,EAAC,SAAA,EAAU,qDAAA,EAAsD,MAAA,EAAO,oDAAkD;AACpV,IAAI,iBAAA,GAAoB,EAAC,OAAA,EAAQ,4CAAA,EAA6C,QAAO,2CAAA;AACrF,IAAI,gBAAA,GAAmB,EAAC,CAAA,EAAE,mBAAA,EAAoB,GAAE,mBAAA;AAChD,IAAI,gBAAA,GAAmB,EAAC,gBAAA,EAAiB,kCAAA,EAAmC,aAAY,6BAAA,EAA8B,MAAA,EAAO,wBAAA,EAAyB,SAAA,EAAU,6BAA4B,UAAA,EAAW,4BAAA,EAA6B,SAAA,EAAU,2BAAA,EAA4B,QAAO,wBAAA;AACjR,IAAI,sBAAA,GAAyB,EAAC,SAAA,EAAU,2BAAA,EAA4B,UAAS,0BAAA","file":"tooltip.css.js","sourcesContent":["export var tooltipClassNames = {tooltip:{container:'tooltip_tooltipClassNames_tooltip_container__sg5iyrd',tooltip:'tooltip_tooltipClassNames_tooltip_tooltip__sg5iyre surfaces_proud__15mw6jf5 surfaces_flush__15mw6jf4'},target:{container:'tooltip_tooltipClassNames_target_container__sg5iyrf',target:'tooltip_tooltipClassNames_target_target__sg5iyrg'}};\nexport var tooltipContainers = {tooltip:'tooltip_tooltipContainers_tooltip__sg5iyr0',target:'tooltip_tooltipContainers_target__sg5iyr1'};\nexport var tooltipSpaceVars = {x:'var(--x__sg5iyr2)',y:'var(--y__sg5iyr3)'};\nexport var tooltipStateVars = {containerPadding:'var(--containerPadding__sg5iyr4)',crossOffset:'var(--crossOffset__sg5iyr5)',offset:'var(--offset__sg5iyr6)',placement:'var(--placement__sg5iyr7)',isEntering:'var(--isEntering__sg5iyr8)',isExiting:'var(--isExiting__sg5iyr9)',isOpen:'var(--isOpen__sg5iyra)'};\nexport var tooltipTargetStateVars = {focusable:'var(--focusable__sg5iyrb)',relative:'var(--relative__sg5iyrc)'};"]}
@@ -1,8 +1,6 @@
1
- export { Tree, TreeGroup, TreeItem, TreeStateContext } from './tree.js';
2
- export { treeClassNames, treeColorVars, treeContainers, treeGroupStateVars, treeIndicatorStateVars, treeItemStateVars, treeSpaceVars, treeStateVars } from './tree.css.js';
3
- export { TreeClassNames, TreeGroupProps, TreeGroupRenderProps, TreeGroupState, TreeIndicatorRenderProps, TreeIndicatorState, TreeItemProps, TreeItemRenderProps, TreeItemState, TreeMapping, TreeProps, TreeRenderProps, TreeSizes, TreeState, TreeStateContextValue } from './types.js';
4
- import 'react/jsx-runtime';
5
- import 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { TreeProps, TreeGroupProps, TreeItemProps, TreeStateContextValue } from './types.js';
6
4
  import '@react-types/shared';
7
5
  import 'react-aria-components';
8
6
  import 'type-fest';
@@ -15,3 +13,17 @@ import '../button/types.js';
15
13
  import '../icon/types.js';
16
14
  import '../checkbox/types.js';
17
15
  import '../group/types.js';
16
+
17
+ declare const TreeStateContext: react.Context<TreeStateContextValue<any>>;
18
+ /**
19
+ * By default Tree only works as an uncontrolled input. However, if you need to use the Tree
20
+ * as a controlled input (passing state changes to the "nodes" props), you will need to add a
21
+ * "key" prop that is a hash of the "nodes" prop to trigger a rerender of the component and
22
+ * abandon it's previous state. Unfortunately, the underlying hooks don't provide a good way
23
+ * to update the internal state of the Tree onces it's been initialized.
24
+ */
25
+ declare function Tree<T>(props: TreeProps<T>): react_jsx_runtime.JSX.Element;
26
+ declare function TreeGroup<T>({ id, children, nodes, types, ...rest }: TreeGroupProps<T>): react_jsx_runtime.JSX.Element;
27
+ declare function TreeItem<T>({ children: childrenProp, index, mapping: mappingProp, node, isFirstChild, isLastChild, ...rest }: TreeItemProps<T>): react_jsx_runtime.JSX.Element;
28
+
29
+ export { Tree, TreeGroup, TreeItem, TreeStateContext };