lizaui 12.0.23 → 12.0.24

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.
@@ -9,7 +9,7 @@ require("../chunks/textarea-C-0g_4r4.js");
9
9
  const input = require("../chunks/input-D-ETWPYh.js");
10
10
  require("clsx");
11
11
  require("tailwind-merge");
12
- require("../chunks/modal-ByRHCAPb.js");
12
+ require("../chunks/modal-XJXD5sst.js");
13
13
  require("../chunks/button-BR0TQgok.js");
14
14
  const _commonjsHelpers = require("../chunks/_commonjsHelpers-D-4Fx4X-.js");
15
15
  const createLucideIcon = require("../chunks/createLucideIcon-DvjiV7vp.js");
@@ -7,7 +7,7 @@ import "../chunks/textarea-DUJqX13u.js";
7
7
  import { I as Input } from "../chunks/input-DO2QjJ-y.js";
8
8
  import "clsx";
9
9
  import "tailwind-merge";
10
- import "../chunks/modal-6a44a-EQ.js";
10
+ import "../chunks/modal-Bb-d5duB.js";
11
11
  import "../chunks/button-BFgg3tFM.js";
12
12
  import { c as commonjsGlobal } from "../chunks/_commonjsHelpers-CCIqAdii.js";
13
13
  import { c as createLucideIcon } from "../chunks/createLucideIcon-C6RDgWrQ.js";
@@ -170,20 +170,29 @@ const Modal = forwardRef(({
170
170
  }), isVisible ? "visible" : "invisible", classNameOverlay), onClick: onClickOutside, "aria-hidden": "true", tabIndex: -1 }, "modal-overlay"),
