@hanzogui/context-menu 8.3.1 → 8.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cjs/ContextMenu.js +148 -0
  2. package/dist/cjs/ContextMenu.js.map +1 -0
  3. package/dist/cjs/createNonNativeContextMenu.js +311 -0
  4. package/dist/cjs/createNonNativeContextMenu.js.map +1 -0
  5. package/dist/cjs/index.js +18 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/package.json +1 -0
  8. package/dist/esm/ContextMenu.js +144 -0
  9. package/dist/esm/ContextMenu.js.map +1 -0
  10. package/dist/esm/createNonNativeContextMenu.js +306 -0
  11. package/dist/esm/createNonNativeContextMenu.js.map +1 -0
  12. package/dist/esm/index.js +14 -14
  13. package/dist/esm/index.js.map +1 -1
  14. package/package.json +27 -21
  15. package/src/ContextMenu.tsx +2 -2
  16. package/src/index.tsx +1 -1
  17. package/types/ContextMenu.d.ts +30 -30
  18. package/types/ContextMenu.d.ts.map +1 -1
  19. package/types/createNonNativeContextMenu.d.ts +18 -18
  20. package/types/createNonNativeContextMenu.d.ts.map +1 -1
  21. package/types/index.d.ts +29 -29
  22. package/types/index.d.ts.map +1 -1
  23. package/dist/cjs/ContextMenu.cjs +0 -185
  24. package/dist/cjs/ContextMenu.native.js +0 -193
  25. package/dist/cjs/ContextMenu.native.js.map +0 -1
  26. package/dist/cjs/createNonNativeContextMenu.cjs +0 -443
  27. package/dist/cjs/createNonNativeContextMenu.native.js +0 -470
  28. package/dist/cjs/createNonNativeContextMenu.native.js.map +0 -1
  29. package/dist/cjs/index.cjs +0 -41
  30. package/dist/cjs/index.native.js +0 -44
  31. package/dist/cjs/index.native.js.map +0 -1
  32. package/dist/esm/ContextMenu.mjs +0 -149
  33. package/dist/esm/ContextMenu.mjs.map +0 -1
  34. package/dist/esm/ContextMenu.native.js +0 -154
  35. package/dist/esm/ContextMenu.native.js.map +0 -1
  36. package/dist/esm/createNonNativeContextMenu.mjs +0 -406
  37. package/dist/esm/createNonNativeContextMenu.mjs.map +0 -1
  38. package/dist/esm/createNonNativeContextMenu.native.js +0 -430
  39. package/dist/esm/createNonNativeContextMenu.native.js.map +0 -1
  40. package/dist/esm/index.mjs +0 -15
  41. package/dist/esm/index.mjs.map +0 -1
  42. package/dist/esm/index.native.js +0 -15
  43. package/dist/esm/index.native.js.map +0 -1
  44. package/dist/jsx/ContextMenu.mjs +0 -149
  45. package/dist/jsx/ContextMenu.mjs.map +0 -1
  46. package/dist/jsx/ContextMenu.native.js +0 -193
  47. package/dist/jsx/ContextMenu.native.js.map +0 -1
  48. package/dist/jsx/createNonNativeContextMenu.mjs +0 -406
  49. package/dist/jsx/createNonNativeContextMenu.mjs.map +0 -1
  50. package/dist/jsx/createNonNativeContextMenu.native.js +0 -470
  51. package/dist/jsx/createNonNativeContextMenu.native.js.map +0 -1
  52. package/dist/jsx/index.js +0 -15
  53. package/dist/jsx/index.js.map +0 -1
  54. package/dist/jsx/index.mjs +0 -15
  55. package/dist/jsx/index.mjs.map +0 -1
  56. package/dist/jsx/index.native.js +0 -44
  57. package/dist/jsx/index.native.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../src/ContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createBaseMenu } from '@hanzogui/create-menu';
