@sprawlify/solid 0.0.16 → 0.0.18

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 (164) hide show
  1. package/dist/{collapsible-sG-Rzvf2.jsx → collapsible-14K1NkX_.jsx} +8 -8
  2. package/dist/{collapsible-CX2tnXKq.js → collapsible-BT7AHLQr.js} +8 -8
  3. package/dist/{collection-zj3lxnwW.js → collection-BVSLJ8Vb.js} +2 -2
  4. package/dist/{collection-BRr4O2_i.jsx → collection-CIXQG-Ne.jsx} +2 -2
  5. package/dist/components/accordion/index.d.ts +11 -11
  6. package/dist/components/accordion/index.js +9 -9
  7. package/dist/components/accordion/index.jsx +9 -9
  8. package/dist/components/angle-slider/index.d.ts +13 -13
  9. package/dist/components/angle-slider/index.js +7 -7
  10. package/dist/components/angle-slider/index.jsx +7 -7
  11. package/dist/components/avatar/index.d.ts +8 -8
  12. package/dist/components/avatar/index.js +7 -7
  13. package/dist/components/avatar/index.jsx +7 -7
  14. package/dist/components/bottom-sheet/index.d.ts +13 -13
  15. package/dist/components/bottom-sheet/index.js +10 -10
  16. package/dist/components/bottom-sheet/index.jsx +10 -10
  17. package/dist/components/carousel/index.d.ts +17 -17
  18. package/dist/components/carousel/index.js +7 -7
  19. package/dist/components/carousel/index.jsx +7 -7
  20. package/dist/components/checkbox/index.d.ts +13 -13
  21. package/dist/components/checkbox/index.js +10 -10
  22. package/dist/components/checkbox/index.jsx +10 -10
  23. package/dist/components/clipboard/index.d.ts +11 -11
  24. package/dist/components/clipboard/index.js +7 -7
  25. package/dist/components/clipboard/index.jsx +7 -7
  26. package/dist/components/collapsible/index.d.ts +10 -10
  27. package/dist/components/collapsible/index.js +7 -7
  28. package/dist/components/collapsible/index.jsx +7 -7
  29. package/dist/components/collection/index.d.ts +2 -2
  30. package/dist/components/collection/index.js +2 -2
  31. package/dist/components/collection/index.jsx +2 -2
  32. package/dist/components/color-picker/index.d.ts +35 -35
  33. package/dist/components/color-picker/index.js +12 -12
  34. package/dist/components/color-picker/index.jsx +12 -12
  35. package/dist/components/combobox/index.d.ts +22 -22
  36. package/dist/components/combobox/index.js +13 -13
  37. package/dist/components/combobox/index.jsx +13 -13
  38. package/dist/components/date-picker/index.d.ts +33 -33
  39. package/dist/components/date-picker/index.js +10 -10
  40. package/dist/components/date-picker/index.jsx +10 -10
  41. package/dist/components/dialog/index.d.ts +13 -13
  42. package/dist/components/dialog/index.js +10 -10
  43. package/dist/components/dialog/index.jsx +10 -10
  44. package/dist/components/download-trigger/index.d.ts +3 -3
  45. package/dist/components/download-trigger/index.js +5 -5
  46. package/dist/components/download-trigger/index.jsx +5 -5
  47. package/dist/components/editable/index.d.ts +14 -14
  48. package/dist/components/editable/index.js +10 -10
  49. package/dist/components/editable/index.jsx +10 -10
  50. package/dist/components/field/index.d.ts +14 -14
  51. package/dist/components/field/index.js +8 -8
  52. package/dist/components/field/index.jsx +8 -8
  53. package/dist/components/fieldset/index.d.ts +12 -12
  54. package/dist/components/fieldset/index.js +7 -7
  55. package/dist/components/fieldset/index.jsx +7 -7
  56. package/dist/components/file-upload/index.d.ts +102 -0
  57. package/dist/components/file-upload/index.js +284 -0
  58. package/dist/components/file-upload/index.jsx +255 -0
  59. package/dist/components/floating-panel/index.d.ts +100 -0
  60. package/dist/components/floating-panel/index.js +246 -0
  61. package/dist/components/floating-panel/index.jsx +217 -0
  62. package/dist/components/focus-trap/index.d.ts +17 -0
  63. package/dist/components/focus-trap/index.js +34 -0
  64. package/dist/components/focus-trap/index.jsx +30 -0
  65. package/dist/components/format/index.d.ts +27 -0
  66. package/dist/components/format/index.js +46 -0
  67. package/dist/components/format/index.jsx +48 -0
  68. package/dist/components/frame/index.d.ts +13 -0
  69. package/dist/components/frame/index.js +121 -0
  70. package/dist/components/frame/index.jsx +86 -0
  71. package/dist/components/highlight/index.d.ts +3 -3
  72. package/dist/components/highlight/index.js +3 -3
  73. package/dist/components/highlight/index.jsx +3 -3
  74. package/dist/components/hover-card/index.d.ts +70 -0
  75. package/dist/components/hover-card/index.js +168 -0
  76. package/dist/components/hover-card/index.jsx +136 -0
  77. package/dist/components/image-cropper/index.d.ts +64 -0
  78. package/dist/components/image-cropper/index.js +151 -0
  79. package/dist/components/image-cropper/index.jsx +144 -0
  80. package/dist/components/json-tree-view/index.d.ts +56 -0
  81. package/dist/components/json-tree-view/index.js +330 -0
  82. package/dist/components/json-tree-view/index.jsx +204 -0
  83. package/dist/components/listbox/index.d.ts +114 -0
  84. package/dist/components/listbox/index.js +261 -0
  85. package/dist/components/listbox/index.jsx +236 -0
  86. package/dist/components/marquee/index.d.ts +59 -0
  87. package/dist/components/marquee/index.js +138 -0
  88. package/dist/components/marquee/index.jsx +126 -0
  89. package/dist/components/menu/index.d.ts +161 -0
  90. package/dist/components/menu/index.js +471 -0
  91. package/dist/components/menu/index.jsx +392 -0
  92. package/dist/components/navigation-menu/index.d.ts +90 -0
  93. package/dist/components/navigation-menu/index.js +304 -0
  94. package/dist/components/navigation-menu/index.jsx +237 -0
  95. package/dist/components/number-input/index.d.ts +74 -0
  96. package/dist/components/number-input/index.js +182 -0
  97. package/dist/components/number-input/index.jsx +173 -0
  98. package/dist/components/pagination/index.d.ts +69 -0
  99. package/dist/components/pagination/index.js +146 -0
  100. package/dist/components/pagination/index.jsx +139 -0
  101. package/dist/components/password-input/index.d.ts +66 -0
  102. package/dist/components/password-input/index.js +159 -0
  103. package/dist/components/password-input/index.jsx +140 -0
  104. package/dist/components/pin-input/index.d.ts +59 -0
  105. package/dist/components/pin-input/index.js +151 -0
  106. package/dist/components/pin-input/index.jsx +142 -0
  107. package/dist/components/popover/index.d.ts +95 -0
  108. package/dist/components/popover/index.js +220 -0
  109. package/dist/components/popover/index.jsx +188 -0
  110. package/dist/components/presence/index.d.ts +4 -4
  111. package/dist/components/presence/index.js +7 -7
  112. package/dist/components/presence/index.jsx +7 -7
  113. package/dist/components/select/index.d.ts +22 -22
  114. package/dist/components/select/index.js +13 -13
  115. package/dist/components/select/index.jsx +13 -13
  116. package/dist/components/tree-view/index.d.ts +7 -0
  117. package/dist/components/tree-view/index.js +11 -0
  118. package/dist/components/tree-view/index.jsx +11 -0
  119. package/dist/{factory-Ch5jgk20.jsx → factory-BIJk1mK6.jsx} +1 -1
  120. package/dist/{factory-PGDAvOKb.js → factory-k8EbNZ7r.js} +1 -1
  121. package/dist/{factory-4A25bngy.d.ts → factory-srnAQg4A.d.ts} +6 -1
  122. package/dist/{field-CoYiA2ek.js → field-CZv3v7K-.js} +8 -8
  123. package/dist/{field-BRr9Zdes.jsx → field-CtkmPUb0.jsx} +8 -8
  124. package/dist/{fieldset-BrJqMLEd.js → fieldset-B2nK8dL5.js} +8 -8
  125. package/dist/{fieldset-B_LyllEa.jsx → fieldset-aYQsMWX2.jsx} +8 -8
  126. package/dist/{index-GEfvAmRc.d.ts → index-BwthXhaG.d.ts} +1 -1
  127. package/dist/index-Dl22eiVf.d.ts +143 -0
  128. package/dist/index-Dqmtlqpz.d.ts +143 -0
  129. package/dist/{index-j2avJy7D.d.ts → index-DylIyeqd.d.ts} +8 -8
  130. package/dist/index-utxtRaDW.d.ts +41 -0
  131. package/dist/{index-oc8gLl07.d.ts → index-w0NPbRP3.d.ts} +8 -8
  132. package/dist/index.d.ts +6 -44
  133. package/dist/index.js +6 -5
  134. package/dist/index.jsx +6 -5
  135. package/dist/{presence-BpwBRlZW.js → presence-Clrs1hmS.js} +7 -7
  136. package/dist/{presence-Bmn43U_q.jsx → presence-H4-8_5_s.jsx} +7 -7
  137. package/dist/{providers-DFaRRd80.jsx → providers-C6VPiSrB.jsx} +2 -2
  138. package/dist/{providers-Bo0OFe08.js → providers-DgUckEdb.js} +2 -2
  139. package/dist/{render-strategy-DFlz7Uc4.js → render-strategy-BlHCR8sl.js} +2 -2
  140. package/dist/{render-strategy-CdJhRv3I.jsx → render-strategy-KJFIjVVG.jsx} +2 -2
  141. package/dist/tree-view-CyvT0V14.js +318 -0
  142. package/dist/tree-view-DJgvku6y.jsx +291 -0
  143. package/dist/utils/index.d.ts +1 -1
  144. package/dist/utils/index.js +2 -2
  145. package/dist/utils/index.jsx +2 -2
  146. package/package.json +97 -2
  147. /package/dist/{chunk-B5so6B0y.jsx → chunk-BJ7z6UrO.jsx} +0 -0
  148. /package/dist/{chunk-B93cd-Dz.js → chunk-Bn8mXcTA.js} +0 -0
  149. /package/dist/{compose-refs-BVVIB7xn.js → compose-refs-Cp4AShsY.jsx} +0 -0
  150. /package/dist/{compose-refs-icUeuyHm.jsx → compose-refs-tCBI7PRJ.js} +0 -0
  151. /package/dist/{core-DbInRfhI.jsx → core-CRjuRw95.js} +0 -0
  152. /package/dist/{core-oNB2jGcl.js → core-C_FYj4uc.jsx} +0 -0
  153. /package/dist/{create-context-C3rvZvkc.jsx → create-context-BwqlrMqL.jsx} +0 -0
  154. /package/dist/{create-context-GfQ_MylE.js → create-context-DlXBVMoq.js} +0 -0
  155. /package/dist/{create-split-props-B8A7_AF7.jsx → create-split-props-BHmgTHSf.js} +0 -0
  156. /package/dist/{create-split-props-pQu7jijw.js → create-split-props-CKwjjjkD.jsx} +0 -0
  157. /package/dist/{index-C7N791Fc.d.ts → index-BLALA3BS.d.ts} +0 -0
  158. /package/dist/{index-B6dBCfnB.d.ts → index-DiANe65S.d.ts} +0 -0
  159. /package/dist/{render-strategy-BNECKEQk.d.ts → render-strategy-BmTDUy3U.d.ts} +0 -0
  160. /package/dist/{run-if-fn-A3VwXy-o.jsx → run-if-fn-C80kt4dU.js} +0 -0
  161. /package/dist/{run-if-fn-D5794CxE.js → run-if-fn-CrJzzDIM.jsx} +0 -0
  162. /package/dist/{types-Dbw4va3W.d.ts → types-mGUbKy2h.d.ts} +0 -0
  163. /package/dist/{utils-DQi-Cen5.js → utils-DSmVDqW7.js} +0 -0
  164. /package/dist/{utils-vSjszv0W.jsx → utils-DhhcJyG-.jsx} +0 -0