171
171
  /* @__PURE__ */ jsx(m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.modal, className: cn(
172
172
  // w-full: un `fixed` con left-[50%] sin ancho se encoge al contenido (tope 50vw) y anula los max-w de size.
173
- "z-50 flex w-full items-center justify-center",
173
+ // pointer-events-none: este contenedor ocupa todo el ancho a la altura del diálogo y tapa el overlay; sin
174
+ // esto, un clic a los costados del diálogo no llega al overlay y onClickOutside no se dispara.
175
+ "pointer-events-none z-50 flex w-full items-center justify-center",
174
176
  size === "full" ? "px-0" : "px-0",
175
177
  classNameModalContent,
176
178
  placementVariants({
177
179
  placement
178
180
  }),
179
181
  isVisible ? "visible" : "invisible"
180
- ), children: /* @__PURE__ */ jsx("div", { ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: cn("w-full rounded-xl shadow-lg bg-content1", sizeVariants({
181
- size
182
- }), radiusVariants({
183
- radius
184
- }), shadowVariants({
185
- shadow
186
- }), classNameDialog), style, children: /* @__PURE__ */ jsx(ModalContext.Provider, { value: {
182
+ ), children: /* @__PURE__ */ jsx("div", { ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: cn(
183
+ // El diálogo vuelve a recibir clics (el contenedor de arriba los deja pasar al overlay).
184
+ "pointer-events-auto w-full rounded-xl shadow-lg bg-content1",
185
+ sizeVariants({
186
+ size
187
+ }),
188
+ radiusVariants({
189
+ radius
190
+ }),
191
+ shadowVariants({
192
+ shadow
193
+ }),
194
+ classNameDialog
195
+ ), style, children: /* @__PURE__ */ jsx(ModalContext.Provider, { value: {
187
196
  headerId,
188
197
  bodyId
189
198
  }, children: /* @__PURE__ */ jsx("div", { className: cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) }) }) }, "modal-content")
@@ -385,4 +394,4 @@ export {
385
394
  ModalFooter as b,
386
395
  ModalHeader as c
387
396
  };
388
- //# sourceMappingURL=modal-6a44a-EQ.js.map
397
+ //# sourceMappingURL=modal-Bb-d5duB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-Bb-d5duB.js","sources":["../../src/components/transition/transition-utils.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import type { Target, TargetAndTransition, Transition } from \"framer-motion\";\n\ntype WithMotionState<P> = Partial<Record<\"enter\" | \"exit\", P>>;\n\nexport type TransitionConfig = WithMotionState<Transition>;\n\nexport type TransitionEndConfig = WithMotionState<Target>;\n\nexport type TransitionProperties = {\n\t/**\n\t * Custom `transition` definition for `enter` and `exit`\n\t */\n\ttransition?: TransitionConfig;\n\t/**\n\t * Custom `transitionEnd` definition for `enter` and `exit`\n\t */\n\ttransitionEnd?: TransitionEndConfig;\n};\n\ntype TargetResolver<P = {}> = (props: P & TransitionProperties) => TargetAndTransition;\n\ntype Variant<P = {}> = TargetAndTransition | TargetResolver<P>;\n\nexport type Variants<P = {}> = Record<\n\tstring,\n\t{\n\t\tenter: Variant<P>;\n\t\texit: Variant<P>;\n\t\tinitial?: Variant<P>;\n\t}\n>;\n\nexport const TRANSITION_EASINGS = {\n\tease: [0.36, 0.66, 0.4, 1],\n\teaseIn: [0.4, 0, 1, 1],\n\teaseOut: [0, 0, 0.2, 1],\n\teaseInOut: [0.4, 0, 0.2, 1],\n\tspring: [0.155, 1.105, 0.295, 1.12],\n\tspringOut: [0.57, -0.15, 0.62, 0.07],\n\tsoftSpring: [0.16, 1.11, 0.3, 1.02],\n} as const;\n\nexport const TRANSITION_DEFAULTS = {\n\tenter: {\n\t\tduration: 0.2,\n\t\tease: TRANSITION_EASINGS.easeOut,\n\t},\n\texit: {\n\t\tduration: 0.1,\n\t\tease: TRANSITION_EASINGS.easeIn,\n\t},\n} as const;\n\nexport const TRANSITION_VARIANTS: Variants = {\n\tscaleSpring: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.2,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(0.85)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\ttype: \"easeOut\" as any,\n\t\t\t\tduration: 0.15,\n\t\t\t},\n\t\t},\n\t},\n\tscaleSpringOpacity: {\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\ttransform: \"scale(0.8)\",\n\t\t},\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\ttransform: \"scale(1)\",\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\ttransform: \"scale(0.96)\",\n\t\t\ttransition: {\n\t\t\t\ttype: \"easeOut\" as any,\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.15,\n\t\t\t},\n\t\t},\n\t},\n\tscale: {\n\t\tenter: { scale: 1 },\n\t\texit: { scale: 0.95 },\n\t},\n\tscaleFadeIn: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.25,\n\t\t\t\tease: TRANSITION_EASINGS.easeIn,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(0.95)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tscaleInOut: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.4,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(1.03)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.3,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t},\n\tfade: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.4,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.3,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t},\n\tmodal: {\n\t\tenter: {\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tstiffness: 400,\n\t\t\t\tdamping: 40,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\tscale: 0.96,\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tcollapse: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\theight: \"auto\",\n\t\t\ttransition: {\n\t\t\t\theight: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tbounce: 0,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t\topacity: {\n\t\t\t\t\tease: \"ease\" as any,\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\theight: 0,\n\t\t\ttransition: {\n\t\t\t\tease: \"ease\" as any,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t},\n};\n","\"use client\";\n\nimport { useOverlayHost, useOverlayLayer } from \"@/lib/overlay/use-overlay\";\nimport { cn } from \"@/lib/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { createContext, forwardRef, useContext, useId, useMemo, type Ref } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Button } from \"../button\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\n\nconst ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\t\"none\": \"rounded-none\",\n\t\t\t\"sm\": \"rounded-sm\",\n\t\t\t\"md\": \"rounded-md\",\n\t\t\t\"lg\": \"rounded-lg\",\n\t\t\t\"xl\": \"rounded-xl\",\n\t\t\t\"2xl\": \"rounded-2xl\",\n\t\t\t\"3xl\": \"rounded-3xl\",\n\t\t\t\"full\": \"rounded-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"xl\",\n\t},\n});\n\nconst placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameModalContent = \"\",\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"xl\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\n\t\tconst { headerId, bodyId } = useMemo(\n\t\t\t() => ({\n\t\t\t\theaderId: `${modalId}-header`,\n\t\t\t\tbodyId: `${modalId}-body`,\n\t\t\t}),\n\t\t\t[modalId],\n\t\t);\n\n\t\t// Nodo propio al final del body: el último overlay abierto (Modal o Drawer) queda encima del resto.\n\t\tconst { host, release } = useOverlayHost(isShow);\n\n\t\t// Pila compartida: Escape solo cierra el overlay de arriba, el scroll se bloquea con contador y el fondo queda inert.\n\t\tuseOverlayLayer({\n\t\t\tisActive: isShow && isVisible,\n\t\t\thost,\n\t\t\tshouldBlockScroll,\n\t\t\tbodyClassName: \"modal-open\",\n\t\t\tonEscape: () => {\n\t\t\t\tif (!isKeyboardDismissDisabled) onClickOutside?.();\n\t\t\t},\n\t\t});\n\n\t\tif (!host) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence onExitComplete={release}>\n\t\t\t\t{isShow && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-overlay\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.fade}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0 z-50\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tisVisible ? \"visible\" : \"invisible\",\n\t\t\t\t\t\t\t\t\tclassNameOverlay,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.modal}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t// w-full: un `fixed` con left-[50%] sin ancho se encoge al contenido (tope 50vw) y anula los max-w de size.\n\t\t\t\t\t\t\t\t\t// pointer-events-none: este contenedor ocupa todo el ancho a la altura del diálogo y tapa el overlay; sin\n\t\t\t\t\t\t\t\t\t// esto, un clic a los costados del diálogo no llega al overlay y onClickOutside no se dispara.\n\t\t\t\t\t\t\t\t\t\"pointer-events-none z-50 flex w-full items-center justify-center\",\n\t\t\t\t\t\t\t\t\tsize === \"full\" ? \"px-0\" : \"px-0\",\n\t\t\t\t\t\t\t\t\tclassNameModalContent,\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tisVisible ? \"visible\" : \"invisible\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t// El diálogo vuelve a recibir clics (el contenedor de arriba los deja pasar al overlay).\n\t\t\t\t\t\t\t\t\t\t\"pointer-events-auto w-full rounded-xl shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styleContainer}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ModalContext.Provider>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\thost,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({\n\ttitle,\n\tshowCloseButton = true,\n\tdisabled = false,\n\tonClick,\n\tclassName,\n\tstyle,\n\tchildren,\n\tid,\n\t...props\n}: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full relative\")} style={style}>\n\t\t\t<div id={id || context?.headerId} className={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)} {...props}>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body relative flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","easeOut","TRANSITION_VARIANTS","fade","enter","opacity","transition","duration","exit","modal","scale","type","stiffness","damping","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","placementVariants","placement","center","top","bottom","shadowVariants","shadow","none","sm","md","lg","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameModalContent","classNameDialog","classNameContent","isKeyboardDismissDisabled","shouldBlockScroll","ref","uniqueId","useId","headerId","bodyId","useMemo","host","release","useOverlayHost","useOverlayLayer","isActive","bodyClassName","onEscape","ReactDOM","createPortal","then","res","domAnimation","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -193,20 +193,29 @@ const Modal = React.forwardRef(({
193
193
  }), isVisible ? "visible" : "invisible", classNameOverlay), onClick: onClickOutside, "aria-hidden": "true", tabIndex: -1 }, "modal-overlay"),
