@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,134 +0,0 @@
1
- import '../../chunk-PZ5AY32C.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, useDefaultProps, useTheme } from '../../hooks/index.js';
8
- import { inputs } from '../../styles/index.js';
9
- import { mergeClassNames, mergeProps, inlineVars } from '../../utils/index.js';
10
- import { textAreaClassNames, textAreaStateVars } from './textarea.css.js';
11
- import { jsx } from 'react/jsx-runtime';
12
-
13
- var defaultMapping = {
14
- font: inputs
15
- };
16
- var TextAreaContext = createContext(null);
17
- var TextArea = forwardRef(function TextArea2(props, ref) {
18
- [props, ref] = useContextProps(props, ref, TextAreaContext$1);
19
- props.className = void 0;
20
- props.style = void 0;
21
- [props, ref] = useContextProps(props, ref, TextAreaContext);
22
- props = useDefaultProps(props, "TextArea");
23
- const {
24
- classNames: classNamesProp,
25
- defaultValue = "",
26
- disabled: isDisabled = false,
27
- mapping: mappingProp,
28
- placeholder,
29
- readOnly: isReadOnly = false,
30
- required: isRequired = false,
31
- resize = "none",
32
- size = "lg",
33
- value: valueProp,
34
- onChange,
35
- onHoverStart,
36
- onHoverChange,
37
- onHoverEnd,
38
- "aria-invalid": ariaInvalid,
39
- ...rest
40
- } = props;
41
- const [value, setValue] = useControlledState(valueProp, defaultValue);
42
- const isInvalid = !!ariaInvalid && ariaInvalid !== "false";
43
- const isPlaceholder = !!placeholder && !value;
44
- const isEmpty = !value;
45
- const { isFocused, isFocusVisible, focusProps } = useFocusRing({
46
- autoFocus: props.autoFocus,
47
- isTextInput: true
48
- });
49
- const { hoverProps, isHovered } = useHover({
50
- isDisabled,
51
- onHoverStart,
52
- onHoverChange,
53
- onHoverEnd
54
- });
55
- const theme = useTheme();
56
- const mapping = useMemo(
57
- () => ({
58
- ...defaultMapping,
59
- ...mappingProp
60
- }),
61
- [mappingProp]
62
- );
63
- const classNames = useMemo(
64
- () => mergeClassNames(textAreaClassNames, theme.TextArea, classNamesProp, {
65
- textarea: mapping.font[size]
66
- }),
67
- [theme.TextArea, classNamesProp, mapping.font, size]
68
- );
69
- const mergedProps = useMemo(
70
- () => mergeProps(rest, focusProps, hoverProps),
71
- [focusProps, hoverProps, rest]
72
- );
73
- const style = useMemo(
74
- () => inlineVars(textAreaStateVars, {
75
- resize,
76
- size,
77
- isDisabled,
78
- isEmpty,
79
- isFocused,
80
- isFocusVisible,
81
- isHovered,
82
- isInvalid,
83
- isPlaceholder,
84
- isReadOnly,
85
- isRequired
86
- }),
87
- [
88
- resize,
89
- size,
90
- isDisabled,
91
- isEmpty,
92
- isFocused,
93
- isFocusVisible,
94
- isHovered,
95
- isInvalid,
96
- isPlaceholder,
97
- isReadOnly,
98
- isRequired
99
- ]
100
- );
101
- const handleChange = useCallback(
102
- (event) => {
103
- onChange?.(event);
104
- if (!event.defaultPrevented) {
105
- setValue(event.currentTarget.textContent ?? "");
106
- }
107
- },
108
- [onChange, setValue]
109
- );
110
- useEffect(() => {
111
- if (typeof ref !== "function" && ref?.current) {
112
- ref.current.textContent = `${value ?? ""}`;
113
- }
114
- }, [ref, value]);
115
- return /* @__PURE__ */ jsx("div", { className: classNames?.container, style, children: /* @__PURE__ */ jsx(
116
- "span",
117
- {
118
- ...mergedProps,
119
- ...hoverProps,
120
- ref,
121
- className: classNames?.textarea,
122
- contentEditable: !(isDisabled || isReadOnly),
123
- role: "textbox",
124
- suppressContentEditableWarning: true,
125
- onInput: handleChange,
126
- "aria-invalid": ariaInvalid,
127
- "data-placeholder": placeholder
128
- }
129
- ) });
130
- });
131
-
132
- export { TextArea, TextAreaContext };
133
- //# sourceMappingURL=textarea.js.map
134
- //# sourceMappingURL=textarea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/textarea/textarea.tsx"],"names":["TextArea","RACTextAreaContext"],"mappings":"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","file":"textarea.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, useDefaultProps, useTheme } from '../../hooks';\nimport { inputs } from '../../styles';\nimport { inlineVars, mergeClassNames, mergeProps } from '../../utils';\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,21 +0,0 @@
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';
6
- import 'type-fest';
7
- import '../../types/generic.js';
8
- import '../../types/props.js';
9
- import '../date-input/types.js';
10
- import '@react-stately/datepicker';
11
- import '../../types/react-aria.js';
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,106 +0,0 @@
1
- import '../../chunk-PZ5AY32C.js';
2
- import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
- import { LabelContext, Provider, TimeField as TimeField$1 } from 'react-aria-components';
4
- import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
5
- import { AriaTextContext, AriaFieldErrorContext } from '../aria/index.js';
6
- import { useContextProps, useDefaultProps, useTheme } from '../../hooks/index.js';
7
- import { bodies } from '../../styles/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 };
105
- //# sourceMappingURL=time-field.js.map
106
- //# sourceMappingURL=time-field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/time-field/time-field.tsx"],"names":["TimeField","RACTimeField"],"mappings":";;;;;;;;;;;;AAiDA,IAAM,cAAmC,GAAA;AAAA,EACvC,WAAa,EAAA;AAAA,IACX,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,IAAI,MAAO,CAAA;AAAA,GACb;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,IAAI,MAAO,CAAA;AAAA,GACb;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,EAAA,EAAI,EAAE,IAAA,EAAM,IAAK,EAAA;AAAA,IACjB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAK;AAAA;AAErB,CAAA;AAEA,IAAM,WAAc,GAAA,IAAA;AAEP,IAAA,gBAAA,GACX,cAAuE,IAAI;AAEtE,IAAM,SAAY,GAAA,UAAA,CAAW,SAASA,UAAAA,CAC3C,OACA,GACA,EAAA;AACA,EAAA,CAAC,OAAO,GAAG,CAAA,GAAI,eAAgB,CAAA,KAAA,EAAO,KAAK,gBAAgB,CAAA;AAC3D,EAAQ,KAAA,GAAA,eAAA;AAAA,IACN,KAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAM,MAAA;AAAA,IACJ,QAAU,EAAA,YAAA;AAAA,IACV,UAAY,EAAA,cAAA;AAAA,IACZ,OAAS,EAAA,WAAA;AAAA,IACT,IAAO,GAAA,WAAA;AAAA,IACP,KAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,QAAQ,QAAS,EAAA;AAEvB,EAAA,MAAM,OAAU,GAAA,OAAA;AAAA,IACd,OAAO;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG;AAAA,KACL,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,UAAa,GAAA,OAAA;AAAA,IACjB,MACE,eAAA,CAAgB,mBAAqB,EAAA,KAAA,CAAM,WAAW,cAAgB,EAAA;AAAA,MACpE,WAAA,EAAa,OAAQ,CAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MACrC,KAAA,EAAO,OAAQ,CAAA,KAAA,CAAM,IAAI;AAAA,KAC1B,CAAA;AAAA,IACH,CAAC,KAAA,CAAM,SAAW,EAAA,cAAA,EAAgB,SAAS,IAAI;AAAA,GACjD;AAEA,EAAA,MAAM,KAAQ,GAAA,WAAA;AAAA,IACZ,CAAC,WACC,KAAA,UAAA,CAAW,kBAAoB,EAAA;AAAA,MAC7B,GAAG,WAAA;AAAA,MACH;AAAA,KACD,CAAA;AAAA,IACH,CAAC,IAAI;AAAA,GACP;AAEA,EAAA,MAAM,MAAS,GAAA,OAAA;AAAA,IAYb,MAAM;AAAA,MACJ,CAAC,gBAAkB,EAAA,EAAE,YAAY,UAAY,EAAA,KAAA,EAAO,MAAM,CAAA;AAAA,MAC1D,CAAC,YAAc,EAAA,EAAE,SAAW,EAAA,UAAA,EAAY,OAAO,CAAA;AAAA,MAC/C;AAAA,QACE,eAAA;AAAA,QACA;AAAA,UACE,KAAO,EAAA;AAAA,YACL,WAAa,EAAA,EAAE,SAAW,EAAA,UAAA,EAAY,WAAY;AAAA;AACpD;AACF,OACF;AAAA,MACA,CAAC,qBAAuB,EAAA,EAAE,SAAW,EAAA,UAAA,EAAY,OAAO,CAAA;AAAA,MACxD,CAAC,WAAa,EAAA,EAAE,GAAG,OAAA,CAAQ,IAAK,CAAA,IAAI,CAAG,EAAA,UAAA,EAAY,UAAY,EAAA,IAAA,EAAM;AAAA,KACvE;AAAA,IACA,CAAC,UAAY,EAAA,IAAA,EAAM,OAAO;AAAA,GAC5B;AAEA,EAAA,MAAM,QAAW,GAAA,WAAA;AAAA,IACf,CAAC,WAAsC,KAAA;AACrC,MACE,uBAAA,GAAA,CAAC,YAAS,MACR,EAAA,QAAA,kBAAA,GAAA,CAAC,SAAI,SAAW,EAAA,UAAA,EAAY,SACzB,EAAA,QAAA,EAAA,eAAA,CAAgB,YAAc,EAAA;AAAA,QAC7B,GAAG,WAAA;AAAA,QACH,eAAiB,EAAA;AAAA,OAClB,GACH,CACF,EAAA,CAAA;AAAA,KAEJ;AAAA,IACA,CAAC,YAAc,EAAA,MAAA,EAAQ,UAAU;AAAA,GACnC;AAEA,EACE,uBAAA,GAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MACA,WAAW,UAAY,EAAA,SAAA;AAAA,MACvB,KAAA;AAAA,MACA,KAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAC","file":"time-field.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 FieldErrorProps,\n LabelContext,\n type LabelProps,\n Provider,\n TimeField as RACTimeField,\n type TextProps,\n} from 'react-aria-components';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n AriaFieldErrorContext,\n type AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport type {\n TimeFieldMapping,\n TimeFieldProps,\n TimeFieldRenderProps,\n} from './types';\n\nimport type { TimeValue } from '@react-aria/datepicker';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport type { DateFieldRenderProps } from '../date-field';\nimport type { DateInputProps } from '../date-input';\nimport { DateInputContext } from '../date-input';\nimport { IconContext, type IconProps } from '../icon';\nimport { timeFieldClassNames, timeFieldStateVars } from './time-field.css';\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,30 +0,0 @@
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';
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,112 +0,0 @@
1
- import '../../chunk-PZ5AY32C.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, useDefaultProps, useTheme } from '../../hooks/index.js';
6
- import { bodies } from '../../styles/index.js';
7
- import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
8
- import { tooltipClassNames, tooltipStateVars, tooltipTargetStateVars } from './tooltip.css.js';
9
- import { jsx } from 'react/jsx-runtime';
10
-
11
- var defaultMapping = {
12
- font: bodies.xs
13
- };
14
- var TooltipContext = createContext(null);
15
- var Tooltip = forwardRef(function Tooltip2(props, ref) {
16
- [props, ref] = useContextProps(props, ref, TooltipContext);
17
- props = useDefaultProps(props, "Tooltip");
18
- const {
19
- children: childrenProp,
20
- classNames: classNamesProp,
21
- containerPadding,
22
- crossOffset,
23
- mapping: mappingProp,
24
- offset,
25
- ...rest
26
- } = props;
27
- const theme = useTheme();
28
- const mapping = useMemo(
29
- () => ({
30
- ...defaultMapping,
31
- ...mappingProp
32
- }),
33
- [mappingProp]
34
- );
35
- const classNames = useMemo(
36
- () => mergeClassNames(tooltipClassNames, theme.Tooltip, classNamesProp, {
37
- tooltip: {
38
- container: theme.className,
39
- tooltip: mapping.font
40
- }
41
- }),
42
- [theme.Tooltip, classNamesProp, theme.className, mapping]
43
- );
44
- const style = useCallback(
45
- ({ state, ...renderProps }) => ({
46
- ...theme.style,
47
- ...inlineVars(tooltipStateVars, {
48
- containerPadding,
49
- crossOffset,
50
- offset,
51
- ...renderProps,
52
- isOpen: state.isOpen
53
- })
54
- }),
55
- [theme.style, containerPadding, crossOffset, offset]
56
- );
57
- const children = useCallback(
58
- (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.tooltip?.tooltip, children: callRenderProps(childrenProp, {
59
- ...renderProps,
60
- isOpen: renderProps.state.isOpen
61
- }) }),
62
- [classNames?.tooltip?.tooltip, childrenProp]
63
- );
64
- return /* @__PURE__ */ jsx(
65
- Tooltip$1,
66
- {
67
- ...rest,
68
- ref,
69
- className: classNames?.tooltip?.container,
70
- style,
71
- children
72
- }
73
- );
74
- });
75
- var TooltipTargetContext = createContext(null);
76
- var TooltipTarget = forwardRef(function TooltipTarget2(props, ref) {
77
- [props, ref] = useContextProps(props, ref, TooltipTargetContext);
78
- props = useDefaultProps(props, "TooltipTarget");
79
- const {
80
- children,
81
- classNames: classNamesProp,
82
- focusable = true,
83
- relative = "self"
84
- } = props;
85
- const { focusableProps } = useFocusable({}, ref);
86
- const theme = useTheme();
87
- const classNames = useMemo(
88
- () => mergeClassNames(tooltipClassNames, theme.Tooltip, classNamesProp),
89
- [theme.Tooltip, classNamesProp]
90
- );
91
- const style = useMemo(
92
- () => inlineVars(tooltipTargetStateVars, {
93
- focusable,
94
- relative
95
- }),
96
- [focusable, relative]
97
- );
98
- return /* @__PURE__ */ jsx("div", { className: classNames?.target?.container, style, children: /* @__PURE__ */ jsx(
99
- "div",
100
- {
101
- ...focusableProps,
102
- ref,
103
- className: classNames?.target?.target,
104
- tabIndex: focusable ? 0 : void 0,
105
- children
106
- }
107
- ) });
108
- });
109
-
110
- export { Tooltip, TooltipContext, TooltipTarget, TooltipTargetContext };
111
- //# sourceMappingURL=tooltip.js.map
112
- //# sourceMappingURL=tooltip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/tooltip/tooltip.tsx"],"names":["Tooltip","RACTooltip","TooltipTarget"],"mappings":"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","file":"tooltip.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, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\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,29 +0,0 @@
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';
4
- import '@react-types/shared';
5
- import 'react-aria-components';
6
- import 'type-fest';
7
- import '../../types/generic.js';
8
- import '../../types/props.js';
9
- import '../../types/react-aria.js';
10
- import '../../types/use-tree.js';
11
- import '@react-stately/data';
12
- import '../button/types.js';
13
- import '../icon/types.js';
14
- import '../checkbox/types.js';
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 };