@1771technologies/lytenyte-pro 0.0.42 → 0.0.43

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 (33) hide show
  1. package/dist/CompositeList-CGRaS6LQ.js +149 -0
  2. package/dist/DirectionContext-DIPP5cAe.js +15 -0
  3. package/dist/InternalBackdrop-C4RACVzs.js +324 -0
  4. package/dist/{anchor-context-B9sGQdR5.js → PopoverPortalContext-BdsDjihw.js} +4 -13
  5. package/dist/anchor-context-Cqr_oiJt.js +11 -0
  6. package/dist/column-manager.js +5 -3
  7. package/dist/{MenuRoot-9n64jNWP.js → column-menu-driver-cG-EZgLa.js} +49 -282
  8. package/dist/dialog.js +3 -3
  9. package/dist/{use-grid-DKvzGZWc.js → drag-store-CO3z13Ju.js} +34 -44
  10. package/dist/filter-manager.js +3 -2
  11. package/dist/index.js +97 -120
  12. package/dist/lytenyte-pro.css +9 -0
  13. package/dist/menu-CkfZmNR3.js +1879 -0
  14. package/dist/menu.js +2 -1637
  15. package/dist/{pill-C4Jhdf8E.js → pill-gga9iHqS.js} +44 -49
  16. package/dist/pill-manager.js +73 -10
  17. package/dist/popover.js +30 -5
  18. package/dist/{InternalBackdrop-Dm9czgoC.js → proptypes-BjYr2nFr.js} +25 -299
  19. package/dist/{select-C6xOZZLq.js → select-qluHi8ET.js} +7 -7
  20. package/dist/sort-manager.js +2 -2
  21. package/dist/types/menu/menu-impl.d.ts +1 -1
  22. package/dist/types/menu/menu.d.ts +1 -1
  23. package/dist/types/menu-frame/menu-frame-driver.d.ts +1 -0
  24. package/dist/types/pill-manager/pill-manager-impl.d.ts +1 -0
  25. package/dist/types/pill-manager/pill-manager-pill.d.ts +1 -0
  26. package/dist/{useAnchorPositioning-Cm44rb7y.js → useAnchorPositioning-52zK7jlD.js} +2 -13
  27. package/dist/{useButton-Cy7tjZ__.js → useButton-DWXzFgcr.js} +2 -1
  28. package/dist/{useScrollLock-D6h5lZYs.js → useScrollLock-D4UY33Sb.js} +15 -105
  29. package/package.json +15 -15
  30. package/dist/arrow-svg-evmXDI_J.js +0 -29
  31. package/dist/useBaseUiId-J66PFGv_.js +0 -48
  32. package/dist/useCompositeListItem-I14CpQPi.js +0 -51
  33. /package/dist/types/{popover → anchor-context}/anchor-context.d.ts +0 -0
