@zentauri-ui/zentauri-components 0.0.91 → 0.0.92

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.
Files changed (167) hide show
  1. package/dist/chunk-BZSIXBA7.js +70 -0
  2. package/dist/chunk-BZSIXBA7.js.map +1 -0
  3. package/dist/chunk-E5UX537J.js +11 -0
  4. package/dist/chunk-E5UX537J.js.map +1 -0
  5. package/dist/chunk-MEWYFWBX.mjs +14 -0
  6. package/dist/chunk-MEWYFWBX.mjs.map +1 -0
  7. package/dist/chunk-VJHD7QZH.mjs +73 -0
  8. package/dist/chunk-VJHD7QZH.mjs.map +1 -0
  9. package/dist/ui/accordion.js +51 -57
  10. package/dist/ui/accordion.js.map +1 -1
  11. package/dist/ui/{accordion.cjs → accordion.mjs} +38 -67
  12. package/dist/ui/accordion.mjs.map +1 -0
  13. package/dist/ui/{alert.d.cts → alert.d.mts} +1 -1
  14. package/dist/ui/alert.d.ts +1 -1
  15. package/dist/ui/alert.js +40 -46
  16. package/dist/ui/alert.js.map +1 -1
  17. package/dist/ui/{alert.cjs → alert.mjs} +29 -66
  18. package/dist/ui/alert.mjs.map +1 -0
  19. package/dist/ui/{badge.d.cts → badge.d.mts} +1 -1
  20. package/dist/ui/badge.d.ts +1 -1
  21. package/dist/ui/badge.js +20 -26
  22. package/dist/ui/badge.js.map +1 -1
  23. package/dist/ui/{badge.cjs → badge.mjs} +17 -48
  24. package/dist/ui/badge.mjs.map +1 -0
  25. package/dist/ui/{buttons.d.cts → buttons.d.mts} +1 -1
  26. package/dist/ui/buttons.d.ts +1 -1
  27. package/dist/ui/buttons.js +18 -87
  28. package/dist/ui/buttons.js.map +1 -1
  29. package/dist/ui/buttons.mjs +109 -0
  30. package/dist/ui/buttons.mjs.map +1 -0
  31. package/dist/ui/{card.d.cts → card.d.mts} +1 -1
  32. package/dist/ui/card.d.ts +1 -1
  33. package/dist/ui/card.js +40 -46
  34. package/dist/ui/card.js.map +1 -1
  35. package/dist/ui/{card.cjs → card.mjs} +26 -65
  36. package/dist/ui/card.mjs.map +1 -0
  37. package/dist/ui/{divider.d.cts → divider.d.mts} +2 -2
  38. package/dist/ui/divider.d.ts +2 -2
  39. package/dist/ui/divider.js +30 -36
  40. package/dist/ui/divider.js.map +1 -1
  41. package/dist/ui/{divider.cjs → divider.mjs} +22 -55
  42. package/dist/ui/divider.mjs.map +1 -0
  43. package/dist/ui/{drawer.d.cts → drawer.d.mts} +3 -3
  44. package/dist/ui/drawer.d.ts +3 -3
  45. package/dist/ui/drawer.js +64 -70
  46. package/dist/ui/drawer.js.map +1 -1
  47. package/dist/ui/{drawer.cjs → drawer.mjs} +48 -77
  48. package/dist/ui/drawer.mjs.map +1 -0
  49. package/dist/ui/{dropdown.d.cts → dropdown.d.mts} +4 -4
  50. package/dist/ui/dropdown.d.ts +4 -4
  51. package/dist/ui/dropdown.js +43 -49
  52. package/dist/ui/dropdown.js.map +1 -1
  53. package/dist/ui/{dropdown.cjs → dropdown.mjs} +34 -62
  54. package/dist/ui/dropdown.mjs.map +1 -0
  55. package/dist/ui/{empty-state.d.cts → empty-state.d.mts} +1 -1
  56. package/dist/ui/empty-state.d.ts +1 -1
  57. package/dist/ui/empty-state.js +31 -37
  58. package/dist/ui/empty-state.js.map +1 -1
  59. package/dist/ui/empty-state.mjs +150 -0
  60. package/dist/ui/empty-state.mjs.map +1 -0
  61. package/dist/ui/{inputs.d.cts → inputs.d.mts} +2 -2
  62. package/dist/ui/inputs.d.ts +2 -2
  63. package/dist/ui/inputs.js +26 -32
  64. package/dist/ui/inputs.js.map +1 -1
  65. package/dist/ui/{inputs.cjs → inputs.mjs} +21 -51
  66. package/dist/ui/inputs.mjs.map +1 -0
  67. package/dist/ui/{modal.d.cts → modal.d.mts} +3 -3
  68. package/dist/ui/modal.d.ts +3 -3
  69. package/dist/ui/modal.js +69 -75
  70. package/dist/ui/modal.js.map +1 -1
  71. package/dist/ui/{modal.cjs → modal.mjs} +53 -79
  72. package/dist/ui/modal.mjs.map +1 -0
  73. package/dist/ui/{pagination.d.cts → pagination.d.mts} +3 -3
  74. package/dist/ui/pagination.d.ts +3 -3
  75. package/dist/ui/pagination.js +48 -117
  76. package/dist/ui/pagination.js.map +1 -1
  77. package/dist/ui/{pagination.cjs → pagination.mjs} +35 -131
  78. package/dist/ui/pagination.mjs.map +1 -0
  79. package/dist/ui/{progress.d.cts → progress.d.mts} +5 -5
  80. package/dist/ui/progress.d.ts +5 -5
  81. package/dist/ui/progress.js +37 -43
  82. package/dist/ui/progress.js.map +1 -1
  83. package/dist/ui/{progress.cjs → progress.mjs} +25 -60
  84. package/dist/ui/progress.mjs.map +1 -0
  85. package/dist/ui/{select.d.cts → select.d.mts} +4 -4
  86. package/dist/ui/select.d.ts +4 -4
  87. package/dist/ui/select.js +43 -49
  88. package/dist/ui/select.js.map +1 -1
  89. package/dist/ui/{select.cjs → select.mjs} +31 -68
  90. package/dist/ui/select.mjs.map +1 -0
  91. package/dist/ui/{skeleton.d.cts → skeleton.d.mts} +3 -3
  92. package/dist/ui/skeleton.d.ts +3 -3
  93. package/dist/ui/skeleton.js +45 -51
  94. package/dist/ui/skeleton.js.map +1 -1
  95. package/dist/ui/{skeleton.cjs → skeleton.mjs} +31 -67
  96. package/dist/ui/skeleton.mjs.map +1 -0
  97. package/dist/ui/{spinner.d.cts → spinner.d.mts} +3 -3
  98. package/dist/ui/spinner.d.ts +3 -3
  99. package/dist/ui/spinner.js +34 -40
  100. package/dist/ui/spinner.js.map +1 -1
  101. package/dist/ui/{spinner.cjs → spinner.mjs} +27 -57
  102. package/dist/ui/spinner.mjs.map +1 -0
  103. package/dist/ui/{table.d.cts → table.d.mts} +4 -4
  104. package/dist/ui/table.d.ts +4 -4
  105. package/dist/ui/table.js +43 -49
  106. package/dist/ui/table.js.map +1 -1
  107. package/dist/ui/{table.cjs → table.mjs} +26 -65
  108. package/dist/ui/table.mjs.map +1 -0
  109. package/dist/ui/{tabs.d.cts → tabs.d.mts} +1 -1
  110. package/dist/ui/tabs.d.ts +1 -1
  111. package/dist/ui/tabs.js +41 -47
  112. package/dist/ui/tabs.js.map +1 -1
  113. package/dist/ui/{tabs.cjs → tabs.mjs} +29 -59
  114. package/dist/ui/tabs.mjs.map +1 -0
  115. package/dist/ui/{toast.d.cts → toast.d.mts} +1 -1
  116. package/dist/ui/toast.d.ts +1 -1
  117. package/dist/ui/toast.js +57 -63
  118. package/dist/ui/toast.js.map +1 -1
  119. package/dist/ui/{toast.cjs → toast.mjs} +43 -74
  120. package/dist/ui/toast.mjs.map +1 -0
  121. package/dist/ui/{toggle.d.cts → toggle.d.mts} +1 -1
  122. package/dist/ui/toggle.d.ts +1 -1
  123. package/dist/ui/toggle.js +23 -29
  124. package/dist/ui/toggle.js.map +1 -1
  125. package/dist/ui/{toggle.cjs → toggle.mjs} +19 -50
  126. package/dist/ui/toggle.mjs.map +1 -0
  127. package/dist/ui/{tooltip.d.cts → tooltip.d.mts} +2 -2
  128. package/dist/ui/tooltip.d.ts +2 -2
  129. package/dist/ui/tooltip.js +29 -35
  130. package/dist/ui/tooltip.js.map +1 -1
  131. package/dist/ui/{tooltip.cjs → tooltip.mjs} +26 -58
  132. package/dist/ui/tooltip.mjs.map +1 -0
  133. package/dist/variants-Dd9pe-ov.d.mts +8 -0
  134. package/dist/variants-Dd9pe-ov.d.ts +8 -0
  135. package/package.json +10 -15
  136. package/dist/ui/accordion.cjs.map +0 -1
  137. package/dist/ui/alert.cjs.map +0 -1
  138. package/dist/ui/badge.cjs.map +0 -1
  139. package/dist/ui/buttons.cjs +0 -202
  140. package/dist/ui/buttons.cjs.map +0 -1
  141. package/dist/ui/card.cjs.map +0 -1
  142. package/dist/ui/divider.cjs.map +0 -1
  143. package/dist/ui/drawer.cjs.map +0 -1
  144. package/dist/ui/dropdown.cjs.map +0 -1
  145. package/dist/ui/empty-state.cjs +0 -186
  146. package/dist/ui/empty-state.cjs.map +0 -1
  147. package/dist/ui/index.cjs +0 -5764
  148. package/dist/ui/index.cjs.map +0 -1
  149. package/dist/ui/index.d.cts +0 -27
  150. package/dist/ui/index.d.ts +0 -27
  151. package/dist/ui/index.js +0 -5626
  152. package/dist/ui/index.js.map +0 -1
  153. package/dist/ui/inputs.cjs.map +0 -1
  154. package/dist/ui/modal.cjs.map +0 -1
  155. package/dist/ui/pagination.cjs.map +0 -1
  156. package/dist/ui/progress.cjs.map +0 -1
  157. package/dist/ui/select.cjs.map +0 -1
  158. package/dist/ui/skeleton.cjs.map +0 -1
  159. package/dist/ui/spinner.cjs.map +0 -1
  160. package/dist/ui/table.cjs.map +0 -1
  161. package/dist/ui/tabs.cjs.map +0 -1
  162. package/dist/ui/toast.cjs.map +0 -1
  163. package/dist/ui/toggle.cjs.map +0 -1
  164. package/dist/ui/tooltip.cjs.map +0 -1
  165. package/dist/variants-1Bx3BEeS.d.cts +0 -8
  166. package/dist/variants-1Bx3BEeS.d.ts +0 -8
  167. /package/dist/ui/{accordion.d.cts → accordion.d.mts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/modal/modal.tsx","../../src/ui/modal/animations.ts","../../src/ui/modal/variants.ts"],"sourcesContent":["\"use client\";\n\nimport {\n AnimatePresence,\n motion,\n useReducedMotion,\n} from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { modalOverlayAnimationPresets } from \"./animations\";\nimport type {\n ModalContentProps,\n ModalProps,\n ModalSectionProps,\n ModalTriggerProps,\n} from \"./types\";\nimport { modalContentVariants, modalOverlayVariants, modalTriggerVariants } from \"./variants\";\n\ntype ModalCtx = {\n open: boolean;\n setOpen: (next: boolean) => void;\n titleId: string;\n descriptionId: string;\n contentRef: React.RefObject<HTMLDivElement | null>;\n};\n\nconst ModalContext = createContext<ModalCtx | null>(null);\n\nfunction useModalContext(component: string): ModalCtx {\n const ctx = useContext(ModalContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Modal>`);\n }\n return ctx;\n}\n\nconst FOCUSABLE_SELECTOR =\n 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex=\"-1\"])';\n\nfunction useBodyScrollLock(locked: boolean) {\n useEffect(() => {\n if (!locked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [locked]);\n}\n\nexport function Modal({ open, defaultOpen = false, onOpenChange, children }: ModalProps) {\n const isControlled = open !== undefined;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolledOpen(next);\n }\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const baseId = useId();\n const titleId = `${baseId}-title`;\n const descriptionId = `${baseId}-description`;\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n open: resolvedOpen,\n setOpen,\n titleId,\n descriptionId,\n contentRef,\n }),\n [descriptionId, resolvedOpen, setOpen, titleId],\n );\n\n return <ModalContext.Provider value={ctx}>{children}</ModalContext.Provider>;\n}\n\nModal.displayName = \"Modal\";\n\nexport function ModalTrigger({ className, children, appearance, onClick, ref, ...rest }: ModalTriggerProps) {\n const { setOpen } = useModalContext(\"ModalTrigger\");\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"modal-trigger\"\n className={cn(modalTriggerVariants({ appearance }), className)}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(true);\n }\n }}\n {...rest}\n >\n {children}\n </button>\n );\n}\n\nModalTrigger.displayName = \"ModalTrigger\";\n\nexport function ModalContent({\n className,\n size,\n position,\n appearance,\n animation = \"scale\",\n children,\n ref,\n id,\n style,\n}: ModalContentProps) {\n const { open, setOpen, titleId, descriptionId, contentRef } = useModalContext(\"ModalContent\");\n const reduceMotion = useReducedMotion();\n const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n const panelMotion = modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n\n useBodyScrollLock(open);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [open, setOpen]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const node = contentRef.current;\n if (!node) {\n return;\n }\n const focusables = Array.from(\n node.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n ).filter((element) => element.offsetParent !== null || element === node);\n const target = focusables[0] ?? node;\n const previouslyFocused = document.activeElement as HTMLElement | null;\n target.focus();\n\n const handleFocusIn = (event: FocusEvent) => {\n if (!node.contains(event.target as Node)) {\n event.stopPropagation();\n target.focus();\n }\n };\n document.addEventListener(\"focusin\", handleFocusIn);\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn);\n previouslyFocused?.focus?.();\n };\n }, [contentRef, open]);\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"modal-portal\">\n <motion.button\n type=\"button\"\n aria-hidden\n tabIndex={-1}\n data-slot=\"modal-overlay\"\n className={modalOverlayVariants()}\n onClick={() => setOpen(false)}\n initial={animation === \"none\" ? false : overlayMotion.initial}\n animate={animation === \"none\" ? undefined : overlayMotion.animate}\n exit={animation === \"none\" ? undefined : overlayMotion.exit}\n transition={overlayMotion.transition}\n />\n <motion.div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"modal-content\"\n tabIndex={-1}\n className={cn(modalContentVariants({ size, position, appearance }), className)}\n initial={animation === \"none\" ? false : panelMotion.initial}\n animate={animation === \"none\" ? undefined : panelMotion.animate}\n exit={animation === \"none\" ? undefined : panelMotion.exit}\n transition={panelMotion.transition}\n id={id}\n style={style}\n >\n {children}\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n portalTarget,\n );\n}\n\nModalContent.displayName = \"ModalContent\";\n\nexport function ModalHeader({ className, children }: ModalSectionProps) {\n return (\n <header data-slot=\"modal-header\" className={cn(\"mb-4 flex flex-col gap-2\", className)}>\n {children}\n </header>\n );\n}\n\nModalHeader.displayName = \"ModalHeader\";\n\nexport function ModalBody({ className, children }: ModalSectionProps) {\n return (\n <div data-slot=\"modal-body\" className={cn(\"text-sm text-slate-300\", className)}>\n {children}\n </div>\n );\n}\n\nModalBody.displayName = \"ModalBody\";\n\nexport function ModalFooter({ className, children }: ModalSectionProps) {\n return (\n <footer data-slot=\"modal-footer\" className={cn(\"mt-6 flex justify-end gap-2\", className)}>\n {children}\n </footer>\n );\n}\n\nModalFooter.displayName = \"ModalFooter\";\n\nexport function ModalTitle({ className, children }: ModalSectionProps) {\n const { titleId } = useModalContext(\"ModalTitle\");\n return (\n <h2 id={titleId} data-slot=\"modal-title\" className={cn(\"text-lg font-semibold\", className)}>\n {children}\n </h2>\n );\n}\n\nModalTitle.displayName = \"ModalTitle\";\n\nexport function ModalDescription({ className, children }: ModalSectionProps) {\n const { descriptionId } = useModalContext(\"ModalDescription\");\n return (\n <p id={descriptionId} data-slot=\"modal-description\" className={cn(\"text-sm text-slate-400\", className)}>\n {children}\n </p>\n );\n}\n\nModalDescription.displayName = \"ModalDescription\";\n\nexport function ModalClose({ className, children, ...rest }: ModalSectionProps) {\n const { setOpen } = useModalContext(\"ModalClose\");\n return (\n <button\n type=\"button\"\n data-slot=\"modal-close\"\n className={cn(\n \"absolute right-4 top-4 inline-flex size-9 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30\",\n className,\n )}\n aria-label=\"Close dialog\"\n onClick={() => setOpen(false)}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nModalClose.displayName = \"ModalClose\";\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nimport type { ModalAnimation } from \"./types\";\n\ntype ModalPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"exit\" | \"transition\"\n>;\n\nexport type ModalAnimationPresets = Record<ModalAnimation, ModalPresetMotionProps>;\n\nexport const modalOverlayAnimationPresets: ModalAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.2 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.96 },\n transition: { type: \"spring\", stiffness: 420, damping: 32 },\n },\n \"slide-up\": {\n initial: { opacity: 0, y: 24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n \"slide-down\": {\n initial: { opacity: 0, y: -24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const modalOverlayVariants = cva(\n \"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in\",\n);\n\nexport const modalTriggerVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-md border\",\n {\n variants: {\n appearance: {\n default: \"bg-slate-950\",\n glass: \"border-white/15 bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-600 bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-600 bg-rose-950/70 backdrop-blur-xl\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\": \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\": \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\": \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\": \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\": \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\": \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\": \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\": \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\": \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const modalContentVariants = cva(\n \"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-white/10 bg-slate-950 p-6 text-slate-50 shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none\",\n {\n variants: {\n size: {\n sm: \"max-w-md\",\n md: \"max-w-lg\",\n lg: \"max-w-2xl\",\n xl: \"max-w-4xl\",\n full: \"max-w-[calc(100%-2rem)]\",\n },\n position: {\n center: \"top-1/2 translate-y-[-50%]\",\n top: \"top-10 translate-y-0\",\n bottom: \"bottom-10 translate-y-0\",\n },\n appearance: {\n default: \"bg-slate-950\",\n glass: \"border-white/15 bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-600 bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-600 bg-rose-950/70 backdrop-blur-xl\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\": \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\": \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\": \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\": \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\": \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\": \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\": \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\": \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\": \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"center\",\n appearance: \"default\",\n },\n },\n);\n"],"mappings":"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","names":[]}
@@ -3,10 +3,10 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import * as react from 'react';
5
5
  import { ComponentPropsWithoutRef } from 'react';
6
- import { b as buttonVariants } from '../variants-1Bx3BEeS.cjs';
6
+ import { b as buttonVariants } from '../variants-Dd9pe-ov.mjs';
7
7
 
8
8
  declare const Pagination: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "onChange"> & class_variance_authority.VariantProps<(props?: ({
9
- appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
9
+ appearance?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "glass" | "emerald" | "indigo" | "purple" | "pink" | "rose" | "sky" | "teal" | "yellow" | "orange" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
10
10
  size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
12
12
  pageCount: number;
@@ -104,7 +104,7 @@ declare function usePagination({ pageCount, page, defaultPage, siblingCount, bou
104
104
  * `components/ui/buttons/variants.ts` for consistent design-system tokens.
105
105
  */
106
106
  declare const paginationListVariants: (props?: ({
107
- appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
107
+ appearance?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "glass" | "emerald" | "indigo" | "purple" | "pink" | "rose" | "sky" | "teal" | "yellow" | "orange" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
108
108
  size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
109
109
  } & class_variance_authority_types.ClassProp) | undefined) => string;
110
110
  declare const paginationEllipsisVariants: (props?: ({
@@ -3,10 +3,10 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import * as react from 'react';
5
5
  import { ComponentPropsWithoutRef } from 'react';
6
- import { b as buttonVariants } from '../variants-1Bx3BEeS.js';
6
+ import { b as buttonVariants } from '../variants-Dd9pe-ov.js';
7
7
 
8
8
  declare const Pagination: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "onChange"> & class_variance_authority.VariantProps<(props?: ({
9
- appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
9
+ appearance?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "glass" | "emerald" | "indigo" | "purple" | "pink" | "rose" | "sky" | "teal" | "yellow" | "orange" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
10
10
  size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
12
12
  pageCount: number;
@@ -104,7 +104,7 @@ declare function usePagination({ pageCount, page, defaultPage, siblingCount, bou
104
104
  * `components/ui/buttons/variants.ts` for consistent design-system tokens.
105
105
  */
106
106
  declare const paginationListVariants: (props?: ({
107
- appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
107
+ appearance?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | "glass" | "emerald" | "indigo" | "purple" | "pink" | "rose" | "sky" | "teal" | "yellow" | "orange" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
108
108
  size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
109
109
  } & class_variance_authority_types.ClassProp) | undefined) => string;
110
110
  declare const paginationEllipsisVariants: (props?: ({
@@ -1,81 +1,12 @@
1
- "use client";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
+ var _chunkBZSIXBA7js = require('../chunk-BZSIXBA7.js');
3
4
 
4
- // src/ui/pagination/pagination.tsx
5
- import { forwardRef, useCallback as useCallback2, useId } from "react";
6
5
 
7
- // src/lib/utils.ts
8
- import { clsx } from "clsx";
9
- import { twMerge } from "tailwind-merge";
10
- function cn(...inputs) {
11
- return twMerge(clsx(inputs));
12
- }
6
+ var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
13
7
 
14
- // src/ui/buttons/variants.ts
15
- import { cva } from "class-variance-authority";
16
- var buttonVariants = cva(
17
- [
18
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl",
19
- "text-sm font-medium ring-offset-slate-950 transition-colors",
20
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2",
21
- "disabled:pointer-events-none disabled:opacity-50",
22
- "select-none"
23
- ],
24
- {
25
- variants: {
26
- appearance: {
27
- default: "bg-slate-50 text-slate-950 shadow-[0_1px_2px_rgba(15,23,42,0.12)] hover:bg-white",
28
- secondary: "bg-slate-800 text-slate-50 hover:bg-slate-700",
29
- destructive: "bg-rose-600 text-white hover:bg-rose-600",
30
- outline: "border border-white/10 bg-white/5 text-slate-50 hover:bg-white/10",
31
- ghost: "bg-transparent text-slate-200 hover:bg-white/5",
32
- link: "bg-transparent text-cyan-300 underline-offset-4 hover:underline",
33
- glass: "border border-white/15 bg-white/10 text-white backdrop-blur-md hover:bg-white/15",
34
- emerald: "bg-emerald-600 text-white hover:bg-emerald-600",
35
- indigo: "bg-indigo-600 text-white hover:bg-indigo-600",
36
- purple: "bg-purple-600 text-white hover:bg-purple-600",
37
- pink: "bg-pink-600 text-white hover:bg-pink-600",
38
- rose: "bg-rose-600 text-white hover:bg-rose-600",
39
- sky: "bg-sky-600 text-white hover:bg-sky-600",
40
- teal: "bg-teal-600 text-white hover:bg-teal-600",
41
- yellow: "bg-yellow-600 text-white hover:bg-yellow-600",
42
- orange: "bg-orange-600 text-white hover:bg-orange-600",
43
- gray: "bg-gray-600 text-white hover:bg-gray-600",
44
- amber: "bg-amber-600 text-white hover:bg-amber-600",
45
- violet: "bg-violet-600 text-white hover:bg-violet-600",
46
- "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-600 hover:to-purple-600",
47
- "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 text-white hover:from-green-600 hover:to-lime-600",
48
- "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 text-white hover:from-red-600 hover:to-pink-600",
49
- "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 text-white hover:from-yellow-600 hover:to-orange-600",
50
- "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-600 hover:to-pink-600",
51
- "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 text-white hover:from-teal-600 hover:to-cyan-600",
52
- "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 text-white hover:from-indigo-600 hover:to-purple-600",
53
- "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 text-white hover:from-pink-600 hover:to-rose-600",
54
- "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 text-white hover:from-orange-600 hover:to-red-600"
55
- },
56
- size: {
57
- sm: "h-7 md:h-9 px-3 text-xs",
58
- md: "h-9 md:h-11 px-4",
59
- lg: "h-10 md:h-12 px-5 text-base",
60
- xl: "h-12 md:h-14 px-6 text-lg",
61
- "2xl": "h-14 md:h-16 px-6 md:px-8 text-xl",
62
- "3xl": "h-16 md:h-18 px-8 md:px-10 text-2xl",
63
- "4xl": "h-18 md:h-20 px-10 md:px-12 text-2xl",
64
- "5xl": "h-20 md:h-22 px-12 md:px-14 text-2xl",
65
- "6xl": "h-22 md:h-24 px-14 md:px-16 text-2xl",
66
- "7xl": "h-24 md:h-26 px-16 md:px-18 text-2xl",
67
- "8xl": "h-26 md:h-28 px-20 text-2xl",
68
- "9xl": "h-24 md:h-30 px-18 md:px-22 text-2xl",
69
- "10xl": "h-26 md:h-32 px-20 md:px-24 text-2xl",
70
- icon: "h-10 w-10"
71
- }
72
- },
73
- defaultVariants: {
74
- appearance: "default",
75
- size: "md"
76
- }
77
- }
78
- );
8
+ // src/ui/pagination/pagination.tsx
9
+ var _react = require('react');
79
10
 
80
11
  // src/ui/pagination/pagination-logic.ts
81
12
  function buildPaginationItems({
@@ -135,7 +66,7 @@ function range(from, to) {
135
66
  }
136
67
 
137
68
  // src/ui/pagination/use-pagination.ts
138
- import { useCallback, useMemo, useState } from "react";
69
+
139
70
  function usePagination({
140
71
  pageCount,
141
72
  page,
@@ -144,7 +75,7 @@ function usePagination({
144
75
  boundaryCount = 1,
145
76
  onPageChange
146
77
  }) {
147
- const [internalPage, setInternalPage] = useState(
78
+ const [internalPage, setInternalPage] = _react.useState.call(void 0,
148
79
  () => clampPage(defaultPage, pageCount)
149
80
  );
150
81
  const isControlled = page !== void 0;
@@ -152,17 +83,17 @@ function usePagination({
152
83
  isControlled ? page : internalPage,
153
84
  pageCount
154
85
  );
155
- const setPage = useCallback(
86
+ const setPage = _react.useCallback.call(void 0,
156
87
  (next) => {
157
88
  const clamped = clampPage(next, pageCount);
158
89
  if (!isControlled) {
159
90
  setInternalPage(clamped);
160
91
  }
161
- onPageChange?.(clamped);
92
+ _optionalChain([onPageChange, 'optionalCall', _ => _(clamped)]);
162
93
  },
163
94
  [isControlled, onPageChange, pageCount]
164
95
  );
165
- const items = useMemo(
96
+ const items = _react.useMemo.call(void 0,
166
97
  () => buildPaginationItems({
167
98
  pageCount,
168
99
  currentPage,
@@ -173,12 +104,12 @@ function usePagination({
173
104
  );
174
105
  const canGoPrev = pageCount > 0 && currentPage > 1;
175
106
  const canGoNext = pageCount > 0 && currentPage < pageCount;
176
- const goPrev = useCallback(() => {
107
+ const goPrev = _react.useCallback.call(void 0, () => {
177
108
  if (canGoPrev) {
178
109
  setPage(currentPage - 1);
179
110
  }
180
111
  }, [canGoPrev, currentPage, setPage]);
181
- const goNext = useCallback(() => {
112
+ const goNext = _react.useCallback.call(void 0, () => {
182
113
  if (canGoNext) {
183
114
  setPage(currentPage + 1);
184
115
  }
@@ -196,8 +127,8 @@ function usePagination({
196
127
  }
197
128
 
198
129
  // src/ui/pagination/variants.ts
199
- import { cva as cva2 } from "class-variance-authority";
200
- var paginationListVariants = cva2(
130
+ var _classvarianceauthority = require('class-variance-authority');
131
+ var paginationListVariants = _classvarianceauthority.cva.call(void 0,
201
132
  "inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950",
202
133
  {
203
134
  variants: {
@@ -254,7 +185,7 @@ var paginationListVariants = cva2(
254
185
  }
255
186
  }
256
187
  );
257
- var paginationEllipsisVariants = cva2(
188
+ var paginationEllipsisVariants = _classvarianceauthority.cva.call(void 0,
258
189
  "inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400",
259
190
  {
260
191
  variants: {
@@ -280,11 +211,11 @@ var paginationEllipsisVariants = cva2(
280
211
  );
281
212
 
282
213
  // src/ui/pagination/pagination.tsx
283
- import { jsx, jsxs } from "react/jsx-runtime";
214
+ var _jsxruntime = require('react/jsx-runtime');
284
215
  var defaultPrevLabel = "Previous page";
285
216
  var defaultNextLabel = "Next page";
286
217
  var defaultEllipsisLabel = "More pages";
287
- var Pagination = forwardRef(
218
+ var Pagination = _react.forwardRef.call(void 0,
288
219
  function Pagination2({
289
220
  className,
290
221
  appearance = "default",
@@ -303,7 +234,7 @@ var Pagination = forwardRef(
303
234
  "aria-label": ariaLabel = "Pagination",
304
235
  ...rest
305
236
  }, ref) {
306
- const id = useId();
237
+ const id = _react.useId.call(void 0, );
307
238
  const listId = `${id}-list`;
308
239
  const {
309
240
  currentPage,
@@ -321,7 +252,7 @@ var Pagination = forwardRef(
321
252
  boundaryCount,
322
253
  onPageChange
323
254
  });
324
- const handleKeyDown = useCallback2(
255
+ const handleKeyDown = _react.useCallback.call(void 0,
325
256
  (event) => {
326
257
  if (pageCount <= 0) {
327
258
  return;
@@ -349,22 +280,22 @@ var Pagination = forwardRef(
349
280
  if (pageCount <= 0) {
350
281
  return null;
351
282
  }
352
- const inactiveTriggerClass = cn(
353
- buttonVariants({ appearance: "ghost", size }),
283
+ const inactiveTriggerClass = _chunkE5UX537Jjs.cn.call(void 0,
284
+ _chunkBZSIXBA7js.buttonVariants.call(void 0, { appearance: "ghost", size }),
354
285
  "bg-white/[0.04] text-slate-200 hover:bg-white/10"
355
286
  );
356
- const currentTriggerClass = buttonVariants({ appearance, size });
287
+ const currentTriggerClass = _chunkBZSIXBA7js.buttonVariants.call(void 0, { appearance, size });
357
288
  const triggerFocusRing = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950";
358
289
  const renderPageControl = (pageNumber) => {
359
290
  const isCurrent = pageNumber === currentPage;
360
- const href = getPageHref?.(pageNumber);
361
- const shared = cn(
291
+ const href = _optionalChain([getPageHref, 'optionalCall', _2 => _2(pageNumber)]);
292
+ const shared = _chunkE5UX537Jjs.cn.call(void 0,
362
293
  isCurrent ? currentTriggerClass : inactiveTriggerClass,
363
294
  "min-w-[2.25ch] shrink-0",
364
295
  triggerFocusRing
365
296
  );
366
297
  if (href) {
367
- return /* @__PURE__ */ jsx(
298
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
368
299
  "a",
369
300
  {
370
301
  "data-slot": "pagination-trigger",
@@ -376,7 +307,7 @@ var Pagination = forwardRef(
376
307
  }
377
308
  );
378
309
  }
379
- return /* @__PURE__ */ jsx(
310
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
380
311
  "button",
381
312
  {
382
313
  type: "button",
@@ -393,23 +324,23 @@ var Pagination = forwardRef(
393
324
  }
394
325
  );
395
326
  };
396
- const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));
397
- const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));
398
- const navTriggerClass = cn(
399
- buttonVariants({ appearance: "outline", size }),
327
+ const prevHref = _optionalChain([getPageHref, 'optionalCall', _3 => _3(clampPage(currentPage - 1, pageCount))]);
328
+ const nextHref = _optionalChain([getPageHref, 'optionalCall', _4 => _4(clampPage(currentPage + 1, pageCount))]);
329
+ const navTriggerClass = _chunkE5UX537Jjs.cn.call(void 0,
330
+ _chunkBZSIXBA7js.buttonVariants.call(void 0, { appearance: "outline", size }),
400
331
  "shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950"
401
332
  );
402
- return /* @__PURE__ */ jsx(
333
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
403
334
  "nav",
404
335
  {
405
336
  ref,
406
337
  "data-slot": "pagination",
407
338
  "aria-label": ariaLabel,
408
- className: cn("w-full", className),
339
+ className: _chunkE5UX537Jjs.cn.call(void 0, "w-full", className),
409
340
  onKeyDown: handleKeyDown,
410
341
  ...rest,
411
- children: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
412
- showPrevNext ? getPageHref && prevHref && canGoPrev ? /* @__PURE__ */ jsx(
342
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
343
+ showPrevNext ? getPageHref && prevHref && canGoPrev ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
413
344
  "a",
414
345
  {
415
346
  "data-slot": "pagination-prev",
@@ -418,7 +349,7 @@ var Pagination = forwardRef(
418
349
  className: navTriggerClass,
419
350
  children: "Prev"
420
351
  }
421
- ) : /* @__PURE__ */ jsx(
352
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
422
353
  "button",
423
354
  {
424
355
  type: "button",
@@ -430,18 +361,18 @@ var Pagination = forwardRef(
430
361
  children: "Prev"
431
362
  }
432
363
  ) : null,
433
- /* @__PURE__ */ jsx(
364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
434
365
  "ul",
435
366
  {
436
367
  id: listId,
437
368
  "data-slot": "pagination-list",
438
369
  className: paginationListVariants({ appearance, size }),
439
- children: items.map((item) => /* @__PURE__ */ jsx(
370
+ children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
440
371
  "li",
441
372
  {
442
373
  "data-slot": "pagination-item",
443
374
  className: "inline-flex items-center",
444
- children: item.type === "ellipsis" ? /* @__PURE__ */ jsx(
375
+ children: item.type === "ellipsis" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
445
376
  "span",
446
377
  {
447
378
  "data-slot": "pagination-ellipsis",
@@ -456,7 +387,7 @@ var Pagination = forwardRef(
456
387
  ))
457
388
  }
458
389
  ),
459
- showPrevNext ? getPageHref && nextHref && canGoNext ? /* @__PURE__ */ jsx(
390
+ showPrevNext ? getPageHref && nextHref && canGoNext ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
460
391
  "a",
461
392
  {
462
393
  "data-slot": "pagination-next",
@@ -465,7 +396,7 @@ var Pagination = forwardRef(
465
396
  className: navTriggerClass,
466
397
  children: "Next"
467
398
  }
468
- ) : /* @__PURE__ */ jsx(
399
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
469
400
  "button",
470
401
  {
471
402
  type: "button",
@@ -483,12 +414,12 @@ var Pagination = forwardRef(
483
414
  }
484
415
  );
485
416
  Pagination.displayName = "Pagination";
486
- export {
487
- Pagination,
488
- buildPaginationItems,
489
- clampPage,
490
- paginationEllipsisVariants,
491
- paginationListVariants,
492
- usePagination
493
- };
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+ exports.Pagination = Pagination; exports.buildPaginationItems = buildPaginationItems; exports.clampPage = clampPage; exports.paginationEllipsisVariants = paginationEllipsisVariants; exports.paginationListVariants = paginationListVariants; exports.usePagination = usePagination;
494
425
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/pagination/pagination.tsx","../../src/lib/utils.ts","../../src/ui/buttons/variants.ts","../../src/ui/pagination/pagination-logic.ts","../../src/ui/pagination/use-pagination.ts","../../src/ui/pagination/variants.ts"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback, useId, type KeyboardEvent } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { buttonVariants } from \"../buttons/variants\";\n\nimport { clampPage } from \"./pagination-logic\";\nimport type { PaginationProps } from \"./types\";\nimport { usePagination } from \"./use-pagination\";\nimport { paginationEllipsisVariants, paginationListVariants } from \"./variants\";\n\nconst defaultPrevLabel = \"Previous page\";\nconst defaultNextLabel = \"Next page\";\nconst defaultEllipsisLabel = \"More pages\";\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n function Pagination(\n {\n className,\n appearance = \"default\",\n size = \"md\",\n pageCount,\n page,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n showPrevNext = true,\n prevLabel = defaultPrevLabel,\n nextLabel = defaultNextLabel,\n ellipsisLabel = defaultEllipsisLabel,\n getPageHref,\n \"aria-label\": ariaLabel = \"Pagination\",\n ...rest\n },\n ref,\n ) {\n const id = useId();\n const listId = `${id}-list`;\n\n const {\n currentPage,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n } = usePagination({\n pageCount,\n page,\n defaultPage,\n siblingCount,\n boundaryCount,\n onPageChange,\n });\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (pageCount <= 0) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setPage(1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setPage(pageCount);\n }\n },\n [canGoNext, canGoPrev, currentPage, pageCount, setPage],\n );\n\n if (pageCount <= 0) {\n return null;\n }\n\n const inactiveTriggerClass = cn(\n buttonVariants({ appearance: \"ghost\", size }),\n \"bg-white/[0.04] text-slate-200 hover:bg-white/10\",\n );\n\n const currentTriggerClass = buttonVariants({ appearance, size });\n\n const triggerFocusRing =\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\";\n\n const renderPageControl = (pageNumber: number) => {\n const isCurrent = pageNumber === currentPage;\n const href = getPageHref?.(pageNumber);\n const shared = cn(\n isCurrent ? currentTriggerClass : inactiveTriggerClass,\n \"min-w-[2.25ch] shrink-0\",\n triggerFocusRing,\n );\n\n if (href) {\n return (\n <a\n data-slot=\"pagination-trigger\"\n href={href}\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n >\n {pageNumber}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n data-slot=\"pagination-trigger\"\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n onClick={() => {\n if (!isCurrent) {\n setPage(pageNumber);\n }\n }}\n >\n {pageNumber}\n </button>\n );\n };\n\n const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));\n const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));\n\n const navTriggerClass = cn(\n buttonVariants({ appearance: \"outline\", size }),\n \"shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n );\n\n return (\n <nav\n ref={ref}\n data-slot=\"pagination\"\n aria-label={ariaLabel}\n className={cn(\"w-full\", className)}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n {showPrevNext ? (\n getPageHref && prevHref && canGoPrev ? (\n <a\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n href={prevHref}\n className={navTriggerClass}\n >\n Prev\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n disabled={!canGoPrev}\n className={navTriggerClass}\n onClick={goPrev}\n >\n Prev\n </button>\n )\n ) : null}\n\n <ul\n id={listId}\n data-slot=\"pagination-list\"\n className={paginationListVariants({ appearance, size })}\n >\n {items.map((item) => (\n <li\n key={item.type === \"page\" ? `page-${item.value}` : item.key}\n data-slot=\"pagination-item\"\n className=\"inline-flex items-center\"\n >\n {item.type === \"ellipsis\" ? (\n <span\n data-slot=\"pagination-ellipsis\"\n aria-hidden=\"true\"\n title={ellipsisLabel}\n className={paginationEllipsisVariants({ size })}\n >\n …\n </span>\n ) : (\n renderPageControl(item.value)\n )}\n </li>\n ))}\n </ul>\n\n {showPrevNext ? (\n getPageHref && nextHref && canGoNext ? (\n <a\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n href={nextHref}\n className={navTriggerClass}\n >\n Next\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n disabled={!canGoNext}\n className={navTriggerClass}\n onClick={goNext}\n >\n Next\n </button>\n )\n ) : null}\n </div>\n </nav>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}","import { cva } from \"class-variance-authority\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl\",\n \"text-sm font-medium ring-offset-slate-950 transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"select-none\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-slate-50 text-slate-950 shadow-[0_1px_2px_rgba(15,23,42,0.12)] hover:bg-white\",\n secondary: \"bg-slate-800 text-slate-50 hover:bg-slate-700\",\n destructive: \"bg-rose-600 text-white hover:bg-rose-600\",\n outline:\n \"border border-white/10 bg-white/5 text-slate-50 hover:bg-white/10\",\n ghost: \"bg-transparent text-slate-200 hover:bg-white/5\",\n link: \"bg-transparent text-cyan-300 underline-offset-4 hover:underline\",\n glass:\n \"border border-white/15 bg-white/10 text-white backdrop-blur-md hover:bg-white/15\",\n emerald: \"bg-emerald-600 text-white hover:bg-emerald-600\",\n indigo: \"bg-indigo-600 text-white hover:bg-indigo-600\",\n purple: \"bg-purple-600 text-white hover:bg-purple-600\",\n pink: \"bg-pink-600 text-white hover:bg-pink-600\",\n rose: \"bg-rose-600 text-white hover:bg-rose-600\",\n sky: \"bg-sky-600 text-white hover:bg-sky-600\",\n teal: \"bg-teal-600 text-white hover:bg-teal-600\",\n yellow: \"bg-yellow-600 text-white hover:bg-yellow-600\",\n orange: \"bg-orange-600 text-white hover:bg-orange-600\",\n gray: \"bg-gray-600 text-white hover:bg-gray-600\",\n amber: \"bg-amber-600 text-white hover:bg-amber-600\",\n violet: \"bg-violet-600 text-white hover:bg-violet-600\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-600 hover:to-purple-600\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600 text-white hover:from-green-600 hover:to-lime-600\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600 text-white hover:from-red-600 hover:to-pink-600\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600 text-white hover:from-yellow-600 hover:to-orange-600\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-600 hover:to-pink-600\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600 text-white hover:from-teal-600 hover:to-cyan-600\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600 text-white hover:from-indigo-600 hover:to-purple-600\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600 text-white hover:from-pink-600 hover:to-rose-600\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600 text-white hover:from-orange-600 hover:to-red-600\",\n },\n size: {\n sm: \"h-7 md:h-9 px-3 text-xs\",\n md: \"h-9 md:h-11 px-4\",\n lg: \"h-10 md:h-12 px-5 text-base\",\n xl: \"h-12 md:h-14 px-6 text-lg\",\n \"2xl\": \"h-14 md:h-16 px-6 md:px-8 text-xl\",\n \"3xl\": \"h-16 md:h-18 px-8 md:px-10 text-2xl\",\n \"4xl\": \"h-18 md:h-20 px-10 md:px-12 text-2xl\",\n \"5xl\": \"h-20 md:h-22 px-12 md:px-14 text-2xl\",\n \"6xl\": \"h-22 md:h-24 px-14 md:px-16 text-2xl\",\n \"7xl\": \"h-24 md:h-26 px-16 md:px-18 text-2xl\",\n \"8xl\": \"h-26 md:h-28 px-20 text-2xl\",\n \"9xl\": \"h-24 md:h-30 px-18 md:px-22 text-2xl\",\n \"10xl\": \"h-26 md:h-32 px-20 md:px-24 text-2xl\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n","export type PaginationPageItem =\n | { type: \"page\"; value: number }\n | { type: \"ellipsis\"; key: string };\n\nexport type BuildPaginationItemsParams = {\n pageCount: number;\n currentPage: number;\n siblingCount: number;\n boundaryCount: number;\n};\n\n/**\n * Builds the ordered list of page numbers and ellipsis markers for a pagination control.\n *\n * Args:\n * pageCount: Total number of pages (must be >= 0).\n * currentPage: Active page index (1-based).\n * siblingCount: How many page buttons to show on each side of the current page.\n * boundaryCount: How many pages to pin at the start and end of the range.\n *\n * Returns:\n * A list of items suitable for rendering, e.g. [1, ellipsis, 4,5,6, ellipsis, 20].\n */\nexport function buildPaginationItems({\n pageCount,\n currentPage,\n siblingCount,\n boundaryCount,\n}: BuildPaginationItemsParams): PaginationPageItem[] {\n if (pageCount <= 0) {\n return [];\n }\n\n const safeBoundary = Math.max(1, boundaryCount);\n const safeSibling = Math.max(0, siblingCount);\n const current = clampPage(currentPage, pageCount);\n\n const totalNumbers =\n safeBoundary * 2 + safeSibling * 2 + 1;\n if (pageCount <= totalNumbers) {\n return range(1, pageCount).map((value) => ({ type: \"page\", value }));\n }\n\n const leftBoundaryEnd = safeBoundary;\n const rightBoundaryStart = pageCount - safeBoundary + 1;\n\n const siblingsStart = Math.max(current - safeSibling, leftBoundaryEnd + 1);\n const siblingsEnd = Math.min(current + safeSibling, rightBoundaryStart - 1);\n\n const pages = new Set<number>();\n for (let p = 1; p <= leftBoundaryEnd; p += 1) {\n pages.add(p);\n }\n for (let p = rightBoundaryStart; p <= pageCount; p += 1) {\n pages.add(p);\n }\n for (let p = siblingsStart; p <= siblingsEnd; p += 1) {\n pages.add(p);\n }\n\n const sorted = [...pages].sort((a, b) => a - b);\n const items: PaginationPageItem[] = [];\n\n for (let i = 0; i < sorted.length; i += 1) {\n const value = sorted[i];\n const prev = sorted[i - 1];\n if (i > 0 && prev !== undefined && value && value - prev > 1) {\n items.push({ type: \"ellipsis\", key: `gap-${prev}-${value}` });\n }\n items.push({ type: \"page\", value: value as number });\n }\n\n return items;\n}\n\nexport function clampPage(page: number, pageCount: number): number {\n if (pageCount <= 0) {\n return 1;\n }\n return Math.min(pageCount, Math.max(1, Math.floor(page)));\n}\n\nfunction range(from: number, to: number): number[] {\n const out: number[] = [];\n for (let i = from; i <= to; i += 1) {\n out.push(i);\n }\n return out;\n}\n","\"use client\";\n\nimport { useCallback, useMemo, useState } from \"react\";\n\nimport type { UsePaginationParams, UsePaginationResult } from \"./types\";\nimport { buildPaginationItems, clampPage } from \"./pagination-logic\";\n\nexport function usePagination({\n pageCount,\n page,\n defaultPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n onPageChange,\n}: UsePaginationParams): UsePaginationResult {\n const [internalPage, setInternalPage] = useState(() =>\n clampPage(defaultPage, pageCount),\n );\n\n const isControlled = page !== undefined;\n const currentPage = clampPage(\n isControlled ? page : internalPage,\n pageCount,\n );\n\n const setPage = useCallback(\n (next: number) => {\n const clamped = clampPage(next, pageCount);\n if (!isControlled) {\n setInternalPage(clamped);\n }\n onPageChange?.(clamped);\n },\n [isControlled, onPageChange, pageCount],\n );\n\n const items = useMemo(\n () =>\n buildPaginationItems({\n pageCount,\n currentPage,\n siblingCount,\n boundaryCount,\n }),\n [boundaryCount, currentPage, pageCount, siblingCount],\n );\n\n const canGoPrev = pageCount > 0 && currentPage > 1;\n const canGoNext = pageCount > 0 && currentPage < pageCount;\n\n const goPrev = useCallback(() => {\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n }, [canGoPrev, currentPage, setPage]);\n\n const goNext = useCallback(() => {\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n }, [canGoNext, currentPage, setPage]);\n\n return {\n currentPage,\n pageCount,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n };\n}\n","import { cva } from \"class-variance-authority\";\n\n/**\n * Layout and chrome for the page list cluster. Appearance and size keys align with\n * `components/ui/buttons/variants.ts` for consistent design-system tokens.\n */\nexport const paginationListVariants = cva(\n \"inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950\",\n {\n variants: {\n appearance: {\n default: \"border-white/10 bg-white/[0.03]\",\n secondary: \"border-white/10 bg-slate-900/40\",\n destructive: \"border-rose-500/25 bg-rose-950/20\",\n outline: \"border-white/15 bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n link: \"border-transparent bg-transparent\",\n glass: \"border-white/15 bg-white/5 backdrop-blur-md\",\n emerald: \"border-emerald-500/25 bg-emerald-950/20\",\n indigo: \"border-indigo-500/25 bg-indigo-950/20\",\n purple: \"border-purple-500/25 bg-purple-950/20\",\n pink: \"border-pink-500/25 bg-pink-950/20\",\n rose: \"border-rose-500/25 bg-rose-950/20\",\n sky: \"border-sky-500/25 bg-sky-950/20\",\n teal: \"border-teal-500/25 bg-teal-950/20\",\n yellow: \"border-yellow-500/25 bg-yellow-950/20\",\n orange: \"border-orange-500/25 bg-orange-950/20\",\n gray: \"border-gray-500/25 bg-gray-950/20\",\n amber: \"border-amber-500/25 bg-amber-950/20\",\n violet: \"border-violet-500/25 bg-violet-950/20\",\n \"gradient-blue\": \"border-blue-500/30 bg-gradient-to-r from-blue-950/30 to-purple-950/30\",\n \"gradient-green\": \"border-lime-500/30 bg-gradient-to-r from-green-950/30 to-lime-950/30\",\n \"gradient-red\": \"border-pink-500/30 bg-gradient-to-r from-red-950/30 to-pink-950/30\",\n \"gradient-yellow\":\n \"border-orange-500/30 bg-gradient-to-r from-yellow-950/30 to-orange-950/30\",\n \"gradient-purple\":\n \"border-pink-500/30 bg-gradient-to-r from-purple-950/30 to-pink-950/30\",\n \"gradient-teal\": \"border-cyan-500/30 bg-gradient-to-r from-teal-950/30 to-cyan-950/30\",\n \"gradient-indigo\":\n \"border-purple-500/30 bg-gradient-to-r from-indigo-950/30 to-purple-950/30\",\n \"gradient-pink\": \"border-rose-500/30 bg-gradient-to-r from-pink-950/30 to-rose-950/30\",\n \"gradient-orange\": \"border-orange-500/30 bg-gradient-to-r from-orange-950/30 to-red-950/30\",\n },\n size: {\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n \"2xl\": \"gap-1.5\",\n \"3xl\": \"gap-2\",\n \"4xl\": \"gap-2\",\n \"5xl\": \"gap-2\",\n \"6xl\": \"gap-2\",\n \"7xl\": \"gap-2.5\",\n \"8xl\": \"gap-2.5\",\n \"9xl\": \"gap-2.5\",\n \"10xl\": \"gap-3\",\n icon: \"gap-1\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const paginationEllipsisVariants = cva(\n \"inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-base\",\n \"2xl\": \"text-lg\",\n \"3xl\": \"text-lg\",\n \"4xl\": \"text-xl\",\n \"5xl\": \"text-xl\",\n \"6xl\": \"text-xl\",\n \"7xl\": \"text-2xl\",\n \"8xl\": \"text-2xl\",\n \"9xl\": \"text-2xl\",\n \"10xl\": \"text-2xl\",\n icon: \"text-sm\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n"],"mappings":"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","names":["useCallback","cva","Pagination","useCallback"]}
1
+ {"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/pagination.js"],"names":[],"mappings":"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ACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,0BAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,kBAAA;AACA,kBAAA;AACA,kBAAA;AACA,oBAAA;AACA,oBAAA;AACA,sBAAA;AACA,sBAAA;AACA,sBAAA;AACA,sBAAA;AACA,sBAAA;AACA,oBAAA;AACA,kBAAA;AACA,gBAAA;AACA,gBAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/pagination.js","sourcesContent":[null]}