design-zystem 1.0.361 → 1.0.363
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/index.d.mts +4 -3
- package/dist/ui/index.d.ts +4 -3
- package/dist/ui/index.js +10 -3
- package/dist/ui/index.mjs +10 -3
- package/package.json +1 -1
package/dist/ui/index.d.mts
CHANGED
|
@@ -771,9 +771,10 @@ interface DrawerProps {
|
|
|
771
771
|
size?: string;
|
|
772
772
|
/**
|
|
773
773
|
* `false` : le panneau n'inerte plus la page et ne capture plus le focus — à
|
|
774
|
-
* utiliser dès qu'il ouvre lui-même une modale
|
|
775
|
-
* de son DOM, devient inerte
|
|
776
|
-
* referme quand même, sauf s'il tombe dans une modale
|
|
774
|
+
* utiliser dès qu'il ouvre lui-même une modale ou une liste déroulante en
|
|
775
|
+
* portal (sinon celle-ci, montée hors de son DOM, devient inerte). Le clic à
|
|
776
|
+
* côté le referme quand même, sauf s'il tombe dans une modale ou une liste
|
|
777
|
+
* ouverte par-dessus.
|
|
777
778
|
*/
|
|
778
779
|
modal?: boolean;
|
|
779
780
|
className?: string;
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -771,9 +771,10 @@ interface DrawerProps {
|
|
|
771
771
|
size?: string;
|
|
772
772
|
/**
|
|
773
773
|
* `false` : le panneau n'inerte plus la page et ne capture plus le focus — à
|
|
774
|
-
* utiliser dès qu'il ouvre lui-même une modale
|
|
775
|
-
* de son DOM, devient inerte
|
|
776
|
-
* referme quand même, sauf s'il tombe dans une modale
|
|
774
|
+
* utiliser dès qu'il ouvre lui-même une modale ou une liste déroulante en
|
|
775
|
+
* portal (sinon celle-ci, montée hors de son DOM, devient inerte). Le clic à
|
|
776
|
+
* côté le referme quand même, sauf s'il tombe dans une modale ou une liste
|
|
777
|
+
* ouverte par-dessus.
|
|
777
778
|
*/
|
|
778
779
|
modal?: boolean;
|
|
779
780
|
className?: string;
|
package/dist/ui/index.js
CHANGED
|
@@ -3524,6 +3524,7 @@ var CollapsibleContent = (_a) => {
|
|
|
3524
3524
|
var import_react25 = require("react");
|
|
3525
3525
|
var import_vaul = require("vaul");
|
|
3526
3526
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3527
|
+
var KEEP_OPEN_SELECTOR = '[role="dialog"], [role="listbox"], [data-drawer-keep-open]';
|
|
3527
3528
|
var CONTENT_POSITION = {
|
|
3528
3529
|
top: "inset-x-4 top-4 rounded-2xl",
|
|
3529
3530
|
bottom: "inset-x-4 bottom-4 rounded-2xl",
|
|
@@ -3548,12 +3549,19 @@ var Drawer = ({
|
|
|
3548
3549
|
const target = event.target;
|
|
3549
3550
|
if (!target) return;
|
|
3550
3551
|
if ((_a = contentRef.current) == null ? void 0 : _a.contains(target)) return;
|
|
3551
|
-
if (target.closest(
|
|
3552
|
+
if (target.closest(KEEP_OPEN_SELECTOR)) return;
|
|
3552
3553
|
onClose == null ? void 0 : onClose();
|
|
3553
3554
|
};
|
|
3554
3555
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
3555
3556
|
return () => document.removeEventListener("pointerdown", handlePointerDown);
|
|
3556
3557
|
}, [modal, open, onClose]);
|
|
3558
|
+
(0, import_react25.useEffect)(() => {
|
|
3559
|
+
if (modal || !open) return;
|
|
3560
|
+
const frame = requestAnimationFrame(() => {
|
|
3561
|
+
document.body.style.pointerEvents = "auto";
|
|
3562
|
+
});
|
|
3563
|
+
return () => cancelAnimationFrame(frame);
|
|
3564
|
+
}, [modal, open]);
|
|
3557
3565
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3558
3566
|
import_vaul.Drawer.Root,
|
|
3559
3567
|
{
|
|
@@ -3569,8 +3577,7 @@ var Drawer = ({
|
|
|
3569
3577
|
ref: contentRef,
|
|
3570
3578
|
onPointerDownOutside: (event) => {
|
|
3571
3579
|
const target = event.target;
|
|
3572
|
-
if (target == null ? void 0 : target.closest(
|
|
3573
|
-
event.preventDefault();
|
|
3580
|
+
if (target == null ? void 0 : target.closest(KEEP_OPEN_SELECTOR)) event.preventDefault();
|
|
3574
3581
|
},
|
|
3575
3582
|
className: cn(
|
|
3576
3583
|
"fixed z-50 flex flex-col gap-4 bg-white p-6 outline-none",
|
package/dist/ui/index.mjs
CHANGED
|
@@ -3354,6 +3354,7 @@ var CollapsibleContent = (_a) => {
|
|
|
3354
3354
|
import { useEffect as useEffect5, useRef as useRef6 } from "react";
|
|
3355
3355
|
import { Drawer as VaulDrawer } from "vaul";
|
|
3356
3356
|
import { jsx as jsx45, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3357
|
+
var KEEP_OPEN_SELECTOR = '[role="dialog"], [role="listbox"], [data-drawer-keep-open]';
|
|
3357
3358
|
var CONTENT_POSITION = {
|
|
3358
3359
|
top: "inset-x-4 top-4 rounded-2xl",
|
|
3359
3360
|
bottom: "inset-x-4 bottom-4 rounded-2xl",
|
|
@@ -3378,12 +3379,19 @@ var Drawer = ({
|
|
|
3378
3379
|
const target = event.target;
|
|
3379
3380
|
if (!target) return;
|
|
3380
3381
|
if ((_a = contentRef.current) == null ? void 0 : _a.contains(target)) return;
|
|
3381
|
-
if (target.closest(
|
|
3382
|
+
if (target.closest(KEEP_OPEN_SELECTOR)) return;
|
|
3382
3383
|
onClose == null ? void 0 : onClose();
|
|
3383
3384
|
};
|
|
3384
3385
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
3385
3386
|
return () => document.removeEventListener("pointerdown", handlePointerDown);
|
|
3386
3387
|
}, [modal, open, onClose]);
|
|
3388
|
+
useEffect5(() => {
|
|
3389
|
+
if (modal || !open) return;
|
|
3390
|
+
const frame = requestAnimationFrame(() => {
|
|
3391
|
+
document.body.style.pointerEvents = "auto";
|
|
3392
|
+
});
|
|
3393
|
+
return () => cancelAnimationFrame(frame);
|
|
3394
|
+
}, [modal, open]);
|
|
3387
3395
|
return /* @__PURE__ */ jsx45(
|
|
3388
3396
|
VaulDrawer.Root,
|
|
3389
3397
|
{
|
|
@@ -3399,8 +3407,7 @@ var Drawer = ({
|
|
|
3399
3407
|
ref: contentRef,
|
|
3400
3408
|
onPointerDownOutside: (event) => {
|
|
3401
3409
|
const target = event.target;
|
|
3402
|
-
if (target == null ? void 0 : target.closest(
|
|
3403
|
-
event.preventDefault();
|
|
3410
|
+
if (target == null ? void 0 : target.closest(KEEP_OPEN_SELECTOR)) event.preventDefault();
|
|
3404
3411
|
},
|
|
3405
3412
|
className: cn(
|
|
3406
3413
|
"fixed z-50 flex flex-col gap-4 bg-white p-6 outline-none",
|