@navikt/ds-react 7.33.0 → 7.33.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.
- package/cjs/date/datepicker/hooks/useRangeDatepicker.js +2 -2
- package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +0 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/cjs/overlays/action-menu/ActionMenu.js +2 -5
- package/cjs/overlays/action-menu/ActionMenu.js.map +1 -1
- package/cjs/overlays/dismissablelayer/DismissableLayer.d.ts +3 -30
- package/cjs/overlays/dismissablelayer/DismissableLayer.js +141 -134
- package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
- package/cjs/overlays/dismissablelayer/util/sort-layers.d.ts +18 -0
- package/cjs/overlays/dismissablelayer/util/sort-layers.js +51 -0
- package/cjs/overlays/dismissablelayer/util/sort-layers.js.map +1 -0
- package/cjs/overlays/floating-menu/Menu.d.ts +5 -7
- package/cjs/overlays/floating-menu/Menu.js +7 -15
- package/cjs/overlays/floating-menu/Menu.js.map +1 -1
- package/cjs/popover/Popover.js +0 -1
- package/cjs/popover/Popover.js.map +1 -1
- package/cjs/portal/Portal.d.ts +1 -3
- package/cjs/portal/Portal.js +49 -17
- package/cjs/portal/Portal.js.map +1 -1
- package/cjs/timeline/Timeline.d.ts +1 -1
- package/cjs/timeline/Timeline.js +1 -1
- package/cjs/timeline/Timeline.js.map +1 -1
- package/cjs/timeline/index.d.ts +1 -1
- package/cjs/timeline/index.js +1 -1
- package/cjs/timeline/index.js.map +1 -1
- package/cjs/timeline/pin/Pin.d.ts +9 -0
- package/cjs/timeline/pin/Pin.js +68 -0
- package/cjs/timeline/pin/Pin.js.map +1 -0
- package/cjs/timeline/pin/PinInternal.d.ts +13 -0
- package/cjs/timeline/{Pin.js → pin/PinInternal.js} +9 -10
- package/cjs/timeline/pin/PinInternal.js.map +1 -0
- package/cjs/tooltip/Tooltip.js +23 -22
- package/cjs/tooltip/Tooltip.js.map +1 -1
- package/cjs/util/focus-boundary/FocusBoundary.d.ts +19 -10
- package/cjs/util/focus-boundary/FocusBoundary.js +107 -63
- package/cjs/util/focus-boundary/FocusBoundary.js.map +1 -1
- package/cjs/util/hooks/useScrollLock.js +17 -3
- package/cjs/util/hooks/useScrollLock.js.map +1 -1
- package/esm/date/datepicker/hooks/useRangeDatepicker.js +2 -2
- package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js +0 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/esm/overlays/action-menu/ActionMenu.js +2 -5
- package/esm/overlays/action-menu/ActionMenu.js.map +1 -1
- package/esm/overlays/dismissablelayer/DismissableLayer.d.ts +3 -30
- package/esm/overlays/dismissablelayer/DismissableLayer.js +140 -132
- package/esm/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
- package/esm/overlays/dismissablelayer/util/sort-layers.d.ts +18 -0
- package/esm/overlays/dismissablelayer/util/sort-layers.js +49 -0
- package/esm/overlays/dismissablelayer/util/sort-layers.js.map +1 -0
- package/esm/overlays/floating-menu/Menu.d.ts +5 -7
- package/esm/overlays/floating-menu/Menu.js +7 -15
- package/esm/overlays/floating-menu/Menu.js.map +1 -1
- package/esm/popover/Popover.js +0 -1
- package/esm/popover/Popover.js.map +1 -1
- package/esm/portal/Portal.d.ts +1 -3
- package/esm/portal/Portal.js +50 -18
- package/esm/portal/Portal.js.map +1 -1
- package/esm/timeline/Timeline.d.ts +1 -1
- package/esm/timeline/Timeline.js +1 -1
- package/esm/timeline/Timeline.js.map +1 -1
- package/esm/timeline/index.d.ts +1 -1
- package/esm/timeline/index.js +1 -1
- package/esm/timeline/index.js.map +1 -1
- package/esm/timeline/pin/Pin.d.ts +9 -0
- package/esm/timeline/pin/Pin.js +29 -0
- package/esm/timeline/pin/Pin.js.map +1 -0
- package/esm/timeline/pin/PinInternal.d.ts +13 -0
- package/esm/timeline/{Pin.js → pin/PinInternal.js} +8 -9
- package/esm/timeline/pin/PinInternal.js.map +1 -0
- package/esm/tooltip/Tooltip.js +23 -22
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/esm/util/focus-boundary/FocusBoundary.d.ts +19 -10
- package/esm/util/focus-boundary/FocusBoundary.js +108 -64
- package/esm/util/focus-boundary/FocusBoundary.js.map +1 -1
- package/esm/util/hooks/useScrollLock.js +17 -3
- package/esm/util/hooks/useScrollLock.js.map +1 -1
- package/package.json +3 -3
- package/src/date/datepicker/hooks/useRangeDatepicker.tsx +4 -2
- package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +0 -1
- package/src/overlays/action-menu/ActionMenu.tsx +2 -4
- package/src/overlays/dismissablelayer/DismissableLayer.tsx +219 -194
- package/src/overlays/dismissablelayer/util/sort-layers.test.ts +128 -0
- package/src/overlays/dismissablelayer/util/sort-layers.ts +61 -0
- package/src/overlays/floating-menu/Menu.tsx +11 -21
- package/src/popover/Popover.tsx +0 -1
- package/src/portal/Portal.tsx +89 -31
- package/src/timeline/Timeline.tsx +1 -1
- package/src/timeline/index.ts +1 -1
- package/src/timeline/pin/Pin.tsx +33 -0
- package/src/timeline/{Pin.tsx → pin/PinInternal.tsx} +8 -18
- package/src/tooltip/Tooltip.tsx +4 -4
- package/src/util/focus-boundary/FocusBoundary.tsx +164 -93
- package/src/util/hooks/useScrollLock.ts +22 -3
- package/cjs/timeline/Pin.d.ts +0 -17
- package/cjs/timeline/Pin.js.map +0 -1
- package/esm/timeline/Pin.d.ts +0 -17
- package/esm/timeline/Pin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,SAAS,GACV,GAAG,eAAe,EAAE,CAAC;IAEtB,MAAM,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,EACV,gBAAgB,GACjB,GAAG,yBAAyB,EAAE,CAAC;IAChC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACH,qBAAqB,CAAC,GAAG,EAAE;QACzB,cAAc,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEnE,MAAM,0BAA0B,GAC9B,CAAC,aAAa,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,6BAA6B;QACrE,SAAS,IAAI,yBAAyB;QACtC,CAAC,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,yBAAyB;IAE5F,MAAM,+BAA+B,GACnC,CAAC,cAAc,IAAI,UAAU,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,wBAAwB;QACzF,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAExD,MAAM,MAAM,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5D,OAAO,CACL,oBAAC,gBAAgB,IACf,OAAO,QACP,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -55,11 +55,8 @@ export const ActionMenuContent = forwardRef((_a, ref) => {
|
|
|
55
55
|
var { children, className, style, align = "start" } = _a, rest = __rest(_a, ["children", "className", "style", "align"]);
|
|
56
56
|
const context = useActionMenuContext();
|
|
57
57
|
const { cn } = useRenameCSS();
|
|
58
|
-
return (React.createElement(Menu.Portal, { rootElement: context.rootElement
|
|
59
|
-
React.createElement(Menu.Content, Object.assign({ ref: ref, id: context.contentId, "aria-labelledby": context.triggerId, className: cn("navds-action-menu__content", className) }, rest, { align: align, sideOffset: 4, collisionPadding: 10,
|
|
60
|
-
var _a;
|
|
61
|
-
(_a = context.triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
62
|
-
}, safeZone: { anchor: context.triggerRef.current }, style: Object.assign(Object.assign({}, style), {
|
|
58
|
+
return (React.createElement(Menu.Portal, { rootElement: context.rootElement },
|
|
59
|
+
React.createElement(Menu.Content, Object.assign({ ref: ref, id: context.contentId, "aria-labelledby": context.triggerId, className: cn("navds-action-menu__content", className) }, rest, { align: align, sideOffset: 4, collisionPadding: 10, returnFocus: context.triggerRef, safeZone: { anchor: context.triggerRef.current }, style: Object.assign(Object.assign({}, style), {
|
|
63
60
|
"--__ac-action-menu-content-transform-origin": "var(--ac-floating-transform-origin)",
|
|
64
61
|
"--__ac-action-menu-content-available-height": "var(--ac-floating-available-height)",
|
|
65
62
|
}) }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenu.js","sourceRoot":"","sources":["../../../src/overlays/action-menu/ActionMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAwB,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAmB,MAAM,uBAAuB,CAAC;AAe9D,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,GAC9C,aAAa,CAAyB;IACpC,IAAI,EAAE,mBAAmB;IACzB,YAAY,EACV,gFAAgF;CACnF,CAAC,CAAC;AAqNL,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,WAAW,EAAE,eAAe,GACZ,EAAE,EAAE;IACpB,MAAM,UAAU,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAE9E,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QACnD,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,kBAAkB,IACjB,SAAS,EAAE,KAAK,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,KAAK,EAAE,EAClB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EACpD,WAAW,EAAE,WAAW;QAExB,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,UAC3C,QAAQ,CACJ,CACY,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,cAAqC,CAAC;AAUhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAIzC,CACE,EAAwE,EACxE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,OAAmC,EAA9B,IAAI,cAA9C,6CAAgD,CAAF;IAG9C,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,OAAO;QAClB,oBAAC,IAAI,kBACH,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,CAAC,SAAS,mBACP,MAAM,mBACL,OAAO,CAAC,IAAI,mBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAC5C,GAAG,EAAE,UAAU,IACX,IAAI,IACR,KAAK,kCAAO,KAAK,KAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACnE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC5D,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;oBAC9B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC3B,wCAAwC;oBACxC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,KAED,mBAAmB,CAAC,QAAQ,CAAC,CACzB,CACK,CACf,CAAC;AACJ,CAAC,CACF,CAAC;AAWF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAIzC,CACE,EAMyB,EACzB,GAAG,EACH,EAAE;QARF,EACE,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,GAAG,OAAO,OAEQ,EADpB,IAAI,cALT,2CAMC,CADQ;IAIT,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO;QACpD,oBAAC,IAAI,CAAC,OAAO,kBACX,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,CAAC,SAAS,qBACJ,OAAO,CAAC,SAAS,EAClC,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,IAClD,IAAI,IACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,EACpB,gBAAgB,EAAE,GAAG,EAAE;;gBACrB,MAAA,OAAO,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YACtC,CAAC,EACD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAChD,KAAK,kCACA,KAAK,GACL;gBACD,6CAA6C,EAC3C,qCAAqC;gBACvC,6CAA6C,EAC3C,qCAAqC;aACxC;YAGH,6BAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,CAAC,IACnD,QAAQ,CACL,CACO,CACH,CACf,CAAC;AACJ,CAAC,CACF,CAAC;AASF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CACvC,CAAC,EAAsD,EAAE,GAAG,EAAE,EAAE;QAA/D,EAAE,QAAQ,EAAE,SAAS,OAAiC,EAA5B,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAEnD,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAiCF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAGvC,CAAC,EAA6D,EAAE,GAAG,EAAE,EAAE;QAAtE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAiC,EAA5B,IAAI,cAArC,kCAAuC,CAAF;IACtC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,KAAK,kBACT,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EACpD,OAAO,EAAE,KAAK,qBACG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAE3C,KAAK,IAAI,CACR,oBAAC,UAAU,CAAC,KAAK,IAAC,EAAE,EAAE,OAAO,yBAC1B,KAAK,CACW,CACpB;QACA,QAAQ,CACE,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAe,EAAE,EAAE;IACjE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,kDAEE,SAAS,EAAE,EAAE,CACX,SAAS,EACT,2BAA2B,EAC3B,8BAA8B,SAAS,EAAE,CAC1C,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B;;;OAGG;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAE/D,OAAO,CACL,oBAAC,MAAM,IAAC,SAAS,EAAC,OAAO,IACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3B,8BAAM,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAClE,IAAI,CACA,CACR,CAAC,CACK,CACV,CAAC;AACJ,CAAC,CAAC;AAwBF,MAAM,CAAC,MAAM,cAAc,GAGvB,UAAU,CACZ,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,QAAQ,EACR,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,OAAO,OAER,EADI,IAAI,cAPT,8DAQC,CADQ;IAIT,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,IAAI,oBACJ,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,EAAE;YAClD,iCAAiC,EAAE,OAAO,KAAK,QAAQ;YACvD,mCAAmC,EAAE,IAAI;SAC1C,CAAC,uBACiB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS,EACxC,OAAO;QAEP,oBAAC,SAAS,IAAC,GAAG,EAAE,GAAG;YAChB,QAAQ;YACR,IAAI,IAAI,CACP,oBAAC,MAAM,IACL,SAAS,EAAC,MAAM,EAChB,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAE9C,IAAI,CACE,CACV;YACA,QAAQ,IAAI,oBAAC,QAAQ,QAAE,QAAQ,CAAY,CAClC,CACF,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAoBF,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAI9C,CACE,EAM8B,EAC9B,GAAG,EACH,EAAE;QARF,EACE,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,OAEoB,EADzB,IAAI,cALT,iDAMC,CADQ;IAIT,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,YAAY,kBAChB,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD;;eAEG;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,EACF,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV,uBACkB,QAAQ;QAE1B,QAAQ;QACT,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM;YACtB,oBAAC,IAAI,CAAC,aAAa,IAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC;gBAC/D,6BACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC;oBAGlD,2BAAG,SAAS,EAAE,EAAE,CAAC,8CAA8C,CAAC;wBAC9D,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,mDAAmD,GACxD;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,gDAAgD,EACrD,WAAW,EAAC,GAAG,GACf,CACA;oBACJ,2BACE,SAAS,EAAE,EAAE,CACX,kDAAkD,CACnD;wBAED,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,+DAA+D,GACpE;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,IAAI,EACN,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,GAAG,EACV,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,gDAAgD,GACrD,CACA;oBACJ,2BAAG,SAAS,EAAE,EAAE,CAAC,4CAA4C,CAAC;wBAC5D,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,+DAA+D,GACpE;wBACF,8BACE,CAAC,EAAC,gWAAgW,EAClW,IAAI,EAAC,gDAAgD,GACrD,CACA,CACA,CACa,CACd;QAER,QAAQ,IAAI,oBAAC,QAAQ,QAAE,QAAQ,CAAY,CAC1B,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAuD,EAAE,GAAG,EAAE,EAAE;QAAhE,EAAE,QAAQ,EAAE,KAAK,OAAsC,EAAjC,IAAI,cAA1B,qBAA4B,CAAF;IAC3B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,OAAO,CACL,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,OAAO,EAAE,KAAK,qBACG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAE3C,KAAK,IAAI,CACR,oBAAC,UAAU,CAAC,KAAK,IAAC,EAAE,EAAE,OAAO,yBAC1B,KAAK,CACW,CACpB;QACA,QAAQ,CACO,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAI3C,CACE,EAAoE,EACpE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,OAAqC,EAAhC,IAAI,cAAxC,qCAA0C,CAAF;IAGxC,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE7C,OAAO,CACL,oBAAC,IAAI,CAAC,SAAS,kBACb,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD;;eAEG;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,EACF,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV;QAEA,QAAQ;QACT,oBAAC,MAAM,IAAC,SAAS,EAAC,MAAM;YACtB,oBAAC,IAAI,CAAC,aAAa,IAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC;gBAC/D,6BACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC;oBAGlD,2BAAG,SAAS,EAAE,EAAE,CAAC,8CAA8C,CAAC;wBAC9D,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,IAAI,EAAC,mDAAmD,GACxD;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,gDAAgD,GACrD,CACA;oBACH,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAC,CAAC,CAAC,CAC1B,2BAAG,SAAS,EAAE,EAAE,CAAC,4CAA4C,CAAC;wBAC5D,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,IAAI,EAAC,6BAA6B,GAClC;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,GAAG,EACT,MAAM,EAAC,GAAG,EACV,EAAE,EAAC,GAAG,EACN,IAAI,EAAC,gDAAgD,GACrD,CACA,CACL,CAAC,CAAC,CAAC,CACF,2BAAG,SAAS,EAAE,EAAE,CAAC,4CAA4C,CAAC;wBAC5D,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,IAAI,EAAC,gDAAgD,GACrD;wBACF,8BACE,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,EAAE,EAAC,IAAI,EACP,MAAM,EAAC,+DAA+D,EACtE,WAAW,EAAC,GAAG,GACf;wBACF,8BACE,CAAC,EAAC,mHAAmH,EACrH,IAAI,EAAC,+DAA+D,GACpE,CACA,CACL,CACG,CACa,CACd,CACM,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AASF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAA8C,EAAE,GAAG,EAAE,EAAE;QAAvD,EAAE,SAAS,OAAmC,EAA9B,IAAI,cAApB,aAAsB,CAAF;IACrB,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,OAAO,kBACX,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,KAAK,IACV,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,IACtD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAiBH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEzD,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QACnD,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,IAAI,CAAC,GAAG,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,IACxC,QAAQ,CACA,CACZ,CAAC;AACJ,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAiE,EAAE,GAAG,EAAE,EAAE;QAA1E,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,OAAsC,EAAjC,IAAI,cAApC,iCAAsC,CAAF;IACrC,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9B,OAAO,CACL,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,SAAS,EACT,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAC9C;QAEA,QAAQ;QACR,IAAI,IAAI,CACP,oBAAC,MAAM,IACL,SAAS,EAAC,MAAM,EAChB,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAE9C,IAAI,CACE,CACV;QACD,oBAAC,MAAM,IACL,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC;YAE/C,oBAAC,gBAAgB,0BAAe,CACzB,CACO,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAkE,EAAE,GAAG,EAAE,EAAE;QAA3E,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAsC,EAAjC,IAAI,cAArC,kCAAuC,CAAF;IACtC,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,OAAO,CACL,oBAAC,IAAI,CAAC,MAAM,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW;QAC3C,oBAAC,IAAI,CAAC,UAAU,kBACd,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,CAAC,CAAC,EACf,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE,IAChB,IAAI,IACR,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,SAAS,CACV,EACD,KAAK,kCACA,KAAK,GACL;gBACD,2CAA2C,EACzC,qCAAqC;gBACvC,0CAA0C,EACxC,oCAAoC;gBACtC,2CAA2C,EACzC,qCAAqC;gBACvC,gCAAgC,EAAE,iCAAiC;gBACnE,iCAAiC,EAC/B,kCAAkC;aACrC;YAGH,6BAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,CAAC,IAAG,QAAQ,CAAO,CACxD,CACN,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;AACnC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;AACnC,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC;AACjC,UAAU,CAAC,YAAY,GAAG,sBAAsB,CAAC;AACjD,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC;AAC7C,UAAU,CAAC,SAAS,GAAG,mBAAmB,CAAC;AAC3C,UAAU,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACvC,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC;AAC/B,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC;AAC7C,UAAU,CAAC,UAAU,GAAG,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ActionMenu.js","sourceRoot":"","sources":["../../../src/overlays/action-menu/ActionMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { AsChild } from "../../util/types/AsChild.js";
|
|
3
3
|
import { CustomFocusEvent, CustomPointerDownEvent } from "./util/dispatchCustomEvent.js";
|
|
4
|
-
interface DismissableLayerBaseProps {
|
|
4
|
+
interface DismissableLayerBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
5
|
/**
|
|
6
6
|
* When `true`, hover/focus/click interactions will be disabled on elements outside
|
|
7
7
|
* the `DismissableLayer`. Users will need to click twice on outside elements to
|
|
@@ -35,42 +35,15 @@ interface DismissableLayerBaseProps {
|
|
|
35
35
|
onDismiss?: () => void;
|
|
36
36
|
/**
|
|
37
37
|
* Stops `onDismiss` from beeing called when interacting with the `safeZone` elements.
|
|
38
|
-
* `safeZone.dismissable` is only needed when its element does not have a `tabIndex` since it will not receive focus-events.
|
|
39
38
|
*/
|
|
40
39
|
safeZone?: {
|
|
41
40
|
anchor?: Element | null;
|
|
42
|
-
dismissable?: Element | null;
|
|
43
41
|
};
|
|
44
|
-
style?: CSSProperties;
|
|
45
42
|
/**
|
|
46
|
-
*
|
|
43
|
+
* @default true
|
|
47
44
|
*/
|
|
48
45
|
enabled?: boolean;
|
|
49
46
|
}
|
|
50
47
|
type DismissableLayerProps = DismissableLayerBaseProps & AsChild;
|
|
51
|
-
export declare const DismissableDescendantsProvider: React.Provider<import("../../util/hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
|
|
52
|
-
disableOutsidePointerEvents: boolean;
|
|
53
|
-
forceUpdate: () => void;
|
|
54
|
-
}>>, useDismissableDescendantsContext: <S extends boolean = true>(strict?: S) => S extends true ? import("../../util/hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
|
|
55
|
-
disableOutsidePointerEvents: boolean;
|
|
56
|
-
forceUpdate: () => void;
|
|
57
|
-
}> : import("../../util/hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
|
|
58
|
-
disableOutsidePointerEvents: boolean;
|
|
59
|
-
forceUpdate: () => void;
|
|
60
|
-
}> | undefined, useDismissableDescendants: () => import("../../util/hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
|
|
61
|
-
disableOutsidePointerEvents: boolean;
|
|
62
|
-
forceUpdate: () => void;
|
|
63
|
-
}>, useDismissableDescendant: (options?: import("../../util/hooks/descendants/descendant.js").DescendantOptions<{
|
|
64
|
-
disableOutsidePointerEvents: boolean;
|
|
65
|
-
forceUpdate: () => void;
|
|
66
|
-
}> | undefined) => {
|
|
67
|
-
descendants: import("../../util/hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
|
|
68
|
-
disableOutsidePointerEvents: boolean;
|
|
69
|
-
forceUpdate: () => void;
|
|
70
|
-
}>;
|
|
71
|
-
index: number;
|
|
72
|
-
enabledIndex: number;
|
|
73
|
-
register: (instance: HTMLDivElement | null) => void;
|
|
74
|
-
};
|
|
75
48
|
declare const DismissableLayer: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
|
|
76
49
|
export { DismissableLayer, type DismissableLayerProps };
|
|
@@ -9,120 +9,74 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import React, { forwardRef,
|
|
12
|
+
import React, { forwardRef, useContext, useEffect, useState } from "react";
|
|
13
13
|
import { Slot } from "../../slot/Slot.js";
|
|
14
|
+
import { omit } from "../../util/index.js";
|
|
15
|
+
import { composeEventHandlers } from "../../util/composeEventHandlers.js";
|
|
14
16
|
import { useMergeRefs } from "../../util/hooks/index.js";
|
|
15
|
-
import { createDescendantContext } from "../../util/hooks/descendants/useDescendant.js";
|
|
16
17
|
import { ownerDocument } from "../../util/owner.js";
|
|
18
|
+
import { getSortedLayers } from "./util/sort-layers.js";
|
|
17
19
|
import { useEscapeKeydown } from "./util/useEscapeKeydown.js";
|
|
18
20
|
import { useFocusOutside } from "./util/useFocusOutside.js";
|
|
19
21
|
import { usePointerDownOutside } from "./util/usePointerDownOutside.js";
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
const DismissableLayer = forwardRef((_a, forwardedRef) => {
|
|
23
|
+
var { enabled = true } = _a, restProps = __rest(_a, ["enabled"]);
|
|
24
|
+
if (!enabled) {
|
|
25
|
+
const Component = restProps.asChild ? Slot : "div";
|
|
26
|
+
return (React.createElement(Component, Object.assign({}, omit(restProps, [
|
|
27
|
+
"asChild",
|
|
28
|
+
"disableOutsidePointerEvents",
|
|
29
|
+
"onDismiss",
|
|
30
|
+
"onEscapeKeyDown",
|
|
31
|
+
"onFocusOutside",
|
|
32
|
+
"onInteractOutside",
|
|
33
|
+
"onPointerDownOutside",
|
|
34
|
+
"safeZone",
|
|
35
|
+
]), { ref: forwardedRef })));
|
|
36
|
+
}
|
|
37
|
+
return React.createElement(DismissableLayerInternal, Object.assign({}, restProps, { ref: forwardedRef }));
|
|
38
|
+
});
|
|
39
|
+
const BranchedLayerContext = React.createContext(null);
|
|
40
|
+
/* ------------------------ DismissableLayerInternal ------------------------ */
|
|
41
|
+
const CONTEXT_UPDATE_EVENT = "dismissableLayer.update";
|
|
25
42
|
let originalBodyPointerEvents;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* we only initialize the `Descendants`-API for the root layer to aboid resetting context
|
|
31
|
-
*/
|
|
32
|
-
return context ? (React.createElement(DismissableLayerNode, Object.assign({ ref: ref }, props))) : (React.createElement(DismissableRoot, null,
|
|
33
|
-
React.createElement(DismissableLayerNode, Object.assign({ ref: ref }, props))));
|
|
43
|
+
const DismissableLayerContext = React.createContext({
|
|
44
|
+
layers: new Set(),
|
|
45
|
+
branchedLayers: new Map(),
|
|
46
|
+
layersWithOutsidePointerEventsDisabled: new Set(),
|
|
34
47
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const DismissableRoot = ({ children }) => {
|
|
42
|
-
const descendants = useDismissableDescendants();
|
|
43
|
-
return (React.createElement(DismissableDescendantsProvider, { value: descendants }, children));
|
|
44
|
-
};
|
|
45
|
-
const DismissableLayerNode = forwardRef((_a, ref) => {
|
|
46
|
-
var { children, asChild, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, safeZone, disableOutsidePointerEvents = false, enabled = true } = _a, rest = __rest(_a, ["children", "asChild", "onEscapeKeyDown", "onPointerDownOutside", "onFocusOutside", "onInteractOutside", "onDismiss", "safeZone", "disableOutsidePointerEvents", "enabled"]);
|
|
47
|
-
const [, setForce] = useState({});
|
|
48
|
-
const { register, index, descendants } = useDismissableDescendant({
|
|
49
|
-
disableOutsidePointerEvents,
|
|
50
|
-
disabled: !enabled,
|
|
51
|
-
forceUpdate: () => setForce({}),
|
|
52
|
-
});
|
|
53
|
-
/**
|
|
54
|
-
* `node` will be set to the ref of the component or nested component
|
|
55
|
-
* Ex: If
|
|
56
|
-
* ```
|
|
57
|
-
* <DismissableLayer asChild>
|
|
58
|
-
* <Popover />
|
|
59
|
-
* </DismissableLayer>
|
|
60
|
-
* ```
|
|
61
|
-
* `node` will in this case be the Popover-element.
|
|
62
|
-
* We use State her and not ref since we want to trigger a rerender when the node changes.
|
|
63
|
-
*/
|
|
64
|
-
const [node, setNode] = useState(null);
|
|
65
|
-
const mergedRefs = useMergeRefs(setNode, register, ref);
|
|
48
|
+
const DismissableLayerInternal = forwardRef((_a, forwardedRef) => {
|
|
49
|
+
var { children, disableOutsidePointerEvents, onDismiss, onInteractOutside, onEscapeKeyDown, onFocusOutside, onPointerDownOutside, safeZone, asChild } = _a, restProps = __rest(_a, ["children", "disableOutsidePointerEvents", "onDismiss", "onInteractOutside", "onEscapeKeyDown", "onFocusOutside", "onPointerDownOutside", "safeZone", "asChild"]);
|
|
50
|
+
const context = useContext(DismissableLayerContext);
|
|
51
|
+
const [, forceRerender] = useState({});
|
|
52
|
+
const [node, setNode] = React.useState(null);
|
|
53
|
+
const mergedRefs = useMergeRefs(forwardedRef, setNode);
|
|
66
54
|
const ownerDoc = ownerDocument(node);
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
lastIndex = _index;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
return {
|
|
78
|
-
/**
|
|
79
|
-
* Makes sure we stop events at the highest layer with pointer events disabled.
|
|
80
|
-
* If not checked, we risk closing every layer when clicking outside the layer.
|
|
81
|
-
*/
|
|
82
|
-
isPointerEventsEnabled: index >= lastIndex,
|
|
83
|
-
/**
|
|
84
|
-
* If we find a node with `disableOutsidePointerEvents` we want to disable pointer events on the body.
|
|
85
|
-
*/
|
|
86
|
-
isBodyPointerEventsDisabled: bodyLockCount > 0,
|
|
87
|
-
pointerStyle: (index >= lastIndex && bodyLockCount > 0
|
|
88
|
-
? "auto"
|
|
89
|
-
: undefined),
|
|
90
|
-
};
|
|
91
|
-
})();
|
|
55
|
+
/* Layer handling */
|
|
56
|
+
const layers = getSortedLayers(context.layers, context.branchedLayers);
|
|
57
|
+
const highestLayerWithOutsidePointerEventsDisabledIndex = findHighestLayerIndex(layers, context.layersWithOutsidePointerEventsDisabled);
|
|
58
|
+
const index = node ? layers.indexOf(node) : -1;
|
|
59
|
+
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
60
|
+
const shouldEnablePointerEvents = highestLayerWithOutsidePointerEventsDisabledIndex === -1 ||
|
|
61
|
+
index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
92
62
|
/**
|
|
93
|
-
* We want to prevent the Layer from closing when the trigger
|
|
94
|
-
*
|
|
95
|
-
* To achieve this, we check if the event target is the trigger, anchor or a child. If it is, we prevent default event behavior.
|
|
96
|
-
*
|
|
97
|
-
* The `pointerDownOutside` and `focusOutside` handlers already check if the event target is within the DismissableLayer (`node`).
|
|
98
|
-
* However, since we don't add a `tabIndex` to the Popover/Tooltip, the `focusOutside` handler doesn't correctly handle focus events.
|
|
99
|
-
* Therefore, we also need to check that neither the trigger (`anchor`) nor the DismissableLayer (`dismissable`) are the event targets.
|
|
63
|
+
* We want to prevent the Layer from closing when the trigger/anchor element or its child elements are interacted with.
|
|
64
|
+
* To achieve this, we check if the event target is the trigger/anchor or a child. If it is, we prevent default event behavior.
|
|
100
65
|
*/
|
|
101
66
|
function handleOutsideEvent(event) {
|
|
102
|
-
|
|
103
|
-
if ((!(safeZone === null || safeZone === void 0 ? void 0 : safeZone.anchor) && !(safeZone === null || safeZone === void 0 ? void 0 : safeZone.dismissable)) || !enabled) {
|
|
67
|
+
if (!(safeZone === null || safeZone === void 0 ? void 0 : safeZone.anchor)) {
|
|
104
68
|
return;
|
|
105
69
|
}
|
|
70
|
+
let hasPointerDownOutside = false;
|
|
106
71
|
if (!event.defaultPrevented) {
|
|
107
|
-
hasInteractedOutsideRef.current = true;
|
|
108
72
|
if (event.detail.originalEvent.type === "pointerdown") {
|
|
109
|
-
|
|
73
|
+
hasPointerDownOutside = true;
|
|
110
74
|
}
|
|
111
75
|
}
|
|
112
76
|
const target = event.target;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
*/
|
|
117
|
-
if (event.detail.originalEvent.type === "pointerdown") {
|
|
118
|
-
const targetIsTrigger = ((_a = safeZone === null || safeZone === void 0 ? void 0 : safeZone.anchor) === null || _a === void 0 ? void 0 : _a.contains(target)) || target === (safeZone === null || safeZone === void 0 ? void 0 : safeZone.anchor);
|
|
119
|
-
targetIsTrigger && event.preventDefault();
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
const targetIsNotTrigger = target instanceof HTMLElement &&
|
|
123
|
-
![safeZone === null || safeZone === void 0 ? void 0 : safeZone.anchor, safeZone === null || safeZone === void 0 ? void 0 : safeZone.dismissable].some((element) => element === null || element === void 0 ? void 0 : element.contains(target)) &&
|
|
124
|
-
!target.contains((_b = safeZone === null || safeZone === void 0 ? void 0 : safeZone.dismissable) !== null && _b !== void 0 ? _b : null);
|
|
125
|
-
!targetIsNotTrigger && event.preventDefault();
|
|
77
|
+
const targetIsAnchor = safeZone.anchor.contains(target) || target === safeZone.anchor;
|
|
78
|
+
if (targetIsAnchor) {
|
|
79
|
+
event.preventDefault();
|
|
126
80
|
}
|
|
127
81
|
/**
|
|
128
82
|
* In Safari, if the trigger element is inside a container with tabIndex={0}, a click on the trigger
|
|
@@ -133,18 +87,16 @@ const DismissableLayerNode = forwardRef((_a, ref) => {
|
|
|
133
87
|
* 'pointerdownoutside' event is sufficient to indicate interaction outside the DismissableLayer.
|
|
134
88
|
*/
|
|
135
89
|
if (event.detail.originalEvent.type === "focusin" &&
|
|
136
|
-
|
|
90
|
+
hasPointerDownOutside) {
|
|
137
91
|
event.preventDefault();
|
|
138
92
|
}
|
|
139
|
-
hasPointerDownOutsideRef.current = false;
|
|
140
|
-
hasInteractedOutsideRef.current = false;
|
|
141
93
|
}
|
|
142
94
|
const pointerDownOutside = usePointerDownOutside((event) => {
|
|
143
|
-
if (!
|
|
95
|
+
if (!shouldEnablePointerEvents) {
|
|
144
96
|
return;
|
|
145
97
|
}
|
|
146
98
|
/**
|
|
147
|
-
* We call these before letting `handleOutsideEvent` do its checks to give consumer a chance to preventDefault
|
|
99
|
+
* We call these before letting `handleOutsideEvent` do its checks to give consumer a chance to preventDefault.
|
|
148
100
|
*/
|
|
149
101
|
onPointerDownOutside === null || onPointerDownOutside === void 0 ? void 0 : onPointerDownOutside(event);
|
|
150
102
|
onInteractOutside === null || onInteractOutside === void 0 ? void 0 : onInteractOutside(event);
|
|
@@ -152,19 +104,13 @@ const DismissableLayerNode = forwardRef((_a, ref) => {
|
|
|
152
104
|
* Add safeZone to prevent closing when interacting with trigger/anchor or its children.
|
|
153
105
|
*/
|
|
154
106
|
safeZone && handleOutsideEvent(event);
|
|
155
|
-
/**
|
|
156
|
-
* Both `onPointerDownOutside` and `onInteractOutside` are able to preventDefault the event, thus stopping call for `onDismiss`.
|
|
157
|
-
*/
|
|
158
107
|
if (!event.defaultPrevented && onDismiss) {
|
|
159
108
|
onDismiss();
|
|
160
109
|
}
|
|
161
110
|
}, ownerDoc);
|
|
162
111
|
const focusOutside = useFocusOutside((event) => {
|
|
163
|
-
if (!enabled) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
112
|
/**
|
|
167
|
-
* We call these before letting `handleOutsideEvent` do its checks to give consumer a chance to preventDefault
|
|
113
|
+
* We call these before letting `handleOutsideEvent` do its checks to give consumer a chance to preventDefault.
|
|
168
114
|
*/
|
|
169
115
|
onFocusOutside === null || onFocusOutside === void 0 ? void 0 : onFocusOutside(event);
|
|
170
116
|
onInteractOutside === null || onInteractOutside === void 0 ? void 0 : onInteractOutside(event);
|
|
@@ -172,24 +118,16 @@ const DismissableLayerNode = forwardRef((_a, ref) => {
|
|
|
172
118
|
* Add safeZone to prevent closing when interacting with trigger/anchor or its children.
|
|
173
119
|
*/
|
|
174
120
|
safeZone && handleOutsideEvent(event);
|
|
175
|
-
/**
|
|
176
|
-
* Both `onFocusOutside` and `onInteractOutside` are able to preventDefault the event, thus stopping call for `onDismiss`.
|
|
177
|
-
*/
|
|
178
121
|
if (!event.defaultPrevented && onDismiss) {
|
|
179
122
|
onDismiss();
|
|
180
123
|
}
|
|
181
124
|
}, ownerDoc);
|
|
182
125
|
useEscapeKeydown((event) => {
|
|
183
|
-
if (!enabled) {
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
126
|
/**
|
|
187
127
|
* The deepest nested element will always be last in the descendants list.
|
|
188
128
|
* This allows us to only close the highest layer when pressing escape.
|
|
189
|
-
*
|
|
190
|
-
* In some cases a layer might still exist, but be disabled. We want to ignore these layers.
|
|
191
129
|
*/
|
|
192
|
-
const isHighestLayer = index ===
|
|
130
|
+
const isHighestLayer = index === context.layers.size - 1;
|
|
193
131
|
if (!isHighestLayer) {
|
|
194
132
|
return;
|
|
195
133
|
}
|
|
@@ -207,34 +145,104 @@ const DismissableLayerNode = forwardRef((_a, ref) => {
|
|
|
207
145
|
}
|
|
208
146
|
}, ownerDoc);
|
|
209
147
|
/**
|
|
210
|
-
*
|
|
211
|
-
* we want to disable pointer events on the body when the first layer is opened.
|
|
148
|
+
* Handles registering `layers` and `layersWithOutsidePointerEventsDisabled`.
|
|
212
149
|
*/
|
|
213
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: Every time the descendants change, we want to update the body pointer events since we might have added or removed a layer.
|
|
214
150
|
useEffect(() => {
|
|
215
|
-
if (!node
|
|
151
|
+
if (!node) {
|
|
216
152
|
return;
|
|
217
|
-
if (bodyLockCount === 0) {
|
|
218
|
-
originalBodyPointerEvents = ownerDoc.body.style.pointerEvents;
|
|
219
|
-
ownerDoc.body.style.pointerEvents = "none";
|
|
220
153
|
}
|
|
221
|
-
|
|
154
|
+
if (disableOutsidePointerEvents) {
|
|
155
|
+
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
156
|
+
originalBodyPointerEvents = ownerDoc.body.style.pointerEvents;
|
|
157
|
+
ownerDoc.body.style.pointerEvents = "none";
|
|
158
|
+
}
|
|
159
|
+
context.layersWithOutsidePointerEventsDisabled.add(node);
|
|
160
|
+
}
|
|
161
|
+
context.layers.add(node);
|
|
162
|
+
dispatchUpdate();
|
|
222
163
|
return () => {
|
|
223
|
-
if (
|
|
164
|
+
if (disableOutsidePointerEvents &&
|
|
165
|
+
context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
|
224
166
|
ownerDoc.body.style.pointerEvents = originalBodyPointerEvents;
|
|
225
167
|
}
|
|
226
|
-
bodyLockCount--;
|
|
227
168
|
};
|
|
228
|
-
}, [node,
|
|
169
|
+
}, [node, disableOutsidePointerEvents, context, ownerDoc]);
|
|
170
|
+
/**
|
|
171
|
+
* We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect
|
|
172
|
+
* because a change to `disableOutsidePointerEvents` would remove this layer from the stack
|
|
173
|
+
* and add it to the end again so the layering order wouldn't be creation order.
|
|
174
|
+
* We only want them to be removed from context stacks when unmounted.
|
|
175
|
+
*/
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
return () => {
|
|
178
|
+
if (!node) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
context.layers.delete(node);
|
|
182
|
+
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
|
183
|
+
dispatchUpdate();
|
|
184
|
+
};
|
|
185
|
+
}, [node, context]);
|
|
186
|
+
const parentBranchedLayer = useContext(BranchedLayerContext);
|
|
187
|
+
/**
|
|
188
|
+
* Handles registering and unregistering branched (nested) layers.
|
|
189
|
+
* When this layer has a parent, we register it as a child of the parent.
|
|
190
|
+
*/
|
|
191
|
+
useEffect(() => {
|
|
192
|
+
if (!node || !parentBranchedLayer || node === parentBranchedLayer) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (!context.branchedLayers.has(parentBranchedLayer)) {
|
|
196
|
+
context.branchedLayers.set(parentBranchedLayer, new Set());
|
|
197
|
+
}
|
|
198
|
+
const branchedChildren = context.branchedLayers.get(parentBranchedLayer);
|
|
199
|
+
branchedChildren.add(node);
|
|
200
|
+
dispatchUpdate();
|
|
201
|
+
return () => {
|
|
202
|
+
// Remove this node from the parent's children
|
|
203
|
+
branchedChildren.delete(node);
|
|
204
|
+
// If the parent has no more children, remove the parent from branchedLayers
|
|
205
|
+
if (branchedChildren.size === 0) {
|
|
206
|
+
context.branchedLayers.delete(parentBranchedLayer);
|
|
207
|
+
}
|
|
208
|
+
dispatchUpdate();
|
|
209
|
+
};
|
|
210
|
+
}, [node, parentBranchedLayer, context]);
|
|
229
211
|
/**
|
|
230
|
-
*
|
|
212
|
+
* Synchronizes layer state across all mounted `DismissableLayer` instances.
|
|
213
|
+
* All layers re-render on every context change to recalculate their position and pointer-events.
|
|
231
214
|
*/
|
|
232
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: We explicitly want to run this on unmount, including every time the node updates to make sure we don't lock the application behind pointer-events: none.
|
|
233
215
|
useEffect(() => {
|
|
234
|
-
|
|
235
|
-
|
|
216
|
+
const handleUpdate = () => forceRerender({});
|
|
217
|
+
document.addEventListener(CONTEXT_UPDATE_EVENT, handleUpdate);
|
|
218
|
+
return () => document.removeEventListener(CONTEXT_UPDATE_EVENT, handleUpdate);
|
|
219
|
+
}, []);
|
|
236
220
|
const Comp = asChild ? Slot : "div";
|
|
237
|
-
return (React.createElement(
|
|
221
|
+
return (React.createElement(BranchedLayerContext.Provider, { value: node },
|
|
222
|
+
React.createElement(Comp, Object.assign({}, restProps, { ref: mergedRefs, style: Object.assign({ pointerEvents: isBodyPointerEventsDisabled
|
|
223
|
+
? shouldEnablePointerEvents
|
|
224
|
+
? "auto"
|
|
225
|
+
: "none"
|
|
226
|
+
: undefined }, restProps.style), onFocusCapture: composeEventHandlers(restProps.onFocusCapture, focusOutside.onFocusCapture), onBlurCapture: composeEventHandlers(restProps.onBlurCapture, focusOutside.onBlurCapture), onPointerDownCapture: composeEventHandlers(restProps.onPointerDownCapture, pointerDownOutside.onPointerDownCapture) }), children)));
|
|
238
227
|
});
|
|
228
|
+
/**
|
|
229
|
+
* Dispatches a custom event to inform all `DismissableLayer` components to update.
|
|
230
|
+
*/
|
|
231
|
+
function dispatchUpdate() {
|
|
232
|
+
const event = new CustomEvent(CONTEXT_UPDATE_EVENT);
|
|
233
|
+
document.dispatchEvent(event);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Returns the index of the last layer that is found in the given subset.
|
|
237
|
+
* Returns -1 if no layers are found.
|
|
238
|
+
*/
|
|
239
|
+
function findHighestLayerIndex(orderedLayers, layersWithOutsidePointerEventsDisabled) {
|
|
240
|
+
for (let i = orderedLayers.length - 1; i >= 0; i -= 1) {
|
|
241
|
+
if (layersWithOutsidePointerEventsDisabled.has(orderedLayers[i])) {
|
|
242
|
+
return i;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return -1;
|
|
246
|
+
}
|
|
239
247
|
export { DismissableLayer };
|
|
240
248
|
//# sourceMappingURL=DismissableLayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DismissableLayer.js","sourceRoot":"","sources":["../../../src/overlays/dismissablelayer/DismissableLayer.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"DismissableLayer.js","sourceRoot":"","sources":["../../../src/overlays/dismissablelayer/DismissableLayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type DismissableLayerElement = HTMLDivElement;
|
|
2
|
+
/**
|
|
3
|
+
* Returns an array of layers sorted such that parents appear before their children.
|
|
4
|
+
*
|
|
5
|
+
* **Why**:
|
|
6
|
+
* - mount order for parent-child relationships is unstable due to portals
|
|
7
|
+
* - event handling relies on parents being before children in the array
|
|
8
|
+
*
|
|
9
|
+
* This function ensures that for any parent-child relationship, the parent layer
|
|
10
|
+
* will always appear before its child layer in the returned array,
|
|
11
|
+
* resulting in consistent behavior.
|
|
12
|
+
*
|
|
13
|
+
* @param layers - A set of DismissableLayerElements to be sorted.
|
|
14
|
+
* @param branchedLayers - A map where each key is a parent layer and its value is a set of child layers.
|
|
15
|
+
* @returns An array of DismissableLayerElements sorted by parent-child relationships.
|
|
16
|
+
*/
|
|
17
|
+
declare function getSortedLayers(layers: Set<DismissableLayerElement>, branchedLayers: Map<DismissableLayerElement, Set<DismissableLayerElement>>): DismissableLayerElement[];
|
|
18
|
+
export { getSortedLayers };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of layers sorted such that parents appear before their children.
|
|
3
|
+
*
|
|
4
|
+
* **Why**:
|
|
5
|
+
* - mount order for parent-child relationships is unstable due to portals
|
|
6
|
+
* - event handling relies on parents being before children in the array
|
|
7
|
+
*
|
|
8
|
+
* This function ensures that for any parent-child relationship, the parent layer
|
|
9
|
+
* will always appear before its child layer in the returned array,
|
|
10
|
+
* resulting in consistent behavior.
|
|
11
|
+
*
|
|
12
|
+
* @param layers - A set of DismissableLayerElements to be sorted.
|
|
13
|
+
* @param branchedLayers - A map where each key is a parent layer and its value is a set of child layers.
|
|
14
|
+
* @returns An array of DismissableLayerElements sorted by parent-child relationships.
|
|
15
|
+
*/
|
|
16
|
+
function getSortedLayers(layers, branchedLayers) {
|
|
17
|
+
const sorted = [];
|
|
18
|
+
const visited = new Set();
|
|
19
|
+
const parentMap = new Map();
|
|
20
|
+
branchedLayers.forEach((children, parent) => {
|
|
21
|
+
children.forEach((child) => {
|
|
22
|
+
if (child !== parent) {
|
|
23
|
+
parentMap.set(child, parent);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
const walk = (layer) => {
|
|
28
|
+
if (visited.has(layer)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const parent = parentMap.get(layer);
|
|
32
|
+
if (parent && !visited.has(parent)) {
|
|
33
|
+
walk(parent);
|
|
34
|
+
if (visited.has(layer)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
visited.add(layer);
|
|
39
|
+
sorted.push(layer);
|
|
40
|
+
const children = branchedLayers.get(layer);
|
|
41
|
+
if (children) {
|
|
42
|
+
children.forEach(walk);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
layers.forEach(walk);
|
|
46
|
+
return sorted;
|
|
47
|
+
}
|
|
48
|
+
export { getSortedLayers };
|
|
49
|
+
//# sourceMappingURL=sort-layers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-layers.js","sourceRoot":"","sources":["../../../../src/overlays/dismissablelayer/util/sort-layers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CACtB,MAAoC,EACpC,cAA0E;IAE1E,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoD,CAAC;IAE9E,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,KAA8B,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|