@pyreon/elements 0.12.13 → 0.12.15
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/lib/index.d.ts +3 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +83 -53
- package/lib/index.js.map +1 -1
- package/package.json +12 -6
- package/src/List/component.tsx +5 -7
- package/src/Overlay/positioning.ts +191 -0
- package/src/Overlay/useOverlay.tsx +12 -175
- package/src/__tests__/elements.browser.test.tsx +59 -0
- package/src/__tests__/positioning.test.ts +90 -0
- package/src/helpers/Wrapper/component.tsx +58 -46
- package/src/utils.ts +8 -1
package/lib/index.d.ts
CHANGED
|
@@ -258,18 +258,12 @@ declare const Component$3: (props: OverlayContext & {
|
|
|
258
258
|
children: VNodeChild;
|
|
259
259
|
}) => _pyreon_core0.VNode;
|
|
260
260
|
//#endregion
|
|
261
|
-
//#region src/Overlay/
|
|
262
|
-
/**
|
|
263
|
-
* Core hook powering the Overlay component. Manages open/close state, DOM
|
|
264
|
-
* event listeners (click, hover, scroll, resize, ESC key), and dynamic
|
|
265
|
-
* positioning of overlay content relative to its trigger. Supports dropdown,
|
|
266
|
-
* tooltip, popover, and modal types with automatic edge-of-viewport flipping.
|
|
267
|
-
* Event handlers are throttled for performance, and nested overlay blocking
|
|
268
|
-
* is coordinated through the overlay context.
|
|
269
|
-
*/
|
|
261
|
+
//#region src/Overlay/positioning.d.ts
|
|
270
262
|
type Align$1 = 'bottom' | 'top' | 'left' | 'right';
|
|
271
263
|
type AlignX$2 = 'left' | 'center' | 'right';
|
|
272
264
|
type AlignY$2 = 'bottom' | 'top' | 'center';
|
|
265
|
+
//#endregion
|
|
266
|
+
//#region src/Overlay/useOverlay.d.ts
|
|
273
267
|
type UseOverlayProps = Partial<{
|
|
274
268
|
isOpen: boolean;
|
|
275
269
|
openOn: 'click' | 'hover' | 'manual';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../src/types.ts","../../src/Element/types.ts","../../src/Element/component.tsx","../../src/helpers/Iterator/types.ts","../../src/helpers/Iterator/component.tsx","../../src/List/component.tsx","../../src/Overlay/context.tsx","../../src/Overlay/useOverlay.tsx","../../src/Overlay/component.tsx","../../src/Portal/component.tsx","../../src/Text/component.tsx","../../src/Util/component.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../src/types.ts","../../src/Element/types.ts","../../src/Element/component.tsx","../../src/helpers/Iterator/types.ts","../../src/helpers/Iterator/component.tsx","../../src/List/component.tsx","../../src/Overlay/context.tsx","../../src/Overlay/positioning.ts","../../src/Overlay/useOverlay.tsx","../../src/Overlay/component.tsx","../../src/Portal/component.tsx","../../src/Text/component.tsx","../../src/Util/component.tsx"],"mappings":";;;;;;;KAWK,mBAAA,oBACS,CAAA,IAAK,CAAA,CAAE,CAAA,qCAAsC,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAG5D,EAAA,MAAQ,CAAA,iCAAkC,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAEhD,SAAA,SAAkB,EAAA,CAAG,IAAA,CAAK,CAAA,EAAG,OAAA,OAAc,CAAA,QAAS,CAAA,KAAM,CAAA;AAAA,KAE1D,MAAA,gCAAsC,CAAA,iCACvC,SAAA,CAAU,CAAA,EAAG,MAAA,CAAO,CAAA;AAAA,KAGZ,UAAA,gCAA0C,mBAAA,CAAoB,MAAA,CAAO,CAAA;AAAA,KAErE,QAAA,GAAW,WAAA,KAAgB,EAAA,EAAI,WAAA;AAAA,KAE/B,WAAA,IAAe,GAAA,SAAY,MAAA,CAAO,GAAA,KAAQ,UAAA,QAAkB,GAAA;AAAA,KAE5D,GAAA,GAAM,WAAA,GAAc,UAAA,QAAkB,MAAA,CAAO,GAAA;AAAA,KAE7C,OAAA,GAAU,UAAA,QAAkB,MAAA;AAAA,KAE5B,aAAA;AAAA,KAEA,aAAA;AAAA,KAEA,gBAAA;AAAA,KAEA,cAAA;AAAA,KACA,kBAAA;AAAA,KAIA,MAAA,GACR,aAAA,GACA,aAAA,KACA,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,aAAA;AAAA,KAEvB,MAAA,GACR,aAAA,GACA,aAAA,KACA,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,aAAA;AAAA,KAEvB,SAAA,GACR,gBAAA,GACA,gBAAA,KACA,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,gBAAA;AAAA,KAEvB,kBAAA,GACR,cAAA,GACA,cAAA,KACA,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,cAAA;AAAA,KAEvB,UAAA,GACR,kBAAA,GACA,kBAAA,KACA,OAAA,CAAQ,MAAA,CAAO,cAAA;AAAA,KAEP,SAAA,GAAY,GAAA,GAAM,GAAA,KAAQ,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,GAAA;AAAA,KAKzD,eAAA,WAA0B,MAAA,sBAA4B,WAAA,CAAY,CAAA,IAAK,YAAA;AAAA,UAElE,YAAA;EACf,WAAA;EACA,OAAA;EACA,iBAAA;AAAA;;;KCjEU,KAAA,GAAQ,OAAA;;;;EAIlB,GAAA,EAAK,QAAA;EDPiB;;;ECYtB,QAAA,EAAU,QAAA;EDXS;;;ECgBnB,QAAA,EAAU,OAAA;EDhBsD;;;;;;ECwBhE,OAAA,EAAS,OAAA;EDxBgD;;;;;AAAO;ECgChE,KAAA,EAAO,OAAA;ED7BF;;;ECkCL,aAAA,EAAe,OAAA;EDlCoC;;;ECuCnD,YAAA,EAAc,OAAA;EDvCH;;;;EC6CX,KAAA,EAAO,kBAAA;ED7C4C;;;AAAC;ECmDpD,SAAA,EAAW,kBAAA;EDjDC;;;;ECuDZ,gBAAA;EDvDwB;;;EC4DxB,GAAA,EAAK,UAAA;ED5DkB;;;ECiEvB,SAAA,EAAW,SAAA;EDjEa;;;ECsExB,gBAAA,EAAkB,SAAA;EDtEqC;;;EC2EvD,sBAAA,EAAwB,SAAA;EDzErB;;;EC8EH,qBAAA,EAAuB,SAAA;ED7EX;;;ECkFZ,MAAA,EAAQ,MAAA;EDlFG;;;ECuFX,aAAA,EAAe,MAAA;EDxF2C;;;EC6F1D,mBAAA,EAAqB,MAAA;ED5FN;;;ECiGf,kBAAA,EAAoB,MAAA;ED9FV;;;ECmGV,MAAA,EAAQ,MAAA;EDnGgE;;;ECwGxE,aAAA,EAAe,MAAA;EDxGM;;;EC6GrB,mBAAA,EAAqB,MAAA;ED7G2D;;AAElF;ECgHE,kBAAA,EAAoB,MAAA;;;;EAKpB,uBAAA;IAA2B,MAAA;EAAA;EDrHgC;AAE7D;;ECwHE,GAAA,EAAK,SAAA;EDxHgC;;;EC6HrC,UAAA,EAAY,SAAA;ED7HkD;;;ECkI9D,gBAAA,EAAkB,SAAA;EDlIkC;;;ECuIpD,eAAA,EAAiB,SAAA;AAAA,KAEjB,oBAAA;AAAA,KAEU,aAAA,WAAwB,MAAA,0BAAgC,WAAA,CAAY,KAAA,GAAQ,CAAA,IACtF,YAAA;;;cChII,SAAA,EAAW,aAAA;;;KCpCL,SAAA;AAAA,KACA,IAAA,GAAO,MAAA;AAAA,KACP,WAAA;AAAA,KACA,WAAA,GAAc,OAAA;EACxB,EAAA,EAAI,WAAA;EACJ,GAAA,EAAK,WAAA;EACL,MAAA,EAAQ,WAAA;EACR,SAAA,EAAW,WAAA;AAAA,KAEX,MAAA;AAAA,KAEU,WAAA,WAAsB,MAAA,2BAAiC,WAAA,CAAY,CAAA,IAAK,QAAA;AAAA,KAExE,aAAA;EACV,KAAA;EACA,KAAA;EACA,IAAA;EACA,GAAA;EACA,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,aAAA,GACR,IAAA,KAEE,SAAA,EAAW,MAAA,kBAAwB,MAAA,SAAe,WAAA,IAAe,WAAA,EACjE,aAAA,EAAe,aAAA,KACZ,IAAA;AAAA,KAEG,OAAA,GAAQ,OAAA;EHpBC;;;EGwBnB,QAAA,EAAU,UAAA;EHxBsD;;AAAA;EG6BhE,IAAA,EAAM,KAAA,CAAM,WAAA,GAAc,WAAA,GAAc,SAAA;EH1BnC;;;EG+BL,SAAA,EAAW,WAAA;EH/BwC;;;;;EGsCnD,SAAA;EHtCkC;;;;;EG6ClC,aAAA,EAAe,WAAA;EH3CZ;;;EGgDH,SAAA,EAAW,aAAA;EHhDmC;;;EGqD9C,SAAA,GAAY,aAAA;EHrDiD;;;EG0D7D,OAAA,SACU,WAAA,KACJ,IAAA,EAAM,WAAA,GAAc,IAAA,CAAK,WAAA,gBAA2B,KAAA,aAAkB,WAAA;AAAA;;;cCjED,QAAA,WA4DnD,OAAA,KAAK,UAAA;;;;;;KCxD1B,SAAA;;;;ALPwD;;EKa3D,WAAA;ELVY;;;EKcZ,KAAA;ELd6D;;;EKkB7D,OAAA;AAAA;AAAA,KAGU,OAAA,GAAQ,UAAA,EAAY,OAAA,EAAe,SAAA,KAAc,OAAA,CAAQ,IAAA,CAAK,KAAA;AAAA,cAEpE,WAAA,EAAW,aAAA,CAAc,OAAA;;;UC1Bd,cAAA;EACf,OAAA;EACA,UAAA;EACA,YAAA;AAAA;AAAA,cAOI,WAAA,GAAa,KAAA,EAAO,cAAA;EAAmB,QAAA,EAAU,UAAA;AAAA,MAAU,aAAA,CAAE,KAAA;;;KCHvD,OAAA;AAAA,KACA,QAAA;AAAA,KACA,QAAA;;;KCOA,eAAA,GAAkB,OAAA;EAC5B,MAAA;EACA,MAAA;EACA,OAAA;EACA,IAAA;EACA,QAAA;EACA,KAAA,EAAO,OAAA;EACP,MAAA,EAAQ,QAAA;EACR,MAAA,EAAQ,QAAA;EACR,OAAA;EACA,OAAA;EACA,aAAA;EACA,eAAA,EAAiB,WAAA;EACjB,UAAA;EACA,UAAA;EACA,QAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,cA0GI,UAAA;EAAc,MAAA;EAAA,MAAA;EAAA,OAAA;EAAA,IAAA;EAAA,QAAA;EAAA,KAAA;EAAA,MAAA,EAAA,UAAA;EAAA,MAAA,EAAA,UAAA;EAAA,OAAA;EAAA,OAAA;EAAA,aAAA;EAAA,eAAA;EAAA,UAAA;EAAA,UAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,IAkBjB,OAAA,CAAQ,eAAA;qBAkBiB,WAAA;qBAIQ,WAAA;UAAW,mBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;KC3K1C,KAAA;AAAA,KACA,QAAA;AAAA,KACA,QAAA;AAAA,KAEA,eAAA,IACH,KAAA,EAAO,OAAA;EACL,MAAA;EACA,WAAA;EACA,WAAA;AAAA,OAEC,UAAA;AAAA,KAEA,eAAA,IACH,KAAA,EAAO,OAAA;EACL,MAAA;EACA,WAAA;EACA,WAAA;EACA,KAAA,EAAO,KAAA;EACP,MAAA,EAAQ,QAAA;EACR,MAAA,EAAQ,QAAA;AAAA,OAEP,UAAA;AAAA,KAEO,OAAA;EACV,QAAA,EAAU,eAAA,GAAkB,OAAA;EAC5B,OAAA,EAAS,eAAA,GAAkB,OAAA;EAC3B,WAAA,GAAc,WAAA;EACd,cAAA;EACA,cAAA;AAAA,IACE,eAAA;AAAA,cAEE,WAAA,EAAW,eAAA,CAAgB,OAAA;;;UCrChB,OAAA;EVAO;;;EUItB,WAAA,GAAc,WAAA;EVHK;;;EUOnB,QAAA,EAAU,UAAA;EVPsD;;;EUWhE,GAAA;AAAA;AAAA,cAGI,WAAA,EAAW,eAAA,CAAgB,OAAA;;;KCZrB,OAAA,GAAQ,OAAA;EXFN;;;EWMZ,KAAA,EAAO,UAAA;EXNsD;;;EWU7D,QAAA,EAAU,UAAA;EXXa;;;EWevB,SAAA;EXdmB;;;EWkBnB,GAAA,EAAK,YAAA;EXlB2D;;AAAA;EWsBhE,GAAA,EAAK,SAAA;AAAA,KAEL,oBAAA;AAAA,cAEI,WAAA,EAAW,eAAA,CAAgB,OAAA;EAC/B,MAAA;AAAA;;;UC5Be,OAAA;EZAO;;;EYItB,QAAA,EAAU,UAAA;EZHS;;;EYOnB,SAAA;EZPgE;;;EYWhE,KAAA,GAAQ,MAAA;AAAA;AAAA,cAGJ,WAAA,EAAW,eAAA,CAAgB,OAAA"}
|
package/lib/index.js
CHANGED
|
@@ -8,7 +8,7 @@ const PKG_NAME = "@pyreon/elements";
|
|
|
8
8
|
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/utils.ts
|
|
11
|
-
const IS_DEVELOPMENT =
|
|
11
|
+
const IS_DEVELOPMENT = import.meta.env?.DEV === true;
|
|
12
12
|
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/helpers/Content/styled.ts
|
|
@@ -271,48 +271,58 @@ const isWebFixNeeded = (tag) => {
|
|
|
271
271
|
* support `display: flex` consistently across browsers.
|
|
272
272
|
*/
|
|
273
273
|
const DEV_PROPS = IS_DEVELOPMENT ? { "data-pyr-element": "Element" } : {};
|
|
274
|
-
const
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
const OWN_KEYS = [
|
|
275
|
+
"children",
|
|
276
|
+
"tag",
|
|
277
|
+
"block",
|
|
278
|
+
"extendCss",
|
|
279
|
+
"direction",
|
|
280
|
+
"alignX",
|
|
281
|
+
"alignY",
|
|
282
|
+
"equalCols",
|
|
283
|
+
"isInline",
|
|
284
|
+
"ref",
|
|
285
|
+
"dangerouslySetInnerHTML"
|
|
286
|
+
];
|
|
287
|
+
const Component$8 = (props) => {
|
|
288
|
+
const [own, rest] = splitProps(props, OWN_KEYS);
|
|
289
|
+
const commonProps = {
|
|
290
|
+
...rest,
|
|
277
291
|
...DEV_PROPS,
|
|
278
|
-
ref,
|
|
279
|
-
as: tag
|
|
280
|
-
};
|
|
281
|
-
const needsFix = !props.dangerouslySetInnerHTML && isWebFixNeeded(tag);
|
|
282
|
-
const normalElement = {
|
|
283
|
-
block,
|
|
284
|
-
direction,
|
|
285
|
-
alignX,
|
|
286
|
-
alignY,
|
|
287
|
-
equalCols,
|
|
288
|
-
extraStyles: extendCss
|
|
289
|
-
};
|
|
290
|
-
const parentFixElement = {
|
|
291
|
-
parentFix: true,
|
|
292
|
-
block,
|
|
293
|
-
extraStyles: extendCss
|
|
294
|
-
};
|
|
295
|
-
const childFixElement = {
|
|
296
|
-
childFix: true,
|
|
297
|
-
direction,
|
|
298
|
-
alignX,
|
|
299
|
-
alignY,
|
|
300
|
-
equalCols
|
|
292
|
+
ref: own.ref,
|
|
293
|
+
as: own.tag
|
|
301
294
|
};
|
|
302
|
-
if (!
|
|
303
|
-
...
|
|
304
|
-
$element:
|
|
305
|
-
|
|
295
|
+
if (!(!own.dangerouslySetInnerHTML && isWebFixNeeded(own.tag))) return /* @__PURE__ */ jsx(styled_default$1, {
|
|
296
|
+
...commonProps,
|
|
297
|
+
$element: {
|
|
298
|
+
block: own.block,
|
|
299
|
+
direction: own.direction,
|
|
300
|
+
alignX: own.alignX,
|
|
301
|
+
alignY: own.alignY,
|
|
302
|
+
equalCols: own.equalCols,
|
|
303
|
+
extraStyles: own.extendCss
|
|
304
|
+
},
|
|
305
|
+
children: own.children
|
|
306
306
|
});
|
|
307
|
-
const asTag = isInline ? "span" : "div";
|
|
307
|
+
const asTag = own.isInline ? "span" : "div";
|
|
308
308
|
return /* @__PURE__ */ jsx(styled_default$1, {
|
|
309
|
-
...
|
|
310
|
-
$element:
|
|
309
|
+
...commonProps,
|
|
310
|
+
$element: {
|
|
311
|
+
parentFix: true,
|
|
312
|
+
block: own.block,
|
|
313
|
+
extraStyles: own.extendCss
|
|
314
|
+
},
|
|
311
315
|
children: /* @__PURE__ */ jsx(styled_default$1, {
|
|
312
316
|
as: asTag,
|
|
313
317
|
$childFix: true,
|
|
314
|
-
$element:
|
|
315
|
-
|
|
318
|
+
$element: {
|
|
319
|
+
childFix: true,
|
|
320
|
+
direction: own.direction,
|
|
321
|
+
alignX: own.alignX,
|
|
322
|
+
alignY: own.alignY,
|
|
323
|
+
equalCols: own.equalCols
|
|
324
|
+
},
|
|
325
|
+
children: own.children
|
|
316
326
|
})
|
|
317
327
|
});
|
|
318
328
|
};
|
|
@@ -716,11 +726,12 @@ var Iterator_default = component_default;
|
|
|
716
726
|
* is wrapped in an Element that receives all non-iterator props (e.g.,
|
|
717
727
|
* layout, alignment, css), allowing the list to be styled as a single block.
|
|
718
728
|
*/
|
|
719
|
-
const Component$1 = ((
|
|
729
|
+
const Component$1 = ((allProps) => {
|
|
730
|
+
const [own, props] = splitProps(allProps, ["rootElement", "ref"]);
|
|
720
731
|
const renderedList = /* @__PURE__ */ jsx(Iterator_default, { ...pick(props, Iterator_default.RESERVED_PROPS) });
|
|
721
|
-
if (!rootElement) return renderedList;
|
|
732
|
+
if (!own.rootElement) return renderedList;
|
|
722
733
|
return /* @__PURE__ */ jsx(Component, {
|
|
723
|
-
...ref ? { ref } : {},
|
|
734
|
+
...own.ref ? { ref: own.ref } : {},
|
|
724
735
|
...omit(props, Iterator_default.RESERVED_PROPS),
|
|
725
736
|
children: renderedList
|
|
726
737
|
});
|
|
@@ -744,22 +755,14 @@ const Component$3 = (props) => {
|
|
|
744
755
|
};
|
|
745
756
|
|
|
746
757
|
//#endregion
|
|
747
|
-
//#region src/Overlay/
|
|
748
|
-
/**
|
|
749
|
-
* Core hook powering the Overlay component. Manages open/close state, DOM
|
|
750
|
-
* event listeners (click, hover, scroll, resize, ESC key), and dynamic
|
|
751
|
-
* positioning of overlay content relative to its trigger. Supports dropdown,
|
|
752
|
-
* tooltip, popover, and modal types with automatic edge-of-viewport flipping.
|
|
753
|
-
* Event handlers are throttled for performance, and nested overlay blocking
|
|
754
|
-
* is coordinated through the overlay context.
|
|
755
|
-
*/
|
|
756
|
-
let modalOverflowCount = 0;
|
|
758
|
+
//#region src/Overlay/positioning.ts
|
|
757
759
|
const sel = (cond, a, b) => cond ? a : b;
|
|
758
|
-
const devWarn = (msg) => {
|
|
759
|
-
if (!IS_DEVELOPMENT) return;
|
|
760
|
-
console.warn(msg);
|
|
761
|
-
};
|
|
762
760
|
const calcDropdownVertical = (c, t, align, alignX, offsetX, offsetY) => {
|
|
761
|
+
if (typeof window === "undefined") return {
|
|
762
|
+
pos: {},
|
|
763
|
+
resolvedAlignX: alignX,
|
|
764
|
+
resolvedAlignY: align
|
|
765
|
+
};
|
|
763
766
|
const pos = {};
|
|
764
767
|
const topPos = t.top - offsetY - c.height;
|
|
765
768
|
const bottomPos = t.bottom + offsetY;
|
|
@@ -801,6 +804,11 @@ const calcDropdownVertical = (c, t, align, alignX, offsetX, offsetY) => {
|
|
|
801
804
|
};
|
|
802
805
|
};
|
|
803
806
|
const calcDropdownHorizontal = (c, t, align, alignY, offsetX, offsetY) => {
|
|
807
|
+
if (typeof window === "undefined") return {
|
|
808
|
+
pos: {},
|
|
809
|
+
resolvedAlignX: align,
|
|
810
|
+
resolvedAlignY: alignY
|
|
811
|
+
};
|
|
804
812
|
const pos = {};
|
|
805
813
|
const leftPos = t.left - offsetX - c.width;
|
|
806
814
|
const rightPos = t.right + offsetX;
|
|
@@ -842,6 +850,7 @@ const calcDropdownHorizontal = (c, t, align, alignY, offsetX, offsetY) => {
|
|
|
842
850
|
};
|
|
843
851
|
};
|
|
844
852
|
const calcModalPos = (c, alignX, alignY, offsetX, offsetY) => {
|
|
853
|
+
if (typeof window === "undefined") return {};
|
|
845
854
|
const pos = {};
|
|
846
855
|
switch (alignX) {
|
|
847
856
|
case "right":
|
|
@@ -878,6 +887,22 @@ const adjustForAncestor = (pos, ancestor) => {
|
|
|
878
887
|
if (typeof result.right === "number") result.right += ancestor.left;
|
|
879
888
|
return result;
|
|
880
889
|
};
|
|
890
|
+
|
|
891
|
+
//#endregion
|
|
892
|
+
//#region src/Overlay/useOverlay.tsx
|
|
893
|
+
/**
|
|
894
|
+
* Core hook powering the Overlay component. Manages open/close state, DOM
|
|
895
|
+
* event listeners (click, hover, scroll, resize, ESC key), and dynamic
|
|
896
|
+
* positioning of overlay content relative to its trigger. Supports dropdown,
|
|
897
|
+
* tooltip, popover, and modal types with automatic edge-of-viewport flipping.
|
|
898
|
+
* Event handlers are throttled for performance, and nested overlay blocking
|
|
899
|
+
* is coordinated through the overlay context.
|
|
900
|
+
*/
|
|
901
|
+
let modalOverflowCount = 0;
|
|
902
|
+
const devWarn = (msg) => {
|
|
903
|
+
if (!IS_DEVELOPMENT) return;
|
|
904
|
+
console.warn(msg);
|
|
905
|
+
};
|
|
881
906
|
const computePosition = (type, align, alignX, alignY, offsetX, offsetY, triggerEl, contentEl, ancestorOffset) => {
|
|
882
907
|
const isDropdown = [
|
|
883
908
|
"dropdown",
|
|
@@ -954,6 +979,10 @@ const useOverlay = ({ isOpen = false, openOn = "click", closeOn = "click", type
|
|
|
954
979
|
ctx.setUnblocked?.();
|
|
955
980
|
};
|
|
956
981
|
const getAncestorOffset = () => {
|
|
982
|
+
if (typeof document === "undefined") return {
|
|
983
|
+
top: 0,
|
|
984
|
+
left: 0
|
|
985
|
+
};
|
|
957
986
|
if (position !== "absolute" || !contentEl) return {
|
|
958
987
|
top: 0,
|
|
959
988
|
left: 0
|
|
@@ -1002,6 +1031,7 @@ const useOverlay = ({ isOpen = false, openOn = "click", closeOn = "click", type
|
|
|
1002
1031
|
const handleClick = (e) => handleVisibilityByEventType(e);
|
|
1003
1032
|
const handleVisibility = throttle((e) => handleVisibilityByEventType(e), throttleDelay);
|
|
1004
1033
|
const setupListeners = () => {
|
|
1034
|
+
if (typeof window === "undefined") return () => {};
|
|
1005
1035
|
const cleanups = [];
|
|
1006
1036
|
if (openOn === "click" || [
|
|
1007
1037
|
"click",
|