@wirekyt/vue 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 (291) hide show
  1. package/dist/accordion.cjs +273 -0
  2. package/dist/accordion.d.cts +195 -0
  3. package/dist/accordion.d.ts +195 -0
  4. package/dist/accordion.js +250 -0
  5. package/dist/angle-slider.cjs +268 -0
  6. package/dist/angle-slider.d.cts +228 -0
  7. package/dist/angle-slider.d.ts +228 -0
  8. package/dist/angle-slider.js +244 -0
  9. package/dist/avatar.cjs +145 -0
  10. package/dist/avatar.d.cts +114 -0
  11. package/dist/avatar.d.ts +114 -0
  12. package/dist/avatar.js +126 -0
  13. package/dist/boolean-BCaEpMxQ.js +6 -0
  14. package/dist/boolean-Dyu9-5Wp.cjs +11 -0
  15. package/dist/carousel.cjs +342 -0
  16. package/dist/carousel.d.cts +303 -0
  17. package/dist/carousel.d.ts +303 -0
  18. package/dist/carousel.js +320 -0
  19. package/dist/checkbox.cjs +345 -0
  20. package/dist/checkbox.d.cts +272 -0
  21. package/dist/checkbox.d.ts +272 -0
  22. package/dist/checkbox.js +324 -0
  23. package/dist/clean-props--1kqQE0Y.js +8 -0
  24. package/dist/clean-props-MyKqus13.cjs +13 -0
  25. package/dist/client-only.cjs +17 -0
  26. package/dist/client-only.d.cts +18 -0
  27. package/dist/client-only.d.ts +18 -0
  28. package/dist/client-only.js +16 -0
  29. package/dist/clipboard.cjs +229 -0
  30. package/dist/clipboard.d.cts +203 -0
  31. package/dist/clipboard.d.ts +203 -0
  32. package/dist/clipboard.js +206 -0
  33. package/dist/collapsible-CEjnJlpm.js +179 -0
  34. package/dist/collapsible-aSz4kYqo.cjs +232 -0
  35. package/dist/collapsible.cjs +23 -0
  36. package/dist/collapsible.d.cts +161 -0
  37. package/dist/collapsible.d.ts +161 -0
  38. package/dist/collapsible.js +2 -0
  39. package/dist/collection-1IjtyI-g.cjs +254 -0
  40. package/dist/collection-Ea6ZCZKK.js +211 -0
  41. package/dist/collection.cjs +9 -0
  42. package/dist/collection.d.cts +2 -0
  43. package/dist/collection.d.ts +2 -0
  44. package/dist/collection.js +2 -0
  45. package/dist/color-picker.cjs +804 -0
  46. package/dist/color-picker.d.cts +605 -0
  47. package/dist/color-picker.d.ts +605 -0
  48. package/dist/color-picker.js +759 -0
  49. package/dist/combobox.cjs +552 -0
  50. package/dist/combobox.d.cts +442 -0
  51. package/dist/combobox.d.ts +442 -0
  52. package/dist/combobox.js +521 -0
  53. package/dist/create-split-props-BBxrD7TV.js +10 -0
  54. package/dist/create-split-props-Jx-IEwdk.cjs +15 -0
  55. package/dist/date-input.cjs +293 -0
  56. package/dist/date-input.d.cts +212 -0
  57. package/dist/date-input.d.ts +212 -0
  58. package/dist/date-input.js +270 -0
  59. package/dist/date-picker.cjs +821 -0
  60. package/dist/date-picker.d.cts +637 -0
  61. package/dist/date-picker.d.ts +637 -0
  62. package/dist/date-picker.js +776 -0
  63. package/dist/dialog.cjs +333 -0
  64. package/dist/dialog.d.cts +272 -0
  65. package/dist/dialog.d.ts +272 -0
  66. package/dist/dialog.js +308 -0
  67. package/dist/download-trigger.cjs +65 -0
  68. package/dist/download-trigger.d.cts +34 -0
  69. package/dist/download-trigger.d.ts +34 -0
  70. package/dist/download-trigger.js +63 -0
  71. package/dist/drawer.cjs +448 -0
  72. package/dist/drawer.d.cts +346 -0
  73. package/dist/drawer.d.ts +346 -0
  74. package/dist/drawer.js +415 -0
  75. package/dist/editable.cjs +331 -0
  76. package/dist/editable.d.cts +285 -0
  77. package/dist/editable.d.ts +285 -0
  78. package/dist/editable.js +306 -0
  79. package/dist/factory-8Ao0DEy3.js +34 -0
  80. package/dist/factory-BNwuanv4.d.cts +21 -0
  81. package/dist/factory-BNwuanv4.d.ts +21 -0
  82. package/dist/factory-JL7MPjkk.cjs +45 -0
  83. package/dist/field-C3pLqz1S.js +435 -0
  84. package/dist/field-DRz-v4rB.cjs +524 -0
  85. package/dist/field.cjs +22 -0
  86. package/dist/field.d.cts +344 -0
  87. package/dist/field.d.ts +344 -0
  88. package/dist/field.js +2 -0
  89. package/dist/fieldset-ByP_r1Uq.js +216 -0
  90. package/dist/fieldset-C5aj6Ims.cjs +275 -0
  91. package/dist/fieldset.cjs +17 -0
  92. package/dist/fieldset.d.cts +159 -0
  93. package/dist/fieldset.d.ts +159 -0
  94. package/dist/fieldset.js +2 -0
  95. package/dist/file-upload.cjs +421 -0
  96. package/dist/file-upload.d.cts +327 -0
  97. package/dist/file-upload.d.ts +327 -0
  98. package/dist/file-upload.js +392 -0
  99. package/dist/floating-panel.cjs +412 -0
  100. package/dist/floating-panel.d.cts +337 -0
  101. package/dist/floating-panel.d.ts +337 -0
  102. package/dist/floating-panel.js +383 -0
  103. package/dist/focus-trap.cjs +79 -0
  104. package/dist/focus-trap.d.cts +46 -0
  105. package/dist/focus-trap.d.ts +46 -0
  106. package/dist/focus-trap.js +78 -0
  107. package/dist/format.cjs +116 -0
  108. package/dist/format.d.cts +46 -0
  109. package/dist/format.d.ts +46 -0
  110. package/dist/format.js +106 -0
  111. package/dist/frame.cjs +93 -0
  112. package/dist/frame.d.cts +37 -0
  113. package/dist/frame.d.ts +37 -0
  114. package/dist/frame.js +92 -0
  115. package/dist/highlight.cjs +44 -0
  116. package/dist/highlight.d.cts +32 -0
  117. package/dist/highlight.d.ts +32 -0
  118. package/dist/highlight.js +42 -0
  119. package/dist/hover-card.cjs +269 -0
  120. package/dist/hover-card.d.cts +202 -0
  121. package/dist/hover-card.d.ts +202 -0
  122. package/dist/hover-card.js +246 -0
  123. package/dist/image-cropper.cjs +252 -0
  124. package/dist/image-cropper.d.cts +207 -0
  125. package/dist/image-cropper.d.ts +207 -0
  126. package/dist/image-cropper.js +235 -0
  127. package/dist/index-B-o8jLyV.d.cts +31 -0
  128. package/dist/index-BSoF1D-v.d.ts +31 -0
  129. package/dist/index-BTNfeIXf.d.ts +104 -0
  130. package/dist/index-C6Q2DqG6.d.ts +37 -0
  131. package/dist/index-CG9mpPgL.d.cts +444 -0
  132. package/dist/index-Cc4qS0rQ.d.cts +38 -0
  133. package/dist/index-Cc4qS0rQ.d.ts +38 -0
  134. package/dist/index-DB2uALlJ.d.cts +74 -0
  135. package/dist/index-DXb0W_NP.d.cts +37 -0
  136. package/dist/index-Zc9P69Ka.d.cts +104 -0
  137. package/dist/index-aMWdJRGL.d.ts +444 -0
  138. package/dist/index-uLE-tXSk.d.ts +74 -0
  139. package/dist/index.cjs +43 -0
  140. package/dist/index.d.cts +5 -0
  141. package/dist/index.d.ts +5 -0
  142. package/dist/index.js +7 -0
  143. package/dist/json-tree-view.cjs +346 -0
  144. package/dist/json-tree-view.d.cts +86 -0
  145. package/dist/json-tree-view.d.ts +86 -0
  146. package/dist/json-tree-view.js +336 -0
  147. package/dist/listbox.cjs +386 -0
  148. package/dist/listbox.d.cts +323 -0
  149. package/dist/listbox.d.ts +323 -0
  150. package/dist/listbox.js +361 -0
  151. package/dist/marquee.cjs +256 -0
  152. package/dist/marquee.d.cts +208 -0
  153. package/dist/marquee.d.ts +208 -0
  154. package/dist/marquee.js +235 -0
  155. package/dist/menu.cjs +650 -0
  156. package/dist/menu.d.cts +501 -0
  157. package/dist/menu.d.ts +501 -0
  158. package/dist/menu.js +613 -0
  159. package/dist/navigation-menu.cjs +408 -0
  160. package/dist/navigation-menu.d.cts +271 -0
  161. package/dist/navigation-menu.d.ts +271 -0
  162. package/dist/navigation-menu.js +380 -0
  163. package/dist/number-input.cjs +298 -0
  164. package/dist/number-input.d.cts +253 -0
  165. package/dist/number-input.d.ts +253 -0
  166. package/dist/number-input.js +274 -0
  167. package/dist/pagination.cjs +249 -0
  168. package/dist/pagination.d.cts +209 -0
  169. package/dist/pagination.d.ts +209 -0
  170. package/dist/pagination.js +226 -0
  171. package/dist/password-input.cjs +232 -0
  172. package/dist/password-input.d.cts +208 -0
  173. package/dist/password-input.d.ts +208 -0
  174. package/dist/password-input.js +210 -0
  175. package/dist/pin-input.cjs +245 -0
  176. package/dist/pin-input.d.cts +199 -0
  177. package/dist/pin-input.d.ts +199 -0
  178. package/dist/pin-input.js +224 -0
  179. package/dist/popover.cjs +377 -0
  180. package/dist/popover.d.cts +324 -0
  181. package/dist/popover.d.ts +324 -0
  182. package/dist/popover.js +349 -0
  183. package/dist/presence-DD3l4Tgb.cjs +60 -0
  184. package/dist/presence-jaHZaD_O.js +43 -0
  185. package/dist/presence.cjs +7 -0
  186. package/dist/presence.d.cts +3 -0
  187. package/dist/presence.d.ts +3 -0
  188. package/dist/presence.js +3 -0
  189. package/dist/progress.cjs +270 -0
  190. package/dist/progress.d.cts +229 -0
  191. package/dist/progress.d.ts +229 -0
  192. package/dist/progress.js +245 -0
  193. package/dist/providers-5QhcwgSd.cjs +190 -0
  194. package/dist/providers-C3XQH-uu.js +119 -0
  195. package/dist/qr-code.cjs +195 -0
  196. package/dist/qr-code.d.cts +157 -0
  197. package/dist/qr-code.d.ts +157 -0
  198. package/dist/qr-code.js +174 -0
  199. package/dist/radio-group.cjs +274 -0
  200. package/dist/radio-group.d.cts +230 -0
  201. package/dist/radio-group.d.ts +230 -0
  202. package/dist/radio-group.js +249 -0
  203. package/dist/rating-group.cjs +243 -0
  204. package/dist/rating-group.d.cts +200 -0
  205. package/dist/rating-group.d.ts +200 -0
  206. package/dist/rating-group.js +220 -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 +206 -0
  210. package/dist/scroll-area.d.cts +169 -0
  211. package/dist/scroll-area.d.ts +169 -0
  212. package/dist/scroll-area.js +184 -0
  213. package/dist/segment-group.cjs +318 -0
  214. package/dist/segment-group.d.cts +229 -0
  215. package/dist/segment-group.d.ts +229 -0
  216. package/dist/segment-group.js +298 -0
  217. package/dist/select.cjs +560 -0
  218. package/dist/select.d.cts +430 -0
  219. package/dist/select.d.ts +430 -0
  220. package/dist/select.js +523 -0
  221. package/dist/signature-pad.cjs +260 -0
  222. package/dist/signature-pad.d.cts +200 -0
  223. package/dist/signature-pad.d.ts +200 -0
  224. package/dist/signature-pad.js +237 -0
  225. package/dist/slider.cjs +350 -0
  226. package/dist/slider.d.cts +299 -0
  227. package/dist/slider.d.ts +299 -0
  228. package/dist/slider.js +323 -0
  229. package/dist/splitter.cjs +225 -0
  230. package/dist/splitter.d.cts +166 -0
  231. package/dist/splitter.d.ts +166 -0
  232. package/dist/splitter.js +198 -0
  233. package/dist/steps.cjs +348 -0
  234. package/dist/steps.d.cts +289 -0
  235. package/dist/steps.d.ts +289 -0
  236. package/dist/steps.js +319 -0
  237. package/dist/swap.cjs +154 -0
  238. package/dist/swap.d.cts +98 -0
  239. package/dist/swap.d.ts +98 -0
  240. package/dist/swap.js +141 -0
  241. package/dist/switch.cjs +213 -0
  242. package/dist/switch.d.cts +177 -0
  243. package/dist/switch.d.ts +177 -0
  244. package/dist/switch.js +192 -0
  245. package/dist/tabs.cjs +240 -0
  246. package/dist/tabs.d.cts +179 -0
  247. package/dist/tabs.d.ts +179 -0
  248. package/dist/tabs.js +218 -0
  249. package/dist/tags-input.cjs +405 -0
  250. package/dist/tags-input.d.cts +340 -0
  251. package/dist/tags-input.d.ts +340 -0
  252. package/dist/tags-input.js +376 -0
  253. package/dist/timer.cjs +221 -0
  254. package/dist/timer.d.cts +176 -0
  255. package/dist/timer.d.ts +176 -0
  256. package/dist/timer.js +199 -0
  257. package/dist/toast.cjs +211 -0
  258. package/dist/toast.d.cts +157 -0
  259. package/dist/toast.d.ts +157 -0
  260. package/dist/toast.js +189 -0
  261. package/dist/toggle-group.cjs +150 -0
  262. package/dist/toggle-group.d.cts +122 -0
  263. package/dist/toggle-group.d.ts +122 -0
  264. package/dist/toggle-group.js +132 -0
  265. package/dist/toggle.cjs +107 -0
  266. package/dist/toggle.d.cts +98 -0
  267. package/dist/toggle.d.ts +98 -0
  268. package/dist/toggle.js +94 -0
  269. package/dist/tooltip.cjs +265 -0
  270. package/dist/tooltip.d.cts +204 -0
  271. package/dist/tooltip.d.ts +204 -0
  272. package/dist/tooltip.js +242 -0
  273. package/dist/tour.cjs +418 -0
  274. package/dist/tour.d.cts +304 -0
  275. package/dist/tour.d.ts +304 -0
  276. package/dist/tour.js +374 -0
  277. package/dist/tree-view-CWH9tv7s.cjs +651 -0
  278. package/dist/tree-view-CZcXMwi6.js +508 -0
  279. package/dist/tree-view.cjs +41 -0
  280. package/dist/tree-view.d.cts +3 -0
  281. package/dist/tree-view.d.ts +3 -0
  282. package/dist/tree-view.js +3 -0
  283. package/dist/types-rSRkzyd6.d.cts +13 -0
  284. package/dist/types-rSRkzyd6.d.ts +13 -0
  285. package/dist/use-presence-BSp_dR-C.d.cts +22 -0
  286. package/dist/use-presence-CtEY6ZT8.cjs +49 -0
  287. package/dist/use-presence-DkGU_j9h.d.ts +22 -0
  288. package/dist/use-presence-oNdFU2c2.js +42 -0
  289. package/dist/utils-D95V66v9.js +548 -0
  290. package/dist/utils-XrBZd2Yk.cjs +625 -0
  291. package/package.json +278 -6
