@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.
- package/dist/{collapsible-sG-Rzvf2.jsx → collapsible-14K1NkX_.jsx} +8 -8
- package/dist/{collapsible-CX2tnXKq.js → collapsible-BT7AHLQr.js} +8 -8
- package/dist/{collection-zj3lxnwW.js → collection-BVSLJ8Vb.js} +2 -2
- package/dist/{collection-BRr4O2_i.jsx → collection-CIXQG-Ne.jsx} +2 -2
- package/dist/components/accordion/index.d.ts +11 -11
- package/dist/components/accordion/index.js +9 -9
- package/dist/components/accordion/index.jsx +9 -9
- package/dist/components/angle-slider/index.d.ts +13 -13
- package/dist/components/angle-slider/index.js +7 -7
- package/dist/components/angle-slider/index.jsx +7 -7
- package/dist/components/avatar/index.d.ts +8 -8
- package/dist/components/avatar/index.js +7 -7
- package/dist/components/avatar/index.jsx +7 -7
- package/dist/components/bottom-sheet/index.d.ts +13 -13
- package/dist/components/bottom-sheet/index.js +10 -10
- package/dist/components/bottom-sheet/index.jsx +10 -10
- package/dist/components/carousel/index.d.ts +17 -17
- package/dist/components/carousel/index.js +7 -7
- package/dist/components/carousel/index.jsx +7 -7
- package/dist/components/checkbox/index.d.ts +13 -13
- package/dist/components/checkbox/index.js +10 -10
- package/dist/components/checkbox/index.jsx +10 -10
- package/dist/components/clipboard/index.d.ts +11 -11
- package/dist/components/clipboard/index.js +7 -7
- package/dist/components/clipboard/index.jsx +7 -7
- package/dist/components/collapsible/index.d.ts +10 -10
- package/dist/components/collapsible/index.js +7 -7
- package/dist/components/collapsible/index.jsx +7 -7
- package/dist/components/collection/index.d.ts +2 -2
- package/dist/components/collection/index.js +2 -2
- package/dist/components/collection/index.jsx +2 -2
- package/dist/components/color-picker/index.d.ts +35 -35
- package/dist/components/color-picker/index.js +12 -12
- package/dist/components/color-picker/index.jsx +12 -12
- package/dist/components/combobox/index.d.ts +22 -22
- package/dist/components/combobox/index.js +13 -13
- package/dist/components/combobox/index.jsx +13 -13
- package/dist/components/date-picker/index.d.ts +33 -33
- package/dist/components/date-picker/index.js +10 -10
- package/dist/components/date-picker/index.jsx +10 -10
- package/dist/components/dialog/index.d.ts +13 -13
- package/dist/components/dialog/index.js +10 -10
- package/dist/components/dialog/index.jsx +10 -10
- package/dist/components/download-trigger/index.d.ts +3 -3
- package/dist/components/download-trigger/index.js +5 -5
- package/dist/components/download-trigger/index.jsx +5 -5
- package/dist/components/editable/index.d.ts +14 -14
- package/dist/components/editable/index.js +10 -10
- package/dist/components/editable/index.jsx +10 -10
- package/dist/components/field/index.d.ts +14 -14
- package/dist/components/field/index.js +8 -8
- package/dist/components/field/index.jsx +8 -8
- package/dist/components/fieldset/index.d.ts +12 -12
- package/dist/components/fieldset/index.js +7 -7
- package/dist/components/fieldset/index.jsx +7 -7
- package/dist/components/file-upload/index.d.ts +102 -0
- package/dist/components/file-upload/index.js +284 -0
- package/dist/components/file-upload/index.jsx +255 -0
- package/dist/components/floating-panel/index.d.ts +100 -0
- package/dist/components/floating-panel/index.js +246 -0
- package/dist/components/floating-panel/index.jsx +217 -0
- package/dist/components/focus-trap/index.d.ts +17 -0
- package/dist/components/focus-trap/index.js +34 -0
- package/dist/components/focus-trap/index.jsx +30 -0
- package/dist/components/format/index.d.ts +27 -0
- package/dist/components/format/index.js +46 -0
- package/dist/components/format/index.jsx +48 -0
- package/dist/components/frame/index.d.ts +13 -0
- package/dist/components/frame/index.js +121 -0
- package/dist/components/frame/index.jsx +86 -0
- package/dist/components/highlight/index.d.ts +3 -3
- package/dist/components/highlight/index.js +3 -3
- package/dist/components/highlight/index.jsx +3 -3
- package/dist/components/hover-card/index.d.ts +70 -0
- package/dist/components/hover-card/index.js +168 -0
- package/dist/components/hover-card/index.jsx +136 -0
- package/dist/components/image-cropper/index.d.ts +64 -0
- package/dist/components/image-cropper/index.js +151 -0
- package/dist/components/image-cropper/index.jsx +144 -0
- package/dist/components/json-tree-view/index.d.ts +56 -0
- package/dist/components/json-tree-view/index.js +330 -0
- package/dist/components/json-tree-view/index.jsx +204 -0
- package/dist/components/listbox/index.d.ts +114 -0
- package/dist/components/listbox/index.js +261 -0
- package/dist/components/listbox/index.jsx +236 -0
- package/dist/components/marquee/index.d.ts +59 -0
- package/dist/components/marquee/index.js +138 -0
- package/dist/components/marquee/index.jsx +126 -0
- package/dist/components/menu/index.d.ts +161 -0
- package/dist/components/menu/index.js +471 -0
- package/dist/components/menu/index.jsx +392 -0
- package/dist/components/navigation-menu/index.d.ts +90 -0
- package/dist/components/navigation-menu/index.js +304 -0
- package/dist/components/navigation-menu/index.jsx +237 -0
- package/dist/components/number-input/index.d.ts +74 -0
- package/dist/components/number-input/index.js +182 -0
- package/dist/components/number-input/index.jsx +173 -0
- package/dist/components/pagination/index.d.ts +69 -0
- package/dist/components/pagination/index.js +146 -0
- package/dist/components/pagination/index.jsx +139 -0
- package/dist/components/password-input/index.d.ts +66 -0
- package/dist/components/password-input/index.js +159 -0
- package/dist/components/password-input/index.jsx +140 -0
- package/dist/components/pin-input/index.d.ts +59 -0
- package/dist/components/pin-input/index.js +151 -0
- package/dist/components/pin-input/index.jsx +142 -0
- package/dist/components/popover/index.d.ts +95 -0
- package/dist/components/popover/index.js +220 -0
- package/dist/components/popover/index.jsx +188 -0
- package/dist/components/presence/index.d.ts +4 -4
- package/dist/components/presence/index.js +7 -7
- package/dist/components/presence/index.jsx +7 -7
- package/dist/components/select/index.d.ts +22 -22
- package/dist/components/select/index.js +13 -13
- package/dist/components/select/index.jsx +13 -13
- package/dist/components/tree-view/index.d.ts +7 -0
- package/dist/components/tree-view/index.js +11 -0
- package/dist/components/tree-view/index.jsx +11 -0
- package/dist/{factory-Ch5jgk20.jsx → factory-BIJk1mK6.jsx} +1 -1
- package/dist/{factory-PGDAvOKb.js → factory-k8EbNZ7r.js} +1 -1
- package/dist/{factory-4A25bngy.d.ts → factory-srnAQg4A.d.ts} +6 -1
- package/dist/{field-CoYiA2ek.js → field-CZv3v7K-.js} +8 -8
- package/dist/{field-BRr9Zdes.jsx → field-CtkmPUb0.jsx} +8 -8
- package/dist/{fieldset-BrJqMLEd.js → fieldset-B2nK8dL5.js} +8 -8
- package/dist/{fieldset-B_LyllEa.jsx → fieldset-aYQsMWX2.jsx} +8 -8
- package/dist/{index-GEfvAmRc.d.ts → index-BwthXhaG.d.ts} +1 -1
- package/dist/index-Dl22eiVf.d.ts +143 -0
- package/dist/index-Dqmtlqpz.d.ts +143 -0
- package/dist/{index-j2avJy7D.d.ts → index-DylIyeqd.d.ts} +8 -8
- package/dist/index-utxtRaDW.d.ts +41 -0
- package/dist/{index-oc8gLl07.d.ts → index-w0NPbRP3.d.ts} +8 -8
- package/dist/index.d.ts +6 -44
- package/dist/index.js +6 -5
- package/dist/index.jsx +6 -5
- package/dist/{presence-BpwBRlZW.js → presence-Clrs1hmS.js} +7 -7
- package/dist/{presence-Bmn43U_q.jsx → presence-H4-8_5_s.jsx} +7 -7
- package/dist/{providers-DFaRRd80.jsx → providers-C6VPiSrB.jsx} +2 -2
- package/dist/{providers-Bo0OFe08.js → providers-DgUckEdb.js} +2 -2
- package/dist/{render-strategy-DFlz7Uc4.js → render-strategy-BlHCR8sl.js} +2 -2
- package/dist/{render-strategy-CdJhRv3I.jsx → render-strategy-KJFIjVVG.jsx} +2 -2
- package/dist/tree-view-CyvT0V14.js +318 -0
- package/dist/tree-view-DJgvku6y.jsx +291 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.jsx +2 -2
- package/package.json +97 -2
- /package/dist/{chunk-B5so6B0y.jsx → chunk-BJ7z6UrO.jsx} +0 -0
- /package/dist/{chunk-B93cd-Dz.js → chunk-Bn8mXcTA.js} +0 -0
- /package/dist/{compose-refs-BVVIB7xn.js → compose-refs-Cp4AShsY.jsx} +0 -0
- /package/dist/{compose-refs-icUeuyHm.jsx → compose-refs-tCBI7PRJ.js} +0 -0
- /package/dist/{core-DbInRfhI.jsx → core-CRjuRw95.js} +0 -0
- /package/dist/{core-oNB2jGcl.js → core-C_FYj4uc.jsx} +0 -0
- /package/dist/{create-context-C3rvZvkc.jsx → create-context-BwqlrMqL.jsx} +0 -0
- /package/dist/{create-context-GfQ_MylE.js → create-context-DlXBVMoq.js} +0 -0
- /package/dist/{create-split-props-B8A7_AF7.jsx → create-split-props-BHmgTHSf.js} +0 -0
- /package/dist/{create-split-props-pQu7jijw.js → create-split-props-CKwjjjkD.jsx} +0 -0
- /package/dist/{index-C7N791Fc.d.ts → index-BLALA3BS.d.ts} +0 -0
- /package/dist/{index-B6dBCfnB.d.ts → index-DiANe65S.d.ts} +0 -0
- /package/dist/{render-strategy-BNECKEQk.d.ts → render-strategy-BmTDUy3U.d.ts} +0 -0
- /package/dist/{run-if-fn-A3VwXy-o.jsx → run-if-fn-C80kt4dU.js} +0 -0
- /package/dist/{run-if-fn-D5794CxE.js → run-if-fn-CrJzzDIM.jsx} +0 -0
- /package/dist/{types-Dbw4va3W.d.ts → types-mGUbKy2h.d.ts} +0 -0
- /package/dist/{utils-DQi-Cen5.js → utils-DSmVDqW7.js} +0 -0
- /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 };
|