@sprawlify/react 0.0.6 → 0.0.8

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 (171) hide show
  1. package/dist/chunk-BYnRvbsk.cjs +53 -0
  2. package/dist/{collapsible-DYgHs1_i.mjs → collapsible-Nbt3Sequ.mjs} +7 -4
  3. package/dist/{collapsible-D_cXuaRy.cjs → collapsible-aFKYmVbP.cjs} +13 -9
  4. package/dist/collection-DGEUORi5.cjs +230 -0
  5. package/dist/collection-DQWWySNV.mjs +187 -0
  6. package/dist/components/accordion/index.cjs +21 -24
  7. package/dist/components/accordion/index.d.cts +11 -9
  8. package/dist/components/accordion/index.d.mts +11 -9
  9. package/dist/components/accordion/index.mjs +10 -14
  10. package/dist/components/angle-slider/index.cjs +14 -9
  11. package/dist/components/angle-slider/index.d.cts +13 -11
  12. package/dist/components/angle-slider/index.d.mts +13 -11
  13. package/dist/components/angle-slider/index.mjs +8 -4
  14. package/dist/components/avatar/index.cjs +14 -9
  15. package/dist/components/avatar/index.d.cts +8 -6
  16. package/dist/components/avatar/index.d.mts +8 -6
  17. package/dist/components/avatar/index.mjs +8 -4
  18. package/dist/components/bottom-sheet/index.cjs +216 -0
  19. package/dist/components/bottom-sheet/index.d.cts +80 -0
  20. package/dist/components/bottom-sheet/index.d.mts +81 -0
  21. package/dist/components/bottom-sheet/index.mjs +192 -0
  22. package/dist/components/carousel/index.cjs +265 -0
  23. package/dist/components/carousel/index.d.cts +95 -0
  24. package/dist/components/carousel/index.d.mts +95 -0
  25. package/dist/components/carousel/index.mjs +243 -0
  26. package/dist/components/checkbox/index.cjs +311 -0
  27. package/dist/components/checkbox/index.d.cts +115 -0
  28. package/dist/components/checkbox/index.d.mts +115 -0
  29. package/dist/components/checkbox/index.mjs +291 -0
  30. package/dist/components/client-only/index.cjs +14 -0
  31. package/dist/components/client-only/index.d.cts +8 -0
  32. package/dist/components/client-only/index.d.mts +8 -0
  33. package/dist/components/client-only/index.mjs +13 -0
  34. package/dist/components/clipboard/index.cjs +186 -0
  35. package/dist/components/clipboard/index.d.cts +71 -0
  36. package/dist/components/clipboard/index.d.mts +71 -0
  37. package/dist/components/clipboard/index.mjs +163 -0
  38. package/dist/components/collapsible/index.cjs +8 -3
  39. package/dist/components/collapsible/index.d.cts +10 -8
  40. package/dist/components/collapsible/index.d.mts +10 -8
  41. package/dist/components/collapsible/index.mjs +7 -3
  42. package/dist/components/collection/index.cjs +11 -0
  43. package/dist/components/collection/index.d.cts +2 -0
  44. package/dist/components/collection/index.d.mts +2 -0
  45. package/dist/components/collection/index.mjs +5 -0
  46. package/dist/components/color-picker/index.cjs +617 -0
  47. package/dist/components/color-picker/index.d.cts +181 -0
  48. package/dist/components/color-picker/index.d.mts +182 -0
  49. package/dist/components/color-picker/index.mjs +573 -0
  50. package/dist/components/combobox/index.cjs +420 -0
  51. package/dist/components/combobox/index.d.cts +132 -0
  52. package/dist/components/combobox/index.d.mts +133 -0
  53. package/dist/components/combobox/index.mjs +390 -0
  54. package/dist/components/date-picker/index.cjs +567 -0
  55. package/dist/components/date-picker/index.d.cts +164 -0
  56. package/dist/components/date-picker/index.d.mts +165 -0
  57. package/dist/components/date-picker/index.mjs +526 -0
  58. package/dist/components/dialog/index.cjs +211 -0
  59. package/dist/components/dialog/index.d.cts +80 -0
  60. package/dist/components/dialog/index.d.mts +81 -0
  61. package/dist/components/dialog/index.mjs +187 -0
  62. package/dist/components/download-trigger/index.cjs +43 -0
  63. package/dist/components/download-trigger/index.d.cts +16 -0
  64. package/dist/components/download-trigger/index.d.mts +16 -0
  65. package/dist/components/download-trigger/index.mjs +42 -0
  66. package/dist/components/editable/index.cjs +246 -0
  67. package/dist/components/editable/index.d.cts +79 -0
  68. package/dist/components/editable/index.d.mts +79 -0
  69. package/dist/components/editable/index.mjs +221 -0
  70. package/dist/components/field/index.cjs +29 -0
  71. package/dist/components/field/index.d.cts +116 -0
  72. package/dist/components/field/index.d.mts +116 -0
  73. package/dist/components/field/index.mjs +11 -0
  74. package/dist/components/fieldset/index.cjs +25 -0
  75. package/dist/components/fieldset/index.d.cts +73 -0
  76. package/dist/components/fieldset/index.d.mts +73 -0
  77. package/dist/components/fieldset/index.mjs +11 -0
  78. package/dist/components/file-upload/index.cjs +351 -0
  79. package/dist/components/file-upload/index.d.cts +102 -0
  80. package/dist/components/file-upload/index.d.mts +102 -0
  81. package/dist/components/file-upload/index.mjs +322 -0
  82. package/dist/components/floating-panel/index.cjs +287 -0
  83. package/dist/components/floating-panel/index.d.cts +100 -0
  84. package/dist/components/floating-panel/index.d.mts +101 -0
  85. package/dist/components/floating-panel/index.mjs +259 -0
  86. package/dist/components/focus-trap/index.cjs +36 -0
  87. package/dist/components/focus-trap/index.d.cts +14 -0
  88. package/dist/components/focus-trap/index.d.mts +14 -0
  89. package/dist/components/focus-trap/index.mjs +35 -0
  90. package/dist/components/format/index.cjs +57 -0
  91. package/dist/components/format/index.d.cts +36 -0
  92. package/dist/components/format/index.d.mts +36 -0
  93. package/dist/components/format/index.mjs +49 -0
  94. package/dist/components/frame/index.cjs +90 -0
  95. package/dist/components/frame/index.d.cts +13 -0
  96. package/dist/components/frame/index.d.mts +13 -0
  97. package/dist/components/frame/index.mjs +89 -0
  98. package/dist/components/highlight/index.cjs +32 -0
  99. package/dist/components/highlight/index.d.cts +14 -0
  100. package/dist/components/highlight/index.d.mts +14 -0
  101. package/dist/components/highlight/index.mjs +30 -0
  102. package/dist/components/portal/index.cjs +33 -0
  103. package/dist/components/portal/index.d.cts +11 -0
  104. package/dist/components/portal/index.d.mts +11 -0
  105. package/dist/components/portal/index.mjs +32 -0
  106. package/dist/components/presence/index.cjs +11 -0
  107. package/dist/components/presence/index.d.cts +2 -0
  108. package/dist/components/presence/index.d.mts +4 -0
  109. package/dist/components/presence/index.mjs +7 -0
  110. package/dist/components/select/index.cjs +423 -0
  111. package/dist/components/select/index.d.cts +132 -0
  112. package/dist/components/select/index.d.mts +133 -0
  113. package/dist/components/select/index.mjs +387 -0
  114. package/dist/compose-refs-BEptPEkE.mjs +16 -0
  115. package/dist/compose-refs-C5QNDywq.cjs +22 -0
  116. package/dist/{factory-DN0EdT7u.mjs → core-Ba4IEjhK.mjs} +4 -154
  117. package/dist/{factory-CfqPG186.cjs → core-DCWyxy9D.cjs} +2 -251
  118. package/dist/{create-context-DCEySQ7J.cjs → create-context-CQ4U0lLj.cjs} +1 -1
  119. package/dist/environment-CvilmfQt.cjs +58 -0
  120. package/dist/environment-Ded7DkGr.mjs +46 -0
  121. package/dist/factory-Bi8oEg8i.mjs +49 -0
  122. package/dist/factory-C-EBNsCW.d.mts +15 -0
  123. package/dist/factory-C166evrS.cjs +61 -0
  124. package/dist/factory-C4cfTHs7.d.cts +15 -0
  125. package/dist/field-B-6qoKdn.mjs +324 -0
  126. package/dist/field-C-57Gj2E.cjs +406 -0
  127. package/dist/fieldset-B-MkM2Ms.cjs +239 -0
  128. package/dist/fieldset-gaVneDYh.mjs +186 -0
  129. package/dist/index-BJvW7OpY.d.mts +25 -0
  130. package/dist/index-BhGgEHWc.d.cts +34 -0
  131. package/dist/index-ByIsf4E7.d.mts +74 -0
  132. package/dist/index-Cp1i1zbg.d.mts +34 -0
  133. package/dist/index-CumJbg8V.d.cts +74 -0
  134. package/dist/index.cjs +17 -12
  135. package/dist/index.d.cts +7 -5
  136. package/dist/index.d.mts +7 -5
  137. package/dist/index.mjs +7 -3
  138. package/dist/locale-BcnWD1Hf.cjs +78 -0
  139. package/dist/locale-Coin-d7R.mjs +54 -0
  140. package/dist/normalize-props-skGwa8Dk.d.cts +13 -0
  141. package/dist/presence-Bc6Bxe5i.mjs +72 -0
  142. package/dist/presence-CPov8wyU.cjs +103 -0
  143. package/dist/providers-BNAArubQ.cjs +0 -0
  144. package/dist/providers-Dm2P3F2_.mjs +1 -0
  145. package/dist/render-strategy-BywM_IvB.cjs +30 -0
  146. package/dist/render-strategy-FiPgAp1U.mjs +13 -0
  147. package/dist/types-B4tvWlDb.d.cts +6 -0
  148. package/dist/types-BmBABPZb.d.mts +6 -0
  149. package/dist/use-event-4J5QFFqK.mjs +19 -0
  150. package/dist/use-event-CLH8zHoJ.cjs +25 -0
  151. package/dist/use-fieldset-context-CCQLmNLL.cjs +23 -0
  152. package/dist/use-fieldset-context-LwveT1OS.mjs +12 -0
  153. package/dist/use-safe-layout-effect-C2GgvNT3.cjs +13 -0
  154. package/dist/use-safe-layout-effect-CLjnuJFb.mjs +7 -0
  155. package/dist/utils/index.cjs +3 -3
  156. package/dist/utils/index.d.cts +1 -1
  157. package/dist/utils/index.d.mts +1 -1
  158. package/dist/utils/index.mjs +2 -2
  159. package/package.json +232 -2
  160. package/dist/factory-BZBSaT-0.d.cts +0 -29
  161. package/dist/factory-DaVMAttY.d.mts +0 -41
  162. /package/dist/{chunk-CYMnug_4.mjs → chunk-BXPHTOwk.mjs} +0 -0
  163. /package/dist/{create-context-DGYD_HQt.mjs → create-context-CCXzjEv8.mjs} +0 -0
  164. /package/dist/{create-split-props-BFscidWy.mjs → create-split-props-CBL0m-GX.mjs} +0 -0
  165. /package/dist/{create-split-props-CSaOnJRj.cjs → create-split-props-Dp4TWOyM.cjs} +0 -0
  166. /package/dist/{index-OOf7QNG5.d.mts → index-CureNJdc.d.mts} +0 -0
  167. /package/dist/{index-DiYk6N_L.d.cts → index-dbTyAXLy.d.cts} +0 -0
  168. /package/dist/{render-strategy--1FNKx5x.d.mts → render-strategy-C8IyLw0O.d.mts} +0 -0
  169. /package/dist/{render-strategy-RT-KvAqO.d.cts → render-strategy-rA4C5NUX.d.cts} +0 -0
  170. /package/dist/{utils-Cb5K29pi.cjs → utils-B_Ojepvp.cjs} +0 -0
  171. /package/dist/{utils-nfWHwVIS.mjs → utils-C-m3mZWI.mjs} +0 -0