@@ -0,0 +1,161 @@
1
+ import { n as PropTypes } from "../../index-BLALA3BS.js";
2
+ import { i as Optional, n as MaybeAccessor, t as Assign } from "../../types-mGUbKy2h.js";
3
+ import { r as PolymorphicProps, t as HTMLProps } from "../../factory-srnAQg4A.js";
4
+ import "../../render-strategy-BmTDUy3U.js";
5
+ import { s as UsePresenceProps } from "../../index-DylIyeqd.js";
6
+ import "../../index-utxtRaDW.js";
7
+ import "../../index-DiANe65S.js";
8
+ import * as solid_js324 from "solid-js";
9
+ import { Accessor, JSX } from "solid-js";
10
+ import * as menu from "@sprawlify/primitives/machines/menu";
11
+ import { FocusOutsideEvent, FocusOutsideEvent as MenuFocusOutsideEvent, HighlightChangeDetails, HighlightChangeDetails as MenuHighlightChangeDetails, InteractOutsideEvent, InteractOutsideEvent as MenuInteractOutsideEvent, ItemGroupProps, ItemProps, OpenChangeDetails, OpenChangeDetails as MenuOpenChangeDetails, OptionItemProps, OptionItemState, PointerDownOutsideEvent, PointerDownOutsideEvent as MenuPointerDownOutsideEvent, SelectionDetails, SelectionDetails as MenuSelectionDetails, anatomy as menuAnatomy } from "@sprawlify/primitives/machines/menu";
12
+
13
+ //#region src/components/menu/menu-arrow.d.ts
14
+ interface MenuArrowBaseProps extends PolymorphicProps<'div'> {}
15
+ interface MenuArrowProps extends HTMLProps<'div'>, MenuArrowBaseProps {}
16
+ declare const MenuArrow: (props: MenuArrowProps) => solid_js324.JSX.Element;
17
+ //#endregion
18
+ //#region src/components/menu/menu-arrow-tip.d.ts
19
+ interface MenuArrowTipBaseProps extends PolymorphicProps<'div'> {}
20
+ interface MenuArrowTipProps extends HTMLProps<'div'>, MenuArrowTipBaseProps {}
21
+ declare const MenuArrowTip: (props: MenuArrowTipProps) => solid_js324.JSX.Element;
22
+ //#endregion
23
+ //#region src/components/menu/menu-checkbox-item.d.ts
24
+ type PartialOptionItemProps$1 = Omit<OptionItemProps, 'type'>;
25
+ interface MenuCheckboxItemBaseProps extends PartialOptionItemProps$1, PolymorphicProps<'div'> {}
26
+ interface MenuCheckboxItemProps extends HTMLProps<'div'>, MenuCheckboxItemBaseProps {}
27
+ declare const MenuCheckboxItem: (props: MenuCheckboxItemProps) => solid_js324.JSX.Element;
28
+ //#endregion
29
+ //#region src/components/menu/menu-content.d.ts
30
+ interface MenuContentBaseProps extends PolymorphicProps<'div'> {}
31
+ interface MenuContentProps extends HTMLProps<'div'>, MenuContentBaseProps {}
32
+ declare const MenuContent: (props: MenuContentProps) => solid_js324.JSX.Element;
33
+ //#endregion
34
+ //#region src/components/menu/use-menu.d.ts
35
+ interface UseMenuProps extends Optional<Omit<menu.Props, 'dir' | 'getRootNode'>, 'id'> {}
36
+ interface UseMenuReturn {
37
+ api: Accessor<menu.Api<PropTypes>>;
38
+ service: menu.Service;
39
+ }
40
+ declare const useMenu: (props?: MaybeAccessor<UseMenuProps>) => UseMenuReturn;
41
+ //#endregion
42
+ //#region src/components/menu/use-menu-context.d.ts
43
+ type UseMenuContext = UseMenuReturn['api'];
44
+ //#endregion
45
+ //#region src/components/menu/menu-context.d.ts
46
+ interface MenuContextProps {
47
+ children: (context: UseMenuContext) => JSX.Element;
48
+ }
49
+ declare const MenuContext: (props: MenuContextProps) => JSX.Element;
50
+ //#endregion
51
+ //#region src/components/menu/menu-context-trigger.d.ts
52
+ interface MenuContextTriggerBaseProps extends PolymorphicProps<'button'> {}
53
+ interface MenuContextTriggerProps extends HTMLProps<'button'>, MenuContextTriggerBaseProps {}
54
+ declare const MenuContextTrigger: (props: MenuContextTriggerProps) => solid_js324.JSX.Element;
55
+ //#endregion
56
+ //#region src/components/menu/menu-indicator.d.ts
57
+ interface MenuIndicatorBaseProps extends PolymorphicProps<'div'> {}
58
+ interface MenuIndicatorProps extends HTMLProps<'div'>, MenuIndicatorBaseProps {}
59
+ declare const MenuIndicator: (props: MenuIndicatorProps) => solid_js324.JSX.Element;
60
+ //#endregion
61
+ //#region src/components/menu/menu-item.d.ts
62
+ interface ItemBaseProps extends ItemProps {
63
+ onSelect?: VoidFunction;
64
+ }
65
+ interface MenuItemBaseProps extends ItemBaseProps, PolymorphicProps<'div'> {}
66
+ interface MenuItemProps extends Assign<HTMLProps<'div'>, MenuItemBaseProps> {}
67
+ declare const MenuItem: (props: MenuItemProps) => solid_js324.JSX.Element;
68
+ //#endregion
69
+ //#region src/components/menu/use-menu-item-context.d.ts
70
+ interface UseMenuItemContext extends Accessor<Optional<OptionItemState, 'checked'>> {}
71
+ //#endregion
72
+ //#region src/components/menu/menu-item-context.d.ts
73
+ interface MenuItemContextProps {
74
+ children: (context: UseMenuItemContext) => JSX.Element;
75
+ }
76
+ declare const MenuItemContext: (props: MenuItemContextProps) => JSX.Element;
77
+ //#endregion
78
+ //#region src/components/menu/menu-item-group.d.ts
79
+ type OptionalItemGroupProps = Optional<ItemGroupProps, 'id'>;
80
+ interface MenuItemGroupBaseProps extends OptionalItemGroupProps, PolymorphicProps<'div'> {}
81
+ interface MenuItemGroupProps extends HTMLProps<'div'>, MenuItemGroupBaseProps {}
82
+ declare const MenuItemGroup: (props: MenuItemGroupProps) => solid_js324.JSX.Element;
83
+ //#endregion
84
+ //#region src/components/menu/menu-item-group-label.d.ts
85
+ interface MenuItemGroupLabelBaseProps extends PolymorphicProps<'div'> {}
86
+ interface MenuItemGroupLabelProps extends HTMLProps<'div'>, MenuItemGroupLabelBaseProps {}
87
+ declare const MenuItemGroupLabel: (props: MenuItemGroupLabelProps) => solid_js324.JSX.Element;
88
+ //#endregion
89
+ //#region src/components/menu/menu-item-indicator.d.ts
90
+ interface MenuItemIndicatorBaseProps extends PolymorphicProps<'div'> {}
91
+ interface MenuItemIndicatorProps extends HTMLProps<'div'>, MenuItemIndicatorBaseProps {}
92
+ declare const MenuItemIndicator: (props: MenuItemIndicatorProps) => solid_js324.JSX.Element;
93
+ //#endregion
94
+ //#region src/components/menu/menu-item-text.d.ts
95
+ interface MenuItemTextBaseProps extends PolymorphicProps<'div'> {}
96
+ interface MenuItemTextProps extends HTMLProps<'div'>, MenuItemTextBaseProps {}
97
+ declare const MenuItemText: (props: MenuItemTextProps) => solid_js324.JSX.Element;
98
+ //#endregion
99
+ //#region src/components/menu/menu-positioner.d.ts
100
+ interface MenuPositionerBaseProps extends PolymorphicProps<'div'> {}
101
+ interface MenuPositionerProps extends HTMLProps<'div'>, MenuPositionerBaseProps {}
102
+ declare const MenuPositioner: (props: MenuPositionerProps) => solid_js324.JSX.Element;
103
+ //#endregion
104
+ //#region src/components/menu/menu-radio-item.d.ts
105
+ type PartialOptionItemProps = Omit<OptionItemProps, 'type' | 'checked' | 'onCheckedChange'>;
106
+ interface MenuRadioItemBaseProps extends PartialOptionItemProps, PolymorphicProps<'div'> {}
107
+ interface MenuRadioItemProps extends HTMLProps<'div'>, MenuRadioItemBaseProps {}
108
+ declare const MenuRadioItem: (props: MenuRadioItemProps) => solid_js324.JSX.Element;
109
+ //#endregion
110
+ //#region src/components/menu/use-menu-item-group-context.d.ts
111
+ interface ValueChangeDetails {
112
+ value: string;
113
+ }
114
+ interface UseMenuItemGroupContext {
115
+ id: string;
116
+ value?: string;
117
+ onValueChange?: (e: ValueChangeDetails) => void;
118
+ }
119
+ //#endregion
120
+ //#region src/components/menu/menu-radio-item-group.d.ts
121
+ type OptionalUseMenuItemGroupContext = Optional<UseMenuItemGroupContext, 'id'>;
122
+ interface MenuRadioItemGroupBaseProps extends OptionalUseMenuItemGroupContext, PolymorphicProps<'div'> {}
123
+ interface MenuRadioItemGroupProps extends HTMLProps<'div'>, MenuRadioItemGroupBaseProps {}
124
+ declare const MenuRadioItemGroup: (props: MenuRadioItemGroupProps) => solid_js324.JSX.Element;
125
+ //#endregion
126
+ //#region src/components/menu/menu-root.d.ts
127
+ interface MenuRootBaseProps extends UseMenuProps, UsePresenceProps {}
128
+ interface MenuRootProps extends MenuRootBaseProps {
129
+ children?: JSX.Element;
130
+ }
131
+ declare const MenuRoot: (props: MenuRootProps) => JSX.Element;
132
+ //#endregion
133
+ //#region src/components/menu/menu-root-provider.d.ts
134
+ interface RootProviderProps {
135
+ value: UseMenuReturn;
136
+ }
137
+ interface MenuRootProviderBaseProps extends RootProviderProps, UsePresenceProps {}
138
+ interface MenuRootProviderProps extends MenuRootProviderBaseProps {
139
+ children?: JSX.Element;
140
+ }
141
+ declare const MenuRootProvider: (props: MenuRootProviderProps) => JSX.Element;
142
+ //#endregion
143
+ //#region src/components/menu/menu-separator.d.ts
144
+ interface MenuSeparatorBaseProps extends PolymorphicProps<'hr'> {}
145
+ interface MenuSeparatorProps extends HTMLProps<'hr'>, MenuSeparatorBaseProps {}
146
+ declare const MenuSeparator: (props: MenuSeparatorProps) => solid_js324.JSX.Element;
147
+ //#endregion
148
+ //#region src/components/menu/menu-trigger.d.ts
149
+ interface MenuTriggerBaseProps extends PolymorphicProps<'button'> {}
150
+ interface MenuTriggerProps extends HTMLProps<'button'>, MenuTriggerBaseProps {}
151
+ declare const MenuTrigger: (props: MenuTriggerProps) => solid_js324.JSX.Element;
152
+ //#endregion
153
+ //#region src/components/menu/menu-trigger-item.d.ts
154
+ interface MenuTriggerItemBaseProps extends PolymorphicProps<'div'> {}
155
+ interface MenuTriggerItemProps extends HTMLProps<'div'>, MenuTriggerItemBaseProps {}
156
+ declare const MenuTriggerItem: (props: MenuTriggerItemProps) => solid_js324.JSX.Element;
157
+ declare namespace menu_d_exports {
158
+ export { MenuArrow as Arrow, MenuArrowBaseProps as ArrowBaseProps, MenuArrowProps as ArrowProps, MenuArrowTip as ArrowTip, MenuArrowTipBaseProps as ArrowTipBaseProps, MenuArrowTipProps as ArrowTipProps, MenuCheckboxItem as CheckboxItem, MenuCheckboxItemBaseProps as CheckboxItemBaseProps, MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, MenuContentBaseProps as ContentBaseProps, MenuContentProps as ContentProps, MenuContext as Context, MenuContextProps as ContextProps, MenuContextTrigger as ContextTrigger, MenuContextTriggerBaseProps as ContextTriggerBaseProps, MenuContextTriggerProps as ContextTriggerProps, FocusOutsideEvent, HighlightChangeDetails, MenuIndicator as Indicator, MenuIndicatorBaseProps as IndicatorBaseProps, MenuIndicatorProps as IndicatorProps, InteractOutsideEvent, MenuItem as Item, MenuItemBaseProps as ItemBaseProps, MenuItemContext as ItemContext, MenuItemContextProps as ItemContextProps, MenuItemGroup as ItemGroup, MenuItemGroupBaseProps as ItemGroupBaseProps, MenuItemGroupLabel as ItemGroupLabel, MenuItemGroupLabelBaseProps as ItemGroupLabelBaseProps, MenuItemGroupLabelProps as ItemGroupLabelProps, MenuItemGroupProps as ItemGroupProps, MenuItemIndicator as ItemIndicator, MenuItemIndicatorBaseProps as ItemIndicatorBaseProps, MenuItemIndicatorProps as ItemIndicatorProps, MenuItemProps as ItemProps, MenuItemText as ItemText, MenuItemTextBaseProps as ItemTextBaseProps, MenuItemTextProps as ItemTextProps, OpenChangeDetails, PointerDownOutsideEvent, MenuPositioner as Positioner, MenuPositionerBaseProps as PositionerBaseProps, MenuPositionerProps as PositionerProps, MenuRadioItem as RadioItem, MenuRadioItemBaseProps as RadioItemBaseProps, MenuRadioItemGroup as RadioItemGroup, MenuRadioItemGroupBaseProps as RadioItemGroupBaseProps, MenuRadioItemGroupProps as RadioItemGroupProps, MenuRadioItemProps as RadioItemProps, MenuRoot as Root, MenuRootBaseProps as RootBaseProps, MenuRootProps as RootProps, MenuRootProvider as RootProvider, MenuRootProviderBaseProps as RootProviderBaseProps, MenuRootProviderProps as RootProviderProps, SelectionDetails, MenuSeparator as Separator, MenuSeparatorBaseProps as SeparatorBaseProps, MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, MenuTriggerBaseProps as TriggerBaseProps, MenuTriggerItem as TriggerItem, MenuTriggerItemBaseProps as TriggerItemBaseProps, MenuTriggerItemProps as TriggerItemProps, MenuTriggerProps as TriggerProps, ValueChangeDetails };
159
+ }
160
+ //#endregion
161
+ export { menu_d_exports as Menu, MenuArrow, type MenuArrowBaseProps, type MenuArrowProps, MenuArrowTip, type MenuArrowTipBaseProps, type MenuArrowTipProps, MenuCheckboxItem, type MenuCheckboxItemBaseProps, type MenuCheckboxItemProps, MenuContent, type MenuContentBaseProps, type MenuContentProps, MenuContext, type MenuContextProps, MenuContextTrigger, type MenuContextTriggerBaseProps, type MenuContextTriggerProps, type MenuFocusOutsideEvent, type MenuHighlightChangeDetails, MenuIndicator, type MenuIndicatorBaseProps, type MenuIndicatorProps, type MenuInteractOutsideEvent, MenuItem, type MenuItemBaseProps, MenuItemContext, type MenuItemContextProps, MenuItemGroup, type MenuItemGroupBaseProps, MenuItemGroupLabel, type MenuItemGroupLabelBaseProps, type MenuItemGroupLabelProps, type MenuItemGroupProps, MenuItemIndicator, type MenuItemIndicatorBaseProps, type MenuItemIndicatorProps, type MenuItemProps, MenuItemText, type MenuItemTextBaseProps, type MenuItemTextProps, type MenuOpenChangeDetails, type MenuPointerDownOutsideEvent, MenuPositioner, type MenuPositionerBaseProps, type MenuPositionerProps, MenuRadioItem, type MenuRadioItemBaseProps, MenuRadioItemGroup, type MenuRadioItemGroupBaseProps, type MenuRadioItemGroupProps, type MenuRadioItemProps, MenuRoot, type MenuRootBaseProps, type MenuRootProps, MenuRootProvider, type MenuRootProviderBaseProps, type MenuRootProviderProps, type MenuSelectionDetails, MenuSeparator, type MenuSeparatorBaseProps, type MenuSeparatorProps, MenuTrigger, type MenuTriggerBaseProps, MenuTriggerItem, type MenuTriggerItemBaseProps, type MenuTriggerItemProps, type MenuTriggerProps, type ValueChangeDetails as MenuValueChangeDetails, type UseMenuContext, type UseMenuItemContext, type UseMenuProps, type UseMenuReturn, menuAnatomy, useMenu, useMenuContext, useMenuItemContext };
@@ -0,0 +1,471 @@
1
+ import { t as __export } from "../../chunk-Bn8mXcTA.js";
2
+ import { i as useMachine, n as normalizeProps, r as mergeProps$2 } from "../../core-CRjuRw95.js";
3
+ import { t as runIfFn } from "../../run-if-fn-C80kt4dU.js";
4
+ import { t as createContext$1 } from "../../create-context-DlXBVMoq.js";
5
+ import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-DgUckEdb.js";
6
+ import { t as sprawlify } from "../../factory-k8EbNZ7r.js";
7
+ import { t as createSplitProps } from "../../create-split-props-BHmgTHSf.js";
8
+ import "../../render-strategy-BlHCR8sl.js";
9
+ import { t as composeRefs } from "../../compose-refs-tCBI7PRJ.js";
10
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "../../presence-Clrs1hmS.js";
11
+ import { Show, createEffect, createMemo, createUniqueId, onCleanup, onMount } from "solid-js";
12
+ import { createComponent, mergeProps as mergeProps$1 } from "solid-js/web";
13
+ import * as menu from "@sprawlify/primitives/machines/menu";
14
+ import { anatomy as menuAnatomy } from "@sprawlify/primitives/machines/menu";
15
+
16
+ //#region src/components/menu/use-menu-context.ts
17
+ const [MenuProvider, useMenuContext] = createContext$1({
18
+ hookName: "useMenuContext",
19
+ providerName: "<MenuProvider />",
20
+ strict: false
21
+ });
22
+
23
+ //#endregion
24
+ //#region src/components/menu/menu-arrow.tsx
25
+ const MenuArrow = (props) => {
26
+ const context = useMenuContext();
27
+ const mergedProps = mergeProps$2(() => context().getArrowProps(), props);
28
+ return createComponent(sprawlify.div, mergedProps);
29
+ };
30
+
31
+ //#endregion
32
+ //#region src/components/menu/menu-arrow-tip.tsx
33
+ const MenuArrowTip = (props) => {
34
+ const context = useMenuContext();
35
+ const mergedProps = mergeProps$2(() => context().getArrowTipProps(), props);
36
+ return createComponent(sprawlify.div, mergedProps);
37
+ };
38
+
39
+ //#endregion
40
+ //#region src/components/menu/use-menu-item-context.ts
41
+ const [MenuItemProvider, useMenuItemContext] = createContext$1({
42
+ hookName: "useMenuItemContext",
43
+ providerName: "<MenuItemProvider />"
44
+ });
45
+
46
+ //#endregion
47
+ //#region src/components/menu/use-menu-option-item-props-context.ts
48
+ const [MenuItemPropsProvider, useMenuItemPropsContext] = createContext$1({
49
+ hookName: "useMenuItemPropsContext",
50
+ providerName: "<MenuItemPropsProvider />"
51
+ });
52
+
53
+ //#endregion
54
+ //#region src/components/menu/menu-checkbox-item.tsx
55
+ const MenuCheckboxItem = (props) => {
56
+ const [partialOptionItemProps, localProps] = createSplitProps()(props, [
57
+ "checked",
58
+ "closeOnSelect",
59
+ "disabled",
60
+ "onCheckedChange",
61
+ "value",
62
+ "valueText"
63
+ ]);
64
+ const optionItemProps = mergeProps$2(partialOptionItemProps, { type: "checkbox" });
65
+ const context = useMenuContext();
66
+ const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
67
+ const optionItemState = createMemo(() => context().getItemState(optionItemProps));
68
+ return createComponent(MenuItemPropsProvider, {
69
+ value: optionItemProps,
70
+ get children() {
71
+ return createComponent(MenuItemProvider, {
72
+ value: optionItemState,
73
+ get children() {
74
+ return createComponent(sprawlify.div, mergedProps);
75
+ }
76
+ });
77
+ }
78
+ });
79
+ };
80
+
81
+ //#endregion
82
+ //#region src/components/menu/menu-content.tsx
83
+ const MenuContent = (props) => {
84
+ const context = useMenuContext();
85
+ const presenceContext = usePresenceContext();
86
+ const mergedProps = mergeProps$2(() => context().getContentProps(), () => presenceContext().presenceProps, props);
87
+ return createComponent(Show, {
88
+ get when() {
89
+ return !presenceContext().unmounted;
90
+ },
91
+ get children() {
92
+ return createComponent(sprawlify.div, mergeProps$1(mergedProps, { ref(r$) {
93
+ var _ref$ = composeRefs(presenceContext().ref, props.ref);
94
+ typeof _ref$ === "function" && _ref$(r$);
95
+ } }));
96
+ }
97
+ });
98
+ };
99
+
100
+ //#endregion
101
+ //#region src/components/menu/menu-context.tsx
102
+ const MenuContext = (props) => props.children(useMenuContext());
103
+
104
+ //#endregion
105
+ //#region src/components/menu/menu-context-trigger.tsx
106
+ const MenuContextTrigger = (props) => {
107
+ const context = useMenuContext();
108
+ const mergedProps = mergeProps$2(() => context().getContextTriggerProps(), props);
109
+ return createComponent(sprawlify.button, mergedProps);
110
+ };
111
+
112
+ //#endregion
113
+ //#region src/components/menu/menu-indicator.tsx
114
+ const MenuIndicator = (props) => {
115
+ const context = useMenuContext();
116
+ const mergedProps = mergeProps$2(() => context().getIndicatorProps(), props);
117
+ return createComponent(sprawlify.div, mergedProps);
118
+ };
119
+
120
+ //#endregion
121
+ //#region src/components/menu/menu-item.tsx
122
+ const MenuItem = (props) => {
123
+ const [itemProps, localProps] = createSplitProps()(props, [
124
+ "closeOnSelect",
125
+ "disabled",
126
+ "value",
127
+ "valueText",
128
+ "onSelect"
129
+ ]);
130
+ const context = useMenuContext();
131
+ const mergedProps = mergeProps$2(() => context().getItemProps(itemProps), localProps);
132
+ const itemState = createMemo(() => context().getItemState(itemProps));
133
+ createEffect(() => {
134
+ const cleanup = context().addItemListener({
135
+ id: itemState().id,
136
+ onSelect: itemProps.onSelect
137
+ });
138
+ onCleanup(() => cleanup?.());
139
+ });
140
+ return createComponent(MenuItemPropsProvider, {
141
+ value: itemProps,
142
+ get children() {
143
+ return createComponent(MenuItemProvider, {
144
+ value: itemState,
145
+ get children() {
146
+ return createComponent(sprawlify.div, mergedProps);
147
+ }
148
+ });
149
+ }
150
+ });
151
+ };
152
+
153
+ //#endregion
154
+ //#region src/components/menu/menu-item-context.tsx
155
+ const MenuItemContext = (props) => props.children(useMenuItemContext());
156
+
157
+ //#endregion
158
+ //#region src/components/menu/use-menu-item-group-context.ts
159
+ const [MenuItemGroupProvider, useMenuItemGroupContext] = createContext$1({
160
+ hookName: "useMenuItemGroupContext",
161
+ providerName: "<MenuItemGroupProvider />"
162
+ });
163
+
164
+ //#endregion
165
+ //#region src/components/menu/menu-item-group.tsx
166
+ const MenuItemGroup = (props) => {
167
+ const [optionalItemGroupProps, localProps] = createSplitProps()(props, ["id"]);
168
+ const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
169
+ const menu$1 = useMenuContext();
170
+ const mergedProps = mergeProps$2(() => menu$1().getItemGroupProps(itemGroupProps), localProps);
171
+ return createComponent(MenuItemGroupProvider, {
172
+ value: itemGroupProps,
173
+ get children() {
174
+ return createComponent(sprawlify.div, mergedProps);
175
+ }
176
+ });
177
+ };
178
+
179
+ //#endregion
180
+ //#region src/components/menu/menu-item-group-label.tsx
181
+ const MenuItemGroupLabel = (props) => {
182
+ const context = useMenuContext();
183
+ const itemGroupContext = useMenuItemGroupContext();
184
+ const mergedProps = mergeProps$2(context().getItemGroupLabelProps({ htmlFor: itemGroupContext.id }), props);
185
+ return createComponent(sprawlify.div, mergedProps);
186
+ };
187
+
188
+ //#endregion
189
+ //#region src/components/menu/menu-item-indicator.tsx
190
+ const MenuItemIndicator = (props) => {
191
+ const context = useMenuContext();
192
+ const itemProps = useMenuItemPropsContext();
193
+ const mergedProps = mergeProps$2(() => context().getItemIndicatorProps(itemProps), props);
194
+ return createComponent(sprawlify.div, mergedProps);
195
+ };
196
+
197
+ //#endregion
198
+ //#region src/components/menu/menu-item-text.tsx
199
+ const MenuItemText = (props) => {
200
+ const context = useMenuContext();
201
+ const itemProps = useMenuItemPropsContext();
202
+ const mergedProps = mergeProps$2(() => context().getItemTextProps(itemProps), props);
203
+ return createComponent(sprawlify.div, mergedProps);
204
+ };
205
+
206
+ //#endregion
207
+ //#region src/components/menu/menu-positioner.tsx
208
+ const MenuPositioner = (props) => {
209
+ const context = useMenuContext();
210
+ const presence = usePresenceContext();
211
+ const mergedProps = mergeProps$2(() => context().getPositionerProps(), props);
212
+ return createComponent(Show, {
213
+ get when() {
214
+ return !presence().unmounted;
215
+ },
216
+ get children() {
217
+ return createComponent(sprawlify.div, mergedProps);
218
+ }
219
+ });
220
+ };
221
+
222
+ //#endregion
223
+ //#region src/components/menu/menu-radio-item.tsx
224
+ const MenuRadioItem = (props) => {
225
+ const [partialItemProps, localProps] = createSplitProps()(props, [
226
+ "closeOnSelect",
227
+ "disabled",
228
+ "value",
229
+ "valueText"
230
+ ]);
231
+ const context = useMenuContext();
232
+ const itemGroup = useMenuItemGroupContext();
233
+ const optionItemProps = mergeProps$2(partialItemProps, () => ({
234
+ type: "radio",
235
+ checked: itemGroup.value === partialItemProps.value,
236
+ onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })
237
+ }));
238
+ const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
239
+ const optionItemState = createMemo(() => context().getOptionItemState(optionItemProps));
240
+ return createComponent(MenuItemPropsProvider, {
241
+ value: optionItemProps,
242
+ get children() {
243
+ return createComponent(MenuItemProvider, {
244
+ value: optionItemState,
245
+ get children() {
246
+ return createComponent(sprawlify.div, mergedProps);
247
+ }
248
+ });
249
+ }
250
+ });
251
+ };
252
+
253
+ //#endregion
254
+ //#region src/components/menu/menu-radio-item-group.tsx
255
+ const MenuRadioItemGroup = (props) => {
256
+ const [optionalItemGroupProps, localProps] = createSplitProps()(props, [
257
+ "id",
258
+ "onValueChange",
259
+ "value"
260
+ ]);
261
+ const context = useMenuContext();
262
+ const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
263
+ const mergedProps = mergeProps$2(() => context().getItemGroupProps(itemGroupProps), localProps);
264
+ return createComponent(MenuItemGroupProvider, {
265
+ value: itemGroupProps,
266
+ get children() {
267
+ return createComponent(sprawlify.div, mergedProps);
268
+ }
269
+ });
270
+ };
271
+
272
+ //#endregion
273
+ //#region src/components/menu/use-menu.ts
274
+ const useMenu = (props) => {
275
+ const id = createUniqueId();
276
+ const locale = useLocaleContext();
277
+ const environment = useEnvironmentContext();
278
+ const machineProps = createMemo(() => ({
279
+ id,
280
+ dir: locale().dir,
281
+ getRootNode: environment().getRootNode,
282
+ ...runIfFn(props)
283
+ }));
284
+ const service = useMachine(menu.machine, machineProps);
285
+ return {
286
+ api: createMemo(() => menu.connect(service, normalizeProps)),
287
+ service
288
+ };
289
+ };
290
+
291
+ //#endregion
292
+ //#region src/components/menu/use-menu-machine-context.ts
293
+ const [MenuMachineProvider, useMenuMachineContext] = createContext$1({
294
+ hookName: "useMenuMachineContext",
295
+ providerName: "<MenuMachineProvider />",
296
+ strict: false
297
+ });
298
+
299
+ //#endregion
300
+ //#region src/components/menu/use-menu-trigger-item-context.ts
301
+ const [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext$1({
302
+ hookName: "useMenuMachineContext",
303
+ providerName: "<MenuMachineProvider />",
304
+ strict: false
305
+ });
306
+
307
+ //#endregion
308
+ //#region src/components/menu/menu-root.tsx
309
+ const MenuRoot = (props) => {
310
+ const [presenceProps, menuProps] = splitPresenceProps(props);
311
+ const [useMenuProps, localProps] = createSplitProps()(menuProps, [
312
+ "anchorPoint",
313
+ "aria-label",
314
+ "closeOnSelect",
315
+ "composite",
316
+ "defaultHighlightedValue",
317
+ "defaultOpen",
318
+ "highlightedValue",
319
+ "id",
320
+ "ids",
321
+ "loopFocus",
322
+ "navigate",
323
+ "onEscapeKeyDown",
324
+ "onFocusOutside",
325
+ "onHighlightChange",
326
+ "onInteractOutside",
327
+ "onOpenChange",
328
+ "onPointerDownOutside",
329
+ "onRequestDismiss",
330
+ "onSelect",
331
+ "open",
332
+ "positioning",
333
+ "typeahead"
334
+ ]);
335
+ const parentApi = useMenuContext();
336
+ const parentMachine = useMenuMachineContext();
337
+ const menu$1 = useMenu(useMenuProps);
338
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: menu$1.api().open })));
339
+ onMount(() => {
340
+ if (!parentMachine) return;
341
+ parentApi?.().setChild(menu$1.service);
342
+ menu$1.api().setParent(parentMachine);
343
+ });
344
+ const triggerItemContext = () => parentApi?.().getTriggerItemProps(menu$1.api());
345
+ return createComponent(MenuTriggerItemProvider, {
346
+ value: triggerItemContext,
347
+ get children() {
348
+ return createComponent(MenuMachineProvider, {
349
+ get value() {
350
+ return menu$1.service;
351
+ },
352
+ get children() {
353
+ return createComponent(MenuProvider, {
354
+ get value() {
355
+ return menu$1.api;
356
+ },
357
+ get children() {
358
+ return createComponent(PresenceProvider, {
359
+ value: presenceApi,
360
+ get children() {
361
+ return localProps.children;
362
+ }
363
+ });
364
+ }
365
+ });
366
+ }
367
+ });
368
+ }
369
+ });
370
+ };
371
+
372
+ //#endregion
373
+ //#region src/components/menu/menu-root-provider.tsx
374
+ const MenuRootProvider = (props) => {
375
+ const parentApi = useMenuContext();
376
+ const parentMachine = useMenuMachineContext();
377
+ const [presenceProps, menuProps] = splitPresenceProps(props);
378
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: menuProps.value.api().open })));
379
+ createEffect(() => {
380
+ if (!parentMachine) return;
381
+ parentApi?.().setChild(menuProps.value.service);
382
+ menuProps.value.api().setParent(parentMachine);
383
+ });
384
+ const triggerItemContext = () => parentApi?.().getTriggerItemProps(menuProps.value.api());
385
+ return createComponent(MenuTriggerItemProvider, {
386
+ value: triggerItemContext,
387
+ get children() {
388
+ return createComponent(MenuMachineProvider, {
389
+ get value() {
390
+ return menuProps.value.service;
391
+ },
392
+ get children() {
393
+ return createComponent(MenuProvider, {
394
+ get value() {
395
+ return menuProps.value.api;
396
+ },
397
+ get children() {
398
+ return createComponent(PresenceProvider, {
399
+ value: presenceApi,
400
+ get children() {
401
+ return menuProps.children;
402
+ }
403
+ });
404
+ }
405
+ });
406
+ }
407
+ });
408
+ }
409
+ });
410
+ };
411
+
412
+ //#endregion
413
+ //#region src/components/menu/menu-separator.tsx
414
+ const MenuSeparator = (props) => {
415
+ const menu$1 = useMenuContext();
416
+ const mergedProps = mergeProps$2(() => menu$1().getSeparatorProps(), props);
417
+ return createComponent(sprawlify.hr, mergedProps);
418
+ };
419
+
420
+ //#endregion
421
+ //#region src/components/menu/menu-trigger.tsx
422
+ const MenuTrigger = (props) => {
423
+ const api = useMenuContext();
424
+ const presenceApi = usePresenceContext();
425
+ const mergedProps = mergeProps$2(() => api().getTriggerProps(), () => ({ "aria-controls": presenceApi().unmounted && null }), props);
426
+ return createComponent(sprawlify.button, mergedProps);
427
+ };
428
+
429
+ //#endregion
430
+ //#region src/components/menu/menu-trigger-item.tsx
431
+ const MenuTriggerItem = (props) => {
432
+ const getTriggerItemProps = useMenuTriggerItemContext();
433
+ const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
434
+ return createComponent(MenuItemPropsProvider, {
435
+ get value() {
436
+ return { value: mergedProps["data-value"] };
437
+ },
438
+ get children() {
439
+ return createComponent(sprawlify.div, mergedProps);
440
+ }
441
+ });
442
+ };
443
+
444
+ //#endregion
445
+ //#region src/components/menu/menu.ts
446
+ var menu_exports = /* @__PURE__ */ __export({
447
+ Arrow: () => MenuArrow,
448
+ ArrowTip: () => MenuArrowTip,
449
+ CheckboxItem: () => MenuCheckboxItem,
450
+ Content: () => MenuContent,
451
+ Context: () => MenuContext,
452
+ ContextTrigger: () => MenuContextTrigger,
453
+ Indicator: () => MenuIndicator,
454
+ Item: () => MenuItem,
455
+ ItemContext: () => MenuItemContext,
456
+ ItemGroup: () => MenuItemGroup,
457
+ ItemGroupLabel: () => MenuItemGroupLabel,
458
+ ItemIndicator: () => MenuItemIndicator,
459
+ ItemText: () => MenuItemText,
460
+ Positioner: () => MenuPositioner,
461
+ RadioItem: () => MenuRadioItem,
462
+ RadioItemGroup: () => MenuRadioItemGroup,
463
+ Root: () => MenuRoot,
464
+ RootProvider: () => MenuRootProvider,
465
+ Separator: () => MenuSeparator,
466
+ Trigger: () => MenuTrigger,
467
+ TriggerItem: () => MenuTriggerItem
468
+ });
469
+
470
+ //#endregion
471
+ export { menu_exports as Menu, MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, menuAnatomy, useMenu, useMenuContext, useMenuItemContext };