@@ -0,0 +1,524 @@
1
+ const require_rolldown_runtime = require("./rolldown-runtime-DakpK96I.cjs");
2
+ const require_utils = require("./utils-XrBZd2Yk.cjs");
3
+ const require_providers = require("./providers-5QhcwgSd.cjs");
4
+ const require_factory = require("./factory-JL7MPjkk.cjs");
5
+ let vue = require("vue");
6
+ let _wirekyt_dom_dom_query = require("@wirekyt/dom/dom-query");
7
+ let _wirekyt_dom_anatomy = require("@wirekyt/dom/anatomy");
8
+ let _wirekyt_dom_auto_resize = require("@wirekyt/dom/auto-resize");
9
+ //#region src/components/field/use-context.ts
10
+ const [FieldProvider, useFieldContext] = require_utils.createContext("FieldContext");
11
+ //#endregion
12
+ //#region src/components/field/context.vue
13
+ const _sfc_main$10 = /*@__PURE__*/ (0, vue.defineComponent)({
14
+ __name: "context",
15
+ setup(__props) {
16
+ const field = useFieldContext();
17
+ return (_ctx, _cache) => {
18
+ return (0, vue.renderSlot)(_ctx.$slots, "default", (0, vue.normalizeProps)((0, vue.guardReactiveProps)((0, vue.unref)(field))));
19
+ };
20
+ }
21
+ });
22
+ //#endregion
23
+ //#region src/components/field/error-text.vue
24
+ const _sfc_main$9 = /*@__PURE__*/ (0, vue.defineComponent)({
25
+ __name: "error-text",
26
+ props: { asChild: { type: Boolean } },
27
+ setup(__props) {
28
+ const field = useFieldContext();
29
+ require_utils.useForwardExpose();
30
+ return (_ctx, _cache) => {
31
+ return (0, vue.unref)(field).invalid ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).span, (0, vue.mergeProps)({ key: 0 }, (0, vue.unref)(field).getErrorTextProps(), { "as-child": __props.asChild }), {
32
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
33
+ _: 3
34
+ }, 16, ["as-child"])) : (0, vue.createCommentVNode)("v-if", true);
35
+ };
36
+ }
37
+ });
38
+ //#endregion
39
+ //#region src/components/field/helper-text.vue
40
+ const _sfc_main$8 = /*@__PURE__*/ (0, vue.defineComponent)({
41
+ __name: "helper-text",
42
+ props: { asChild: { type: Boolean } },
43
+ setup(__props) {
44
+ const field = useFieldContext();
45
+ require_utils.useForwardExpose();
46
+ return (_ctx, _cache) => {
47
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).span, (0, vue.mergeProps)((0, vue.unref)(field).getHelperTextProps(), { "as-child": __props.asChild }), {
48
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
49
+ _: 3
50
+ }, 16, ["as-child"]);
51
+ };
52
+ }
53
+ });
54
+ //#endregion
55
+ //#region src/components/field/input.vue
56
+ const _sfc_main$7 = /*@__PURE__*/ (0, vue.defineComponent)({
57
+ __name: "input",
58
+ props: {
59
+ modelValue: {},
60
+ asChild: { type: Boolean }
61
+ },
62
+ emits: ["update:modelValue"],
63
+ setup(__props, { emit: __emit }) {
64
+ const field = useFieldContext();
65
+ const emit = __emit;
66
+ require_utils.useForwardExpose();
67
+ return (_ctx, _cache) => {
68
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).input, (0, vue.mergeProps)((0, vue.unref)(field)?.getInputProps(), {
69
+ "as-child": __props.asChild,
70
+ value: __props.modelValue,
71
+ onInput: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value))
72
+ }), {
73
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
74
+ _: 3
75
+ }, 16, ["as-child", "value"]);
76
+ };
77
+ }
78
+ });
79
+ //#endregion
80
+ //#region src/components/field/anatomy.ts
81
+ const fieldAnatomy = (0, _wirekyt_dom_anatomy.createAnatomy)("field").parts("root", "errorText", "helperText", "input", "label", "select", "textarea", "requiredIndicator");
82
+ const parts = fieldAnatomy.build();
83
+ //#endregion
84
+ //#region src/components/field/item.vue
85
+ const _sfc_main$6 = /*@__PURE__*/ (0, vue.defineComponent)({
86
+ __name: "item",
87
+ props: { value: {} },
88
+ setup(__props) {
89
+ const props = __props;
90
+ const parentField = useFieldContext();
91
+ FieldProvider((0, vue.computed)(() => {
92
+ const parent = (0, vue.toValue)(parentField);
93
+ if (!parent) throw new Error("Field.Item must be used within Field.Root");
94
+ const controlId = `field::${parent.ids.control}::item::${props.value}`;
95
+ const labelId = `${controlId}::label`;
96
+ const getControlProps = () => ({
97
+ ...parent.getInputProps(),
98
+ id: controlId
99
+ });
100
+ return {
101
+ ...parent,
102
+ ids: {
103
+ ...parent.ids,
104
+ control: controlId,
105
+ label: labelId
106
+ },
107
+ getLabelProps: () => ({
108
+ ...parent.getLabelProps(),
109
+ id: labelId,
110
+ htmlFor: controlId
111
+ }),
112
+ getInputProps: () => ({
113
+ ...getControlProps(),
114
+ ...parts.input.attrs
115
+ }),
116
+ getSelectProps: () => ({
117
+ ...getControlProps(),
118
+ ...parts.select.attrs
119
+ }),
120
+ getTextareaProps: () => ({
121
+ ...getControlProps(),
122
+ ...parts.textarea.attrs
123
+ })
124
+ };
125
+ }));
126
+ return (_ctx, _cache) => {
127
+ return (0, vue.renderSlot)(_ctx.$slots, "default");
128
+ };
129
+ }
130
+ });
131
+ //#endregion
132
+ //#region src/components/field/label.vue
133
+ const _sfc_main$5 = /*@__PURE__*/ (0, vue.defineComponent)({
134
+ __name: "label",
135
+ props: { asChild: { type: Boolean } },
136
+ setup(__props) {
137
+ const field = useFieldContext();
138
+ require_utils.useForwardExpose();
139
+ return (_ctx, _cache) => {
140
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).label, (0, vue.mergeProps)((0, vue.unref)(field).getLabelProps(), { "as-child": __props.asChild }), {
141
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
142
+ _: 3
143
+ }, 16, ["as-child"]);
144
+ };
145
+ }
146
+ });
147
+ //#endregion
148
+ //#region src/components/field/required-indicator.vue
149
+ const _sfc_main$4 = /*@__PURE__*/ (0, vue.defineComponent)({
150
+ __name: "required-indicator",
151
+ props: { asChild: { type: Boolean } },
152
+ setup(__props) {
153
+ const field = useFieldContext();
154
+ require_utils.useForwardExpose();
155
+ return (_ctx, _cache) => {
156
+ return (0, vue.unref)(field).required ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).span, (0, vue.mergeProps)({ key: 0 }, (0, vue.unref)(field).getRequiredIndicatorProps(), { "as-child": __props.asChild }), {
157
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = (0, vue.createTextVNode)("*", -1))])]),
158
+ _: 3
159
+ }, 16, ["as-child"])) : (0, vue.renderSlot)(_ctx.$slots, "fallback", {}, void 0, void 0, 1);
160
+ };
161
+ }
162
+ });
163
+ //#endregion
164
+ //#region src/components/field/root-provider.vue
165
+ const _sfc_main$3 = /*@__PURE__*/ (0, vue.defineComponent)({
166
+ __name: "root-provider",
167
+ props: {
168
+ value: {},
169
+ asChild: { type: Boolean }
170
+ },
171
+ setup(__props) {
172
+ const props = __props;
173
+ const field = (0, vue.computed)(() => props.value);
174
+ FieldProvider(field);
175
+ require_utils.useForwardExpose();
176
+ return (_ctx, _cache) => {
177
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).div, (0, vue.mergeProps)(field.value.getRootProps(), { "as-child": __props.asChild }), {
178
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
179
+ _: 3
180
+ }, 16, ["as-child"]);
181
+ };
182
+ }
183
+ });
184
+ //#endregion
185
+ //#region src/components/field/use-field.ts
186
+ const useField = (props = {}) => {
187
+ const env = require_providers.useEnvironmentContext(require_providers.DEFAULT_ENVIRONMENT);
188
+ const state = (0, vue.reactive)({
189
+ hasErrorText: false,
190
+ hasHelperText: false
191
+ });
192
+ const uid = (0, vue.useId)();
193
+ const id = (0, vue.computed)(() => (0, vue.toValue)(props).id ?? uid);
194
+ const rootRef = (0, vue.ref)(null);
195
+ const rootId = (0, vue.computed)(() => (0, vue.toValue)(props).ids?.control ?? `field::${id.value}`);
196
+ const errorTextId = (0, vue.computed)(() => (0, vue.toValue)(props).ids?.errorText ?? `field::${id.value}::error-text`);
197
+ const helperTextId = (0, vue.computed)(() => (0, vue.toValue)(props).ids?.helperText ?? `field::${id.value}::helper-text`);
198
+ const labelId = (0, vue.computed)(() => (0, vue.toValue)(props).ids?.label ?? `field::${id.value}::label`);
199
+ (0, vue.onMounted)(() => {
200
+ const rootNode = require_utils.unrefElement(rootRef);
201
+ if (!rootNode) return;
202
+ const checkTextElements = () => {
203
+ const docOrShadowRoot = env.value.getRootNode();
204
+ state.hasErrorText = !!docOrShadowRoot.getElementById(errorTextId.value);
205
+ state.hasHelperText = !!docOrShadowRoot.getElementById(helperTextId.value);
206
+ };
207
+ checkTextElements();
208
+ const observer = new (env.value.getWindow()).MutationObserver(checkTextElements);
209
+ observer.observe(rootNode, {
210
+ childList: true,
211
+ subtree: true
212
+ });
213
+ (0, vue.onBeforeUnmount)(() => {
214
+ observer.disconnect();
215
+ });
216
+ });
217
+ const getRootProps = () => {
218
+ const values = (0, vue.toValue)(props);
219
+ return {
220
+ ...parts.root.attrs,
221
+ id: rootId.value,
222
+ role: "group",
223
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(values.disabled),
224
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(values.invalid),
225
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(values.readOnly)
226
+ };
227
+ };
228
+ const targetControlId = (0, vue.computed)(() => {
229
+ const target = (0, vue.toValue)(props).target;
230
+ return target ? `field::${id.value}::item::${target}` : void 0;
231
+ });
232
+ const getLabelProps = () => {
233
+ const values = (0, vue.toValue)(props);
234
+ return {
235
+ ...parts.label.attrs,
236
+ id: labelId.value,
237
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(values.disabled),
238
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(values.invalid),
239
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(values.readOnly),
240
+ "data-required": (0, _wirekyt_dom_dom_query.dataAttr)(values.required),
241
+ htmlFor: targetControlId.value ?? id.value
242
+ };
243
+ };
244
+ const errorMessageId = (0, vue.computed)(() => state.hasErrorText && (0, vue.toValue)(props).invalid ? errorTextId.value : void 0);
245
+ const getControlProps = () => {
246
+ const values = (0, vue.toValue)(props);
247
+ return {
248
+ "aria-describedby": state.hasHelperText ? helperTextId.value : void 0,
249
+ "aria-errormessage": errorMessageId.value,
250
+ "aria-invalid": (0, _wirekyt_dom_dom_query.ariaAttr)(values.invalid),
251
+ "data-invalid": (0, _wirekyt_dom_dom_query.dataAttr)(values.invalid),
252
+ "data-required": (0, _wirekyt_dom_dom_query.dataAttr)(values.required),
253
+ "data-readonly": (0, _wirekyt_dom_dom_query.dataAttr)(values.readOnly),
254
+ id: id.value,
255
+ required: values.required,
256
+ disabled: values.disabled,
257
+ readOnly: values.readOnly
258
+ };
259
+ };
260
+ const getInputProps = () => ({
261
+ ...getControlProps(),
262
+ ...parts.input.attrs
263
+ });
264
+ const getTextareaProps = () => ({
265
+ ...getControlProps(),
266
+ ...parts.textarea.attrs
267
+ });
268
+ const getSelectProps = () => ({
269
+ ...getControlProps(),
270
+ ...parts.select.attrs
271
+ });
272
+ const getHelperTextProps = () => {
273
+ const values = (0, vue.toValue)(props);
274
+ return {
275
+ id: helperTextId.value,
276
+ ...parts.helperText.attrs,
277
+ "data-disabled": (0, _wirekyt_dom_dom_query.dataAttr)(values.disabled)
278
+ };
279
+ };
280
+ const getErrorTextProps = () => ({
281
+ id: errorTextId.value,
282
+ ...parts.errorText.attrs,
283
+ "aria-live": "polite"
284
+ });
285
+ const getRequiredIndicatorProps = () => ({
286
+ "aria-hidden": true,
287
+ ...parts.requiredIndicator.attrs
288
+ });
289
+ return (0, vue.computed)(() => {
290
+ const values = (0, vue.toValue)(props);
291
+ return {
292
+ ariaDescribedby: state.hasHelperText ? helperTextId.value : void 0,
293
+ ids: {
294
+ control: id.value,
295
+ label: labelId.value,
296
+ errorText: errorTextId.value,
297
+ helperText: helperTextId.value
298
+ },
299
+ refs: { rootRef },
300
+ disabled: values.disabled,
301
+ invalid: values.invalid,
302
+ readOnly: values.readOnly,
303
+ required: values.required,
304
+ getLabelProps,
305
+ getRootProps,
306
+ getInputProps,
307
+ getTextareaProps,
308
+ getSelectProps,
309
+ getHelperTextProps,
310
+ getErrorTextProps,
311
+ getRequiredIndicatorProps
312
+ };
313
+ });
314
+ };
315
+ //#endregion
316
+ //#region src/components/field/root.vue
317
+ const _sfc_main$2 = /*@__PURE__*/ (0, vue.defineComponent)({
318
+ __name: "root",
319
+ props: /*@__PURE__*/ (0, vue.mergeDefaults)({
320
+ disabled: { type: Boolean },
321
+ id: {},
322
+ ids: {},
323
+ invalid: { type: Boolean },
324
+ readOnly: { type: Boolean },
325
+ required: { type: Boolean },
326
+ target: {},
327
+ asChild: { type: Boolean }
328
+ }, {
329
+ disabled: void 0,
330
+ invalid: void 0,
331
+ readOnly: void 0,
332
+ required: void 0
333
+ }),
334
+ setup(__props) {
335
+ const field = useField(__props);
336
+ FieldProvider(field);
337
+ require_utils.useForwardExpose();
338
+ return (_ctx, _cache) => {
339
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).div, (0, vue.mergeProps)((0, vue.unref)(field).getRootProps(), {
340
+ ref: (0, vue.unref)(field).refs.rootRef,
341
+ "as-child": __props.asChild
342
+ }), {
343
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
344
+ _: 3
345
+ }, 16, ["as-child"]);
346
+ };
347
+ }
348
+ });
349
+ //#endregion
350
+ //#region src/components/field/select.vue
351
+ const _sfc_main$1 = /*@__PURE__*/ (0, vue.defineComponent)({
352
+ __name: "select",
353
+ props: {
354
+ modelValue: {},
355
+ asChild: { type: Boolean }
356
+ },
357
+ emits: ["update:modelValue"],
358
+ setup(__props, { emit: __emit }) {
359
+ const field = useFieldContext();
360
+ const emit = __emit;
361
+ require_utils.useForwardExpose();
362
+ return (_ctx, _cache) => {
363
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).select, (0, vue.mergeProps)((0, vue.unref)(field)?.getSelectProps(), {
364
+ value: __props.modelValue,
365
+ onChange: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value)),
366
+ "as-child": __props.asChild
367
+ }), {
368
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
369
+ _: 3
370
+ }, 16, ["value", "as-child"]);
371
+ };
372
+ }
373
+ });
374
+ //#endregion
375
+ //#region src/components/field/textarea.vue
376
+ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
377
+ __name: "textarea",
378
+ props: {
379
+ modelValue: {},
380
+ autoresize: { type: Boolean },
381
+ asChild: { type: Boolean }
382
+ },
383
+ emits: ["update:modelValue"],
384
+ setup(__props, { emit: __emit }) {
385
+ const props = __props;
386
+ const field = useFieldContext();
387
+ const emit = __emit;
388
+ const textareaRef = (0, vue.ref)();
389
+ (0, vue.onMounted)(() => {
390
+ const node = require_utils.unrefElement(textareaRef);
391
+ if (!node || !props.autoresize) return;
392
+ const cleanup = (0, _wirekyt_dom_auto_resize.autoresizeTextarea)(node);
393
+ (0, vue.onBeforeUnmount)(() => cleanup?.());
394
+ });
395
+ require_utils.useForwardExpose();
396
+ return (_ctx, _cache) => {
397
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_factory.wire).textarea, (0, vue.mergeProps)({
398
+ ref_key: "textareaRef",
399
+ ref: textareaRef
400
+ }, (0, vue.unref)(field)?.getTextareaProps(), {
401
+ value: __props.modelValue,
402
+ onInput: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value)),
403
+ style: props.autoresize ? {
404
+ resize: "none",
405
+ overflow: "hidden"
406
+ } : void 0,
407
+ "as-child": __props.asChild
408
+ }), {
409
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
410
+ _: 3
411
+ }, 16, [
412
+ "value",
413
+ "style",
414
+ "as-child"
415
+ ]);
416
+ };
417
+ }
418
+ });
419
+ //#endregion
420
+ //#region src/components/field/field.ts
421
+ var field_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
422
+ Context: () => _sfc_main$10,
423
+ ErrorText: () => _sfc_main$9,
424
+ HelperText: () => _sfc_main$8,
425
+ Input: () => _sfc_main$7,
426
+ Item: () => _sfc_main$6,
427
+ Label: () => _sfc_main$5,
428
+ RequiredIndicator: () => _sfc_main$4,
429
+ Root: () => _sfc_main$2,
430
+ RootProvider: () => _sfc_main$3,
431
+ Select: () => _sfc_main$1,
432
+ Textarea: () => _sfc_main
433
+ });
434
+ //#endregion
435
+ Object.defineProperty(exports, "_sfc_main", {
436
+ enumerable: true,
437
+ get: function() {
438
+ return _sfc_main;
439
+ }
440
+ });
441
+ Object.defineProperty(exports, "_sfc_main$1", {
442
+ enumerable: true,
443
+ get: function() {
444
+ return _sfc_main$1;
445
+ }
446
+ });
447
+ Object.defineProperty(exports, "_sfc_main$10", {
448
+ enumerable: true,
449
+ get: function() {
450
+ return _sfc_main$10;
451
+ }
452
+ });
453
+ Object.defineProperty(exports, "_sfc_main$2", {
454
+ enumerable: true,
455
+ get: function() {
456
+ return _sfc_main$2;
457
+ }
458
+ });
459
+ Object.defineProperty(exports, "_sfc_main$3", {
460
+ enumerable: true,
461
+ get: function() {
462
+ return _sfc_main$3;
463
+ }
464
+ });
465
+ Object.defineProperty(exports, "_sfc_main$4", {
466
+ enumerable: true,
467
+ get: function() {
468
+ return _sfc_main$4;
469
+ }
470
+ });
471
+ Object.defineProperty(exports, "_sfc_main$5", {
472
+ enumerable: true,
473
+ get: function() {
474
+ return _sfc_main$5;
475
+ }
476
+ });
477
+ Object.defineProperty(exports, "_sfc_main$6", {
478
+ enumerable: true,
479
+ get: function() {
480
+ return _sfc_main$6;
481
+ }
482
+ });
483
+ Object.defineProperty(exports, "_sfc_main$7", {
484
+ enumerable: true,
485
+ get: function() {
486
+ return _sfc_main$7;
487
+ }
488
+ });
489
+ Object.defineProperty(exports, "_sfc_main$8", {
490
+ enumerable: true,
491
+ get: function() {
492
+ return _sfc_main$8;
493
+ }
494
+ });
495
+ Object.defineProperty(exports, "_sfc_main$9", {
496
+ enumerable: true,
497
+ get: function() {
498
+ return _sfc_main$9;
499
+ }
500
+ });
501
+ Object.defineProperty(exports, "fieldAnatomy", {
502
+ enumerable: true,
503
+ get: function() {
504
+ return fieldAnatomy;
505
+ }
506
+ });
507
+ Object.defineProperty(exports, "field_exports", {
508
+ enumerable: true,
509
+ get: function() {
510
+ return field_exports;
511
+ }
512
+ });
513
+ Object.defineProperty(exports, "useField", {
514
+ enumerable: true,
515
+ get: function() {
516
+ return useField;
517
+ }
518
+ });
519
+ Object.defineProperty(exports, "useFieldContext", {
520
+ enumerable: true,
521
+ get: function() {
522
+ return useFieldContext;
523
+ }
524
+ });
package/dist/field.cjs ADDED
@@ -0,0 +1,22 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_field = require("./field-DRz-v4rB.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._sfc_main$10;
10
+ exports.FieldErrorText = require_field._sfc_main$9;
11
+ exports.FieldHelperText = require_field._sfc_main$8;
12
+ exports.FieldInput = require_field._sfc_main$7;
13
+ exports.FieldItem = require_field._sfc_main$6;
14
+ exports.FieldLabel = require_field._sfc_main$5;
15
+ exports.FieldRequiredIndicator = require_field._sfc_main$4;
16
+ exports.FieldRoot = require_field._sfc_main$2;
17
+ exports.FieldRootProvider = require_field._sfc_main$3;
18
+ exports.FieldSelect = require_field._sfc_main$1;
19
+ exports.FieldTextarea = require_field._sfc_main;
20
+ exports.fieldAnatomy = require_field.fieldAnatomy;
21
+ exports.useField = require_field.useField;
22
+ exports.useFieldContext = require_field.useFieldContext;