@mahatisystems/mahati-ui-components 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +776 -85
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +316 -35
- package/dist/index.d.ts +316 -35
- package/dist/index.js +2035 -249
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2001 -227
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\insurgence\\uicomponents\\mahati-designs\\packages\\uicomponents\\dist\\index.mjs"],"names":["React","cva","clsx","twMerge","cn","inputs","buttonVariants","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","Button","forwardRef","ref","className","asChild","props","createElement","displayName","React2","cva2","ChevronDown","ChevronUp","cardVariants","elevated","subtle","figma","Card","title","cardContent","cardBackContent","collapsible","flippable","backgroundColor","borderRadius","children","defaultOpen","onFlip","style","useState","open","setOpen","isFlipped","setIsFlipped","contentId","useId","figmaStyles","border","boxShadow","handleFlip","newFlippedState","mainContent","onClick","type","e","stopPropagation","p","id","React3","useEffect","X","Modal","isOpen","onClose","subtitle","primaryAction","secondaryAction","headerIcon","showDivider","onKey","key","document","addEventListener","removeEventListener","Fragment","role","float","marginBottom","label","disabled","React4","FormContainer","onSubmit","React5","useEffect2","useState2","Input","name","placeholder","onChange","hasError","errorMessage","value","internalValue","setInternalValue","showError","setShowError","handleChange","newValue","target","React6","useState3","useId2","TabbedInterface","tabs","defaultActiveTab","onTabChange","activeTab","setActiveTab","PRIMARY_COLOR","ACCENT_COLOR","handleTabClick","index","getTabButtonStyles","isActive","baseStyles","disabledStyles","getUnderlineBarClasses","map","tab","content","React7","useState4","ArrowDownOnSquareIcon","ArrowPathIcon","XMarkIcon","Table","headers","data","page","setPage","limit","setLimit","totalCount","highlightRowColor","actions","paginationRequired","paginationPosition","onDownloadPDF","onDownloadExcel","searchable","searchTerm","onResetSearch","onSearch","searchModeOptions","searchMode","setSearchMode","isPaginated","totalPages","Math","max","ceil","currentPage","goToPage","clamped","min","renderPageNumbers","pages","push","i","background","siblings","start","end","renderPagination","align","includes","Number","mode","startsWith","length","header","idx","row","rowIndex","cellIdx","isValidElement","result","console","warn","trim","endsWith","dangerouslySetInnerHTML","__html","Array","isArray","some","item","join","Date","toLocaleString","toString","JSON","stringify","String","colSpan","React8","useState5","ArrowDownOnSquareIcon2","ArrowPathIcon2","XMarkIcon2","TableTailwind","React9","useState6","Tooltip","text","position","textColor","image","animation","visible","setVisible","showAnimation","setShowAnimation","showTooltip","delay","triggerDelay","setTimeout","hideTooltip","containerClasses","defaultTooltipClasses","transparentTooltipClasses","positionClasses","top","right","bottom","left","arrowBaseClasses","arrowPositionClasses","arrowBackgroundClass","tooltipClasses","renderTooltipContent","src","alt","width","height","loading","renderAnimation","AnimationComponent","component","onMouseEnter","onMouseLeave","onFocus","onBlur","React10","useState7","variantStyles","basic","pill","dark","underline","shadow","glass","gradient","Dropdown","options","onSelect","selected","setSelected","handleSelect","option","opt","MahatiButton","MahatiCard","MahatiDropdown","MahatiFormContainer","MahatiInput","MahatiModal","MahatiTabbedInterface","MahatiTable","MahatiTableTailwind","MahatiTooltip"],"mappings":"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","sourcesContent":["// src/components/Button.tsx\nimport React from \"react\";\nimport { cva } from \"class-variance-authority\";\n\n// src/lib/utils.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\n// src/components/Button.tsx\nvar buttonVariants = cva(\n // Use regular Tailwind classes that will be processed by consumer's Tailwind\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"purple\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\nvar Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\n \"button\",\n {\n className: cn(buttonVariants({ variant, size, className })),\n ref,\n ...props\n }\n );\n }\n);\nButton.displayName = \"Button\";\n\n// src/components/Card.tsx\nimport * as React2 from \"react\";\nimport { cva as cva2 } from \"class-variance-authority\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nvar cardVariants = cva2(\n \"rounded-[14px] transition-all duration-300 shadow-[0_4px_4px_0_rgba(0,0,0,0.25)]\",\n {\n variants: {\n variant: {\n default: \"bg-white text-slate-800 border border-slate-200 hover:shadow-lg\",\n elevated: \"bg-white shadow-md border border-transparent\",\n outline: \"bg-slate-50 border border-slate-200\",\n subtle: \"bg-slate-50 border border-transparent\",\n figma: \"\"\n // Empty - will use inline styles\n },\n size: {\n default: \"p-6 rounded-[14px]\",\n sm: \"p-4\",\n lg: \"p-8\",\n figma: \"w-[280px] p-6\"\n // Removed fixed height\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\nvar Card = React2.forwardRef(\n ({\n title,\n cardContent,\n cardBackContent,\n collapsible = false,\n flippable = false,\n backgroundColor,\n borderRadius,\n variant,\n size,\n className,\n children,\n defaultOpen = true,\n onFlip,\n style,\n ...props\n }, ref) => {\n const [open, setOpen] = React2.useState(defaultOpen);\n const [isFlipped, setIsFlipped] = React2.useState(false);\n const contentId = React2.useId();\n const figmaStyles = variant === \"figma\" ? {\n backgroundColor: backgroundColor || \"rgba(77, 175, 131, 0.10)\",\n border: \"1px solid #1761A3\",\n boxShadow: \"0 4px 4px 0 rgba(0, 0, 0, 0.25)\",\n borderRadius: \"14px\",\n ...style\n } : backgroundColor ? { backgroundColor, ...style } : style;\n const handleFlip = () => {\n if (!flippable) return;\n const newFlippedState = !isFlipped;\n setIsFlipped(newFlippedState);\n onFlip?.(newFlippedState);\n };\n const mainContent = cardContent || children;\n return /* @__PURE__ */ React2.createElement(\"div\", { className: cn(flippable && \"[perspective:1000px] group\"), onClick: handleFlip }, /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n ref,\n ...props,\n style: figmaStyles,\n className: cn(\n cardVariants({ variant, size, className }),\n flippable && \"relative transition-transform duration-700 [transform-style:preserve-3d]\",\n flippable && isFlipped && \"[transform:rotateY(180deg)]\",\n className\n )\n },\n /* @__PURE__ */ React2.createElement(\"div\", { className: cn(flippable && \"[backface-visibility:hidden]\") }, title && /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n className: cn(\"flex items-center justify-between\", {\n \"mb-4\": open && mainContent\n // Only add margin if content is visible\n })\n },\n /* @__PURE__ */ React2.createElement(\"h4\", { className: \"text-xl font-semibold text-slate-800\" }, title),\n collapsible && /* @__PURE__ */ React2.createElement(\n \"button\",\n {\n type: \"button\",\n style: {\n backgroundColor: \"#1761A3\"\n },\n className: \"z-10 flex items-center justify-center w-8 h-8 rounded-full hover:opacity-80 transition-opacity duration-200 focus:outline-none focus:ring-2 focus:ring-[#1761A3] focus:ring-offset-2\",\n onClick: (e) => {\n if (flippable) e.stopPropagation();\n setOpen((p) => !p);\n },\n \"aria-label\": open ? \"Hide content\" : \"Show content\",\n \"aria-expanded\": open,\n \"aria-controls\": contentId\n },\n open ? /* @__PURE__ */ React2.createElement(ChevronUp, { className: \"w-5 h-5 text-white\" }) : /* @__PURE__ */ React2.createElement(ChevronDown, { className: \"w-5 h-5 text-white\" })\n )\n ), mainContent && /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n id: contentId,\n className: cn(\n \"grid overflow-hidden transition-all duration-500 ease-in-out\",\n open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\"\n )\n },\n /* @__PURE__ */ React2.createElement(\"div\", { className: \"overflow-hidden\" }, mainContent)\n )),\n flippable && cardBackContent && /* @__PURE__ */ React2.createElement(\"div\", { className: \"absolute inset-0 w-full h-full p-6 [backface-visibility:hidden] [transform:rotateY(180deg)]\" }, cardBackContent)\n ));\n }\n);\nCard.displayName = \"Card\";\n\n// src/components/Modal.tsx\nimport React3, { useEffect } from \"react\";\nimport { X } from \"lucide-react\";\nfunction Modal({\n isOpen,\n onClose,\n title,\n subtitle,\n children,\n className = \"\",\n primaryAction,\n secondaryAction,\n headerIcon,\n showDivider = true\n}) {\n useEffect(() => {\n if (!isOpen) return;\n const onKey = (e) => e.key === \"Escape\" && onClose();\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(\n \"div\",\n {\n className: \"fixed inset-0 bg-black/50\",\n onClick: onClose\n }\n ), /* @__PURE__ */ React3.createElement(\"hr\", { className: \"my-4 border-red-300\" }), /* @__PURE__ */ React3.createElement(\"div\", { className: \"fixed inset-0 overflow-y-auto z-50\" }, /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex min-h-full items-center justify-center p-4\" }, /* @__PURE__ */ React3.createElement(\n \"div\",\n {\n role: \"dialog\",\n \"aria-modal\": \"true\",\n className: \"relative w-[562px] shrink-0 bg-white rounded-[14px] shadow-xl pb-[10px] pt-5 transform transition-all\",\n onClick: (e) => e.stopPropagation()\n },\n /* @__PURE__ */ React3.createElement(\n \"button\",\n {\n onClick: onClose,\n \"aria-label\": \"Close dialog\",\n className: \"absolute top-4 right-4 text-slate-500 hover:text-slate-700\"\n },\n /* @__PURE__ */ React3.createElement(X, { size: 20 })\n ),\n /* @__PURE__ */ React3.createElement(\"div\", { className: \"mb-4 px-6\" }, /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex items-start gap-3\" }, /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex h-[26px] w-[26px] shrink-0 items-center justify-center rounded-[6px]\" }, headerIcon ?? /* @__PURE__ */ React3.createElement(\"span\", { className: \"text-sm\" })), /* @__PURE__ */ React3.createElement(\"div\", null, title && /* @__PURE__ */ React3.createElement(\"h3\", { className: \"text-[20px] font-semibold text-slate-900 leading-6\" }, title), subtitle && /* @__PURE__ */ React3.createElement(\"p\", { className: \"mt-1 text-sm text-slate-500\" }, subtitle)))),\n showDivider && /* @__PURE__ */ React3.createElement(\"div\", { className: \"mx-6 h-px shrink-0 [background:linear-gradient(90deg,#1761A3_0%,#4DAF83_100%)] rounded-lg\" }),\n /* @__PURE__ */ React3.createElement(\"div\", { className: \"px-6\" }, children),\n /* @__PURE__ */ React3.createElement(\"div\", { className: \"mt-6 mx-6 h-px shrink-0 bg-[linear-gradient(90deg,#1761A3_0%,#4DAF83_100%)] rounded-lg\" }),\n (primaryAction || secondaryAction) && /* @__PURE__ */ React3.createElement(\"div\", { className: \"pt-4 flex justify-end gap-3 px-6 pb-4\", style: { float: \"right\", marginBottom: \"10px\" } }, secondaryAction && /* @__PURE__ */ React3.createElement(\n Button,\n {\n onClick: secondaryAction.onClick,\n variant: \"outline\",\n type: \"button\"\n },\n secondaryAction.label ?? \"Cancel\"\n ), primaryAction && /* @__PURE__ */ React3.createElement(\n Button,\n {\n onClick: primaryAction.onClick,\n disabled: primaryAction.disabled,\n variant: \"default\",\n className: primaryAction.disabled ? \"bg-blue-300 cursor-not-allowed\" : \"default\",\n type: \"button\"\n },\n primaryAction.label ?? \"Save\"\n ))\n ))));\n}\nModal.displayName = \"Modal\";\n\n// src/components/FormContainer.tsx\nimport React4 from \"react\";\nvar FormContainer = ({ children, onSubmit, className = \"\" }) => {\n return /* @__PURE__ */ React4.createElement(\n \"form\",\n {\n onSubmit,\n className: `\n flex flex-col items-center justify-center\n w-full max-w-[560px] min-h-[80vh] mx-auto p-6\n bg-white shadow-lg rounded-lg\n ${className}\n `\n },\n children\n );\n};\nFormContainer.displayName = \"FormContainer\";\n\n// src/components/Input.tsx\nimport React5, { useEffect as useEffect2, useState as useState2 } from \"react\";\nvar Input = ({\n type = \"text\",\n name,\n placeholder,\n onChange,\n hasError = false,\n errorMessage = \"\",\n value = \"\",\n className = \"\"\n}) => {\n const [internalValue, setInternalValue] = useState2(value);\n const [showError, setShowError] = useState2(false);\n useEffect2(() => {\n setInternalValue(value);\n setShowError(hasError || value === \"\");\n }, [value, hasError]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInternalValue(newValue);\n onChange(e);\n setShowError(newValue === \"\");\n };\n return /* @__PURE__ */ React5.createElement(\"div\", { className: \"mb-4\" }, /* @__PURE__ */ React5.createElement(\n \"input\",\n {\n type,\n name,\n placeholder,\n value: internalValue,\n onChange: handleChange,\n className: `\n w-[438px] max-w-full h-[44px] flex-shrink-0\n rounded-[6px] border\n ${showError ? \"border-red-500\" : \"border-[#D9D9D9]\"}\n bg-white\n text-base leading-5\n outline-none\n ${className}\n `\n }\n ), /* @__PURE__ */ React5.createElement(\"span\", { className: \"block text-sm text-red-500 h-[0.8rem]\" }, errorMessage));\n};\nInput.displayName = \"Input\";\n\n// src/components/TabbedInterface.tsx\nimport React6, { useState as useState3, useId as useId2 } from \"react\";\nvar TabbedInterface = ({\n tabs,\n variant = \"basic\",\n defaultActiveTab = 0,\n className = \"\",\n onTabChange\n}) => {\n const [activeTab, setActiveTab] = useState3(defaultActiveTab);\n const id = useId2();\n const PRIMARY_COLOR = \"#1e73be\";\n const ACCENT_COLOR = \"#4DAF83\";\n const handleTabClick = (index) => {\n if (tabs[index]?.disabled) return;\n setActiveTab(index);\n onTabChange?.(index);\n };\n const getTabButtonStyles = (index) => {\n const isActive = index === activeTab;\n const baseStyles = \"flex items-center justify-center gap-2 px-6 py-3 text-sm font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 whitespace-nowrap flex-shrink-0\";\n const disabledStyles = \"opacity-50 cursor-not-allowed\";\n if (tabs[index]?.disabled) {\n return `${baseStyles} ${disabledStyles} text-gray-500`;\n }\n switch (variant) {\n case \"basic\":\n return `${baseStyles} ${isActive ? `text-[${PRIMARY_COLOR}] border-b-2 border-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800 hover:border-b-2 hover:border-gray-300\"}`;\n case \"underline\":\n return `${baseStyles} relative ${// Make button relative for absolute underline span\n isActive ? `text-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800\"}`;\n case \"pill\":\n return `${baseStyles} rounded-full font-semibold text-[14px] leading-normal ${isActive ? `bg-white text-[${PRIMARY_COLOR}] border border-gray-400 shadow-md` : `bg-[#EEF4F7] text-[${PRIMARY_COLOR}] border border-[rgba(38,118,154,0.45)] hover:bg-blue-100`}`;\n case \"square\":\n return `${baseStyles} rounded-[6px] border border-[rgba(38,118,154,0.45)] font-semibold text-[14px] leading-normal ${isActive ? `bg-white text-[${PRIMARY_COLOR}]` : \"bg-[#EEF4F7] text-gray-600 hover:bg-gray-200\"}`;\n case \"dark\":\n return `${baseStyles} rounded-lg ${isActive ? \"bg-gray-700 text-white shadow-md\" : \"bg-gray-800 text-gray-300 hover:bg-gray-700 hover:text-white\"}`;\n case \"shadow\":\n return `${baseStyles} rounded-lg ${isActive ? `bg-white text-[${PRIMARY_COLOR}] shadow-lg` : \"bg-gray-50 text-gray-600 shadow-sm hover:bg-white\"}`;\n case \"glass\":\n return `${baseStyles} rounded-lg border border-white/30 backdrop-blur-lg ${isActive ? `bg-[${PRIMARY_COLOR}]/40 text-white shadow-md` : `bg-white/20 text-[${PRIMARY_COLOR}] hover:bg-[${PRIMARY_COLOR}]/50 hover:text-white`}`;\n case \"gradient\":\n return `${baseStyles} rounded-lg ${isActive ? `bg-gradient-to-r from-[${PRIMARY_COLOR}] to-[${ACCENT_COLOR}] text-white shadow-md` : `bg-gray-100 text-[${PRIMARY_COLOR}] hover:bg-gray-200`}`;\n default:\n return `${baseStyles} ${isActive ? `text-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800\"}`;\n }\n };\n const getUnderlineBarClasses = (index) => {\n const isActive = index === activeTab;\n if (variant === \"underline\") {\n return `absolute bottom-0 left-0 h-[3px] bg-gradient-to-r from-[${PRIMARY_COLOR}] to-[${ACCENT_COLOR}] transition-all duration-300 ease-out ${isActive ? \"w-full\" : \"w-0\"}`;\n }\n return \"hidden\";\n };\n return /* @__PURE__ */ React6.createElement(\"div\", { className: `w-full bg-[#EEF4F7] rounded-lg border border-gray-200 shadow-sm ${className}` }, /* @__PURE__ */ React6.createElement(\"div\", { className: \"flex flex-row overflow-x-auto scrollbar-hide space-x-4 p-4\", role: \"tablist\" }, tabs.map((tab, index) => /* @__PURE__ */ React6.createElement(\n \"button\",\n {\n key: tab.id || `tab-${id}-${index}`,\n className: getTabButtonStyles(index),\n onClick: () => handleTabClick(index),\n disabled: tab.disabled,\n \"aria-selected\": index === activeTab,\n \"aria-controls\": `${id}-tabpanel-${index}`,\n role: \"tab\",\n type: \"button\"\n },\n tab.icon && /* @__PURE__ */ React6.createElement(\"span\", { className: \"flex-shrink-0 w-4 h-4\" }, tab.icon),\n /* @__PURE__ */ React6.createElement(\"span\", { className: \"truncate\" }, tab.label),\n variant === \"underline\" && /* @__PURE__ */ React6.createElement(\"span\", { className: getUnderlineBarClasses(index) })\n ))), /* @__PURE__ */ React6.createElement(\"div\", { className: \"h-[2px] flex-shrink-0 bg-[#D9D9D9]\" }), /* @__PURE__ */ React6.createElement(\n \"div\",\n {\n id: `${id}-tabpanel-${activeTab}`,\n role: \"tabpanel\",\n \"aria-labelledby\": `${id}-tab-${activeTab}`,\n className: \"p-6 animate-fade-in bg-white\"\n },\n tabs[activeTab]?.content || /* @__PURE__ */ React6.createElement(\"div\", { className: \"text-center text-gray-500 py-8\" }, \"No content available for this tab\")\n ));\n};\nTabbedInterface.displayName = \"TabbedInterface\";\n\n// src/components/Table.tsx\nimport React7, { useState as useState4 } from \"react\";\nimport { ArrowDownOnSquareIcon, ArrowPathIcon, XMarkIcon } from \"@heroicons/react/24/outline\";\nvar Table = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"]\n}) => {\n const [searchMode, setSearchMode] = useState4(searchModeOptions[0]);\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n key: 1,\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"1\"\n )\n );\n if (currentPage > siblings + 2) {\n pages.push(\n /* @__PURE__ */ React7.createElement(\"span\", { key: \"start-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n key: i,\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === i ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n i\n )\n );\n }\n if (currentPage < totalPages - siblings - 1) {\n pages.push(\n /* @__PURE__ */ React7.createElement(\"span\", { key: \"end-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n key: totalPages,\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const renderPagination = () => {\n if (!isPaginated) return null;\n const align = paginationPosition.includes(\"left\") ? \"justify-start\" : paginationPosition.includes(\"right\") ? \"justify-end\" : \"justify-center\";\n return /* @__PURE__ */ React7.createElement(\"div\", { className: `my-2 flex w-full ${align}` }, /* @__PURE__ */ React7.createElement(\"div\", { className: \"flex flex-wrap items-center justify-center gap-2\" }, /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Previous\"\n ), renderPageNumbers(), /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Next\"\n ), /* @__PURE__ */ React7.createElement(\n \"select\",\n {\n value: limit,\n onChange: (e) => {\n setPage?.(1);\n setLimit?.(Number(e.target.value));\n },\n className: \"ml-2 rounded-md border border-slate-300 px-2 py-1 text-sm text-slate-700\"\n },\n [5, 10, 15].map((size) => /* @__PURE__ */ React7.createElement(\"option\", { key: size, value: size }, size))\n ), /* @__PURE__ */ React7.createElement(\"span\", { className: \"ml-2 text-xs text-slate-600\" }, \"Page \", currentPage, \" of \", totalPages, \" (Total: \", totalCount, \" items)\")));\n };\n return /* @__PURE__ */ React7.createElement(React7.Fragment, null, (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ React7.createElement(\"div\", { className: \"mb-3 flex flex-wrap items-center justify-between gap-3\" }, searchable && /* @__PURE__ */ React7.createElement(\"div\", { className: \"flex items-center gap-2\" }, /* @__PURE__ */ React7.createElement(\"div\", { className: \"relative flex items-center\" }, /* @__PURE__ */ React7.createElement(\n \"input\",\n {\n type: \"text\",\n placeholder: \"Search...\",\n value: searchTerm,\n onChange: handleChange,\n className: \"w-56 rounded-lg border border-transparent bg-white px-3 py-2 pr-8 text-sm font-medium text-[#1761A3] shadow-sm outline-none ring-1 ring-transparent transition focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n }\n ), searchTerm && /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n \"aria-label\": \"Clear search\",\n className: \"absolute right-2 flex h-6 w-6 items-center justify-center rounded-full text-slate-400 transition hover:bg-slate-100 hover:text-slate-700\"\n },\n /* @__PURE__ */ React7.createElement(XMarkIcon, { className: \"h-4 w-4\" })\n )), /* @__PURE__ */ React7.createElement(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg border border-transparent bg-white px-2 py-2 text-sm font-medium text-slate-700 shadow-sm outline-none ring-1 ring-transparent transition hover:bg-slate-50 focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n },\n searchModeOptions.map((mode) => /* @__PURE__ */ React7.createElement(\"option\", { key: mode, value: mode }, mode === \"startsWith\" ? \"Starts With\" : \"Includes\"))\n )), (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ React7.createElement(\"div\", { className: \"mt-1 flex items-center gap-2\" }, onDownloadPDF && /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React7.createElement(ArrowDownOnSquareIcon, { className: \"h-5 w-5\" })\n ), onDownloadExcel && /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React7.createElement(ArrowDownOnSquareIcon, { className: \"h-5 w-5\" }),\n /* @__PURE__ */ React7.createElement(\"span\", null, \"Excel\")\n ))), paginationPosition.startsWith(\"top\") && data.length > 0 && renderPagination(), /* @__PURE__ */ React7.createElement(\"div\", { className: \"mt-1 overflow-hidden rounded-xl border border-[#1761A3] bg-white\" }, /* @__PURE__ */ React7.createElement(\"table\", { className: \"w-full border-collapse\" }, /* @__PURE__ */ React7.createElement(\n \"thead\",\n {\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React7.createElement(\"tr\", null, headers.map((header, idx) => /* @__PURE__ */ React7.createElement(\n \"th\",\n {\n key: idx,\n className: `h-[50px] px-3 py-2 text-left text-sm font-bold text-white first:rounded-tl-xl last:rounded-tr-xl`\n },\n header.label\n )), actions && /* @__PURE__ */ React7.createElement(\"th\", { className: \"h-[50px] px-3 py-2 text-left text-sm font-bold text-white\" }, \"Actions\"))\n ), /* @__PURE__ */ React7.createElement(\"tbody\", null, data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ React7.createElement(\n \"tr\",\n {\n key: rowIndex,\n className: `h-[57px] border-b border-slate-200 text-sm text-slate-900 even:bg-slate-50 hover:bg-slate-100 ${highlightRowColor || \"\"}`\n },\n headers.map((header, cellIdx) => /* @__PURE__ */ React7.createElement(\"td\", { key: cellIdx, className: \"px-3 py-2\" }, (() => {\n const value = row[header.key];\n if (React7.isValidElement(value)) return value;\n if (typeof value === \"function\") {\n try {\n const result = value();\n if (React7.isValidElement(result)) return result;\n } catch (e) {\n console.warn(\"Error executing function in table cell:\", e);\n }\n }\n if (typeof value === \"string\" && value.trim().startsWith(\"<\") && value.trim().endsWith(\">\")) {\n return /* @__PURE__ */ React7.createElement(\n \"span\",\n {\n dangerouslySetInnerHTML: { __html: value }\n }\n );\n }\n if (Array.isArray(value)) {\n if (value.some((item) => React7.isValidElement(item))) {\n return /* @__PURE__ */ React7.createElement(React7.Fragment, null, value);\n }\n return value.join(\", \");\n }\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (value === null || value === void 0) return \"-\";\n if (typeof value === \"number\") return value.toString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n })())),\n actions && /* @__PURE__ */ React7.createElement(\"td\", { className: \"px-3 py-2\" }, actions(row))\n )) : /* @__PURE__ */ React7.createElement(\"tr\", null, /* @__PURE__ */ React7.createElement(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-6 text-center text-slate-500\"\n },\n /* @__PURE__ */ React7.createElement(\"div\", { className: \"flex items-center justify-center gap-4\" }, /* @__PURE__ */ React7.createElement(\"span\", null, \"No records found.\"), onResetSearch && /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React7.createElement(\"span\", null, \"Reset\"),\n /* @__PURE__ */ React7.createElement(ArrowPathIcon, { className: \"h-5 w-5\" })\n ))\n ))))), paginationPosition.startsWith(\"bottom\") && data.length > 0 && renderPagination());\n};\nTable.displayName = \"Table\";\n\n// src/components/TableTailwindCSS.tsx\nimport React8, { useState as useState5 } from \"react\";\nimport { ArrowDownOnSquareIcon as ArrowDownOnSquareIcon2, ArrowPathIcon as ArrowPathIcon2, XMarkIcon as XMarkIcon2 } from \"@heroicons/react/24/outline\";\nvar TableTailwind = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"]\n}) => {\n const [searchMode, setSearchMode] = useState5(searchModeOptions[0]);\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n key: 1,\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\"\n },\n \"1\"\n )\n );\n if (currentPage > siblings + 2) {\n pages.push(\n /* @__PURE__ */ React8.createElement(\"span\", { key: \"start-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n key: i,\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: \"inline-flex items-center rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\"\n },\n i\n )\n );\n }\n if (currentPage < totalPages - siblings - 1) {\n pages.push(\n /* @__PURE__ */ React8.createElement(\"span\", { key: \"end-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n key: totalPages,\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\"\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const renderPagination = () => {\n if (!isPaginated) return null;\n const align = paginationPosition.includes(\"left\") ? \"justify-start\" : paginationPosition.includes(\"right\") ? \"justify-end\" : \"justify-center\";\n return /* @__PURE__ */ React8.createElement(\"div\", { className: `my-2 flex w-full ${align}` }, /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex flex-wrap items-center justify-center gap-2\" }, /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\"\n },\n \"Previous\"\n ), renderPageNumbers(), /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\"\n },\n \"Next\"\n ), /* @__PURE__ */ React8.createElement(\n \"select\",\n {\n value: limit,\n onChange: (e) => {\n setPage?.(1);\n setLimit?.(Number(e.target.value));\n },\n className: \"ml-2 rounded-md border border-slate-300 px-2 py-1 text-sm text-slate-700\"\n },\n [5, 10, 15].map((size) => /* @__PURE__ */ React8.createElement(\"option\", { key: size, value: size }, size))\n ), /* @__PURE__ */ React8.createElement(\"span\", { className: \"ml-2 text-xs text-slate-600\" }, \"Page \", currentPage, \" of \", totalPages, \" (Total: \", totalCount, \" items)\")));\n };\n return /* @__PURE__ */ React8.createElement(React8.Fragment, null, (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ React8.createElement(\"div\", { className: \"mb-3 flex flex-wrap items-center justify-between gap-3\" }, searchable && /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex items-center gap-2\" }, /* @__PURE__ */ React8.createElement(\"div\", { className: \"relative flex items-center\" }, /* @__PURE__ */ React8.createElement(\n \"input\",\n {\n type: \"text\",\n placeholder: \"Search...\",\n value: searchTerm,\n onChange: handleChange,\n className: \"w-56 rounded-lg border border-transparent bg-white px-3 py-2 pr-8 text-sm font-medium text-[#1761A3] shadow-sm outline-none ring-1 ring-transparent transition focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n }\n ), searchTerm && /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n \"aria-label\": \"Clear search\",\n className: \"absolute right-2 flex h-6 w-6 items-center justify-center rounded-full text-slate-400 transition hover:bg-slate-100 hover:text-slate-700\"\n },\n /* @__PURE__ */ React8.createElement(XMarkIcon2, { className: \"h-4 w-4\" })\n )), /* @__PURE__ */ React8.createElement(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg border border-transparent bg-white px-2 py-2 text-sm font-medium text-slate-700 shadow-sm outline-none ring-1 ring-transparent transition hover:bg-slate-50 focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n },\n searchModeOptions.map((mode) => /* @__PURE__ */ React8.createElement(\"option\", { key: mode, value: mode }, mode === \"startsWith\" ? \"Starts With\" : \"Includes\"))\n )), (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ React8.createElement(\"div\", { className: \"mt-1 flex items-center gap-2\" }, onDownloadPDF && /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\"\n },\n /* @__PURE__ */ React8.createElement(ArrowDownOnSquareIcon2, { className: \"h-5 w-5\" })\n ), onDownloadExcel && /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\"\n },\n /* @__PURE__ */ React8.createElement(ArrowDownOnSquareIcon2, { className: \"h-5 w-5\" }),\n /* @__PURE__ */ React8.createElement(\"span\", null, \"Excel\")\n ))), paginationPosition.startsWith(\"top\") && data.length > 0 && renderPagination(), /* @__PURE__ */ React8.createElement(\"div\", { className: \"mt-1 overflow-hidden rounded-xl border border-[#1761A3] bg-white\" }, /* @__PURE__ */ React8.createElement(\"table\", { className: \"w-full border-collapse\" }, /* @__PURE__ */ React8.createElement(\"thead\", { className: \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\" }, /* @__PURE__ */ React8.createElement(\"tr\", null, headers.map((header, idx) => /* @__PURE__ */ React8.createElement(\n \"th\",\n {\n key: idx,\n className: `h-[50px] px-3 py-2 text-left text-sm font-bold text-white first:rounded-tl-xl last:rounded-tr-xl`\n },\n header.label\n )), actions && /* @__PURE__ */ React8.createElement(\"th\", { className: \"h-[50px] px-3 py-2 text-left text-sm font-bold text-white\" }, \"Actions\"))), /* @__PURE__ */ React8.createElement(\"tbody\", null, data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ React8.createElement(\n \"tr\",\n {\n key: rowIndex,\n className: `h-[57px] border-b border-slate-200 text-sm text-slate-900 even:bg-slate-50 hover:bg-slate-100 ${highlightRowColor || \"\"}`\n },\n headers.map((header, cellIdx) => /* @__PURE__ */ React8.createElement(\"td\", { key: cellIdx, className: \"px-3 py-2\" }, (() => {\n const value = row[header.key];\n if (React8.isValidElement(value)) return value;\n if (typeof value === \"function\") {\n try {\n const result = value();\n if (React8.isValidElement(result)) return result;\n } catch (e) {\n console.warn(\"Error executing function in table cell:\", e);\n }\n }\n if (typeof value === \"string\" && value.trim().startsWith(\"<\") && value.trim().endsWith(\">\")) {\n return /* @__PURE__ */ React8.createElement(\n \"span\",\n {\n dangerouslySetInnerHTML: { __html: value }\n }\n );\n }\n if (Array.isArray(value)) {\n if (value.some((item) => React8.isValidElement(item))) {\n return /* @__PURE__ */ React8.createElement(React8.Fragment, null, value);\n }\n return value.join(\", \");\n }\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (value === null || value === void 0) return \"-\";\n if (typeof value === \"number\") return value.toString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n })())),\n actions && /* @__PURE__ */ React8.createElement(\"td\", { className: \"px-3 py-2\" }, actions(row))\n )) : /* @__PURE__ */ React8.createElement(\"tr\", null, /* @__PURE__ */ React8.createElement(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-6 text-center text-slate-500\"\n },\n /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex items-center justify-center gap-4\" }, /* @__PURE__ */ React8.createElement(\"span\", null, \"No records found.\"), onResetSearch && /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"inline-flex items-center gap-1 rounded-md bg-gradient-to-r from-[#1e73be] to-[#28a97d] px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\"\n },\n /* @__PURE__ */ React8.createElement(\"span\", null, \"Reset\"),\n /* @__PURE__ */ React8.createElement(ArrowPathIcon2, { className: \"h-5 w-5\" })\n ))\n ))))), paginationPosition.startsWith(\"bottom\") && data.length > 0 && renderPagination());\n};\nTableTailwind.displayName = \"TableTailwind\";\n\n// src/components/TooltipTailwindCSS.tsx\nimport React9, { useState as useState6 } from \"react\";\nvar Tooltip = ({\n text,\n position = \"top\",\n children,\n variant = \"default\",\n className = \"\",\n textColor = \"text-gray-800\",\n backgroundColor = \"bg-[rgba(23,97,163,1)] bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\",\n image,\n animation\n}) => {\n const [visible, setVisible] = useState6(false);\n const [showAnimation, setShowAnimation] = useState6(false);\n const showTooltip = () => {\n setVisible(true);\n if (animation) {\n const delay = animation.triggerDelay || 100;\n setTimeout(() => setShowAnimation(true), delay);\n }\n };\n const hideTooltip = () => {\n setVisible(false);\n setShowAnimation(false);\n };\n const containerClasses = `relative inline-block ${className}`;\n const defaultTooltipClasses = `\n absolute z-50 \n font-poppins \n font-medium \n \n text-[rgba(255,255,255,1)]\n text-[10px] \n leading-normal \n not-italic\n rounded \n shadow-sm \n transition-opacity \n duration-200\n w-[98px] \n h-[26px] \n flex-shrink-0 flex \n items-center \n justify-center\n bg-[rgba(23,97,163,1)] \n bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\n ${visible ? \"opacity-100\" : \"opacity-0 pointer-events-none\"}\n ${image ? \"\" : \"px-3 py-3\"}\n `;\n const transparentTooltipClasses = `\n absolute z-50 font-medium ${textColor}\n rounded transition-all duration-200\n ${visible ? \"opacity-100 scale-100\" : \"opacity-0 scale-95 pointer-events-none\"}\n ${image ? \"p-1\" : \"px-3 py-2\"}\n `;\n const positionClasses = {\n top: \"bottom-full left-1/2 transform -translate-x-1/2 -translate-y-2 mb-2\",\n right: \"left-full top-1/2 transform -translate-y-1/2 translate-x-2 ml-2\",\n bottom: \"top-full left-1/2 transform -translate-x-1/2 translate-y-2 mt-2\",\n left: \"right-full top-1/2 transform -translate-y-1/2 -translate-x-2 mr-2\"\n };\n const arrowBaseClasses = \"absolute w-2 h-2 transform rotate-45\";\n const arrowPositionClasses = {\n top: \"bottom-[-4px] left-1/2 transform -translate-x-1/2\",\n right: \"left-[-4px] top-1/2 transform -translate-y-1/2\",\n bottom: \"top-[-4px] left-1/2 transform -translate-x-1/2\",\n left: \"right-[-4px] top-1/2 transform -translate-y-1/2\"\n };\n const arrowBackgroundClass = \"bg-[rgba(23,97,163,1)]\";\n const tooltipClasses = variant === \"transparent\" ? `${transparentTooltipClasses} ${positionClasses[position]}` : `${defaultTooltipClasses} ${positionClasses[position]}`;\n const renderTooltipContent = () => {\n if (image) {\n return /* @__PURE__ */ React9.createElement(\n \"img\",\n {\n src: image.src,\n alt: image.alt || \"Tooltip image\",\n width: image.width || 200,\n height: image.height || 150,\n className: \"rounded-md object-cover\",\n loading: \"lazy\"\n }\n );\n }\n return text;\n };\n const renderAnimation = () => {\n if (!animation || !showAnimation) return null;\n const AnimationComponent = animation.component;\n return /* @__PURE__ */ React9.createElement(\n AnimationComponent,\n {\n isActive: showAnimation,\n ...animation.props\n }\n );\n };\n return /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n className: containerClasses,\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n onFocus: showTooltip,\n onBlur: hideTooltip\n },\n children,\n renderAnimation(),\n /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n className: tooltipClasses,\n role: \"tooltip\"\n },\n renderTooltipContent(),\n variant === \"default\" && !image && /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n className: `${arrowBaseClasses} ${arrowPositionClasses[position]} ${arrowBackgroundClass} rounded-sm`\n }\n )\n )\n );\n};\nTooltip.displayName = \"Tooltip\";\n\n// src/components/Dropdown.tsx\nimport React10, { useState as useState7 } from \"react\";\nvar variantStyles = {\n basic: \"bg-blue-600 text-white hover:bg-blue-700\",\n outline: \"border border-blue-600 text-blue-600 hover:bg-blue-50\",\n pill: \"bg-blue-600 text-white rounded-full hover:bg-blue-700\",\n dark: \"bg-gray-800 text-white hover:bg-gray-700\",\n underline: \"border-b-2 border-blue-500 bg-transparent text-blue-700 hover:bg-blue-50\",\n shadow: \"bg-white text-gray-700 shadow-md hover:shadow-lg border border-gray-200\",\n glass: \"bg-white/20 backdrop-blur-md text-white border border-white/40 hover:bg-white/30\",\n gradient: \"bg-gradient-to-r from-blue-500 to-purple-500 text-white hover:opacity-90\"\n};\nvar Dropdown = ({ options, onSelect, variant = \"basic\" }) => {\n const [open, setOpen] = useState7(false);\n const [selected, setSelected] = useState7(null);\n const handleSelect = (option) => {\n setSelected(option);\n onSelect(option);\n setOpen(false);\n };\n return /* @__PURE__ */ React10.createElement(\"div\", { className: \"relative w-56\" }, /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: () => setOpen(!open),\n className: `w-full text-left px-4 py-2 rounded-md transition-all duration-200 ${variantStyles[variant]}`\n },\n selected || \"Select an option\"\n ), open && /* @__PURE__ */ React10.createElement(\"div\", { className: \"absolute mt-2 w-full bg-white border border-gray-200 rounded-md shadow-lg z-20\" }, options.map((opt, idx) => /* @__PURE__ */ React10.createElement(\n \"div\",\n {\n key: idx,\n onClick: () => handleSelect(opt),\n className: \"px-4 py-2 cursor-pointer hover:bg-gray-100 text-gray-700\"\n },\n opt\n ))));\n};\nDropdown.displayName = \"Dropdown\";\nexport {\n Button as MahatiButton,\n Card as MahatiCard,\n Dropdown as MahatiDropdown,\n FormContainer as MahatiFormContainer,\n Input as MahatiInput,\n Modal as MahatiModal,\n TabbedInterface as MahatiTabbedInterface,\n Table as MahatiTable,\n TableTailwind as MahatiTableTailwind,\n Tooltip as MahatiTooltip\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["d:\\insurgence\\uicomponents\\mahati-designs\\packages\\uicomponents\\dist\\index.mjs"],"names":["Chart","React","cva","clsx","twMerge","cn","inputs","buttonVariants","variants","variant","default","destructive","outline","secondary","ghost","link","danger","size","sm","md","lg","icon","defaultVariants","Button","forwardRef","ref","className","asChild","props","createElement","displayName","React2","useState","ChevronDown","ChevronUp","Card","title","cardContent","cardBackContent","collapsible","flippable","backgroundColor","borderRadius","children","defaultOpen","onFlip","style","open","setOpen","isFlipped","setIsFlipped","contentId","useId","getVariantStyles","elevated","subtle","figma","getSizeStyles","sizes","figmaStyles","border","boxShadow","handleFlip","newFlippedState","mainContent","onClick","type","e","stopPropagation","p","id","React3","useEffect","X","MODAL_WIDTH_MAP","xl","Modal","isOpen","onClose","subtitle","width","customWidth","height","margin","primaryAction","secondaryAction","headerIcon","showDivider","position","onKey","key","document","addEventListener","removeEventListener","getPositionStyles","alignItems","justifyContent","borderRadiusClasses","center","Fragment","inset","zIndex","pointerEvents","role","includes","strokeWidth","label","disabled","React4","useEffect2","useRef","registerables","cva2","register","cn2","classes","filter","Boolean","join","chartVariants","filled","flat","card","ChartInterface","data","options","canvasRef","chartInstanceRef","ctx","current","getContext","destroy","safeData","JSON","parse","stringify","safeOptions","responsive","maintainAspectRatio","React5","FormContainer","onSubmit","React6","useEffect3","useState2","Input","name","placeholder","onChange","hasError","errorMessage","value","internalValue","setInternalValue","showError","setShowError","handleChange","newValue","target","React7","useState3","TabbedInterface","tabs","defaultActiveTab","onTabChange","activeTab","setActiveTab","PRIMARY_COLOR","ACCENT_COLOR","handleTabClick","index","getTabButtonStyles","isActive","baseStyles","disabledStyles","getUnderlineBarClasses","map","tab","content","React8","useEffect4","useState4","cn3","getFontClass","font","lower","toLowerCase","trim","startsWith","getContainerClasses","base","getTabButtonClasses","active","isDragging","orientation","tabHeaderFontClass","alignment","iconSize","draggingRing","getUnderlineInnerClasses","TabbedInterface2","draggableTabs","onReorderTabs","verticalPosition","showTabCloseIconInHeader","tabCloseIconPosition","tabCloseIconContent","onCloseTab","tabHeaderFont","tabContentFont","sectionTitleFont","sectionDescriptionFont","activeIndex","setActiveIndex","draggingIndex","setDraggingIndex","effectiveCloseIconContent","tabContentFontClass","length","prev","handleDragStart","handleDragOver","event","preventDefault","handleDrop","fromIndex","toIndex","prevActive","handleDragEnd","headerButtons","showClose","closeIcon","draggable","onDragStart","onDragOver","onDrop","onDragEnd","containerClasses","React9","useState5","ArrowDownOnSquareIcon","ArrowPathIcon","XMarkIcon","Table","headers","page","setPage","limit","setLimit","totalCount","highlightRowColor","actions","paginationRequired","paginationPosition","onDownloadPDF","onDownloadExcel","searchable","searchTerm","onResetSearch","onSearch","searchModeOptions","searchMode","setSearchMode","isPaginated","totalPages","Math","max","ceil","currentPage","goToPage","clamped","min","renderPageNumbers","pages","push","i","background","siblings","start","end","renderPagination","align","Number","mode","header","idx","row","rowIndex","cellIdx","isValidElement","result","console","warn","endsWith","dangerouslySetInnerHTML","__html","Array","isArray","some","item","Date","toLocaleString","toString","String","colSpan","React10","useState6","ArrowDownOnSquareIcon2","ArrowPathIcon2","XMarkIcon2","Table2","summary","summaryKey","summaryTitleField","summaryColumn","summaryColumnKey","summaryColumnMaxLength","textWrapColumns","textWrapMaxLength","textWrapColumnMaxLengths","expandedRowIndex","setExpandedRowIndex","Set","expandedRowIndexes","setExpandedRowIndexes","summaryColKeyToUse","isExpandable","isExpanded","has","handleRowClick","next","delete","add","handleCloseDrawer","titleValue","summaryValue","fullText","summaryOverride","maxLen","truncated","substring","perColMax","React11","useState7","Tooltip","text","textColor","image","animation","visible","setVisible","showAnimation","setShowAnimation","showTooltip","delay","triggerDelay","setTimeout","hideTooltip","defaultTooltipClasses","transparentTooltipClasses","positionClasses","top","right","bottom","left","arrowBaseClasses","arrowPositionClasses","arrowBackgroundClass","tooltipClasses","renderTooltipContent","src","alt","loading","renderAnimation","AnimationComponent","component","onMouseEnter","onMouseLeave","onFocus","onBlur","React12","useState8","useEffect5","useRef2","HiOutlineClock","HiChevronDown","HiChevronLeft","HiChevronRight","HiCalendarDays","convertToDateString","date","year","month","padStart","day","cn4","isSameDate","date1","date2","formatDate","formatDateWithFormat","format","monthNum","monthNames","monthAbbr","formatTime","time","hour24","hour","period","hour2","minute2","minute","getDaysInMonth","monthIndex","getDate","getFirstDayOfMonth","getDay","getMonthName","toLocaleDateString","DAY_NAMES","DATE_FORMAT_OPTIONS","TIME_ZONE_OPTIONS","compareInternalDates","a","b","addDaysInternal","daysToAdd","y","m","d","dim","isBlockedDateHelper","config","days","startInternal","startDate","endInternal","currentInternal","afterOrOnStart","beforeOrOnEnd","getLocalTimeZone","timeZoneString","Intl","DateTimeFormat","resolvedOptions","timeZone","shortTimeZone","toLocaleTimeString","timeZoneName","split","SIZE_SCALES","getDeviceScale","window","innerWidth","Calendar","enableRangeSelection","rangeValue","onRangeChange","enableTimeSelection","timeValue","onTimeChange","showTimeFormatToggle","timeFormat","onTimeFormatChange","autoHide","showTodayButton","showClearButton","onShow","onHide","showIcon","enableYearDropdown","showDateFormatSelector","dateFormat","onDateFormatChange","showTimeZoneSelector","timeZoneFormat","onTimeZoneFormatChange","blockDateConfig","today","getFullYear","currentYear","setCurrentYear","getMonth","currentMonth","setCurrentMonth","setIsOpen","activeField","setActiveField","showTimeSelector","setShowTimeSelector","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedPeriod","setSelectedPeriod","internalTimeFormat","setInternalTimeFormat","showYearDropdown","setShowYearDropdown","internalDateFormat","setInternalDateFormat","internalTimeZoneFormat","setInternalTimeZoneFormat","deviceScale","setDeviceScale","positionAbove","setPositionAbove","containerRef","calendarRef","sizeScale","scale","scaled","value2","round","handleResize","calculatePosition","containerRect","getBoundingClientRect","calendarHeight","offsetHeight","spaceBelow","innerHeight","spaceAbove","bufferSpace","handleClickOutside","contains","daysInMonth","firstDay","monthName","previousMonth","nextMonth","selectDate","startTime","getTime","endTime","dateString","selectToday","todayDate","now","currentHour","getHours","currentMinute","getMinutes","hour12","localTZ","clearDate","toggleCalendar","newState","handleStartFieldClick","handleEndFieldClick","handleChooseTimeClick","handleChooseDateClick","handleTimeFormatToggle","newFormat","handleTimeConfirm","handleDateConfirm","handleMonthYearClick","handleYearSelect","renderDays","isSelected","isInRange","currentTime","isToday","isBlocked","fontSize","fontWeight","totalCells","remainingCells","renderTimeSelector","hours12","from","_","hours24","minutes","marginBottom","gap","transform","paddingLeft","paddingRight","zone","marginTop","paddingTop","defaultIcon","calendarContent","maxWidth","padding","paddingBottom","color","display","cloneElement","maxHeight","readOnly","React13","useState9","variantStyles","basic","pill","dark","underline","shadow","glass","gradient","Dropdown","onSelect","selected","setSelected","handleSelect","option","opt","MahatiButton","MahatiCalendar","MahatiCard","MahatiChart","MahatiDropdown","MahatiFormContainer","MahatiInput","MahatiModal","MahatiTabbedInterface","MahatiTabbedInterfaceTailwind","MahatiTable","MahatiTableTailwind","MahatiTooltip"],"mappings":"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","sourcesContent":["// src/components/Button.tsx\nimport React from \"react\";\nimport { cva } from \"class-variance-authority\";\n\n// src/lib/utils.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\n// src/components/Button.tsx\nvar buttonVariants = cva(\n // Use regular Tailwind classes that will be processed by consumer's Tailwind\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"purple\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n danger: \"hover:text-white hover:bg-primary/90\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n md: \"rounded-md px-2\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\nvar Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\n \"button\",\n {\n className: cn(buttonVariants({ variant, size, className })),\n ref,\n ...props\n }\n );\n }\n);\nButton.displayName = \"Button\";\n\n// src/components/card.tsx\nimport React2, { useState } from \"react\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nvar Card = React2.forwardRef(\n ({\n title,\n cardContent,\n cardBackContent,\n collapsible = false,\n flippable = false,\n backgroundColor,\n borderRadius,\n variant = \"default\",\n size = \"default\",\n className = \"\",\n children,\n defaultOpen = true,\n onFlip,\n style,\n ...props\n }, ref) => {\n const [open, setOpen] = useState(defaultOpen);\n const [isFlipped, setIsFlipped] = useState(false);\n const contentId = React2.useId();\n const getVariantStyles = () => {\n const variants = {\n default: \"bg-white text-slate-800 border border-slate-200 hover:shadow-lg\",\n elevated: \"bg-white shadow-md border border-transparent\",\n outline: \"bg-slate-50 border border-slate-200\",\n subtle: \"bg-slate-50 border border-transparent\",\n figma: \"\"\n };\n return variants[variant];\n };\n const getSizeStyles = () => {\n const sizes = {\n default: \"p-6 rounded-[14px]\",\n sm: \"p-4\",\n lg: \"p-8\",\n figma: \"w-[280px] p-6\"\n };\n return sizes[size];\n };\n const figmaStyles = variant === \"figma\" ? {\n backgroundColor: backgroundColor || \"rgba(77, 175, 131, 0.10)\",\n border: \"1px solid #1761A3\",\n boxShadow: \"0 4px 4px 0 rgba(0, 0, 0, 0.25)\",\n borderRadius: \"14px\",\n ...style\n } : backgroundColor ? { backgroundColor, ...style } : style;\n const handleFlip = () => {\n if (!flippable) return;\n const newFlippedState = !isFlipped;\n setIsFlipped(newFlippedState);\n onFlip?.(newFlippedState);\n };\n const mainContent = cardContent || children;\n return /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n className: flippable ? \"perspective-[1000px] group\" : \"\",\n onClick: flippable ? handleFlip : void 0\n },\n /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n ref,\n ...props,\n style: figmaStyles,\n className: `\n rounded-[14px] transition-all duration-300 shadow-[0_4px_4px_0_rgba(0,0,0,0.25)]\n ${getVariantStyles()}\n ${getSizeStyles()}\n ${flippable ? \"relative transition-transform duration-700 [transform-style:preserve-3d]\" : \"\"}\n ${flippable && isFlipped ? \"[transform:rotateY(180deg)]\" : \"\"}\n ${className}\n `\n },\n /* @__PURE__ */ React2.createElement(\"div\", { className: flippable ? \"[backface-visibility:hidden]\" : \"\" }, title && /* @__PURE__ */ React2.createElement(\"div\", { className: `flex items-center justify-between ${open && mainContent ? \"mb-4\" : \"\"}` }, /* @__PURE__ */ React2.createElement(\"h4\", { className: \"text-xl font-semibold text-slate-800\" }, title), collapsible && /* @__PURE__ */ React2.createElement(\n \"button\",\n {\n type: \"button\",\n style: { backgroundColor: \"#1761A3\" },\n className: \"z-10 flex items-center justify-center w-8 h-8 rounded-full hover:opacity-80 transition-opacity duration-200 focus:outline-none focus:ring-2 focus:ring-[#1761A3] focus:ring-offset-2\",\n onClick: (e) => {\n if (flippable) e.stopPropagation();\n setOpen((p) => !p);\n },\n \"aria-label\": open ? \"Hide content\" : \"Show content\",\n \"aria-expanded\": open,\n \"aria-controls\": contentId\n },\n open ? /* @__PURE__ */ React2.createElement(ChevronUp, { className: \"w-5 h-5 text-white\" }) : /* @__PURE__ */ React2.createElement(ChevronDown, { className: \"w-5 h-5 text-white\" })\n )), mainContent && /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n id: contentId,\n className: `\n grid overflow-hidden transition-all duration-500 ease-in-out\n ${open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\"}\n `\n },\n /* @__PURE__ */ React2.createElement(\"div\", { className: \"overflow-hidden\" }, mainContent)\n )),\n flippable && cardBackContent && /* @__PURE__ */ React2.createElement(\"div\", { className: \"absolute inset-0 w-full h-full p-6 [backface-visibility:hidden] [transform:rotateY(180deg)]\" }, cardBackContent)\n )\n );\n }\n);\nCard.displayName = \"Card\";\n\n// src/components/Modal.tsx\nimport React3, { useEffect } from \"react\";\nimport { X } from \"lucide-react\";\nvar MODAL_WIDTH_MAP = {\n sm: \"360px\",\n default: \"562px\",\n md: \"720px\",\n lg: \"760px\",\n xl: \"800px\"\n};\nfunction Modal({\n isOpen,\n onClose,\n title,\n subtitle,\n children,\n className = \"\",\n width: customWidth,\n height,\n margin,\n primaryAction,\n secondaryAction,\n headerIcon,\n showDivider = true,\n position = \"center\",\n size = \"default\"\n}) {\n const width = customWidth ?? MODAL_WIDTH_MAP[size] ?? MODAL_WIDTH_MAP.default;\n useEffect(() => {\n if (!isOpen) return;\n const onKey = (e) => e.key === \"Escape\" && onClose();\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const getPositionStyles = () => {\n switch (position || \"center\") {\n // Ensure position is always a string for the switch\n case \"center\":\n return { alignItems: \"center\", justifyContent: \"center\" };\n case \"top-left\":\n return { alignItems: \"flex-start\", justifyContent: \"flex-start\" };\n case \"top-right\":\n return { alignItems: \"flex-start\", justifyContent: \"flex-end\" };\n case \"top-center\":\n return { alignItems: \"flex-start\", justifyContent: \"center\" };\n case \"bottom-left\":\n return { alignItems: \"flex-end\", justifyContent: \"flex-start\" };\n case \"bottom-right\":\n return { alignItems: \"flex-end\", justifyContent: \"flex-end\" };\n case \"bottom-center\":\n return { alignItems: \"flex-end\", justifyContent: \"center\" };\n case \"center-left\":\n return { alignItems: \"center\", justifyContent: \"flex-start\" };\n case \"center-right\":\n return { alignItems: \"center\", justifyContent: \"flex-end\" };\n default:\n return { alignItems: \"center\", justifyContent: \"center\" };\n }\n };\n const borderRadiusClasses = {\n center: \"rounded-[8px]\",\n \"top-left\": \"rounded-tr-[8px] rounded-br-[8px] rounded-bl-[8px]\",\n \"top-right\": \"rounded-tl-[8px] rounded-bl-[8px] rounded-br-[8px]\",\n \"top-center\": \"rounded-b-[8px]\",\n \"bottom-left\": \"rounded-tr-[8px] rounded-tl-[8px] rounded-br-[8px]\",\n \"bottom-right\": \"rounded-tl-[8px] rounded-tr-[8px] rounded-bl-[8px]\",\n \"bottom-center\": \"rounded-t-[8px]\",\n \"center-left\": \"rounded-r-[8px]\",\n \"center-right\": \"rounded-l-[8px]\"\n };\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(\n \"div\",\n {\n className: \"fixed inset-0 bg-black/40\",\n onClick: onClose,\n \"aria-hidden\": \"true\"\n }\n ), /* @__PURE__ */ React3.createElement(\n \"div\",\n {\n className: \"fixed flex p-4\",\n style: {\n inset: \"0px\",\n zIndex: 9999,\n pointerEvents: \"none\",\n ...getPositionStyles()\n }\n },\n /* @__PURE__ */ React3.createElement(\n \"div\",\n {\n role: \"dialog\",\n \"aria-modal\": \"true\",\n onClick: (e) => e.stopPropagation(),\n className: `\n relative bg-white\n shadow-2xl\n flex flex-col\n ${position.includes(\"left\") || position.includes(\"right\") ? \"\" : \"max-h-[90vh]\"}\n ${className}\n `,\n style: {\n width,\n height: height ?? (position.includes(\"left\") || position.includes(\"right\") ? \"90vh\" : \"auto\"),\n pointerEvents: \"auto\",\n margin,\n boxShadow: \"0px 4px 24px 0px rgba(0, 0, 0, 0.15)\",\n border: \"1px solid #E5E7EB\"\n }\n },\n /* @__PURE__ */ React3.createElement(\"div\", { className: \"px-6 py-4 pb-4 shrink-0 flex items-center justify-between border-b border-gray-200\" }, /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex items-center gap-3\" }, headerIcon && /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex shrink-0 items-center justify-center\" }, headerIcon), /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex-1\" }, title && /* @__PURE__ */ React3.createElement(\"h3\", { className: \"text-[#333333] font-['Poppins'] text-[16px] font-semibold leading-normal\" }, title), subtitle && /* @__PURE__ */ React3.createElement(\"p\", { className: \"mt-1 text-sm text-gray-500\" }, subtitle))), /* @__PURE__ */ React3.createElement(\n \"button\",\n {\n onClick: onClose,\n \"aria-label\": \"Close dialog\",\n className: \"text-gray-400 hover:text-gray-600 transition-colors\"\n },\n /* @__PURE__ */ React3.createElement(X, { size: 20, strokeWidth: 2 })\n )),\n /* @__PURE__ */ React3.createElement(\"div\", { className: \"flex-grow overflow-y-auto\" }, children),\n (primaryAction || secondaryAction) && /* @__PURE__ */ React3.createElement(\"div\", { className: \"px-6 py-4 flex justify-center gap-3 shrink-0 border-t border-gray-200\" }, secondaryAction && /* @__PURE__ */ React3.createElement(\n \"button\",\n {\n onClick: secondaryAction.onClick,\n className: \"min-w-[140px] h-[36px] px-4 rounded-md border border-[#1761A3] bg-white text-[#1761A3] font-['Poppins'] text-[14px] font-medium hover:bg-gray-50 transition-colors\",\n type: \"button\"\n },\n secondaryAction.label ?? \"Cancel\"\n ), primaryAction && /* @__PURE__ */ React3.createElement(\n \"button\",\n {\n onClick: primaryAction.onClick,\n disabled: primaryAction.disabled,\n className: `min-w-[140px] h-[36px] px-4 rounded-md font-['Poppins'] text-[14px] font-medium transition-colors ${primaryAction.disabled ? \"bg-blue-300 text-white cursor-not-allowed\" : \"bg-[#1761A3] text-white hover:bg-[#134a7a]\"}`,\n type: \"button\"\n },\n primaryAction.label ?? \"Save\"\n ))\n )\n ));\n}\nModal.displayName = \"Modal\";\n\n// src/components/ChartInterface.tsx\nimport React4, { useEffect as useEffect2, useRef } from \"react\";\nimport { Chart, registerables } from \"chart.js\";\nimport { cva as cva2 } from \"class-variance-authority\";\nChart.register(...registerables);\nvar cn2 = (...classes) => classes.filter(Boolean).join(\" \");\nvar chartVariants = cva2(\n \"rounded-lg transition-all\",\n {\n variants: {\n variant: {\n default: \"bg-white border border-gray-200 p-4\",\n filled: \"bg-gray-50 border border-gray-300 p-4\",\n elevated: \"bg-white shadow-lg p-4\",\n flat: \"bg-transparent p-0\",\n card: \"bg-white border border-gray-200 shadow-sm p-6\"\n },\n size: {\n sm: \"h-48\",\n default: \"h-64\",\n lg: \"h-96\",\n xl: \"h-[500px]\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\nvar ChartInterface = React4.forwardRef(\n ({ type = \"line\", data, options = {}, variant, size, className, ...props }, ref) => {\n const canvasRef = useRef(null);\n const chartInstanceRef = useRef(null);\n useEffect2(() => {\n const ctx = canvasRef.current?.getContext(\"2d\");\n if (!ctx) return;\n if (chartInstanceRef.current) {\n chartInstanceRef.current.destroy();\n chartInstanceRef.current = null;\n }\n const safeData = JSON.parse(JSON.stringify(data));\n const safeOptions = JSON.parse(JSON.stringify(options));\n chartInstanceRef.current = new Chart(ctx, {\n type,\n data: safeData,\n options: {\n responsive: true,\n maintainAspectRatio: false,\n ...safeOptions\n }\n });\n return () => {\n if (chartInstanceRef.current) {\n chartInstanceRef.current.destroy();\n chartInstanceRef.current = null;\n }\n };\n }, [\n type,\n JSON.stringify(data),\n // Forces re-render on data change\n JSON.stringify(options)\n // Forces re-render on options change\n ]);\n return /* @__PURE__ */ React4.createElement(\n \"div\",\n {\n ref,\n className: cn2(chartVariants({ variant, size }), className),\n ...props\n },\n /* @__PURE__ */ React4.createElement(\"canvas\", { ref: canvasRef })\n );\n }\n);\nChartInterface.displayName = \"ChartInterface\";\n\n// src/components/FormContainer.tsx\nimport React5 from \"react\";\nvar FormContainer = ({ children, onSubmit, className = \"\" }) => {\n return /* @__PURE__ */ React5.createElement(\n \"form\",\n {\n onSubmit,\n className: `\n flex flex-col items-center justify-center\n w-full max-w-[560px] min-h-[80vh] mx-auto p-6\n bg-white shadow-lg rounded-lg\n ${className}\n `\n },\n children\n );\n};\nFormContainer.displayName = \"FormContainer\";\n\n// src/components/Input.tsx\nimport React6, { useEffect as useEffect3, useState as useState2 } from \"react\";\nvar Input = ({\n type = \"text\",\n name,\n placeholder,\n onChange,\n hasError = false,\n errorMessage = \"\",\n value = \"\",\n className = \"\"\n}) => {\n const [internalValue, setInternalValue] = useState2(value);\n const [showError, setShowError] = useState2(false);\n useEffect3(() => {\n setInternalValue(value);\n setShowError(hasError || value === \"\");\n }, [value, hasError]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInternalValue(newValue);\n onChange(e);\n setShowError(newValue === \"\");\n };\n return /* @__PURE__ */ React6.createElement(\"div\", { className: \"mb-4\" }, /* @__PURE__ */ React6.createElement(\n \"input\",\n {\n type,\n name,\n placeholder,\n value: internalValue,\n onChange: handleChange,\n className: `\n w-[438px] max-w-full h-[44px] flex-shrink-0\n rounded-[6px] border\n ${showError ? \"border-red-500\" : \"border-[#D9D9D9]\"}\n bg-white\n text-base leading-5\n outline-none\n ${className}\n `\n }\n ), /* @__PURE__ */ React6.createElement(\"span\", { className: \"block text-sm text-red-500 h-[0.8rem]\" }, errorMessage));\n};\nInput.displayName = \"Input\";\n\n// src/components/TabbedInterface.tsx\nimport React7, { useState as useState3, useId } from \"react\";\nvar TabbedInterface = ({\n tabs,\n variant = \"basic\",\n defaultActiveTab = 0,\n className = \"\",\n onTabChange\n}) => {\n const [activeTab, setActiveTab] = useState3(defaultActiveTab);\n const id = useId();\n const PRIMARY_COLOR = \"#1e73be\";\n const ACCENT_COLOR = \"#4DAF83\";\n const handleTabClick = (index) => {\n if (tabs[index]?.disabled) return;\n setActiveTab(index);\n onTabChange?.(index);\n };\n const getTabButtonStyles = (index) => {\n const isActive = index === activeTab;\n const baseStyles = \"flex items-center justify-center gap-2 px-6 py-3 text-sm font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 whitespace-nowrap flex-shrink-0\";\n const disabledStyles = \"opacity-50 cursor-not-allowed\";\n if (tabs[index]?.disabled) {\n return `${baseStyles} ${disabledStyles} text-gray-500`;\n }\n switch (variant) {\n case \"basic\":\n return `${baseStyles} ${isActive ? `text-[${PRIMARY_COLOR}] border-b-2 border-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800 hover:border-b-2 hover:border-gray-300\"}`;\n case \"underline\":\n return `${baseStyles} relative ${// Make button relative for absolute underline span\n isActive ? `text-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800\"}`;\n case \"pill\":\n return `${baseStyles} rounded-full font-semibold text-[14px] leading-normal ${isActive ? `bg-white text-[${PRIMARY_COLOR}] border border-gray-400 shadow-md` : `bg-[#EEF4F7] text-[${PRIMARY_COLOR}] border border-[rgba(38,118,154,0.45)] hover:bg-blue-100`}`;\n case \"square\":\n return `${baseStyles} rounded-[6px] border border-[rgba(38,118,154,0.45)] font-semibold text-[14px] leading-normal ${isActive ? `bg-white text-[${PRIMARY_COLOR}]` : \"bg-[#EEF4F7] text-gray-600 hover:bg-gray-200\"}`;\n case \"dark\":\n return `${baseStyles} rounded-lg ${isActive ? \"bg-gray-700 text-white shadow-md\" : \"bg-gray-800 text-gray-300 hover:bg-gray-700 hover:text-white\"}`;\n case \"shadow\":\n return `${baseStyles} rounded-lg ${isActive ? `bg-white text-[${PRIMARY_COLOR}] shadow-lg` : \"bg-gray-50 text-gray-600 shadow-sm hover:bg-white\"}`;\n case \"glass\":\n return `${baseStyles} rounded-lg border border-white/30 backdrop-blur-lg ${isActive ? `bg-[${PRIMARY_COLOR}]/40 text-white shadow-md` : `bg-white/20 text-[${PRIMARY_COLOR}] hover:bg-[${PRIMARY_COLOR}]/50 hover:text-white`}`;\n case \"gradient\":\n return `${baseStyles} rounded-lg ${isActive ? `bg-gradient-to-r from-[${PRIMARY_COLOR}] to-[${ACCENT_COLOR}] text-white shadow-md` : `bg-gray-100 text-[${PRIMARY_COLOR}] hover:bg-gray-200`}`;\n default:\n return `${baseStyles} ${isActive ? `text-[${PRIMARY_COLOR}]` : \"text-gray-600 hover:text-gray-800\"}`;\n }\n };\n const getUnderlineBarClasses = (index) => {\n const isActive = index === activeTab;\n if (variant === \"underline\") {\n return `absolute bottom-0 left-0 h-[3px] bg-gradient-to-r from-[${PRIMARY_COLOR}] to-[${ACCENT_COLOR}] transition-all duration-300 ease-out ${isActive ? \"w-full\" : \"w-0\"}`;\n }\n return \"hidden\";\n };\n return /* @__PURE__ */ React7.createElement(\"div\", { className: `w-full bg-[#EEF4F7] rounded-lg border border-gray-200 shadow-sm ${className}` }, /* @__PURE__ */ React7.createElement(\"div\", { className: \"flex flex-row overflow-x-auto scrollbar-hide space-x-4 p-4\", role: \"tablist\" }, tabs.map((tab, index) => /* @__PURE__ */ React7.createElement(\n \"button\",\n {\n key: tab.id || `tab-${id}-${index}`,\n className: getTabButtonStyles(index),\n onClick: () => handleTabClick(index),\n disabled: tab.disabled,\n \"aria-selected\": index === activeTab,\n \"aria-controls\": `${id}-tabpanel-${index}`,\n role: \"tab\",\n type: \"button\"\n },\n tab.icon && /* @__PURE__ */ React7.createElement(\"span\", { className: \"flex-shrink-0 w-4 h-4\" }, tab.icon),\n /* @__PURE__ */ React7.createElement(\"span\", { className: \"truncate\" }, tab.label),\n variant === \"underline\" && /* @__PURE__ */ React7.createElement(\"span\", { className: getUnderlineBarClasses(index) })\n ))), /* @__PURE__ */ React7.createElement(\"div\", { className: \"h-[2px] flex-shrink-0 bg-[#D9D9D9]\" }), /* @__PURE__ */ React7.createElement(\n \"div\",\n {\n id: `${id}-tabpanel-${activeTab}`,\n role: \"tabpanel\",\n \"aria-labelledby\": `${id}-tab-${activeTab}`,\n className: \"p-6 animate-fade-in bg-white\"\n },\n tabs[activeTab]?.content || /* @__PURE__ */ React7.createElement(\"div\", { className: \"text-center text-gray-500 py-8\" }, \"No content available for this tab\")\n ));\n};\nTabbedInterface.displayName = \"TabbedInterface\";\n\n// src/components/TabedInterfaceTailwindCSS.tsx\nimport React8, { useEffect as useEffect4, useState as useState4 } from \"react\";\nvar cn3 = (...classes) => classes.filter(Boolean).join(\" \");\nvar getFontClass = (font) => {\n if (!font) return \"font-sans\";\n const lower = font.toLowerCase().trim();\n if (lower === \"sans\" || lower === \"sans-serif\") return \"font-sans\";\n if (lower === \"serif\") return \"font-serif\";\n if (lower === \"mono\" || lower === \"monospace\") return \"font-mono\";\n if (font.startsWith(\"font-\") || font.includes(\"[\")) return font;\n return `font-[${font}]`;\n};\nvar getContainerClasses = (variant) => {\n const base = \"w-full max-w-4xl mx-auto my-10 rounded-xl border p-8 box-border transition-all duration-300 overflow-hidden\";\n switch (variant) {\n case \"dark\":\n return cn3(\n base,\n \"bg-[#45484f] border-slate-700 text-slate-50 shadow-lg\"\n );\n case \"glass\":\n return cn3(\n base,\n \"bg-white/10 border-white/30 text-slate-900 backdrop-blur-xl shadow-lg\"\n );\n default:\n return cn3(base, \"bg-white border-[#b8d1f3] text-slate-900 shadow-sm\");\n }\n};\nvar getTabButtonClasses = (variant, active, isDragging, orientation, tabHeaderFontClass) => {\n const base = \"relative flex items-center px-4 py-2 text-sm font-semibold cursor-pointer transition-all duration-300 select-none\";\n const alignment = orientation === \"vertical\" ? \"text-left\" : \"text-center\";\n const iconSize = \" [&>svg]:h-[18px] [&>svg]:w-[18px] [&>svg]:shrink-0\";\n const draggingRing = isDragging ? \"ring-2 ring-[#1761A3]/60\" : \"\";\n switch (variant) {\n case \"underline\":\n return cn3(\n base,\n alignment,\n iconSize,\n draggingRing,\n tabHeaderFontClass,\n active ? \"text-[#1761A3]\" : \"text-slate-600 hover:text-[#1761A3] hover:bg-slate-50/60\"\n );\n case \"pill\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-full\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"bg-[#1761A3] text-white shadow-md\" : \"bg-transparent text-[#1761A3] hover:bg-[#1761A3]/10\"\n );\n case \"outline\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-lg border-2\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"border-[#1761A3] bg-[#F3F8FF] text-[#1761A3] shadow-sm\" : \"border-transparent text-slate-700 hover:border-slate-300 hover:bg-slate-50\"\n );\n case \"filled\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-lg\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"bg-[#1761A3] text-white shadow-md\" : \"bg-[#EAF3FD] text-[#1761A3] hover:bg-[#d3e4fb]\"\n );\n case \"gradient\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-lg\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white shadow-md\" : \"bg-[#F0F4F8] text-[#1761A3] hover:bg-[#e1e8f0]\"\n );\n case \"shadow\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-lg\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"bg-white text-[#1761A3] shadow-lg\" : \"bg-[#F8FAFD] text-slate-600 shadow-sm hover:bg-white\"\n );\n case \"glass\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-lg border border-white/30 backdrop-blur-lg\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"bg-[#1761A3]/40 text-white shadow-md\" : \"bg-white/20 text-[#1761A3] hover:bg-[#1761A3]/50 hover:text-white\"\n );\n case \"dark\":\n return cn3(\n base,\n alignment,\n iconSize,\n \"rounded-none\",\n draggingRing,\n tabHeaderFontClass,\n active ? \"text-[#90cdf4] border-b-4 border-[#63b3ed]\" : \"text-[#cbd5e0] hover:text-[#63b3ed]\"\n );\n default:\n return cn3(\n base,\n alignment,\n iconSize,\n draggingRing,\n tabHeaderFontClass,\n active ? \"text-[#1761A3]\" : \"text-slate-700 hover:text-[#1761A3] hover:bg-slate-50\"\n );\n }\n};\nvar getUnderlineInnerClasses = (variant, active, orientation) => {\n if (variant !== \"underline\") return \"hidden\";\n if (orientation === \"vertical\") {\n return cn3(\n \"pointer-events-none absolute left-0 top-0 h-full w-[3px] rounded-full bg-gradient-to-b from-[#1761A3] to-[#4DAF83] transition-transform duration-300 origin-top\",\n active ? \"scale-y-100\" : \"scale-y-0\"\n );\n }\n return cn3(\n \"pointer-events-none absolute bottom-[-2px] left-0 h-[3px] w-full rounded-full bg-gradient-to-r from-[#1761A3] to-[#4DAF83] transition-transform duration-300 origin-left\",\n active ? \"scale-x-100\" : \"scale-x-0\"\n );\n};\nvar TabbedInterface2 = ({\n tabs,\n variant = \"underline\",\n onTabChange,\n draggableTabs = false,\n onReorderTabs,\n orientation = \"horizontal\",\n verticalPosition = \"left\",\n showTabCloseIconInHeader = false,\n tabCloseIconPosition = \"right\",\n tabCloseIconContent,\n onCloseTab,\n tabHeaderFont,\n tabContentFont,\n sectionTitleFont,\n sectionDescriptionFont\n}) => {\n const [activeIndex, setActiveIndex] = useState4(0);\n const [draggingIndex, setDraggingIndex] = useState4(null);\n const effectiveCloseIconContent = tabCloseIconContent ?? \"\\xD7\";\n const tabHeaderFontClass = getFontClass(tabHeaderFont);\n const tabContentFontClass = getFontClass(tabContentFont);\n useEffect4(() => {\n if (!tabs.length) {\n setActiveIndex(0);\n return;\n }\n setActiveIndex(\n (prev) => prev < 0 ? 0 : prev >= tabs.length ? tabs.length - 1 : prev\n );\n }, [tabs.length]);\n const handleTabClick = (index) => {\n setActiveIndex(index);\n onTabChange?.(tabs[index].label);\n };\n const handleDragStart = (index) => {\n if (!draggableTabs) return;\n setDraggingIndex(index);\n };\n const handleDragOver = (event) => {\n if (!draggableTabs) return;\n event.preventDefault();\n };\n const handleDrop = (index) => {\n if (!draggableTabs) return;\n if (draggingIndex === null) {\n setDraggingIndex(null);\n return;\n }\n const fromIndex = draggingIndex;\n const toIndex = index;\n if (fromIndex === toIndex) {\n setDraggingIndex(null);\n return;\n }\n setActiveIndex((prevActive) => {\n let active = prevActive;\n if (active === fromIndex) {\n return toIndex;\n }\n if (fromIndex < toIndex) {\n if (active > fromIndex && active <= toIndex) {\n return active - 1;\n }\n } else if (fromIndex > toIndex) {\n if (active >= toIndex && active < fromIndex) {\n return active + 1;\n }\n }\n return active;\n });\n onReorderTabs?.(fromIndex, toIndex);\n setDraggingIndex(null);\n };\n const handleDragEnd = () => {\n if (!draggableTabs) return;\n setDraggingIndex(null);\n };\n const headerButtons = /* @__PURE__ */ React8.createElement(React8.Fragment, null, tabs.map((tab, index) => {\n const active = index === activeIndex;\n const isDragging = draggableTabs && draggingIndex === index;\n const showClose = showTabCloseIconInHeader && !!onCloseTab;\n const closeIcon = showClose ? /* @__PURE__ */ React8.createElement(\n \"span\",\n {\n \"aria-label\": \"Close tab\",\n role: \"button\",\n onClick: (e) => {\n e.stopPropagation();\n onCloseTab?.(index);\n },\n className: cn3(\n \"inline-flex h-6 w-6 items-center justify-center rounded-full text-md font-bold hover:bg-slate-200 hover:text-slate-700\",\n tabHeaderFontClass\n )\n },\n effectiveCloseIconContent\n ) : null;\n return /* @__PURE__ */ React8.createElement(\n \"button\",\n {\n type: \"button\",\n key: index,\n onClick: () => handleTabClick(index),\n className: getTabButtonClasses(\n variant,\n active,\n isDragging,\n orientation,\n tabHeaderFontClass\n ),\n draggable: draggableTabs,\n onDragStart: () => handleDragStart(index),\n onDragOver: handleDragOver,\n onDrop: () => handleDrop(index),\n onDragEnd: handleDragEnd\n },\n /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex w-full items-center justify-between gap-2\" }, /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex min-w-0 items-center gap-2\" }, tabCloseIconPosition === \"left\" && closeIcon, tab.icon && /* @__PURE__ */ React8.createElement(\"span\", { className: \"[&>svg]:h-[18px] [&>svg]:w-[18px] [&>svg]:shrink-0\" }, tab.icon), /* @__PURE__ */ React8.createElement(\"span\", { className: \"truncate\" }, tab.label)), tabCloseIconPosition === \"right\" && closeIcon),\n /* @__PURE__ */ React8.createElement(\n \"span\",\n {\n className: getUnderlineInnerClasses(\n variant,\n active,\n orientation\n )\n }\n )\n );\n }));\n const content = /* @__PURE__ */ React8.createElement(\"div\", { className: cn3(\"relative min-h-[180px]\", tabContentFontClass) }, tabs.map((tab, index) => {\n const active = index === activeIndex;\n return /* @__PURE__ */ React8.createElement(\n \"div\",\n {\n key: index,\n className: cn3(\n \"transition-opacity duration-300\",\n active ? \"relative opacity-100\" : \"pointer-events-none absolute inset-0 opacity-0\"\n )\n },\n tab.content\n );\n }));\n const containerClasses = getContainerClasses(variant);\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ React8.createElement(\"div\", { className: containerClasses }, /* @__PURE__ */ React8.createElement(\"div\", { className: \"mb-5 flex justify-around max-[600px]:flex-col max-[600px]:items-center\" }, headerButtons), content);\n }\n return /* @__PURE__ */ React8.createElement(\"div\", { className: containerClasses }, verticalPosition === \"left\" ? /* @__PURE__ */ React8.createElement(\"div\", { className: \"grid gap-6 md:grid-cols-[minmax(180px,220px)_1fr]\" }, /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex flex-col gap-2 border-b border-slate-200 pb-3 md:border-b-0 md:border-r md:pb-0 md:pr-4\" }, headerButtons), /* @__PURE__ */ React8.createElement(\"div\", null, content)) : /* @__PURE__ */ React8.createElement(\"div\", { className: \"grid gap-6 md:grid-cols-[1fr_minmax(180px,220px)]\" }, /* @__PURE__ */ React8.createElement(\"div\", null, content), /* @__PURE__ */ React8.createElement(\"div\", { className: \"flex flex-col gap-2 border-t border-slate-200 pt-3 md:border-t-0 md:border-l md:pt-0 md:pl-4\" }, headerButtons)));\n};\nTabbedInterface2.displayName = \"TabbedInterface\";\n\n// src/components/Table.tsx\nimport React9, { useState as useState5 } from \"react\";\nimport { ArrowDownOnSquareIcon, ArrowPathIcon, XMarkIcon } from \"@heroicons/react/24/outline\";\nvar Table = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"]\n}) => {\n const [searchMode, setSearchMode] = useState5(searchModeOptions[0]);\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n key: 1,\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"1\"\n )\n );\n if (currentPage > siblings + 2) {\n pages.push(\n /* @__PURE__ */ React9.createElement(\"span\", { key: \"start-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n key: i,\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === i ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n i\n )\n );\n }\n if (currentPage < totalPages - siblings - 1) {\n pages.push(\n /* @__PURE__ */ React9.createElement(\"span\", { key: \"end-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n key: totalPages,\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const renderPagination = () => {\n if (!isPaginated) return null;\n const align = paginationPosition.includes(\"left\") ? \"justify-start\" : paginationPosition.includes(\"right\") ? \"justify-end\" : \"justify-center\";\n return /* @__PURE__ */ React9.createElement(\"div\", { className: `my-2 flex w-full ${align}` }, /* @__PURE__ */ React9.createElement(\"div\", { className: \"flex flex-wrap items-center justify-center gap-2\" }, /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Previous\"\n ), renderPageNumbers(), /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Next\"\n ), /* @__PURE__ */ React9.createElement(\n \"select\",\n {\n value: limit,\n onChange: (e) => {\n setPage?.(1);\n setLimit?.(Number(e.target.value));\n },\n className: \"ml-2 rounded-md border border-slate-300 px-2 py-1 text-sm text-slate-700\"\n },\n [5, 10, 15].map((size) => /* @__PURE__ */ React9.createElement(\"option\", { key: size, value: size }, size))\n ), /* @__PURE__ */ React9.createElement(\"span\", { className: \"ml-2 text-xs text-slate-600\" }, \"Page \", currentPage, \" of \", totalPages, \" (Total: \", totalCount, \" items)\")));\n };\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ React9.createElement(\"div\", { className: \"mb-3 flex flex-wrap items-center justify-between gap-3\" }, searchable && /* @__PURE__ */ React9.createElement(\"div\", { className: \"flex items-center gap-2\" }, /* @__PURE__ */ React9.createElement(\"div\", { className: \"relative flex items-center\" }, /* @__PURE__ */ React9.createElement(\n \"input\",\n {\n type: \"text\",\n placeholder: \"Search...\",\n value: searchTerm,\n onChange: handleChange,\n className: \"w-56 rounded-lg border border-transparent bg-white px-3 py-2 pr-8 text-sm font-medium text-[#1761A3] shadow-sm outline-none ring-1 ring-transparent transition focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n }\n ), searchTerm && /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n \"aria-label\": \"Clear search\",\n className: \"absolute right-2 flex h-6 w-6 items-center justify-center rounded-full text-slate-400 transition hover:bg-slate-100 hover:text-slate-700\"\n },\n /* @__PURE__ */ React9.createElement(XMarkIcon, { className: \"h-4 w-4\" })\n )), /* @__PURE__ */ React9.createElement(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg border border-transparent bg-white px-2 py-2 text-sm font-medium text-slate-700 shadow-sm outline-none ring-1 ring-transparent transition hover:bg-slate-50 focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n },\n searchModeOptions.map((mode) => /* @__PURE__ */ React9.createElement(\"option\", { key: mode, value: mode }, mode === \"startsWith\" ? \"Starts With\" : \"Includes\"))\n )), (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ React9.createElement(\"div\", { className: \"mt-1 flex items-center gap-2\" }, onDownloadPDF && /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React9.createElement(ArrowDownOnSquareIcon, { className: \"h-5 w-5\" })\n ), onDownloadExcel && /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React9.createElement(ArrowDownOnSquareIcon, { className: \"h-5 w-5\" }),\n /* @__PURE__ */ React9.createElement(\"span\", null, \"Excel\")\n ))), paginationPosition.startsWith(\"top\") && data.length > 0 && renderPagination(), /* @__PURE__ */ React9.createElement(\"div\", { className: \"mt-1 overflow-hidden rounded-xl border border-[#1761A3] bg-white\" }, /* @__PURE__ */ React9.createElement(\"table\", { className: \"w-full border-collapse\" }, /* @__PURE__ */ React9.createElement(\n \"thead\",\n {\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React9.createElement(\"tr\", null, headers.map((header, idx) => /* @__PURE__ */ React9.createElement(\n \"th\",\n {\n key: idx,\n className: `h-[50px] px-3 py-2 text-left text-sm font-bold text-white first:rounded-tl-xl last:rounded-tr-xl`\n },\n header.label\n )), actions && /* @__PURE__ */ React9.createElement(\"th\", { className: \"h-[50px] px-3 py-2 text-left text-sm font-bold text-white\" }, \"Actions\"))\n ), /* @__PURE__ */ React9.createElement(\"tbody\", null, data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ React9.createElement(\n \"tr\",\n {\n key: rowIndex,\n className: `h-[57px] border-b border-slate-200 text-sm text-slate-900 even:bg-slate-50 hover:bg-slate-100 ${highlightRowColor || \"\"}`\n },\n headers.map((header, cellIdx) => /* @__PURE__ */ React9.createElement(\"td\", { key: cellIdx, className: \"px-3 py-2\" }, (() => {\n const value = row[header.key];\n if (React9.isValidElement(value)) return value;\n if (typeof value === \"function\") {\n try {\n const result = value();\n if (React9.isValidElement(result)) return result;\n } catch (e) {\n console.warn(\"Error executing function in table cell:\", e);\n }\n }\n if (typeof value === \"string\" && value.trim().startsWith(\"<\") && value.trim().endsWith(\">\")) {\n return /* @__PURE__ */ React9.createElement(\n \"span\",\n {\n dangerouslySetInnerHTML: { __html: value }\n }\n );\n }\n if (Array.isArray(value)) {\n if (value.some((item) => React9.isValidElement(item))) {\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, value);\n }\n return value.join(\", \");\n }\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (value === null || value === void 0) return \"-\";\n if (typeof value === \"number\") return value.toString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n })())),\n actions && /* @__PURE__ */ React9.createElement(\"td\", { className: \"px-3 py-2\" }, actions(row))\n )) : /* @__PURE__ */ React9.createElement(\"tr\", null, /* @__PURE__ */ React9.createElement(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-6 text-center text-slate-500\"\n },\n /* @__PURE__ */ React9.createElement(\"div\", { className: \"flex items-center justify-center gap-4\" }, /* @__PURE__ */ React9.createElement(\"span\", null, \"No records found.\"), onResetSearch && /* @__PURE__ */ React9.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React9.createElement(\"span\", null, \"Reset\"),\n /* @__PURE__ */ React9.createElement(ArrowPathIcon, { className: \"h-5 w-5\" })\n ))\n ))))), paginationPosition.startsWith(\"bottom\") && data.length > 0 && renderPagination());\n};\nTable.displayName = \"Table\";\n\n// src/components/TableTailwindCSS.tsx\nimport React10, { useState as useState6 } from \"react\";\nimport {\n ArrowDownOnSquareIcon as ArrowDownOnSquareIcon2,\n ArrowPathIcon as ArrowPathIcon2,\n XMarkIcon as XMarkIcon2\n} from \"@heroicons/react/24/outline\";\nvar Table2 = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"],\n summary,\n summaryKey = \"summary\",\n summaryTitleField = \"name\",\n summaryColumn = false,\n summaryColumnKey,\n summaryColumnMaxLength = 120,\n textWrapColumns,\n textWrapMaxLength = 120,\n textWrapColumnMaxLengths\n}) => {\n const [searchMode, setSearchMode] = useState6(\n searchModeOptions[0]\n );\n const [expandedRowIndex, setExpandedRowIndex] = useState6(null);\n const [expandedRowIndexes, setExpandedRowIndexes] = useState6(\n /* @__PURE__ */ new Set()\n );\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n key: 1,\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73beee, #28a97d)\"\n }\n },\n \"1\"\n )\n );\n if (currentPage > siblings + 2) {\n pages.push(\n /* @__PURE__ */ React10.createElement(\"span\", { key: \"start-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n key: i,\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === i ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n i\n )\n );\n }\n if (currentPage < totalPages - siblings - 1) {\n pages.push(\n /* @__PURE__ */ React10.createElement(\"span\", { key: \"end-ellipsis\", className: \"px-1 text-sm text-slate-500\" }, \"...\")\n );\n }\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n key: totalPages,\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const renderPagination = () => {\n if (!isPaginated) return null;\n const align = paginationPosition.includes(\"left\") ? \"justify-start\" : paginationPosition.includes(\"right\") ? \"justify-end\" : \"justify-center\";\n return /* @__PURE__ */ React10.createElement(\"div\", { className: `my-2 flex w-full ${align}` }, /* @__PURE__ */ React10.createElement(\"div\", { className: \"flex flex-wrap items-center justify-center gap-2\" }, /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === 1 ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Previous\"\n ), renderPageNumbers(), /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"inline-flex items-center rounded-md px-3 py-1 text-sm font-medium text-white disabled:cursor-not-allowed disabled:opacity-50\",\n style: {\n background: currentPage === totalPages ? \"#ccc\" : \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n \"Next\"\n ), /* @__PURE__ */ React10.createElement(\n \"select\",\n {\n value: limit,\n onChange: (e) => {\n setPage?.(1);\n setLimit?.(Number(e.target.value));\n },\n className: \"ml-2 rounded-md border border-slate-300 px-2 py-1 text-sm text-slate-700\"\n },\n [5, 10, 15].map((size) => /* @__PURE__ */ React10.createElement(\"option\", { key: size, value: size }, size))\n ), /* @__PURE__ */ React10.createElement(\"span\", { className: \"ml-2 text-xs text-slate-600\" }, \"Page \", currentPage, \" of \", totalPages, \" (Total: \", totalCount, \" items)\")));\n };\n const summaryColKeyToUse = summaryColumnKey || summaryKey;\n return /* @__PURE__ */ React10.createElement(React10.Fragment, null, (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ React10.createElement(\"div\", { className: \"mb-3 flex flex-wrap items-center justify-between gap-3\" }, searchable && /* @__PURE__ */ React10.createElement(\"div\", { className: \"flex items-center gap-2\" }, /* @__PURE__ */ React10.createElement(\"div\", { className: \"relative flex items-center\" }, /* @__PURE__ */ React10.createElement(\n \"input\",\n {\n type: \"text\",\n placeholder: \"Search...\",\n value: searchTerm,\n onChange: handleChange,\n className: \"w-56 rounded-lg border border-transparent bg-white px-3 py-2 pr-8 text-sm font-medium text-[#1761A3] shadow-sm outline-none ring-1 ring-transparent transition focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n }\n ), searchTerm && /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n \"aria-label\": \"Clear search\",\n className: \"absolute right-2 flex h-6 w-6 items-center justify-center rounded-full text-slate-400 transition hover:bg-slate-100 hover:text-slate-700\"\n },\n /* @__PURE__ */ React10.createElement(XMarkIcon2, { className: \"h-4 w-4\" })\n )), /* @__PURE__ */ React10.createElement(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg border border-transparent bg-white px-2 py-2 text-sm font-medium text-slate-700 shadow-sm outline-none ring-1 ring-transparent transition hover:bg-slate-50 focus:border-transparent focus:ring-2 focus:ring-emerald-400\"\n },\n searchModeOptions.map((mode) => /* @__PURE__ */ React10.createElement(\"option\", { key: mode, value: mode }, mode === \"startsWith\" ? \"Starts With\" : \"Includes\"))\n )), (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ React10.createElement(\"div\", { className: \"mt-1 flex items-center gap-2\" }, onDownloadPDF && /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React10.createElement(ArrowDownOnSquareIcon2, { className: \"h-5 w-5\" })\n ), onDownloadExcel && /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React10.createElement(ArrowDownOnSquareIcon2, { className: \"h-5 w-5\" }),\n /* @__PURE__ */ React10.createElement(\"span\", null, \"Excel\")\n ))), paginationPosition.startsWith(\"top\") && data.length > 0 && renderPagination(), /* @__PURE__ */ React10.createElement(\"div\", { className: \"mt-1 overflow-hidden rounded-xl border border-[#1761A3] bg-white\" }, /* @__PURE__ */ React10.createElement(\"table\", { className: \"w-full border-collapse\" }, /* @__PURE__ */ React10.createElement(\n \"thead\",\n {\n style: {\n background: \"linear-gradient(to right, #1e73be, #28a97d)\"\n }\n },\n /* @__PURE__ */ React10.createElement(\"tr\", null, headers.map((header, idx) => /* @__PURE__ */ React10.createElement(\n \"th\",\n {\n key: idx,\n className: \"h-[50px] px-3 py-2 text-left text-sm font-bold text-white first:rounded-tl-xl last:rounded-tr-xl\"\n },\n header.label\n )), actions && /* @__PURE__ */ React10.createElement(\"th\", { className: \"h-[50px] px-3 py-2 text-left text-sm font-bold text-white\" }, \"Actions\"))\n ), /* @__PURE__ */ React10.createElement(\"tbody\", null, data.length > 0 ? data.map((row, rowIndex) => {\n const isExpandable = !!summary;\n const isExpanded = summary === \"single\" ? expandedRowIndex === rowIndex : summary === \"multi\" ? expandedRowIndexes.has(rowIndex) : false;\n const handleRowClick = () => {\n if (!summary) return;\n if (summary === \"single\") {\n setExpandedRowIndex(\n (prev) => prev === rowIndex ? null : rowIndex\n );\n } else if (summary === \"multi\") {\n setExpandedRowIndexes((prev) => {\n const next = new Set(prev);\n if (next.has(rowIndex)) {\n next.delete(rowIndex);\n } else {\n next.add(rowIndex);\n }\n return next;\n });\n }\n };\n const handleCloseDrawer = (e) => {\n e.stopPropagation();\n if (summary === \"single\") {\n setExpandedRowIndex(null);\n } else if (summary === \"multi\") {\n setExpandedRowIndexes((prev) => {\n const next = new Set(prev);\n next.delete(rowIndex);\n return next;\n });\n }\n };\n const titleValue = row[summaryTitleField];\n const summaryValue = row[summaryKey];\n return /* @__PURE__ */ React10.createElement(React10.Fragment, { key: rowIndex }, /* @__PURE__ */ React10.createElement(\n \"tr\",\n {\n onClick: isExpandable ? handleRowClick : void 0,\n className: `h-[57px] border-b border-slate-200 text-sm text-slate-900 even:bg-slate-50 hover:bg-slate-100 ${isExpandable ? \"cursor-pointer transition-colors\" : \"\"} ${highlightRowColor || \"\"} ${isExpanded ? \"bg-[#1e73be80]\" : \"\"}`,\n style: isExpanded ? {\n backgroundColor: \"rgba(30, 190, 145, 0.38)\"\n } : void 0\n },\n headers.map((header, cellIdx) => /* @__PURE__ */ React10.createElement(\"td\", { key: cellIdx, className: \"px-3 py-2\" }, (() => {\n const value = row[header.key];\n if (summaryColumn && header.key === summaryColKeyToUse) {\n if (value == null) {\n return \"-\";\n }\n if (React10.isValidElement(value)) {\n return /* @__PURE__ */ React10.createElement(\"div\", { className: \"text-sm leading-relaxed text-slate-600 break-words whitespace-normal line-clamp-2\" }, value);\n }\n let fullText;\n if (typeof value === \"string\") {\n fullText = value;\n } else if (typeof value === \"object\") {\n fullText = JSON.stringify(value);\n } else {\n fullText = String(value);\n }\n const summaryOverride = textWrapColumnMaxLengths && textWrapColumnMaxLengths[summaryColKeyToUse];\n const maxLen = summaryOverride ?? summaryColumnMaxLength;\n const truncated = fullText.length <= maxLen ? fullText : fullText.substring(0, maxLen).trim() + \"...\";\n return /* @__PURE__ */ React10.createElement(\n \"div\",\n {\n className: \"text-sm leading-relaxed text-slate-600 break-words whitespace-normal line-clamp-2\",\n title: fullText\n },\n truncated\n );\n }\n if (textWrapColumns && textWrapColumns.includes(header.key)) {\n if (value == null) {\n return \"-\";\n }\n if (React10.isValidElement(value)) {\n return /* @__PURE__ */ React10.createElement(\"div\", { className: \"text-sm leading-relaxed text-slate-600 break-words whitespace-normal line-clamp-2\" }, value);\n }\n let fullText;\n if (typeof value === \"string\") {\n fullText = value;\n } else if (typeof value === \"object\") {\n fullText = JSON.stringify(value);\n } else {\n fullText = String(value);\n }\n const perColMax = textWrapColumnMaxLengths && textWrapColumnMaxLengths[header.key];\n const maxLen = perColMax ?? textWrapMaxLength;\n const truncated = fullText.length <= maxLen ? fullText : fullText.substring(0, maxLen).trim() + \"...\";\n return /* @__PURE__ */ React10.createElement(\n \"div\",\n {\n className: \"text-sm leading-relaxed text-slate-600 break-words whitespace-normal line-clamp-2\",\n title: fullText\n },\n truncated\n );\n }\n if (React10.isValidElement(value)) return value;\n if (typeof value === \"function\") {\n try {\n const result = value();\n if (React10.isValidElement(result)) return result;\n } catch (e) {\n console.warn(\n \"Error executing function in table cell:\",\n e\n );\n }\n }\n if (typeof value === \"string\" && value.trim().startsWith(\"<\") && value.trim().endsWith(\">\")) {\n return /* @__PURE__ */ React10.createElement(\n \"span\",\n {\n dangerouslySetInnerHTML: { __html: value }\n }\n );\n }\n if (Array.isArray(value)) {\n if (value.some(\n (item) => React10.isValidElement(item)\n )) {\n return /* @__PURE__ */ React10.createElement(React10.Fragment, null, value);\n }\n return value.join(\", \");\n }\n if (value instanceof Date)\n return value.toLocaleString();\n if (typeof value === \"boolean\")\n return value ? \"Yes\" : \"No\";\n if (value === null || value === void 0)\n return \"-\";\n if (typeof value === \"number\")\n return value.toString();\n if (typeof value === \"object\")\n return JSON.stringify(value);\n return String(value);\n })())),\n actions && /* @__PURE__ */ React10.createElement(\"td\", { className: \"px-3 py-2\" }, actions(row))\n ), isExpandable && isExpanded && /* @__PURE__ */ React10.createElement(\"tr\", { className: \"border-b border-blue-200\" }, /* @__PURE__ */ React10.createElement(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"bg-gradient-to-r from-blue-25 to-blue-50 px-3 py-4\"\n },\n /* @__PURE__ */ React10.createElement(\"div\", { className: \"flex items-start gap-3\" }, /* @__PURE__ */ React10.createElement(\"div\", { className: \"flex-1\" }, /* @__PURE__ */ React10.createElement(\"div\", { className: \"mb-2 flex items-start justify-between\" }, /* @__PURE__ */ React10.createElement(\"h4\", { className: \"text-sm font-semibold text-slate-800\" }, titleValue ? `Summary for ${String(titleValue)}` : \"Summary\"), /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: handleCloseDrawer,\n className: \"ml-2 flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full transition-colors hover:bg-blue-200\",\n \"aria-label\": \"Close summary\"\n },\n /* @__PURE__ */ React10.createElement(XMarkIcon2, { className: \"h-4 w-4 text-slate-600\" })\n )), /* @__PURE__ */ React10.createElement(\"p\", { className: \"text-sm leading-relaxed text-slate-600\" }, summaryValue == null ? \"-\" : React10.isValidElement(summaryValue) ? summaryValue : typeof summaryValue === \"string\" ? summaryValue : typeof summaryValue === \"object\" ? JSON.stringify(summaryValue) : String(summaryValue))))\n )));\n }) : /* @__PURE__ */ React10.createElement(\"tr\", null, /* @__PURE__ */ React10.createElement(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-6 text-center text-slate-500\"\n },\n /* @__PURE__ */ React10.createElement(\"div\", { className: \"flex items-center justify-center gap-4\" }, /* @__PURE__ */ React10.createElement(\"span\", null, \"No records found.\"), onResetSearch && /* @__PURE__ */ React10.createElement(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-white shadow-sm hover:opacity-90\",\n style: {\n background: \"linear-gradient(to right, #1e73b, #28a97d)\"\n }\n },\n /* @__PURE__ */ React10.createElement(\"span\", null, \"Reset\"),\n /* @__PURE__ */ React10.createElement(ArrowPathIcon2, { className: \"h-5 w-5\" })\n ))\n ))))), paginationPosition.startsWith(\"bottom\") && data.length > 0 && renderPagination());\n};\nTable2.displayName = \"Table\";\n\n// src/components/TooltipTailwindCSS.tsx\nimport React11, { useState as useState7 } from \"react\";\nvar Tooltip = ({\n text,\n position = \"top\",\n children,\n variant = \"default\",\n className = \"\",\n textColor = \"text-gray-800\",\n backgroundColor = \"bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\",\n image,\n animation\n}) => {\n const [visible, setVisible] = useState7(false);\n const [showAnimation, setShowAnimation] = useState7(false);\n const showTooltip = () => {\n setVisible(true);\n if (animation) {\n const delay = animation.triggerDelay || 100;\n setTimeout(() => setShowAnimation(true), delay);\n }\n };\n const hideTooltip = () => {\n setVisible(false);\n setShowAnimation(false);\n };\n const containerClasses = `relative inline-block ${className}`;\n const defaultTooltipClasses = `\n absolute z-50 \n font-poppins \n font-medium \n \n text-[rgba(255,255,255,1)]\n text-[10px] \n leading-normal \n not-italic\n rounded \n shadow-sm \n transition-opacity \n duration-200\n w-[98px] \n h-[26px] \n flex-shrink-0 flex \n items-center \n justify-center\n bg-[rgba(23,97,163,1)] \n bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\n ${visible ? \"opacity-100\" : \"opacity-0 pointer-events-none\"}\n ${image ? \"\" : \"px-3 py-3\"}\n `;\n const transparentTooltipClasses = `\n absolute z-50 font-medium ${textColor}\n rounded transition-all duration-200\n ${visible ? \"opacity-100 scale-100\" : \"opacity-0 scale-95 pointer-events-none\"}\n ${image ? \"p-1\" : \"px-3 py-2\"}\n `;\n const positionClasses = {\n top: \"bottom-full left-1/2 transform -translate-x-1/2 -translate-y-2 mb-2\",\n right: \"left-full top-1/2 transform -translate-y-1/2 translate-x-2 ml-2\",\n bottom: \"top-full left-1/2 transform -translate-x-1/2 translate-y-2 mt-2\",\n left: \"right-full top-1/2 transform -translate-y-1/2 -translate-x-2 mr-2\"\n };\n const arrowBaseClasses = \"absolute w-2 h-2 transform rotate-45\";\n const arrowPositionClasses = {\n top: \"bottom-[-4px] left-1/2 transform -translate-x-1/2\",\n right: \"left-[-4px] top-1/2 transform -translate-y-1/2\",\n bottom: \"top-[-4px] left-1/2 transform -translate-x-1/2\",\n left: \"right-[-4px] top-1/2 transform -translate-y-1/2\"\n };\n const arrowBackgroundClass = \"bg-[rgba(23,97,163,1)]\";\n const tooltipClasses = variant === \"transparent\" ? `${transparentTooltipClasses} ${positionClasses[position]}` : `${defaultTooltipClasses} ${positionClasses[position]}`;\n const renderTooltipContent = () => {\n if (image) {\n return /* @__PURE__ */ React11.createElement(\n \"img\",\n {\n src: image.src,\n alt: image.alt || \"Tooltip image\",\n width: image.width || 200,\n height: image.height || 150,\n className: \"rounded-md object-cover\",\n loading: \"lazy\"\n }\n );\n }\n return text;\n };\n const renderAnimation = () => {\n if (!animation || !showAnimation) return null;\n const AnimationComponent = animation.component;\n return /* @__PURE__ */ React11.createElement(\n AnimationComponent,\n {\n isActive: showAnimation,\n ...animation.props\n }\n );\n };\n return /* @__PURE__ */ React11.createElement(\n \"div\",\n {\n className: containerClasses,\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n onFocus: showTooltip,\n onBlur: hideTooltip\n },\n children,\n renderAnimation(),\n /* @__PURE__ */ React11.createElement(\n \"div\",\n {\n className: tooltipClasses,\n role: \"tooltip\"\n },\n renderTooltipContent(),\n variant === \"default\" && !image && /* @__PURE__ */ React11.createElement(\n \"div\",\n {\n className: `${arrowBaseClasses} ${arrowPositionClasses[position]} ${arrowBackgroundClass} rounded-sm`\n }\n )\n )\n );\n};\nTooltip.displayName = \"Tooltip\";\n\n// src/components/Calendar.tsx\nimport React12, { useState as useState8, useEffect as useEffect5, useRef as useRef2 } from \"react\";\nimport { HiOutlineClock, HiChevronDown, HiChevronLeft, HiChevronRight } from \"react-icons/hi\";\nimport { HiCalendarDays } from \"react-icons/hi2\";\nvar convertToDateString = (date) => {\n if (!date) return \"\";\n const year = date.year;\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n return `${year}-${month}-${day}`;\n};\nvar cn4 = (...classes) => classes.filter(Boolean).join(\" \");\nvar isSameDate = (date1, date2) => {\n if (!date1 || !date2) return false;\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n};\nvar formatDate = (date) => {\n if (!date) return \"\";\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n return `${month}-${day}-${year}`;\n};\nvar formatDateWithFormat = (date, format) => {\n if (!date) return \"\";\n const monthNum = date.month + 1;\n const month = String(monthNum).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n const monthNames = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n const monthAbbr = monthNames[date.month];\n if (format === \"none\") {\n return `${month}-${day}-${year}`;\n }\n switch (format) {\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"MMM/DD/YYYY\":\n return `${monthAbbr}/${day}/${year}`;\n case \"DD/MMM/YYYY\":\n return `${day}/${monthAbbr}/${year}`;\n case \"YYYY/MMM/DD\":\n return `${year}/${monthAbbr}/${day}`;\n case \"MMM DD, YYYY\":\n return `${monthAbbr} ${day}, ${year}`;\n case \"DD MMM YYYY\":\n return `${day} ${monthAbbr} ${year}`;\n case \"YYYY MMM DD\":\n return `${year} ${monthAbbr} ${day}`;\n case \"MM-DD-YYYY\":\n return `${month}-${day}-${year}`;\n case \"DD-MM-YYYY\":\n return `${day}-${month}-${year}`;\n case \"YYYY-MM-DD\":\n return `${year}-${month}-${day}`;\n case \"MMM-DD-YYYY\":\n return `${monthAbbr}-${day}-${year}`;\n case \"DD-MMM-YYYY\":\n return `${day}-${monthAbbr}-${year}`;\n case \"YYYY-MMM-DD\":\n return `${year}-${monthAbbr}-${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n case \"MM.DD.YYYY\":\n return `${month}.${day}.${year}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n default:\n return `${month}-${day}-${year}`;\n }\n};\nvar formatTime = (time, format = \"12h\") => {\n if (!time) return \"\";\n if (format === \"24h\") {\n let hour24 = time.hour;\n if (time.period === \"PM\" && time.hour !== 12) {\n hour24 = time.hour + 12;\n } else if (time.period === \"AM\" && time.hour === 12) {\n hour24 = 0;\n }\n const hour2 = String(hour24).padStart(2, \"0\");\n const minute2 = String(time.minute).padStart(2, \"0\");\n return `${hour2}:${minute2}`;\n }\n const hour = String(time.hour).padStart(2, \"0\");\n const minute = String(time.minute).padStart(2, \"0\");\n return `${hour}:${minute} ${time.period}`;\n};\nvar getDaysInMonth = (year, monthIndex) => {\n return new Date(year, monthIndex + 1, 0).getDate();\n};\nvar getFirstDayOfMonth = (year, monthIndex) => {\n return new Date(year, monthIndex, 1).getDay();\n};\nvar getMonthName = (monthIndex) => {\n return new Date(2024, monthIndex, 1).toLocaleDateString(\"en-US\", {\n month: \"long\"\n });\n};\nvar DAY_NAMES = [\"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\"];\nvar DATE_FORMAT_OPTIONS = [\n \"none\",\n \"MM/DD/YYYY\",\n \"DD/MM/YYYY\",\n \"YYYY/MM/DD\",\n \"MMM/DD/YYYY\",\n \"DD/MMM/YYYY\",\n \"YYYY/MMM/DD\",\n \"MMM DD, YYYY\",\n \"DD MMM YYYY\",\n \"YYYY MMM DD\",\n \"MM-DD-YYYY\",\n \"DD-MM-YYYY\",\n \"YYYY-MM-DD\",\n \"MMM-DD-YYYY\",\n \"DD-MMM-YYYY\",\n \"YYYY-MMM-DD\",\n \"DD.MM.YYYY\",\n \"MM.DD.YYYY\",\n \"YYYY.MM.DD\"\n];\nvar TIME_ZONE_OPTIONS = [\n \"none\",\n \"UTC\",\n \"GMT\",\n \"EST\",\n \"EDT\",\n \"CST\",\n \"CDT\",\n \"MST\",\n \"MDT\",\n \"PST\",\n \"PDT\",\n \"IST\",\n \"JST\",\n \"KST\",\n \"AEST\",\n \"AEDT\",\n \"NZST\",\n \"NZDT\",\n \"CET\",\n \"CEST\",\n \"BST\",\n \"AST\",\n \"HST\",\n \"AKST\",\n \"AKDT\",\n \"SST\",\n \"NST\",\n \"WET\",\n \"WEST\",\n \"EET\",\n \"EEST\",\n \"MSK\",\n \"HKT\",\n \"SGT\",\n \"PKT\",\n \"BDT\",\n \"AWST\",\n \"ACST\",\n \"ACDT\",\n \"NFT\"\n];\nvar compareInternalDates = (a, b) => {\n if (a.year !== b.year) return a.year - b.year;\n if (a.monthIndex !== b.monthIndex) return a.monthIndex - b.monthIndex;\n return a.day - b.day;\n};\nvar addDaysInternal = (start, daysToAdd) => {\n let y = start.year;\n let m = start.monthIndex;\n let d = start.day + daysToAdd;\n while (true) {\n const dim = getDaysInMonth(y, m);\n if (d <= dim) break;\n d -= dim;\n m += 1;\n if (m > 11) {\n m = 0;\n y += 1;\n }\n }\n return { year: y, monthIndex: m, day: d };\n};\nvar isBlockedDateHelper = (date, config) => {\n if (!config || config.days <= 0) return false;\n const startInternal = {\n year: config.startDate.year,\n monthIndex: config.startDate.month - 1,\n day: config.startDate.day\n };\n const endInternal = addDaysInternal(startInternal, config.days - 1);\n const currentInternal = {\n year: date.year,\n monthIndex: date.month,\n day: date.day\n };\n const afterOrOnStart = compareInternalDates(currentInternal, startInternal) >= 0;\n const beforeOrOnEnd = compareInternalDates(currentInternal, endInternal) <= 0;\n return afterOrOnStart && beforeOrOnEnd;\n};\nvar getLocalTimeZone = () => {\n const timeZoneString = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const date = /* @__PURE__ */ new Date();\n const shortTimeZone = date.toLocaleTimeString(\"en-us\", { timeZoneName: \"short\" }).split(\" \")[2];\n return shortTimeZone || timeZoneString;\n};\nvar SIZE_SCALES = {\n \"small\": 0.65,\n \"medium\": 0.8,\n \"large\": 0.9,\n \"extra-large\": 1\n};\nvar getDeviceScale = () => {\n if (typeof window === \"undefined\") return 1;\n const width = window.innerWidth;\n if (width < 640) return 0.7;\n if (width < 1024) return 0.85;\n return 1;\n};\nvar Calendar = ({\n value,\n onChange,\n enableRangeSelection = false,\n rangeValue,\n onRangeChange,\n enableTimeSelection = false,\n timeValue,\n onTimeChange,\n showTimeFormatToggle = false,\n timeFormat = \"12h\",\n onTimeFormatChange,\n autoHide = false,\n showTodayButton = false,\n showClearButton = false,\n placeholder = \"Select date\",\n className,\n disabled = false,\n onShow,\n onHide,\n icon,\n showIcon = true,\n size = \"extra-large\",\n enableYearDropdown = false,\n showDateFormatSelector = false,\n dateFormat = \"none\",\n onDateFormatChange,\n showTimeZoneSelector = false,\n timeZoneFormat = \"none\",\n onTimeZoneFormatChange,\n blockDateConfig\n}) => {\n const today = /* @__PURE__ */ new Date();\n const [currentYear, setCurrentYear] = useState8(\n value?.year || today.getFullYear()\n );\n const [currentMonth, setCurrentMonth] = useState8(\n value?.month ?? today.getMonth()\n );\n const [isOpen, setIsOpen] = useState8(false);\n const [activeField, setActiveField] = useState8(\"start\");\n const [showTimeSelector, setShowTimeSelector] = useState8(false);\n const [selectedHour, setSelectedHour] = useState8(timeValue?.hour || 12);\n const [selectedMinute, setSelectedMinute] = useState8(timeValue?.minute || 0);\n const [selectedPeriod, setSelectedPeriod] = useState8(timeValue?.period || \"AM\");\n const [internalTimeFormat, setInternalTimeFormat] = useState8(timeFormat);\n const [showYearDropdown, setShowYearDropdown] = useState8(false);\n const [internalDateFormat, setInternalDateFormat] = useState8(dateFormat);\n const [internalTimeZoneFormat, setInternalTimeZoneFormat] = useState8(timeZoneFormat);\n const [deviceScale, setDeviceScale] = useState8(1);\n const [positionAbove, setPositionAbove] = useState8(false);\n const containerRef = useRef2(null);\n const calendarRef = useRef2(null);\n const sizeScale = SIZE_SCALES[size];\n const scale = sizeScale * deviceScale;\n const scaled = (value2) => Math.round(value2 * scale);\n useEffect5(() => {\n const handleResize = () => {\n setDeviceScale(getDeviceScale());\n };\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n useEffect5(() => {\n if (!isOpen || !containerRef.current || !calendarRef.current) return;\n const calculatePosition = () => {\n const containerRect = containerRef.current?.getBoundingClientRect();\n const calendarHeight = calendarRef.current?.offsetHeight || 526 * scale;\n if (!containerRect) return;\n const spaceBelow = window.innerHeight - containerRect.bottom;\n const spaceAbove = containerRect.top;\n const bufferSpace = 16;\n if (spaceBelow < calendarHeight + bufferSpace && spaceAbove > spaceBelow) {\n setPositionAbove(true);\n } else {\n setPositionAbove(false);\n }\n };\n calculatePosition();\n window.addEventListener(\"resize\", calculatePosition);\n window.addEventListener(\"scroll\", calculatePosition, true);\n return () => {\n window.removeEventListener(\"resize\", calculatePosition);\n window.removeEventListener(\"scroll\", calculatePosition, true);\n };\n }, [isOpen, scale]);\n useEffect5(() => {\n if (value) {\n setCurrentYear(value.year);\n setCurrentMonth(value.month);\n }\n }, [value]);\n useEffect5(() => {\n if (timeValue) {\n setSelectedHour(timeValue.hour);\n setSelectedMinute(timeValue.minute);\n setSelectedPeriod(timeValue.period);\n }\n }, [timeValue]);\n useEffect5(() => {\n setInternalTimeFormat(timeFormat);\n }, [timeFormat]);\n useEffect5(() => {\n setInternalDateFormat(dateFormat);\n }, [dateFormat]);\n useEffect5(() => {\n setInternalTimeZoneFormat(timeZoneFormat);\n }, [timeZoneFormat]);\n useEffect5(() => {\n const handleClickOutside = (event) => {\n if (containerRef.current && !containerRef.current.contains(event.target)) {\n if (isOpen) {\n setIsOpen(false);\n setShowTimeSelector(false);\n setShowYearDropdown(false);\n onHide?.();\n }\n }\n };\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen, onHide]);\n const daysInMonth = getDaysInMonth(currentYear, currentMonth);\n const firstDay = getFirstDayOfMonth(currentYear, currentMonth);\n const monthName = getMonthName(currentMonth);\n const previousMonth = () => {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n setCurrentYear(currentYear - 1);\n } else {\n setCurrentMonth(currentMonth - 1);\n }\n };\n const nextMonth = () => {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n setCurrentYear(currentYear + 1);\n } else {\n setCurrentMonth(currentMonth + 1);\n }\n };\n const selectDate = (day) => {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n if (enableRangeSelection) {\n if (activeField === \"start\") {\n onRangeChange?.({ start: date, end: rangeValue?.end || null });\n setActiveField(\"end\");\n } else {\n const start = rangeValue?.start;\n if (start) {\n const startTime = new Date(start.year, start.month, start.day).getTime();\n const endTime = new Date(date.year, date.month, date.day).getTime();\n if (endTime < startTime) {\n onRangeChange?.({ start: date, end: start });\n } else {\n onRangeChange?.({ start, end: date });\n }\n } else {\n onRangeChange?.({ start: date, end: null });\n setActiveField(\"end\");\n }\n }\n } else {\n const dateString = convertToDateString(date);\n onChange?.(date, dateString);\n }\n if (showTimeSelector) {\n setShowTimeSelector(false);\n }\n if (autoHide && (!enableRangeSelection || enableRangeSelection && activeField === \"end\" && rangeValue?.start)) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const selectToday = () => {\n const todayDate = {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n };\n setCurrentYear(todayDate.year);\n setCurrentMonth(todayDate.month);\n const dateString = convertToDateString(todayDate);\n onChange?.(todayDate, dateString);\n if (enableTimeSelection && showTimeSelector) {\n const now = /* @__PURE__ */ new Date();\n const currentHour = now.getHours();\n const currentMinute = now.getMinutes();\n let hour12;\n let period;\n if (currentHour === 0) {\n hour12 = 12;\n period = \"AM\";\n } else if (currentHour === 12) {\n hour12 = 12;\n period = \"PM\";\n } else if (currentHour > 12) {\n hour12 = currentHour - 12;\n period = \"PM\";\n } else {\n hour12 = currentHour;\n period = \"AM\";\n }\n setSelectedHour(hour12);\n setSelectedMinute(currentMinute);\n setSelectedPeriod(period);\n onTimeChange?.({\n hour: hour12,\n minute: currentMinute,\n period\n });\n if (showTimeZoneSelector) {\n const localTZ = getLocalTimeZone();\n setInternalTimeZoneFormat(localTZ);\n onTimeZoneFormatChange?.(localTZ);\n }\n }\n if (autoHide) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const clearDate = () => {\n if (enableRangeSelection) {\n onRangeChange?.({ start: null, end: null });\n setActiveField(\"start\");\n } else {\n onChange?.(null, \"\");\n }\n if (enableTimeSelection) {\n onTimeChange?.({ hour: 12, minute: 0, period: \"AM\" });\n setSelectedHour(12);\n setSelectedMinute(0);\n setSelectedPeriod(\"AM\");\n }\n };\n const toggleCalendar = () => {\n if (disabled) return;\n const newState = !isOpen;\n setIsOpen(newState);\n if (newState) {\n setShowTimeSelector(false);\n onShow?.();\n } else {\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const handleStartFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"start\");\n setShowTimeSelector(false);\n };\n const handleEndFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"end\");\n setShowTimeSelector(false);\n };\n const handleChooseTimeClick = () => {\n setShowTimeSelector(!showTimeSelector);\n };\n const handleChooseDateClick = () => {\n setShowTimeSelector(false);\n };\n const handleTimeFormatToggle = () => {\n const newFormat = internalTimeFormat === \"12h\" ? \"24h\" : \"12h\";\n setInternalTimeFormat(newFormat);\n onTimeFormatChange?.(newFormat);\n };\n const handleTimeConfirm = () => {\n onTimeChange?.({\n hour: selectedHour,\n minute: selectedMinute,\n period: selectedPeriod\n });\n setShowTimeSelector(false);\n };\n const handleDateConfirm = () => {\n setIsOpen(false);\n onHide?.();\n };\n const handleMonthYearClick = () => {\n if (enableYearDropdown) {\n setShowYearDropdown(!showYearDropdown);\n }\n };\n const handleYearSelect = (year) => {\n setCurrentYear(year);\n setShowYearDropdown(false);\n };\n const renderDays = () => {\n const days = [];\n for (let i = 0; i < firstDay; i++) {\n days.push(\n /* @__PURE__ */ React12.createElement(\n \"div\",\n {\n key: `empty-start-${i}`,\n className: \"flex items-center justify-center\",\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n }\n )\n );\n }\n for (let day = 1; day <= daysInMonth; day++) {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n const isSelected = enableRangeSelection ? isSameDate(rangeValue?.start, date) || isSameDate(rangeValue?.end, date) : isSameDate(value, date);\n const isInRange = enableRangeSelection && rangeValue?.start && rangeValue?.end ? (() => {\n const currentTime = new Date(date.year, date.month, date.day).getTime();\n const startTime = new Date(\n rangeValue.start.year,\n rangeValue.start.month,\n rangeValue.start.day\n ).getTime();\n const endTime = new Date(\n rangeValue.end.year,\n rangeValue.end.month,\n rangeValue.end.day\n ).getTime();\n return currentTime > startTime && currentTime < endTime;\n })() : false;\n const isToday = isSameDate(\n {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n },\n date\n );\n const isBlocked = isBlockedDateHelper(date, blockDateConfig);\n days.push(\n /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n key: `current-${day}`,\n onClick: () => {\n if (!isBlocked) selectDate(day);\n },\n disabled: isBlocked,\n className: cn4(\n \"flex items-center justify-center rounded transition-all duration-200\",\n isSelected && \"bg-gradient-to-b from-[#1761A3] to-[#4DAF83] text-white shadow-md\",\n !isSelected && isToday && \"border-2 border-[#1761A3] text-[#1761A3]\",\n !isSelected && !isToday && !isInRange && \"bg-[rgba(0,123,255,0.05)] text-gray-700\",\n isInRange && !isSelected && \"bg-[rgba(23,97,163,0.15)] text-gray-700\",\n !isSelected && !isBlocked && \"hover:bg-[rgba(23,97,163,0.1)]\",\n isBlocked && \"cursor-not-allowed opacity-40 text-gray-400\"\n ),\n style: {\n width: `${scaled(32)}px`,\n height: `${scaled(30)}px`,\n fontSize: `${scaled(14)}px`,\n fontWeight: 600\n }\n },\n day\n )\n );\n }\n const totalCells = firstDay + daysInMonth;\n const remainingCells = totalCells % 7 === 0 ? 0 : 7 - totalCells % 7;\n for (let i = 0; i < remainingCells; i++) {\n days.push(\n /* @__PURE__ */ React12.createElement(\n \"div\",\n {\n key: `empty-end-${i}`,\n className: \"flex items-center justify-center\",\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n }\n )\n );\n }\n return days;\n };\n const renderTimeSelector = () => {\n const hours12 = Array.from({ length: 12 }, (_, i) => i + 1);\n const hours24 = Array.from({ length: 24 }, (_, i) => i);\n const minutes = Array.from({ length: 60 }, (_, i) => i);\n return /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex flex-col h-full\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex-1\" }, (showTimeFormatToggle || showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ React12.createElement(\"div\", { style: { marginBottom: `${scaled(12)}px` } }, showTimeFormatToggle && /* @__PURE__ */ React12.createElement(\"div\", { style: { marginBottom: `${scaled(12)}px` } }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex flex-col\", style: { gap: `${scaled(8)}px` } }, /* @__PURE__ */ React12.createElement(\"span\", { className: \"text-black font-semibold\", style: { fontSize: `${scaled(12)}px` } }, \"Format\"), /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex items-center\", style: { gap: `${scaled(8)}px` } }, /* @__PURE__ */ React12.createElement(\n \"span\",\n {\n className: cn4(\n \"transition-colors duration-200 font-semibold\",\n internalTimeFormat === \"12h\" ? \"text-gray-900\" : \"text-gray-500\"\n ),\n style: { fontSize: `${scaled(12)}px` }\n },\n \"12h\"\n ), /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleTimeFormatToggle,\n className: cn4(\n \"relative inline-flex items-center rounded-[8px] transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2\",\n internalTimeFormat === \"24h\" ? \"bg-[#1761A3]\" : \"bg-slate-300\"\n ),\n style: {\n width: `${scaled(38)}px`,\n height: `${scaled(17)}px`\n },\n role: \"switch\",\n \"aria-checked\": internalTimeFormat === \"24h\"\n },\n /* @__PURE__ */ React12.createElement(\n \"span\",\n {\n className: \"inline-block rounded-full transform bg-white shadow-md transition-transform duration-200\",\n style: {\n width: `${scaled(13)}px`,\n height: `${scaled(13)}px`,\n transform: internalTimeFormat === \"24h\" ? `translateX(${scaled(23)}px)` : `translateX(${scaled(2)}px)`\n }\n }\n )\n ), /* @__PURE__ */ React12.createElement(\n \"span\",\n {\n className: cn4(\n \"transition-colors duration-200 font-semibold\",\n internalTimeFormat === \"24h\" ? \"text-gray-900\" : \"text-gray-500\"\n ),\n style: { fontSize: `${scaled(12)}px` }\n },\n \"24h\"\n )))), (showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex items-start\", style: { gap: `${scaled(15)}px` } }, showDateFormatSelector && /* @__PURE__ */ React12.createElement(\"div\", { className: cn4(\n \"flex flex-col\",\n showTimeZoneSelector ? \"flex-1\" : \"w-full\"\n ), style: { gap: `${scaled(8)}px` } }, /* @__PURE__ */ React12.createElement(\"span\", { className: \"text-black font-semibold\", style: {\n fontSize: `${scaled(12)}px`,\n paddingLeft: `${scaled(36)}px`\n } }, \"Date Format\"), /* @__PURE__ */ React12.createElement(\"div\", { className: cn4(\n \"relative\",\n showTimeZoneSelector ? \"\" : \"w-full\"\n ), style: { height: `${scaled(40)}px` } }, /* @__PURE__ */ React12.createElement(\n \"select\",\n {\n value: internalDateFormat,\n onChange: (e) => {\n setInternalDateFormat(e.target.value);\n onDateFormatChange?.(e.target.value);\n },\n className: cn4(\n \"block h-full border border-[rgba(23,97,163,0.4)] bg-[#F0F8FF] text-gray-900 font-semibold rounded-[6px] transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-200 appearance-none\",\n showTimeZoneSelector ? \"w-full\" : \"w-full\",\n \"hover:bg-gradient-to-r hover:from-[rgba(23,97,163,0.4)] hover:to-[rgba(77,175,131,0.4)]\"\n ),\n style: {\n fontSize: `${scaled(12)}px`,\n paddingLeft: `${scaled(36)}px`,\n paddingRight: `${scaled(32)}px`\n }\n },\n DATE_FORMAT_OPTIONS.map((format) => /* @__PURE__ */ React12.createElement(\"option\", { key: format, value: format }, format))\n ), /* @__PURE__ */ React12.createElement(\n HiChevronDown,\n {\n className: \"pointer-events-none absolute top-1/2 -translate-y-1/2 text-gray-500\",\n style: {\n right: `${scaled(8)}px`,\n fontSize: `${scaled(18)}px`\n }\n }\n ))), showTimeZoneSelector && /* @__PURE__ */ React12.createElement(\"div\", { className: cn4(\n \"flex flex-col\",\n showDateFormatSelector ? \"flex-1\" : \"w-full\"\n ), style: { gap: `${scaled(8)}px` } }, /* @__PURE__ */ React12.createElement(\"span\", { className: \"text-black font-semibold text-right\", style: {\n fontSize: `${scaled(12)}px`,\n paddingRight: `${scaled(36)}px`\n } }, \"Time Format\"), /* @__PURE__ */ React12.createElement(\"div\", { className: cn4(\n \"relative\",\n showDateFormatSelector ? \"\" : \"w-full\"\n ), style: { height: `${scaled(40)}px` } }, /* @__PURE__ */ React12.createElement(\n \"select\",\n {\n value: internalTimeZoneFormat,\n onChange: (e) => {\n setInternalTimeZoneFormat(e.target.value);\n onTimeZoneFormatChange?.(e.target.value);\n },\n className: cn4(\n \"block h-full border border-[rgba(23,97,163,0.4)] bg-[#F0F8FF] text-gray-900 font-semibold rounded-[6px] transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-200 appearance-none\",\n showDateFormatSelector ? \"w-full\" : \"w-full\",\n \"hover:bg-gradient-to-r hover:from-[rgba(23,97,163,0.4)] hover:to-[rgba(77,175,131,0.4)]\"\n ),\n style: {\n fontSize: `${scaled(12)}px`,\n paddingRight: `${scaled(36)}px`,\n paddingLeft: `${scaled(32)}px`\n }\n },\n TIME_ZONE_OPTIONS.map((zone) => /* @__PURE__ */ React12.createElement(\"option\", { key: zone, value: zone }, zone))\n ), /* @__PURE__ */ React12.createElement(\n HiChevronDown,\n {\n className: \"pointer-events-none absolute top-1/2 -translate-y-1/2 text-gray-500\",\n style: {\n right: `${scaled(8)}px`,\n fontSize: `${scaled(18)}px`\n }\n }\n ))))), /* @__PURE__ */ React12.createElement(\"div\", { style: { marginTop: `${scaled(16)}px` } }, /* @__PURE__ */ React12.createElement(\"label\", { className: \"block text-gray-700 font-semibold\", style: {\n marginBottom: `${scaled(12)}px`,\n fontSize: `${scaled(12)}px`\n } }, \"Time Select\"), /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex\", style: { gap: `${scaled(12)}px` } }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex-1\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"relative\", style: { width: `${scaled(106)}px` } }, /* @__PURE__ */ React12.createElement(\n \"select\",\n {\n value: internalTimeFormat === \"24h\" ? selectedPeriod === \"PM\" && selectedHour !== 12 ? selectedHour + 12 : selectedPeriod === \"AM\" && selectedHour === 12 ? 0 : selectedHour : selectedHour,\n onChange: (e) => {\n const value2 = Number(e.target.value);\n if (internalTimeFormat === \"24h\") {\n if (value2 === 0) {\n setSelectedHour(12);\n setSelectedPeriod(\"AM\");\n } else if (value2 === 12) {\n setSelectedHour(12);\n setSelectedPeriod(\"PM\");\n } else if (value2 > 12) {\n setSelectedHour(value2 - 12);\n setSelectedPeriod(\"PM\");\n } else {\n setSelectedHour(value2);\n setSelectedPeriod(\"AM\");\n }\n } else {\n setSelectedHour(value2);\n }\n },\n className: \"block w-full bg-white border border-[rgba(77,175,131,0.25)] text-gray-900 font-semibold rounded-[6px] transition-all duration-200 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 appearance-none\",\n style: {\n height: `${scaled(40)}px`,\n fontSize: `${scaled(12)}px`,\n paddingLeft: `${scaled(16)}px`,\n paddingRight: `${scaled(32)}px`\n }\n },\n (internalTimeFormat === \"24h\" ? hours24 : hours12).map((hour) => /* @__PURE__ */ React12.createElement(\"option\", { key: hour, value: hour }, String(hour).padStart(2, \"0\")))\n ), /* @__PURE__ */ React12.createElement(\n HiChevronDown,\n {\n className: \"pointer-events-none absolute top-1/2 -translate-y-1/2 text-gray-500\",\n style: {\n right: `${scaled(8)}px`,\n fontSize: `${scaled(18)}px`\n }\n }\n ))), /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex-1\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"relative\", style: { width: `${scaled(106)}px` } }, /* @__PURE__ */ React12.createElement(\n \"select\",\n {\n value: selectedMinute,\n onChange: (e) => setSelectedMinute(Number(e.target.value)),\n className: \"block w-full bg-white border border-[rgba(77,175,131,0.25)] text-gray-900 font-semibold rounded-[6px] transition-all duration-200 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 appearance-none\",\n style: {\n height: `${scaled(40)}px`,\n fontSize: `${scaled(12)}px`,\n paddingLeft: `${scaled(16)}px`,\n paddingRight: `${scaled(32)}px`\n }\n },\n minutes.map((minute) => /* @__PURE__ */ React12.createElement(\"option\", { key: minute, value: minute }, String(minute).padStart(2, \"0\")))\n ), /* @__PURE__ */ React12.createElement(\n HiChevronDown,\n {\n className: \"pointer-events-none absolute top-1/2 -translate-y-1/2 text-gray-500\",\n style: {\n right: `${scaled(8)}px`,\n fontSize: `${scaled(18)}px`\n }\n }\n ))), internalTimeFormat === \"12h\" && /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex-1\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"relative\", style: { width: `${scaled(106)}px` } }, /* @__PURE__ */ React12.createElement(\n \"select\",\n {\n value: selectedPeriod,\n onChange: (e) => setSelectedPeriod(e.target.value),\n className: \"block w-full bg-white border border-[rgba(77,175,131,0.25)] text-gray-900 font-semibold rounded-[6px] transition-all duration-200 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 appearance-none\",\n style: {\n height: `${scaled(40)}px`,\n fontSize: `${scaled(12)}px`,\n paddingLeft: `${scaled(16)}px`,\n paddingRight: `${scaled(32)}px`\n }\n },\n /* @__PURE__ */ React12.createElement(\"option\", { value: \"AM\" }, \"AM\"),\n /* @__PURE__ */ React12.createElement(\"option\", { value: \"PM\" }, \"PM\")\n ), /* @__PURE__ */ React12.createElement(\n HiChevronDown,\n {\n className: \"pointer-events-none absolute top-1/2 -translate-y-1/2 text-gray-500\",\n style: {\n right: `${scaled(8)}px`,\n fontSize: `${scaled(18)}px`\n }\n }\n ))))), /* @__PURE__ */ React12.createElement(\"div\", { style: { marginTop: `${scaled(12)}px` } }, /* @__PURE__ */ React12.createElement(\"label\", { className: \"block text-gray-700 font-semibold\", style: {\n marginBottom: `${scaled(8)}px`,\n fontSize: `${scaled(12)}px`\n } }, \"Preview\"), /* @__PURE__ */ React12.createElement(\"p\", { className: \"text-left text-[#1761A3] font-semibold\", style: { fontSize: `${scaled(12)}px` } }, formatDateWithFormat(value ?? null, internalDateFormat), \" \", formatTime(\n { hour: selectedHour, minute: selectedMinute, period: selectedPeriod },\n internalTimeFormat\n ), internalTimeZoneFormat !== \"none\" ? ` ${internalTimeZoneFormat}` : \"\"))), /* @__PURE__ */ React12.createElement(\"div\", { className: \"mt-auto border-t border-gray-200\", style: { paddingTop: `${scaled(15)}px` } }, (showTodayButton || showClearButton) && /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex\", style: {\n gap: `${scaled(12)}px`,\n marginBottom: `${scaled(15)}px`\n } }, showTodayButton && /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: selectToday,\n className: cn4(\n \"flex items-center justify-center rounded-[6px] text-[#1761A3] font-semibold bg-[rgba(23,97,163,0.15)] transition-all duration-200 hover:bg-gradient-to-b hover:from-[#1761A3] hover:to-[#4DAF83] hover:text-white\",\n showClearButton ? \"flex-1\" : \"w-full\"\n ),\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`,\n gap: `${scaled(8)}px`\n }\n },\n /* @__PURE__ */ React12.createElement(HiOutlineClock, { style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`\n } }),\n \"Current Time\"\n ), showClearButton && /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: clearDate,\n className: cn4(\n \"flex items-center justify-center rounded-[6px] text-[#EF4444] font-semibold bg-[rgba(239,68,68,0.15)] transition-all duration-200 hover:opacity-80\",\n showTodayButton ? \"flex-1\" : \"w-full\"\n ),\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`\n }\n },\n \"Clear\"\n )), /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleTimeConfirm,\n className: \"w-full rounded-[6px] bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white font-semibold transition-all duration-200 hover:opacity-90\",\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`\n }\n },\n \"Confirm Time\"\n )));\n };\n const defaultIcon = /* @__PURE__ */ React12.createElement(HiCalendarDays, { style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`\n }, className: \"text-gray-700\" });\n const calendarContent = /* @__PURE__ */ React12.createElement(\n \"div\",\n {\n ref: calendarRef,\n className: cn4(\n \"absolute left-0 z-50 border border-[#1761A3] bg-white shadow-xl transition-all duration-300 bg-gradient-to-b from-[rgba(23,97,163,0.08)] to-[rgba(77,175,131,0.08)]\",\n positionAbove ? \"bottom-full\" : \"top-full\"\n ),\n style: {\n [positionAbove ? \"marginBottom\" : \"marginTop\"]: `${scaled(8)}px`,\n width: `${scaled(406)}px`,\n height: `${scaled(526)}px`,\n borderRadius: `${scaled(22)}px`,\n maxWidth: \"95vw\"\n }\n },\n /* @__PURE__ */ React12.createElement(\"div\", { className: \"h-full flex flex-col\", style: {\n padding: `${scaled(24)}px`,\n paddingBottom: `${scaled(22)}px`\n } }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"text-left font-bold text-gray-900\", style: {\n marginBottom: `${scaled(20)}px`,\n fontSize: `${scaled(20)}px`\n } }, enableRangeSelection ? \"Select Date Range\" : \"Select Date & Time\"), enableRangeSelection ? /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex\", style: {\n marginBottom: `${scaled(24)}px`,\n gap: `${scaled(12)}px`\n } }, /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleStartFieldClick,\n className: cn4(\n \"flex flex-1 items-center rounded-[6px] bg-white border-2 border-gray-200 shadow-sm transition-all duration-200\",\n activeField === \"start\" && \"ring-2 ring-blue-500\"\n ),\n style: {\n width: `${scaled(160)}px`,\n height: `${scaled(40)}px`,\n gap: `${scaled(12)}px`,\n padding: `0 ${scaled(16)}px`\n }\n },\n defaultIcon,\n /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex flex-col items-start\" }, /* @__PURE__ */ React12.createElement(\"span\", { className: \"font-medium text-gray-500\", style: { fontSize: `${scaled(12)}px` } }, \"From Date\"), /* @__PURE__ */ React12.createElement(\"span\", { className: \"font-semibold text-gray-900\", style: { fontSize: `${scaled(14)}px` } }, rangeValue?.start ? formatDate(rangeValue.start) : \"Select date\"))\n ), /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleEndFieldClick,\n className: cn4(\n \"flex flex-1 items-center rounded-[6px] bg-white border-2 border-gray-200 shadow-sm transition-all duration-200\",\n activeField === \"end\" && \"ring-2 ring-blue-500\"\n ),\n style: {\n width: `${scaled(160)}px`,\n height: `${scaled(40)}px`,\n gap: `${scaled(12)}px`,\n padding: `0 ${scaled(16)}px`\n }\n },\n defaultIcon,\n /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex flex-col items-start\" }, /* @__PURE__ */ React12.createElement(\"span\", { className: \"font-medium text-gray-500\", style: { fontSize: `${scaled(12)}px` } }, \"To Date\"), /* @__PURE__ */ React12.createElement(\"span\", { className: \"font-semibold text-gray-900\", style: { fontSize: `${scaled(14)}px` } }, rangeValue?.end ? formatDate(rangeValue.end) : \"Select date\"))\n )) : /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex\", style: {\n marginBottom: `${scaled(24)}px`,\n gap: `${scaled(12)}px`\n } }, /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseDateClick,\n className: cn4(\n \"flex items-center rounded-[6px] shadow-sm transition-all duration-200\",\n enableTimeSelection ? \"\" : \"w-full\",\n !showTimeSelector && enableTimeSelection ? \"bg-gradient-to-b from-[#1761A3] to-[#4DAF83] text-white border-2 border-transparent\" : \"bg-white border-2 border-gray-200 text-gray-900\"\n ),\n style: {\n width: enableTimeSelection ? `${scaled(160)}px` : void 0,\n height: `${scaled(40)}px`,\n gap: `${scaled(12)}px`,\n padding: `0 ${scaled(16)}px`\n }\n },\n /* @__PURE__ */ React12.createElement(\"span\", { style: {\n color: !showTimeSelector && enableTimeSelection ? \"white\" : void 0,\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n } }, React12.cloneElement(defaultIcon, {\n style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`,\n color: !showTimeSelector && enableTimeSelection ? \"white\" : void 0\n },\n className: !showTimeSelector && enableTimeSelection ? \"text-white\" : \"text-gray-700\"\n })),\n /* @__PURE__ */ React12.createElement(\n \"span\",\n {\n className: \"font-semibold\",\n style: {\n fontSize: `${scaled(14)}px`,\n color: !showTimeSelector && enableTimeSelection ? \"white\" : \"#111827\"\n }\n },\n formatDate(value ?? null) || \"Choose Date\"\n )\n ), enableTimeSelection && /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseTimeClick,\n className: cn4(\n \"flex items-center rounded-[6px] shadow-sm transition-all duration-200\",\n showTimeSelector ? \"bg-gradient-to-b from-[#1761A3] to-[#4DAF83] text-white border-2 border-transparent\" : \"bg-white border-2 border-gray-200\"\n ),\n style: {\n width: `${scaled(160)}px`,\n height: `${scaled(40)}px`,\n gap: `${scaled(8)}px`,\n padding: `0 ${scaled(16)}px`,\n fontSize: `${scaled(14)}px`\n }\n },\n /* @__PURE__ */ React12.createElement(\n HiOutlineClock,\n {\n style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`,\n color: showTimeSelector ? \"white\" : void 0\n },\n className: showTimeSelector ? \"text-white\" : \"text-gray-700\"\n }\n ),\n /* @__PURE__ */ React12.createElement(\n \"span\",\n {\n className: \"font-semibold\",\n style: {\n color: showTimeSelector ? \"white\" : \"#374151\"\n }\n },\n timeValue ? formatTime(timeValue, internalTimeFormat) : \"Choose Time\"\n )\n )), showTimeSelector ? renderTimeSelector() : /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex flex-col h-full\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex-1\" }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex items-center justify-between\", style: { marginBottom: `${scaled(8)}px` } }, /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: previousMonth,\n className: \"flex items-center justify-center rounded-[6px] bg-[#1761A3] text-white transition-colors duration-200 hover:bg-gradient-to-b hover:from-[#1761A3] hover:to-[#4DAF83]\",\n style: {\n width: `${scaled(32)}px`,\n height: `${scaled(30)}px`\n },\n \"aria-label\": \"Previous month\"\n },\n /* @__PURE__ */ React12.createElement(\"span\", { className: \"inline-flex items-center justify-center\" }, /* @__PURE__ */ React12.createElement(HiChevronLeft, { style: {\n width: `${scaled(10)}px`,\n height: `${scaled(10)}px`\n } }))\n ), /* @__PURE__ */ React12.createElement(\"div\", { className: \"relative\" }, enableYearDropdown ? /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleMonthYearClick,\n className: \"font-bold text-[#1761A3] transition-colors duration-200 hover:opacity-80\",\n style: { fontSize: `${scaled(18)}px` }\n },\n monthName,\n \" \",\n currentYear\n ) : /* @__PURE__ */ React12.createElement(\"h2\", { className: \"font-bold text-[#1761A3]\", style: { fontSize: `${scaled(18)}px` } }, monthName, \" \", currentYear), enableYearDropdown && showYearDropdown && /* @__PURE__ */ React12.createElement(\n \"div\",\n {\n className: \"absolute left-1/2 top-full z-50 overflow-y-auto bg-white shadow-xl border border-[rgba(77,175,131,0.25)] rounded-[6px] -translate-x-1/2\",\n style: {\n marginTop: `${scaled(8)}px`,\n width: `${scaled(120)}px`,\n maxHeight: `${scaled(240)}px`\n }\n },\n Array.from({ length: 201 }, (_, i) => {\n const year = today.getFullYear() - 100 + i;\n return /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n key: year,\n type: \"button\",\n onClick: () => handleYearSelect(year),\n className: cn4(\n \"block w-full text-left font-semibold transition-colors duration-150\",\n year === currentYear ? \"bg-[#1761A3] text-white\" : \"text-gray-900 hover:bg-blue-50\"\n ),\n style: {\n fontSize: `${scaled(14)}px`,\n padding: `${scaled(8)}px ${scaled(12)}px`\n }\n },\n year\n );\n })\n )), /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: nextMonth,\n className: \"flex items-center justify-center rounded-[6px] bg-[#1761A3] text-white transition-colors duration-200 hover:bg-gradient-to-b hover:from-[#1761A3] hover:to-[#4DAF83]\",\n style: {\n width: `${scaled(32)}px`,\n height: `${scaled(30)}px`\n },\n \"aria-label\": \"Next month\"\n },\n /* @__PURE__ */ React12.createElement(\"span\", { className: \"inline-flex items-center justify-center\" }, /* @__PURE__ */ React12.createElement(HiChevronRight, { style: {\n width: `${scaled(10)}px`,\n height: `${scaled(10)}px`\n } }))\n )), /* @__PURE__ */ React12.createElement(\"div\", { style: { marginBottom: `${scaled(6)}px` } }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"grid grid-cols-7\", style: {\n gap: `${scaled(8)}px ${scaled(8)}px`\n } }, DAY_NAMES.map((day) => /* @__PURE__ */ React12.createElement(\n \"div\",\n {\n key: day,\n className: \"flex items-center justify-center font-bold text-gray-600\",\n style: {\n width: `${scaled(44)}px`,\n height: `${scaled(28)}px`,\n fontSize: `${scaled(12)}px`\n }\n },\n day\n )), renderDays()))), /* @__PURE__ */ React12.createElement(\"div\", { className: \"mt-auto border-t border-gray-200\", style: { paddingTop: `${scaled(2)}px` } }, (showTodayButton || showClearButton) && /* @__PURE__ */ React12.createElement(\"div\", { className: \"flex\", style: {\n gap: `${scaled(12)}px`,\n marginBottom: `${scaled(3)}px`\n } }, showTodayButton && /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: selectToday,\n className: cn4(\n \"flex items-center justify-center rounded-[6px] text-[#1761A3] font-semibold bg-[rgba(23,97,163,0.15)] transition-all duration-200 hover:bg-gradient-to-b hover:from-[#1761A3] hover:to-[#4DAF83] hover:text-white\",\n showClearButton ? \"flex-1\" : \"w-full\"\n ),\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`,\n gap: `${scaled(8)}px`\n }\n },\n /* @__PURE__ */ React12.createElement(HiCalendarDays, { style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`\n } }),\n \"Today\"\n ), showClearButton && /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: clearDate,\n className: cn4(\n \"flex items-center justify-center rounded-[6px] text-[#EF4444] font-semibold bg-[rgba(239,68,68,0.15)] transition-all duration-200 hover:opacity-80\",\n showTodayButton ? \"flex-1\" : \"w-full\"\n ),\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`\n }\n },\n \"Clear\"\n )), /* @__PURE__ */ React12.createElement(\n \"button\",\n {\n type: \"button\",\n onClick: handleDateConfirm,\n className: \"w-full rounded-[6px] bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white font-semibold transition-all duration-200 hover:opacity-90\",\n style: {\n height: `${scaled(38)}px`,\n fontSize: `${scaled(12)}px`\n }\n },\n \"Confirm Date\"\n ))))\n );\n return /* @__PURE__ */ React12.createElement(\"div\", { ref: containerRef, className: cn4(\"relative\", className) }, /* @__PURE__ */ React12.createElement(\"div\", { className: \"relative\" }, showIcon && /* @__PURE__ */ React12.createElement(\"div\", { className: \"pointer-events-none absolute inset-y-0 left-0 flex items-center\", style: { paddingLeft: `${scaled(12)}px` } }, icon || defaultIcon), /* @__PURE__ */ React12.createElement(\n \"input\",\n {\n type: \"text\",\n value: enableRangeSelection && rangeValue ? rangeValue.start && rangeValue.end ? `${formatDate(rangeValue.start)} - ${formatDate(rangeValue.end)}` : rangeValue.start ? `${formatDate(rangeValue.start)} - ...` : \"\" : enableTimeSelection && value && timeValue ? `${formatDate(value)} ${formatTime(timeValue, internalTimeFormat)}` : formatDate(value ?? null),\n onClick: toggleCalendar,\n readOnly: true,\n disabled,\n placeholder,\n className: cn4(\n \"block w-full rounded-full border border-gray-300 bg-gray-50 font-semibold shadow-sm text-gray-900 placeholder-gray-500 transition-colors duration-200 focus:border-blue-500 focus:ring-blue-500\",\n disabled && \"cursor-not-allowed opacity-50\"\n ),\n style: {\n paddingTop: `${scaled(10)}px`,\n paddingBottom: `${scaled(10)}px`,\n paddingLeft: showIcon ? `${scaled(40)}px` : `${scaled(12)}px`,\n paddingRight: `${scaled(12)}px`,\n fontSize: `${scaled(12)}px`\n }\n }\n )), isOpen && calendarContent);\n};\nCalendar.displayName = \"Calendar\";\n\n// src/components/Dropdown.tsx\nimport React13, { useState as useState9 } from \"react\";\nvar variantStyles = {\n basic: \"bg-blue-600 text-white hover:bg-blue-700\",\n outline: \"border border-blue-600 text-blue-600 hover:bg-blue-50\",\n pill: \"bg-blue-600 text-white rounded-full hover:bg-blue-700\",\n dark: \"bg-gray-800 text-white hover:bg-gray-700\",\n underline: \"border-b-2 border-blue-500 bg-transparent text-blue-700 hover:bg-blue-50\",\n shadow: \"bg-white text-gray-700 shadow-md hover:shadow-lg border border-gray-200\",\n glass: \"bg-white/20 backdrop-blur-md text-white border border-white/40 hover:bg-white/30\",\n gradient: \"bg-gradient-to-r from-blue-500 to-purple-500 text-white hover:opacity-90\"\n};\nvar Dropdown = ({ options, onSelect, variant = \"basic\", className = \"\" }) => {\n const [open, setOpen] = useState9(false);\n const [selected, setSelected] = useState9(null);\n const handleSelect = (option) => {\n setSelected(option);\n onSelect(option);\n setOpen(false);\n };\n return /* @__PURE__ */ React13.createElement(\"div\", { className: `relative w-56 ${className}` }, /* @__PURE__ */ React13.createElement(\n \"button\",\n {\n onClick: () => setOpen(!open),\n className: `w-full text-left px-4 py-2 rounded-md transition-all duration-200 ${variantStyles[variant]} `\n },\n selected || \"Select an option\"\n ), open && /* @__PURE__ */ React13.createElement(\"div\", { className: \"absolute mt-2 w-full bg-white border border-gray-200 rounded-md shadow-lg z-20\" }, options.map((opt, idx) => /* @__PURE__ */ React13.createElement(\n \"div\",\n {\n key: idx,\n onClick: () => handleSelect(opt),\n className: \"px-4 py-2 cursor-pointer hover:bg-gray-100 text-gray-700\"\n },\n opt\n ))));\n};\nDropdown.displayName = \"Dropdown\";\nexport {\n Button as MahatiButton,\n Calendar as MahatiCalendar,\n Card as MahatiCard,\n ChartInterface as MahatiChart,\n Dropdown as MahatiDropdown,\n FormContainer as MahatiFormContainer,\n Input as MahatiInput,\n Modal as MahatiModal,\n TabbedInterface as MahatiTabbedInterface,\n TabbedInterface2 as MahatiTabbedInterfaceTailwind,\n Table as MahatiTable,\n Table2 as MahatiTableTailwind,\n Tooltip as MahatiTooltip\n};\n"]}
|