@sprawlify/react 0.0.7 → 0.0.9

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 (227) hide show
  1. package/dist/chunk-BYnRvbsk.cjs +53 -0
  2. package/dist/{collapsible-D5kle6Bc.cjs → collapsible-aFKYmVbP.cjs} +10 -9
  3. package/dist/{collapsible-B06GGGE7.mjs → collapsible-vqmKK3px.mjs} +7 -7
  4. package/dist/{collection-DEsp9z6X.mjs → collection-BYYMj_V8.mjs} +2 -2
  5. package/dist/{collection-BKabYqpE.cjs → collection-DGEUORi5.cjs} +4 -3
  6. package/dist/components/accordion/index.cjs +13 -11
  7. package/dist/components/accordion/index.d.cts +11 -11
  8. package/dist/components/accordion/index.d.mts +11 -11
  9. package/dist/components/accordion/index.mjs +10 -9
  10. package/dist/components/angle-slider/index.cjs +11 -9
  11. package/dist/components/angle-slider/index.d.cts +13 -13
  12. package/dist/components/angle-slider/index.d.mts +13 -13
  13. package/dist/components/angle-slider/index.mjs +8 -7
  14. package/dist/components/avatar/index.cjs +11 -9
  15. package/dist/components/avatar/index.d.cts +8 -8
  16. package/dist/components/avatar/index.d.mts +8 -8
  17. package/dist/components/avatar/index.mjs +8 -7
  18. package/dist/components/bottom-sheet/index.cjs +17 -14
  19. package/dist/components/bottom-sheet/index.d.cts +15 -15
  20. package/dist/components/bottom-sheet/index.d.mts +13 -13
  21. package/dist/components/bottom-sheet/index.mjs +12 -10
  22. package/dist/components/carousel/index.cjs +11 -9
  23. package/dist/components/carousel/index.d.cts +18 -18
  24. package/dist/components/carousel/index.d.mts +18 -18
  25. package/dist/components/carousel/index.mjs +8 -7
  26. package/dist/components/checkbox/index.cjs +17 -14
  27. package/dist/components/checkbox/index.d.cts +14 -14
  28. package/dist/components/checkbox/index.d.mts +14 -14
  29. package/dist/components/checkbox/index.mjs +13 -11
  30. package/dist/components/client-only/index.cjs +1 -1
  31. package/dist/components/clipboard/index.cjs +8 -7
  32. package/dist/components/clipboard/index.d.cts +12 -12
  33. package/dist/components/clipboard/index.d.mts +12 -12
  34. package/dist/components/clipboard/index.mjs +6 -6
  35. package/dist/components/collapsible/index.cjs +8 -6
  36. package/dist/components/collapsible/index.d.cts +10 -10
  37. package/dist/components/collapsible/index.d.mts +10 -10
  38. package/dist/components/collapsible/index.mjs +7 -6
  39. package/dist/components/collection/index.cjs +3 -3
  40. package/dist/components/collection/index.d.cts +1 -1
  41. package/dist/components/collection/index.d.mts +1 -1
  42. package/dist/components/collection/index.mjs +3 -3
  43. package/dist/components/color-picker/index.cjs +19 -15
  44. package/dist/components/color-picker/index.d.cts +35 -35
  45. package/dist/components/color-picker/index.d.mts +36 -36
  46. package/dist/components/color-picker/index.mjs +14 -11
  47. package/dist/components/combobox/index.cjs +19 -15
  48. package/dist/components/combobox/index.d.cts +22 -22
  49. package/dist/components/combobox/index.d.mts +23 -23
  50. package/dist/components/combobox/index.mjs +15 -12
  51. package/dist/components/date-picker/index.cjs +567 -0
  52. package/dist/components/date-picker/index.d.cts +164 -0
  53. package/dist/components/date-picker/index.d.mts +165 -0
  54. package/dist/components/date-picker/index.mjs +526 -0
  55. package/dist/components/dialog/index.cjs +211 -0
  56. package/dist/components/dialog/index.d.cts +80 -0
  57. package/dist/components/dialog/index.d.mts +81 -0
  58. package/dist/components/dialog/index.mjs +187 -0
  59. package/dist/components/download-trigger/index.cjs +43 -0
  60. package/dist/components/download-trigger/index.d.cts +16 -0
  61. package/dist/components/download-trigger/index.d.mts +16 -0
  62. package/dist/components/download-trigger/index.mjs +42 -0
  63. package/dist/components/editable/index.cjs +246 -0
  64. package/dist/components/editable/index.d.cts +79 -0
  65. package/dist/components/editable/index.d.mts +79 -0
  66. package/dist/components/editable/index.mjs +221 -0
  67. package/dist/components/field/index.cjs +9 -7
  68. package/dist/components/field/index.d.cts +12 -12
  69. package/dist/components/field/index.d.mts +14 -14
  70. package/dist/components/field/index.mjs +9 -7
  71. package/dist/components/fieldset/index.cjs +10 -8
  72. package/dist/components/fieldset/index.d.cts +10 -10
  73. package/dist/components/fieldset/index.d.mts +10 -10
  74. package/dist/components/fieldset/index.mjs +9 -7
  75. package/dist/components/file-upload/index.cjs +351 -0
  76. package/dist/components/file-upload/index.d.cts +102 -0
  77. package/dist/components/file-upload/index.d.mts +102 -0
  78. package/dist/components/file-upload/index.mjs +322 -0
  79. package/dist/components/floating-panel/index.cjs +287 -0
  80. package/dist/components/floating-panel/index.d.cts +100 -0
  81. package/dist/components/floating-panel/index.d.mts +101 -0
  82. package/dist/components/floating-panel/index.mjs +259 -0
  83. package/dist/components/focus-trap/index.cjs +36 -0
  84. package/dist/components/focus-trap/index.d.cts +14 -0
  85. package/dist/components/focus-trap/index.d.mts +14 -0
  86. package/dist/components/focus-trap/index.mjs +35 -0
  87. package/dist/components/format/index.cjs +57 -0
  88. package/dist/components/format/index.d.cts +36 -0
  89. package/dist/components/format/index.d.mts +36 -0
  90. package/dist/components/format/index.mjs +49 -0
  91. package/dist/components/frame/index.cjs +90 -0
  92. package/dist/components/frame/index.d.cts +13 -0
  93. package/dist/components/frame/index.d.mts +13 -0
  94. package/dist/components/frame/index.mjs +89 -0
  95. package/dist/components/highlight/index.cjs +2 -2
  96. package/dist/components/highlight/index.d.cts +3 -3
  97. package/dist/components/highlight/index.d.mts +3 -3
  98. package/dist/components/highlight/index.mjs +1 -1
  99. package/dist/components/hover-card/index.cjs +165 -0
  100. package/dist/components/hover-card/index.d.cts +70 -0
  101. package/dist/components/hover-card/index.d.mts +71 -0
  102. package/dist/components/hover-card/index.mjs +143 -0
  103. package/dist/components/image-cropper/index.cjs +197 -0
  104. package/dist/components/image-cropper/index.d.cts +64 -0
  105. package/dist/components/image-cropper/index.d.mts +64 -0
  106. package/dist/components/image-cropper/index.mjs +175 -0
  107. package/dist/components/json-tree-view/index.cjs +246 -0
  108. package/dist/components/json-tree-view/index.d.cts +43 -0
  109. package/dist/components/json-tree-view/index.d.mts +48 -0
  110. package/dist/components/json-tree-view/index.mjs +237 -0
  111. package/dist/components/listbox/index.cjs +314 -0
  112. package/dist/components/listbox/index.d.cts +110 -0
  113. package/dist/components/listbox/index.d.mts +110 -0
  114. package/dist/components/listbox/index.mjs +289 -0
  115. package/dist/components/marquee/index.cjs +176 -0
  116. package/dist/components/marquee/index.d.cts +61 -0
  117. package/dist/components/marquee/index.d.mts +61 -0
  118. package/dist/components/marquee/index.mjs +155 -0
  119. package/dist/components/menu/index.cjs +548 -0
  120. package/dist/components/menu/index.d.cts +159 -0
  121. package/dist/components/menu/index.d.mts +162 -0
  122. package/dist/components/menu/index.mjs +512 -0
  123. package/dist/components/navigation-menu/index.cjs +339 -0
  124. package/dist/components/navigation-menu/index.d.cts +90 -0
  125. package/dist/components/navigation-menu/index.d.mts +90 -0
  126. package/dist/components/navigation-menu/index.mjs +312 -0
  127. package/dist/components/number-input/index.cjs +237 -0
  128. package/dist/components/number-input/index.d.cts +74 -0
  129. package/dist/components/number-input/index.d.mts +74 -0
  130. package/dist/components/number-input/index.mjs +213 -0
  131. package/dist/components/pagination/index.cjs +197 -0
  132. package/dist/components/pagination/index.d.cts +69 -0
  133. package/dist/components/pagination/index.d.mts +69 -0
  134. package/dist/components/pagination/index.mjs +174 -0
  135. package/dist/components/password-input/index.cjs +193 -0
  136. package/dist/components/password-input/index.d.cts +66 -0
  137. package/dist/components/password-input/index.d.mts +66 -0
  138. package/dist/components/password-input/index.mjs +171 -0
  139. package/dist/components/pin-input/index.cjs +192 -0
  140. package/dist/components/pin-input/index.d.cts +59 -0
  141. package/dist/components/pin-input/index.d.mts +59 -0
  142. package/dist/components/pin-input/index.mjs +171 -0
  143. package/dist/components/popover/index.cjs +237 -0
  144. package/dist/components/popover/index.d.cts +95 -0
  145. package/dist/components/popover/index.d.mts +96 -0
  146. package/dist/components/popover/index.mjs +210 -0
  147. package/dist/components/portal/index.cjs +6 -31
  148. package/dist/components/portal/index.d.cts +2 -2
  149. package/dist/components/portal/index.d.mts +2 -2
  150. package/dist/components/portal/index.mjs +5 -29
  151. package/dist/components/presence/index.cjs +5 -5
  152. package/dist/components/presence/index.d.cts +1 -1
  153. package/dist/components/presence/index.d.mts +3 -3
  154. package/dist/components/presence/index.mjs +5 -5
  155. package/dist/components/select/index.cjs +19 -15
  156. package/dist/components/select/index.d.cts +21 -21
  157. package/dist/components/select/index.d.mts +22 -22
  158. package/dist/components/select/index.mjs +15 -12
  159. package/dist/components/tree-view/index.cjs +51 -0
  160. package/dist/components/tree-view/index.d.cts +3 -0
  161. package/dist/components/tree-view/index.d.mts +6 -0
  162. package/dist/components/tree-view/index.mjs +13 -0
  163. package/dist/compose-refs-C5QNDywq.cjs +22 -0
  164. package/dist/compose-refs-Cl5LpASY.mjs +16 -0
  165. package/dist/{core-CPLjF6nm.cjs → core-DCWyxy9D.cjs} +2 -53
  166. package/dist/{create-context-D6DyFRSf.cjs → create-context-CQ4U0lLj.cjs} +1 -1
  167. package/dist/{environment-BXkWNF2O.mjs → environment-Cc02I6aF.mjs} +1 -1
  168. package/dist/{environment-DLPiALpf.cjs → environment-CvilmfQt.cjs} +2 -2
  169. package/dist/{factory-DQlmCPH2.mjs → factory-7ydMApfi.mjs} +2 -16
  170. package/dist/{factory-CDX-oCN5.cjs → factory-C166evrS.cjs} +3 -23
  171. package/dist/{field-CGCTFCx2.mjs → field-BXY6su53.mjs} +9 -7
  172. package/dist/{field-CXhpW6zO.cjs → field-C-57Gj2E.cjs} +12 -10
  173. package/dist/{fieldset-CuSSYZxV.cjs → fieldset-B-MkM2Ms.cjs} +15 -13
  174. package/dist/{fieldset-poJ8RDvB.mjs → fieldset-BeHm9oxe.mjs} +8 -6
  175. package/dist/{index-DtdZfcpz.d.mts → index-BLd57Y0z.d.mts} +3 -3
  176. package/dist/index-BcXWsxRa.d.mts +40 -0
  177. package/dist/{index-BUN9wyVM.d.mts → index-Bkxp7VrU.d.mts} +7 -7
  178. package/dist/index-Cquz7y70.d.cts +52 -0
  179. package/dist/index-DTzLUoop.d.cts +150 -0
  180. package/dist/{index-DqRXPiW_.d.cts → index-aYGfRRLA.d.cts} +7 -7
  181. package/dist/index-wlpTZGhs.d.mts +150 -0
  182. package/dist/index.cjs +12 -10
  183. package/dist/index.d.cts +6 -56
  184. package/dist/index.d.mts +6 -44
  185. package/dist/index.mjs +7 -6
  186. package/dist/{providers-Bk3ALTxZ.cjs → locale-BcnWD1Hf.cjs} +2 -2
  187. package/dist/{providers-CyTYcOU1.mjs → locale-D4LX0eEq.mjs} +1 -1
  188. package/dist/{normalize-props-sqcs77GC.d.cts → normalize-props-Dw0EepzR.d.cts} +3 -3
  189. package/dist/portal-BOhFScBS.mjs +29 -0
  190. package/dist/portal-DRyJqgA1.cjs +35 -0
  191. package/dist/{presence-2A4loEJY.mjs → presence-C9BcvdTf.mjs} +6 -5
  192. package/dist/{presence-BX1tNsGA.cjs → presence-CPov8wyU.cjs} +9 -7
  193. package/dist/providers-BNAArubQ.cjs +0 -0
  194. package/dist/providers-CoJceYkV.mjs +1 -0
  195. package/dist/{render-strategy-D3w8btTD.mjs → render-strategy-BgIBKraZ.mjs} +2 -2
  196. package/dist/{render-strategy-k1JmEGnq.cjs → render-strategy-BywM_IvB.cjs} +2 -2
  197. package/dist/tree-view-CzJvwlYQ.mjs +365 -0
  198. package/dist/tree-view-DsOPEocd.cjs +509 -0
  199. package/dist/{types-FLvjyw__.d.mts → types-CrwpJrFp.d.mts} +2 -1
  200. package/dist/{types-DYWV3uAj.d.cts → types-DcUAwTQC.d.cts} +2 -1
  201. package/dist/{use-event-CGMgV6xB.cjs → use-event-CLH8zHoJ.cjs} +1 -1
  202. package/dist/use-fieldset-context-6GRSrrlt.mjs +12 -0
  203. package/dist/{use-safe-layout-effect-vuYaDIpT.cjs → use-fieldset-context-CCQLmNLL.cjs} +1 -13
  204. package/dist/use-safe-layout-effect-C2GgvNT3.cjs +13 -0
  205. package/dist/use-safe-layout-effect-DPn_9-dD.mjs +7 -0
  206. package/dist/utils/index.cjs +3 -3
  207. package/dist/utils/index.d.cts +1 -1
  208. package/dist/utils/index.d.mts +1 -1
  209. package/dist/utils/index.mjs +2 -2
  210. package/package.json +222 -2
  211. package/dist/use-safe-layout-effect-BlOhFUAp.mjs +0 -17
  212. /package/dist/{chunk-DLP0tNsH.mjs → chunk-BU8PiJgx.mjs} +0 -0
  213. /package/dist/{core-C0F-4KYH.mjs → core-79NSyZp-.mjs} +0 -0
  214. /package/dist/{create-context-CdjrBhu7.mjs → create-context-DbhrVE2B.mjs} +0 -0
  215. /package/dist/{create-split-props-BJQdOyld.mjs → create-split-props-BJdRM9I_.mjs} +0 -0
  216. /package/dist/{create-split-props-CSkzaUOy.cjs → create-split-props-Dp4TWOyM.cjs} +0 -0
  217. /package/dist/{factory-BbbIuDqa.d.mts → factory-DaVlp4Ba.d.mts} +0 -0
  218. /package/dist/{factory-DaNWFLLN.d.cts → factory-fcFI3pbG.d.cts} +0 -0
  219. /package/dist/{index-BwTxN5vG.d.mts → index-BoLg0FWF.d.mts} +0 -0
  220. /package/dist/{index-DsZldSch.d.cts → index-CReeoTjv.d.cts} +0 -0
  221. /package/dist/{index-Dhthtdz_.d.mts → index-DPoOdvOg.d.mts} +0 -0
  222. /package/dist/{index-zOmANnUL.d.cts → index-r8rv70-L.d.cts} +0 -0
  223. /package/dist/{render-strategy-GetMScNK.d.mts → render-strategy-CRwPcG33.d.mts} +0 -0
  224. /package/dist/{render-strategy-CdpAg9jb.d.cts → render-strategy-M8NkD01w.d.cts} +0 -0
  225. /package/dist/{use-event-BcyNH29h.mjs → use-event-B4e6iJDK.mjs} +0 -0
  226. /package/dist/{utils-DflO0-3U.mjs → utils-BQJFlkDE.mjs} +0 -0
  227. /package/dist/{utils-Cb5K29pi.cjs → utils-B_Ojepvp.cjs} +0 -0