@@ -0,0 +1,243 @@
1
+ import { t as __export } from "../../chunk-BXPHTOwk.mjs";
2
+ import { i as useMachine, r as normalizeProps, t as mergeProps } from "../../core-Ba4IEjhK.mjs";
3
+ import { t as createContext$1 } from "../../create-context-CCXzjEv8.mjs";
4
+ import { n as useEnvironmentContext } from "../../environment-Ded7DkGr.mjs";
5
+ import { i as useLocaleContext } from "../../locale-Coin-d7R.mjs";
6
+ import "../../providers-Dm2P3F2_.mjs";
7
+ import { n as sprawlify } from "../../factory-Bi8oEg8i.mjs";
8
+ import { t as createSplitProps } from "../../create-split-props-CBL0m-GX.mjs";
9
+ import { forwardRef, useId, useMemo } from "react";
10
+ import { jsx } from "react/jsx-runtime";
11
+ import * as carousel from "@sprawlify/primitives/machines/carousel";
12
+ import { anatomy } from "@sprawlify/primitives/machines/carousel";
13
+
14
+ //#region src/components/carousel/carousel-anatomy.ts
15
+ const carouselAnatomy = anatomy.extendWith("progressText", "autoplayIndicator");
16
+
17
+ //#endregion
18
+ //#region src/components/carousel/use-carousel-context.ts
19
+ const [CarouselProvider, useCarouselContext] = createContext$1({
20
+ name: "CarouselContext",
21
+ hookName: "useCarouselContext",
22
+ providerName: "<CarouselProvider />"
23
+ });
24
+
25
+ //#endregion
26
+ //#region src/components/carousel/carousel-autoplay-indicator.tsx
27
+ const parts$1 = carouselAnatomy.build();
28
+ const CarouselAutoplayIndicator = forwardRef((props, ref) => {
29
+ const { children, fallback, ...restProps } = props;
30
+ const carousel$1 = useCarouselContext();
31
+ return /* @__PURE__ */ jsx(sprawlify.span, {
32
+ ref,
33
+ ...parts$1.autoplayIndicator.attrs,
34
+ ...restProps,
35
+ children: carousel$1.isPlaying ? children : fallback
36
+ });
37
+ });
38
+ CarouselAutoplayIndicator.displayName = "CarouselAutoplayIndicator";
39
+
40
+ //#endregion
41
+ //#region src/components/carousel/carousel-progress-text.tsx
42
+ const parts = carouselAnatomy.build();
43
+ const CarouselProgressText = forwardRef((props, ref) => {
44
+ const carousel$1 = useCarouselContext();
45
+ const progressText = useMemo(() => {
46
+ return `${carousel$1.page + 1} / ${carousel$1.pageSnapPoints.length}`;
47
+ }, [carousel$1.page, carousel$1.pageSnapPoints.length]);
48
+ return /* @__PURE__ */ jsx(sprawlify.span, {
49
+ ref,
50
+ ...parts.progressText.attrs,
51
+ ...props,
52
+ children: props.children || progressText
53
+ });
54
+ });
55
+ CarouselProgressText.displayName = "CarouselProgressText";
56
+
57
+ //#endregion
58
+ //#region src/components/carousel/carousel-autoplay-trigger.tsx
59
+ const CarouselAutoplayTrigger = forwardRef((props, ref) => {
60
+ const mergedProps = mergeProps(useCarouselContext().getAutoplayTriggerProps(), props);
61
+ return /* @__PURE__ */ jsx(sprawlify.button, {
62
+ ...mergedProps,
63
+ ref
64
+ });
65
+ });
66
+ CarouselAutoplayTrigger.displayName = "CarouselAutoplayTrigger";
67
+
68
+ //#endregion
69
+ //#region src/components/carousel/carousel-context.tsx
70
+ const CarouselContext = (props) => props.children(useCarouselContext());
71
+
72
+ //#endregion
73
+ //#region src/components/carousel/carousel-control.tsx
74
+ const CarouselControl = forwardRef((props, ref) => {
75
+ const mergedProps = mergeProps(useCarouselContext().getControlProps(), props);
76
+ return /* @__PURE__ */ jsx(sprawlify.div, {
77
+ ...mergedProps,
78
+ ...props,
79
+ ref
80
+ });
81
+ });
82
+ CarouselControl.displayName = "CarouselControl";
83
+
84
+ //#endregion
85
+ //#region src/components/carousel/carousel-indicator.tsx
86
+ const splitIndicatorProps = createSplitProps();
87
+ const CarouselIndicator = forwardRef((props, ref) => {
88
+ const [indicatorProps, localProps] = splitIndicatorProps(props, ["readOnly", "index"]);
89
+ const mergedProps = mergeProps(useCarouselContext().getIndicatorProps(indicatorProps), localProps);
90
+ return /* @__PURE__ */ jsx(sprawlify.button, {
91
+ ...mergedProps,
92
+ ref
93
+ });
94
+ });
95
+ CarouselIndicator.displayName = "CarouselIndicator";
96
+
97
+ //#endregion
98
+ //#region src/components/carousel/carousel-indicator-group.tsx
99
+ const CarouselIndicatorGroup = forwardRef((props, ref) => {
100
+ const mergedProps = mergeProps(useCarouselContext().getIndicatorGroupProps(), props);
101
+ return /* @__PURE__ */ jsx(sprawlify.div, {
102
+ ...mergedProps,
103
+ ref
104
+ });
105
+ });
106
+ CarouselIndicatorGroup.displayName = "CarouselIndicatorGroup";
107
+
108
+ //#endregion
109
+ //#region src/components/carousel/carousel-item.tsx
110
+ const splitItemProps = createSplitProps();
111
+ const CarouselItem = forwardRef((props, ref) => {
112
+ const [itemProps, localProps] = splitItemProps(props, ["index", "snapAlign"]);
113
+ const mergedProps = mergeProps(useCarouselContext().getItemProps(itemProps), localProps);
114
+ return /* @__PURE__ */ jsx(sprawlify.div, {
115
+ ...mergedProps,
116
+ ref
117
+ });
118
+ });
119
+ CarouselItem.displayName = "CarouselItem";
120
+
121
+ //#endregion
122
+ //#region src/components/carousel/carousel-item-group.tsx
123
+ const CarouselItemGroup = forwardRef((props, ref) => {
124
+ const mergedProps = mergeProps(useCarouselContext().getItemGroupProps(), props);
125
+ return /* @__PURE__ */ jsx(sprawlify.div, {
126
+ ...mergedProps,
127
+ ref
128
+ });
129
+ });
130
+ CarouselItemGroup.displayName = "CarouselItemGroup";
131
+
132
+ //#endregion
133
+ //#region src/components/carousel/carousel-next-trigger.tsx
134
+ const CarouselNextTrigger = forwardRef((props, ref) => {
135
+ const mergedProps = mergeProps(useCarouselContext().getNextTriggerProps(), props);
136
+ return /* @__PURE__ */ jsx(sprawlify.button, {
137
+ ...mergedProps,
138
+ ref
139
+ });
140
+ });
141
+ CarouselNextTrigger.displayName = "CarouselNextTrigger";
142
+
143
+ //#endregion
144
+ //#region src/components/carousel/carousel-prev-trigger.tsx
145
+ const CarouselPrevTrigger = forwardRef((props, ref) => {
146
+ const mergedProps = mergeProps(useCarouselContext().getPrevTriggerProps(), props);
147
+ return /* @__PURE__ */ jsx(sprawlify.button, {
148
+ ...mergedProps,
149
+ ref
150
+ });
151
+ });
152
+ CarouselPrevTrigger.displayName = "CarouselPrevTrigger";
153
+
154
+ //#endregion
155
+ //#region src/components/carousel/use-carousel.ts
156
+ const useCarousel = (props) => {
157
+ const id = useId();
158
+ const { getRootNode } = useEnvironmentContext();
159
+ const { dir } = useLocaleContext();
160
+ const machineProps = {
161
+ id,
162
+ dir,
163
+ getRootNode,
164
+ ...props
165
+ };
166
+ const service = useMachine(carousel.machine, machineProps);
167
+ return carousel.connect(service, normalizeProps);
168
+ };
169
+
170
+ //#endregion
171
+ //#region src/components/carousel/carousel-root.tsx
172
+ const splitRootProps = createSplitProps();
173
+ const CarouselRoot = forwardRef((props, ref) => {
174
+ const [useCarouselProps, localProps] = splitRootProps(props, [
175
+ "allowMouseDrag",
176
+ "autoplay",
177
+ "autoSize",
178
+ "defaultPage",
179
+ "id",
180
+ "ids",
181
+ "inViewThreshold",
182
+ "loop",
183
+ "onAutoplayStatusChange",
184
+ "onDragStatusChange",
185
+ "onPageChange",
186
+ "orientation",
187
+ "padding",
188
+ "page",
189
+ "slideCount",
190
+ "slidesPerMove",
191
+ "slidesPerPage",
192
+ "snapType",
193
+ "spacing",
194
+ "translations"
195
+ ]);
196
+ const carousel$1 = useCarousel(useCarouselProps);
197
+ const mergedProps = mergeProps(carousel$1.getRootProps(), localProps);
198
+ return /* @__PURE__ */ jsx(CarouselProvider, {
199
+ value: carousel$1,
200
+ children: /* @__PURE__ */ jsx(sprawlify.div, {
201
+ ...mergedProps,
202
+ ref
203
+ })
204
+ });
205
+ });
206
+ CarouselRoot.displayName = "CarouselRoot";
207
+
208
+ //#endregion
209
+ //#region src/components/carousel/carousel-root-provider.tsx
210
+ const splitRootProviderProps = createSplitProps();
211
+ const CarouselRootProvider = forwardRef((props, ref) => {
212
+ const [{ value: carousel$1 }, localProps] = splitRootProviderProps(props, ["value"]);
213
+ const mergedProps = mergeProps(carousel$1.getRootProps(), localProps);
214
+ return /* @__PURE__ */ jsx(CarouselProvider, {
215
+ value: carousel$1,
216
+ children: /* @__PURE__ */ jsx(sprawlify.div, {
217
+ ...mergedProps,
218
+ ref
219
+ })
220
+ });
221
+ });
222
+ CarouselRootProvider.displayName = "CarouselRootProvider";
223
+
224
+ //#endregion
225
+ //#region src/components/carousel/carousel.ts
226
+ var carousel_exports = /* @__PURE__ */ __export({
227
+ AutoplayIndicator: () => CarouselAutoplayIndicator,
228
+ AutoplayTrigger: () => CarouselAutoplayTrigger,
229
+ Context: () => CarouselContext,
230
+ Control: () => CarouselControl,
231
+ Indicator: () => CarouselIndicator,
232
+ IndicatorGroup: () => CarouselIndicatorGroup,
233
+ Item: () => CarouselItem,
234
+ ItemGroup: () => CarouselItemGroup,
235
+ NextTrigger: () => CarouselNextTrigger,
236
+ PrevTrigger: () => CarouselPrevTrigger,
237
+ ProgressText: () => CarouselProgressText,
238
+ Root: () => CarouselRoot,
239
+ RootProvider: () => CarouselRootProvider
240
+ });
241
+
242
+ //#endregion
243
+ export { carousel_exports as Carousel, CarouselAutoplayIndicator, CarouselAutoplayTrigger, CarouselContext, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselProgressText, CarouselRoot, CarouselRootProvider, carouselAnatomy, useCarousel, useCarouselContext };
@@ -0,0 +1,311 @@
1
+ const require_chunk = require('../../chunk-BYnRvbsk.cjs');
2
+ const require_core = require('../../core-DCWyxy9D.cjs');
3
+ const require_create_context = require('../../create-context-CQ4U0lLj.cjs');
4
+ const require_environment = require('../../environment-CvilmfQt.cjs');
5
+ const require_locale = require('../../locale-BcnWD1Hf.cjs');
6
+ require('../../providers-BNAArubQ.cjs');
7
+ const require_factory = require('../../factory-C166evrS.cjs');
8
+ const require_create_split_props = require('../../create-split-props-Dp4TWOyM.cjs');
9
+ const require_use_event = require('../../use-event-CLH8zHoJ.cjs');
10
+ const require_use_fieldset_context = require('../../use-fieldset-context-CCQLmNLL.cjs');
11
+ require('../../fieldset-B-MkM2Ms.cjs');
12
+ require('../../use-safe-layout-effect-C2GgvNT3.cjs');
13
+ const require_field = require('../../field-C-57Gj2E.cjs');
14
+ let react = require("react");
15
+ let react_jsx_runtime = require("react/jsx-runtime");
16
+ let __sprawlify_primitives_machines_checkbox = require("@sprawlify/primitives/machines/checkbox");
17
+ __sprawlify_primitives_machines_checkbox = require_chunk.__toESM(__sprawlify_primitives_machines_checkbox);
18
+ let __sprawlify_primitives_core = require("@sprawlify/primitives/core");
19
+
20
+ //#region src/components/checkbox/use-checkbox-context.ts
21
+ const [CheckboxProvider, useCheckboxContext] = require_create_context.createContext({
22
+ name: "CheckboxContext",
23
+ hookName: "useCheckboxContext",
24
+ providerName: "<CheckboxProvider />"
25
+ });
26
+
27
+ //#endregion
28
+ //#region src/components/checkbox/checkbox-context.tsx
29
+ const CheckboxContext = (props) => props.children(useCheckboxContext());
30
+
31
+ //#endregion
32
+ //#region src/components/checkbox/checkbox-control.tsx
33
+ const CheckboxControl = (0, react.forwardRef)((props, ref) => {
34
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useCheckboxContext().getControlProps(), props);
35
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
36
+ ...mergedProps,
37
+ ref
38
+ });
39
+ });
40
+ CheckboxControl.displayName = "CheckboxControl";
41
+
42
+ //#endregion
43
+ //#region src/components/checkbox/checkbox-anatomy.ts
44
+ const checkboxAnatomy = __sprawlify_primitives_machines_checkbox.anatomy.extendWith("group");
45
+
46
+ //#endregion
47
+ //#region src/utils/use-controllable-state.ts
48
+ function useControllableState(props) {
49
+ const { value, onChange, defaultValue } = props;
50
+ const [uncontrolledValue, setUncontrolledValue] = (0, react.useState)(defaultValue);
51
+ const controlled = value !== void 0;
52
+ return [controlled ? value : uncontrolledValue, (0, react.useCallback)((value$1) => {
53
+ if (controlled) return onChange?.(value$1);
54
+ setUncontrolledValue(value$1);
55
+ return onChange?.(value$1);
56
+ }, [controlled, onChange])];
57
+ }
58
+
59
+ //#endregion
60
+ //#region src/components/checkbox/use-checkbox-group.ts
61
+ function useCheckboxGroup(props = {}) {
62
+ const fieldset = require_use_fieldset_context.useFieldsetContext();
63
+ const { defaultValue, value: controlledValue, onValueChange, disabled = fieldset?.disabled, readOnly, name, invalid = fieldset?.invalid } = props;
64
+ const interactive = !(disabled || readOnly);
65
+ const onChangeProp = require_use_event.useEvent(onValueChange, { sync: true });
66
+ const [value, setValue] = useControllableState({
67
+ value: controlledValue,
68
+ defaultValue: defaultValue || [],
69
+ onChange: onChangeProp
70
+ });
71
+ const isChecked = (val) => {
72
+ return value.some((v) => String(v) === String(val));
73
+ };
74
+ const toggleValue = (val) => {
75
+ isChecked(val) ? removeValue(val) : addValue(val);
76
+ };
77
+ const addValue = (val) => {
78
+ if (!interactive) return;
79
+ if (isChecked(val)) return;
80
+ setValue(value.concat(val));
81
+ };
82
+ const removeValue = (val) => {
83
+ if (!interactive) return;
84
+ setValue(value.filter((v) => String(v) !== String(val)));
85
+ };
86
+ const getItemProps = (props$1) => {
87
+ return {
88
+ checked: props$1.value != null ? isChecked(props$1.value) : void 0,
89
+ onCheckedChange() {
90
+ if (props$1.value != null) toggleValue(props$1.value);
91
+ },
92
+ name,
93
+ disabled,
94
+ readOnly,
95
+ invalid
96
+ };
97
+ };
98
+ return {
99
+ isChecked,
100
+ value,
101
+ name,
102
+ disabled: !!disabled,
103
+ readOnly: !!readOnly,
104
+ invalid: !!invalid,
105
+ setValue,
106
+ addValue,
107
+ toggleValue,
108
+ getItemProps
109
+ };
110
+ }
111
+
112
+ //#endregion
113
+ //#region src/components/checkbox/use-checkbox-group-context.tsx
114
+ const [CheckboxGroupContextProvider, useCheckboxGroupContext] = require_create_context.createContext({
115
+ name: "CheckboxGroupContext",
116
+ hookName: "useCheckboxGroupContext",
117
+ providerName: "<CheckboxGroupProvider />",
118
+ strict: false
119
+ });
120
+
121
+ //#endregion
122
+ //#region src/components/checkbox/checkbox-group.tsx
123
+ const splitGroupProps = require_create_split_props.createSplitProps();
124
+ const CheckboxGroup = (0, react.forwardRef)((props, ref) => {
125
+ const [checkboxGroupProps, localProps] = splitGroupProps(props, [
126
+ "defaultValue",
127
+ "value",
128
+ "onValueChange",
129
+ "disabled",
130
+ "invalid",
131
+ "readOnly",
132
+ "name"
133
+ ]);
134
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxGroupContextProvider, {
135
+ value: useCheckboxGroup(checkboxGroupProps),
136
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
137
+ ref,
138
+ role: "group",
139
+ ...localProps,
140
+ ...checkboxAnatomy.build().group.attrs
141
+ })
142
+ });
143
+ });
144
+ CheckboxGroup.displayName = "CheckboxGroup";
145
+
146
+ //#endregion
147
+ //#region src/components/checkbox/checkbox-group-provider.tsx
148
+ const splitProviderProps = require_create_split_props.createSplitProps();
149
+ const CheckboxGroupProvider = (0, react.forwardRef)((props, ref) => {
150
+ const [localProps, restProps] = splitProviderProps(props, ["value"]);
151
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxGroupContextProvider, {
152
+ value: localProps.value,
153
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
154
+ ref,
155
+ role: "group",
156
+ ...restProps,
157
+ ...checkboxAnatomy.build().group.attrs
158
+ })
159
+ });
160
+ });
161
+ CheckboxGroupProvider.displayName = "CheckboxGroupProvider";
162
+
163
+ //#endregion
164
+ //#region src/components/checkbox/checkbox-hidden-input.tsx
165
+ const CheckboxHiddenInput = (0, react.forwardRef)((props, ref) => {
166
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useCheckboxContext().getHiddenInputProps(), props);
167
+ const field = require_field.useFieldContext();
168
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.input, {
169
+ "aria-describedby": field?.ariaDescribedby,
170
+ ...mergedProps,
171
+ ref
172
+ });
173
+ });
174
+ CheckboxHiddenInput.displayName = "CheckboxHiddenInput";
175
+
176
+ //#endregion
177
+ //#region src/components/checkbox/checkbox-indicator.tsx
178
+ const CheckboxIndicator = (0, react.forwardRef)((props, ref) => {
179
+ const { indeterminate, ...rest } = props;
180
+ const checkbox = useCheckboxContext();
181
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(checkbox.getIndicatorProps(), rest);
182
+ const isVisible = indeterminate ? checkbox.indeterminate : checkbox.checked;
183
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
184
+ ...mergedProps,
185
+ hidden: !isVisible,
186
+ ref
187
+ });
188
+ });
189
+ CheckboxIndicator.displayName = "CheckboxIndicator";
190
+
191
+ //#endregion
192
+ //#region src/components/checkbox/checkbox-label.tsx
193
+ const CheckboxLabel = (0, react.forwardRef)((props, ref) => {
194
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useCheckboxContext().getLabelProps(), props);
195
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.span, {
196
+ ...mergedProps,
197
+ ref
198
+ });
199
+ });
200
+ CheckboxLabel.displayName = "CheckboxLabel";
201
+
202
+ //#endregion
203
+ //#region src/components/checkbox/use-checkbox.ts
204
+ const useCheckbox = (ownProps = {}) => {
205
+ const checkboxGroup = useCheckboxGroupContext();
206
+ const field = require_field.useFieldContext();
207
+ const props = (0, react.useMemo)(() => {
208
+ return (0, __sprawlify_primitives_core.mergeProps)(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});
209
+ }, [ownProps, checkboxGroup]);
210
+ const id = (0, react.useId)();
211
+ const { getRootNode } = require_environment.useEnvironmentContext();
212
+ const { dir } = require_locale.useLocaleContext();
213
+ const machineProps = {
214
+ id,
215
+ ids: {
216
+ label: field?.ids.label,
217
+ hiddenInput: field?.ids.control
218
+ },
219
+ dir,
220
+ disabled: field?.disabled,
221
+ readOnly: field?.readOnly,
222
+ invalid: field?.invalid,
223
+ required: field?.required,
224
+ getRootNode,
225
+ ...props
226
+ };
227
+ const service = require_core.useMachine(__sprawlify_primitives_machines_checkbox.machine, machineProps);
228
+ return __sprawlify_primitives_machines_checkbox.connect(service, require_core.normalizeProps);
229
+ };
230
+
231
+ //#endregion
232
+ //#region src/components/checkbox/checkbox-root.tsx
233
+ const splitRootProps = require_create_split_props.createSplitProps();
234
+ const CheckboxRoot = (0, react.forwardRef)((props, ref) => {
235
+ const [useCheckboxProps, localProps] = splitRootProps(props, [
236
+ "checked",
237
+ "defaultChecked",
238
+ "disabled",
239
+ "form",
240
+ "id",
241
+ "ids",
242
+ "invalid",
243
+ "name",
244
+ "onCheckedChange",
245
+ "readOnly",
246
+ "required",
247
+ "value"
248
+ ]);
249
+ const checkbox = useCheckbox(useCheckboxProps);
250
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(checkbox.getRootProps(), localProps);
251
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxProvider, {
252
+ value: checkbox,
253
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.label, {
254
+ ...mergedProps,
255
+ ref
256
+ })
257
+ });
258
+ });
259
+ CheckboxRoot.displayName = "CheckboxRoot";
260
+
261
+ //#endregion
262
+ //#region src/components/checkbox/checkbox-root-provider.tsx
263
+ const splitRootProviderProps = require_create_split_props.createSplitProps();
264
+ const CheckboxRootProvider = (0, react.forwardRef)((props, ref) => {
265
+ const [{ value: checkbox }, localProps] = splitRootProviderProps(props, ["value"]);
266
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(checkbox.getRootProps(), localProps);
267
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckboxProvider, {
268
+ value: checkbox,
269
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.label, {
270
+ ...mergedProps,
271
+ ref
272
+ })
273
+ });
274
+ });
275
+ CheckboxRootProvider.displayName = "CheckboxRootProvider";
276
+
277
+ //#endregion
278
+ //#region src/components/checkbox/checkbox.ts
279
+ var checkbox_exports = /* @__PURE__ */ require_chunk.__export({
280
+ Context: () => CheckboxContext,
281
+ Control: () => CheckboxControl,
282
+ Group: () => CheckboxGroup,
283
+ GroupProvider: () => CheckboxGroupProvider,
284
+ HiddenInput: () => CheckboxHiddenInput,
285
+ Indicator: () => CheckboxIndicator,
286
+ Label: () => CheckboxLabel,
287
+ Root: () => CheckboxRoot,
288
+ RootProvider: () => CheckboxRootProvider
289
+ });
290
+
291
+ //#endregion
292
+ Object.defineProperty(exports, 'Checkbox', {
293
+ enumerable: true,
294
+ get: function () {
295
+ return checkbox_exports;
296
+ }
297
+ });
298
+ exports.CheckboxContext = CheckboxContext;
299
+ exports.CheckboxControl = CheckboxControl;
300
+ exports.CheckboxGroup = CheckboxGroup;
301
+ exports.CheckboxGroupProvider = CheckboxGroupProvider;
302
+ exports.CheckboxHiddenInput = CheckboxHiddenInput;
303
+ exports.CheckboxIndicator = CheckboxIndicator;
304
+ exports.CheckboxLabel = CheckboxLabel;
305
+ exports.CheckboxRoot = CheckboxRoot;
306
+ exports.CheckboxRootProvider = CheckboxRootProvider;
307
+ exports.checkboxAnatomy = checkboxAnatomy;
308
+ exports.useCheckbox = useCheckbox;
309
+ exports.useCheckboxContext = useCheckboxContext;
310
+ exports.useCheckboxGroup = useCheckboxGroup;
311
+ exports.useCheckboxGroupContext = useCheckboxGroupContext;
@@ -0,0 +1,115 @@
1
+ import { t as PropTypes } from "../../normalize-props-skGwa8Dk.cjs";
2
+ import { r as Optional, t as Assign } from "../../types-B4tvWlDb.cjs";
3
+ import { r as PolymorphicProps, t as HTMLProps } from "../../factory-C4cfTHs7.cjs";
4
+ import * as react294 from "react";
5
+ import { ReactNode } from "react";
6
+ import * as _sprawlify_primitives_anatomy6 from "@sprawlify/primitives/anatomy";
7
+ import * as checkbox from "@sprawlify/primitives/machines/checkbox";
8
+ import { CheckedChangeDetails, CheckedChangeDetails as CheckboxCheckedChangeDetails, CheckedState, CheckedState as CheckboxCheckedState } from "@sprawlify/primitives/machines/checkbox";
9
+
10
+ //#region src/components/checkbox/use-checkbox.d.ts
11
+ interface UseCheckboxProps extends Optional<Omit<checkbox.Props, "dir" | "getRootNode">, "id"> {}
12
+ interface UseCheckboxReturn extends checkbox.Api<PropTypes> {}
13
+ declare const useCheckbox: (ownProps?: UseCheckboxProps) => UseCheckboxReturn;
14
+ //#endregion
15
+ //#region src/components/checkbox/use-checkbox-context.d.ts
16
+ interface UseCheckboxContext extends UseCheckboxReturn {}
17
+ //#endregion
18
+ //#region src/components/checkbox/checkbox-context.d.ts
19
+ interface CheckboxContextProps {
20
+ children: (context: UseCheckboxContext) => ReactNode;
21
+ }
22
+ declare const CheckboxContext: (props: CheckboxContextProps) => ReactNode;
23
+ //#endregion
24
+ //#region src/components/checkbox/checkbox-control.d.ts
25
+ interface CheckboxControlBaseProps extends PolymorphicProps {}
26
+ interface CheckboxControlProps extends HTMLProps<"div">, CheckboxControlBaseProps {}
27
+ declare const CheckboxControl: react294.ForwardRefExoticComponent<CheckboxControlProps & react294.RefAttributes<HTMLDivElement>>;
28
+ //#endregion
29
+ //#region src/components/checkbox/use-checkbox-group.d.ts
30
+ interface UseCheckboxGroupProps {
31
+ defaultValue?: string[] | undefined;
32
+ value?: string[] | undefined;
33
+ name?: string | undefined;
34
+ onValueChange?: ((value: string[]) => void) | undefined;
35
+ disabled?: boolean | undefined;
36
+ readOnly?: boolean | undefined;
37
+ invalid?: boolean | undefined;
38
+ }
39
+ interface CheckboxGroupItemProps {
40
+ value: string | undefined;
41
+ }
42
+ declare function useCheckboxGroup(props?: UseCheckboxGroupProps): {
43
+ isChecked: (val: string | undefined) => boolean;
44
+ value: string[];
45
+ name: string | undefined;
46
+ disabled: boolean;
47
+ readOnly: boolean;
48
+ invalid: boolean;
49
+ setValue: (value: string[]) => void | undefined;
50
+ addValue: (val: string) => void;
51
+ toggleValue: (val: string) => void;
52
+ getItemProps: (props: CheckboxGroupItemProps) => {
53
+ checked: boolean | undefined;
54
+ onCheckedChange(): void;
55
+ name: string | undefined;
56
+ disabled: boolean;
57
+ readOnly: boolean | undefined;
58
+ invalid: boolean;
59
+ };
60
+ };
61
+ type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>;
62
+ //#endregion
63
+ //#region src/components/checkbox/checkbox-group.d.ts
64
+ interface CheckboxGroupBaseProps extends UseCheckboxGroupProps, PolymorphicProps {}
65
+ interface CheckboxGroupProps extends Assign<HTMLProps<"div">, CheckboxGroupBaseProps> {}
66
+ declare const CheckboxGroup: react294.ForwardRefExoticComponent<CheckboxGroupProps & react294.RefAttributes<HTMLDivElement>>;
67
+ //#endregion
68
+ //#region src/components/checkbox/use-checkbox-group-context.d.ts
69
+ interface UseCheckboxGroupContext extends UseCheckboxGroupReturn {}
70
+ //#endregion
71
+ //#region src/components/checkbox/checkbox-group-provider.d.ts
72
+ interface ProviderProps {
73
+ value: UseCheckboxGroupContext;
74
+ }
75
+ interface CheckboxGroupProviderBaseProps extends ProviderProps, PolymorphicProps {}
76
+ interface CheckboxGroupProviderProps extends Assign<HTMLProps<"div">, CheckboxGroupProviderBaseProps> {}
77
+ declare const CheckboxGroupProvider: react294.ForwardRefExoticComponent<CheckboxGroupProviderProps & react294.RefAttributes<HTMLDivElement>>;
78
+ //#endregion
79
+ //#region src/components/checkbox/checkbox-hidden-input.d.ts
80
+ interface CheckboxHiddenInputBaseProps extends PolymorphicProps {}
81
+ interface CheckboxHiddenInputProps extends HTMLProps<"input">, CheckboxHiddenInputBaseProps {}
82
+ declare const CheckboxHiddenInput: react294.ForwardRefExoticComponent<CheckboxHiddenInputProps & react294.RefAttributes<HTMLInputElement>>;
83
+ //#endregion
84
+ //#region src/components/checkbox/checkbox-indicator.d.ts
85
+ interface CheckboxIndicatorBaseProps extends PolymorphicProps {
86
+ indeterminate?: boolean | undefined;
87
+ }
88
+ interface CheckboxIndicatorProps extends HTMLProps<"div">, CheckboxIndicatorBaseProps {}
89
+ declare const CheckboxIndicator: react294.ForwardRefExoticComponent<CheckboxIndicatorProps & react294.RefAttributes<HTMLDivElement>>;
90
+ //#endregion
91
+ //#region src/components/checkbox/checkbox-label.d.ts
92
+ interface CheckboxLabelBaseProps extends PolymorphicProps {}
93
+ interface CheckboxLabelProps extends HTMLProps<"span">, CheckboxLabelBaseProps {}
94
+ declare const CheckboxLabel: react294.ForwardRefExoticComponent<CheckboxLabelProps & react294.RefAttributes<HTMLSpanElement>>;
95
+ //#endregion
96
+ //#region src/components/checkbox/checkbox-root.d.ts
97
+ interface CheckboxRootBaseProps extends UseCheckboxProps, PolymorphicProps {}
98
+ interface CheckboxRootProps extends Assign<HTMLProps<"label">, CheckboxRootBaseProps> {}
99
+ declare const CheckboxRoot: react294.ForwardRefExoticComponent<CheckboxRootProps & react294.RefAttributes<HTMLLabelElement>>;
100
+ //#endregion
101
+ //#region src/components/checkbox/checkbox-root-provider.d.ts
102
+ interface RootProviderProps {
103
+ value: UseCheckboxReturn;
104
+ }
105
+ interface CheckboxRootProviderBaseProps extends RootProviderProps, PolymorphicProps {}
106
+ interface CheckboxRootProviderProps extends HTMLProps<"label">, CheckboxRootProviderBaseProps {}
107
+ declare const CheckboxRootProvider: react294.ForwardRefExoticComponent<CheckboxRootProviderProps & react294.RefAttributes<HTMLLabelElement>>;
108
+ //#endregion
109
+ //#region src/components/checkbox/checkbox-anatomy.d.ts
110
+ declare const checkboxAnatomy: _sprawlify_primitives_anatomy6.AnatomyInstance<"label" | "root" | "control" | "group" | "indicator">;
111
+ declare namespace checkbox_d_exports {
112
+ export { CheckedChangeDetails, CheckedState, CheckboxContext as Context, CheckboxContextProps as ContextProps, CheckboxControl as Control, CheckboxControlBaseProps as ControlBaseProps, CheckboxControlProps as ControlProps, CheckboxGroup as Group, CheckboxGroupBaseProps as GroupBaseProps, CheckboxGroupProps as GroupProps, CheckboxGroupProvider as GroupProvider, CheckboxGroupProviderBaseProps as GroupProviderBaseProps, CheckboxGroupProviderProps as GroupProviderProps, CheckboxHiddenInput as HiddenInput, CheckboxHiddenInputBaseProps as HiddenInputBaseProps, CheckboxHiddenInputProps as HiddenInputProps, CheckboxIndicator as Indicator, CheckboxIndicatorBaseProps as IndicatorBaseProps, CheckboxIndicatorProps as IndicatorProps, CheckboxLabel as Label, CheckboxLabelBaseProps as LabelBaseProps, CheckboxLabelProps as LabelProps, CheckboxRoot as Root, CheckboxRootBaseProps as RootBaseProps, CheckboxRootProps as RootProps, CheckboxRootProvider as RootProvider, CheckboxRootProviderBaseProps as RootProviderBaseProps, CheckboxRootProviderProps as RootProviderProps };
113
+ }
114
+ //#endregion
115
+ export { checkbox_d_exports as Checkbox, type CheckboxCheckedChangeDetails, type CheckboxCheckedState, CheckboxContext, type CheckboxContextProps, CheckboxControl, type CheckboxControlBaseProps, type CheckboxControlProps, CheckboxGroup, type CheckboxGroupBaseProps, type CheckboxGroupProps, CheckboxGroupProvider, type CheckboxGroupProviderBaseProps, type CheckboxGroupProviderProps, CheckboxHiddenInput, type CheckboxHiddenInputBaseProps, type CheckboxHiddenInputProps, CheckboxIndicator, type CheckboxIndicatorBaseProps, type CheckboxIndicatorProps, CheckboxLabel, type CheckboxLabelBaseProps, type CheckboxLabelProps, CheckboxRoot, type CheckboxRootBaseProps, type CheckboxRootProps, CheckboxRootProvider, type CheckboxRootProviderBaseProps, type CheckboxRootProviderProps, type UseCheckboxContext, type UseCheckboxGroupContext, type UseCheckboxGroupProps, type UseCheckboxGroupReturn, type UseCheckboxProps, type UseCheckboxReturn, checkboxAnatomy, useCheckbox, useCheckboxContext, useCheckboxGroup, useCheckboxGroupContext };