3
+ import { useControllableState } from '@hanzogui/use-controllable-state';
4
+ import { composeEventHandlers, composeRefs, createStyledContext, isAndroid, isWeb, Slot, View, withStaticProperties, } from '@hanzogui/web';
5
+ import React, { useId } from 'react';
6
+ export const CONTEXTMENU_CONTEXT = 'ContextMenuContext';
7
+ /* -----------------------------------------------------------------------------------------------*/
8
+ export function createNonNativeContextMenu(params) {
9
+ const { Menu } = createBaseMenu(params);
10
+ /* -------------------------------------------------------------------------------------------------
11
+ * ContextMenu
12
+ * -----------------------------------------------------------------------------------------------*/
13
+ const CONTEXT_MENU_NAME = 'ContextMenu';
14
+ const { Provider: ContextMenuProvider, useStyledContext: useContextMenuContext } = createStyledContext();
15
+ const ContextMenuComp = (props) => {
16
+ const { scope, children, onOpenChange, dir, modal = true, ...rest } = props;
17
+ const [open, setOpen] = React.useState(false);
18
+ const triggerRef = React.useRef(null);
19
+ const handleOpenChange = React.useCallback((open, event) => {
20
+ onOpenChange?.(open, event);
21
+ if (event?.defaultPrevented)
22
+ return;
23
+ setOpen(open);
24
+ }, [onOpenChange]);
25
+ return (_jsx(ContextMenuProvider, { scope: scope, triggerId: useId(), triggerRef: triggerRef, contentId: useId(), open: open, onOpenChange: handleOpenChange, modal: modal, children: _jsx(Menu, { scope: scope || CONTEXTMENU_CONTEXT, dir: dir, open: open, onOpenChange: handleOpenChange, modal: modal, ...rest, children: children }) }));
26
+ };
27
+ ContextMenuComp.displayName = CONTEXT_MENU_NAME;
28
+ /* -------------------------------------------------------------------------------------------------
29
+ * ContextMenuTrigger - The only real difference from Menu: uses onContextMenu instead of onClick
30
+ * -----------------------------------------------------------------------------------------------*/
31
+ const TRIGGER_NAME = 'ContextMenuTrigger';
32
+ const ContextMenuTrigger = View.styleable((props, forwardedRef) => {
33
+ const { scope, style, disabled = false, asChild, children, ...triggerProps } = props;
34
+ const context = useContextMenuContext(scope);
35
+ const pointRef = React.useRef({ x: 0, y: 0 });
36
+ const virtualRef = React.useMemo(() => ({
37
+ current: {
38
+ getBoundingClientRect: () => {
39
+ if (isWeb) {
40
+ // Subtract scroll offset because floating-ui adds it back for absolute positioning
41
+ const scrollX = window.scrollX || document.documentElement.scrollLeft;
42
+ const scrollY = window.scrollY || document.documentElement.scrollTop;
43
+ return DOMRect.fromRect({
44
+ width: 0,
45
+ height: 0,
46
+ x: pointRef.current.x - scrollX,
47
+ y: pointRef.current.y - scrollY,
48
+ });
49
+ }
50
+ return { width: 0, height: 0, top: 0, left: 0, ...pointRef.current };
51
+ },
52
+ ...(!isWeb && {
53
+ measure: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),
54
+ measureInWindow: (c) => c(pointRef.current.x, pointRef.current.y, 0, 0),
55
+ }),
56
+ },
57
+ }), [pointRef.current.x, pointRef.current.y]);
58
+ const longPressTimerRef = React.useRef(0);
59
+ const clearLongPress = React.useCallback(() => window.clearTimeout(longPressTimerRef.current), []);
60
+ const createOpenChangeEvent = () => {
61
+ let defaultPrevented = false;
62
+ return {
63
+ get defaultPrevented() {
64
+ return defaultPrevented;
65
+ },
66
+ preventDefault() {
67
+ defaultPrevented = true;
68
+ },
69
+ };
70
+ };
71
+ const handleOpen = (event) => {
72
+ if (isWeb && (event instanceof MouseEvent || event instanceof PointerEvent)) {
73
+ pointRef.current = { x: event.clientX, y: event.clientY };
74
+ }
75
+ else {
76
+ pointRef.current = {
77
+ x: event.nativeEvent.pageX,
78
+ y: event.nativeEvent.pageY,
79
+ };
80
+ }
81
+ const openChangeEvent = createOpenChangeEvent();
82
+ context.onOpenChange(true, openChangeEvent);
83
+ return openChangeEvent;
84
+ };
85
+ React.useEffect(() => clearLongPress, [clearLongPress]);
86
+ React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);
87
+ const Comp = asChild ? Slot : View;
88
+ return (_jsxs(_Fragment, { children: [_jsx(Menu.Anchor, { scope: scope || CONTEXTMENU_CONTEXT, virtualRef: virtualRef }), _jsx(Comp, { render: "span", componentName: TRIGGER_NAME, id: context.triggerId, "data-state": context.open ? 'open' : 'closed', "data-disabled": disabled ? '' : undefined, ...triggerProps, ref: composeRefs(forwardedRef, context.triggerRef), style: isWeb ? { WebkitTouchCallout: 'none', ...style } : null, ...(isWeb && {
89
+ onContextMenu: disabled
90
+ ? props.onContextMenu
91
+ : composeEventHandlers(props.onContextMenu, (event) => {
92
+ clearLongPress();
93
+ const openChangeEvent = handleOpen(event);
94
+ if (!openChangeEvent.defaultPrevented) {
95
+ event.preventDefault();
96
+ }
97
+ }),
98
+ onPointerDown: disabled
99
+ ? props.onPointerDown
100
+ : composeEventHandlers(props.onPointerDown, (event) => {
101
+ if (event.pointerType === 'mouse')
102
+ return;
103
+ clearLongPress();
104
+ longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);
105
+ }),
106
+ onPointerMove: disabled
107
+ ? props.onPointerMove
108
+ : composeEventHandlers(props.onPointerMove, (event) => {
109
+ if (event.pointerType === 'mouse')
110
+ return;
111
+ clearLongPress();
112
+ }),
113
+ onPointerCancel: disabled
114
+ ? props.onPointerCancel
115
+ : composeEventHandlers(props.onPointerCancel, (event) => {
116
+ if (event.pointerType === 'mouse')
117
+ return;
118
+ clearLongPress();
119
+ }),
120
+ onPointerUp: disabled
121
+ ? props.onPointerUp
122
+ : composeEventHandlers(props.onPointerUp, (event) => {
123
+ if (event.pointerType === 'mouse')
124
+ return;
125
+ clearLongPress();
126
+ }),
127
+ }), ...(!isWeb && {
128
+ onLongPress: disabled
129
+ ? props.onLongPress
130
+ : composeEventHandlers(props.onLongPress, (event) => {
131
+ clearLongPress();
132
+ const openChangeEvent = handleOpen(event);
133
+ if (!openChangeEvent.defaultPrevented) {
134
+ event.preventDefault();
135
+ }
136
+ }),
137
+ }), children: children })] }));
138
+ });
139
+ ContextMenuTrigger.displayName = TRIGGER_NAME;
140
+ /* -------------------------------------------------------------------------------------------------
141
+ * ContextMenuPortal
142
+ * -----------------------------------------------------------------------------------------------*/
143
+ const PORTAL_NAME = 'ContextMenuPortal';
144
+ const ContextMenuPortal = (props) => {
145
+ const { scope, children, ...portalProps } = props;
146
+ const context = isAndroid ? useContextMenuContext(scope) : null;
147
+ const content = isAndroid ? (_jsx(ContextMenuProvider, { ...context, children: children })) : (children);
148
+ return (_jsx(Menu.Portal, { scope: scope || CONTEXTMENU_CONTEXT, ...portalProps, children: content }));
149
+ };
150
+ ContextMenuPortal.displayName = PORTAL_NAME;
151
+ /* -------------------------------------------------------------------------------------------------
152
+ * ContextMenuContent
153
+ * -----------------------------------------------------------------------------------------------*/
154
+ const CONTENT_NAME = 'ContextMenuContent';
155
+ const ContextMenuContent = React.forwardRef((props, forwardedRef) => {
156
+ const { scope, ...contentProps } = props;
157
+ const context = useContextMenuContext(scope);
158
+ const hasInteractedOutsideRef = React.useRef(false);
159
+ return (_jsx(Menu.Content, { id: context.contentId, "aria-labelledby": context.triggerId, scope: scope || CONTEXTMENU_CONTEXT, ...contentProps, ref: forwardedRef, onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
160
+ if (!hasInteractedOutsideRef.current)
161
+ context.triggerRef.current?.focus();
162
+ hasInteractedOutsideRef.current = false;
163
+ event.preventDefault();
164
+ }), onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {
165
+ const originalEvent = event.detail.originalEvent;
166
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
167
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
168
+ if (!context.modal || isRightClick)
169
+ hasInteractedOutsideRef.current = true;
170
+ }) }));
171
+ });
172
+ ContextMenuContent.displayName = CONTENT_NAME;
173
+ /* -------------------------------------------------------------------------------------------------
174
+ * ContextMenuItem
175
+ * -----------------------------------------------------------------------------------------------*/
176
+ const ITEM_NAME = 'ContextMenuItem';
177
+ const ContextMenuItem = React.forwardRef((props, forwardedRef) => {
178
+ const { scope, ...itemProps } = props;
179
+ return (_jsx(Menu.Item, { componentName: ITEM_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...itemProps, ref: forwardedRef }));
180
+ });
181
+ ContextMenuItem.displayName = ITEM_NAME;
182
+ /* -------------------------------------------------------------------------------------------------
183
+ * ContextMenuCheckboxItem
184
+ * -----------------------------------------------------------------------------------------------*/
185
+ const CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';
186
+ const ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {
187
+ const { scope, ...checkboxItemProps } = props;
188
+ return (_jsx(Menu.CheckboxItem, { componentName: CHECKBOX_ITEM_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...checkboxItemProps, ref: forwardedRef }));
189
+ });
190
+ ContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
191
+ /* -------------------------------------------------------------------------------------------------
192
+ * ContextMenuRadioGroup
193
+ * -----------------------------------------------------------------------------------------------*/
194
+ const RADIO_GROUP_NAME = 'ContextMenuRadioGroup';
195
+ const ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {
196
+ const { scope, ...radioGroupProps } = props;
197
+ return (_jsx(Menu.RadioGroup, { scope: scope || CONTEXTMENU_CONTEXT, ...radioGroupProps, ref: forwardedRef }));
198
+ });
199
+ ContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;
200
+ /* -------------------------------------------------------------------------------------------------
201
+ * ContextMenuRadioItem
202
+ * -----------------------------------------------------------------------------------------------*/
203
+ const RADIO_ITEM_NAME = 'ContextMenuRadioItem';
204
+ const ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {
205
+ const { scope, ...radioItemProps } = props;
206
+ return (_jsx(Menu.RadioItem, { componentName: RADIO_ITEM_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...radioItemProps, ref: forwardedRef }));
207
+ });
208
+ ContextMenuRadioItem.displayName = RADIO_ITEM_NAME;
209
+ /* -------------------------------------------------------------------------------------------------
210
+ * ContextMenuItemIndicator
211
+ * -----------------------------------------------------------------------------------------------*/
212
+ const INDICATOR_NAME = 'ContextMenuItemIndicator';
213
+ const ContextMenuItemIndicator = Menu.ItemIndicator.styleable((props, forwardedRef) => {
214
+ const { scope, ...itemIndicatorProps } = props;
215
+ return (_jsx(Menu.ItemIndicator, { componentName: INDICATOR_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...itemIndicatorProps, ref: forwardedRef }));
216
+ });
217
+ ContextMenuItemIndicator.displayName = INDICATOR_NAME;
218
+ /* -------------------------------------------------------------------------------------------------
219
+ * ContextMenuSub
220
+ * -----------------------------------------------------------------------------------------------*/
221
+ const SUB_NAME = 'ContextMenuSub';
222
+ const ContextMenuSub = (props) => {
223
+ const { scope, children, onOpenChange, open: openProp, defaultOpen, ...rest } = props;
224
+ const [open, setOpen] = useControllableState({
225
+ prop: openProp,
226
+ defaultProp: defaultOpen,
227
+ onChange: onOpenChange,
228
+ });
229
+ return (_jsx(Menu.Sub, { scope: scope || CONTEXTMENU_CONTEXT, open: open, onOpenChange: setOpen, ...rest, children: children }));
230
+ };
231
+ ContextMenuSub.displayName = SUB_NAME;
232
+ /* -------------------------------------------------------------------------------------------------
233
+ * ContextMenuSubTrigger
234
+ * -----------------------------------------------------------------------------------------------*/
235
+ const SUB_TRIGGER_NAME = 'ContextMenuSubTrigger';
236
+ const ContextMenuSubTrigger = View.styleable((props, forwardedRef) => {
237
+ const { scope, ...subTriggerProps } = props;
238
+ return (_jsx(Menu.SubTrigger, { componentName: SUB_TRIGGER_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...subTriggerProps, ref: forwardedRef }));
239
+ });
240
+ ContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
241
+ /* -------------------------------------------------------------------------------------------------
242
+ * ContextMenuSubContent
243
+ * -----------------------------------------------------------------------------------------------*/
244
+ const SUB_CONTENT_NAME = 'ContextMenuSubContent';
245
+ const ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {
246
+ const { scope, ...subContentProps } = props;
247
+ return (_jsx(Menu.SubContent, { scope: scope || CONTEXTMENU_CONTEXT, ...subContentProps, ref: forwardedRef, style: isWeb
248
+ ? {
249
+ ...props.style,
250
+ ...{
251
+ '--hanzogui-context-menu-content-transform-origin': 'var(--hanzogui-popper-transform-origin)',
252
+ '--hanzogui-context-menu-content-available-width': 'var(--hanzogui-popper-available-width)',
253
+ '--hanzogui-context-menu-content-available-height': 'var(--hanzogui-popper-available-height)',
254
+ '--hanzogui-context-menu-trigger-width': 'var(--hanzogui-popper-anchor-width)',
255
+ '--hanzogui-context-menu-trigger-height': 'var(--hanzogui-popper-anchor-height)',
256
+ },
257
+ }
258
+ : null }));
259
+ });
260
+ ContextMenuSubContent.displayName = SUB_CONTENT_NAME;
261
+ /* -------------------------------------------------------------------------------------------------
262
+ * ContextMenuArrow
263
+ * -----------------------------------------------------------------------------------------------*/
264
+ const ARROW_NAME = 'ContextMenuArrow';
265
+ const ContextMenuArrow = React.forwardRef((props, forwardedRef) => {
266
+ const { scope, ...arrowProps } = props;
267
+ return (_jsx(Menu.Arrow, { componentName: ARROW_NAME, scope: scope || CONTEXTMENU_CONTEXT, ...arrowProps, ref: forwardedRef }));
268
+ });
269
+ ContextMenuArrow.displayName = ARROW_NAME;
270
+ /* -------------------------------------------------------------------------------------------------
271
+ * Pass-through components (same as Menu)
272
+ * -----------------------------------------------------------------------------------------------*/
273
+ const ContextMenuGroup = Menu.Group;
274
+ const ContextMenuLabel = Menu.Label;
275
+ const ContextMenuSeparator = Menu.Separator;
276
+ const ContextMenuItemTitle = Menu.ItemTitle;
277
+ const ContextMenuItemSubTitle = Menu.ItemSubtitle;
278
+ const ContextMenuItemImage = Menu.ItemImage;
279
+ const ContextMenuItemIcon = Menu.ItemIcon;
280
+ const ContextMenuPreview = () => null; // No-op on web
281
+ /* -----------------------------------------------------------------------------------------------*/
282
+ return withStaticProperties(ContextMenuComp, {
283
+ Root: ContextMenuComp,
284
+ Trigger: ContextMenuTrigger,
285
+ Portal: ContextMenuPortal,
286
+ Content: ContextMenuContent,
287
+ Group: ContextMenuGroup,
288
+ Label: ContextMenuLabel,
289
+ Item: ContextMenuItem,
290
+ CheckboxItem: ContextMenuCheckboxItem,
291
+ RadioGroup: ContextMenuRadioGroup,
292
+ RadioItem: ContextMenuRadioItem,
293
+ ItemIndicator: ContextMenuItemIndicator,
294
+ Separator: ContextMenuSeparator,
295
+ Arrow: ContextMenuArrow,
296
+ Sub: ContextMenuSub,
297
+ SubTrigger: ContextMenuSubTrigger,
298
+ SubContent: ContextMenuSubContent,
299
+ ItemTitle: ContextMenuItemTitle,
300
+ ItemSubtitle: ContextMenuItemSubTitle,
301
+ ItemIcon: ContextMenuItemIcon,
302
+ ItemImage: ContextMenuItemImage,
303
+ Preview: ContextMenuPreview,
304
+ });
305
+ }
306
+ //# sourceMappingURL=createNonNativeContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNonNativeContextMenu.js","sourceRoot":"","sources":["../../src/createNonNativeContextMenu.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAA4B,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,KAAK,EACL,IAAI,EAEJ,IAAI,EAEJ,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAKpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAsEvD,oGAAoG;AAEpG,MAAM,UAAU,0BAA0B,CAAC,MAA2B;IACpE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAEvC;;wGAEoG;IAEpG,MAAM,iBAAiB,GAAG,aAAa,CAAA;IAEvC,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,GAC9E,mBAAmB,EAA2B,CAAA;IAEhD,MAAM,eAAe,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC/D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAa,IAAI,CAAC,CAAA;QAEjD,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,IAAa,EAAE,KAAkC,EAAE,EAAE;YACpD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC3B,IAAI,KAAK,EAAE,gBAAgB;gBAAE,OAAM;YACnC,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;QAED,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,KAAK,EAAE,EAClB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,KAAK,YAEZ,KAAC,IAAI,IACH,KAAK,EAAE,KAAK,IAAI,mBAAmB,EACnC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,KAAK,KACR,IAAI,YAEP,QAAQ,GACJ,GACa,CACvB,CAAA;IACH,CAAC,CAAA;IAED,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;IAE/C;;wGAEoG;IAEpG,MAAM,YAAY,GAAG,oBAAoB,CAAA;IAEzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CACvC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAA;QACpF,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,CAAC;YACL,OAAO,EAAE;gBACP,qBAAqB,EAAE,GAAG,EAAE;oBAC1B,IAAI,KAAK,EAAE,CAAC;wBACV,mFAAmF;wBACnF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAA;wBACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAA;wBACpE,OAAO,OAAO,CAAC,QAAQ,CAAC;4BACtB,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,CAAC;4BACT,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO;4BAC/B,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO;yBAChC,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;gBACtE,CAAC;gBACD,GAAG,CAAC,CAAC,KAAK,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpE,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE,CAC1B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClD,CAAC;aACH;SACF,CAAC,EACF,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CACzC,CAAA;QACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACtC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,EACpD,EAAE,CACH,CAAA;QACD,MAAM,qBAAqB,GAAG,GAA+B,EAAE;YAC7D,IAAI,gBAAgB,GAAG,KAAK,CAAA;YAC5B,OAAO;gBACL,IAAI,gBAAgB;oBAClB,OAAO,gBAAgB,CAAA;gBACzB,CAAC;gBACD,cAAc;oBACZ,gBAAgB,GAAG,IAAI,CAAA;gBACzB,CAAC;aACF,CAAA;QACH,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,KAA4C,EAAE,EAAE;YAClE,IAAI,KAAK,IAAI,CAAC,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;gBAC5E,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,GAAG;oBACjB,CAAC,EAAG,KAAa,CAAC,WAAW,CAAC,KAAK;oBACnC,CAAC,EAAG,KAAa,CAAC,WAAW,CAAC,KAAK;iBACpC,CAAA;YACH,CAAC;YACD,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAA;YAC/C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAC3C,OAAO,eAAe,CAAA;QACxB,CAAC,CAAA;QAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;QACvD,KAAK,CAAC,SAAS,CACb,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC,EACzC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3B,CAAA;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAElC,OAAO,CACL,8BACE,KAAC,IAAI,CAAC,MAAM,IAAC,KAAK,EAAE,KAAK,IAAI,mBAAmB,EAAE,UAAU,EAAE,UAAU,GAAI,EAC5E,KAAC,IAAI,IACH,MAAM,EAAC,MAAM,EACb,aAAa,EAAE,YAAY,EAC3B,EAAE,EAAE,OAAO,CAAC,SAAS,gBACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,mBAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KACpC,YAAY,EAChB,GAAG,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,EAClD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAI,KAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KACtE,CAAC,KAAK,IAAI;wBACZ,aAAa,EAAE,QAAQ;4BACrB,CAAC,CAAC,KAAK,CAAC,aAAa;4BACrB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE;gCACvD,cAAc,EAAE,CAAA;gCAChB,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gCACzC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;oCACtC,KAAK,CAAC,cAAc,EAAE,CAAA;gCACxB,CAAC;4BACH,CAAC,CAAC;wBACN,aAAa,EAAE,QAAQ;4BACrB,CAAC,CAAC,KAAK,CAAC,aAAa;4BACrB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE;gCACvD,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;oCAAE,OAAM;gCACzC,cAAc,EAAE,CAAA;gCAChB,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAC3C,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACvB,GAAG,CACJ,CAAA;4BACH,CAAC,CAAC;wBACN,aAAa,EAAE,QAAQ;4BACrB,CAAC,CAAC,KAAK,CAAC,aAAa;4BACrB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE;gCACvD,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;oCAAE,OAAM;gCACzC,cAAc,EAAE,CAAA;4BAClB,CAAC,CAAC;wBACN,eAAe,EAAE,QAAQ;4BACvB,CAAC,CAAC,KAAK,CAAC,eAAe;4BACvB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,KAAU,EAAE,EAAE;gCACzD,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;oCAAE,OAAM;gCACzC,cAAc,EAAE,CAAA;4BAClB,CAAC,CAAC;wBACN,WAAW,EAAE,QAAQ;4BACnB,CAAC,CAAC,KAAK,CAAC,WAAW;4BACnB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAU,EAAE,EAAE;gCACrD,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;oCAAE,OAAM;gCACzC,cAAc,EAAE,CAAA;4BAClB,CAAC,CAAC;qBACP,CAAC,KACE,CAAC,CAAC,KAAK,IAAI;wBACb,WAAW,EAAE,QAAQ;4BACnB,CAAC,CAAC,KAAK,CAAC,WAAW;4BACnB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAU,EAAE,EAAE;gCACrD,cAAc,EAAE,CAAA;gCAChB,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gCACzC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;oCACtC,KAAK,CAAC,cAAc,EAAE,CAAA;gCACxB,CAAC;4BACH,CAAC,CAAC;qBACP,CAAC,YAED,QAAQ,GACJ,IACN,CACJ,CAAA;IACH,CAAC,CACF,CAAA;IAED,kBAAkB,CAAC,WAAW,GAAG,YAAY,CAAA;IAE7C;;wGAEoG;IAEpG,MAAM,WAAW,GAAG,mBAAmB,CAAA;IAEvC,MAAM,iBAAiB,GAAG,CAAC,KAA0C,EAAE,EAAE;QACvE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;QACjD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAC1B,KAAC,mBAAmB,OAAM,OAAe,YAAG,QAAQ,GAAuB,CAC5E,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CAAA;QACD,OAAO,CACL,KAAC,IAAI,CAAC,MAAM,IAAC,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAAM,WAAW,YAC9D,OAAO,GACI,CACf,CAAA;IACH,CAAC,CAAA;IAED,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAA;IAE3C;;wGAEoG;IAEpG,MAAM,YAAY,GAAG,oBAAoB,CAAA;IAEzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGzC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAA;QACxC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEnD,OAAO,CACL,KAAC,IAAI,CAAC,OAAO,IACX,EAAE,EAAE,OAAO,CAAC,SAAS,qBACJ,OAAO,CAAC,SAAS,EAClC,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,YAAY,EAChB,GAAG,EAAE,YAAY,EACjB,gBAAgB,EAAE,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvE,IAAI,CAAC,uBAAuB,CAAC,OAAO;oBAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;gBACzE,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAA;gBACvC,KAAK,CAAC,cAAc,EAAE,CAAA;YACxB,CAAC,CAAC,EACF,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAA6B,CAAA;gBAChE,MAAM,aAAa,GACjB,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,KAAK,IAAI,CAAA;gBAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAA;gBAChE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,YAAY;oBAAE,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAA;YAC5E,CAAC,CAAC,GACF,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,kBAAkB,CAAC,WAAW,GAAG,YAAY,CAAA;IAE7C;;wGAEoG;IAEpG,MAAM,SAAS,GAAG,iBAAiB,CAAA;IAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;QACrC,OAAO,CACL,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,SAAS,EACxB,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,SAAS,EACb,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,eAAe,CAAC,WAAW,GAAG,SAAS,CAAA;IAEvC;;wGAEoG;IAEpG,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;IAEpD,MAAM,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAG9C,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,GAAG,KAAK,CAAA;QAC7C,OAAO,CACL,KAAC,IAAI,CAAC,YAAY,IAChB,aAAa,EAAE,kBAAkB,EACjC,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,iBAAiB,EACrB,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,uBAAuB,CAAC,WAAW,GAAG,kBAAkB,CAAA;IAExD;;wGAEoG;IAEpG,MAAM,gBAAgB,GAAG,uBAAuB,CAAA;IAEhD,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAA;QAC3C,OAAO,CACL,KAAC,IAAI,CAAC,UAAU,IACd,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,eAAe,EACnB,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,qBAAqB,CAAC,WAAW,GAAG,gBAAgB,CAAA;IAEpD;;wGAEoG;IAEpG,MAAM,eAAe,GAAG,sBAAsB,CAAA;IAE9C,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAG3C,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;QAC1C,OAAO,CACL,KAAC,IAAI,CAAC,SAAS,IACb,aAAa,EAAE,eAAe,EAC9B,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,cAAc,EAClB,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,oBAAoB,CAAC,WAAW,GAAG,eAAe,CAAA;IAElD;;wGAEoG;IAEpG,MAAM,cAAc,GAAG,0BAA0B,CAAA;IAEjD,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAE3D,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,GAAG,KAAK,CAAA;QAC9C,OAAO,CACL,KAAC,IAAI,CAAC,aAAa,IACjB,aAAa,EAAE,cAAc,EAC7B,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,kBAAkB,EACtB,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,wBAAwB,CAAC,WAAW,GAAG,cAAc,CAAA;IAErD;;wGAEoG;IAEpG,MAAM,QAAQ,GAAG,gBAAgB,CAAA;IAEjC,MAAM,cAAc,GAAG,CAAC,KAAuC,EAAE,EAAE;QACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QACrF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;YAC3C,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,WAAY;YACzB,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAA;QAEF,OAAO,CACL,KAAC,IAAI,CAAC,GAAG,IACP,KAAK,EAAE,KAAK,IAAI,mBAAmB,EACnC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,KACjB,IAAI,YAEP,QAAQ,GACA,CACZ,CAAA;IACH,CAAC,CAAA;IAED,cAAc,CAAC,WAAW,GAAG,QAAQ,CAAA;IAErC;;wGAEoG;IAEpG,MAAM,gBAAgB,GAAG,uBAAuB,CAAA;IAEhD,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAC1C,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAA;QAC3C,OAAO,CACL,KAAC,IAAI,CAAC,UAAU,IACd,aAAa,EAAE,gBAAgB,EAC/B,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,eAAe,EACnB,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,qBAAqB,CAAC,WAAW,GAAG,gBAAgB,CAAA;IAEpD;;wGAEoG;IAEpG,MAAM,gBAAgB,GAAG,uBAAuB,CAAA;IAEhD,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAA;QAC3C,OAAO,CACL,KAAC,IAAI,CAAC,UAAU,IACd,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,eAAe,EACnB,GAAG,EAAE,YAAY,EACjB,KAAK,EACH,KAAK;gBACH,CAAC,CAAC;oBACE,GAAI,KAAK,CAAC,KAAgB;oBAC1B,GAAI;wBACF,kDAAkD,EAChD,yCAAyC;wBAC3C,iDAAiD,EAC/C,wCAAwC;wBAC1C,kDAAkD,EAChD,yCAAyC;wBAC3C,uCAAuC,EACrC,qCAAqC;wBACvC,wCAAwC,EACtC,sCAAsC;qBACjB;iBAC1B;gBACH,CAAC,CAAC,IAAI,GAEV,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,qBAAqB,CAAC,WAAW,GAAG,gBAAgB,CAAA;IAEpD;;wGAEoG;IAEpG,MAAM,UAAU,GAAG,kBAAkB,CAAA;IAErC,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;QACtC,OAAO,CACL,KAAC,IAAI,CAAC,KAAK,IACT,aAAa,EAAE,UAAU,EACzB,KAAK,EAAE,KAAK,IAAI,mBAAmB,KAC/B,UAAU,EACd,GAAG,EAAE,YAAY,GACjB,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,gBAAgB,CAAC,WAAW,GAAG,UAAU,CAAA;IAEzC;;wGAEoG;IAEpG,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAA;IAC3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAA;IAC3C,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAA;IACjD,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAA;IAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAA;IACzC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA,CAAC,eAAe;IAErD,oGAAoG;IAEpG,OAAO,oBAAoB,CAAC,eAAe,EAAE;QAC3C,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,oBAAoB;QAC/B,aAAa,EAAE,wBAAwB;QACvC,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,gBAAgB;QACvB,GAAG,EAAE,cAAc;QACnB,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,kBAAkB;KAC5B,CAAC,CAAA;AACJ,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,15 +1,15 @@
1
- import { MenuPredefined } from "@hanzogui/create-menu";
2
- import { createContextMenu } from "./ContextMenu.mjs";
3
- const ContextMenu = createContextMenu({
4
- Icon: MenuPredefined.MenuIcon,
5
- Image: MenuPredefined.MenuImage,
6
- Indicator: MenuPredefined.MenuIndicator,
7
- Item: MenuPredefined.MenuItem,
8
- Label: MenuPredefined.MenuLabel,
9
- MenuGroup: MenuPredefined.MenuGroup,
10
- Separator: MenuPredefined.MenuSeparator,
11
- SubTitle: MenuPredefined.SubTitle,
12
- Title: MenuPredefined.Title
1
+ import '@hanzogui/polyfill-dev';
2
+ import { MenuPredefined } from '@hanzogui/create-menu';
3
+ import { createContextMenu } from './ContextMenu.js';
4
+ export const ContextMenu = createContextMenu({
5
+ Icon: MenuPredefined.MenuIcon,
6
+ Image: MenuPredefined.MenuImage,
7
+ Indicator: MenuPredefined.MenuIndicator,
8
+ Item: MenuPredefined.MenuItem,
9
+ Label: MenuPredefined.MenuLabel,
10
+ MenuGroup: MenuPredefined.MenuGroup,
11
+ Separator: MenuPredefined.MenuSeparator,
12
+ SubTitle: MenuPredefined.SubTitle,
13
+ Title: MenuPredefined.Title,
13
14
  });
14
- export { ContextMenu };
15
- //# sourceMappingURL=index.js.map
15
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MenuPredefined","createContextMenu","ContextMenu","Icon","MenuIcon","Image","MenuImage","Indicator","MenuIndicator","Item","MenuItem","Label","MenuLabel","MenuGroup","Separator","MenuSeparator","SubTitle","Title"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,cAAA,QAAsB;AAE/B,SAASC,iBAAA,QAAyB;AAE3B,MAAMC,WAAA,GAAcD,iBAAA,CAAkB;EAC3CE,IAAA,EAAMH,cAAA,CAAeI,QAAA;EACrBC,KAAA,EAAOL,cAAA,CAAeM,SAAA;EACtBC,SAAA,EAAWP,cAAA,CAAeQ,aAAA;EAC1BC,IAAA,EAAMT,cAAA,CAAeU,QAAA;EACrBC,KAAA,EAAOX,cAAA,CAAeY,SAAA;EACtBC,SAAA,EAAWb,cAAA,CAAea,SAAA;EAC1BC,SAAA,EAAWd,cAAA,CAAee,aAAA;EAC1BC,QAAA,EAAUhB,cAAA,CAAegB,QAAA;EACzBC,KAAA,EAAOjB,cAAA,CAAeiB;AACxB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAmB,CAAA;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC;IAC3C,IAAI,EAAE,cAAc,CAAC,QAAQ;IAC7B,KAAK,EAAE,cAAc,CAAC,SAAS;IAC/B,SAAS,EAAE,cAAc,CAAC,aAAa;IACvC,IAAI,EAAE,cAAc,CAAC,QAAQ;IAC7B,KAAK,EAAE,cAAc,CAAC,SAAS;IAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;IACnC,SAAS,EAAE,cAAc,CAAC,aAAa;IACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;IACjC,KAAK,EAAE,cAAc,CAAC,KAAK;CAC5B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,53 +1,59 @@
1
1
  {
2
2
  "name": "@hanzogui/context-menu",
3
- "version": "8.3.1",
3
+ "version": "8.3.2",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "source": "src/index.ts",
6
- "type": "module",
7
6
  "files": [
8
7
  "src",
9
8
  "types",
10
9
  "dist"
11
10
  ],
11
+ "type": "module",
12
12
  "sideEffects": false,
13
- "main": "dist/cjs",
14
- "module": "dist/esm",
13
+ "main": "./dist/cjs/index.js",
14
+ "module": "./dist/esm/index.js",
15
15
  "types": "./types/index.d.ts",
16
16
  "exports": {
17
17
  "./package.json": "./package.json",
18
18
  ".": {
19
19
  "types": "./types/index.d.ts",
20
- "react-native": "./dist/esm/index.native.js",
21
- "browser": "./dist/esm/index.mjs",
22
- "import": "./dist/esm/index.mjs",
23
- "require": "./dist/cjs/index.cjs",
24
- "default": "./dist/esm/index.mjs"
20
+ "react-native": "./dist/esm/index.js",
21
+ "browser": "./dist/esm/index.js",
22
+ "module": "./dist/esm/index.js",
23
+ "import": "./dist/esm/index.js",
24
+ "require": "./dist/cjs/index.js",
25
+ "default": "./dist/esm/index.js"
25
26
  }
26
27
  },
27
28
  "publishConfig": {
28
29
  "access": "public"
29
30
  },
30
31
  "scripts": {
31
- "build": "hanzogui-build",
32
+ "build": "hanzogui-build --skip-native",
32
33
  "watch": "hanzogui-build --watch",
33
34
  "clean": "hanzogui-build clean",
34
35
  "clean:build": "hanzogui-build clean:build"
35
36
  },
36
37
  "dependencies": {
37
- "@hanzogui/core": "8.3.1",
38
- "@hanzogui/create-menu": "8.3.1",
39
- "@hanzogui/polyfill-dev": "8.3.1",
40
- "@hanzogui/popover": "8.3.1",
41
- "@hanzogui/use-callback-ref": "8.3.1",
42
- "@hanzogui/use-controllable-state": "8.3.1",
43
- "@hanzogui/web": "8.3.1"
38
+ "@hanzogui/core": "8.3.2",
39
+ "@hanzogui/create-menu": "8.3.2",
40
+ "@hanzogui/polyfill-dev": "8.3.2",
41
+ "@hanzogui/popover": "8.3.2",
42
+ "@hanzogui/use-callback-ref": "8.3.2",
43
+ "@hanzogui/use-controllable-state": "8.3.2",
44
+ "@hanzogui/web": "8.3.2"
44
45
  },
45
46
  "devDependencies": {
46
- "@hanzogui/build": "8.3.1",
47
- "react": ">=19"
47
+ "@hanzogui/build": "8.3.2",
48
+ "react": "19.2.8"
48
49
  },
49
50
  "peerDependencies": {
50
- "react": ">=19"
51
+ "react": ">=19.2.8"
51
52
  },
52
- "module:jsx": "dist/jsx"
53
+ "module:jsx": "dist/jsx",
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/hanzoai/gui.git",
57
+ "directory": "pkgs/ui/context-menu"
58
+ }
53
59
  }
@@ -12,7 +12,7 @@ import {
12
12
  type ContextMenuItemIconProps,
13
13
  type ContextMenuSubTriggerProps,
14
14
  createNonNativeContextMenu,
15
- } from './createNonNativeContextMenu'
15
+ } from './createNonNativeContextMenu.tsx'
16
16
 
17
17
  const COMMON_PARAMS = {
18
18
  isRoot: false,
@@ -184,4 +184,4 @@ export type {
184
184
  ContextMenuSubProps,
185
185
  ContextMenuSubTriggerProps,
186
186
  ContextMenuTriggerProps,
187
- } from './createNonNativeContextMenu'
187
+ } from './createNonNativeContextMenu.tsx'
package/src/index.tsx CHANGED
@@ -2,7 +2,7 @@ import '@hanzogui/polyfill-dev'
2
2
 
3
3
  import { MenuPredefined } from '@hanzogui/create-menu'
4
4
 
5
- import { createContextMenu } from './ContextMenu'
5
+ import { createContextMenu } from './ContextMenu.tsx'
6
6
 
7
7
  export const ContextMenu = createContextMenu({
8
8
  Icon: MenuPredefined.MenuIcon,