@@ -0,0 +1,548 @@
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_compose_refs = require('../../compose-refs-C5QNDywq.cjs');
8
+ const require_factory = require('../../factory-C166evrS.cjs');
9
+ const require_create_split_props = require('../../create-split-props-Dp4TWOyM.cjs');
10
+ const require_presence = require('../../presence-CPov8wyU.cjs');
11
+ require('../../use-event-CLH8zHoJ.cjs');
12
+ let react = require("react");
13
+ let react_jsx_runtime = require("react/jsx-runtime");
14
+ let __sprawlify_primitives_machines_menu = require("@sprawlify/primitives/machines/menu");
15
+ __sprawlify_primitives_machines_menu = require_chunk.__toESM(__sprawlify_primitives_machines_menu);
16
+ let __sprawlify_primitives_core = require("@sprawlify/primitives/core");
17
+
18
+ //#region src/components/menu/use-menu-context.ts
19
+ const [MenuProvider, useMenuContext] = require_create_context.createContext({
20
+ name: "MenuContext",
21
+ hookName: "useMenuContext",
22
+ providerName: "<MenuProvider />",
23
+ strict: false
24
+ });
25
+
26
+ //#endregion
27
+ //#region src/components/menu/menu-arrow.tsx
28
+ const MenuArrow = (0, react.forwardRef)((props, ref) => {
29
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getArrowProps(), props);
30
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
31
+ ...mergedProps,
32
+ ref
33
+ });
34
+ });
35
+ MenuArrow.displayName = "MenuArrow";
36
+
37
+ //#endregion
38
+ //#region src/components/menu/menu-arrow-tip.tsx
39
+ const MenuArrowTip = (0, react.forwardRef)((props, ref) => {
40
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getArrowTipProps(), props);
41
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
42
+ ...mergedProps,
43
+ ref
44
+ });
45
+ });
46
+ MenuArrowTip.displayName = "MenuArrowTip";
47
+
48
+ //#endregion
49
+ //#region src/components/menu/use-menu-item-context.ts
50
+ const [MenuItemProvider, useMenuItemContext] = require_create_context.createContext({
51
+ name: "MenuItemContext",
52
+ hookName: "useMenuItemContext",
53
+ providerName: "<MenuItemProvider />"
54
+ });
55
+
56
+ //#endregion
57
+ //#region src/components/menu/use-menu-option-item-props-context.ts
58
+ const [MenuItemPropsProvider, useMenuItemPropsContext] = require_create_context.createContext({
59
+ name: "MenuItemPropsContext",
60
+ hookName: "useMenuItemPropsContext",
61
+ providerName: "<MenuItemPropsProvider />"
62
+ });
63
+
64
+ //#endregion
65
+ //#region src/components/menu/menu-checkbox-item.tsx
66
+ const splitOptionItemProps$1 = require_create_split_props.createSplitProps();
67
+ const MenuCheckboxItem = (0, react.forwardRef)((props, ref) => {
68
+ const [partialOptionItemProps, localProps] = splitOptionItemProps$1(props, [
69
+ "checked",
70
+ "closeOnSelect",
71
+ "disabled",
72
+ "onCheckedChange",
73
+ "value",
74
+ "valueText"
75
+ ]);
76
+ const optionItemProps = {
77
+ ...partialOptionItemProps,
78
+ type: "checkbox"
79
+ };
80
+ const menu = useMenuContext();
81
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getOptionItemProps(optionItemProps), localProps);
82
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemPropsProvider, {
83
+ value: optionItemProps,
84
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemProvider, {
85
+ value: menu.getOptionItemState(optionItemProps),
86
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
87
+ ...mergedProps,
88
+ ref
89
+ })
90
+ })
91
+ });
92
+ });
93
+ MenuCheckboxItem.displayName = "MenuCheckboxItem";
94
+
95
+ //#endregion
96
+ //#region src/components/menu/menu-content.tsx
97
+ const MenuContent = (0, react.forwardRef)((props, ref) => {
98
+ const menu = useMenuContext();
99
+ const presence = require_presence.usePresenceContext();
100
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getContentProps(), presence.getPresenceProps(), props);
101
+ if (presence.unmounted) return null;
102
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
103
+ ...mergedProps,
104
+ ref: require_compose_refs.composeRefs(presence.ref, ref)
105
+ });
106
+ });
107
+ MenuContent.displayName = "MenuContent";
108
+
109
+ //#endregion
110
+ //#region src/components/menu/menu-context.tsx
111
+ const MenuContext = (props) => props.children(useMenuContext());
112
+
113
+ //#endregion
114
+ //#region src/components/menu/menu-context-trigger.tsx
115
+ const MenuContextTrigger = (0, react.forwardRef)((props, ref) => {
116
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getContextTriggerProps(), props);
117
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.button, {
118
+ ...mergedProps,
119
+ ref
120
+ });
121
+ });
122
+ MenuContextTrigger.displayName = "MenuContextTrigger";
123
+
124
+ //#endregion
125
+ //#region src/components/menu/menu-indicator.tsx
126
+ const MenuIndicator = (0, react.forwardRef)((props, ref) => {
127
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getIndicatorProps(), props);
128
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
129
+ ...mergedProps,
130
+ ref
131
+ });
132
+ });
133
+ MenuIndicator.displayName = "MenuIndicator";
134
+
135
+ //#endregion
136
+ //#region src/components/menu/menu-item.tsx
137
+ const splitItemBaseProps = require_create_split_props.createSplitProps();
138
+ const MenuItem = (0, react.forwardRef)((props, ref) => {
139
+ const [itemProps, localProps] = splitItemBaseProps(props, [
140
+ "closeOnSelect",
141
+ "disabled",
142
+ "value",
143
+ "valueText",
144
+ "onSelect"
145
+ ]);
146
+ const menu = useMenuContext();
147
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemProps(itemProps), localProps);
148
+ const itemState = menu.getItemState(itemProps);
149
+ (0, react.useEffect)(() => {
150
+ return menu.addItemListener({
151
+ id: itemState.id,
152
+ onSelect: itemProps.onSelect
153
+ });
154
+ }, [itemState.id, itemProps.onSelect]);
155
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemPropsProvider, {
156
+ value: itemProps,
157
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemProvider, {
158
+ value: itemState,
159
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
160
+ ...mergedProps,
161
+ ref
162
+ })
163
+ })
164
+ });
165
+ });
166
+ MenuItem.displayName = "MenuItem";
167
+
168
+ //#endregion
169
+ //#region src/components/menu/menu-item-context.tsx
170
+ const MenuItemContext = (props) => props.children(useMenuItemContext());
171
+
172
+ //#endregion
173
+ //#region src/components/menu/use-menu-item-group-context.ts
174
+ const [MenuItemGroupProvider, useMenuItemGroupContext] = require_create_context.createContext({
175
+ name: "MenuItemGroupContext",
176
+ hookName: "useMenuItemGroupContext",
177
+ providerName: "<MenuItemGroupProvider />"
178
+ });
179
+
180
+ //#endregion
181
+ //#region src/components/menu/menu-item-group.tsx
182
+ const splitItemGroupProps$1 = require_create_split_props.createSplitProps();
183
+ const MenuItemGroup = (0, react.forwardRef)((props, ref) => {
184
+ const [optionalItemGroupProps, localProps] = splitItemGroupProps$1(props, ["id"]);
185
+ const menu = useMenuContext();
186
+ const itemGroupProps = {
187
+ id: (0, react.useId)(),
188
+ ...optionalItemGroupProps
189
+ };
190
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemGroupProps(itemGroupProps), localProps);
191
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemGroupProvider, {
192
+ value: itemGroupProps,
193
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
194
+ ...mergedProps,
195
+ ref
196
+ })
197
+ });
198
+ });
199
+ MenuItemGroup.displayName = "MenuItemGroup";
200
+
201
+ //#endregion
202
+ //#region src/components/menu/menu-item-group-label.tsx
203
+ const MenuItemGroupLabel = (0, react.forwardRef)((props, ref) => {
204
+ const menu = useMenuContext();
205
+ const itemGroup = useMenuItemGroupContext();
206
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);
207
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
208
+ ...mergedProps,
209
+ ref
210
+ });
211
+ });
212
+ MenuItemGroupLabel.displayName = "MenuItemGroupLabel";
213
+
214
+ //#endregion
215
+ //#region src/components/menu/menu-item-indicator.tsx
216
+ const MenuItemIndicator = (0, react.forwardRef)((props, ref) => {
217
+ const menu = useMenuContext();
218
+ const itemProps = useMenuItemPropsContext();
219
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemIndicatorProps(itemProps), props);
220
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
221
+ ...mergedProps,
222
+ ref
223
+ });
224
+ });
225
+ MenuItemIndicator.displayName = "MenuItemIndicator";
226
+
227
+ //#endregion
228
+ //#region src/components/menu/menu-item-text.tsx
229
+ const MenuItemText = (0, react.forwardRef)((props, ref) => {
230
+ const menu = useMenuContext();
231
+ const itemProps = useMenuItemPropsContext();
232
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemTextProps(itemProps), props);
233
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
234
+ ...mergedProps,
235
+ ref
236
+ });
237
+ });
238
+ MenuItemText.displayName = "MenuItemText";
239
+
240
+ //#endregion
241
+ //#region src/components/menu/menu-positioner.tsx
242
+ const MenuPositioner = (0, react.forwardRef)((props, ref) => {
243
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getPositionerProps(), props);
244
+ if (require_presence.usePresenceContext().unmounted) return null;
245
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
246
+ ...mergedProps,
247
+ ref
248
+ });
249
+ });
250
+ MenuPositioner.displayName = "MenuPositioner";
251
+
252
+ //#endregion
253
+ //#region src/components/menu/menu-radio-item.tsx
254
+ const splitOptionItemProps = require_create_split_props.createSplitProps();
255
+ const MenuRadioItem = (0, react.forwardRef)((props, ref) => {
256
+ const [partialItemProps, localProps] = splitOptionItemProps(props, [
257
+ "closeOnSelect",
258
+ "disabled",
259
+ "value",
260
+ "valueText"
261
+ ]);
262
+ const menu = useMenuContext();
263
+ const itemGroup = useMenuItemGroupContext();
264
+ const optionItemProps = {
265
+ ...partialItemProps,
266
+ checked: itemGroup.value === partialItemProps.value,
267
+ type: "radio",
268
+ onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })
269
+ };
270
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getOptionItemProps(optionItemProps), localProps);
271
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemPropsProvider, {
272
+ value: optionItemProps,
273
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemProvider, {
274
+ value: menu.getOptionItemState(optionItemProps),
275
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
276
+ ...mergedProps,
277
+ ref
278
+ })
279
+ })
280
+ });
281
+ });
282
+ MenuRadioItem.displayName = "MenuRadioItem";
283
+
284
+ //#endregion
285
+ //#region src/components/menu/menu-radio-item-group.tsx
286
+ const splitItemGroupProps = require_create_split_props.createSplitProps();
287
+ const MenuRadioItemGroup = (0, react.forwardRef)((props, ref) => {
288
+ const [optionalItemGroupProps, localProps] = splitItemGroupProps(props, [
289
+ "id",
290
+ "onValueChange",
291
+ "value"
292
+ ]);
293
+ const menu = useMenuContext();
294
+ const itemGroupProps = {
295
+ id: (0, react.useId)(),
296
+ ...optionalItemGroupProps
297
+ };
298
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);
299
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemGroupProvider, {
300
+ value: itemGroupProps,
301
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
302
+ ...mergedProps,
303
+ ref
304
+ })
305
+ });
306
+ });
307
+ MenuRadioItemGroup.displayName = "MenuRadioItemGroup";
308
+
309
+ //#endregion
310
+ //#region src/utils/use-effect-once.ts
311
+ const useEffectOnce = (cb) => {
312
+ const savedCallback = (0, react.useRef)(cb);
313
+ const effectGuard = (0, react.useRef)(false);
314
+ (0, react.useEffect)(() => {
315
+ savedCallback.current = cb;
316
+ });
317
+ (0, react.useEffect)(() => {
318
+ if (effectGuard.current !== true) {
319
+ effectGuard.current = true;
320
+ savedCallback.current();
321
+ }
322
+ }, []);
323
+ };
324
+
325
+ //#endregion
326
+ //#region src/components/menu/use-menu.ts
327
+ const useMenu = (props) => {
328
+ const id = (0, react.useId)();
329
+ const { getRootNode } = require_environment.useEnvironmentContext();
330
+ const { dir } = require_locale.useLocaleContext();
331
+ const machineProps = {
332
+ id,
333
+ dir,
334
+ getRootNode,
335
+ ...props
336
+ };
337
+ const service = require_core.useMachine(__sprawlify_primitives_machines_menu.machine, machineProps);
338
+ return {
339
+ api: __sprawlify_primitives_machines_menu.connect(service, require_core.normalizeProps),
340
+ service
341
+ };
342
+ };
343
+
344
+ //#endregion
345
+ //#region src/components/menu/use-menu-machine-context.ts
346
+ const [MenuMachineProvider, useMenuMachineContext] = require_create_context.createContext({
347
+ name: "MenuMachineContext",
348
+ hookName: "useMenuMachineContext",
349
+ providerName: "<MenuMachineProvider />",
350
+ strict: false
351
+ });
352
+
353
+ //#endregion
354
+ //#region src/components/menu/use-menu-trigger-item-context.ts
355
+ const [MenuTriggerItemProvider, useMenuTriggerItemContext] = require_create_context.createContext({
356
+ name: "MenuMachineContext",
357
+ hookName: "useMenuMachineContext",
358
+ providerName: "<MenuMachineProvider />",
359
+ strict: false
360
+ });
361
+
362
+ //#endregion
363
+ //#region src/components/menu/menu-root.tsx
364
+ const splitRootProps = require_create_split_props.createSplitProps();
365
+ const MenuRoot = (props) => {
366
+ const [presenceProps, menuProps] = require_presence.splitPresenceProps(props);
367
+ const [useMenuProps, localProps] = splitRootProps(menuProps, [
368
+ "anchorPoint",
369
+ "aria-label",
370
+ "closeOnSelect",
371
+ "composite",
372
+ "defaultHighlightedValue",
373
+ "defaultOpen",
374
+ "highlightedValue",
375
+ "id",
376
+ "ids",
377
+ "loopFocus",
378
+ "navigate",
379
+ "onEscapeKeyDown",
380
+ "onFocusOutside",
381
+ "onHighlightChange",
382
+ "onInteractOutside",
383
+ "onOpenChange",
384
+ "onPointerDownOutside",
385
+ "onRequestDismiss",
386
+ "onSelect",
387
+ "open",
388
+ "positioning",
389
+ "typeahead"
390
+ ]);
391
+ const parentApi = useMenuContext();
392
+ const parentMachine = useMenuMachineContext();
393
+ const { api, service } = useMenu(useMenuProps);
394
+ const presence = require_presence.usePresence((0, __sprawlify_primitives_core.mergeProps)({ present: api.open }, presenceProps));
395
+ useEffectOnce(() => {
396
+ if (!parentMachine) return;
397
+ if (!parentApi) return;
398
+ parentApi.setChild(service);
399
+ api.setParent(parentMachine);
400
+ });
401
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuTriggerItemProvider, {
402
+ value: (0, react.useCallback)(() => parentApi?.getTriggerItemProps(api), [api, parentApi]),
403
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuMachineProvider, {
404
+ value: service,
405
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuProvider, {
406
+ value: api,
407
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_presence.PresenceProvider, {
408
+ value: presence,
409
+ ...localProps
410
+ })
411
+ })
412
+ })
413
+ });
414
+ };
415
+
416
+ //#endregion
417
+ //#region src/components/menu/menu-root-provider.tsx
418
+ const MenuRootProvider = (props) => {
419
+ const parentApi = useMenuContext();
420
+ const parentMachine = useMenuMachineContext();
421
+ const [presenceProps, { value: menu, children }] = require_presence.splitPresenceProps(props);
422
+ const { api, service } = menu;
423
+ const presence = require_presence.usePresence((0, __sprawlify_primitives_core.mergeProps)({ present: api.open }, presenceProps));
424
+ useEffectOnce(() => {
425
+ if (!parentMachine) return;
426
+ if (!parentApi) return;
427
+ parentApi.setChild(service);
428
+ api.setParent(parentMachine);
429
+ });
430
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuTriggerItemProvider, {
431
+ value: (0, react.useCallback)(() => parentApi?.getTriggerItemProps(api), [api, parentApi]),
432
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuMachineProvider, {
433
+ value: service,
434
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuProvider, {
435
+ value: api,
436
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_presence.PresenceProvider, {
437
+ value: presence,
438
+ children
439
+ })
440
+ })
441
+ })
442
+ });
443
+ };
444
+
445
+ //#endregion
446
+ //#region src/components/menu/menu-separator.tsx
447
+ const MenuSeparator = (0, react.forwardRef)((props, ref) => {
448
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuContext().getSeparatorProps(), props);
449
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.hr, {
450
+ ...mergedProps,
451
+ ref
452
+ });
453
+ });
454
+ MenuSeparator.displayName = "MenuSeparator";
455
+
456
+ //#endregion
457
+ //#region src/components/menu/menu-trigger.tsx
458
+ const MenuTrigger = (0, react.forwardRef)((props, ref) => {
459
+ const menu = useMenuContext();
460
+ const presence = require_presence.usePresenceContext();
461
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)({
462
+ ...menu.getTriggerProps(),
463
+ "aria-controls": presence.unmounted ? void 0 : menu.getTriggerProps()["aria-controls"]
464
+ }, props);
465
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.button, {
466
+ ...mergedProps,
467
+ ref
468
+ });
469
+ });
470
+ MenuTrigger.displayName = "MenuTrigger";
471
+
472
+ //#endregion
473
+ //#region src/components/menu/menu-trigger-item.tsx
474
+ const MenuTriggerItem = (0, react.forwardRef)((props, ref) => {
475
+ const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useMenuTriggerItemContext()?.() ?? {}, props);
476
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuItemPropsProvider, {
477
+ value: { value: mergedProps["data-value"] },
478
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
479
+ ...mergedProps,
480
+ ref
481
+ })
482
+ });
483
+ });
484
+ MenuTriggerItem.displayName = "MenuTriggerItem";
485
+
486
+ //#endregion
487
+ //#region src/components/menu/menu.ts
488
+ var menu_exports = /* @__PURE__ */ require_chunk.__export({
489
+ Arrow: () => MenuArrow,
490
+ ArrowTip: () => MenuArrowTip,
491
+ CheckboxItem: () => MenuCheckboxItem,
492
+ Content: () => MenuContent,
493
+ Context: () => MenuContext,
494
+ ContextTrigger: () => MenuContextTrigger,
495
+ Indicator: () => MenuIndicator,
496
+ Item: () => MenuItem,
497
+ ItemContext: () => MenuItemContext,
498
+ ItemGroup: () => MenuItemGroup,
499
+ ItemGroupLabel: () => MenuItemGroupLabel,
500
+ ItemIndicator: () => MenuItemIndicator,
501
+ ItemText: () => MenuItemText,
502
+ Positioner: () => MenuPositioner,
503
+ RadioItem: () => MenuRadioItem,
504
+ RadioItemGroup: () => MenuRadioItemGroup,
505
+ Root: () => MenuRoot,
506
+ RootProvider: () => MenuRootProvider,
507
+ Separator: () => MenuSeparator,
508
+ Trigger: () => MenuTrigger,
509
+ TriggerItem: () => MenuTriggerItem
510
+ });
511
+
512
+ //#endregion
513
+ Object.defineProperty(exports, 'Menu', {
514
+ enumerable: true,
515
+ get: function () {
516
+ return menu_exports;
517
+ }
518
+ });
519
+ exports.MenuArrow = MenuArrow;
520
+ exports.MenuArrowTip = MenuArrowTip;
521
+ exports.MenuCheckboxItem = MenuCheckboxItem;
522
+ exports.MenuContent = MenuContent;
523
+ exports.MenuContext = MenuContext;
524
+ exports.MenuContextTrigger = MenuContextTrigger;
525
+ exports.MenuIndicator = MenuIndicator;
526
+ exports.MenuItem = MenuItem;
527
+ exports.MenuItemContext = MenuItemContext;
528
+ exports.MenuItemGroup = MenuItemGroup;
529
+ exports.MenuItemGroupLabel = MenuItemGroupLabel;
530
+ exports.MenuItemIndicator = MenuItemIndicator;
531
+ exports.MenuItemText = MenuItemText;
532
+ exports.MenuPositioner = MenuPositioner;
533
+ exports.MenuRadioItem = MenuRadioItem;
534
+ exports.MenuRadioItemGroup = MenuRadioItemGroup;
535
+ exports.MenuRoot = MenuRoot;
536
+ exports.MenuRootProvider = MenuRootProvider;
537
+ exports.MenuSeparator = MenuSeparator;
538
+ exports.MenuTrigger = MenuTrigger;
539
+ exports.MenuTriggerItem = MenuTriggerItem;
540
+ Object.defineProperty(exports, 'menuAnatomy', {
541
+ enumerable: true,
542
+ get: function () {
543
+ return __sprawlify_primitives_machines_menu.anatomy;
544
+ }
545
+ });
546
+ exports.useMenu = useMenu;
547
+ exports.useMenuContext = useMenuContext;
548
+ exports.useMenuItemContext = useMenuItemContext;