lizaui 9.0.56 → 9.0.58

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.
@@ -31,12 +31,12 @@ const button = require("../chunks/button-DXakoYvu.js");
31
31
  const framerMotion = require("framer-motion");
32
32
  const index = require("../chunks/index-DaMyCNJ8.js");
33
33
  const TRANSITION_EASINGS = {
34
- ease: [0.36, 0.66, 0.4, 1]
34
+ ease: [0.36, 0.66, 0.4, 1],
35
+ easeOut: [0, 0, 0.2, 1]
35
36
  };
36
37
  const TRANSITION_VARIANTS = {
37
- scaleInOut: {
38
+ fade: {
38
39
  enter: {
39
- transform: "scale(1)",
40
40
  opacity: 1,
41
41
  transition: {
42
42
  duration: 0.4,
@@ -44,7 +44,6 @@ const TRANSITION_VARIANTS = {
44
44
  }
45
45
  },
46
46
  exit: {
47
- transform: "scale(1.03)",
48
47
  opacity: 0,
49
48
  transition: {
50
49
  duration: 0.3,
@@ -52,19 +51,22 @@ const TRANSITION_VARIANTS = {
52
51
  }
53
52
  }
54
53
  },
55
- fade: {
54
+ modal: {
56
55
  enter: {
56
+ scale: 1,
57
57
  opacity: 1,
58
58
  transition: {
59
- duration: 0.4,
60
- ease: TRANSITION_EASINGS.ease
59
+ type: "spring",
60
+ stiffness: 400,
61
+ damping: 40
61
62
  }
62
63
  },
63
64
  exit: {
65
+ scale: 0.96,
64
66
  opacity: 0,
65
67
  transition: {
66
- duration: 0.3,
67
- ease: TRANSITION_EASINGS.ease
68
+ duration: 0.2,
69
+ ease: TRANSITION_EASINGS.easeOut
68
70
  }
69
71
  }
70
72
  }
@@ -190,18 +192,36 @@ const Modal = React.forwardRef(({
190
192
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.fade, className: utils.cn("fixed inset-0 z-50", backdropVariants({
191
193
  backdrop
192
194
  }), classNameOverlay), onClick: onClickOutside, "aria-hidden": "true", tabIndex: -1 }, "modal-overlay"),
193
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.scaleInOut, ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: utils.cn(" z-50 w-full rounded-lg shadow-lg bg-content1", placementVariants({
194
- placement
195
- }), sizeVariants({
196
- size
197
- }), radiusVariants({
198
- radius
199
- }), shadowVariants({
200
- shadow
201
- }), classNameDialog), style, children: /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: {
202
- headerId,
203
- bodyId
204
- }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) }) }, "modal-content")
195
+ /* @__PURE__ */ jsxRuntime.jsx(
196
+ framerMotion.m.div,
197
+ {
198
+ initial: "exit",
199
+ animate: "enter",
200
+ exit: "exit",
201
+ variants: TRANSITION_VARIANTS.modal,
202
+ ref,
203
+ id: modalId,
204
+ role: "dialog",
205
+ "aria-modal": "true",
206
+ "aria-labelledby": headerId,
207
+ "aria-describedby": bodyId,
208
+ className: utils.cn(" z-50 w-full rounded-lg shadow-lg bg-content1", placementVariants({
209
+ placement
210
+ }), sizeVariants({
211
+ size
212
+ }), radiusVariants({
213
+ radius
214
+ }), shadowVariants({
215
+ shadow
216
+ }), classNameDialog),
217
+ style,
218
+ children: /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: {
219
+ headerId,
220
+ bodyId
221
+ }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) })
222
+ },
223
+ "modal-content"
224
+ )
205
225
  ] }) }) }), modalRoot);
206
226
  });
207
227
  Modal.displayName = "ModalPortalComponent";