194
194
  /* @__PURE__ */ jsxRuntime.jsx(fm.m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.modal, className: utils.cn(
195
195
  // w-full: un `fixed` con left-[50%] sin ancho se encoge al contenido (tope 50vw) y anula los max-w de size.
196
- "z-50 flex w-full items-center justify-center",
196
+ // pointer-events-none: este contenedor ocupa todo el ancho a la altura del diálogo y tapa el overlay; sin
197
+ // esto, un clic a los costados del diálogo no llega al overlay y onClickOutside no se dispara.
198
+ "pointer-events-none z-50 flex w-full items-center justify-center",
197
199
  size === "full" ? "px-0" : "px-0",
198
200
  classNameModalContent,
199
201
  placementVariants({
200
202
  placement
201
203
  }),
202
204
  isVisible ? "visible" : "invisible"
203
- ), children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: utils.cn("w-full rounded-xl shadow-lg bg-content1", sizeVariants({
204
- size
205
- }), radiusVariants({
206
- radius
207
- }), shadowVariants({
208
- shadow
209
- }), classNameDialog), style, children: /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: {
205
+ ), children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: utils.cn(
206
+ // El diálogo vuelve a recibir clics (el contenedor de arriba los deja pasar al overlay).
207
+ "pointer-events-auto w-full rounded-xl shadow-lg bg-content1",
208
+ sizeVariants({
209
+ size
210
+ }),
211
+ radiusVariants({
212
+ radius
213
+ }),
214
+ shadowVariants({
215
+ shadow
216
+ }),
217
+ classNameDialog
218
+ ), style, children: /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: {
210
219
  headerId,
211
220
  bodyId
212
221
  }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) }) }) }, "modal-content")
@@ -406,4 +415,4 @@ exports.Modal = Modal;
406
415
  exports.ModalBody = ModalBody;
407
416
  exports.ModalFooter = ModalFooter;
