lizaui 5.0.6 → 5.0.8

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/jsx-runtime-BjzqJBtL.js"),A=require("react-dom"),i=require("react"),o=require("../chunks/utils-BRdagWxe.js"),L=require("../chunks/button-CuSv0p75.js"),u=require("../chunks/index-nwdlcB7h.js"),h=require("../chunks/index-lrI_r1ww.js"),v=require("../chunks/features-animation-BoXKk5t2.js"),m={ease:[.36,.66,.4,1]},j={scaleInOut:{enter:{transform:"scale(1)",opacity:1,transition:{duration:.4,ease:m.ease}},exit:{transform:"scale(1.03)",opacity:0,transition:{duration:.3,ease:m.ease}}},fade:{enter:{opacity:1,transition:{duration:.4,ease:m.ease}},exit:{opacity:0,transition:{duration:.3,ease:m.ease}}}},V=u.cva("",{variants:{backdrop:{transparent:"bg-transparent",opaque:"bg-black/50",blur:"backdrop-blur-md backdrop-saturate-150 bg-overlay/30"}},defaultVariants:{backdrop:"opaque"}}),z=u.cva("",{variants:{size:{xs:"max-w-xs",sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl",full:"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none"}},defaultVariants:{size:"md"}}),P=u.cva("",{variants:{radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg"}},defaultVariants:{radius:"lg"}}),O=u.cva("",{variants:{shadow:{none:"shadow-none",sm:"shadow-sm",md:"shadow-md",lg:"shadow-lg"}},defaultVariants:{shadow:"md"}}),y=i.forwardRef(({modalId:n,isShow:t,isVisible:a,children:s,style:l,classNameOverlay:x="",styleContainer:c,onClickOutside:d,classNameDialog:w="modal-custom-dialog",classNameContent:R="modal-custom-content",backdrop:b="opaque",size:E="md",isKeyboardDismissDisabled:f=!1,shadow:N="md",radius:M="lg"},k)=>{const q=i.useRef(null);if(i.useEffect(()=>(typeof window<"u"&&a&&document.body.classList.add("modal-open"),()=>{typeof window<"u"&&document.body.classList.remove("modal-open")}),[a]),i.useEffect(()=>{const r=I=>{I.key==="Escape"&&!f&&d?.()};return t&&document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r)}},[t,f,d]),typeof window>"u")return null;const p=document.getElementById("modal-root");return p?A.createPortal(e.jsxRuntimeExports.jsx(h.AnimatePresence,{children:t&&e.jsxRuntimeExports.jsx(h.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-CL73JQgs.js")).then(r=>r.domAnimation),children:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(v.m.div,{initial:"exit",animate:"enter",exit:"exit",variants:j.fade,className:o.cn("fixed inset-0 z-50",V({backdrop:b}),x),onClick:d,"aria-hidden":!t,role:"dialog","aria-modal":"true",tabIndex:-1,ref:q},"modal-overlay"),e.jsxRuntimeExports.jsx(v.m.div,{initial:"exit",animate:"enter",exit:"exit",variants:j.scaleInOut,ref:k,id:n,onClick:r=>r.stopPropagation(),className:o.cn("fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1",z({size:E}),P({radius:M}),O({shadow:N}),w),style:l,children:e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-content w-full flex flex-col",R),style:c,children:s})},"modal-content")]})})}),p):null});y.displayName="ModalPortalComponent";const T=({title:n,showCloseButton:t=!0,disabled:a=!1,onClick:s,className:l,styled:x,children:c,...d})=>e.jsxRuntimeExports.jsxs("div",{className:o.cn("modal-custom-header-container w-full"),style:x,children:[e.jsxRuntimeExports.jsx("div",{className:o.cn("w-full flex py-4 px-6 flex-initial text-large font-semibold",l),...d,children:c||e.jsxRuntimeExports.jsx("header",{className:"modal-custom-title text-lg leading-none font-semibold",children:n})}),t&&e.jsxRuntimeExports.jsx("div",{className:"absolute top-2.5 right-2.5 disabled:pointer-events-none",children:e.jsxRuntimeExports.jsxs(L.Button,{isIconOnly:!0,variant:"light",radius:"full","aria-label":"Close",onClick:s,disabled:a,className:"p-0 w-[36px] h-[36px] 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",children:[e.jsxRuntimeExports.jsxs("svg",{width:"20",height:"20",fill:"currentColor",role:"img","aria-hidden":"true",children:[e.jsxRuntimeExports.jsx("path",{fill:"none",d:"M0 0h21v21H0z"}),e.jsxRuntimeExports.jsx("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"})]}),e.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})})]}),g=i.forwardRef(({children:n,className:t="",styled:a,height:s},l)=>e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-body flex flex-1 flex-col gap-3 px-6",t),ref:l,style:{...a,height:s?`${s}px`:"auto"},children:n}));g.displayName="ModalBodyPortalComponent";const B=({children:n,className:t,styled:a})=>e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto",t),style:a,children:n});exports.Modal=y;exports.ModalBody=g;exports.ModalFooter=B;exports.ModalHeader=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/jsx-runtime-BjzqJBtL.js"),A=require("react-dom"),i=require("react"),o=require("../chunks/utils-BRdagWxe.js"),L=require("../chunks/button-CuSv0p75.js"),x=require("../chunks/index-nwdlcB7h.js"),h=require("../chunks/index-lrI_r1ww.js"),v=require("../chunks/features-animation-BoXKk5t2.js"),m={ease:[.36,.66,.4,1]},j={scaleInOut:{enter:{transform:"scale(1)",opacity:1,transition:{duration:.4,ease:m.ease}},exit:{transform:"scale(1.03)",opacity:0,transition:{duration:.3,ease:m.ease}}},fade:{enter:{opacity:1,transition:{duration:.4,ease:m.ease}},exit:{opacity:0,transition:{duration:.3,ease:m.ease}}}},V=x.cva("",{variants:{backdrop:{transparent:"bg-transparent",opaque:"bg-black/50",blur:"backdrop-blur-md backdrop-saturate-150 bg-overlay/30"}},defaultVariants:{backdrop:"opaque"}}),z=x.cva("",{variants:{size:{xs:"max-w-xs",sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl",full:"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none"}},defaultVariants:{size:"md"}}),P=x.cva("",{variants:{radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg"}},defaultVariants:{radius:"lg"}}),O=x.cva("",{variants:{shadow:{none:"shadow-none",sm:"shadow-sm",md:"shadow-md",lg:"shadow-lg"}},defaultVariants:{shadow:"md"}}),y=i.forwardRef(({modalId:n,isShow:t,isVisible:a,children:s,style:l,classNameOverlay:u="",styleContainer:c,onClickOutside:d,classNameDialog:w="modal-custom-dialog",classNameContent:R="modal-custom-content",backdrop:b="opaque",size:E="md",isKeyboardDismissDisabled:f=!1,shadow:N="md",radius:M="lg"},k)=>{const q=i.useRef(null);if(i.useEffect(()=>(typeof window<"u"&&a&&document.body.classList.add("modal-open"),()=>{typeof window<"u"&&document.body.classList.remove("modal-open")}),[a]),i.useEffect(()=>{const r=I=>{I.key==="Escape"&&!f&&d?.()};return t&&document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r)}},[t,f,d]),typeof window>"u")return null;const p=document.getElementById("modal-root");return p?A.createPortal(e.jsxRuntimeExports.jsx(h.AnimatePresence,{children:t&&e.jsxRuntimeExports.jsx(h.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-CL73JQgs.js")).then(r=>r.domAnimation),children:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(v.m.div,{initial:"exit",animate:"enter",exit:"exit",variants:j.fade,className:o.cn("fixed inset-0 z-50",V({backdrop:b}),u),onClick:d,"aria-hidden":!t,role:"dialog","aria-modal":"true",tabIndex:-1,ref:q},"modal-overlay"),e.jsxRuntimeExports.jsx(v.m.div,{initial:"exit",animate:"enter",exit:"exit",variants:j.scaleInOut,ref:k,id:n,onClick:r=>r.stopPropagation(),className:o.cn("fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1",z({size:E}),P({radius:M}),O({shadow:N}),w),style:l,children:e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-content w-full flex flex-col max-h-[calc(100%_-_4rem)]",R),style:c,children:s})},"modal-content")]})})}),p):null});y.displayName="ModalPortalComponent";const T=({title:n,showCloseButton:t=!0,disabled:a=!1,onClick:s,className:l,styled:u,children:c,...d})=>e.jsxRuntimeExports.jsxs("div",{className:o.cn("modal-custom-header-container w-full"),style:u,children:[e.jsxRuntimeExports.jsx("div",{className:o.cn("w-full flex py-4 px-6 flex-initial text-large font-semibold",l),...d,children:c||e.jsxRuntimeExports.jsx("header",{className:"modal-custom-title text-lg leading-none font-semibold",children:n})}),t&&e.jsxRuntimeExports.jsx("div",{className:"absolute top-2.5 right-2.5 disabled:pointer-events-none",children:e.jsxRuntimeExports.jsxs(L.Button,{isIconOnly:!0,variant:"light",radius:"full","aria-label":"Close",onClick:s,disabled:a,className:"p-0 w-[36px] h-[36px] 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",children:[e.jsxRuntimeExports.jsxs("svg",{width:"20",height:"20",fill:"currentColor",role:"img","aria-hidden":"true",children:[e.jsxRuntimeExports.jsx("path",{fill:"none",d:"M0 0h21v21H0z"}),e.jsxRuntimeExports.jsx("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"})]}),e.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})})]}),g=i.forwardRef(({children:n,className:t="",styled:a,height:s},l)=>e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-body flex flex-1 flex-col gap-3 px-6",t),ref:l,style:{...a,height:s?`${s}px`:"auto"},children:n}));g.displayName="ModalBodyPortalComponent";const B=({children:n,className:t,styled:a})=>e.jsxRuntimeExports.jsx("div",{className:o.cn("modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto",t),style:a,children:n});exports.Modal=y;exports.ModalBody=g;exports.ModalFooter=B;exports.ModalHeader=T;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.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\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 ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useRef } from \"react\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m } from \"framer-motion\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport { cva } from \"class-variance-authority\";\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\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\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,\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\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"modal-custom-content\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst modalOverlayRef = useRef<HTMLDivElement>(null);\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isVisible) {\n\t\t\t\tdocument.body.classList.add(\"modal-open\");\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\tdocument.body.classList.remove(\"modal-open\");\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isVisible]);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled) {\n\t\t\t\t\tonClickOutside?.();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isShow) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isShow, isKeyboardDismissDisabled, onClickOutside]);\n\n\t\tif (typeof window === \"undefined\") return null;\n\n\t\tconst modalRoot = document.getElementById(\"modal-root\");\n\t\tif (!modalRoot) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\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(\"fixed inset-0 z-50\", backdropVariants({ backdrop }), classNameOverlay)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden={!isShow}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tref={modalOverlayRef}\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.scaleInOut}\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t{children}\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\tmodalRoot,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({ title, showCloseButton = true, disabled = false, onClick, className, styled, children, ...props }: ModalHeaderType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={styled}>\n\t\t\t<div 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\">\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-[36px] h-[36px] 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 = \"\", styled, height }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...styled, 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, styled }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={styled}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","TRANSITION_VARIANTS","backdropVariants","cva","sizeVariants","radiusVariants","shadowVariants","Modal","forwardRef","modalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","backdrop","size","isKeyboardDismissDisabled","shadow","radius","ref","modalOverlayRef","useRef","useEffect","handleKeyDown","e","modalRoot","ReactDOM","AnimatePresence","jsx","LazyMotion","res","jsxs","Fragment","m","cn","ModalHeader","title","showCloseButton","disabled","onClick","className","styled","props","Button","ModalBody","height","ModalFooter"],"mappings":"0YAgCaA,EAAqB,CACjC,KAAM,CAAC,IAAM,IAAM,GAAK,CAAC,CAO1B,EAaaC,EAAgC,CAkE5C,WAAY,CACX,MAAO,CACN,UAAW,WACX,QAAS,EACT,WAAY,CACX,SAAU,GACV,KAAMD,EAAmB,IAAA,CAC1B,EAED,KAAM,CACL,UAAW,cACX,QAAS,EACT,WAAY,CACX,SAAU,GACV,KAAMA,EAAmB,IAAA,CAC1B,CACD,EAED,KAAM,CACL,MAAO,CACN,QAAS,EACT,WAAY,CACX,SAAU,GACV,KAAMA,EAAmB,IAAA,CAC1B,EAED,KAAM,CACL,QAAS,EACT,WAAY,CACX,SAAU,GACV,KAAMA,EAAmB,IAAA,CAC1B,CACD,CA2BF,ECtKME,EAAmBC,EAAAA,IAAI,GAAI,CAChC,SAAU,CACT,SAAU,CACT,YAAa,iBACb,OAAQ,cACR,KAAM,sDAAA,CACP,EAED,gBAAiB,CAChB,SAAU,QAAA,CAEZ,CAAC,EAEKC,EAAeD,EAAAA,IAAI,GAAI,CAC5B,SAAU,CACT,KAAM,CACL,GAAM,WACN,GAAM,WACN,GAAM,WACN,GAAM,WACN,GAAM,WACN,MAAO,YACP,MAAO,YACP,MAAO,YACP,MAAO,YACP,KAAQ,8EAAA,CACT,EAED,gBAAiB,CAChB,KAAM,IAAA,CAER,CAAC,EAEKE,EAAiBF,EAAAA,IAAI,GAAI,CAC9B,SAAU,CACT,OAAQ,CACP,KAAM,eACN,GAAI,aACJ,GAAI,aACJ,GAAI,YAAA,CACL,EAED,gBAAiB,CAChB,OAAQ,IAAA,CAEV,CAAC,EAEKG,EAAiBH,EAAAA,IAAI,GAAI,CAC9B,SAAU,CACT,OAAQ,CACP,KAAM,cACN,GAAI,YACJ,GAAI,YACJ,GAAI,WAAA,CACL,EAED,gBAAiB,CAChB,OAAQ,IAAA,CAEV,CAAC,EAEYI,EAAQC,EAAAA,WACpB,CACC,CACC,QAAAC,EACA,OAAAC,EACA,UAAAC,EACA,SAAAC,EACA,MAAAC,EACA,iBAAAC,EAAmB,GACnB,eAAAC,EACA,eAAAC,EACA,gBAAAC,EAAkB,sBAClB,iBAAAC,EAAmB,uBACnB,SAAAC,EAAW,SACX,KAAAC,EAAO,KACP,0BAAAC,EAA4B,GAC5B,OAAAC,EAAS,KACT,OAAAC,EAAS,IAAA,EAEVC,IACI,CACJ,MAAMC,EAAkBC,EAAAA,OAAuB,IAAI,EA4BnD,GA3BAC,EAAAA,UAAU,KACL,OAAO,OAAW,KAAehB,GACpC,SAAS,KAAK,UAAU,IAAI,YAAY,EAElC,IAAM,CACR,OAAO,OAAW,KACrB,SAAS,KAAK,UAAU,OAAO,YAAY,CAE7C,GACE,CAACA,CAAS,CAAC,EAEdgB,EAAAA,UAAU,IAAM,CACf,MAAMC,EAAiBC,GAAqB,CACvCA,EAAE,MAAQ,UAAY,CAACR,GAC1BL,IAAA,CAEF,EAEA,OAAIN,GACH,SAAS,iBAAiB,UAAWkB,CAAa,EAG5C,IAAM,CACZ,SAAS,oBAAoB,UAAWA,CAAa,CACtD,CACD,EAAG,CAAClB,EAAQW,EAA2BL,CAAc,CAAC,EAElD,OAAO,OAAW,IAAa,OAAO,KAE1C,MAAMc,EAAY,SAAS,eAAe,YAAY,EACtD,OAAKA,EAEEC,EAAS,qCACdC,EAAAA,gBAAA,CACC,SAAAtB,GACAuB,EAAAA,kBAAAA,IAACC,EAAAA,WAAA,CAAW,SAAU,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,6BAAe,CAAA,EAAE,KAAMC,GAAQA,EAAI,YAAY,EACjF,SAAAC,EAAAA,kBAAAA,KAAAC,6BAAA,CACC,SAAA,CAAAJ,EAAAA,kBAAAA,IAACK,EAAAA,EAAE,IAAF,CAEA,QAAQ,OACR,QAAQ,QACR,KAAK,OACL,SAAUrC,EAAoB,KAC9B,UAAWsC,EAAAA,GAAG,qBAAsBrC,EAAiB,CAAE,SAAAiB,CAAA,CAAU,EAAGL,CAAgB,EACpF,QAASE,EACT,cAAa,CAACN,EACd,KAAK,SACL,aAAW,OACX,SAAU,GACV,IAAKe,CAAA,EAXD,eAAA,EAcLQ,EAAAA,kBAAAA,IAACK,EAAAA,EAAE,IAAF,CAEA,QAAQ,OACR,QAAQ,QACR,KAAK,OACL,SAAUrC,EAAoB,WAC9B,IAAAuB,EACA,GAAIf,EACJ,QAAUoB,GAAMA,EAAE,gBAAA,EAClB,UAAWU,EAAAA,GACV,4HACAnC,EAAa,CAAE,KAAAgB,EAAM,EACrBf,EAAe,CAAE,OAAAkB,EAAQ,EACzBjB,EAAe,CAAE,OAAAgB,EAAQ,EACzBL,CAAA,EAED,MAAAJ,EAEA,SAAAoB,EAAAA,kBAAAA,IAAC,OAAI,UAAWM,EAAAA,GAAG,4CAA6CrB,CAAgB,EAAG,MAAOH,EACxF,SAAAH,CAAA,CACF,CAAA,EAnBI,eAAA,CAoBL,CAAA,CACD,EACD,EAEF,EACAkB,CAAA,EAhDsB,IAkDxB,CACD,EACAvB,EAAM,YAAc,uBAEb,MAAMiC,EAAc,CAAC,CAAE,MAAAC,EAAO,gBAAAC,EAAkB,GAAM,SAAAC,EAAW,GAAO,QAAAC,EAAS,UAAAC,EAAW,OAAAC,EAAQ,SAAAlC,EAAU,GAAGmC,8BAErH,MAAA,CAAI,UAAWR,EAAAA,GAAG,sCAAsC,EAAG,MAAOO,EAClE,SAAA,CAAAb,wBAAC,MAAA,CAAI,UAAWM,EAAAA,GAAG,8DAA+DM,CAAS,EAAI,GAAGE,EAChG,SAAAnC,GAAYqB,EAAAA,kBAAAA,IAAC,SAAA,CAAO,UAAU,wDAAyD,WAAM,EAC/F,EAECS,GACAT,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,0DACd,SAAAG,EAAAA,kBAAAA,KAACY,EAAAA,OAAA,CACA,WAAU,GACV,QAAQ,QACR,OAAO,OACP,aAAW,QACX,QAAAJ,EACA,SAAAD,EACA,UAAU,gQAEV,SAAA,CAAAP,EAAAA,kBAAAA,KAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,KAAK,eAAe,KAAK,MAAM,cAAY,OACtE,SAAA,CAAAH,EAAAA,kBAAAA,IAAC,OAAA,CAAK,KAAK,OAAO,EAAE,gBAAgB,EACpCA,EAAAA,kBAAAA,IAAC,OAAA,CAAK,EAAE,0NAAA,CAA2N,CAAA,EACpO,EACAA,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,UAAU,SAAA,OAAA,CAAK,CAAA,CAAA,CAAA,CAChC,CACD,CAAA,EAEF,EAIWgB,EAAYzC,EAAAA,WAAW,CAAC,CAAE,SAAAI,EAAU,UAAAiC,EAAY,GAAI,OAAAC,EAAQ,OAAAI,CAAA,EAAyB1B,IAEhGS,EAAAA,kBAAAA,IAAC,MAAA,CACA,UAAWM,EAAAA,GAAG,oDAAqDM,CAAS,EAC5E,IAAArB,EACA,MAAO,CAAE,GAAGsB,EAAQ,OAAQI,EAAS,GAAGA,CAAM,KAAO,MAAA,EAEpD,SAAAtC,CAAA,CAAA,CAGH,EACDqC,EAAU,YAAc,2BAEjB,MAAME,EAAc,CAAC,CAAE,SAAAvC,EAAU,UAAAiC,EAAW,OAAAC,KAEjDb,EAAAA,kBAAAA,IAAC,MAAA,CACA,UAAWM,EAAAA,GAAG,gGAAiGM,CAAS,EACxH,MAAOC,EAEN,SAAAlC,CAAA,CAAA"}
1
+ {"version":3,"file":"index.cjs.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\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 ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useRef } from \"react\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m } from \"framer-motion\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport { cva } from \"class-variance-authority\";\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\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\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,\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\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"modal-custom-content\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst modalOverlayRef = useRef<HTMLDivElement>(null);\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isVisible) {\n\t\t\t\tdocument.body.classList.add(\"modal-open\");\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\tdocument.body.classList.remove(\"modal-open\");\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isVisible]);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled) {\n\t\t\t\t\tonClickOutside?.();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isShow) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isShow, isKeyboardDismissDisabled, onClickOutside]);\n\n\t\tif (typeof window === \"undefined\") return null;\n\n\t\tconst modalRoot = document.getElementById(\"modal-root\");\n\t\tif (!modalRoot) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\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(\"fixed inset-0 z-50\", backdropVariants({ backdrop }), classNameOverlay)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden={!isShow}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tref={modalOverlayRef}\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.scaleInOut}\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100%_-_4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t{children}\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\tmodalRoot,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({ title, showCloseButton = true, disabled = false, onClick, className, styled, children, ...props }: ModalHeaderType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={styled}>\n\t\t\t<div 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\">\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-[36px] h-[36px] 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 = \"\", styled, height }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...styled, 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, styled }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={styled}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","TRANSITION_VARIANTS","backdropVariants","cva","sizeVariants","radiusVariants","shadowVariants","Modal","forwardRef","modalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","backdrop","size","isKeyboardDismissDisabled","shadow","radius","ref","modalOverlayRef","useRef","useEffect","handleKeyDown","e","modalRoot","ReactDOM","AnimatePresence","jsx","LazyMotion","res","jsxs","Fragment","m","cn","ModalHeader","title","showCloseButton","disabled","onClick","className","styled","props","Button","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -43,7 +43,7 @@ const i = {
43
43
  }
44
44
  }