@@ -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, createContext, useContext, useId } 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 ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\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 placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\t\tconst headerId = `${modalId}-header`;\n\t\tconst bodyId = `${modalId}-body`;\n\n useEffect(() => {\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\") || document.body;\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=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.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\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\" z-50 w-full rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\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<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</ModalContext.Provider>\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, style, children, id, ...props }: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={style}>\n\t\t\t<div\n\t\t\t\tid={id || context?.headerId}\n\t\t\t\tclassName={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","TRANSITION_VARIANTS","scaleInOut","enter","transform","opacity","transition","duration","exit","fade","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","center","top","bottom","shadowVariants","shadow","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","isKeyboardDismissDisabled","ref","uniqueId","useId","headerId","bodyId","useEffect","window","document","body","classList","add","remove","handleKeyDown","e","key","addEventListener","removeEventListener","modalRoot","getElementById","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","Fragment","m","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","Button","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
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\tmodal: {\n\t\tenter: {\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tstiffness: 400,\n\t\t\t\tdamping: 40,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\tscale: 0.96,\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tcollapse: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\theight: \"auto\",\n\t\t\ttransition: {\n\t\t\t\theight: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tbounce: 0,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t\topacity: {\n\t\t\t\t\tease: \"ease\" as any,\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\theight: 0,\n\t\t\ttransition: {\n\t\t\t\tease: \"ease\" as any,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t},\n};\n","\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, createContext, useContext, useId } 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 ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\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 placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\t\tconst headerId = `${modalId}-header`;\n\t\tconst bodyId = `${modalId}-body`;\n\n useEffect(() => {\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\") || document.body;\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=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\t// variants={TRANSITION_VARIANTS.scaleInOut}\n variants={TRANSITION_VARIANTS.modal}\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\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\" z-50 w-full rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\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<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</ModalContext.Provider>\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, style, children, id, ...props }: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={style}>\n\t\t\t<div\n\t\t\t\tid={id || context?.headerId}\n\t\t\t\tclassName={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","easeOut","TRANSITION_VARIANTS","fade","enter","opacity","transition","duration","exit","modal","scale","type","stiffness","damping","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","center","top","bottom","shadowVariants","shadow","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","isKeyboardDismissDisabled","ref","uniqueId","useId","headerId","bodyId","useEffect","window","document","body","classList","add","remove","handleKeyDown","e","key","addEventListener","removeEventListener","modalRoot","getElementById","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","Fragment","m","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","Button","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -7,12 +7,12 @@ import { B as Button } from "../chunks/button-CIYJojCH.js";
7
7
  import { AnimatePresence, LazyMotion, m } from "framer-motion";
8
8
  import { c as cva } from "../chunks/index-CEKmKomA.js";
9
9
  const TRANSITION_EASINGS = {
10
- ease: [0.36, 0.66, 0.4, 1]
10
+ ease: [0.36, 0.66, 0.4, 1],
11
+ easeOut: [0, 0, 0.2, 1]
11
12
  };
12
13
  const TRANSITION_VARIANTS = {
13
- scaleInOut: {
14
+ fade: {
14
15
  enter: {
15
- transform: "scale(1)",
16
16
  opacity: 1,
17
17
  transition: {
18
18
  duration: 0.4,
@@ -20,7 +20,6 @@ const TRANSITION_VARIANTS = {
20
20
  }
21
21
  },
22
22
  exit: {
23
- transform: "scale(1.03)",
24
23
  opacity: 0,
25
24
  transition: {
26
25
  duration: 0.3,
@@ -28,19 +27,22 @@ const TRANSITION_VARIANTS = {
28
27
  }
29
28
  }
30
29
  },
31
- fade: {
30
+ modal: {
32
31
  enter: {
32
+ scale: 1,
33
33
  opacity: 1,
34
34
  transition: {
35
- duration: 0.4,
36
- ease: TRANSITION_EASINGS.ease
35
+ type: "spring",
36
+ stiffness: 400,
37
+ damping: 40
37
38
  }
38
39
  },
39
40
  exit: {
41
+ scale: 0.96,
40
42
  opacity: 0,
41
43
  transition: {
42
- duration: 0.3,
43
- ease: TRANSITION_EASINGS.ease
44
+ duration: 0.2,
45
+ ease: TRANSITION_EASINGS.easeOut
44
46
  }
45
47
  }
46
48
  }
@@ -166,18 +168,36 @@ const Modal = forwardRef(({
166
168
  /* @__PURE__ */ jsx(m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.fade, className: cn("fixed inset-0 z-50", backdropVariants({
167
169
  backdrop
168
170
  }), classNameOverlay), onClick: onClickOutside, "aria-hidden": "true", tabIndex: -1 }, "modal-overlay"),
169
- /* @__PURE__ */ jsx(m.div, { initial: "exit", animate: "enter", exit: "exit", variants: TRANSITION_VARIANTS.scaleInOut, ref, id: modalId, role: "dialog", "aria-modal": "true", "aria-labelledby": headerId, "aria-describedby": bodyId, className: cn(" z-50 w-full rounded-lg shadow-lg bg-content1", placementVariants({
170
- placement
171
- }), sizeVariants({
172
- size
173
- }), radiusVariants({
174
- radius
175
- }), shadowVariants({
176
- shadow
177
- }), classNameDialog), style, children: /* @__PURE__ */ jsx(ModalContext.Provider, { value: {
178
- headerId,
179
- bodyId
180
- }, children: /* @__PURE__ */ jsx("div", { className: cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) }) }, "modal-content")
171
+ /* @__PURE__ */ jsx(
172
+ m.div,
173
+ {
174
+ initial: "exit",
175
+ animate: "enter",
176
+ exit: "exit",
177
+ variants: TRANSITION_VARIANTS.modal,
178
+ ref,
179
+ id: modalId,
180
+ role: "dialog",
181
+ "aria-modal": "true",
182
+ "aria-labelledby": headerId,
183
+ "aria-describedby": bodyId,
184
+ className: cn(" z-50 w-full rounded-lg shadow-lg bg-content1", placementVariants({
185
+ placement
186
+ }), sizeVariants({
187
+ size
188
+ }), radiusVariants({
189
+ radius
190
+ }), shadowVariants({
191
+ shadow
192
+ }), classNameDialog),
193
+ style,
194
+ children: /* @__PURE__ */ jsx(ModalContext.Provider, { value: {
195
+ headerId,
196
+ bodyId
197
+ }, children: /* @__PURE__ */ jsx("div", { className: cn("modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]", classNameContent), style: styleContainer, children }) })
198
+ },
199
+ "modal-content"
200
+ )
181
201
  ] }) }) }), modalRoot);
182
202
  });
183
203
  Modal.displayName = "ModalPortalComponent";
@@ -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, createContext, useContext, useId } 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 ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\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 placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\t\tconst headerId = `${modalId}-header`;\n\t\tconst bodyId = `${modalId}-body`;\n\n useEffect(() => {\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\") || document.body;\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=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\tvariants={TRANSITION_VARIANTS.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\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\" z-50 w-full rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\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<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</ModalContext.Provider>\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, style, children, id, ...props }: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={style}>\n\t\t\t<div\n\t\t\t\tid={id || context?.headerId}\n\t\t\t\tclassName={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","TRANSITION_VARIANTS","scaleInOut","enter","transform","opacity","transition","duration","exit","fade","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","center","top","bottom","shadowVariants","shadow","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","isKeyboardDismissDisabled","ref","uniqueId","useId","headerId","bodyId","useEffect","window","document","body","classList","add","remove","handleKeyDown","e","key","addEventListener","removeEventListener","modalRoot","getElementById","ReactDOM","createPortal","then","res","domAnimation","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
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\tmodal: {\n\t\tenter: {\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\ttransition: {\n\t\t\t\ttype: \"spring\",\n\t\t\t\tstiffness: 400,\n\t\t\t\tdamping: 40,\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\tscale: 0.96,\n\t\t\topacity: 0,\n\t\t\ttransition: {\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: TRANSITION_EASINGS.easeOut,\n\t\t\t},\n\t\t},\n\t},\n\tcollapse: {\n\t\tenter: {\n\t\t\topacity: 1,\n\t\t\theight: \"auto\",\n\t\t\ttransition: {\n\t\t\t\theight: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tbounce: 0,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t\topacity: {\n\t\t\t\t\tease: \"ease\" as any,\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\theight: 0,\n\t\t\ttransition: {\n\t\t\t\tease: \"ease\" as any,\n\t\t\t\tduration: 0.3,\n\t\t\t},\n\t\t},\n\t},\n};\n","\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, createContext, useContext, useId } 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 ModalContext = createContext<{ headerId: string; bodyId: string } | null>(null);\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"max-w-xs\",\n\t\t\t\"sm\": \"max-w-sm\",\n\t\t\t\"md\": \"max-w-md\",\n\t\t\t\"lg\": \"max-w-lg\",\n\t\t\t\"xl\": \"max-w-xl\",\n\t\t\t\"2xl\": \"max-w-2xl\",\n\t\t\t\"3xl\": \"max-w-3xl\",\n\t\t\t\"4xl\": \"max-w-4xl\",\n\t\t\t\"5xl\": \"max-w-5xl\",\n\t\t\t\"full\": \"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\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 placementVariants = cva(\"\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tcenter: \"fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]\",\n\t\t\ttop: \"fixed top-0 left-[50%] translate-x-[-50%] sm:mt-8\",\n\t\t\tbottom: \"fixed bottom-0 left-[50%] translate-x-[-50%] sm:mb-8\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"center\",\n\t},\n});\n\nconst shadowVariants = cva(\"\", {\n\tvariants: {\n\t\tshadow: {\n\t\t\tnone: \"shadow-none\",\n\t\t\tsm: \"shadow-sm\",\n\t\t\tmd: \"shadow-md\",\n\t\t\tlg: \"shadow-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tshadow: \"md\",\n\t},\n});\n\nexport const Modal = forwardRef(\n\t(\n\t\t{\n\t\t\tmodalId: propModalId,\n\t\t\tisShow,\n\t\t\tisVisible,\n\t\t\tchildren,\n\t\t\tstyle,\n\t\t\tclassNameOverlay = \"\",\n\t\t\tstyleContainer,\n\t\t\tonClickOutside,\n\t\t\tclassNameDialog = \"modal-custom-dialog\",\n\t\t\tclassNameContent = \"\",\n\t\t\tbackdrop = \"opaque\",\n\t\t\tsize = \"md\",\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshadow = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"center\",\n\t\t}: ModalType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst modalId = propModalId || uniqueId;\n\t\tconst headerId = `${modalId}-header`;\n\t\tconst bodyId = `${modalId}-body`;\n\n useEffect(() => {\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\") || document.body;\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=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"modal-content\"\n\t\t\t\t\t\t\t\tinitial=\"exit\"\n\t\t\t\t\t\t\t\tanimate=\"enter\"\n\t\t\t\t\t\t\t\texit=\"exit\"\n\t\t\t\t\t\t\t\t// variants={TRANSITION_VARIANTS.scaleInOut}\n variants={TRANSITION_VARIANTS.modal}\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\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\taria-labelledby={headerId}\n\t\t\t\t\t\t\t\taria-describedby={bodyId}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\" z-50 w-full rounded-lg shadow-lg bg-content1\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\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<ModalContext.Provider value={{ headerId, bodyId }}>\n\t\t\t\t\t\t\t\t\t<div className={cn(\"modal-custom-content w-full flex flex-col max-h-[calc(100vh-4rem)]\", classNameContent)} style={styleContainer}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</ModalContext.Provider>\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, style, children, id, ...props }: ModalHeaderType) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div className={cn(\"modal-custom-header-container w-full\")} style={style}>\n\t\t\t<div\n\t\t\t\tid={id || context?.headerId}\n\t\t\t\tclassName={cn(\"w-full flex py-4 px-6 flex-initial text-large font-semibold\", className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children || <header className=\"modal-custom-title text-lg leading-none font-semibold\">{title}</header>}\n\t\t\t</div>\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<div className=\"absolute top-2.5 right-2.5 disabled:pointer-events-none z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"p-0 w-9 h-9 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200 dark:text-default-500 dark:hover:text-default-600 disabled:opacity-50 disabled:pointer-events-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" fill=\"currentColor\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ModalBody = forwardRef(({ children, className = \"\", style, height, id }: ModalBodyType, ref: Ref<HTMLDivElement>) => {\n\tconst context = useContext(ModalContext);\n\treturn (\n\t\t<div\n\t\t\tid={id || context?.bodyId}\n\t\t\tclassName={cn(\"modal-custom-body flex flex-1 flex-col gap-3 px-6 overflow-y-auto\", className)}\n\t\t\tref={ref}\n\t\t\tstyle={{ ...style, height: height ? `${height}px` : \"auto\" }}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\nModalBody.displayName = \"ModalBodyPortalComponent\";\n\nexport const ModalFooter = ({ children, className, style }: ModalFooterType) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"modal-custom-footer flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["TRANSITION_EASINGS","ease","easeOut","TRANSITION_VARIANTS","fade","enter","opacity","transition","duration","exit","modal","scale","type","stiffness","damping","ModalContext","createContext","backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","center","top","bottom","shadowVariants","shadow","Modal","forwardRef","modalId","propModalId","isShow","isVisible","children","style","classNameOverlay","styleContainer","onClickOutside","classNameDialog","classNameContent","isKeyboardDismissDisabled","ref","uniqueId","useId","headerId","bodyId","useEffect","window","document","body","classList","add","remove","handleKeyDown","e","key","addEventListener","removeEventListener","modalRoot","getElementById","ReactDOM","createPortal","then","res","domAnimation","cn","displayName","ModalHeader","t0","$","_c","className","id","onClick","props","t1","t2","title","showCloseButton","disabled","undefined","context","useContext","t3","Symbol","for","t4","t5","t6","t7","t8","t9","ModalBody","height","ModalFooter"],"mappings":"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"}
@@ -173,7 +173,7 @@ const Pagination = (t0) => {
173
173
  let t12;
174
174
  if ($[15] !== limit || $[16] !== onChange) {
175
175
  t12 = (value) => {
176
- if (value === "...") {
176
+ if (value === "..." || value === null) {
177
177
  return;
178
178
  }
179
179
  if (onChange) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\nimport clsx from \"clsx\";\n\nexport const PaginationItem = ({ className, color = \"primary\", active, children, text, onClick }: PaginationItemProps) => {\n\tconst bgClass = clsx(\n\t\t{\n\t\t\t\"bg-primary\": color === \"primary\" && active,\n\t\t\t\"bg-success\": color === \"success\" && active,\n\t\t\t\"bg-danger\": color === \"danger\" && active,\n\t\t\t\"bg-warning\": color === \"warning\" && active,\n\t\t\t\"bg-default\": color === \"default\" && active,\n \"dark:hover:bg-default-200 dark:hover:text-default-800\": !active,\n\t\t},\n\t);\n\tconst colorClass = twMerge(\n\t\tclsx(\"text-sm\", {\n\t\t\t\"group-hover:text-primary-500 dark:group-hover:text-default-800\": color === \"primary\" && !active,\n\t\t\t\"group-hover:text-success-500 dark:group-hover:text-default-800\": color === \"success\" && !active,\n\t\t\t\"group-hover:text-danger-500 dark:group-hover:text-default-800\": color === \"danger\" && !active,\n\t\t\t\"group-hover:text-warning-500 dark:group-hover:text-default-800\": color === \"warning\" && !active,\n\t\t\t\"group-hover:text-default-500 dark:group-hover:text-default-800\": color === \"default\" && !active,\n\n\t\t\t\"text-default-foreground\": active && color === \"default\",\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\n\t\t\t\"text-success-foreground\": active && color === \"success\",\n\t\t\t\"text-danger-foreground\": active && color === \"danger\",\n\t\t\t\"text-warning-foreground\": active && color === \"warning\",\n\t\t}),\n\t);\n\n\treturn (\n\t\t<div className={twMerge(\"w-[33px] h-[32px] flex items-center justify-center group \", bgClass, className)} onClick={onClick}>\n\t\t\t{children || <p className={colorClass}>{text}</p>}\n\t\t</div>\n\t);\n};\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n\ttranslate = {\n\t\tselectLimit: \"Limites\",\n\t\trowPerPage: \"Filas por pagina\",\n\t\tof: \"de\",\n\t},\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\") return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-default-500\">{translate?.rowPerPage || \"Filas por pagina\"}:</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select limit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>{translate?.selectLimit || \"Limites\"}</SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-default-500\">\n\t\t\t\t\t\t<span className=\"text-default-500\">{`${page} - ${limit}`}</span> {translate?.of || \"de\"}{\" \"}\n\t\t\t\t\t\t<span className=\"text-default-500\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t{totalPagination > 1 && (\n\t\t\t\t<div className=\"flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-input rounded-lg cursor-pointer dark:bg-default-100\">\n\t\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\", \"rounded-tl-lg rounded-bl-lg \")} onClick={handlePrev}>\n\t\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-default-500\", clsx(page === 1 && \"fill-default-300\"))} />\n\t\t\t\t\t</PaginationItem>\n\n\t\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\ttext={el}\n\t\t\t\t\t\t\tactive={page === el}\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\tonClick={() => handleChange(el)}\n\t\t\t\t\t\t\tclassName=\"border-l border-input \"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\"border-l border-input rounded-tr-lg rounded-br-lg \",\n\t\t\t\t\t\t\t(page === totalPagination || totalPagination === 0) && \"cursor-no-drop\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={handleNext}\n\t\t\t\t\t>\n\t\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\"fill-default-500 transform rotate-180 \",\n\t\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-default-300\"),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PaginationItem>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","t0","$","_c","className","color","t1","active","children","text","onClick","undefined","colorClass","t2","bgClass","clsx","t3","twMerge","jsx","t4","FormatPagePagination","page","total","siblings","totalPageNoInArray","Array","from","length","_","i","leftSiblingsIndex","Math","max","rightSiblingsIndex","min","showLeftDots","showRightDots","leftItemsCount","leftRange","rightItemsCount","rightRange","middleRange","FormatLimitPagination","data","map","el","id","name","Pagination","limit","isLimitSelect","t5","dataLimit","t6","onChange","translate","t7","t10","t8","t9","t11","selectLimit","rowPerPage","of","totalPagination","ceil","dataPageFormat","dataLimitFormat","t12","value","Number","handleChange","t13","handlePrev","t14","handleNext","t15","value_0","handleChangeSelect","jsxs","Select","toString","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","_temp","IoIosArrowBack","item","SelectItem","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","handleSetPagination"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/components/pagination/pagination-item.tsx","../../src/components/pagination/function/index.ts","../../src/components/pagination/pagination.tsx","../../src/components/pagination/hook/use-pagination.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\r\nimport { type PaginationItemProps } from \"./interface/pagination.interface\";\r\nimport clsx from \"clsx\";\r\n\r\nexport const PaginationItem = ({ className, color = \"primary\", active, children, text, onClick }: PaginationItemProps) => {\r\n\tconst bgClass = clsx(\r\n\t\t{\r\n\t\t\t\"bg-primary\": color === \"primary\" && active,\r\n\t\t\t\"bg-success\": color === \"success\" && active,\r\n\t\t\t\"bg-danger\": color === \"danger\" && active,\r\n\t\t\t\"bg-warning\": color === \"warning\" && active,\r\n\t\t\t\"bg-default\": color === \"default\" && active,\r\n \"dark:hover:bg-default-200 dark:hover:text-default-800\": !active,\r\n\t\t},\r\n\t);\r\n\tconst colorClass = twMerge(\r\n\t\tclsx(\"text-sm\", {\r\n\t\t\t\"group-hover:text-primary-500 dark:group-hover:text-default-800\": color === \"primary\" && !active,\r\n\t\t\t\"group-hover:text-success-500 dark:group-hover:text-default-800\": color === \"success\" && !active,\r\n\t\t\t\"group-hover:text-danger-500 dark:group-hover:text-default-800\": color === \"danger\" && !active,\r\n\t\t\t\"group-hover:text-warning-500 dark:group-hover:text-default-800\": color === \"warning\" && !active,\r\n\t\t\t\"group-hover:text-default-500 dark:group-hover:text-default-800\": color === \"default\" && !active,\r\n\r\n\t\t\t\"text-default-foreground\": active && color === \"default\",\r\n\t\t\t\"text-primary-foreground\": active && color === \"primary\",\r\n\t\t\t\"text-success-foreground\": active && color === \"success\",\r\n\t\t\t\"text-danger-foreground\": active && color === \"danger\",\r\n\t\t\t\"text-warning-foreground\": active && color === \"warning\",\r\n\t\t}),\r\n\t);\r\n\r\n\treturn (\r\n\t\t<div className={twMerge(\"w-[33px] h-[32px] flex items-center justify-center group \", bgClass, className)} onClick={onClick}>\r\n\t\t\t{children || <p className={colorClass}>{text}</p>}\r\n\t\t</div>\r\n\t);\r\n};\r\n","import { type PaginationValueProps } from \"../interface/pagination-share.interface\";\n\nexport const FormatPagePagination = ({\n\tpage,\n\ttotal,\n\tsiblings = 1,\n}: PaginationValueProps) => {\n\tconst totalPageNoInArray = 7 + siblings;\n\n\tif (totalPageNoInArray >= total) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst leftSiblingsIndex = Math.max(page - siblings, 1);\n\tconst rightSiblingsIndex = Math.min(page + siblings, total);\n\n\tconst showLeftDots = leftSiblingsIndex > 2;\n\tconst showRightDots = rightSiblingsIndex < total - 2;\n\n\tif (!showLeftDots && showRightDots) {\n\t\tconst leftItemsCount = 3 + 2 * siblings;\n\t\tconst leftRange = Array.from({ length: leftItemsCount }, (_, i) => i + 1);\n\t\treturn [...leftRange, \"...\", total];\n\t} else if (showLeftDots && !showRightDots) {\n\t\tconst rightItemsCount = 3 + 2 * siblings;\n\t\tconst rightRange = Array.from(\n\t\t\t{ length: rightItemsCount },\n\t\t\t(_, i) => total - rightItemsCount + i + 1\n\t\t);\n\t\treturn [1, \"...\", ...rightRange];\n\t} else {\n\t\tconst middleRange = Array.from(\n\t\t\t{ length: rightSiblingsIndex - leftSiblingsIndex + 1 },\n\t\t\t(_, i) => leftSiblingsIndex + i\n\t\t);\n\t\treturn [1, \"...\", ...middleRange, \"...\", total];\n\t}\n};\n\nexport const FormatLimitPagination = (data: number[]) => {\n\treturn data.map((el) => {\n\t\treturn {\n\t\t\tid: el,\n\t\t\tname: el,\n\t\t};\n\t});\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { IoIosArrowBack } from \"react-icons/io\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { type PaginationProps } from \"./interface/pagination.interface\";\nimport { FormatLimitPagination, FormatPagePagination } from \"./function\";\nimport clsx from \"clsx\";\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from \"../ui\";\n\nexport const Pagination = ({\n\tclassName,\n\tcolor = \"primary\",\n\n\ttotal,\n\tlimit = 20,\n\tpage = 1,\n\tsiblings = 1,\n\tisLimitSelect = true,\n\tdataLimit = [10, 15, 20, 50, 100, 200],\n\tonChange,\n\ttranslate = {\n\t\tselectLimit: \"Limites\",\n\t\trowPerPage: \"Filas por pagina\",\n\t\tof: \"de\",\n\t},\n}: PaginationProps) => {\n\tconst totalPagination = Math.ceil(total / limit);\n\n\tconst dataPageFormat = FormatPagePagination({\n\t\tlimit,\n\t\tpage,\n\t\tsiblings,\n\t\ttotal: totalPagination,\n\t});\n\tconst dataLimitFormat = FormatLimitPagination(dataLimit);\n\n\tconst handleChange = (value: number | string | null) => {\n\t\tif (value === \"...\" || value === null) return;\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: Number(value),\n\t\t\t});\n\t};\n\n\tconst handlePrev = () => {\n\t\tif (page === 1) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page - 1,\n\t\t\t});\n\t};\n\n\tconst handleNext = () => {\n\t\tif (page === totalPagination || totalPagination === 0) return;\n\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tlimit,\n\t\t\t\tpage: page + 1,\n\t\t\t});\n\t};\n\n\tconst handleChangeSelect = (value: string) => {\n\t\tif (onChange)\n\t\t\tonChange({\n\t\t\t\tpage,\n\t\t\t\tlimit: value ? Number(value) : 20,\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<div className={twMerge(\"flex justify-between gap-x-2 items-center\", className)}>\n\t\t\t{isLimitSelect ? (\n\t\t\t\t<div className=\"flex items-center gap-x-2.5\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span className=\"text-sm text-default-500\">{translate?.rowPerPage || \"Filas por pagina\"}:</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Select value={limit?.toString()} onValueChange={handleChangeSelect}>\n\t\t\t\t\t\t<SelectTrigger className=\"min-w-20\">\n\t\t\t\t\t\t\t<SelectValue placeholder=\"Select limit\" />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t<SelectLabel>{translate?.selectLimit || \"Limites\"}</SelectLabel>\n\t\t\t\t\t\t\t\t{dataLimitFormat.map((item) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={item.id} value={item.id?.toString()}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\n\t\t\t\t\t<div className=\"text-sm text-default-500\">\n\t\t\t\t\t\t<span className=\"text-default-500\">{`${page} - ${limit}`}</span> {translate?.of || \"de\"}{\" \"}\n\t\t\t\t\t\t<span className=\"text-default-500\">{total}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t{totalPagination > 1 && (\n\t\t\t\t<div className=\"flex flex-nowrap h-fit max-w-fit relative items-center overflow-visible gap-0 border border-input rounded-lg cursor-pointer dark:bg-default-100\">\n\t\t\t\t\t<PaginationItem className={clsx(page === 1 && \"cursor-no-drop\", \"rounded-tl-lg rounded-bl-lg \")} onClick={handlePrev}>\n\t\t\t\t\t\t<IoIosArrowBack className={twMerge(\"fill-default-500\", clsx(page === 1 && \"fill-default-300\"))} />\n\t\t\t\t\t</PaginationItem>\n\n\t\t\t\t\t{dataPageFormat.map((el, i) => (\n\t\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\ttext={el}\n\t\t\t\t\t\t\tactive={page === el}\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\tonClick={() => handleChange(el)}\n\t\t\t\t\t\t\tclassName=\"border-l border-input \"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\"border-l border-input rounded-tr-lg rounded-br-lg \",\n\t\t\t\t\t\t\t(page === totalPagination || totalPagination === 0) && \"cursor-no-drop\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={handleNext}\n\t\t\t\t\t>\n\t\t\t\t\t\t<IoIosArrowBack\n\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\"fill-default-500 transform rotate-180 \",\n\t\t\t\t\t\t\t\tclsx((page === totalPagination || totalPagination === 0) && \"fill-default-300\"),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PaginationItem>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { useCallback, useState } from \"react\";\nimport { type PaginationHookProps, type UsePaginationProps } from \"../interface/pagination.interface\";\nimport { type PaginationSetValueProps } from \"../interface/pagination-share.interface\";\n\nexport const usePagination = ({ initialPage = 1, initialLimit = 20 }: UsePaginationProps): PaginationHookProps => {\n\tconst [pageCurrent, setPageCurrent] = useState<number>(initialPage);\n\tconst [limitCurrent, setLimitCurrent] = useState<number>(initialLimit);\n\n\tconst handleSetPagination = useCallback(\n\t\t({ page, limit }: PaginationSetValueProps) => {\n\t\t\tif (page !== pageCurrent) setPageCurrent(page);\n\t\t\tif (limit !== limitCurrent) setLimitCurrent(limit);\n\t\t},\n\t\t[limitCurrent, pageCurrent],\n\t);\n\n\treturn {\n\t\thandleSetPagination,\n\t\tpage: pageCurrent,\n\t\tlimit: limitCurrent,\n\t};\n};\n"],"names":["PaginationItem","t0","$","_c","className","color","t1","active","children","text","onClick","undefined","colorClass","t2","bgClass","clsx","t3","twMerge","jsx","t4","FormatPagePagination","page","total","siblings","totalPageNoInArray","Array","from","length","_","i","leftSiblingsIndex","Math","max","rightSiblingsIndex","min","showLeftDots","showRightDots","leftItemsCount","leftRange","rightItemsCount","rightRange","middleRange","FormatLimitPagination","data","map","el","id","name","Pagination","limit","isLimitSelect","t5","dataLimit","t6","onChange","translate","t7","t10","t8","t9","t11","selectLimit","rowPerPage","of","totalPagination","ceil","dataPageFormat","dataLimitFormat","t12","value","Number","handleChange","t13","handlePrev","t14","handleNext","t15","value_0","handleChangeSelect","jsxs","Select","toString","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectLabel","_temp","IoIosArrowBack","item","SelectItem","usePagination","initialPage","initialLimit","pageCurrent","setPageCurrent","useState","limitCurrent","setLimitCurrent","handleSetPagination"],"mappings":"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"}
@@ -171,7 +171,7 @@ const Pagination = (t0) => {
171
171
  let t12;
172
172
  if ($[15] !== limit || $[16] !== onChange) {
173
173
  t12 = (value) => {
174
- if (value === "...") {
174
+ if (value === "..." || value === null) {
175
175
  return;
176
176
  }
177
177
  if (onChange) {