@wirekyt/react 0.0.1 → 0.0.2

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-CUyHBXOI.d.cts +33 -0
  127. package/dist/index-CW-Aj6aT.d.ts +95 -0
  128. package/dist/index-CxWYgVJk.d.ts +23 -0
  129. package/dist/index-D7JH9e9E.d.ts +33 -0
  130. package/dist/index-DTLK6Fuh.d.cts +95 -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,202 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { c as createSplitProps, u as createContext$1 } from "./utils-CqLmqrgj.js";
3
+ import { n as useEnvironmentContext } from "./environment-BTgKwk5E.js";
4
+ import { a as useMachine, i as normalizeProps, t as mergeProps } from "./core-CEYOEcVI.js";
5
+ import { n as wire } from "./factory-Nm__-4xn.js";
6
+ import { a as useLocaleContext } from "./providers-FEHnDTvb.js";
7
+ import { h as useFieldContext } from "./field-Cy1E02DH.js";
8
+ import { forwardRef, useId } from "react";
9
+ import { jsx } from "react/jsx-runtime";
10
+ import * as editable from "@wirekyt/dom/machines/editable";
11
+ import { anatomy as editableAnatomy } from "@wirekyt/dom/machines/editable";
12
+ //#region src/components/editable/use-context.ts
13
+ const [EditableProvider, useEditableContext] = createContext$1({
14
+ name: "EditableContext",
15
+ hookName: "useEditableContext",
16
+ providerName: "<EditableProvider />"
17
+ });
18
+ //#endregion
19
+ //#region src/components/editable/area.tsx
20
+ const EditableArea = forwardRef((props, ref) => {
21
+ const mergedProps = mergeProps(useEditableContext().getAreaProps(), props);
22
+ return /* @__PURE__ */ jsx(wire.div, {
23
+ ...mergedProps,
24
+ ref
25
+ });
26
+ });
27
+ EditableArea.displayName = "EditableArea";
28
+ //#endregion
29
+ //#region src/components/editable/cancel-trigger.tsx
30
+ const EditableCancelTrigger = forwardRef((props, ref) => {
31
+ const mergedProps = mergeProps(useEditableContext().getCancelTriggerProps(), props);
32
+ return /* @__PURE__ */ jsx(wire.button, {
33
+ ...mergedProps,
34
+ ref
35
+ });
36
+ });
37
+ EditableCancelTrigger.displayName = "EditableCancelTrigger";
38
+ //#endregion
39
+ //#region src/components/editable/context.tsx
40
+ const EditableContext = (props) => props.children(useEditableContext());
41
+ //#endregion
42
+ //#region src/components/editable/control.tsx
43
+ const EditableControl = forwardRef((props, ref) => {
44
+ const mergedProps = mergeProps(useEditableContext().getControlProps(), props);
45
+ return /* @__PURE__ */ jsx(wire.div, {
46
+ ...mergedProps,
47
+ ref
48
+ });
49
+ });
50
+ EditableControl.displayName = "EditableControl";
51
+ //#endregion
52
+ //#region src/components/editable/edit-trigger.tsx
53
+ const EditableEditTrigger = forwardRef((props, ref) => {
54
+ const mergedProps = mergeProps(useEditableContext().getEditTriggerProps(), props);
55
+ return /* @__PURE__ */ jsx(wire.button, {
56
+ ...mergedProps,
57
+ ref
58
+ });
59
+ });
60
+ EditableEditTrigger.displayName = "EditableEditTrigger";
61
+ //#endregion
62
+ //#region src/components/editable/input.tsx
63
+ const EditableInput = forwardRef((props, ref) => {
64
+ const mergedProps = mergeProps(useEditableContext().getInputProps(), props);
65
+ const field = useFieldContext();
66
+ return /* @__PURE__ */ jsx(wire.input, {
67
+ "aria-describedby": field?.ariaDescribedby,
68
+ ...mergedProps,
69
+ ref
70
+ });
71
+ });
72
+ EditableInput.displayName = "EditableInput";
73
+ //#endregion
74
+ //#region src/components/editable/label.tsx
75
+ const EditableLabel = forwardRef((props, ref) => {
76
+ const mergedProps = mergeProps(useEditableContext().getLabelProps(), props);
77
+ return /* @__PURE__ */ jsx(wire.label, {
78
+ ...mergedProps,
79
+ ref
80
+ });
81
+ });
82
+ EditableLabel.displayName = "EditableLabel";
83
+ //#endregion
84
+ //#region src/components/editable/preview.tsx
85
+ const EditablePreview = forwardRef((props, ref) => {
86
+ const mergedProps = mergeProps(useEditableContext().getPreviewProps(), props);
87
+ return /* @__PURE__ */ jsx(wire.span, {
88
+ ...mergedProps,
89
+ ref
90
+ });
91
+ });
92
+ EditablePreview.displayName = "EditablePreview";
93
+ //#endregion
94
+ //#region src/components/editable/use-editable.ts
95
+ const useEditable = (props) => {
96
+ const id = useId();
97
+ const { getRootNode } = useEnvironmentContext();
98
+ const { dir } = useLocaleContext();
99
+ const field = useFieldContext();
100
+ const machineProps = {
101
+ id,
102
+ ids: {
103
+ label: field?.ids.label,
104
+ input: field?.ids.control
105
+ },
106
+ dir,
107
+ disabled: field?.disabled,
108
+ invalid: field?.invalid,
109
+ readOnly: field?.readOnly,
110
+ required: field?.required,
111
+ getRootNode,
112
+ ...props
113
+ };
114
+ const service = useMachine(editable.machine, machineProps);
115
+ return editable.connect(service, normalizeProps);
116
+ };
117
+ //#endregion
118
+ //#region src/components/editable/root.tsx
119
+ const splitRootProps = createSplitProps();
120
+ const EditableRoot = forwardRef((props, ref) => {
121
+ const [useEditableProps, localProps] = splitRootProps(props, [
122
+ "activationMode",
123
+ "autoResize",
124
+ "defaultEdit",
125
+ "defaultValue",
126
+ "disabled",
127
+ "edit",
128
+ "finalFocusEl",
129
+ "form",
130
+ "id",
131
+ "ids",
132
+ "invalid",
133
+ "maxLength",
134
+ "name",
135
+ "onEditChange",
136
+ "onFocusOutside",
137
+ "onInteractOutside",
138
+ "onPointerDownOutside",
139
+ "onValueChange",
140
+ "onValueCommit",
141
+ "onValueRevert",
142
+ "placeholder",
143
+ "readOnly",
144
+ "required",
145
+ "selectOnFocus",
146
+ "submitMode",
147
+ "translations",
148
+ "value"
149
+ ]);
150
+ const editable = useEditable(useEditableProps);
151
+ const mergedProps = mergeProps(editable.getRootProps(), localProps);
152
+ return /* @__PURE__ */ jsx(EditableProvider, {
153
+ value: editable,
154
+ children: /* @__PURE__ */ jsx(wire.div, {
155
+ ...mergedProps,
156
+ ref
157
+ })
158
+ });
159
+ });
160
+ EditableRoot.displayName = "EditableRoot";
161
+ //#endregion
162
+ //#region src/components/editable/root-provider.tsx
163
+ const splitRootProviderProps = createSplitProps();
164
+ const EditableRootProvider = forwardRef((props, ref) => {
165
+ const [{ value: editable }, localProps] = splitRootProviderProps(props, ["value"]);
166
+ const mergedProps = mergeProps(editable.getRootProps(), localProps);
167
+ return /* @__PURE__ */ jsx(EditableProvider, {
168
+ value: editable,
169
+ children: /* @__PURE__ */ jsx(wire.div, {
170
+ ...mergedProps,
171
+ ref
172
+ })
173
+ });
174
+ });
175
+ EditableRootProvider.displayName = "EditableRootProvider";
176
+ //#endregion
177
+ //#region src/components/editable/submit-trigger.tsx
178
+ const EditableSubmitTrigger = forwardRef((props, ref) => {
179
+ const mergedProps = mergeProps(useEditableContext().getSubmitTriggerProps(), props);
180
+ return /* @__PURE__ */ jsx(wire.button, {
181
+ ...mergedProps,
182
+ ref
183
+ });
184
+ });
185
+ EditableSubmitTrigger.displayName = "EditableSubmitTrigger";
186
+ //#endregion
187
+ //#region src/components/editable/editable.ts
188
+ var editable_exports = /* @__PURE__ */ __exportAll({
189
+ Area: () => EditableArea,
190
+ CancelTrigger: () => EditableCancelTrigger,
191
+ Context: () => EditableContext,
192
+ Control: () => EditableControl,
193
+ EditTrigger: () => EditableEditTrigger,
194
+ Input: () => EditableInput,
195
+ Label: () => EditableLabel,
196
+ Preview: () => EditablePreview,
197
+ Root: () => EditableRoot,
198
+ RootProvider: () => EditableRootProvider,
199
+ SubmitTrigger: () => EditableSubmitTrigger
200
+ });
201
+ //#endregion
202
+ export { editable_exports as Editable, EditableArea, EditableCancelTrigger, EditableContext, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableRoot, EditableRootProvider, EditableSubmitTrigger, editableAnatomy, useEditable, useEditableContext };
@@ -0,0 +1,59 @@
1
+ const require_utils = require("./utils-Cfwm9WW1.cjs");
2
+ let react = require("react");
3
+ let react_jsx_runtime = require("react/jsx-runtime");
4
+ let _wirekyt_dom_dom_query = require("@wirekyt/dom/dom-query");
5
+ //#region src/utils/run-if-fn.ts
6
+ const isFunction = (value) => typeof value === "function";
7
+ const runIfFn = (valueOrFn, ...args) => isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn;
8
+ //#endregion
9
+ //#region src/providers/environment/use-context.ts
10
+ const [EnvironmentContextProvider, useEnvironmentContext] = require_utils.createContext({
11
+ name: "EnvironmentContext",
12
+ hookName: "useEnvironmentContext",
13
+ providerName: "<EnvironmentProvider />",
14
+ strict: false,
15
+ defaultValue: {
16
+ getRootNode: () => document,
17
+ getDocument: () => document,
18
+ getWindow: () => window
19
+ }
20
+ });
21
+ //#endregion
22
+ //#region src/providers/environment/provider.tsx
23
+ const EnvironmentProvider = (props) => {
24
+ const { value, children } = props;
25
+ const [spanRef, setSpanRef] = (0, react.useState)();
26
+ const getRootNode = (0, react.useMemo)(() => {
27
+ return () => runIfFn(value) ?? spanRef?.getRootNode() ?? document;
28
+ }, [value, spanRef]);
29
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(EnvironmentContextProvider, {
30
+ value: (0, react.useMemo)(() => ({
31
+ getRootNode,
32
+ getWindow: () => (0, _wirekyt_dom_dom_query.getWindow)(getRootNode()),
33
+ getDocument: () => (0, _wirekyt_dom_dom_query.getDocument)(getRootNode())
34
+ }), [getRootNode]),
35
+ children: [children, !value && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
36
+ hidden: true,
37
+ ref: setSpanRef
38
+ })]
39
+ });
40
+ };
41
+ //#endregion
42
+ Object.defineProperty(exports, "EnvironmentProvider", {
43
+ enumerable: true,
44
+ get: function() {
45
+ return EnvironmentProvider;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "runIfFn", {
49
+ enumerable: true,
50
+ get: function() {
51
+ return runIfFn;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "useEnvironmentContext", {
55
+ enumerable: true,
56
+ get: function() {
57
+ return useEnvironmentContext;
58
+ }
59
+ });
@@ -0,0 +1,42 @@
1
+ import { u as createContext$1 } from "./utils-CqLmqrgj.js";
2
+ import { useMemo, useState } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { getDocument, getWindow } from "@wirekyt/dom/dom-query";
5
+ //#region src/utils/run-if-fn.ts
6
+ const isFunction = (value) => typeof value === "function";
7
+ const runIfFn = (valueOrFn, ...args) => isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn;
8
+ //#endregion
9
+ //#region src/providers/environment/use-context.ts
10
+ const [EnvironmentContextProvider, useEnvironmentContext] = createContext$1({
11
+ name: "EnvironmentContext",
12
+ hookName: "useEnvironmentContext",
13
+ providerName: "<EnvironmentProvider />",
14
+ strict: false,
15
+ defaultValue: {
16
+ getRootNode: () => document,
17
+ getDocument: () => document,
18
+ getWindow: () => window
19
+ }
20
+ });
21
+ //#endregion
22
+ //#region src/providers/environment/provider.tsx
23
+ const EnvironmentProvider = (props) => {
24
+ const { value, children } = props;
25
+ const [spanRef, setSpanRef] = useState();
26
+ const getRootNode = useMemo(() => {
27
+ return () => runIfFn(value) ?? spanRef?.getRootNode() ?? document;
28
+ }, [value, spanRef]);
29
+ return /* @__PURE__ */ jsxs(EnvironmentContextProvider, {
30
+ value: useMemo(() => ({
31
+ getRootNode,
32
+ getWindow: () => getWindow(getRootNode()),
33
+ getDocument: () => getDocument(getRootNode())
34
+ }), [getRootNode]),
35
+ children: [children, !value && /* @__PURE__ */ jsx("span", {
36
+ hidden: true,
37
+ ref: setSpanRef
38
+ })]
39
+ });
40
+ };
41
+ //#endregion
42
+ export { useEnvironmentContext as n, runIfFn as r, EnvironmentProvider as t };
@@ -0,0 +1,14 @@
1
+ import React, { ComponentPropsWithoutRef, JSX } from "react";
2
+ //#region src/components/factory.d.ts
3
+ interface PolymorphicProps {
4
+ asChild?: boolean | undefined;
5
+ }
6
+ type JsxElements = { [E in keyof JSX.IntrinsicElements]: WireForwardRefComponent<E>; };
7
+ type WireForwardRefComponent<E extends React.ElementType> = React.ForwardRefExoticComponent<WirePropsWithRef<E>>;
8
+ type WirePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & PolymorphicProps;
9
+ type HTMLProps<T extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<T>;
10
+ type HTMLWireProps<T extends keyof JSX.IntrinsicElements> = HTMLProps<T> & PolymorphicProps;
11
+ declare const jsxFactory: () => JsxElements;
12
+ declare const wire: JsxElements;
13
+ //#endregion
14
+ export { wire as a, jsxFactory as i, HTMLWireProps as n, PolymorphicProps as r, HTMLProps as t };
@@ -0,0 +1,14 @@
1
+ import React, { ComponentPropsWithoutRef, JSX } from "react";
2
+ //#region src/components/factory.d.ts
3
+ interface PolymorphicProps {
4
+ asChild?: boolean | undefined;
5
+ }
6
+ type JsxElements = { [E in keyof JSX.IntrinsicElements]: WireForwardRefComponent<E>; };
7
+ type WireForwardRefComponent<E extends React.ElementType> = React.ForwardRefExoticComponent<WirePropsWithRef<E>>;
8
+ type WirePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & PolymorphicProps;
9
+ type HTMLProps<T extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<T>;
10
+ type HTMLWireProps<T extends keyof JSX.IntrinsicElements> = HTMLProps<T> & PolymorphicProps;
11
+ declare const jsxFactory: () => JsxElements;
12
+ declare const wire: JsxElements;
13
+ //#endregion
14
+ export { wire as a, jsxFactory as i, HTMLWireProps as n, PolymorphicProps as r, HTMLProps as t };
@@ -0,0 +1,59 @@
1
+ const require_utils = require("./utils-Cfwm9WW1.cjs");
2
+ let react = require("react");
3
+ let _wirekyt_dom = require("@wirekyt/dom");
4
+ //#region src/components/factory.ts
5
+ function getRef(element) {
6
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
7
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
8
+ if (mayWarn) return element.ref;
9
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
10
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
11
+ if (mayWarn) return element.props.ref;
12
+ return element.props.ref || element.ref;
13
+ }
14
+ const withAsChild = (Component) => {
15
+ const Comp = (0, react.memo)((0, react.forwardRef)((props, ref) => {
16
+ const { asChild, children, ...restProps } = props;
17
+ const onlyChild = asChild && (0, react.isValidElement)(children) ? react.Children.only(children) : void 0;
18
+ const childRef = onlyChild ? getRef(onlyChild) : void 0;
19
+ const composedRef = require_utils.useComposedRefs(ref, childRef);
20
+ if (!asChild) return (0, react.createElement)(Component, {
21
+ ...restProps,
22
+ ref
23
+ }, children);
24
+ if (!onlyChild) return null;
25
+ return (0, react.cloneElement)(onlyChild, {
26
+ ...(0, _wirekyt_dom.mergeProps)(restProps, onlyChild.props),
27
+ ref: ref ? composedRef : childRef
28
+ });
29
+ }));
30
+ Comp.displayName = Component.displayName || Component.name;
31
+ return Comp;
32
+ };
33
+ const jsxFactory = () => {
34
+ const cache = /* @__PURE__ */ new Map();
35
+ return new Proxy(withAsChild, {
36
+ apply(_target, _thisArg, argArray) {
37
+ return withAsChild(argArray[0]);
38
+ },
39
+ get(_, element) {
40
+ const asElement = element;
41
+ if (!cache.has(asElement)) cache.set(asElement, withAsChild(asElement));
42
+ return cache.get(asElement);
43
+ }
44
+ });
45
+ };
46
+ const wire = jsxFactory();
47
+ //#endregion
48
+ Object.defineProperty(exports, "jsxFactory", {
49
+ enumerable: true,
50
+ get: function() {
51
+ return jsxFactory;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "wire", {
55
+ enumerable: true,
56
+ get: function() {
57
+ return wire;
58
+ }
59
+ });
@@ -0,0 +1,48 @@
1
+ import { l as useComposedRefs } from "./utils-CqLmqrgj.js";
2
+ import { Children, cloneElement, createElement, forwardRef, isValidElement, memo } from "react";
3
+ import { mergeProps } from "@wirekyt/dom";
4
+ //#region src/components/factory.ts
5
+ function getRef(element) {
6
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
7
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
8
+ if (mayWarn) return element.ref;
9
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
10
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
11
+ if (mayWarn) return element.props.ref;
12
+ return element.props.ref || element.ref;
13
+ }
14
+ const withAsChild = (Component) => {
15
+ const Comp = memo(forwardRef((props, ref) => {
16
+ const { asChild, children, ...restProps } = props;
17
+ const onlyChild = asChild && isValidElement(children) ? Children.only(children) : void 0;
18
+ const childRef = onlyChild ? getRef(onlyChild) : void 0;
19
+ const composedRef = useComposedRefs(ref, childRef);
20
+ if (!asChild) return createElement(Component, {
21
+ ...restProps,
22
+ ref
23
+ }, children);
24
+ if (!onlyChild) return null;
25
+ return cloneElement(onlyChild, {
26
+ ...mergeProps(restProps, onlyChild.props),
27
+ ref: ref ? composedRef : childRef
28
+ });
29
+ }));
30
+ Comp.displayName = Component.displayName || Component.name;
31
+ return Comp;
32
+ };
33
+ const jsxFactory = () => {
34
+ const cache = /* @__PURE__ */ new Map();
35
+ return new Proxy(withAsChild, {
36
+ apply(_target, _thisArg, argArray) {
37
+ return withAsChild(argArray[0]);
38
+ },
39
+ get(_, element) {
40
+ const asElement = element;
41
+ if (!cache.has(asElement)) cache.set(asElement, withAsChild(asElement));
42
+ return cache.get(asElement);
43
+ }
44
+ });
45
+ };
46
+ const wire = jsxFactory();
47
+ //#endregion
48
+ export { wire as n, jsxFactory as t };