@shival99/z-ui 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +2 -1
  2. package/fesm2022/shival99-z-ui-components-z-icon.mjs +17 -1
  3. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -1
  4. package/fesm2022/shival99-z-ui-components-z-select.mjs +50 -1
  5. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
  6. package/fesm2022/shival99-z-ui-components-z-table.mjs +123 -8
  7. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
  8. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +17 -1
  9. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -1
  10. package/fesm2022/shival99-z-ui-pipes.mjs +18 -18
  11. package/fesm2022/shival99-z-ui-pipes.mjs.map +1 -1
  12. package/fesm2022/shival99-z-ui-providers.mjs +1 -1
  13. package/fesm2022/shival99-z-ui-providers.mjs.map +1 -1
  14. package/fesm2022/shival99-z-ui-services.mjs +764 -7
  15. package/fesm2022/shival99-z-ui-services.mjs.map +1 -1
  16. package/fesm2022/shival99-z-ui-utils.mjs +47 -22
  17. package/fesm2022/shival99-z-ui-utils.mjs.map +1 -1
  18. package/package.json +2 -2
  19. package/types/shival99-z-ui-components-z-breadcrumb.d.ts +2 -2
  20. package/types/shival99-z-ui-components-z-button.d.ts +1 -1
  21. package/types/shival99-z-ui-components-z-dropdown-menu.d.ts +1 -1
  22. package/types/shival99-z-ui-components-z-filter.d.ts +1 -1
  23. package/types/shival99-z-ui-components-z-icon.d.ts +17 -1
  24. package/types/shival99-z-ui-components-z-select.d.ts +7 -4
  25. package/types/shival99-z-ui-components-z-table.d.ts +15 -4
  26. package/types/shival99-z-ui-components-z-tooltip.d.ts +1 -0
  27. package/types/shival99-z-ui-pipes.d.ts +11 -4
  28. package/types/shival99-z-ui-services.d.ts +237 -4
  29. package/types/shival99-z-ui-utils.d.ts +13 -4
@@ -6,7 +6,7 @@ import { VariantProps } from 'class-variance-authority';
6
6
 