@@ -0,0 +1,149 @@
1
+ import * as React from "react";
2
+ import { d as useEnhancedEffect, P as PropTypes } from "./proptypes-BjYr2nFr.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const CompositeListContext = /* @__PURE__ */ React.createContext({
5
+ register: () => {
6
+ },
7
+ unregister: () => {
8
+ },
9
+ map: /* @__PURE__ */ new Map(),
10
+ elementsRef: {
11
+ current: []
12
+ }
13
+ });
14
+ if (process.env.NODE_ENV !== "production") {
15
+ CompositeListContext.displayName = "CompositeListContext";
16
+ }
17
+ function useCompositeListContext() {
18
+ return React.useContext(CompositeListContext);
19
+ }
20
+ function useCompositeListItem(params = {}) {
21
+ const {
22
+ label,
23
+ metadata
24
+ } = params;
25
+ const {
26
+ register,
27
+ unregister,
28
+ map,
29
+ elementsRef,
30
+ labelsRef
31
+ } = useCompositeListContext();
32
+ const [index, setIndex] = React.useState(null);
33
+ const componentRef = React.useRef(null);
34
+ const ref = React.useCallback((node) => {
35
+ componentRef.current = node;
36
+ if (index !== null) {
37
+ elementsRef.current[index] = node;
38
+ if (labelsRef) {
39
+ const isLabelDefined = label !== void 0;
40
+ labelsRef.current[index] = isLabelDefined ? label : node?.textContent ?? null;
41
+ }
42
+ }
43
+ }, [index, elementsRef, labelsRef, label]);
44
+ useEnhancedEffect(() => {
45
+ const node = componentRef.current;
46
+ if (node) {
47
+ register(node, metadata);
48
+ return () => {
49
+ unregister(node);
50
+ };
51
+ }
52
+ return void 0;
53
+ }, [register, unregister, metadata]);
54
+ useEnhancedEffect(() => {
55
+ const i = componentRef.current ? map.get(componentRef.current)?.index : null;
56
+ if (i != null) {
57
+ setIndex(i);
58
+ }
59
+ }, [map]);
60
+ return React.useMemo(() => ({
61
+ ref,
62
+ index: index == null ? -1 : index
63
+ }), [index, ref]);
64
+ }
65
+ function sortByDocumentPosition(a, b) {
66
+ const position = a.compareDocumentPosition(b);
67
+ if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {
68
+ return -1;
69
+ }
70
+ if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {
71
+ return 1;
72
+ }
73
+ return 0;
74
+ }
75
+ function CompositeList(props) {
76
+ const {
77
+ children,
78
+ elementsRef,
79
+ labelsRef,
80
+ onMapChange
81
+ } = props;
82
+ const [map, setMap] = React.useState(() => /* @__PURE__ */ new Map());
83
+ const register = React.useCallback((node, metadata) => {
84
+ setMap((prevMap) => new Map(prevMap).set(node, metadata ?? null));
85
+ }, []);
86
+ const unregister = React.useCallback((node) => {
87
+ setMap((prevMap) => {
88
+ const nextMap = new Map(prevMap);
89
+ nextMap.delete(node);
90
+ return nextMap;
91
+ });
92
+ }, []);
93
+ const sortedMap = React.useMemo(() => {
94
+ const newMap = /* @__PURE__ */ new Map();
95
+ const sortedNodes = Array.from(map.keys()).sort(sortByDocumentPosition);
96
+ sortedNodes.forEach((node, index) => {
97
+ const metadata = map.get(node) ?? {};
98
+ newMap.set(node, {
99
+ ...metadata,
100
+ index
101
+ });
102
+ });
103
+ return newMap;
104
+ }, [map]);
105
+ useEnhancedEffect(() => {
106
+ onMapChange?.(sortedMap);
107
+ }, [sortedMap, onMapChange]);
108
+ const contextValue = React.useMemo(() => ({
109
+ register,
110
+ unregister,
111
+ map: sortedMap,
112
+ elementsRef,
113
+ labelsRef
114
+ }), [register, unregister, sortedMap, elementsRef, labelsRef]);
115
+ return /* @__PURE__ */ jsx(CompositeListContext.Provider, {
116
+ value: contextValue,
117
+ children
118
+ });
119
+ }
120
+ process.env.NODE_ENV !== "production" ? CompositeList.propTypes = {
121
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
122
+ // │ These PropTypes are generated from the TypeScript type definitions. │
123
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
124
+ // └─────────────────────────────────────────────────────────────────────┘
125
+ /**
126
+ * @ignore
127
+ */
128
+ children: PropTypes.node,
129
+ /**
130
+ * A ref to the list of HTML elements, ordered by their index.
131
+ * `useListNavigation`'s `listRef` prop.
132
+ */
133
+ elementsRef: PropTypes.any,
134
+ /**
135
+ * A ref to the list of element labels, ordered by their index.
136
+ * `useTypeahead`'s `listRef` prop.
137
+ */
138
+ labelsRef: PropTypes.shape({
139
+ current: PropTypes.arrayOf(PropTypes.string).isRequired
140
+ }),
141
+ /**
142
+ * @ignore
143
+ */
144
+ onMapChange: PropTypes.func
145
+ } : void 0;
146
+ export {
147
+ CompositeList as C,
148
+ useCompositeListItem as u
149
+ };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ const DirectionContext = /* @__PURE__ */ React.createContext(void 0);
3
+ if (process.env.NODE_ENV !== "production") {
4
+ DirectionContext.displayName = "DirectionContext";
5
+ }
6
+ function useDirection(optional = true) {
7
+ const context = React.useContext(DirectionContext);
8
+ if (context === void 0 && !optional) {
9
+ throw new Error("Base UI: DirectionContext is missing.");
10
+ }
11
+ return context?.direction ?? "ltr";
12
+ }
13
+ export {
14
+ useDirection as u
15
+ };
@@ -0,0 +1,324 @@
1
+ import * as React from "react";
2
+ import { m as mergeProps, P as PropTypes } from "./proptypes-BjYr2nFr.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function getStyleHookProps(state, customMapping) {
5
+ let props = {};
6
+ Object.entries(state).forEach(([key, value]) => {
7
+ if (customMapping?.hasOwnProperty(key)) {
8
+ const customProps = customMapping[key](value);
9
+ if (customProps != null) {
10
+ props = {
11
+ ...props,
12
+ ...customProps
13
+ };
14
+ }
15
+ return;
16
+ }
17
+ if (value === true) {
18
+ props[`data-${key.toLowerCase()}`] = "";
19
+ } else if (value) {
20
+ props[`data-${key.toLowerCase()}`] = value.toString();
21
+ }
22
+ });
23
+ return props;
24
+ }
25
+ function resolveClassName(className, state) {
26
+ return typeof className === "function" ? className(state) : className;
27
+ }
28
+ function evaluateRenderProp(render, props, state) {
29
+ return typeof render === "function" ? render(props, state) : /* @__PURE__ */ React.cloneElement(render, {
30
+ ...mergeProps(props, render.props),
31
+ ref: props.ref
32
+ });
33
+ }
34
+ function useForkRef(...refs) {
35
+ const cleanupRef = React.useRef(void 0);
36
+ const refEffect = React.useCallback((instance) => {
37
+ const cleanups = refs.map((ref) => {
38
+ if (ref == null) {
39
+ return null;
40
+ }
41
+ if (typeof ref === "function") {
42
+ const refCallback = ref;
43
+ const refCleanup = refCallback(instance);
44
+ return typeof refCleanup === "function" ? refCleanup : () => {
45
+ refCallback(null);
46
+ };
47
+ }
48
+ ref.current = instance;
49
+ return () => {
50
+ ref.current = null;
51
+ };
52
+ });
53
+ return () => {
54
+ cleanups.forEach((refCleanup) => refCleanup?.());
55
+ };
56
+ }, refs);
57
+ return React.useMemo(() => {
58
+ if (refs.every((ref) => ref == null)) {
59
+ return null;
60
+ }
61
+ return (value) => {
62
+ if (cleanupRef.current) {
63
+ cleanupRef.current();
64
+ cleanupRef.current = void 0;
65
+ }
66
+ if (value != null) {
67
+ cleanupRef.current = refEffect(value);
68
+ }
69
+ };
70
+ }, refs);
71
+ }
72
+ const majorVersion = parseInt(React.version, 10);
73
+ function isReactVersionAtLeast(reactVersionToCheck) {
74
+ return majorVersion >= reactVersionToCheck;
75
+ }
76
+ function useRenderPropForkRef(render, ...refs) {
77
+ let childRef;
78
+ if (typeof render !== "function") {
79
+ childRef = isReactVersionAtLeast(19) ? render.props.ref : render.ref;
80
+ } else {
81
+ childRef = null;
82
+ }
83
+ return useForkRef(childRef, ...refs);
84
+ }
85
+ const defaultRenderFunctions = {
86
+ button: (props) => {
87
+ return /* @__PURE__ */ jsx("button", {
88
+ type: "button",
89
+ ...props
90
+ });
91
+ },
92
+ div: (props) => {
93
+ return /* @__PURE__ */ jsx("div", {
94
+ ...props
95
+ });
96
+ },
97
+ h2: (props) => {
98
+ return /* @__PURE__ */ jsx("h2", {
99
+ ...props
100
+ });
101
+ },
102
+ h3: (props) => {
103
+ return /* @__PURE__ */ jsx("h3", {
104
+ ...props
105
+ });
106
+ },
107
+ output: (props) => {
108
+ return /* @__PURE__ */ jsx("output", {
109
+ ...props
110
+ });
111
+ },
112
+ p: (props) => {
113
+ return /* @__PURE__ */ jsx("p", {
114
+ ...props
115
+ });
116
+ },
117
+ span: (props) => {
118
+ return /* @__PURE__ */ jsx("span", {
119
+ ...props
120
+ });
121
+ },
122
+ a: (props) => {
123
+ return /* @__PURE__ */ jsx("a", {
124
+ ...props
125
+ });
126
+ },
127
+ label: (props) => {
128
+ return /* @__PURE__ */ jsx("label", {
129
+ ...props
130
+ });
131
+ },
132
+ input: (props) => {
133
+ return /* @__PURE__ */ jsx("input", {
134
+ ...props
135
+ });
136
+ },
137
+ fieldset: (props) => {
138
+ return /* @__PURE__ */ jsx("fieldset", {
139
+ ...props
140
+ });
141
+ },
142
+ form: (props) => {
143
+ return /* @__PURE__ */ jsx("form", {
144
+ ...props
145
+ });
146
+ },
147
+ img: (props) => {
148
+ return /* @__PURE__ */ jsx("img", {
149
+ alt: "",
150
+ ...props
151
+ });
152
+ }
153
+ };
154
+ const emptyObject = {};
155
+ function useComponentRenderer(settings) {
156
+ const {
157
+ render: renderProp,
158
+ className: classNameProp,
159
+ state,
160
+ ref,
161
+ propGetter = (props) => props,
162
+ extraProps,
163
+ customStyleHookMapping,
164
+ styleHooks: generateStyleHooks = true
165
+ } = settings;
166
+ const className = resolveClassName(classNameProp, state);
167
+ const styleHooks = React.useMemo(() => {
168
+ if (!generateStyleHooks) {
169
+ return emptyObject;
170
+ }
171
+ return getStyleHookProps(state, customStyleHookMapping);
172
+ }, [state, customStyleHookMapping, generateStyleHooks]);
173
+ const ownProps = {
174
+ ...styleHooks,
175
+ ...extraProps
176
+ };
177
+ let resolvedRenderProp;
178
+ if (typeof renderProp === "string") {
179
+ resolvedRenderProp = defaultRenderFunctions[renderProp];
180
+ } else {
181
+ resolvedRenderProp = renderProp;
182
+ }
183
+ let refs = [];
184
+ if (ref !== void 0) {
185
+ refs = Array.isArray(ref) ? ref : [ref];
186
+ }
187
+ const renderedElementProps = propGetter(ownProps);
188
+ const propsWithRef = {
189
+ ...renderedElementProps,
190
+ ref: useRenderPropForkRef(resolvedRenderProp, renderedElementProps.ref, ...refs)
191
+ };
192
+ if (className !== void 0) {
193
+ propsWithRef.className = className;
194
+ }
195
+ const renderElement = () => evaluateRenderProp(resolvedRenderProp, propsWithRef, state);
196
+ return {
197
+ renderElement
198
+ };
199
+ }
200
+ const TRIGGER_HOOK = {
201
+ "data-popup-open": ""
202
+ };
203
+ const PRESSABLE_TRIGGER_HOOK = {
204
+ "data-popup-open": "",
205
+ "data-pressed": ""
206
+ };
207
+ const POPUP_OPEN_HOOK = {
208
+ "data-open": ""
209
+ };
210
+ const POPUP_CLOSED_HOOK = {
211
+ "data-closed": ""
212
+ };
213
+ const ANCHOR_HIDDEN_HOOK = {
214
+ "data-anchor-hidden": ""
215
+ };
216
+ const triggerOpenStateMapping = {
217
+ open(value) {
218
+ if (value) {
219
+ return TRIGGER_HOOK;
220
+ }
221
+ return null;
222
+ }
223
+ };
224
+ const pressableTriggerOpenStateMapping = {
225
+ open(value) {
226
+ if (value) {
227
+ return PRESSABLE_TRIGGER_HOOK;
228
+ }
229
+ return null;
230
+ }
231
+ };
232
+ const popupStateMapping = {
233
+ open(value) {
234
+ if (value) {
235
+ return POPUP_OPEN_HOOK;
236
+ }
237
+ return POPUP_CLOSED_HOOK;
238
+ },
239
+ anchorHidden(value) {
240
+ if (value) {
241
+ return ANCHOR_HIDDEN_HOOK;
242
+ }
243
+ return null;
244
+ }
245
+ };
246
+ const STARTING_HOOK = {
247
+ "data-starting-style": ""
248
+ };
249
+ const ENDING_HOOK = {
250
+ "data-ending-style": ""
251
+ };
252
+ const transitionStatusMapping = {
253
+ transitionStatus(value) {
254
+ if (value === "starting") {
255
+ return STARTING_HOOK;
256
+ }
257
+ if (value === "ending") {
258
+ return ENDING_HOOK;
259
+ }
260
+ return null;
261
+ }
262
+ };
263
+ let globalId = 0;
264
+ function useGlobalId(idOverride, prefix = "mui") {
265
+ const [defaultId, setDefaultId] = React.useState(idOverride);
266
+ const id = idOverride || defaultId;
267
+ React.useEffect(() => {
268
+ if (defaultId == null) {
269
+ globalId += 1;
270
+ setDefaultId(`${prefix}-${globalId}`);
271
+ }
272
+ }, [defaultId, prefix]);
273
+ return id;
274
+ }
275
+ const safeReact = {
276
+ ...React
277
+ };
278
+ const maybeReactUseId = safeReact.useId;
279
+ function useId(idOverride, prefix) {
280
+ if (maybeReactUseId !== void 0) {
281
+ const reactId = maybeReactUseId();
282
+ return idOverride ?? `${prefix}-${reactId}`;
283
+ }
284
+ return useGlobalId(idOverride, prefix);
285
+ }
286
+ function useBaseUiId(idOverride) {
287
+ return useId(idOverride, "base-ui");
288
+ }
289
+ const InternalBackdrop = /* @__PURE__ */ React.forwardRef(function InternalBackdrop2(props, ref) {
290
+ return /* @__PURE__ */ jsx("div", {
291
+ ref,
292
+ role: "presentation",
293
+ "data-floating-ui-inert": true,
294
+ ...props,
295
+ style: {
296
+ position: "fixed",
297
+ inset: 0
298
+ }
299
+ });
300
+ });
301
+ process.env.NODE_ENV !== "production" ? InternalBackdrop.propTypes = {
302
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
303
+ // │ These PropTypes are generated from the TypeScript type definitions. │
304
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
305
+ // └─────────────────────────────────────────────────────────────────────┘
306
+ /**
307
+ * @ignore
308
+ */
309
+ children: PropTypes.node,
310
+ /**
311
+ * @ignore
312
+ */
313
+ className: PropTypes.string
314
+ } : void 0;
315
+ export {
316
+ InternalBackdrop as I,
317
+ useComponentRenderer as a,
318
+ useBaseUiId as b,
319
+ pressableTriggerOpenStateMapping as c,
320
+ triggerOpenStateMapping as d,
321
+ popupStateMapping as p,
322
+ transitionStatusMapping as t,
323
+ useForkRef as u
324
+ };
@@ -1,16 +1,14 @@
1
1
  import * as React from "react";