408
417
  exports.ModalHeader = ModalHeader;
409
- //# sourceMappingURL=modal-ByRHCAPb.js.map
418
+ //# sourceMappingURL=modal-XJXD5sst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-XJXD5sst.js","sources":["../../src/components/transition/transition-utils.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import type { Target, TargetAndTransition, Transition } from \"framer-motion\";\n\ntype WithMotionState<P> = Partial<Record<\"enter\" | \"exit\", P>>;\n\nexport type TransitionConfig = WithMotionState<Transition>;\n\nexport type TransitionEndConfig = WithMotionState<Target>;\n\nexport type TransitionProperties = {\n\t/**\n\t * Custom `transition` definition for `enter` and `exit`\n\t */\n\ttransition?: TransitionConfig;\n\t/**\n\t * Custom `transitionEnd` definition for `enter` and `exit`\n\t */\n\ttransitionEnd?: TransitionEndConfig;\n};\n\ntype TargetResolver<P = {}> = (props: P & TransitionProperties) => TargetAndTransition;\n\ntype Variant<P = {}> = TargetAndTransition | TargetResolver<P>;\n\nexport type Variants<P = {}> = Record<\n\tstring,\n\t{\n\t\tenter: Variant<P>;\n\t\texit: Variant<P>;\n\t\tinitial?: Variant<P>;\n\t}\n>;\n\nexport const TRANSITION_EASINGS = {\n\tease: [0.36, 0.66, 0.4, 1],\n\teaseIn: [0.4, 0, 1, 1],\n\teaseOut: [0, 0, 0.2, 1],\n\teaseInOut: [0.4, 0, 0.2, 1],\n\tspring: [0.155, 1.105, 0.295, 1.12],\n\tspringOut: [0.57, -0.15, 0.62, 0.07],\n\tsoftSpring: [0.16, 1.11, 0.3, 1.02],\n} as const;\n\nexport const TRANSITION_DEFAULTS = {\n\tenter: {\n\t\tduration: 0.2,\n\t\tease: TRANSITION_EASINGS.easeOut,\n\t},\n\texit: {\n\t\tduration: 0.1,\n\t\tease: TRANSITION_EASINGS.easeIn,\n\t},\n} as const;\n\nexport const TRANSITION_VARIANTS: Variants = {\n\tscaleSpring: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.2,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(0.85)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\ttype: \"easeOut\" as any,\n\t\t\t\tduration: 0.15,\n\t\t\t},\n\t\t},\n\t},\n\tscaleSpringOpacity: {\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\ttransform: \"scale(0.8)\",\n\t\t},\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\ttransform: \"scale(1)\",\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\ttransform: \"scale(0.96)\",\n\t\t\ttransition: {\n\t\t\t\ttype: \"easeOut\" as any,\n\t\t\t\tbounce: 0,\n\t\t\t\tduration: 0.15,\n\t\t\t},\n\t\t},\n\t},\n\tscale: {\n\t\tenter: { scale: 1 },\n\t\texit: { scale: 0.95 },\n\t},\n\tscaleFadeIn: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.25,\n\t\t\t\tease: TRANSITION_EASINGS.easeIn,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(0.95)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tscaleInOut: {\n\t\tenter: {\n\t\t\ttransform: \"scale(1)\",\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.4,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\ttransform: \"scale(1.03)\",\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.3,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t},\n\tfade: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.4,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.3,\n\t\t\t\tease: TRANSITION_EASINGS.ease,\n\t\t\t},\n\t\t},\n\t},\n\tmodal: {\n\t\tenter: {\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tstiffness: 400,\n\t\t\t\tdamping: 40,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\tscale: 0.96,\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tcollapse: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\theight: \"auto\",\n\t\t\ttransition: {\n\t\t\t\theight: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tbounce: 0,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t\topacity: {\n\t\t\t\t\tease: \"ease\" as any,\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\theight: 0,\n\t\t\ttransition: {\n\t\t\t\tease: \"ease\" as any,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t},\n};\n","\"use client\";\n\nimport { useOverlayHost, useOverlayLayer } from \"@/lib/overlay/use-overlay\";\nimport { cn } from \"@/lib/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { createContext, forwardRef, useContext, useId, useMemo, type Ref } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Button } from \"../button\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\n\nconst ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\t\"none\": \"rounded-none\",\n\t\t\t\"sm\": \"rounded-sm\",\n\t\t\t\"md\": \"rounded-md\",\n\t\t\t\"lg\": \"rounded-lg\",\n\t\t\t\"xl\": \"rounded-xl\",\n\t\t\t\"2xl\": \"rounded-2xl\",\n\t\t\t\"3xl\": \"rounded-3xl\",\n\t\t\t\"full\": \"rounded-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"xl\",\n\t},\n});\n\nconst placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameModalContent = \"\",\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"xl\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\n\t\tconst { headerId, bodyId } = useMemo(\n\t\t\t() => ({\n\t\t\t\theaderId: `${modalId}-header`,\n\t\t\t\tbodyId: `${modalId}-body`,\n\t\t\t}),\n\t\t\t[modalId],\n\t\t);\n\n\t\t// Nodo propio al final del body: el último overlay abierto (Modal o Drawer) queda encima del resto.\n\t\tconst { host, release } = useOverlayHost(isShow);\n\n\t\t// Pila compartida: Escape solo cierra el overlay de arriba, el scroll se bloquea con contador y el fondo queda inert.\n\t\tuseOverlayLayer({\n\t\t\tisActive: isShow && isVisible,\n\t\t\thost,\n\t\t\tshouldBlockScroll,\n\t\t\tbodyClassName: \"modal-open\",\n\t\t\tonEscape: () => {\n\t\t\t\tif (!isKeyboardDismissDisabled) onClickOutside?.();\n\t\t\t},\n\t\t});\n\n\t\tif (!host) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence onExitComplete={release}>\n\t\t\t\t{isShow && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-overlay\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.fade}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0 z-50\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tisVisible ? \"visible\" : \"invisible\",\n\t\t\t\t\t\t\t\t\tclassNameOverlay,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.modal}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t// w-full: un `fixed` con left-[50%] sin ancho se encoge al contenido (tope 50vw) y anula los max-w de size.\n\t\t\t\t\t\t\t\t\t// pointer-events-none: este contenedor ocupa todo el ancho a la altura del diálogo y tapa el overlay; sin\n\t\t\t\t\t\t\t\t\t// esto, un clic a los costados del diálogo no llega al overlay y onClickOutside no se dispara.\n\t\t\t\t\t\t\t\t\t\"pointer-events-none z-50 flex w-full items-center justify-center\",\n\t\t\t\t\t\t\t\t\tsize === \"full\" ? \"px-0\" : \"px-0\",\n\t\t\t\t\t\t\t\t\tclassNameModalContent,\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tisVisible ? \"visible\" : \"invisible\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t// El diálogo vuelve a recibir clics (el contenedor de arriba los deja pasar al overlay).\n\t\t\t\t\t\t\t\t\t\t\"pointer-events-auto w-full rounded-xl shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styleContainer}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</ModalContext.Provider>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\thost,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({\n\ttitle,\n\tshowCloseButton = true,\n\tdisabled = false,\n\tonClick,\n\tclassName,\n\tstyle,\n\tchildren,\n\tid,\n\t...props\n}: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full relative\")} style={style}>\n\t\t\t<div id={id || context?.headerId} className={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)} {...props}>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body relative flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","easeOut","TRANSITION_VARIANTS","fade","enter","opacity","transition","duration","exit","modal","scale","type","stiffness","damping","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","placementVariants","placement","center","top","bottom","shadowVariants","shadow","none","sm","md","lg","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameModalContent","classNameDialog","classNameContent","isKeyboardDismissDisabled","shouldBlockScroll","ref","uniqueId","useId","headerId","bodyId","useMemo","host","release","useOverlayHost","useOverlayLayer","isActive","bodyClassName","onEscape","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","Fragment","m","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","Button","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -5,7 +5,7 @@ const React = require("react");
5
5
  const index = require("./index-CULZAuw9.js");
6
6
  const index$1 = require("./index-CBGDcPPF.js");
7
7
  const utils = require("./utils-ij3i9zTT.js");
8
- const modal = require("./modal-ByRHCAPb.js");
8
+ const modal = require("./modal-XJXD5sst.js");
9
9
  const createLucideIcon = require("./createLucideIcon-DvjiV7vp.js");
10
10
  function _interopNamespaceDefault(e) {
11
11
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -2338,4 +2338,4 @@ exports.PopoverTrigger = PopoverTrigger;
2338
2338
  exports.ScrollArea = ScrollArea;
2339
2339
  exports.ScrollBar = ScrollBar;
2340
2340
  exports.createDialogScope = createDialogScope;
2341
- //# sourceMappingURL=scroll-area-W95K6hNR.js.map
2341
+ //# sourceMappingURL=scroll-area-CHUkGZC8.js.map