45
45
  }
46
- }, B = m("", {
46
+ }, _ = m("", {
47
47
  variants: {
48
48
  backdrop: {
49
49
  transparent: "bg-transparent",
@@ -54,7 +54,7 @@ const i = {
54
54
  defaultVariants: {
55
55
  backdrop: "opaque"
56
56
  }
57
- }), C = m("", {
57
+ }), B = m("", {
58
58
  variants: {
59
59
  size: {
60
60
  xs: "max-w-xs",
@@ -72,7 +72,7 @@ const i = {
72
72
  defaultVariants: {
73
73
  size: "md"
74
74
  }
75
- }), O = m("", {
75
+ }), C = m("", {
76
76
  variants: {
77
77
  radius: {
78
78
  none: "rounded-none",
@@ -84,7 +84,7 @@ const i = {
84
84
  defaultVariants: {
85
85
  radius: "lg"
86
86
  }
87
- }), P = m("", {
87
+ }), O = m("", {
88
88
  variants: {
89
89
  shadow: {
90
90
  none: "shadow-none",
@@ -96,7 +96,7 @@ const i = {
96
96
  defaultVariants: {
97
97
  shadow: "md"
98
98
  }
99
- }), T = y(
99
+ }), P = y(
100
100
  ({
101
101
  modalId: o,
102
102
  isShow: a,
@@ -135,7 +135,7 @@ const i = {
135
135
  animate: "enter",
136
136
  exit: "exit",
137
137
  variants: g.fade,
138
- className: n("fixed inset-0 z-50", B({ backdrop: b }), c),
138
+ className: n("fixed inset-0 z-50", _({ backdrop: b }), c),
139
139
  onClick: r,
140
140
  "aria-hidden": !a,
141
141
  role: "dialog",
@@ -157,13 +157,13 @@ const i = {
157
157
  onClick: (s) => s.stopPropagation(),
158
158
  className: n(
159
159
  "fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1",
160
- C({ size: j }),
161
- O({ radius: k }),
162
- P({ shadow: N }),
160
+ B({ size: j }),
161
+ C({ radius: k }),
162
+ O({ shadow: N }),
163
163
  v
164
164
  ),
165
165
  style: d,
166
- children: /* @__PURE__ */ e.jsx("div", { className: n("modal-custom-content w-full flex flex-col", w), style: u, children: l })
166
+ children: /* @__PURE__ */ e.jsx("div", { className: n("modal-custom-content w-full flex flex-col max-h-[calc(100%_-_4rem)]", w), style: u, children: l })
167
167
  },
168
168
  "modal-content"
169
169
  )
@@ -172,7 +172,7 @@ const i = {
172
172
  ) : null;
173
173
  }
174
174
  );
175
- T.displayName = "ModalPortalComponent";
175
+ P.displayName = "ModalPortalComponent";
176
176
  const J = ({ title: o, showCloseButton: a = !0, disabled: t = !1, onClick: l, className: d, styled: c, children: u, ...r }) => /* @__PURE__ */ e.jsxs("div", { className: n("modal-custom-header-container w-full"), style: c, children: [
177
177
  /* @__PURE__ */ e.jsx("div", { className: n("w-full flex py-4 px-6 flex-initial text-large font-semibold", d), ...r, children: u || /* @__PURE__ */ e.jsx("header", { className: "modal-custom-title text-lg leading-none font-semibold", children: o }) }),
178
178
  a && /* @__PURE__ */ e.jsx("div", { className: "absolute top-2.5 right-2.5 disabled:pointer-events-none", children: /* @__PURE__ */ e.jsxs(
@@ -194,7 +194,7 @@ const J = ({ title: o, showCloseButton: a = !0, disabled: t = !1, onClick: l, cl
194
194
  ]
195
195
  }
196
196
  ) })
197
- ] }), _ = y(({ children: o, className: a = "", styled: t, height: l }, d) => /* @__PURE__ */ e.jsx(
197
+ ] }), T = y(({ children: o, className: a = "", styled: t, height: l }, d) => /* @__PURE__ */ e.jsx(
198
198
  "div",
199
199
  {
200
200
  className: n("modal-custom-body flex flex-1 flex-col gap-3 px-6", a),
@@ -203,7 +203,7 @@ const J = ({ title: o, showCloseButton: a = !0, disabled: t = !1, onClick: l, cl
203
203
  children: o
204
204
  }
205
205
  ));
206
- _.displayName = "ModalBodyPortalComponent";
206
+ T.displayName = "ModalBodyPortalComponent";
207
207
  const K = ({ children: o, className: a, styled: t }) => /* @__PURE__ */ e.jsx(
208
208
  "div",
209
209
  {
@@ -213,8 +213,8 @@ const K = ({ children: o, className: a, styled: t }) => /* @__PURE__ */ e.jsx(
213
213
  }
214
214
  );
215
215
  export {
216
- T as Modal,
217
- _ as ModalBody,
216
+ P as Modal,
217
+ T as ModalBody,
218
218
  K as ModalFooter,
219
219
  J as ModalHeader
220
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.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\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 ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useRef } from \"react\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m } from \"framer-motion\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport { cva } from \"class-variance-authority\";\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\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\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,\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\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"modal-custom-content\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst modalOverlayRef = useRef<HTMLDivElement>(null);\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isVisible) {\n\t\t\t\tdocument.body.classList.add(\"modal-open\");\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\tdocument.body.classList.remove(\"modal-open\");\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isVisible]);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled) {\n\t\t\t\t\tonClickOutside?.();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isShow) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isShow, isKeyboardDismissDisabled, onClickOutside]);\n\n\t\tif (typeof window === \"undefined\") return null;\n\n\t\tconst modalRoot = document.getElementById(\"modal-root\");\n\t\tif (!modalRoot) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\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(\"fixed inset-0 z-50\", backdropVariants({ backdrop }), classNameOverlay)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden={!isShow}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tref={modalOverlayRef}\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.scaleInOut}\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t{children}\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\tmodalRoot,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({ title, showCloseButton = true, disabled = false, onClick, className, styled, children, ...props }: ModalHeaderType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={styled}>\n\t\t\t<div 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\">\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-[36px] h-[36px] 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 = \"\", styled, height }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...styled, 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, styled }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={styled}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","TRANSITION_VARIANTS","backdropVariants","cva","sizeVariants","radiusVariants","shadowVariants","Modal","forwardRef","modalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","backdrop","size","isKeyboardDismissDisabled","shadow","radius","ref","modalOverlayRef","useRef","useEffect","handleKeyDown","e","modalRoot","ReactDOM","AnimatePresence","jsx","LazyMotion","res","jsxs","Fragment","m","cn","ModalHeader","title","showCloseButton","disabled","onClick","className","styled","props","Button","ModalBody","height","ModalFooter"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.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\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 ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useRef } from \"react\";\nimport type { ModalBodyType, ModalFooterType, ModalHeaderType, ModalType } from \"./modal.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m } from \"framer-motion\";\nimport { TRANSITION_VARIANTS } from \"../transition/transition-utils\";\nimport { cva } from \"class-variance-authority\";\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\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\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,\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\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"modal-custom-content\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst modalOverlayRef = useRef<HTMLDivElement>(null);\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isVisible) {\n\t\t\t\tdocument.body.classList.add(\"modal-open\");\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\tdocument.body.classList.remove(\"modal-open\");\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isVisible]);\n\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled) {\n\t\t\t\t\tonClickOutside?.();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isShow) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isShow, isKeyboardDismissDisabled, onClickOutside]);\n\n\t\tif (typeof window === \"undefined\") return null;\n\n\t\tconst modalRoot = document.getElementById(\"modal-root\");\n\t\tif (!modalRoot) return null;\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\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(\"fixed inset-0 z-50\", backdropVariants({ backdrop }), classNameOverlay)}\n\t\t\t\t\t\t\t\tonClick={onClickOutside}\n\t\t\t\t\t\t\t\taria-hidden={!isShow}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tref={modalOverlayRef}\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.scaleInOut}\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={modalId}\n\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full gap-4 rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tsizeVariants({ size }),\n\t\t\t\t\t\t\t\t\tradiusVariants({ radius }),\n\t\t\t\t\t\t\t\t\tshadowVariants({ shadow }),\n\t\t\t\t\t\t\t\t\tclassNameDialog,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100%_-_4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t{children}\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\tmodalRoot,\n\t\t);\n\t},\n);\nModal.displayName = \"ModalPortalComponent\";\n\nexport const ModalHeader = ({ title, showCloseButton = true, disabled = false, onClick, className, styled, children, ...props }: ModalHeaderType) => {\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={styled}>\n\t\t\t<div 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\">\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-[36px] h-[36px] 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 = \"\", styled, height }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...styled, 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, styled }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-4 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={styled}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","TRANSITION_VARIANTS","backdropVariants","cva","sizeVariants","radiusVariants","shadowVariants","Modal","forwardRef","modalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","backdrop","size","isKeyboardDismissDisabled","shadow","radius","ref","modalOverlayRef","useRef","useEffect","handleKeyDown","e","modalRoot","ReactDOM","AnimatePresence","jsx","LazyMotion","res","jsxs","Fragment","m","cn","ModalHeader","title","showCloseButton","disabled","onClick","className","styled","props","Button","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/jsx-runtime-BjzqJBtL.js"),e=require("react"),y=require("../chunks/bundle-mjs-eyqxolf6.js"),B=require("../chunks/tooltip-wahNko84.js"),H=require("../chunks/clsx-C11secjj.js"),k=require("../chunks/checkbox-BwgsY23W.js"),M=require("../chunks/v4-CIWTflUD.js"),w=require("../chunks/index-lrI_r1ww.js"),N=e.memo(({children:s,className:r,...n})=>{const i=e.useMemo(()=>y.twMerge("min-h-[100px] sticky top-0 z-10",r),[r]),a=e.useMemo(()=>e.Children.map(s,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[s,n]);return t.jsxRuntimeExports.jsx("thead",{className:i,children:a})});N.displayName="TableHeader";const g=e.memo(({children:s,className:r,style:n={},icon:i=null,text:a="",size:l,header:c})=>{const p=e.useMemo(()=>y.twMerge("px-2 border-b border-divider",r),[r]),j=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),m=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("th",{className:p,style:j,children:m?t.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:a}),c?.information&&t.jsxRuntimeExports.jsx(B.Tooltip,{content:c?.information||"",children:t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",role:"img",className:"text-default-300 cursor-pointer dark:text-foreground-500",width:16,height:16,viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsxs("g",{fill:"none",children:[t.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),t.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),t.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),t.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:i})]}):s})});g.displayName="TableHeaderColumn";const q={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},T=e.createContext(q),R=()=>e.useContext(T);function W({children:s,className:r,data:n=[],textNoData:i="No hay información",isLoading:a=!1,loadingText:l="Cargando ...",...c}){const{totalColumn:p,isActions:j,isChecks:m}=R(),h=Number(p)+Number(j)+Number(m),d=e.useMemo(()=>y.twMerge(r),[r]),E=e.useMemo(()=>typeof s=="function"?n.map((o,b)=>{const f=s({item:o,index:b});return e.isValidElement(f)?e.cloneElement(f,{key:b,...c}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...c}):o),[s,n,c]);let x=null;return a?x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:h,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:l})})})}):n.length===0&&(x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:h,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:i})})})})),t.jsxRuntimeExports.jsxs("tbody",{className:d,children:[E,x]})}const $=e.memo(s=>t.jsxRuntimeExports.jsx(W,{...s})),S=e.memo(e.forwardRef(({children:s,className:r,keyCurrent:n,onChangeCheck:i,disabled:a,style:l,isCheck:c=!0},p)=>{const j=e.useMemo(()=>M.v4(),[]),{isChecks:m,selectKeys:h,disabledKeys:d,color:E}=R(),x=e.useMemo(()=>h?.some(u=>u.id===n.id),[h,n.id]),o=e.useMemo(()=>d?.some(u=>u===n.id),[d,n.id]),b=u=>{o||a||i?.(n,u)},f=e.useMemo(()=>y.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",H.clsx({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!x,"bg-default-100 dark:bg-default-200":x}),r),[x,r]);return t.jsxRuntimeExports.jsxs("tr",{className:f,ref:p,style:l,children:[m&&t.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:c&&t.jsxRuntimeExports.jsx(k.Checkbox,{id:j,onChange:u=>b(u.target.checked),checked:x||!1,className:"flex justify-center",disabled:o||a,color:E})}),s]})}));S.displayName="TableBodyRow";const v=e.memo(e.forwardRef(({children:s,className:r,text:n,style:i},a)=>{const l=e.useMemo(()=>y.twMerge("px-2 py-1 text-gray-900 dark:text-default-500",r),[r]),c=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("td",{ref:a,className:l,style:i,children:c?t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm",children:n}):s})}));v.displayName="TableBodyColumn";const K=e.memo(({children:s,className:r,dataHeader:n=[],valueCheck:i=!1,disabledCheck:a,onChangeCheck:l,...c})=>{const p=e.useMemo(()=>M.v4(),[]),{isChecks:j,widthAction:m,isActions:h,color:d}=R(),E=o=>{a||l?.(o)},x=e.useMemo(()=>typeof s=="function"?n.map((o,b)=>{const f=s({item:o});return e.isValidElement(f)?e.cloneElement(f,{key:b,...c}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...c}):o),[s,n,c]);return t.jsxRuntimeExports.jsxs("tr",{className:y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),children:[j&&t.jsxRuntimeExports.jsx(g,{className:"min-w-[40px] w-[40px]",children:t.jsxRuntimeExports.jsx(k.Checkbox,{id:p,onChange:o=>E(o.target.checked),checked:i,className:"flex justify-center",color:d})}),x,h&&t.jsxRuntimeExports.jsx(g,{color:d,style:{minWidth:`${m}px`,width:`${m}px`}})]})});K.displayName="TableHeaderRow";const C=e.memo(({children:s,className:r="",style:n={}})=>{const i=e.useMemo(()=>y.twMerge("table-column-search px-2 border-b border-divider",r),[r]);return t.jsxRuntimeExports.jsx("th",{className:i,style:n,children:s})});C.displayName="TableSearchColumn";const A=e.memo(({children:s,className:r,dataHeader:n=[],...i})=>{const{isChecks:a,widthAction:l,isActions:c}=R(),p=e.useMemo(()=>y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),[r]),j=e.useMemo(()=>typeof s=="function"?n.map((m,h)=>{const d=s({item:m});return e.isValidElement(d)?e.cloneElement(d,{key:h,...i}):null}):e.Children.map(s,m=>e.isValidElement(m)?e.cloneElement(m,{...i}):m),[s,n,i]);return t.jsxRuntimeExports.jsxs("tr",{className:p,children:[a&&t.jsxRuntimeExports.jsx(C,{className:"min-w-[40px] w-[40px]"}),j,c&&t.jsxRuntimeExports.jsx(C,{style:{minWidth:`${l}px`,width:`${l}px`}})]})});A.displayName="TableSearchRow";const V=({className:s,children:r,classNameContainer:n,...i})=>{const{color:a="primary",disabledKeys:l,isChecks:c=!0,selectKeys:p=[],isActions:j=!0,widthAction:m=100,dataHeader:h}=i,d=e.useMemo(()=>y.twMerge("table-main-container w-full border-collapse table-auto",s),[s]),E=e.useMemo(()=>y.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",n),[n]);return t.jsxRuntimeExports.jsx(T.Provider,{value:{color:a,disabledKeys:l,isChecks:c,selectKeys:p,isActions:j,widthAction:m,totalColumn:h?.length||0},children:t.jsxRuntimeExports.jsx("div",{className:E,children:t.jsxRuntimeExports.jsx(w.AnimatePresence,{children:t.jsxRuntimeExports.jsx(w.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-CL73JQgs.js")).then(x=>x.domAnimation),children:t.jsxRuntimeExports.jsx("table",{className:d,children:e.Children.map(r,x=>e.isValidElement(x)?e.cloneElement(x,{...i}):x)})})})})})},O=Object.assign(V,{Header:N,HeaderRow:K,HeaderColumn:g,SearchRow:A,SearchColumn:C,Body:$,BodyRow:S,BodyColumn:v}),P=({initialDisabledKeys:s=[],initialSelectKey:r=[],initialValueSearch:n={}})=>{const[i,a]=e.useState(r),[l,c]=e.useState(s),[p,j]=e.useState(n),m=e.useCallback(o=>{a(b=>b.some(u=>u.id===o.id)?b.filter(u=>u.id!==o.id):[...b,o])},[]),h=e.useCallback(o=>{a(o)},[]),d=e.useCallback(o=>{c(o)},[]),E=e.useCallback(()=>{a([])},[]),x=e.useCallback((o,b)=>{j(f=>{const u={...f};return b?u[o]=b:delete u[o],u})},[]);return{selectKeys:i,disabledKeys:l,valueSearch:p,handleSelectKeys:h,handleSelectKey:m,handleDisabledKeys:d,handleSetValueSearch:x,handleResetSelectKeys:E}};exports.Table=O;exports.TableHOC=V;exports.useTable=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../chunks/jsx-runtime-BjzqJBtL.js"),e=require("react"),y=require("../chunks/bundle-mjs-eyqxolf6.js"),B=require("../chunks/tooltip-wahNko84.js"),H=require("../chunks/clsx-C11secjj.js"),k=require("../chunks/checkbox-BwgsY23W.js"),M=require("../chunks/v4-CIWTflUD.js"),w=require("../chunks/index-lrI_r1ww.js"),N=e.memo(({children:s,className:r,...n})=>{const i=e.useMemo(()=>y.twMerge("min-h-[100px] sticky top-0 z-10",r),[r]),a=e.useMemo(()=>e.Children.map(s,l=>e.isValidElement(l)?e.cloneElement(l,{...n}):l),[s,n]);return t.jsxRuntimeExports.jsx("thead",{className:i,children:a})});N.displayName="TableHeader";const g=e.memo(({children:s,className:r,style:n={},icon:i=null,text:a="",size:l,header:c})=>{const p=e.useMemo(()=>y.twMerge("px-2 border-b border-divider",r),[r]),j=e.useMemo(()=>({...n,width:l?`${l}px`:n.width,minWidth:l?`${l}px`:n.minWidth}),[n,l]),m=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("th",{className:p,style:j,children:m?t.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-center gap-x-2 font-medium",children:[t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left",children:a}),c?.information&&t.jsxRuntimeExports.jsx(B.Tooltip,{content:c?.information||"",children:t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",role:"img",className:"text-default-300 cursor-pointer dark:text-foreground-500",width:16,height:16,viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsxs("g",{fill:"none",children:[t.jsxRuntimeExports.jsx("circle",{cx:12,cy:12,r:10,stroke:"currentColor",strokeWidth:"1.5"}),t.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5",d:"M12 17v-6"}),t.jsxRuntimeExports.jsx("circle",{cx:1,cy:1,r:1,fill:"currentColor",transform:"matrix(1 0 0 -1 11 9)"})]})})})]}),t.jsxRuntimeExports.jsx("div",{className:"flex-1 flex",children:i})]}):s})});g.displayName="TableHeaderColumn";const q={color:"primary",disabledKeys:[],isChecks:!0,selectKeys:[],isActions:!0,widthAction:100,totalColumn:0},T=e.createContext(q),R=()=>e.useContext(T);function W({children:s,className:r,data:n=[],textNoData:i="No hay información",isLoading:a=!1,loadingText:l="Cargando ...",...c}){const{totalColumn:p,isActions:j,isChecks:m}=R(),h=Number(p)+Number(j)+Number(m),d=e.useMemo(()=>y.twMerge(r),[r]),E=e.useMemo(()=>typeof s=="function"?n.map((o,b)=>{const f=s({item:o,index:b});return e.isValidElement(f)?e.cloneElement(f,{key:b,...c}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...c}):o),[s,n,c]);let x=null;return a?x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:h,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center relative",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:l})})})}):n.length===0&&(x=t.jsxRuntimeExports.jsx("tr",{className:"border-b border-gray-200",children:t.jsxRuntimeExports.jsx("td",{className:"px-2 py-2.5 w-full",colSpan:h,children:t.jsxRuntimeExports.jsx("div",{className:"flex justify-center",children:t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm text-gray-900",children:i})})})})),t.jsxRuntimeExports.jsxs("tbody",{className:d,children:[E,x]})}const $=e.memo(s=>t.jsxRuntimeExports.jsx(W,{...s})),S=e.memo(e.forwardRef(({children:s,className:r,keyCurrent:n,onChangeCheck:i,disabled:a,style:l,isCheck:c=!0},p)=>{const j=e.useMemo(()=>M.v4(),[]),{isChecks:m,selectKeys:h,disabledKeys:d,color:E}=R(),x=e.useMemo(()=>h?.some(u=>u.id===n.id),[h,n.id]),o=e.useMemo(()=>d?.some(u=>u===n.id),[d,n.id]),b=u=>{o||a||i?.(n,u)},f=e.useMemo(()=>y.twMerge("relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out",H.clsx({"bg-content1 dark:hover:bg-default-100 hover:bg-default-100":!x,"bg-default-100 dark:bg-default-200":x}),r),[x,r]);return t.jsxRuntimeExports.jsxs("tr",{className:f,ref:p,style:l,children:[m&&t.jsxRuntimeExports.jsx("td",{className:"px-2 py-1",children:c&&t.jsxRuntimeExports.jsx(k.Checkbox,{id:j,onChange:u=>b(u.target.checked),checked:x||!1,className:"flex justify-center",disabled:o||a,color:E})}),s]})}));S.displayName="TableBodyRow";const v=e.memo(e.forwardRef(({children:s,className:r,text:n,style:i},a)=>{const l=e.useMemo(()=>y.twMerge("px-2 py-1 text-gray-900 dark:text-default-500 text-sm",r),[r]),c=!s||typeof s=="string"&&s.trim()==="";return t.jsxRuntimeExports.jsx("td",{ref:a,className:l,style:i,children:c?t.jsxRuntimeExports.jsx("p",{className:"line-clamp-1 text-sm",children:n}):s})}));v.displayName="TableBodyColumn";const K=e.memo(({children:s,className:r,dataHeader:n=[],valueCheck:i=!1,disabledCheck:a,onChangeCheck:l,...c})=>{const p=e.useMemo(()=>M.v4(),[]),{isChecks:j,widthAction:m,isActions:h,color:d}=R(),E=o=>{a||l?.(o)},x=e.useMemo(()=>typeof s=="function"?n.map((o,b)=>{const f=s({item:o});return e.isValidElement(f)?e.cloneElement(f,{key:b,...c}):null}):e.Children.map(s,o=>e.isValidElement(o)?e.cloneElement(o,{...c}):o),[s,n,c]);return t.jsxRuntimeExports.jsxs("tr",{className:y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),children:[j&&t.jsxRuntimeExports.jsx(g,{className:"min-w-[40px] w-[40px]",children:t.jsxRuntimeExports.jsx(k.Checkbox,{id:p,onChange:o=>E(o.target.checked),checked:i,className:"flex justify-center",color:d})}),x,h&&t.jsxRuntimeExports.jsx(g,{color:d,style:{minWidth:`${m}px`,width:`${m}px`}})]})});K.displayName="TableHeaderRow";const C=e.memo(({children:s,className:r="",style:n={}})=>{const i=e.useMemo(()=>y.twMerge("table-column-search px-2 border-b border-divider",r),[r]);return t.jsxRuntimeExports.jsx("th",{className:i,style:n,children:s})});C.displayName="TableSearchColumn";const A=e.memo(({children:s,className:r,dataHeader:n=[],...i})=>{const{isChecks:a,widthAction:l,isActions:c}=R(),p=e.useMemo(()=>y.twMerge("bg-gray-50 dark:bg-default-100 h-[50px]",r),[r]),j=e.useMemo(()=>typeof s=="function"?n.map((m,h)=>{const d=s({item:m});return e.isValidElement(d)?e.cloneElement(d,{key:h,...i}):null}):e.Children.map(s,m=>e.isValidElement(m)?e.cloneElement(m,{...i}):m),[s,n,i]);return t.jsxRuntimeExports.jsxs("tr",{className:p,children:[a&&t.jsxRuntimeExports.jsx(C,{className:"min-w-[40px] w-[40px]"}),j,c&&t.jsxRuntimeExports.jsx(C,{style:{minWidth:`${l}px`,width:`${l}px`}})]})});A.displayName="TableSearchRow";const V=({className:s,children:r,classNameContainer:n,...i})=>{const{color:a="primary",disabledKeys:l,isChecks:c=!0,selectKeys:p=[],isActions:j=!0,widthAction:m=100,dataHeader:h}=i,d=e.useMemo(()=>y.twMerge("table-main-container w-full border-collapse table-auto",s),[s]),E=e.useMemo(()=>y.twMerge("max-w-full overflow-x-auto overflow-y-auto bg-content1",n),[n]);return t.jsxRuntimeExports.jsx(T.Provider,{value:{color:a,disabledKeys:l,isChecks:c,selectKeys:p,isActions:j,widthAction:m,totalColumn:h?.length||0},children:t.jsxRuntimeExports.jsx("div",{className:E,children:t.jsxRuntimeExports.jsx(w.AnimatePresence,{children:t.jsxRuntimeExports.jsx(w.LazyMotion,{features:()=>Promise.resolve().then(()=>require("../chunks/index-CL73JQgs.js")).then(x=>x.domAnimation),children:t.jsxRuntimeExports.jsx("table",{className:d,children:e.Children.map(r,x=>e.isValidElement(x)?e.cloneElement(x,{...i}):x)})})})})})},O=Object.assign(V,{Header:N,HeaderRow:K,HeaderColumn:g,SearchRow:A,SearchColumn:C,Body:$,BodyRow:S,BodyColumn:v}),P=({initialDisabledKeys:s=[],initialSelectKey:r=[],initialValueSearch:n={}})=>{const[i,a]=e.useState(r),[l,c]=e.useState(s),[p,j]=e.useState(n),m=e.useCallback(o=>{a(b=>b.some(u=>u.id===o.id)?b.filter(u=>u.id!==o.id):[...b,o])},[]),h=e.useCallback(o=>{a(o)},[]),d=e.useCallback(o=>{c(o)},[]),E=e.useCallback(()=>{a([])},[]),x=e.useCallback((o,b)=>{j(f=>{const u={...f};return b?u[o]=b:delete u[o],u})},[]);return{selectKeys:i,disabledKeys:l,valueSearch:p,handleSelectKeys:h,handleSelectKey:m,handleDisabledKeys:d,handleSetValueSearch:x,handleResetSelectKeys:E}};exports.Table=O;exports.TableHOC=V;exports.useTable=P;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index});\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index});\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
@@ -122,7 +122,7 @@ W.displayName = "TableBodyRow";
122
122
  const $ = K(
123
123
  R(({ children: t, className: r, text: s, style: l }, a) => {
124
124
  const o = x(
125
- () => j("px-2 py-1 text-gray-900 dark:text-default-500", r),
125
+ () => j("px-2 py-1 text-gray-900 dark:text-default-500 text-sm", r),
126
126
  [r]
127
127
  ), c = !t || typeof t == "string" && t.trim() === "";
128
128
  return /* @__PURE__ */ e.jsx("td", { ref: a, className: o, style: l, children: c ? /* @__PURE__ */ e.jsx("p", { className: "line-clamp-1 text-sm", children: s }) : t });
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index});\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../src/components/table/header/table-header.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { Tooltip } from \"@/components/tooltip\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({ children, className, style = {}, icon = null, text = \"\", size, header }) => {\n\t\tconst mergedClass = useMemo(() => twMerge(\"px-2 border-b border-divider\", className), [className]);\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: size ? `${size}px` : style.width,\n\t\t\t\tminWidth: size ? `${size}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, size],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<th className={mergedClass} style={mergedStyle}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-gray-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex\">{icon}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\twidthAction: 100,\n\ttotalColumn: 0,\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\r\nimport { TableContext } from \"../context/table.context\";\r\n\r\nexport const useTableContext = () => {\r\n\treturn useContext(TableContext);\r\n};\r\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\ttextNoData = \"No hay información\",\n\tisLoading = false,\n\tloadingText = \"Cargando ...\",\n\t...props\n}: TableBodyProps<TData>) {\n\t\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\t\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\t\tconst renderedRows = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn data.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index});\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, data, props]);\n\n\t\tlet fallbackContent: React.ReactNode = null;\n\n\t\tif (isLoading) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{loadingText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t} else if (data.length === 0) {\n\t\t\tfallbackContent = (\n\t\t\t\t<tr className=\"border-b border-gray-200\">\n\t\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t\t<div className=\"flex justify-center\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-gray-900\">{textNoData}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<tbody className={mergedClass}>\n\t\t\t\t{renderedRows}\n\t\t\t\t{fallbackContent}\n\t\t\t</tbody>\n\t\t);\n}\n\nexport const TableBody = memo(\n\t<TData extends object>(props: TableBodyProps<TData>) => {\n\t\treturn <TableBodyComponent {...props} />;\n\t}\n) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n\n// export function TableBody<TData extends object>(props: TableBodyProps<TData>) {\n// \treturn <TableBodyComponent {...props} />;\n// }\n\n","import { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { forwardRef, memo, useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, selectKeys, disabledKeys, color } = useTableContext();\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"relative border-b border-divider min-h-[45px] h-[45px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100 hover:bg-default-100\": !check,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableHeaderColumn } from \"./table-header-column\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useMemo(() => uuidv4(), []);\n\t\tconst { isChecks, widthAction, isActions, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-[40px] w-[40px]\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {} }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2 border-b border-divider\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-gray-50 dark:bg-default-100 h-[50px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el });\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t })\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader, props]);\n\n\treturn (\n\t\t<tr className={mergedClass}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-[40px] w-[40px]\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { TableHeader } from \"./header/table-header\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion } from \"framer-motion\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst { color = \"primary\", disabledKeys, isChecks = true, selectKeys = [], isActions = true, widthAction = 100, dataHeader } = props;\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(() => twMerge(\"max-w-full overflow-x-auto overflow-y-auto bg-content1\", classNameContainer), [classNameContainer]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement, {\n\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n}\n\nexport const useTable = ({ initialDisabledKeys = [], initialSelectKey = [], initialValueSearch = {} }: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\n\t\t\treturn exists ? prev.filter((el) => el.id !== value.id) : [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) newState[key] = value;\n\t\t\telse delete newState[key];\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n handleResetSelectKeys,\n\t};\n};\n"],"names":["TableHeader","React","children","className","props","mergedClass","useMemo","twMerge","clonedChildren","child","isValidElement","jsx","TableHeaderColumn","style","icon","text","size","header","mergedStyle","isChildrenEmpty","jsxs","Tooltip","initialValues","TableContext","createContext","useTableContext","useContext","TableBodyComponent","data","textNoData","isLoading","loadingText","totalColumn","isActions","isChecks","total","renderedRows","el","index","fallbackContent","TableBody","memo","TableBodyRow","forwardRef","keyCurrent","onChangeCheck","disabled","isCheck","ref","uui","uuidv4","selectKeys","disabledKeys","color","check","disabledCheck","handleChange","value","rowClass","clsx","Checkbox","e","TableBodyColumn","TableHeaderRow","dataHeader","valueCheck","widthAction","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","tableClass","containerClass","AnimatePresence","LazyMotion","res","Table","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","setSelectKeys","useState","setDisabledKeys","valueSearch","setValueSearch","handleSelectKey","useCallback","prev","handleSelectKeys","handleDisabledKeys","handleResetSelectKeys","handleSetValueSearch","key","newState"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "lizaui",
3
3
  "private": false,
4
4
  "license": "ISC",
5
- "version": "5.0.6",
5
+ "version": "5.0.8",
6
6
  "type": "module",
7
7
  "main": "dist/index.cjs.js",
8
8
  "module": "dist/index.es.js",