@wirekyt/react 0.0.1 → 0.0.3

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 (285) hide show
  1. package/dist/accordion.cjs +209 -0
  2. package/dist/accordion.d.cts +69 -0
  3. package/dist/accordion.d.ts +69 -0
  4. package/dist/accordion.js +184 -0
  5. package/dist/angle-slider.cjs +193 -0
  6. package/dist/angle-slider.d.cts +73 -0
  7. package/dist/angle-slider.d.ts +73 -0
  8. package/dist/angle-slider.js +168 -0
  9. package/dist/avatar.cjs +120 -0
  10. package/dist/avatar.d.cts +48 -0
  11. package/dist/avatar.d.ts +48 -0
  12. package/dist/avatar.js +100 -0
  13. package/dist/carousel.cjs +246 -0
  14. package/dist/carousel.d.cts +94 -0
  15. package/dist/carousel.d.ts +94 -0
  16. package/dist/carousel.js +223 -0
  17. package/dist/checkbox.cjs +284 -0
  18. package/dist/checkbox.d.cts +115 -0
  19. package/dist/checkbox.d.ts +115 -0
  20. package/dist/checkbox.js +263 -0
  21. package/dist/client-only.cjs +12 -0
  22. package/dist/client-only.d.cts +8 -0
  23. package/dist/client-only.d.ts +8 -0
  24. package/dist/client-only.js +11 -0
  25. package/dist/clipboard.cjs +174 -0
  26. package/dist/clipboard.d.cts +70 -0
  27. package/dist/clipboard.d.ts +70 -0
  28. package/dist/clipboard.js +150 -0
  29. package/dist/collapsible-B62i_oPJ.cjs +185 -0
  30. package/dist/collapsible-CiTNjCNf.js +131 -0
  31. package/dist/collapsible.cjs +23 -0
  32. package/dist/collapsible.d.cts +56 -0
  33. package/dist/collapsible.d.ts +56 -0
  34. package/dist/collapsible.js +2 -0
  35. package/dist/collection-BFjWNdUS.cjs +223 -0
  36. package/dist/collection-BJOl6a4H.js +180 -0
  37. package/dist/collection.cjs +9 -0
  38. package/dist/collection.d.cts +2 -0
  39. package/dist/collection.d.ts +2 -0
  40. package/dist/collection.js +2 -0
  41. package/dist/color-picker.cjs +575 -0
  42. package/dist/color-picker.d.cts +179 -0
  43. package/dist/color-picker.d.ts +179 -0
  44. package/dist/color-picker.js +530 -0
  45. package/dist/combobox.cjs +390 -0
  46. package/dist/combobox.d.cts +128 -0
  47. package/dist/combobox.d.ts +128 -0
  48. package/dist/combobox.js +359 -0
  49. package/dist/core-CBFAnVIP.cjs +375 -0
  50. package/dist/core-CEYOEcVI.js +357 -0
  51. package/dist/date-input.cjs +217 -0
  52. package/dist/date-input.d.cts +69 -0
  53. package/dist/date-input.d.ts +69 -0
  54. package/dist/date-input.js +193 -0
  55. package/dist/date-picker.cjs +588 -0
  56. package/dist/date-picker.d.cts +190 -0
  57. package/dist/date-picker.d.ts +190 -0
  58. package/dist/date-picker.js +543 -0
  59. package/dist/dialog.cjs +199 -0
  60. package/dist/dialog.d.cts +78 -0
  61. package/dist/dialog.d.ts +78 -0
  62. package/dist/dialog.js +174 -0
  63. package/dist/download-trigger.cjs +53 -0
  64. package/dist/download-trigger.d.cts +22 -0
  65. package/dist/download-trigger.d.ts +22 -0
  66. package/dist/download-trigger.js +51 -0
  67. package/dist/drawer.cjs +296 -0
  68. package/dist/drawer.d.cts +115 -0
  69. package/dist/drawer.d.ts +115 -0
  70. package/dist/drawer.js +264 -0
  71. package/dist/editable.cjs +228 -0
  72. package/dist/editable.d.cts +79 -0
  73. package/dist/editable.d.ts +79 -0
  74. package/dist/editable.js +202 -0
  75. package/dist/environment-B6IaCAuQ.cjs +59 -0
  76. package/dist/environment-BTgKwk5E.js +42 -0
  77. package/dist/factory--dkoVnFK.d.cts +14 -0
  78. package/dist/factory--dkoVnFK.d.ts +14 -0
  79. package/dist/factory-CFFufs5e.cjs +59 -0
  80. package/dist/factory-Nm__-4xn.js +48 -0
  81. package/dist/field-Cy1E02DH.js +349 -0
  82. package/dist/field-x8H5uXB9.cjs +438 -0
  83. package/dist/field.cjs +22 -0
  84. package/dist/field.d.cts +129 -0
  85. package/dist/field.d.ts +129 -0
  86. package/dist/field.js +2 -0
  87. package/dist/fieldset-DWZXj1t5.cjs +232 -0
  88. package/dist/fieldset-fx44GCtM.js +178 -0
  89. package/dist/fieldset.cjs +18 -0
  90. package/dist/fieldset.d.cts +71 -0
  91. package/dist/fieldset.d.ts +71 -0
  92. package/dist/fieldset.js +3 -0
  93. package/dist/file-upload.cjs +328 -0
  94. package/dist/file-upload.d.cts +101 -0
  95. package/dist/file-upload.d.ts +101 -0
  96. package/dist/file-upload.js +298 -0
  97. package/dist/floating-panel.cjs +271 -0
  98. package/dist/floating-panel.d.cts +98 -0
  99. package/dist/floating-panel.d.ts +98 -0
  100. package/dist/floating-panel.js +242 -0
  101. package/dist/format.cjs +64 -0
  102. package/dist/format.d.cts +44 -0
  103. package/dist/format.d.ts +44 -0
  104. package/dist/format.js +54 -0
  105. package/dist/frame.cjs +85 -0
  106. package/dist/frame.d.cts +12 -0
  107. package/dist/frame.d.ts +12 -0
  108. package/dist/frame.js +84 -0
  109. package/dist/highlight.cjs +29 -0
  110. package/dist/highlight.d.cts +13 -0
  111. package/dist/highlight.d.ts +13 -0
  112. package/dist/highlight.js +27 -0
  113. package/dist/hover-card.cjs +154 -0
  114. package/dist/hover-card.d.cts +68 -0
  115. package/dist/hover-card.d.ts +68 -0
  116. package/dist/hover-card.js +131 -0
  117. package/dist/image-cropper.cjs +0 -0
  118. package/dist/image-cropper.d.cts +1 -0
  119. package/dist/image-cropper.d.ts +1 -0
  120. package/dist/image-cropper.js +0 -0
  121. package/dist/index-3Al0R5bH.d.cts +73 -0
  122. package/dist/index-B7wAg5Wf.d.ts +146 -0
  123. package/dist/index-BAn8qiCM.d.ts +73 -0
  124. package/dist/index-BSX88T_g.d.cts +146 -0
  125. package/dist/index-CQAbOgb7.d.cts +23 -0
  126. package/dist/index-CW-Aj6aT.d.ts +95 -0
  127. package/dist/index-CxWYgVJk.d.ts +23 -0
  128. package/dist/index-DRnET7mJ.d.ts +33 -0
  129. package/dist/index-DTLK6Fuh.d.cts +95 -0
  130. package/dist/index-DyTY8HEb.d.cts +33 -0
  131. package/dist/index-srZfUQNt.d.cts +20 -0
  132. package/dist/index-srZfUQNt.d.ts +20 -0
  133. package/dist/index.cjs +45 -0
  134. package/dist/index.d.cts +6 -0
  135. package/dist/index.d.ts +6 -0
  136. package/dist/index.js +6 -0
  137. package/dist/json-tree-view.cjs +244 -0
  138. package/dist/json-tree-view.d.cts +45 -0
  139. package/dist/json-tree-view.d.ts +45 -0
  140. package/dist/json-tree-view.js +234 -0
  141. package/dist/listbox.cjs +290 -0
  142. package/dist/listbox.d.cts +109 -0
  143. package/dist/listbox.d.ts +109 -0
  144. package/dist/listbox.js +264 -0
  145. package/dist/marquee.cjs +164 -0
  146. package/dist/marquee.d.cts +60 -0
  147. package/dist/marquee.d.ts +60 -0
  148. package/dist/marquee.js +142 -0
  149. package/dist/menu.cjs +506 -0
  150. package/dist/menu.d.cts +162 -0
  151. package/dist/menu.d.ts +162 -0
  152. package/dist/menu.js +469 -0
  153. package/dist/navigation-menu.cjs +331 -0
  154. package/dist/navigation-menu.d.cts +89 -0
  155. package/dist/navigation-menu.d.ts +89 -0
  156. package/dist/navigation-menu.js +303 -0
  157. package/dist/number-input.cjs +222 -0
  158. package/dist/number-input.d.cts +73 -0
  159. package/dist/number-input.d.ts +73 -0
  160. package/dist/number-input.js +197 -0
  161. package/dist/pagination.cjs +183 -0
  162. package/dist/pagination.d.cts +68 -0
  163. package/dist/pagination.d.ts +68 -0
  164. package/dist/pagination.js +159 -0
  165. package/dist/password-input.cjs +179 -0
  166. package/dist/password-input.d.cts +65 -0
  167. package/dist/password-input.d.ts +65 -0
  168. package/dist/password-input.js +156 -0
  169. package/dist/pin-input.cjs +180 -0
  170. package/dist/pin-input.d.cts +58 -0
  171. package/dist/pin-input.d.ts +58 -0
  172. package/dist/pin-input.js +158 -0
  173. package/dist/popover.cjs +222 -0
  174. package/dist/popover.d.cts +93 -0
  175. package/dist/popover.d.ts +93 -0
  176. package/dist/popover.js +194 -0
  177. package/dist/portal-6_XzBXiA.cjs +33 -0
  178. package/dist/portal-QYL_2wB0.js +28 -0
  179. package/dist/portal.cjs +3 -0
  180. package/dist/portal.d.cts +9 -0
  181. package/dist/portal.d.ts +9 -0
  182. package/dist/portal.js +2 -0
  183. package/dist/presence-BOs-D6Cv.cjs +96 -0
  184. package/dist/presence-I8Rceflw.js +65 -0
  185. package/dist/presence.cjs +7 -0
  186. package/dist/presence.d.cts +2 -0
  187. package/dist/presence.d.ts +2 -0
  188. package/dist/presence.js +2 -0
  189. package/dist/progress.cjs +206 -0
  190. package/dist/progress.d.cts +78 -0
  191. package/dist/progress.d.ts +78 -0
  192. package/dist/progress.js +180 -0
  193. package/dist/providers-DrJEJcrE.cjs +128 -0
  194. package/dist/providers-FEHnDTvb.js +87 -0
  195. package/dist/qr-code.cjs +154 -0
  196. package/dist/qr-code.d.cts +58 -0
  197. package/dist/qr-code.d.ts +58 -0
  198. package/dist/qr-code.js +132 -0
  199. package/dist/radio-group.cjs +222 -0
  200. package/dist/radio-group.d.cts +78 -0
  201. package/dist/radio-group.d.ts +78 -0
  202. package/dist/radio-group.js +196 -0
  203. package/dist/rating-group.cjs +186 -0
  204. package/dist/rating-group.d.cts +68 -0
  205. package/dist/rating-group.d.ts +68 -0
  206. package/dist/rating-group.js +162 -0
  207. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  208. package/dist/rolldown-runtime-DakpK96I.cjs +43 -0
  209. package/dist/scroll-area.cjs +166 -0
  210. package/dist/scroll-area.d.cts +67 -0
  211. package/dist/scroll-area.d.ts +67 -0
  212. package/dist/scroll-area.js +143 -0
  213. package/dist/segment-group.cjs +215 -0
  214. package/dist/segment-group.d.cts +81 -0
  215. package/dist/segment-group.d.ts +81 -0
  216. package/dist/segment-group.js +194 -0
  217. package/dist/select.cjs +395 -0
  218. package/dist/select.d.cts +132 -0
  219. package/dist/select.d.ts +132 -0
  220. package/dist/select.js +358 -0
  221. package/dist/signature-pad.cjs +197 -0
  222. package/dist/signature-pad.d.cts +68 -0
  223. package/dist/signature-pad.d.ts +68 -0
  224. package/dist/signature-pad.js +173 -0
  225. package/dist/slider.cjs +260 -0
  226. package/dist/slider.d.cts +88 -0
  227. package/dist/slider.d.ts +88 -0
  228. package/dist/slider.js +232 -0
  229. package/dist/steps.cjs +271 -0
  230. package/dist/steps.d.cts +104 -0
  231. package/dist/steps.d.ts +104 -0
  232. package/dist/steps.js +241 -0
  233. package/dist/swap.cjs +134 -0
  234. package/dist/swap.d.cts +49 -0
  235. package/dist/swap.d.ts +49 -0
  236. package/dist/swap.js +121 -0
  237. package/dist/switch.cjs +166 -0
  238. package/dist/switch.d.cts +58 -0
  239. package/dist/switch.d.ts +58 -0
  240. package/dist/switch.js +144 -0
  241. package/dist/tabs.cjs +177 -0
  242. package/dist/tabs.d.cts +59 -0
  243. package/dist/tabs.d.ts +59 -0
  244. package/dist/tabs.js +155 -0
  245. package/dist/tags-input.cjs +298 -0
  246. package/dist/tags-input.d.cts +98 -0
  247. package/dist/tags-input.d.ts +98 -0
  248. package/dist/tags-input.js +268 -0
  249. package/dist/timer.cjs +167 -0
  250. package/dist/timer.d.cts +63 -0
  251. package/dist/timer.d.ts +63 -0
  252. package/dist/timer.js +144 -0
  253. package/dist/toast.cjs +154 -0
  254. package/dist/toast.d.cts +59 -0
  255. package/dist/toast.d.ts +59 -0
  256. package/dist/toast.js +132 -0
  257. package/dist/toggle-group.cjs +118 -0
  258. package/dist/toggle-group.d.cts +43 -0
  259. package/dist/toggle-group.d.ts +43 -0
  260. package/dist/toggle-group.js +99 -0
  261. package/dist/toggle.cjs +85 -0
  262. package/dist/toggle.d.cts +38 -0
  263. package/dist/toggle.d.ts +38 -0
  264. package/dist/toggle.js +71 -0
  265. package/dist/tooltip.cjs +154 -0
  266. package/dist/tooltip.d.cts +68 -0
  267. package/dist/tooltip.d.ts +68 -0
  268. package/dist/tooltip.js +131 -0
  269. package/dist/tour.cjs +290 -0
  270. package/dist/tour.d.cts +112 -0
  271. package/dist/tour.d.ts +112 -0
  272. package/dist/tour.js +246 -0
  273. package/dist/tree-view-CNTEWXlu.js +339 -0
  274. package/dist/tree-view-CU4Hl5X1.cjs +484 -0
  275. package/dist/tree-view.cjs +41 -0
  276. package/dist/tree-view.d.cts +3 -0
  277. package/dist/tree-view.d.ts +3 -0
  278. package/dist/tree-view.js +3 -0
  279. package/dist/types-BQQfrr86.d.cts +6 -0
  280. package/dist/types-BQQfrr86.d.ts +6 -0
  281. package/dist/use-context-38DKWHsx.cjs +20 -0
  282. package/dist/use-context-CITa6pn9.js +10 -0
  283. package/dist/utils-Cfwm9WW1.cjs +166 -0
  284. package/dist/utils-CqLmqrgj.js +107 -0
  285. package/package.json +274 -6
@@ -0,0 +1,438 @@
1
+ const require_rolldown_runtime = require("./rolldown-runtime-DakpK96I.cjs");
2
+ const require_utils = require("./utils-Cfwm9WW1.cjs");
3
+ const require_environment = require("./environment-B6IaCAuQ.cjs");
4
+ require("./core-CBFAnVIP.cjs");
5
+ const require_factory = require("./factory-CFFufs5e.cjs");
6
+ require("./providers-DrJEJcrE.cjs");
7
+ const require_use_context = require("./use-context-38DKWHsx.cjs");
8
+ let react = require("react");
9
+ let _wirekyt_dom = require("@wirekyt/dom");
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ let _wirekyt_dom_dom_query = require("@wirekyt/dom/dom-query");
12
+ let _wirekyt_dom_anatomy = require("@wirekyt/dom/anatomy");
13
+ let _wirekyt_dom_auto_resize = require("@wirekyt/dom/auto-resize");
14
+ //#region src/components/field/use-context.ts
15
+ const [FieldProvider, useFieldContext] = require_utils.createContext({
16
+ name: "FieldContext",
17
+ hookName: "useFieldContext",
18
+ providerName: "<FieldProvider />",
19
+ strict: false
20
+ });
21
+ //#endregion
22
+ //#region src/components/field/context.tsx
23
+ const FieldContext = (props) => props.children(useFieldContext());
24
+ //#endregion
25
+ //#region src/components/field/error-text.tsx
26
+ const FieldErrorText = (0, react.forwardRef)((props, ref) => {
27
+ const field = useFieldContext();
28
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(field.getErrorTextProps(), props);
29
+ if (field?.invalid) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.span, {
30
+ ...mergedProps,
31
+ ref
32
+ });
33
+ return null;
34
+ });
35
+ FieldErrorText.displayName = "FieldErrorText";
36
+ //#endregion
37
+ //#region src/components/field/helper-text.tsx
38
+ const FieldHelperText = (0, react.forwardRef)((props, ref) => {
39
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(useFieldContext()?.getHelperTextProps(), props);
40
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.span, {
41
+ ...mergedProps,
42
+ ref
43
+ });
44
+ });
45
+ FieldHelperText.displayName = "FieldHelperText";
46
+ //#endregion
47
+ //#region src/components/field/input.tsx
48
+ const FieldInput = (0, react.forwardRef)((props, ref) => {
49
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(useFieldContext()?.getInputProps(), props);
50
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.input, {
51
+ ...mergedProps,
52
+ ref
53
+ });
54
+ });
55
+ FieldInput.displayName = "FieldInput";
56
+ //#endregion
57
+ //#region src/components/field/anatomy.ts
58
+ const fieldAnatomy = (0, _wirekyt_dom_anatomy.createAnatomy)("field").parts("root", "errorText", "helperText", "input", "label", "select", "textarea", "requiredIndicator");
59
+ const parts = fieldAnatomy.build();
60
+ //#endregion
61
+ //#region src/components/field/item.tsx
62
+ const FieldItem = (props) => {
63
+ const { value, children } = props;
64
+ const parentField = useFieldContext();
65
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FieldProvider, {
66
+ value: (0, react.useMemo)(() => {
67
+ if (!parentField) throw new Error("Field.Item must be used within Field.Root");
68
+ const controlId = `field::${parentField.ids.control}::item::${value}`;
69
+ const labelId = `${controlId}::label`;
70
+ const getControlProps = () => ({
71
+ ...parentField.getInputProps(),
72
+ id: controlId
73
+ });
74
+ return {
75
+ ...parentField,
76
+ ids: {
77
+ ...parentField.ids,
78
+ control: controlId,
79
+ label: labelId
80
+ },
81
+ getLabelProps: () => ({
82
+ ...parentField.getLabelProps(),
83
+ id: labelId,
84
+ htmlFor: controlId
85
+ }),
86
+ getInputProps: () => ({
87
+ ...getControlProps(),
88
+ ...parts.input.attrs
89
+ }),
90
+ getSelectProps: () => ({
91
+ ...getControlProps(),
92
+ ...parts.select.attrs
93
+ }),
94
+ getTextareaProps: () => ({
95
+ ...getControlProps(),
96
+ ...parts.textarea.attrs
97
+ })
98
+ };
99
+ }, [parentField, value]),
100
+ children
101
+ });
102
+ };
103
+ FieldItem.displayName = "FieldItem";
104
+ //#endregion
105
+ //#region src/components/field/label.tsx
106
+ const FieldLabel = (0, react.forwardRef)((props, ref) => {
107
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(useFieldContext()?.getLabelProps(), props);
108
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.label, {
109
+ ...mergedProps,
110
+ ref
111
+ });
112
+ });
113
+ FieldLabel.displayName = "FieldLabel";
114
+ //#endregion
115
+ //#region src/components/field/required-indicator.tsx
116
+ const FieldRequiredIndicator = (0, react.forwardRef)(({ fallback, ...props }, ref) => {
117
+ const field = useFieldContext();
118
+ if (!field.required) return fallback;
119
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(field.getRequiredIndicatorProps(), props);
120
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.span, {
121
+ ...mergedProps,
122
+ ref,
123
+ children: props.children ?? "*"
124
+ });
125
+ });
126
+ FieldRequiredIndicator.displayName = "FieldRequiredIndicator";
127
+ //#endregion
128
+ //#region src/components/field/use.ts
129
+ const useField = (props = {}) => {
130
+ const fieldset = require_use_context.useFieldsetContext();
131
+ const env = require_environment.useEnvironmentContext();
132
+ const { ids, target, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;
133
+ const [hasErrorText, setHasErrorText] = (0, react.useState)(false);
134
+ const [hasHelperText, setHasHelperText] = (0, react.useState)(false);
135
+ const uid = (0, react.useId)();
136
+ const id = props.id ?? uid;
137
+ const rootRef = (0, react.useRef)(null);
138
+ const rootId = ids?.control ?? `field::${id}`;
139
+ const errorTextId = ids?.errorText ?? `field::${id}::error-text`;
140
+ const helperTextId = ids?.helperText ?? `field::${id}::helper-text`;
141
+ const labelId = ids?.label ?? `field::${id}::label`;
142
+ require_utils.useSafeLayoutEffect(() => {
143
+ const rootNode = rootRef.current;
144
+ if (!rootNode) return;
145
+ const checkTextElements = () => {
146
+ const docOrShadowRoot = env.getRootNode();
147
+ setHasErrorText(!!docOrShadowRoot.getElementById(errorTextId));
148
+ setHasHelperText(!!docOrShadowRoot.getElementById(helperTextId));
149
+ };
150
+ checkTextElements();
151
+ const observer = new (env.getWindow()).MutationObserver(checkTextElements);
152
+ observer.observe(rootNode, {
153
+ childList: true,
154
+ subtree: true
155
+ });
156
+ return () => observer.disconnect();
157
+ }, [
158
+ env,
159
+ errorTextId,
160
+ helperTextId
161
+ ]);
162
+ const getRootProps = (0, react.useMemo)(() => () => ({
163
+ ...parts.root.attrs,
164
+ id: rootId,
165
+ ref: rootRef,
166
+ role: "group",
167
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(disabled),
168
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(invalid),
169
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(readOnly)
170
+ }), [
171
+ disabled,
172
+ invalid,
173
+ readOnly,
174
+ rootId
175
+ ]);
176
+ const targetControlId = target ? `field::${id}::item::${target}` : void 0;
177
+ const getLabelProps = (0, react.useMemo)(() => () => ({
178
+ ...parts.label.attrs,
179
+ id: labelId,
180
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(disabled),
181
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(invalid),
182
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(readOnly),
183
+ "data-required": (0, _wirekyt_dom_dom_query.dataAttr)(required),
184
+ htmlFor: targetControlId ?? id
185
+ }), [
186
+ disabled,
187
+ invalid,
188
+ readOnly,
189
+ required,
190
+ id,
191
+ labelId,
192
+ targetControlId
193
+ ]);
194
+ const errorMessageId = hasErrorText && invalid ? errorTextId : void 0;
195
+ const getControlProps = (0, react.useMemo)(() => () => ({
196
+ "aria-describedby": hasHelperText ? helperTextId : void 0,
197
+ "aria-errormessage": errorMessageId,
198
+ "aria-invalid": (0, _wirekyt_dom_dom_query.ariaAttr)(invalid),
199
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(invalid),
200
+ "data-required": (0, _wirekyt_dom_dom_query.dataAttr)(required),
201
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(readOnly),
202
+ id,
203
+ required,
204
+ disabled,
205
+ readOnly
206
+ }), [
207
+ hasHelperText,
208
+ helperTextId,
209
+ invalid,
210
+ required,
211
+ readOnly,
212
+ id,
213
+ errorMessageId,
214
+ disabled
215
+ ]);
216
+ const getInputProps = (0, react.useMemo)(() => () => ({
217
+ ...getControlProps(),
218
+ ...parts.input.attrs
219
+ }), [getControlProps]);
220
+ const getTextareaProps = (0, react.useMemo)(() => () => ({
221
+ ...getControlProps(),
222
+ ...parts.textarea.attrs
223
+ }), [getControlProps]);
224
+ const getSelectProps = (0, react.useMemo)(() => () => ({
225
+ ...getControlProps(),
226
+ ...parts.select.attrs
227
+ }), [getControlProps]);
228
+ const getHelperTextProps = (0, react.useMemo)(() => () => ({
229
+ id: helperTextId,
230
+ ...parts.helperText.attrs,
231
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(disabled)
232
+ }), [disabled, helperTextId]);
233
+ const getErrorTextProps = (0, react.useMemo)(() => () => ({
234
+ id: errorTextId,
235
+ ...parts.errorText.attrs,
236
+ "aria-live": "polite"
237
+ }), [errorTextId]);
238
+ const getRequiredIndicatorProps = (0, react.useMemo)(() => () => ({
239
+ "aria-hidden": true,
240
+ ...parts.requiredIndicator.attrs
241
+ }), []);
242
+ return {
243
+ ariaDescribedby: hasHelperText ? helperTextId : void 0,
244
+ ids: {
245
+ root: rootId,
246
+ control: id,
247
+ label: labelId,
248
+ errorText: errorTextId,
249
+ helperText: helperTextId
250
+ },
251
+ refs: { rootRef },
252
+ disabled,
253
+ invalid,
254
+ readOnly,
255
+ required,
256
+ getLabelProps,
257
+ getRootProps,
258
+ getInputProps,
259
+ getTextareaProps,
260
+ getSelectProps,
261
+ getHelperTextProps,
262
+ getErrorTextProps,
263
+ getRequiredIndicatorProps
264
+ };
265
+ };
266
+ //#endregion
267
+ //#region src/components/field/root.tsx
268
+ const splitRootProps = require_utils.createSplitProps();
269
+ const FieldRoot = (0, react.forwardRef)((props, ref) => {
270
+ const [useFieldProps, localProps] = splitRootProps(props, [
271
+ "id",
272
+ "ids",
273
+ "disabled",
274
+ "invalid",
275
+ "readOnly",
276
+ "required",
277
+ "target"
278
+ ]);
279
+ const field = useField(useFieldProps);
280
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(field.getRootProps(), localProps);
281
+ const composedRefs = require_utils.useComposedRefs(ref, field.refs.rootRef);
282
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FieldProvider, {
283
+ value: field,
284
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.div, {
285
+ ...mergedProps,
286
+ ref: composedRefs
287
+ })
288
+ });
289
+ });
290
+ FieldRoot.displayName = "FieldRoot";
291
+ //#endregion
292
+ //#region src/components/field/root-provider.tsx
293
+ const splitRootProviderProps = require_utils.createSplitProps();
294
+ const FieldRootProvider = (0, react.forwardRef)((props, ref) => {
295
+ const [{ value: field }, localProps] = splitRootProviderProps(props, ["value"]);
296
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(field.getRootProps(), localProps);
297
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FieldProvider, {
298
+ value: field,
299
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.div, {
300
+ ...mergedProps,
301
+ ref
302
+ })
303
+ });
304
+ });
305
+ FieldRootProvider.displayName = "FieldRootProvider";
306
+ //#endregion
307
+ //#region src/components/field/select.tsx
308
+ const FieldSelect = (0, react.forwardRef)((props, ref) => {
309
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(useFieldContext()?.getSelectProps(), props);
310
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.select, {
311
+ ...mergedProps,
312
+ ref
313
+ });
314
+ });
315
+ FieldSelect.displayName = "FieldSelect";
316
+ //#endregion
317
+ //#region src/components/field/textarea.tsx
318
+ const FieldTextarea = (0, react.forwardRef)((props, ref) => {
319
+ const { autoresize, ...textareaProps } = props;
320
+ const textareaRef = (0, react.useRef)(null);
321
+ const mergedProps = (0, _wirekyt_dom.mergeProps)(useFieldContext()?.getTextareaProps(), { style: { resize: autoresize ? "none" : void 0 } }, textareaProps);
322
+ const composedRefs = require_utils.useComposedRefs(ref, textareaRef);
323
+ (0, react.useEffect)(() => {
324
+ if (!autoresize) return;
325
+ return (0, _wirekyt_dom_auto_resize.autoresizeTextarea)(textareaRef.current);
326
+ }, [autoresize]);
327
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.wire.textarea, {
328
+ ...mergedProps,
329
+ ref: composedRefs
330
+ });
331
+ });
332
+ FieldTextarea.displayName = "FieldTextarea";
333
+ //#endregion
334
+ //#region src/components/field/field.ts
335
+ var field_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
336
+ Context: () => FieldContext,
337
+ ErrorText: () => FieldErrorText,
338
+ HelperText: () => FieldHelperText,
339
+ Input: () => FieldInput,
340
+ Item: () => FieldItem,
341
+ Label: () => FieldLabel,
342
+ RequiredIndicator: () => FieldRequiredIndicator,
343
+ Root: () => FieldRoot,
344
+ RootProvider: () => FieldRootProvider,
345
+ Select: () => FieldSelect,
346
+ Textarea: () => FieldTextarea
347
+ });
348
+ //#endregion
349
+ Object.defineProperty(exports, "FieldContext", {
350
+ enumerable: true,
351
+ get: function() {
352
+ return FieldContext;
353
+ }
354
+ });
355
+ Object.defineProperty(exports, "FieldErrorText", {
356
+ enumerable: true,
357
+ get: function() {
358
+ return FieldErrorText;
359
+ }
360
+ });
361
+ Object.defineProperty(exports, "FieldHelperText", {
362
+ enumerable: true,
363
+ get: function() {
364
+ return FieldHelperText;
365
+ }
366
+ });
367
+ Object.defineProperty(exports, "FieldInput", {
368
+ enumerable: true,
369
+ get: function() {
370
+ return FieldInput;
371
+ }
372
+ });
373
+ Object.defineProperty(exports, "FieldItem", {
374
+ enumerable: true,
375
+ get: function() {
376
+ return FieldItem;
377
+ }
378
+ });
379
+ Object.defineProperty(exports, "FieldLabel", {
380
+ enumerable: true,
381
+ get: function() {
382
+ return FieldLabel;
383
+ }
384
+ });
385
+ Object.defineProperty(exports, "FieldRequiredIndicator", {
386
+ enumerable: true,
387
+ get: function() {
388
+ return FieldRequiredIndicator;
389
+ }
390
+ });
391
+ Object.defineProperty(exports, "FieldRoot", {
392
+ enumerable: true,
393
+ get: function() {
394
+ return FieldRoot;
395
+ }
396
+ });
397
+ Object.defineProperty(exports, "FieldRootProvider", {
398
+ enumerable: true,
399
+ get: function() {
400
+ return FieldRootProvider;
401
+ }
402
+ });
403
+ Object.defineProperty(exports, "FieldSelect", {
404
+ enumerable: true,
405
+ get: function() {
406
+ return FieldSelect;
407
+ }
408
+ });
409
+ Object.defineProperty(exports, "FieldTextarea", {
410
+ enumerable: true,
411
+ get: function() {
412
+ return FieldTextarea;
413
+ }
414
+ });
415
+ Object.defineProperty(exports, "fieldAnatomy", {
416
+ enumerable: true,
417
+ get: function() {
418
+ return fieldAnatomy;
419
+ }
420
+ });
421
+ Object.defineProperty(exports, "field_exports", {
422
+ enumerable: true,
423
+ get: function() {
424
+ return field_exports;
425
+ }
426
+ });
427
+ Object.defineProperty(exports, "useField", {
428
+ enumerable: true,
429
+ get: function() {
430
+ return useField;
431
+ }
432
+ });
433
+ Object.defineProperty(exports, "useFieldContext", {
434
+ enumerable: true,
435
+ get: function() {
436
+ return useFieldContext;
437
+ }
438
+ });
package/dist/field.cjs ADDED
@@ -0,0 +1,22 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_field = require("./field-x8H5uXB9.cjs");
3
+ Object.defineProperty(exports, "Field", {
4
+ enumerable: true,
5
+ get: function() {
6
+ return require_field.field_exports;
7
+ }
8
+ });
9
+ exports.FieldContext = require_field.FieldContext;
10
+ exports.FieldErrorText = require_field.FieldErrorText;
11
+ exports.FieldHelperText = require_field.FieldHelperText;
12
+ exports.FieldInput = require_field.FieldInput;
13
+ exports.FieldItem = require_field.FieldItem;
14
+ exports.FieldLabel = require_field.FieldLabel;
15
+ exports.FieldRequiredIndicator = require_field.FieldRequiredIndicator;
16
+ exports.FieldRoot = require_field.FieldRoot;
17
+ exports.FieldRootProvider = require_field.FieldRootProvider;
18
+ exports.FieldSelect = require_field.FieldSelect;
19
+ exports.FieldTextarea = require_field.FieldTextarea;
20
+ exports.fieldAnatomy = require_field.fieldAnatomy;
21
+ exports.useField = require_field.useField;
22
+ exports.useFieldContext = require_field.useFieldContext;
@@ -0,0 +1,129 @@
1
+ import { r as PolymorphicProps, t as HTMLProps } from "./factory--dkoVnFK.cjs";
2
+ import { PropsWithChildren, ReactNode } from "react";
3
+ //#region src/components/field/use.d.ts
4
+ interface ElementIds {
5
+ root?: string | undefined;
6
+ control?: string | undefined;
7
+ label?: string | undefined;
8
+ errorText?: string | undefined;
9
+ helperText?: string | undefined;
10
+ }
11
+ interface UseFieldProps {
12
+ id?: string | undefined;
13
+ ids?: ElementIds | undefined;
14
+ required?: boolean | undefined;
15
+ disabled?: boolean | undefined;
16
+ invalid?: boolean | undefined;
17
+ readOnly?: boolean | undefined;
18
+ target?: string | undefined;
19
+ }
20
+ type UseFieldReturn = ReturnType<typeof useField>;
21
+ declare const useField: (props?: UseFieldProps) => {
22
+ ariaDescribedby: string | undefined;
23
+ ids: {
24
+ root: string;
25
+ control: string;
26
+ label: string;
27
+ errorText: string;
28
+ helperText: string;
29
+ };
30
+ refs: {
31
+ rootRef: import("react").RefObject<HTMLDivElement | null>;
32
+ };
33
+ disabled: boolean;
34
+ invalid: boolean;
35
+ readOnly: boolean;
36
+ required: boolean;
37
+ getLabelProps: () => HTMLProps<"label">;
38
+ getRootProps: () => HTMLProps<"div">;
39
+ getInputProps: () => HTMLProps<"input">;
40
+ getTextareaProps: () => HTMLProps<"textarea">;
41
+ getSelectProps: () => HTMLProps<"select">;
42
+ getHelperTextProps: () => HTMLProps<"span">;
43
+ getErrorTextProps: () => HTMLProps<"span">;
44
+ getRequiredIndicatorProps: () => HTMLProps<"span">;
45
+ };
46
+ //#endregion
47
+ //#region src/components/field/use-context.d.ts
48
+ interface UseFieldContext extends UseFieldReturn {}
49
+ declare const FieldProvider: import("react").Provider<UseFieldContext>, useFieldContext: () => UseFieldContext;
50
+ //#endregion
51
+ //#region src/components/field/context.d.ts
52
+ interface FieldContextProps {
53
+ children: (context: UseFieldContext) => ReactNode;
54
+ }
55
+ declare const FieldContext: (props: FieldContextProps) => ReactNode;
56
+ //#endregion
57
+ //#region src/components/field/error-text.d.ts
58
+ interface FieldErrorTextBaseProps extends PolymorphicProps {}
59
+ interface FieldErrorTextProps extends HTMLProps<"span">, FieldErrorTextBaseProps {}
60
+ declare const FieldErrorText: import("react").ForwardRefExoticComponent<FieldErrorTextProps & import("react").RefAttributes<HTMLSpanElement>>;
61
+ //#endregion
62
+ //#region src/components/field/helper-text.d.ts
63
+ interface FieldHelperTextBaseProps extends PolymorphicProps {}
64
+ interface FieldHelperTextProps extends HTMLProps<"span">, FieldHelperTextBaseProps {}
65
+ declare const FieldHelperText: import("react").ForwardRefExoticComponent<FieldHelperTextProps & import("react").RefAttributes<HTMLSpanElement>>;
66
+ //#endregion
67
+ //#region src/components/field/input.d.ts
68
+ interface FieldInputBaseProps extends PolymorphicProps {}
69
+ interface FieldInputProps extends HTMLProps<"input">, FieldInputBaseProps {}
70
+ declare const FieldInput: import("react").ForwardRefExoticComponent<FieldInputProps & import("react").RefAttributes<HTMLInputElement>>;
71
+ //#endregion
72
+ //#region src/components/field/item.d.ts
73
+ interface FieldItemBaseProps {
74
+ value: string;
75
+ }
76
+ interface FieldItemProps extends PropsWithChildren<FieldItemBaseProps> {}
77
+ declare const FieldItem: {
78
+ (props: FieldItemProps): import("react").JSX.Element;
79
+ displayName: string;
80
+ };
81
+ //#endregion
82
+ //#region src/components/field/label.d.ts
83
+ interface FieldLabelBaseProps extends PolymorphicProps {}
84
+ interface FieldLabelProps extends HTMLProps<"label">, FieldLabelBaseProps {}
85
+ declare const FieldLabel: import("react").ForwardRefExoticComponent<FieldLabelProps & import("react").RefAttributes<HTMLLabelElement>>;
86
+ //#endregion
87
+ //#region src/components/field/required-indicator.d.ts
88
+ interface FieldRequiredIndicatorBaseProps extends PolymorphicProps {
89
+ fallback?: React.ReactNode | undefined;
90
+ }
91
+ interface FieldRequiredIndicatorProps extends HTMLProps<"span">, FieldRequiredIndicatorBaseProps {}
92
+ declare const FieldRequiredIndicator: import("react").ForwardRefExoticComponent<FieldRequiredIndicatorProps & import("react").RefAttributes<HTMLSpanElement>>;
93
+ //#endregion
94
+ //#region src/components/field/root.d.ts
95
+ interface FieldRootBaseProps extends UseFieldProps, PolymorphicProps {}
96
+ interface FieldRootProps extends HTMLProps<"div">, FieldRootBaseProps {}
97
+ declare const FieldRoot: import("react").ForwardRefExoticComponent<FieldRootProps & import("react").RefAttributes<HTMLDivElement>>;
98
+ //#endregion
99
+ //#region src/components/field/root-provider.d.ts
100
+ interface RootProviderProps {
101
+ value: UseFieldReturn;
102
+ }
103
+ interface FieldRootProviderBaseProps extends RootProviderProps, PolymorphicProps {}
104
+ interface FieldRootProviderProps extends HTMLProps<"div">, FieldRootProviderBaseProps {}
105
+ declare const FieldRootProvider: import("react").ForwardRefExoticComponent<FieldRootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
106
+ //#endregion
107
+ //#region src/components/field/select.d.ts
108
+ interface FieldSelectBaseProps extends PolymorphicProps {}
109
+ interface FieldSelectProps extends HTMLProps<"select">, FieldSelectBaseProps {}
110
+ declare const FieldSelect: import("react").ForwardRefExoticComponent<FieldSelectProps & import("react").RefAttributes<HTMLSelectElement>>;
111
+ //#endregion
112
+ //#region src/components/field/textarea.d.ts
113
+ interface FieldTextareaBaseProps extends PolymorphicProps {
114
+ /**
115
+ * Whether the textarea should autoresize
116
+ * @default false
117
+ */
118
+ autoresize?: boolean | undefined;
119
+ }
120
+ interface FieldTextareaProps extends HTMLProps<"textarea">, FieldTextareaBaseProps {}
121
+ declare const FieldTextarea: import("react").ForwardRefExoticComponent<FieldTextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
122
+ //#endregion
123
+ //#region src/components/field/anatomy.d.ts
124
+ declare const fieldAnatomy: import("@wirekyt/dom/anatomy").AnatomyInstance<"input" | "label" | "select" | "textarea" | "root" | "errorText" | "helperText" | "requiredIndicator">;
125
+ declare namespace field_d_exports {
126
+ export { FieldContext as Context, FieldContextProps as ContextProps, FieldErrorText as ErrorText, FieldErrorTextBaseProps as ErrorTextBaseProps, FieldErrorTextProps as ErrorTextProps, FieldHelperText as HelperText, FieldHelperTextBaseProps as HelperTextBaseProps, FieldHelperTextProps as HelperTextProps, FieldInput as Input, FieldInputBaseProps as InputBaseProps, FieldInputProps as InputProps, FieldItem as Item, FieldItemBaseProps as ItemBaseProps, FieldItemProps as ItemProps, FieldLabel as Label, FieldLabelBaseProps as LabelBaseProps, FieldLabelProps as LabelProps, FieldRequiredIndicator as RequiredIndicator, FieldRequiredIndicatorBaseProps as RequiredIndicatorBaseProps, FieldRequiredIndicatorProps as RequiredIndicatorProps, FieldRoot as Root, FieldRootBaseProps as RootBaseProps, FieldRootProps as RootProps, FieldRootProvider as RootProvider, FieldRootProviderBaseProps as RootProviderBaseProps, FieldRootProviderProps as RootProviderProps, FieldSelect as Select, FieldSelectBaseProps as SelectBaseProps, FieldSelectProps as SelectProps, FieldTextarea as Textarea, FieldTextareaBaseProps as TextareaBaseProps, FieldTextareaProps as TextareaProps };
127
+ }
128
+ //#endregion
129
+ export { field_d_exports as Field, FieldContext, type FieldContextProps, FieldErrorText, type FieldErrorTextBaseProps, type FieldErrorTextProps, FieldHelperText, type FieldHelperTextBaseProps, type FieldHelperTextProps, FieldInput, type FieldInputBaseProps, type FieldInputProps, FieldItem, type FieldItemBaseProps, type FieldItemProps, FieldLabel, type FieldLabelBaseProps, type FieldLabelProps, FieldRequiredIndicator, type FieldRequiredIndicatorBaseProps, type FieldRequiredIndicatorProps, FieldRoot, type FieldRootBaseProps, type FieldRootProps, FieldRootProvider, type FieldRootProviderBaseProps, type FieldRootProviderProps, FieldSelect, type FieldSelectBaseProps, type FieldSelectProps, FieldTextarea, type FieldTextareaBaseProps, type FieldTextareaProps, type UseFieldContext, type UseFieldProps, type UseFieldReturn, fieldAnatomy, useField, useFieldContext };