2
- import { createContext, useContext } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
2
  const PopoverRootContext = /* @__PURE__ */ React.createContext(void 0);
5
3
  if (process.env.NODE_ENV !== "production") {
6
4
  PopoverRootContext.displayName = "PopoverRootContext";
7
5
  }
8
6
  function usePopoverRootContext() {
9
- const context2 = React.useContext(PopoverRootContext);
10
- if (context2 === void 0) {
7
+ const context = React.useContext(PopoverRootContext);
8
+ if (context === void 0) {
11
9
  throw new Error("Base UI: PopoverRootContext is missing. Popover parts must be placed within <Popover.Root>.");
12
10
  }
13
- return context2;
11
+ return context;
14
12
  }
15
13
  const PopoverPortalContext = /* @__PURE__ */ React.createContext(void 0);
16
14
  function usePopoverPortalContext() {
@@ -20,16 +18,9 @@ function usePopoverPortalContext() {
20
18
  }
21
19
  return value;
22
20
  }
23
- const context = createContext(null);
24
- function AnchorProvider(props) {
25
- return /* @__PURE__ */ jsx(context.Provider, { value: props.anchor, children: props.children });
26
- }
27
- const useAnchor = () => useContext(context);
28
21
  export {
29
- AnchorProvider as A,
30
22
  PopoverRootContext as P,
31
23
  usePopoverPortalContext as a,
32
- useAnchor as b,
33
- PopoverPortalContext as c,
24
+ PopoverPortalContext as b,
34
25
  usePopoverRootContext as u
35
26
  };
@@ -0,0 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from "react";
3
+ const context = createContext(null);
4
+ function AnchorProvider(props) {
5
+ return /* @__PURE__ */ jsx(context.Provider, { value: props.anchor, children: props.children });
6
+ }
7
+ const useAnchor = () => useContext(context);
8
+ export {
9
+ AnchorProvider as A,
10
+ useAnchor as u
11
+ };
@@ -1,13 +1,14 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { IsoResizeObserver, getPreciseElementDimensions, clsx } from "@1771technologies/js-utils";
3
- import { u as useGrid, a as useDragStore, b as useDrag, C as Checkbox, I as Input, G as GridProvider, D as DragProvider } from "./use-grid-DKvzGZWc.js";
3
+ import { u as useDragStore, a as useDrag, C as Checkbox, I as Input, D as DragProvider } from "./drag-store-CO3z13Ju.js";
4
4
  import "@1771technologies/react-sizer";
5
5
  import { useCombinedRefs, useEvent } from "@1771technologies/react-utils";
6
6
  import "@1771technologies/grid-provider";
7
7
  import { useRef, useState, useEffect, useCallback, useMemo, createContext, useContext, forwardRef, useId } from "react";
8
8
  import "@1771technologies/react-dragon";
9
9
  import "@1771technologies/grid-core";
10
- import { g as useEdgeScroll, h as useDraggable, c as canAgg, a as canMeasure, f as useDroppable, u as useAggregationSource, b as useMeasuresSource, d as useRowGroupsSource, e as useColumnPivotSource, P as Pill, M as MenuTrigger, i as PillManagerAggMenu, j as PillManagerMeasureMenu } from "./pill-C4Jhdf8E.js";
10
+ import { c as useGrid, G as GridProvider } from "./useScrollLock-D4UY33Sb.js";
11
+ import { g as useEdgeScroll, h as useDraggable, c as canAgg, a as canMeasure, f as useDroppable, u as useAggregationSource, b as useMeasuresSource, d as useRowGroupsSource, e as useColumnPivotSource, P as Pill, M as MenuTrigger, i as PillManagerAggMenu, j as PillManagerMeasureMenu } from "./pill-gga9iHqS.js";
11
12
  import { A as ArrowRightIcon } from "./tickmark-icon-CoogRMoO.js";
12
13
  import { A as ArrowDownIcon } from "./arrow-down-icon-B-3ldODD.js";
13
14
  import { D as DragIcon, M as MeasuresIcon, C as ColumnPivotIcon, R as RowGroupIcon } from "./row-group-icon-D8JA6sh9.js";
@@ -15,7 +16,8 @@ import { createPortal } from "react-dom";
15
16
  import { D as DragGroupIcon, S as SearchIcon } from "./search-icon-CcG1lqsn.js";
16
17
  import { M as MoreDotsIcon } from "./more-dots-icon-CzAH3xHG.js";
17
18
  import { C as CrossIcon } from "./cross-icon-CEMLAlFX.js";
18
- import { M as MenuRoot, a as MenuPortal, b as MenuPositioner } from "./MenuRoot-9n64jNWP.js";
19
+ import { M as MenuRoot, a as MenuPortal } from "./column-menu-driver-cG-EZgLa.js";
20
+ import { M as MenuPositioner } from "./menu-CkfZmNR3.js";
19
21
  function Sizer({
20
22
  children,
21
23
  onSizeChange,