7
7
  declare class ZIconComponent {
8
8
  readonly class: _angular_core.InputSignal<ClassValue>;
9
- readonly zType: _angular_core.InputSignal<"lucideActivity" | "lucideAlarmClock" | "lucideAlertCircle" | "lucideAlertOctagon" | "lucideAlertTriangle" | "lucideAlignJustify" | "lucideArrowDownUp" | "lucideArrowDown" | "lucideArrowLeft" | "lucideArrowRight" | "lucideArrowUp" | "lucideBadgeCheck" | "lucideBadgeInfo" | "lucideBadgeX" | "lucideBan" | "lucideBarChart3" | "lucideBarChart" | "lucideBarcode" | "lucideBellMinus" | "lucideBellRing" | "lucideBell" | "lucideBookCheck" | "lucideBookOpen" | "lucideBookUp2" | "lucideBot" | "lucideBox" | "lucideBriefcase" | "lucideBrushCleaning" | "lucideBuilding2" | "lucideBuilding" | "lucideCalculator" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideCalendarFold" | "lucideCalendarRange" | "lucideCalendar" | "lucideCar" | "lucideChartBarStacked" | "lucideChartBar" | "lucideChartColumnIncreasing" | "lucideChartColumn" | "lucideChartLine" | "lucideChartPie" | "lucideCheckCheck" | "lucideCheckCircle2" | "lucideCheckCircle" | "lucideCheckLine" | "lucideCheck" | "lucideChevronDown" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronUp" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideCircleAlert" | "lucideCircleCheckBig" | "lucideCircleCheck" | "lucideCircleDot" | "lucideCircleHelp" | "lucideCircleX" | "lucideClipboardList" | "lucideClipboardPlus" | "lucideClock" | "lucideCloudCheck" | "lucideCloud" | "lucideCode" | "lucideCog" | "lucideComponent" | "lucideCopy" | "lucideCreditCard" | "lucideCrown" | "lucideDatabaseBackup" | "lucideDatabase" | "lucideDollarSign" | "lucideDownload" | "lucideEllipsis" | "lucideEyeOff" | "lucideEye" | "lucideFastForward" | "lucideFileArchive" | "lucideFileCheck" | "lucideFileClock" | "lucideFileCode" | "lucideFileDown" | "lucideFileEdit" | "lucideFileJson" | "lucideFileOutput" | "lucideFilePenLine" | "lucideFilePlus2" | "lucideFilePlus" | "lucideFileSpreadsheet" | "lucideFileSymlink" | "lucideFileText" | "lucideFileUp" | "lucideFile" | "lucideFiles" | "lucideFilter" | "lucideFlagTriangleRight" | "lucideFlag" | "lucideFolderOpen" | "lucideFolderTree" | "lucideFolders" | "lucideFunnelX" | "lucideFunnel" | "lucideGitBranch" | "lucideGithub" | "lucideGlobe" | "lucideGraduationCap" | "lucideGrid3x3" | "lucideGripHorizontal" | "lucideGripVertical" | "lucideHardDriveDownload" | "lucideHash" | "lucideHeadphones" | "lucideHeart" | "lucideHome" | "lucideHospital" | "lucideHouse" | "lucideImage" | "lucideInbox" | "lucideInfo" | "lucideKey" | "lucideLayers2" | "lucideLayers" | "lucideLayoutDashboard" | "lucideLayoutGrid" | "lucideLayoutTemplate" | "lucideLifeBuoy" | "lucideLightbulb" | "lucideLink" | "lucideListChecks" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideListFilter" | "lucideListPlus" | "lucideList" | "lucideLoader2" | "lucideLoaderCircle" | "lucideLoader" | "lucideLockKeyholeOpen" | "lucideLockKeyhole" | "lucideLock" | "lucideLogOut" | "lucideLogs" | "lucideMailCheck" | "lucideMailPlus" | "lucideMail" | "lucideMapPin" | "lucideMegaphone" | "lucideMenu" | "lucideMessageCircleQuestion" | "lucideMessageCircle" | "lucideMessageSquareDot" | "lucideMessageSquareWarning" | "lucideMinus" | "lucideMonitor" | "lucideMoon" | "lucideMoreVertical" | "lucideMousePointer" | "lucideMusic" | "lucideNavigation" | "lucideNetwork" | "lucideNotepadText" | "lucidePackageOpen" | "lucidePackage" | "lucidePalette" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucidePanelRightOpen" | "lucidePaperclip" | "lucidePause" | "lucidePenTool" | "lucidePencil" | "lucidePhoneCall" | "lucidePhone" | "lucidePieChart" | "lucidePill" | "lucidePin" | "lucidePlus" | "lucidePrinter" | "lucideQrCode" | "lucideRadio" | "lucideRefreshCcw" | "lucideRefreshCwOff" | "lucideRocket" | "lucideSaveAll" | "lucideSave" | "lucideScanLine" | "lucideScanQrCode" | "lucideSearchX" | "lucideSearch" | "lucideSend" | "lucideServer" | "lucideSettings2" | "lucideSettings" | "lucideShieldCheck" | "lucideShield" | "lucideShoppingCart" | "lucideSlidersHorizontal" | "lucideSliders" | "lucideSmartphone" | "lucideSparkles" | "lucideSquareCheck" | "lucideSquarePen" | "lucideSquare" | "lucideStar" | "lucideStethoscope" | "lucideStore" | "lucideSun" | "lucideTable2" | "lucideTableOfContents" | "lucideTablet" | "lucideTarget" | "lucideTerminal" | "lucideTextCursor" | "lucideTimer" | "lucideToggleLeft" | "lucideTrash2" | "lucideTrendingDown" | "lucideTrendingUp" | "lucideTriangleAlert" | "lucideTruck" | "lucideType" | "lucideUploadCloud" | "lucideUpload" | "lucideUserCheck" | "lucideUserLock" | "lucideUserPlus" | "lucideUserRoundPen" | "lucideUserSearch" | "lucideUser" | "lucideUsers2" | "lucideUsersRound" | "lucideUsers" | "lucideVideo" | "lucideWallet" | "lucideWarehouse" | "lucideWifiZero" | "lucideWifi" | "lucideWorkflow" | "lucideWrench" | "lucideXCircle" | "lucideX" | "lucideZap" | "saxCloudChangeBold" | "saxPauseBold" | "saxRefreshBold" | undefined>;
9
+ readonly zType: _angular_core.InputSignal<"lucideActivity" | "lucideAlarmClock" | "lucideAlertCircle" | "lucideAlertOctagon" | "lucideAlertTriangle" | "lucideAlignJustify" | "lucideArrowDownUp" | "lucideArrowDown" | "lucideArrowLeft" | "lucideArrowRight" | "lucideArrowUp" | "lucideBadgeCheck" | "lucideBadgeInfo" | "lucideBadgeX" | "lucideBadge" | "lucideBan" | "lucideBarChart3" | "lucideBarChart" | "lucideBarcode" | "lucideBellMinus" | "lucideBellRing" | "lucideBell" | "lucideBookCheck" | "lucideBookOpen" | "lucideBookUp2" | "lucideBot" | "lucideBox" | "lucideBriefcase" | "lucideBrushCleaning" | "lucideBuilding2" | "lucideBuilding" | "lucideCalculator" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideCalendarFold" | "lucideCalendarRange" | "lucideCalendar" | "lucideCar" | "lucideChartBarStacked" | "lucideChartBar" | "lucideChartColumnIncreasing" | "lucideChartColumn" | "lucideChartLine" | "lucideChartPie" | "lucideCheckCheck" | "lucideCheckCircle2" | "lucideCheckCircle" | "lucideCheckLine" | "lucideCheck" | "lucideChevronDown" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronUp" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideCircleAlert" | "lucideCircleCheckBig" | "lucideCircleCheck" | "lucideCircleDot" | "lucideCircleHelp" | "lucideCircleX" | "lucideClipboardCopy" | "lucideClipboardList" | "lucideClipboardPen" | "lucideClipboardPlus" | "lucideClock" | "lucideCloudCheck" | "lucideCloud" | "lucideCode" | "lucideCog" | "lucideComponent" | "lucideContact" | "lucideCopy" | "lucideCreditCard" | "lucideCrown" | "lucideDatabaseBackup" | "lucideDatabase" | "lucideDollarSign" | "lucideDownload" | "lucideEllipsis" | "lucideEyeOff" | "lucideEye" | "lucideFastForward" | "lucideFileArchive" | "lucideFileCheck" | "lucideFileClock" | "lucideFileCode" | "lucideFileDown" | "lucideFileEdit" | "lucideFileJson" | "lucideFileOutput" | "lucideFilePenLine" | "lucideFilePlus2" | "lucideFilePlus" | "lucideFileSpreadsheet" | "lucideFileSymlink" | "lucideFileText" | "lucideFileUp" | "lucideFile" | "lucideFiles" | "lucideFilter" | "lucideFlagTriangleRight" | "lucideFlag" | "lucideFolderOpen" | "lucideFolderTree" | "lucideFolders" | "lucideFunnelX" | "lucideFunnel" | "lucideGitBranch" | "lucideGithub" | "lucideGlobe" | "lucideGraduationCap" | "lucideGrid3x3" | "lucideGripHorizontal" | "lucideGripVertical" | "lucideHardDriveDownload" | "lucideHash" | "lucideHeadphones" | "lucideHeart" | "lucideHome" | "lucideHospital" | "lucideHouse" | "lucideIdCard" | "lucideImage" | "lucideInbox" | "lucideInfo" | "lucideKey" | "lucideLayers2" | "lucideLayers" | "lucideLayoutDashboard" | "lucideLayoutGrid" | "lucideLayoutTemplate" | "lucideLifeBuoy" | "lucideLightbulb" | "lucideLink" | "lucideListChecks" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideListFilter" | "lucideListPlus" | "lucideList" | "lucideLoader2" | "lucideLoaderCircle" | "lucideLoader" | "lucideLockKeyholeOpen" | "lucideLockKeyhole" | "lucideLock" | "lucideLogOut" | "lucideLogs" | "lucideMailCheck" | "lucideMailPlus" | "lucideMail" | "lucideMapPin" | "lucideMegaphone" | "lucideMenu" | "lucideMessageCircleQuestion" | "lucideMessageCircle" | "lucideMessageSquareDot" | "lucideMessageSquareWarning" | "lucideMinus" | "lucideMonitor" | "lucideMoon" | "lucideMoreVertical" | "lucideMousePointer" | "lucideMusic" | "lucideNavigation" | "lucideNetwork" | "lucideNotepadText" | "lucidePackageCheck" | "lucidePackageOpen" | "lucidePackage" | "lucidePalette" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucidePanelRightOpen" | "lucidePaperclip" | "lucidePause" | "lucidePenTool" | "lucidePencil" | "lucidePercent" | "lucidePhoneCall" | "lucidePhone" | "lucidePieChart" | "lucidePill" | "lucidePin" | "lucidePlus" | "lucidePrinter" | "lucideQrCode" | "lucideRadio" | "lucideReceipt" | "lucideRecycle" | "lucideRefreshCcw" | "lucideRefreshCwOff" | "lucideRocket" | "lucideSaveAll" | "lucideSave" | "lucideScanLine" | "lucideScanQrCode" | "lucideSearchX" | "lucideSearch" | "lucideSend" | "lucideServer" | "lucideSettings2" | "lucideSettings" | "lucideShieldCheck" | "lucideShield" | "lucideShoppingBag" | "lucideShoppingCart" | "lucideSlidersHorizontal" | "lucideSliders" | "lucideSmartphone" | "lucideSparkles" | "lucideSquareCheck" | "lucideSquarePen" | "lucideSquare" | "lucideStar" | "lucideStethoscope" | "lucideStore" | "lucideSun" | "lucideTable2" | "lucideTableOfContents" | "lucideTablet" | "lucideTag" | "lucideTags" | "lucideTarget" | "lucideTerminal" | "lucideTextCursor" | "lucideTicket" | "lucideTimer" | "lucideToggleLeft" | "lucideTrash2" | "lucideTrendingDown" | "lucideTrendingUp" | "lucideTriangleAlert" | "lucideTruck" | "lucideType" | "lucideUploadCloud" | "lucideUpload" | "lucideUserCheck" | "lucideUserLock" | "lucideUserPlus" | "lucideUserRoundPen" | "lucideUserSearch" | "lucideUser" | "lucideUsers2" | "lucideUsersRound" | "lucideUsers" | "lucideVideo" | "lucideWallet" | "lucideWand2" | "lucideWarehouse" | "lucideWifiZero" | "lucideWifi" | "lucideWorkflow" | "lucideWrench" | "lucideXCircle" | "lucideX" | "lucideZap" | "lucideZoomIn" | "lucideZoomOut" | "saxCloudChangeBold" | "saxPauseBold" | "saxRefreshBold" | undefined>;
10
10
  readonly zSize: _angular_core.InputSignal<"10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | null | undefined>;
11
11
  readonly zStrokeWidth: _angular_core.InputSignal<number>;
12
12
  readonly zSvg: _angular_core.InputSignal<string>;
@@ -263,6 +263,22 @@ declare const Z_ICONS: {
263
263
  readonly lucideBan: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M4.929 4.929 19.07 19.071\"></path><circle cx=\"12\" cy=\"12\" r=\"10\"></circle></svg>";
264
264
  readonly lucideBuilding: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M12 10h.01\"></path><path d=\"M12 14h.01\"></path><path d=\"M12 6h.01\"></path><path d=\"M16 10h.01\"></path><path d=\"M16 14h.01\"></path><path d=\"M16 6h.01\"></path><path d=\"M8 10h.01\"></path><path d=\"M8 14h.01\"></path><path d=\"M8 6h.01\"></path><path d=\"M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3\"></path><rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\"></rect></svg>";
265
265
  readonly lucideType: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M12 4v16\"></path><path d=\"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\"></path><path d=\"M9 20h6\"></path></svg>";
266
+ readonly lucidePercent: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><line x1=\"19\" x2=\"5\" y1=\"5\" y2=\"19\"></line><circle cx=\"6.5\" cy=\"6.5\" r=\"2.5\"></circle><circle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"></circle></svg>";
267
+ readonly lucideReceipt: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z\"></path><path d=\"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8\"></path><path d=\"M12 17.5v-11\"></path></svg>";
268
+ readonly lucideClipboardPen: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\"></rect><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5\"></path><path d=\"M4 13.5V6a2 2 0 0 1 2-2h2\"></path><path d=\"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"></path></svg>";
269
+ readonly lucidePackageCheck: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"m16 16 2 2 4-4\"></path><path d=\"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14\"></path><path d=\"m7.5 4.27 9 5.15\"></path><polyline points=\"3.29 7 12 12 20.71 7\"></polyline><line x1=\"12\" x2=\"12\" y1=\"22\" y2=\"12\"></line></svg>";
270
+ readonly lucideShoppingBag: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M16 10a4 4 0 0 1-8 0\"></path><path d=\"M3.103 6.034h17.794\"></path><path d=\"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z\"></path></svg>";
271
+ readonly lucideTag: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\"></path><circle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"></circle></svg>";
272
+ readonly lucideTags: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z\"></path><path d=\"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193\"></path><circle cx=\"10.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"></circle></svg>";
273
+ readonly lucideTicket: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z\"></path><path d=\"M13 5v2\"></path><path d=\"M13 17v2\"></path><path d=\"M13 11v2\"></path></svg>";
274
+ readonly lucideWand2: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\"></path><path d=\"m14 7 3 3\"></path><path d=\"M5 6v4\"></path><path d=\"M19 14v4\"></path><path d=\"M10 2v2\"></path><path d=\"M7 8H3\"></path><path d=\"M21 16h-4\"></path><path d=\"M11 3H9\"></path></svg>";
275
+ readonly lucideZoomIn: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" x2=\"16.65\" y1=\"21\" y2=\"16.65\"></line><line x1=\"11\" x2=\"11\" y1=\"8\" y2=\"14\"></line><line x1=\"8\" x2=\"14\" y1=\"11\" y2=\"11\"></line></svg>";
276
+ readonly lucideZoomOut: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" x2=\"16.65\" y1=\"21\" y2=\"16.65\"></line><line x1=\"8\" x2=\"14\" y1=\"11\" y2=\"11\"></line></svg>";
277
+ readonly lucideBadge: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"></path></svg>";
278
+ readonly lucideClipboardCopy: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"></rect><path d=\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2\"></path><path d=\"M16 4h2a2 2 0 0 1 2 2v4\"></path><path d=\"M21 14H11\"></path><path d=\"m15 10-4 4 4 4\"></path></svg>";
279
+ readonly lucideContact: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M16 2v2\"></path><path d=\"M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2\"></path><path d=\"M8 2v2\"></path><circle cx=\"12\" cy=\"11\" r=\"3\"></circle><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect></svg>";
280
+ readonly lucideIdCard: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M16 10h2\"></path><path d=\"M16 14h2\"></path><path d=\"M6.17 15a3 3 0 0 1 5.66 0\"></path><circle cx=\"9\" cy=\"11\" r=\"2\"></circle><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"></rect></svg>";
281
+ readonly lucideRecycle: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5\"></path><path d=\"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12\"></path><path d=\"m14 16-3 3 3 3\"></path><path d=\"M8.293 13.596 7.196 9.5 3.1 10.598\"></path><path d=\"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843\"></path><path d=\"m13.378 9.633 4.096 1.098 1.097-4.096\"></path></svg>";
266
282
  };
267
283
  declare type ZIcon = keyof typeof Z_ICONS;
268
284
 
@@ -1,4 +1,4 @@
1
- import * as _tanstack_angular_virtual from '@tanstack/angular-virtual';
1
+ import * as _shival99_angular_virtual from '@shival99/angular-virtual';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { TemplateRef, Signal, OnInit, ElementRef, PipeTransform } from '@angular/core';
4
4
  import { ControlValueAccessor } from '@angular/forms';
@@ -89,7 +89,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
89
89
  readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
90
90
  readonly zReadonly: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
91
91
  readonly zLoading: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
92
- readonly zPrefix: _angular_core.InputSignal<"" | "lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType">;
92
+ readonly zPrefix: _angular_core.InputSignal<"" | "lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle">;
93
93
  readonly zAllowClear: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
94
94
  readonly zWrap: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
95
95
  readonly zShowSearch: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
@@ -97,7 +97,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
97
97
  readonly zDebounce: _angular_core.InputSignal<number>;
98
98
  readonly zNotFoundText: _angular_core.InputSignal<string>;
99
99
  readonly zEmptyText: _angular_core.InputSignal<string>;
100
- readonly zEmptyIcon: _angular_core.InputSignal<"lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType">;
100
+ readonly zEmptyIcon: _angular_core.InputSignal<"lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle">;
101
101
  readonly zMaxTagCount: _angular_core.InputSignal<number>;
102
102
  readonly zDropdownMaxHeight: _angular_core.InputSignal<number>;
103
103
  readonly zOptionHeight: _angular_core.InputSignal<number>;
@@ -137,8 +137,9 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
137
137
  private readonly _searchSubject;
138
138
  private _loadMoreObserver;
139
139
  private readonly _allKnownOptions;
140
+ private _virtualScrollListener;
140
141
  private readonly _optionGap;
141
- protected readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
142
+ protected readonly virtualizer: _shival99_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
142
143
  private readonly _value;
143
144
  protected readonly currentValue: _angular_core.Signal<T | T[] | null>;
144
145
  private readonly _disabled;
@@ -200,6 +201,8 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
200
201
  protected checkScrollShadow(): void;
201
202
  private _setupLoadMoreObserver;
202
203
  private _cleanupLoadMoreObserver;
204
+ private _setupVirtualScrollLoadMore;
205
+ private _cleanupVirtualScrollListener;
203
206
  protected selectOption(option: ZSelectOption<T>, closeFn?: () => void): void;
204
207
  protected removeOption(event: MouseEvent, option: ZSelectOption<T>): void;
205
208
  protected clearAll(event: MouseEvent): void;
@@ -1,4 +1,4 @@
1
- import * as _tanstack_angular_virtual from '@tanstack/angular-virtual';
1
+ import * as _shival99_angular_virtual from '@shival99/angular-virtual';
2
2
  import * as _tanstack_angular_table from '@tanstack/angular-table';
3
3
  import { RowData, HeaderContext, CellContext, Row, ColumnPinningState, RowPinningState, SortingState, ColumnFiltersState, ExpandedState, RowSelectionState, VisibilityState, PaginationState, ColumnOrderState, createAngularTable, Column, Table, ColumnDef } from '@tanstack/angular-table';
4
4
  import * as _angular_core from '@angular/core';
@@ -118,6 +118,7 @@ interface ZTableColumnConfig<T> {
118
118
  enableResizing?: boolean;
119
119
  enablePinning?: boolean;
120
120
  enableHiding?: boolean;
121
+ enableOrdering?: boolean;
121
122
  pinned?: 'left' | 'right' | false;
122
123
  columns?: ZTableColumnConfig<T>[];
123
124
  }
@@ -260,6 +261,7 @@ interface ZTableConfig<T> {
260
261
  enableSearch?: boolean;
261
262
  enablePagination?: boolean;
262
263
  enableColumnPinning?: boolean;
264
+ enableColumnOrdering?: boolean;
263
265
  pagination?: ZTablePaginationConfig;
264
266
  initialState?: ZTableInitialState;
265
267
  loading?: boolean;
@@ -272,6 +274,7 @@ interface ZTableConfig<T> {
272
274
  maxHeight?: string;
273
275
  minHeight?: string;
274
276
  debounceTime?: number;
277
+ useSkeleton?: boolean;
275
278
  }
276
279
  declare module '@tanstack/angular-table' {
277
280
  interface TableMeta<TData extends RowData> {
@@ -355,6 +358,8 @@ declare class ZTableComponent<T> implements AfterViewInit {
355
358
  protected readonly totalWidth: _angular_core.Signal<number>;
356
359
  protected readonly shouldHeaderShowShadow: _angular_core.Signal<boolean>;
357
360
  protected readonly shouldFooterShowShadow: _angular_core.Signal<boolean>;
361
+ protected readonly skeletonRowCount: _angular_core.Signal<number>;
362
+ protected readonly skeletonRows: _angular_core.Signal<number[]>;
358
363
  protected readonly dynamicGroupRows: _angular_core.Signal<Row<T>[][]>;
359
364
  protected readonly dynamicGroupHeights: _angular_core.Signal<any[]>;
360
365
  protected readonly columnSizing: _angular_core.Signal<_tanstack_angular_table.ColumnSizingState>;
@@ -362,7 +367,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
362
367
  protected readonly columnSizeVars: _angular_core.Signal<Record<string, number>>;
363
368
  protected readonly table: ReturnType<typeof createAngularTable<T>>;
364
369
  private readonly _virtualGroupCount;
365
- protected readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
370
+ protected readonly virtualizer: _shival99_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
366
371
  constructor();
367
372
  ngAfterViewInit(): void;
368
373
  private _handleRowSelectionWithParents;
@@ -389,6 +394,10 @@ declare class ZTableComponent<T> implements AfterViewInit {
389
394
  onToggleColumnVisibility(columnId: string): void;
390
395
  onToggleColumnPin(columnId: string, position: 'left' | 'right'): void;
391
396
  handleColumnPin(columnId: string, position: 'left' | 'right' | false): void;
397
+ moveColumnLeft(columnId: string): void;
398
+ moveColumnRight(columnId: string): void;
399
+ isFirstMovableColumn(columnId: string): boolean;
400
+ isLastMovableColumn(columnId: string): boolean;
392
401
  private _saveConfig;
393
402
  private _loadConfig;
394
403
  private _findColumnConfig;
@@ -426,11 +435,13 @@ declare class ZTableFilterComponent<T> implements OnDestroy {
426
435
  declare class ZTableIconTextComponent {
427
436
  readonly zText: _angular_core.InputSignal<string>;
428
437
  readonly zTooltip: _angular_core.InputSignal<string | ZTooltipConfig>;
429
- protected readonly hostEl: any;
438
+ readonly zTriggerElement: _angular_core.InputSignal<HTMLElement | null>;
439
+ private readonly _hostEl;
440
+ protected readonly triggerEl: _angular_core.Signal<any>;
430
441
  protected readonly parts: _angular_core.Signal<ZTableIconPart[]>;
431
442
  protected readonly tooltipContent: _angular_core.Signal<string>;
432
443
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableIconTextComponent, never>;
433
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableIconTextComponent, "z-table-icon-text", never, { "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zTooltip": { "alias": "zTooltip"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
444
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableIconTextComponent, "z-table-icon-text", never, { "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zTooltip": { "alias": "zTooltip"; "required": false; "isSignal": true; }; "zTriggerElement": { "alias": "zTriggerElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
434
445
  }
435
446
 
436
447
  declare const isHeaderConfig: <T>(config: ZTableHeaderColumnConfig<T> | ZTableHeaderContent<T> | undefined) => config is ZTableHeaderColumnConfig<T>;
@@ -64,6 +64,7 @@ declare class ZTooltipDirective implements OnInit, OnDestroy {
64
64
  ngOnDestroy(): void;
65
65
  show(): void;
66
66
  private _isTextTruncated;
67
+ private _isElementTruncated;
67
68
  hide(): void;
68
69
  toggle(): void;
69
70
  private _createOverlay;
@@ -1,15 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { PipeTransform, TemplateRef } from '@angular/core';
3
+ import { ZCapitalizeType as ZCapitalizeType$1, ZFormatNumOptions } from '@shival99/z-ui/utils';
3
4
  import { SafeHtml } from '@angular/platform-browser';
4
5
 
5
- type ZCapitalizeType = 'all' | 'first' | 'sentence';
6
-
7
6
  declare class ZCapitalizePipe implements PipeTransform {
8
- transform(value: string | null | undefined, type?: ZCapitalizeType): string;
7
+ transform(value: string | null | undefined, type?: ZCapitalizeType$1): string;
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ZCapitalizePipe, never>;
10
9
  static ɵpipe: i0.ɵɵPipeDeclaration<ZCapitalizePipe, "zCapitalize", true>;
11
10
  }
12
11
 
12
+ type ZCapitalizeType = 'all' | 'first' | 'sentence';
13
+
13
14
  type Z_CONTENT_TYPE = 'string' | 'html' | 'template';
14
15
 
15
16
  declare class ZContentTypePipe implements PipeTransform {
@@ -19,6 +20,12 @@ declare class ZContentTypePipe implements PipeTransform {
19
20
  static ɵpipe: i0.ɵɵPipeDeclaration<ZContentTypePipe, "zContentType", true>;
20
21
  }
21
22
 
23
+ declare class ZFormatNumPipe implements PipeTransform {
24
+ transform(value: unknown, options?: ZFormatNumOptions): string;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZFormatNumPipe, never>;
26
+ static ɵpipe: i0.ɵɵPipeDeclaration<ZFormatNumPipe, "zFormatNum", true>;
27
+ }
28
+
22
29
  declare class ZHighlightPipe implements PipeTransform {
23
30
  transform(value: string, searchText: string, klass?: string): string;
24
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ZHighlightPipe, never>;
@@ -32,5 +39,5 @@ declare class ZSafeHtmlPipe implements PipeTransform {
32
39
  static ɵpipe: i0.ɵɵPipeDeclaration<ZSafeHtmlPipe, "zSafeHtml", true>;
33
40
  }
34
41
 
35
- export { ZCapitalizePipe, ZContentTypePipe, ZHighlightPipe, ZSafeHtmlPipe };
42
+ export { ZCapitalizePipe, ZContentTypePipe, ZFormatNumPipe, ZHighlightPipe, ZSafeHtmlPipe };
36
43
  export type { ZCapitalizeType, Z_CONTENT_TYPE };
@@ -1,8 +1,9 @@
1
+ import { ZFormatNumExcelOptions } from '@shival99/z-ui/utils';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken } from '@angular/core';
1
4
  import { HttpHeaders, HttpContext, HttpParams, HttpClient } from '@angular/common/http';
2
5
  import { Router } from '@angular/router';
3
6
  import { Observable } from 'rxjs';
4
- import * as i0 from '@angular/core';
5
- import { InjectionToken } from '@angular/core';
6
7
  import { TranslationObject, TranslateService } from '@ngx-translate/core';
7
8
 
8
9
  interface ZCacheEntry<T = unknown> {
@@ -67,6 +68,182 @@ declare class ZCacheService {
67
68
  static keys(): string[];
68
69
  }
69
70
 
71
+ type ZExcelAlign = 'left' | 'center' | 'right';
72
+ interface ZExcelTableColumnConfig<T = unknown> {
73
+ id: string;
74
+ visible?: boolean | (() => boolean);
75
+ accessorKey?: keyof T & string;
76
+ accessorFn?: (row: T) => unknown;
77
+ header?: string | {
78
+ content?: string | (() => string);
79
+ align?: ZExcelAlign;
80
+ };
81
+ size?: number;
82
+ columns?: ZExcelTableColumnConfig<T>[];
83
+ }
84
+ interface ZExcelTableHeaderConfig {
85
+ content?: string | (() => string);
86
+ class?: string;
87
+ style?: Record<string, string>;
88
+ align?: string;
89
+ tooltip?: string | object;
90
+ rowSpan?: number;
91
+ colSpan?: number;
92
+ }
93
+ interface ZExcelCell {
94
+ value: unknown;
95
+ font?: {
96
+ name?: string;
97
+ size?: number;
98
+ bold?: boolean;
99
+ italic?: boolean;
100
+ color?: {
101
+ argb?: string;
102
+ };
103
+ };
104
+ fill?: {
105
+ type?: string;
106
+ pattern?: string;
107
+ fgColor?: {
108
+ argb?: string;
109
+ };
110
+ };
111
+ alignment?: {
112
+ horizontal?: 'left' | 'center' | 'right';
113
+ vertical?: 'top' | 'middle' | 'bottom';
114
+ wrapText?: boolean;
115
+ };
116
+ border?: {
117
+ top?: {
118
+ style?: string;
119
+ };
120
+ left?: {
121
+ style?: string;
122
+ };
123
+ bottom?: {
124
+ style?: string;
125
+ };
126
+ right?: {
127
+ style?: string;
128
+ };
129
+ };
130
+ note?: string;
131
+ numFmt?: string;
132
+ }
133
+ interface ZExcelCellContext<T> {
134
+ row: T;
135
+ rowIndex: number;
136
+ data: T[];
137
+ cell: ZExcelCell;
138
+ }
139
+ interface ZExcelHeaderContext {
140
+ colIndex: number;
141
+ cell: ZExcelCell;
142
+ }
143
+ interface ZExcelColumnConfig<T = unknown> {
144
+ id: string;
145
+ header?: string;
146
+ accessorKey?: keyof T & string;
147
+ accessorFn?: (row: T, rowIndex: number, data: T[]) => unknown;
148
+ width?: number;
149
+ autoFit?: boolean;
150
+ align?: ZExcelAlign;
151
+ headerAlign?: ZExcelAlign;
152
+ rowSpan?: number | ((row: T, rowIndex: number, data: T[]) => number);
153
+ colSpan?: number | ((row: T, rowIndex: number, data: T[]) => number);
154
+ headerRowSpan?: number;
155
+ headerColSpan?: number;
156
+ format?: (context: ZExcelCellContext<T>) => void;
157
+ formatNum?: ZFormatNumExcelOptions;
158
+ formatHeader?: (cell: ZExcelCell) => void;
159
+ note?: (row: T, rowIndex: number, data: T[]) => string | undefined;
160
+ columns?: ZExcelColumnConfig<T>[];
161
+ visible?: boolean;
162
+ }
163
+ interface ZExcelSheetSource<T = unknown> {
164
+ sheetName?: string;
165
+ data: T[];
166
+ }
167
+ interface ZExcelConfig<T = unknown> {
168
+ fileName?: string;
169
+ columns: ZExcelColumnConfig<T>[];
170
+ source: ZExcelSheetSource<T>[];
171
+ }
172
+ interface ZExcelToastHandler {
173
+ success?: (message: string) => void;
174
+ error?: (message: string) => void;
175
+ }
176
+ interface ZExcelExportOptions {
177
+ addTimestamp?: boolean;
178
+ showNotification?: boolean;
179
+ /**
180
+ * Optional toast handler for showing success/error notifications.
181
+ * If not provided, no notifications will be shown.
182
+ */
183
+ toast?: ZExcelToastHandler;
184
+ }
185
+ interface ZExcelExportResult {
186
+ buffer: ArrayBuffer;
187
+ fileName: string;
188
+ }
189
+ interface ZExcelFontConfig {
190
+ name: string;
191
+ size: number;
192
+ bold?: boolean;
193
+ }
194
+ interface ZExcelHeaderColors {
195
+ level0: string;
196
+ level1: string;
197
+ [key: string]: string;
198
+ }
199
+ interface ZExcelDefaultConfig {
200
+ font: ZExcelFontConfig;
201
+ headerFont: ZExcelFontConfig;
202
+ headerColors: ZExcelHeaderColors;
203
+ }
204
+ type ZTableToExcelColumn<T> = Omit<ZExcelColumnConfig<T>, 'header'> & {
205
+ header?: string | ((col: ZExcelTableColumnConfig<T>) => string);
206
+ };
207
+ interface ZExcelFromTableConfig<T = unknown> {
208
+ fileName?: string;
209
+ tableColumns: ZExcelTableColumnConfig<T>[];
210
+ excelOverrides?: Partial<Record<string, Partial<ZExcelColumnConfig<T>>>>;
211
+ source: ZExcelSheetSource<T>[];
212
+ excludeColumns?: string[];
213
+ headerResolver?: (col: ZExcelTableColumnConfig<T>) => string;
214
+ }
215
+
216
+ declare class ZExcelService {
217
+ private static _isHeaderConfig;
218
+ private static _getHeaderConfig;
219
+ exportExcel<T = unknown>(config: ZExcelConfig<T>, options?: ZExcelExportOptions): Promise<void>;
220
+ exportFromTable<T = unknown>(config: ZExcelFromTableConfig<T>, options?: ZExcelExportOptions): Promise<void>;
221
+ exportFromElement(elementId: string, fileName?: string, options?: ZExcelExportOptions): Promise<void>;
222
+ exportFromElementXlsx(elementId: string, fileName?: string, options?: ZExcelExportOptions): Promise<void>;
223
+ static exportExcelStatic<T = unknown>(config: ZExcelConfig<T>): Promise<ZExcelExportResult>;
224
+ static exportFromElementStatic(elementId: string, fileName?: string): Promise<ZExcelExportResult>;
225
+ private _saveFile;
226
+ private _convertTableColumnsToExcel;
227
+ private static _flattenColumns;
228
+ private static _calculateHeaderLevels;
229
+ private static _createHeaderRows;
230
+ private static _buildHeaderStructure;
231
+ private static _getLeafCount;
232
+ private static _getCellValue;
233
+ private static _processMergeRegions;
234
+ private static _applyAutoFitWidth;
235
+ private static _applyAutoFitWidthForTable;
236
+ private static _calculateCellWidth;
237
+ private static _processTableElement;
238
+ private static _parseContentValue;
239
+ private static _applyCellFormatFromHTML;
240
+ private static _getExcelAlignment;
241
+ private static _getExcelVerticalAlignment;
242
+ private static _formatTimestamp;
243
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZExcelService, never>;
244
+ static ɵprov: i0.ɵɵInjectableDeclaration<ZExcelService>;
245
+ }
246
+
70
247
  type ZHttpParamsType<T> = {
71
248
  [K in keyof T]: string | number | boolean | ReadonlyArray<string | number | boolean>;
72
249
  };
@@ -397,6 +574,62 @@ declare class ZThemeService {
397
574
  static ɵprov: i0.ɵɵInjectableDeclaration<ZThemeService>;
398
575
  }
399
576
 
577
+ declare const Z_EXCEL_COLORS: {
578
+ readonly 'green-50': "FFF0FDF4";
579
+ readonly 'green-100': "FFDCFCE7";
580
+ readonly 'green-200': "FFBBF7D0";
581
+ readonly 'green-300': "FF86EFAC";
582
+ readonly 'green-400': "FF4ADE80";
583
+ readonly 'green-500': "FF22C55E";
584
+ readonly 'blue-50': "FFEFF6FF";
585
+ readonly 'blue-100': "FFDBEAFE";
586
+ readonly 'blue-200': "FFBFDBFE";
587
+ readonly 'blue-300': "FF93C5FD";
588
+ readonly 'blue-400': "FF60A5FA";
589
+ readonly 'blue-500': "FF3B82F6";
590
+ readonly 'gray-50': "FFF9FAFB";
591
+ readonly 'gray-100': "FFF3F4F6";
592
+ readonly 'gray-200': "FFE5E7EB";
593
+ readonly 'gray-300': "FFD1D5DB";
594
+ readonly 'gray-400': "FF9CA3AF";
595
+ readonly 'gray-500': "FF6B7280";
596
+ readonly 'yellow-50': "FFFFFBEB";
597
+ readonly 'yellow-100': "FFFEF3C7";
598
+ readonly 'yellow-200': "FFFDE68A";
599
+ readonly 'yellow-300': "FFFCD34D";
600
+ readonly 'red-50': "FFFEF2F2";
601
+ readonly 'red-100': "FFFEE2E2";
602
+ readonly 'red-200': "FFFECACA";
603
+ readonly 'red-300': "FFFCA5A5";
604
+ readonly white: "FFFFFFFF";
605
+ readonly black: "FF000000";
606
+ readonly transparent: "00000000";
607
+ };
608
+ declare const Z_EXCEL_DEFAULT_CONFIG: ZExcelDefaultConfig;
609
+ declare const Z_EXCEL_BORDER_THIN: {
610
+ top: {
611
+ style: "thin";
612
+ };
613
+ left: {
614
+ style: "thin";
615
+ };
616
+ bottom: {
617
+ style: "thin";
618
+ };
619
+ right: {
620
+ style: "thin";
621
+ };
622
+ };
623
+ declare const Z_EXCEL_CHAR_WIDTH_MAP: Record<string, number>;
624
+ declare const Z_EXCEL_FONT_MULTIPLIERS: Record<string, number>;
625
+ declare const Z_EXCEL_WIDTH_LIMITS: {
626
+ min: number;
627
+ max: number;
628
+ tableMin: number;
629
+ tableMax: number;
630
+ default: number;
631
+ };
632
+
400
633
  interface ZTranslateConfig {
401
634
  /** Default language */
402
635
  defaultLang?: string;
@@ -412,5 +645,5 @@ interface ZTranslateI18nConfig {
412
645
  availableLangs?: string[];
413
646
  }
414
647
 
415
- export { ZCacheService, ZHttpAbstractService, ZIndexDbService, ZSubjectService, ZThemeService, ZTranslateService, Z_DARK_MODE_CACHE_KEY, Z_DEFAULT_THEME, Z_THEME_CACHE_KEY, Z_THEME_CONFIG, Z_THEME_CSS_MAP };
416
- export type { ZCacheConfig, ZCacheEntry, ZHttpBaseOptions, ZHttpCacheEntry, ZHttpConfig, ZHttpContentType, ZHttpError, ZHttpNetworkCheck, ZHttpOptions, ZHttpParamsType, ZIndexDbConfig, ZIndexDbStoreConfig, ZThemeConfig, ZThemeName, ZTranslateConfig, ZTranslateI18nConfig };
648
+ export { ZCacheService, ZExcelService, ZHttpAbstractService, ZIndexDbService, ZSubjectService, ZThemeService, ZTranslateService, Z_DARK_MODE_CACHE_KEY, Z_DEFAULT_THEME, Z_EXCEL_BORDER_THIN, Z_EXCEL_CHAR_WIDTH_MAP, Z_EXCEL_COLORS, Z_EXCEL_DEFAULT_CONFIG, Z_EXCEL_FONT_MULTIPLIERS, Z_EXCEL_WIDTH_LIMITS, Z_THEME_CACHE_KEY, Z_THEME_CONFIG, Z_THEME_CSS_MAP };
649
+ export type { ZCacheConfig, ZCacheEntry, ZExcelAlign, ZExcelCell, ZExcelCellContext, ZExcelColumnConfig, ZExcelConfig, ZExcelDefaultConfig, ZExcelExportOptions, ZExcelExportResult, ZExcelFontConfig, ZExcelFromTableConfig, ZExcelHeaderColors, ZExcelHeaderContext, ZExcelSheetSource, ZExcelTableColumnConfig, ZExcelTableHeaderConfig, ZExcelToastHandler, ZHttpBaseOptions, ZHttpCacheEntry, ZHttpConfig, ZHttpContentType, ZHttpError, ZHttpNetworkCheck, ZHttpOptions, ZHttpParamsType, ZIndexDbConfig, ZIndexDbStoreConfig, ZTableToExcelColumn, ZThemeConfig, ZThemeName, ZTranslateConfig, ZTranslateI18nConfig };
@@ -1,5 +1,6 @@
1
1
  import { WritableSignal } from '@angular/core';
2
2
  import { ClassValue } from 'clsx';
3
+ import * as ExcelJS from 'exceljs';
3
4
  import { Observable } from 'rxjs';
4
5
  import { FormGroup, FormArray } from '@angular/forms';
5
6
 
@@ -33,20 +34,28 @@ interface ZFormatNumOptions {
33
34
  locale?: 'vi' | 'en';
34
35
  placeholder?: string;
35
36
  }
37
+ declare const Z_EXCEL_NUMBER_FORMAT_MAP: Record<string, string>;
38
+ interface ZFormatNumExcelOptions {
39
+ divide?: ZNumberDivide;
40
+ format?: string;
41
+ percent?: boolean;
42
+ emptyCheck?: ZEmptyCheck;
43
+ }
36
44
  declare global {
37
45
  interface Navigator {
38
46
  userAgentData?: ZNavigatorUAData;
39
47
  }
40
48
  }
49
+ type ZCapitalizeType = 'all' | 'sentence' | 'first';
41
50
 
42
51
  declare const zMergeClasses: (...inputs: ClassValue[]) => string;
43
52
  declare const zTransform: (value: boolean | string) => boolean;
44
53
  declare const zGenerateId: (prefix?: string) => string;
45
54
  declare const zNoop: () => undefined;
46
55
  declare const zFormatNum: (value: unknown, options?: ZFormatNumOptions) => string;
56
+ declare const zFormatNumExcel: (cell: ExcelJS.Cell | undefined, value: unknown, options?: ZFormatNumExcelOptions) => number | undefined;
47
57
  declare const zUuid: () => string;
48
- declare const zCapitalCase: (text: string) => string;
49
- declare const zIsTextTruncated: (el: HTMLElement) => Promise<boolean>;
58
+ declare const zCapitalCase: (text: string, type?: ZCapitalizeType) => string;
50
59
  declare const zDecodeUnicode: (str: string) => string;
51
60
  declare const zRandomColor: () => {
52
61
  hex: string;
@@ -106,5 +115,5 @@ interface ZFormDebugOptions {
106
115
  logLevel?: 'error' | 'warn' | 'log';
107
116
  }
108
117
 
109
- export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_LOCALE_MAP, debugFormInvalid, submitForm, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zGenerateId, zIsTextTruncated, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zSubmitForm, zTransform, zTreeBuild, zTreeFlatten, zUuid };
110
- export type { ZBrowserInfo, ZBrowserName, ZDeviceType, ZEchartsThemeOptions, ZEmptyCheck, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumOptions, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide };
118
+ export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, debugFormInvalid, submitForm, zCapitalCase, zCleanObject, zConvertColorToArgb, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zGenerateId, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zSubmitForm, zTransform, zTreeBuild, zTreeFlatten, zUuid };
119
+ export type { ZBrowserInfo, ZBrowserName, ZCapitalizeType, ZDeviceType, ZEchartsThemeOptions, ZEmptyCheck, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumExcelOptions, ZFormatNumOptions, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide };