@shival99/z-ui 0.0.1 → 1.0.2

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 (114) hide show
  1. package/assets/css/animations.css +207 -0
  2. package/assets/css/base.css +76 -0
  3. package/assets/css/tailwind.css +53 -0
  4. package/assets/css/themes/gray.css +73 -0
  5. package/assets/css/themes/green.css +75 -0
  6. package/assets/css/themes/hospital.css +79 -0
  7. package/assets/css/themes/neutral.css +73 -0
  8. package/assets/css/themes/orange.css +73 -0
  9. package/assets/css/themes/slate.css +73 -0
  10. package/assets/css/themes/stone.css +73 -0
  11. package/assets/css/themes/violet.css +73 -0
  12. package/assets/css/themes/zinc.css +73 -0
  13. package/assets/images/avatar.svg +6 -0
  14. package/assets/images/logo.svg +6 -0
  15. package/fesm2022/shival99-z-ui-components-z-accordion.mjs +148 -0
  16. package/fesm2022/shival99-z-ui-components-z-accordion.mjs.map +1 -0
  17. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs +74 -0
  18. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs.map +1 -0
  19. package/fesm2022/shival99-z-ui-components-z-button.mjs +155 -0
  20. package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -0
  21. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +2335 -0
  22. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -0
  23. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs +240 -0
  24. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs.map +1 -0
  25. package/fesm2022/shival99-z-ui-components-z-code.mjs +139 -0
  26. package/fesm2022/shival99-z-ui-components-z-code.mjs.map +1 -0
  27. package/fesm2022/shival99-z-ui-components-z-drawer.mjs +664 -0
  28. package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -0
  29. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs +55 -0
  30. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs.map +1 -0
  31. package/fesm2022/shival99-z-ui-components-z-editor.mjs +411 -0
  32. package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -0
  33. package/fesm2022/shival99-z-ui-components-z-filter.mjs +794 -0
  34. package/fesm2022/shival99-z-ui-components-z-filter.mjs.map +1 -0
  35. package/fesm2022/shival99-z-ui-components-z-icon.mjs +451 -0
  36. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -0
  37. package/fesm2022/shival99-z-ui-components-z-input.mjs +804 -0
  38. package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -0
  39. package/fesm2022/shival99-z-ui-components-z-loading.mjs +105 -0
  40. package/fesm2022/shival99-z-ui-components-z-loading.mjs.map +1 -0
  41. package/fesm2022/shival99-z-ui-components-z-menu.mjs +351 -0
  42. package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -0
  43. package/fesm2022/shival99-z-ui-components-z-modal.mjs +722 -0
  44. package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -0
  45. package/fesm2022/shival99-z-ui-components-z-pagination.mjs +131 -0
  46. package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -0
  47. package/fesm2022/shival99-z-ui-components-z-popover.mjs +917 -0
  48. package/fesm2022/shival99-z-ui-components-z-popover.mjs.map +1 -0
  49. package/fesm2022/shival99-z-ui-components-z-radio.mjs +154 -0
  50. package/fesm2022/shival99-z-ui-components-z-radio.mjs.map +1 -0
  51. package/fesm2022/shival99-z-ui-components-z-select.mjs +998 -0
  52. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -0
  53. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs +139 -0
  54. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs.map +1 -0
  55. package/fesm2022/shival99-z-ui-components-z-switch.mjs +127 -0
  56. package/fesm2022/shival99-z-ui-components-z-switch.mjs.map +1 -0
  57. package/fesm2022/shival99-z-ui-components-z-table.mjs +2628 -0
  58. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -0
  59. package/fesm2022/shival99-z-ui-components-z-tabs.mjs +259 -0
  60. package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -0
  61. package/fesm2022/shival99-z-ui-components-z-timeline.mjs +335 -0
  62. package/fesm2022/shival99-z-ui-components-z-timeline.mjs.map +1 -0
  63. package/fesm2022/shival99-z-ui-components-z-toast.mjs +93 -0
  64. package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -0
  65. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +660 -0
  66. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -0
  67. package/fesm2022/shival99-z-ui-components-z-upload.mjs +504 -0
  68. package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -0
  69. package/fesm2022/shival99-z-ui-i18n.mjs +258 -0
  70. package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -0
  71. package/fesm2022/shival99-z-ui-pipes.mjs +116 -0
  72. package/fesm2022/shival99-z-ui-pipes.mjs.map +1 -0
  73. package/fesm2022/shival99-z-ui-providers.mjs +203 -0
  74. package/fesm2022/shival99-z-ui-providers.mjs.map +1 -0
  75. package/fesm2022/shival99-z-ui-services.mjs +919 -0
  76. package/fesm2022/shival99-z-ui-services.mjs.map +1 -0
  77. package/fesm2022/shival99-z-ui-utils.mjs +591 -0
  78. package/fesm2022/shival99-z-ui-utils.mjs.map +1 -0
  79. package/fesm2022/z-ui.mjs +3 -19924
  80. package/fesm2022/z-ui.mjs.map +1 -1
  81. package/package.json +129 -1
  82. package/types/shival99-z-ui-components-z-accordion.d.ts +55 -0
  83. package/types/shival99-z-ui-components-z-breadcrumb.d.ts +36 -0
  84. package/types/shival99-z-ui-components-z-button.d.ts +41 -0
  85. package/types/shival99-z-ui-components-z-calendar.d.ts +300 -0
  86. package/types/shival99-z-ui-components-z-checkbox.d.ts +84 -0
  87. package/types/shival99-z-ui-components-z-code.d.ts +35 -0
  88. package/types/shival99-z-ui-components-z-drawer.d.ts +232 -0
  89. package/types/shival99-z-ui-components-z-dropdown-menu.d.ts +50 -0
  90. package/types/shival99-z-ui-components-z-editor.d.ts +115 -0
  91. package/types/shival99-z-ui-components-z-filter.d.ts +268 -0
  92. package/types/shival99-z-ui-components-z-icon.d.ts +291 -0
  93. package/types/shival99-z-ui-components-z-input.d.ts +188 -0
  94. package/types/shival99-z-ui-components-z-loading.d.ts +46 -0
  95. package/types/shival99-z-ui-components-z-menu.d.ts +116 -0
  96. package/types/shival99-z-ui-components-z-modal.d.ts +270 -0
  97. package/types/shival99-z-ui-components-z-pagination.d.ts +52 -0
  98. package/types/shival99-z-ui-components-z-popover.d.ts +134 -0
  99. package/types/shival99-z-ui-components-z-radio.d.ts +63 -0
  100. package/types/shival99-z-ui-components-z-select.d.ts +268 -0
  101. package/types/shival99-z-ui-components-z-skeleton.d.ts +55 -0
  102. package/types/shival99-z-ui-components-z-switch.d.ts +48 -0
  103. package/types/shival99-z-ui-components-z-table.d.ts +482 -0
  104. package/types/shival99-z-ui-components-z-tabs.d.ts +75 -0
  105. package/types/shival99-z-ui-components-z-timeline.d.ts +98 -0
  106. package/types/shival99-z-ui-components-z-toast.d.ts +61 -0
  107. package/types/shival99-z-ui-components-z-tooltip.d.ts +85 -0
  108. package/types/shival99-z-ui-components-z-upload.d.ts +136 -0
  109. package/types/shival99-z-ui-i18n.d.ts +50 -0
  110. package/types/shival99-z-ui-pipes.d.ts +36 -0
  111. package/types/shival99-z-ui-providers.d.ts +132 -0
  112. package/types/shival99-z-ui-services.d.ts +364 -0
  113. package/types/shival99-z-ui-utils.d.ts +145 -0
  114. package/types/z-ui.d.ts +3 -4977
@@ -0,0 +1,73 @@
1
+ /* ORANGE THEME */
2
+ :root[z-theme='orange'] {
3
+ --radius: 0.65rem;
4
+ --background: oklch(1 0 0);
5
+ --foreground: oklch(0.141 0.005 285.823);
6
+ --card: oklch(1 0 0);
7
+ --card-foreground: oklch(0.141 0.005 285.823);
8
+ --popover: oklch(1 0 0);
9
+ --popover-foreground: oklch(0.141 0.005 285.823);
10
+ --primary: oklch(0.646 0.222 41.116);
11
+ --primary-foreground: oklch(0.98 0.016 73.684);
12
+ --secondary: oklch(0.967 0.001 286.375);
13
+ --secondary-foreground: oklch(0.21 0.006 285.885);
14
+ --muted: oklch(0.967 0.001 286.375);
15
+ --muted-foreground: oklch(0.552 0.016 285.938);
16
+ --accent: oklch(0.967 0.001 286.375);
17
+ --accent-foreground: oklch(0.21 0.006 285.885);
18
+ --destructive: oklch(0.577 0.245 27.325);
19
+ --destructive-foreground: oklch(0.985 0 0);
20
+ --border: oklch(0.92 0.004 286.32);
21
+ --input: oklch(0.92 0.004 286.32);
22
+ --input-autofill: oklch(1 0 0);
23
+ --ring: oklch(0.75 0.183 55.934);
24
+ --chart-1: oklch(0.837 0.128 66.29);
25
+ --chart-2: oklch(0.705 0.213 47.604);
26
+ --chart-3: oklch(0.646 0.222 41.116);
27
+ --chart-4: oklch(0.553 0.195 38.402);
28
+ --chart-5: oklch(0.47 0.157 37.304);
29
+ --sidebar: oklch(0.985 0 0);
30
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
31
+ --sidebar-primary: oklch(0.646 0.222 41.116);
32
+ --sidebar-primary-foreground: oklch(0.98 0.016 73.684);
33
+ --sidebar-accent: oklch(0.967 0.001 286.375);
34
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
35
+ --sidebar-border: oklch(0.92 0.004 286.32);
36
+ --sidebar-ring: oklch(0.75 0.183 55.934);
37
+ }
38
+
39
+ :root[z-theme='orange'].dark {
40
+ --background: oklch(0.141 0.005 285.823);
41
+ --foreground: oklch(0.985 0 0);
42
+ --card: oklch(0.21 0.006 285.885);
43
+ --card-foreground: oklch(0.985 0 0);
44
+ --popover: oklch(0.21 0.006 285.885);
45
+ --popover-foreground: oklch(0.985 0 0);
46
+ --primary: oklch(0.705 0.213 47.604);
47
+ --primary-foreground: oklch(0.98 0.016 73.684);
48
+ --secondary: oklch(0.274 0.006 286.033);
49
+ --secondary-foreground: oklch(0.985 0 0);
50
+ --muted: oklch(0.274 0.006 286.033);
51
+ --muted-foreground: oklch(0.705 0.015 286.067);
52
+ --accent: oklch(0.274 0.006 286.033);
53
+ --accent-foreground: oklch(0.985 0 0);
54
+ --destructive: oklch(0.704 0.191 22.216);
55
+ --destructive-foreground: oklch(0.985 0 0);
56
+ --border: oklch(1 0 0 / 10%);
57
+ --input: oklch(1 0 0 / 15%);
58
+ --input-autofill: oklch(0.19 0 0);
59
+ --ring: oklch(0.408 0.123 38.172);
60
+ --chart-1: oklch(0.837 0.128 66.29);
61
+ --chart-2: oklch(0.705 0.213 47.604);
62
+ --chart-3: oklch(0.646 0.222 41.116);
63
+ --chart-4: oklch(0.553 0.195 38.402);
64
+ --chart-5: oklch(0.47 0.157 37.304);
65
+ --sidebar: oklch(0.21 0.006 285.885);
66
+ --sidebar-foreground: oklch(0.985 0 0);
67
+ --sidebar-primary: oklch(0.705 0.213 47.604);
68
+ --sidebar-primary-foreground: oklch(0.98 0.016 73.684);
69
+ --sidebar-accent: oklch(0.274 0.006 286.033);
70
+ --sidebar-accent-foreground: oklch(0.985 0 0);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.408 0.123 38.172);
73
+ }
@@ -0,0 +1,73 @@
1
+ /* SLATE THEME */
2
+ :root[z-theme='slate'] {
3
+ --radius: 0.625rem;
4
+ --background: oklch(1 0 0);
5
+ --foreground: oklch(0.129 0.042 264.695);
6
+ --card: oklch(1 0 0);
7
+ --card-foreground: oklch(0.129 0.042 264.695);
8
+ --popover: oklch(1 0 0);
9
+ --popover-foreground: oklch(0.129 0.042 264.695);
10
+ --primary: oklch(0.208 0.042 265.755);
11
+ --primary-foreground: oklch(0.984 0.003 247.858);
12
+ --secondary: oklch(0.968 0.007 247.896);
13
+ --secondary-foreground: oklch(0.208 0.042 265.755);
14
+ --muted: oklch(0.968 0.007 247.896);
15
+ --muted-foreground: oklch(0.554 0.046 257.417);
16
+ --accent: oklch(0.968 0.007 247.896);
17
+ --accent-foreground: oklch(0.208 0.042 265.755);
18
+ --destructive: oklch(0.577 0.245 27.325);
19
+ --destructive-foreground: oklch(0.985 0 0);
20
+ --border: oklch(0.929 0.013 255.508);
21
+ --input: oklch(0.929 0.013 255.508);
22
+ --input-autofill: oklch(1 0 0);
23
+ --ring: oklch(0.704 0.04 256.788);
24
+ --chart-1: oklch(0.646 0.222 41.116);
25
+ --chart-2: oklch(0.6 0.118 184.704);
26
+ --chart-3: oklch(0.398 0.07 227.334);
27
+ --chart-4: oklch(0.828 0.189 84.429);
28
+ --chart-5: oklch(0.769 0.188 70.08);
29
+ --sidebar: oklch(0.984 0.003 247.858);
30
+ --sidebar-foreground: oklch(0.129 0.042 264.695);
31
+ --sidebar-primary: oklch(0.208 0.042 265.755);
32
+ --sidebar-primary-foreground: oklch(0.984 0.003 247.858);
33
+ --sidebar-accent: oklch(0.968 0.007 247.896);
34
+ --sidebar-accent-foreground: oklch(0.208 0.042 265.755);
35
+ --sidebar-border: oklch(0.929 0.013 255.508);
36
+ --sidebar-ring: oklch(0.704 0.04 256.788);
37
+ }
38
+
39
+ :root[z-theme='slate'].dark {
40
+ --background: oklch(0.129 0.042 264.695);
41
+ --foreground: oklch(0.984 0.003 247.858);
42
+ --card: oklch(0.208 0.042 265.755);
43
+ --card-foreground: oklch(0.984 0.003 247.858);
44
+ --popover: oklch(0.208 0.042 265.755);
45
+ --popover-foreground: oklch(0.984 0.003 247.858);
46
+ --primary: oklch(0.929 0.013 255.508);
47
+ --primary-foreground: oklch(0.208 0.042 265.755);
48
+ --secondary: oklch(0.279 0.041 260.031);
49
+ --secondary-foreground: oklch(0.984 0.003 247.858);
50
+ --muted: oklch(0.279 0.041 260.031);
51
+ --muted-foreground: oklch(0.704 0.04 256.788);
52
+ --accent: oklch(0.279 0.041 260.031);
53
+ --accent-foreground: oklch(0.984 0.003 247.858);
54
+ --destructive: oklch(0.704 0.191 22.216);
55
+ --destructive-foreground: oklch(0.985 0 0);
56
+ --border: oklch(1 0 0 / 10%);
57
+ --input: oklch(1 0 0 / 15%);
58
+ --input-autofill: oklch(0.19 0 0);
59
+ --ring: oklch(0.551 0.027 264.364);
60
+ --chart-1: oklch(0.488 0.243 264.376);
61
+ --chart-2: oklch(0.696 0.17 162.48);
62
+ --chart-3: oklch(0.769 0.188 70.08);
63
+ --chart-4: oklch(0.627 0.265 303.9);
64
+ --chart-5: oklch(0.645 0.246 16.439);
65
+ --sidebar: oklch(0.208 0.042 265.755);
66
+ --sidebar-foreground: oklch(0.984 0.003 247.858);
67
+ --sidebar-primary: oklch(0.929 0.013 255.508);
68
+ --sidebar-primary-foreground: oklch(0.208 0.042 265.755);
69
+ --sidebar-accent: oklch(0.279 0.041 260.031);
70
+ --sidebar-accent-foreground: oklch(0.984 0.003 247.858);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.551 0.027 264.364);
73
+ }
@@ -0,0 +1,73 @@
1
+ /* STONE THEME */
2
+ :root[z-theme='stone'] {
3
+ --radius: 0.625rem;
4
+ --background: oklch(1 0 0);
5
+ --foreground: oklch(0.147 0.004 49.25);
6
+ --card: oklch(1 0 0);
7
+ --card-foreground: oklch(0.147 0.004 49.25);
8
+ --popover: oklch(1 0 0);
9
+ --popover-foreground: oklch(0.147 0.004 49.25);
10
+ --primary: oklch(0.216 0.006 56.043);
11
+ --primary-foreground: oklch(0.985 0.001 106.423);
12
+ --secondary: oklch(0.97 0.001 106.424);
13
+ --secondary-foreground: oklch(0.216 0.006 56.043);
14
+ --muted: oklch(0.97 0.001 106.424);
15
+ --muted-foreground: oklch(0.553 0.013 58.071);
16
+ --accent: oklch(0.97 0.001 106.424);
17
+ --accent-foreground: oklch(0.216 0.006 56.043);
18
+ --destructive: oklch(0.577 0.245 27.325);
19
+ --destructive-foreground: oklch(0.985 0 0);
20
+ --border: oklch(0.923 0.003 48.717);
21
+ --input: oklch(0.923 0.003 48.717);
22
+ --input-autofill: oklch(1 0 0);
23
+ --ring: oklch(0.709 0.01 56.259);
24
+ --chart-1: oklch(0.646 0.222 41.116);
25
+ --chart-2: oklch(0.6 0.118 184.704);
26
+ --chart-3: oklch(0.398 0.07 227.334);
27
+ --chart-4: oklch(0.828 0.189 84.429);
28
+ --chart-5: oklch(0.769 0.188 70.08);
29
+ --sidebar: oklch(0.985 0.001 106.423);
30
+ --sidebar-foreground: oklch(0.147 0.004 49.25);
31
+ --sidebar-primary: oklch(0.216 0.006 56.043);
32
+ --sidebar-primary-foreground: oklch(0.985 0.001 106.423);
33
+ --sidebar-accent: oklch(0.97 0.001 106.424);
34
+ --sidebar-accent-foreground: oklch(0.216 0.006 56.043);
35
+ --sidebar-border: oklch(0.923 0.003 48.717);
36
+ --sidebar-ring: oklch(0.709 0.01 56.259);
37
+ }
38
+
39
+ :root[z-theme='stone'].dark {
40
+ --background: oklch(0.147 0.004 49.25);
41
+ --foreground: oklch(0.985 0.001 106.423);
42
+ --card: oklch(0.216 0.006 56.043);
43
+ --card-foreground: oklch(0.985 0.001 106.423);
44
+ --popover: oklch(0.216 0.006 56.043);
45
+ --popover-foreground: oklch(0.985 0.001 106.423);
46
+ --primary: oklch(0.923 0.003 48.717);
47
+ --primary-foreground: oklch(0.216 0.006 56.043);
48
+ --secondary: oklch(0.268 0.007 34.298);
49
+ --secondary-foreground: oklch(0.985 0.001 106.423);
50
+ --muted: oklch(0.268 0.007 34.298);
51
+ --muted-foreground: oklch(0.709 0.01 56.259);
52
+ --accent: oklch(0.268 0.007 34.298);
53
+ --accent-foreground: oklch(0.985 0.001 106.423);
54
+ --destructive: oklch(0.704 0.191 22.216);
55
+ --destructive-foreground: oklch(0.985 0 0);
56
+ --border: oklch(1 0 0 / 10%);
57
+ --input: oklch(1 0 0 / 15%);
58
+ --input-autofill: oklch(0.19 0 0);
59
+ --ring: oklch(0.553 0.013 58.071);
60
+ --chart-1: oklch(0.488 0.243 264.376);
61
+ --chart-2: oklch(0.696 0.17 162.48);
62
+ --chart-3: oklch(0.769 0.188 70.08);
63
+ --chart-4: oklch(0.627 0.265 303.9);
64
+ --chart-5: oklch(0.645 0.246 16.439);
65
+ --sidebar: oklch(0.216 0.006 56.043);
66
+ --sidebar-foreground: oklch(0.985 0.001 106.423);
67
+ --sidebar-primary: oklch(0.923 0.003 48.717);
68
+ --sidebar-primary-foreground: oklch(0.216 0.006 56.043);
69
+ --sidebar-accent: oklch(0.268 0.007 34.298);
70
+ --sidebar-accent-foreground: oklch(0.985 0.001 106.423);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.553 0.013 58.071);
73
+ }
@@ -0,0 +1,73 @@
1
+ /* VIOLET THEME */
2
+ :root[z-theme='violet'] {
3
+ --radius: 0.65rem;
4
+ --background: oklch(1 0 0);
5
+ --foreground: oklch(0.141 0.005 285.823);
6
+ --card: oklch(1 0 0);
7
+ --card-foreground: oklch(0.141 0.005 285.823);
8
+ --popover: oklch(1 0 0);
9
+ --popover-foreground: oklch(0.141 0.005 285.823);
10
+ --primary: oklch(0.541 0.281 293.009);
11
+ --primary-foreground: oklch(0.969 0.016 293.756);
12
+ --secondary: oklch(0.967 0.001 286.375);
13
+ --secondary-foreground: oklch(0.21 0.006 285.885);
14
+ --muted: oklch(0.967 0.001 286.375);
15
+ --muted-foreground: oklch(0.552 0.016 285.938);
16
+ --accent: oklch(0.967 0.001 286.375);
17
+ --accent-foreground: oklch(0.21 0.006 285.885);
18
+ --destructive: oklch(0.577 0.245 27.325);
19
+ --destructive-foreground: oklch(0.985 0 0);
20
+ --border: oklch(0.92 0.004 286.32);
21
+ --input: oklch(0.92 0.004 286.32);
22
+ --input-autofill: oklch(1 0 0);
23
+ --ring: oklch(0.702 0.183 293.541);
24
+ --chart-1: oklch(0.811 0.111 293.571);
25
+ --chart-2: oklch(0.606 0.25 292.717);
26
+ --chart-3: oklch(0.541 0.281 293.009);
27
+ --chart-4: oklch(0.491 0.27 292.581);
28
+ --chart-5: oklch(0.432 0.232 292.759);
29
+ --sidebar: oklch(0.985 0 0);
30
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
31
+ --sidebar-primary: oklch(0.541 0.281 293.009);
32
+ --sidebar-primary-foreground: oklch(0.969 0.016 293.756);
33
+ --sidebar-accent: oklch(0.967 0.001 286.375);
34
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
35
+ --sidebar-border: oklch(0.92 0.004 286.32);
36
+ --sidebar-ring: oklch(0.702 0.183 293.541);
37
+ }
38
+
39
+ :root[z-theme='violet'].dark {
40
+ --background: oklch(0.141 0.005 285.823);
41
+ --foreground: oklch(0.985 0 0);
42
+ --card: oklch(0.21 0.006 285.885);
43
+ --card-foreground: oklch(0.985 0 0);
44
+ --popover: oklch(0.21 0.006 285.885);
45
+ --popover-foreground: oklch(0.985 0 0);
46
+ --primary: oklch(0.606 0.25 292.717);
47
+ --primary-foreground: oklch(0.969 0.016 293.756);
48
+ --secondary: oklch(0.274 0.006 286.033);
49
+ --secondary-foreground: oklch(0.985 0 0);
50
+ --muted: oklch(0.274 0.006 286.033);
51
+ --muted-foreground: oklch(0.705 0.015 286.067);
52
+ --accent: oklch(0.274 0.006 286.033);
53
+ --accent-foreground: oklch(0.985 0 0);
54
+ --destructive: oklch(0.704 0.191 22.216);
55
+ --destructive-foreground: oklch(0.985 0 0);
56
+ --border: oklch(1 0 0 / 10%);
57
+ --input: oklch(1 0 0 / 15%);
58
+ --input-autofill: oklch(0.19 0 0);
59
+ --ring: oklch(0.38 0.189 293.745);
60
+ --chart-1: oklch(0.811 0.111 293.571);
61
+ --chart-2: oklch(0.606 0.25 292.717);
62
+ --chart-3: oklch(0.541 0.281 293.009);
63
+ --chart-4: oklch(0.491 0.27 292.581);
64
+ --chart-5: oklch(0.432 0.232 292.759);
65
+ --sidebar: oklch(0.21 0.006 285.885);
66
+ --sidebar-foreground: oklch(0.985 0 0);
67
+ --sidebar-primary: oklch(0.606 0.25 292.717);
68
+ --sidebar-primary-foreground: oklch(0.969 0.016 293.756);
69
+ --sidebar-accent: oklch(0.274 0.006 286.033);
70
+ --sidebar-accent-foreground: oklch(0.985 0 0);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.38 0.189 293.745);
73
+ }
@@ -0,0 +1,73 @@
1
+ /* ZINC THEME */
2
+ :root[z-theme='zinc'] {
3
+ --radius: 0.625rem;
4
+ --background: oklch(1 0 0);
5
+ --foreground: oklch(0.141 0.005 285.823);
6
+ --card: oklch(1 0 0);
7
+ --card-foreground: oklch(0.141 0.005 285.823);
8
+ --popover: oklch(1 0 0);
9
+ --popover-foreground: oklch(0.141 0.005 285.823);
10
+ --primary: oklch(0.21 0.006 285.885);
11
+ --primary-foreground: oklch(0.985 0 0);
12
+ --secondary: oklch(0.967 0.001 286.375);
13
+ --secondary-foreground: oklch(0.21 0.006 285.885);
14
+ --muted: oklch(0.967 0.001 286.375);
15
+ --muted-foreground: oklch(0.552 0.016 285.938);
16
+ --accent: oklch(0.967 0.001 286.375);
17
+ --accent-foreground: oklch(0.21 0.006 285.885);
18
+ --destructive: oklch(0.577 0.245 27.325);
19
+ --destructive-foreground: oklch(0.985 0 0);
20
+ --border: oklch(0.92 0.004 286.32);
21
+ --input: oklch(0.92 0.004 286.32);
22
+ --input-autofill: oklch(1 0 0);
23
+ --ring: oklch(0.705 0.015 286.067);
24
+ --chart-1: oklch(0.646 0.222 41.116);
25
+ --chart-2: oklch(0.6 0.118 184.704);
26
+ --chart-3: oklch(0.398 0.07 227.334);
27
+ --chart-4: oklch(0.828 0.189 84.429);
28
+ --chart-5: oklch(0.769 0.188 70.08);
29
+ --sidebar: oklch(0.985 0 0);
30
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
31
+ --sidebar-primary: oklch(0.21 0.006 285.885);
32
+ --sidebar-primary-foreground: oklch(0.985 0 0);
33
+ --sidebar-accent: oklch(0.967 0.001 286.375);
34
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
35
+ --sidebar-border: oklch(0.92 0.004 286.32);
36
+ --sidebar-ring: oklch(0.705 0.015 286.067);
37
+ }
38
+
39
+ :root[z-theme='zinc'].dark {
40
+ --background: oklch(0.141 0.005 285.823);
41
+ --foreground: oklch(0.985 0 0);
42
+ --card: oklch(0.21 0.006 285.885);
43
+ --card-foreground: oklch(0.985 0 0);
44
+ --popover: oklch(0.21 0.006 285.885);
45
+ --popover-foreground: oklch(0.985 0 0);
46
+ --primary: oklch(0.92 0.004 286.32);
47
+ --primary-foreground: oklch(0.21 0.006 285.885);
48
+ --secondary: oklch(0.274 0.006 286.033);
49
+ --secondary-foreground: oklch(0.985 0 0);
50
+ --muted: oklch(0.274 0.006 286.033);
51
+ --muted-foreground: oklch(0.705 0.015 286.067);
52
+ --accent: oklch(0.274 0.006 286.033);
53
+ --accent-foreground: oklch(0.985 0 0);
54
+ --destructive: oklch(0.704 0.191 22.216);
55
+ --destructive-foreground: oklch(0.985 0 0);
56
+ --border: oklch(1 0 0 / 10%);
57
+ --input: oklch(1 0 0 / 15%);
58
+ --input-autofill: oklch(0.19 0 0);
59
+ --ring: oklch(0.552 0.016 285.938);
60
+ --chart-1: oklch(0.488 0.243 264.376);
61
+ --chart-2: oklch(0.696 0.17 162.48);
62
+ --chart-3: oklch(0.769 0.188 70.08);
63
+ --chart-4: oklch(0.627 0.265 303.9);
64
+ --chart-5: oklch(0.645 0.246 16.439);
65
+ --sidebar: oklch(0.21 0.006 285.885);
66
+ --sidebar-foreground: oklch(0.985 0 0);
67
+ --sidebar-primary: oklch(0.92 0.004 286.32);
68
+ --sidebar-primary-foreground: oklch(0.21 0.006 285.885);
69
+ --sidebar-accent: oklch(0.274 0.006 286.033);
70
+ --sidebar-accent-foreground: oklch(0.985 0 0);
71
+ --sidebar-border: oklch(1 0 0 / 10%);
72
+ --sidebar-ring: oklch(0.552 0.016 285.938);
73
+ }
@@ -0,0 +1,6 @@
1
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M20.0573 24.0708C20.0573 26.9986 17.6839 29.3719 14.7562 29.3719C11.8285 29.3719 9.45508 26.9986 9.45508 24.0708V5.3011C9.45508 2.37338 11.8285 -1e-06 14.7562 0C17.6839 0 20.0573 2.37338 20.0573 5.3011V24.0708Z" fill="#2E37A4"/>
3
+ <path d="M14.8871 9.45557C17.7759 9.45557 20.1178 11.7975 20.1178 14.6863C20.1178 17.575 17.7759 19.9169 14.8872 19.9169H5.23063C2.34183 19.9169 -1.263e-07 17.575 0 14.6863C1.262e-07 11.7975 2.34183 9.45557 5.23062 9.45557H14.8871Z" fill="#2E37A4"/>
4
+ <path d="M24.141 9.45557C27.0298 9.45557 29.3717 11.7975 29.3717 14.6863C29.3717 17.575 27.0298 19.9169 24.141 19.9169H14.6857C11.7969 19.9169 9.45508 17.575 9.45508 14.6863C9.45508 11.7975 11.7969 9.45557 14.6857 9.45557H24.141Z" fill="#2E37A4"/>
5
+ <path d="M20.1175 9.45557V19.9169H14.6857C11.7969 19.9169 9.45508 17.575 9.45508 14.6863C9.45508 11.7975 11.7969 9.45557 14.6857 9.45557H20.1175Z" fill="white"/>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M20.0573 24.0708C20.0573 26.9986 17.6839 29.3719 14.7562 29.3719C11.8285 29.3719 9.45508 26.9986 9.45508 24.0708V5.3011C9.45508 2.37338 11.8285 -1e-06 14.7562 0C17.6839 0 20.0573 2.37338 20.0573 5.3011V24.0708Z" fill="white"/>
3
+ <path d="M14.8871 9.45557C17.7759 9.45557 20.1178 11.7975 20.1178 14.6863C20.1178 17.575 17.7759 19.9169 14.8872 19.9169H5.23063C2.34183 19.9169 -1.263e-07 17.575 0 14.6863C1.262e-07 11.7975 2.34183 9.45557 5.23062 9.45557H14.8871Z" fill="white"/>
4
+ <path d="M24.141 9.45557C27.0298 9.45557 29.3717 11.7975 29.3717 14.6863C29.3717 17.575 27.0298 19.9169 24.141 19.9169H14.6857C11.7969 19.9169 9.45508 17.575 9.45508 14.6863C9.45508 11.7975 11.7969 9.45557 14.6857 9.45557H24.141Z" fill="white"/>
5
+ <path d="M20.1175 9.45557V19.9169H14.6857C11.7969 19.9169 9.45508 17.575 9.45508 14.6863C9.45508 11.7975 11.7969 9.45557 14.6857 9.45557H20.1175Z" fill="#2E37A4"/>
6
+ </svg>
@@ -0,0 +1,148 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, contentChildren, signal } from '@angular/core';
3
+ import { cva } from 'class-variance-authority';
4
+ import { zTransform, zMergeClasses } from '@shival99/z-ui/utils';
5
+ import { ZIconComponent } from '@shival99/z-ui/components/z-icon';
6
+
7
+ const zAccordionVariants = cva(['block w-full'], {
8
+ variants: {
9
+ zType: {
10
+ default: 'border border-border rounded-lg overflow-hidden',
11
+ ghost: '',
12
+ outline: 'border border-border rounded-lg overflow-hidden',
13
+ },
14
+ },
15
+ defaultVariants: {
16
+ zType: 'default',
17
+ },
18
+ });
19
+ const zAccordionItemVariants = cva(['block group border-b border-border last:border-b-0'], {
20
+ variants: {
21
+ isDisabled: {
22
+ true: 'opacity-50 cursor-not-allowed pointer-events-none',
23
+ false: '',
24
+ },
25
+ },
26
+ defaultVariants: {
27
+ isDisabled: false,
28
+ },
29
+ });
30
+ const zAccordionTriggerVariants = cva([
31
+ 'flex w-full items-center justify-between py-3 px-3 text-sm font-medium',
32
+ 'transition-colors duration-200 cursor-pointer',
33
+ 'hover:bg-muted/50',
34
+ 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
35
+ ], {
36
+ variants: {
37
+ isOpen: {
38
+ true: 'text-foreground',
39
+ false: 'text-foreground',
40
+ },
41
+ },
42
+ defaultVariants: {
43
+ isOpen: false,
44
+ },
45
+ });
46
+ const zAccordionContentVariants = cva(['overflow-hidden text-sm'], {
47
+ variants: {
48
+ isOpen: {
49
+ true: '',
50
+ false: '',
51
+ },
52
+ },
53
+ defaultVariants: {
54
+ isOpen: false,
55
+ },
56
+ });
57
+
58
+ class ZAccordionItemComponent {
59
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
60
+ zId = input.required(...(ngDevMode ? [{ debugName: "zId" }] : []));
61
+ zTitle = input.required(...(ngDevMode ? [{ debugName: "zTitle" }] : []));
62
+ zDisabled = input(false, { ...(ngDevMode ? { debugName: "zDisabled" } : {}), transform: zTransform });
63
+ _accordion = inject(ZAccordionComponent);
64
+ isOpen = computed(() => this._accordion.isItemOpen(this.zId()), ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
65
+ itemClasses = computed(() => zMergeClasses(zAccordionItemVariants({ isDisabled: this.zDisabled() }), this.class()), ...(ngDevMode ? [{ debugName: "itemClasses" }] : []));
66
+ triggerClasses = computed(() => zAccordionTriggerVariants({ isOpen: this.isOpen() }), ...(ngDevMode ? [{ debugName: "triggerClasses" }] : []));
67
+ toggle() {
68
+ if (this.zDisabled()) {
69
+ return;
70
+ }
71
+ this._accordion.toggleItem(this.zId());
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: ZAccordionItemComponent, isStandalone: true, selector: "z-accordion-item", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zId: { classPropertyName: "zId", publicName: "zId", isSignal: true, isRequired: true, transformFunction: null }, zTitle: { classPropertyName: "zTitle", publicName: "zTitle", isSignal: true, isRequired: true, transformFunction: null }, zDisabled: { classPropertyName: "zDisabled", publicName: "zDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "itemClasses()" } }, ngImport: i0, template: "<div\n [class]=\"triggerClasses()\"\n [class.bg-muted/50]=\"isOpen()\"\n (click)=\"toggle()\"\n (keydown.enter)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-expanded]=\"isOpen()\">\n <span class=\"flex items-center gap-2\">\n <ng-content select=\"[zAccordionIcon]\" />\n <span>{{ zTitle() }}</span>\n </span>\n <z-icon\n zType=\"lucideChevronDown\"\n zSize=\"16\"\n class=\"text-muted-foreground shrink-0 transition-transform duration-200\"\n [class.rotate-180]=\"isOpen()\" />\n</div>\n\n<div class=\"z-accordion-content\" [class.z-accordion-content-open]=\"isOpen()\">\n <div class=\"z-accordion-content-inner\">\n <div class=\"mt-2 px-4 pb-4\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: [".z-accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out}.z-accordion-content.z-accordion-content-open{grid-template-rows:1fr}.z-accordion-content>.z-accordion-content-inner{overflow:hidden;min-height:0}\n"], dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zSize", "zStrokeWidth", "zSvg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZAccordionItemComponent, decorators: [{
77
+ type: Component,
78
+ args: [{ selector: 'z-accordion-item', imports: [ZIconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
79
+ '[class]': 'itemClasses()',
80
+ }, template: "<div\n [class]=\"triggerClasses()\"\n [class.bg-muted/50]=\"isOpen()\"\n (click)=\"toggle()\"\n (keydown.enter)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-expanded]=\"isOpen()\">\n <span class=\"flex items-center gap-2\">\n <ng-content select=\"[zAccordionIcon]\" />\n <span>{{ zTitle() }}</span>\n </span>\n <z-icon\n zType=\"lucideChevronDown\"\n zSize=\"16\"\n class=\"text-muted-foreground shrink-0 transition-transform duration-200\"\n [class.rotate-180]=\"isOpen()\" />\n</div>\n\n<div class=\"z-accordion-content\" [class.z-accordion-content-open]=\"isOpen()\">\n <div class=\"z-accordion-content-inner\">\n <div class=\"mt-2 px-4 pb-4\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: [".z-accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out}.z-accordion-content.z-accordion-content-open{grid-template-rows:1fr}.z-accordion-content>.z-accordion-content-inner{overflow:hidden;min-height:0}\n"] }]
81
+ }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zId: [{ type: i0.Input, args: [{ isSignal: true, alias: "zId", required: true }] }], zTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTitle", required: true }] }], zDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDisabled", required: false }] }] } });
82
+
83
+ class ZAccordionComponent {
84
+ class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
85
+ zType = input('default', ...(ngDevMode ? [{ debugName: "zType" }] : []));
86
+ zMultiple = input(false, { ...(ngDevMode ? { debugName: "zMultiple" } : {}), transform: zTransform });
87
+ zCollapsible = input(true, { ...(ngDevMode ? { debugName: "zCollapsible" } : {}), transform: zTransform });
88
+ items = contentChildren(ZAccordionItemComponent, ...(ngDevMode ? [{ debugName: "items" }] : []));
89
+ _openItems = signal(new Set(), ...(ngDevMode ? [{ debugName: "_openItems" }] : []));
90
+ zClasses = computed(() => zMergeClasses(zAccordionVariants({ zType: this.zType() }), this.class()), ...(ngDevMode ? [{ debugName: "zClasses" }] : []));
91
+ isItemOpen(itemId) {
92
+ return this._openItems().has(itemId);
93
+ }
94
+ toggleItem(itemId) {
95
+ const current = new Set(this._openItems());
96
+ const isCurrentlyOpen = current.has(itemId);
97
+ if (isCurrentlyOpen && this.zCollapsible()) {
98
+ current.delete(itemId);
99
+ this._openItems.set(current);
100
+ return;
101
+ }
102
+ if (isCurrentlyOpen) {
103
+ return;
104
+ }
105
+ if (!this.zMultiple()) {
106
+ current.clear();
107
+ }
108
+ current.add(itemId);
109
+ this._openItems.set(current);
110
+ }
111
+ openItem(itemId) {
112
+ const current = new Set(this._openItems());
113
+ if (!this.zMultiple()) {
114
+ current.clear();
115
+ }
116
+ current.add(itemId);
117
+ this._openItems.set(current);
118
+ }
119
+ closeItem(itemId) {
120
+ if (!this.zCollapsible()) {
121
+ return;
122
+ }
123
+ const current = new Set(this._openItems());
124
+ current.delete(itemId);
125
+ this._openItems.set(current);
126
+ }
127
+ closeAll() {
128
+ if (!this.zCollapsible()) {
129
+ return;
130
+ }
131
+ this._openItems.set(new Set());
132
+ }
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: ZAccordionComponent, isStandalone: true, selector: "z-accordion", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zType: { classPropertyName: "zType", publicName: "zType", isSignal: true, isRequired: false, transformFunction: null }, zMultiple: { classPropertyName: "zMultiple", publicName: "zMultiple", isSignal: true, isRequired: false, transformFunction: null }, zCollapsible: { classPropertyName: "zCollapsible", publicName: "zCollapsible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "zClasses()" } }, queries: [{ propertyName: "items", predicate: ZAccordionItemComponent, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [".z-accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out}.z-accordion-content.z-accordion-content-open{grid-template-rows:1fr}.z-accordion-content>.z-accordion-content-inner{overflow:hidden;min-height:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZAccordionComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ selector: 'z-accordion', standalone: true, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
139
+ '[class]': 'zClasses()',
140
+ }, styles: [".z-accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out}.z-accordion-content.z-accordion-content-open{grid-template-rows:1fr}.z-accordion-content>.z-accordion-content-inner{overflow:hidden;min-height:0}\n"] }]
141
+ }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zType: [{ type: i0.Input, args: [{ isSignal: true, alias: "zType", required: false }] }], zMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "zMultiple", required: false }] }], zCollapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "zCollapsible", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ZAccordionItemComponent), { isSignal: true }] }] } });
142
+
143
+ /**
144
+ * Generated bundle index. Do not edit.
145
+ */
146
+
147
+ export { ZAccordionComponent, ZAccordionItemComponent, zAccordionItemVariants, zAccordionVariants };
148
+ //# sourceMappingURL=shival99-z-ui-components-z-accordion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shival99-z-ui-components-z-accordion.mjs","sources":["../../../../libs/core-ui/components/z-accordion/z-accordion.variants.ts","../../../../libs/core-ui/components/z-accordion/z-accordion-item.component.ts","../../../../libs/core-ui/components/z-accordion/z-accordion-item.component.html","../../../../libs/core-ui/components/z-accordion/z-accordion.component.ts","../../../../libs/core-ui/components/z-accordion/shival99-z-ui-components-z-accordion.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zAccordionVariants = cva(['block w-full'], {\n variants: {\n zType: {\n default: 'border border-border rounded-lg overflow-hidden',\n ghost: '',\n outline: 'border border-border rounded-lg overflow-hidden',\n },\n },\n defaultVariants: {\n zType: 'default',\n },\n});\n\nexport const zAccordionItemVariants = cva(['block group border-b border-border last:border-b-0'], {\n variants: {\n isDisabled: {\n true: 'opacity-50 cursor-not-allowed pointer-events-none',\n false: '',\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n});\n\nexport const zAccordionTriggerVariants = cva(\n [\n 'flex w-full items-center justify-between py-3 px-3 text-sm font-medium',\n 'transition-colors duration-200 cursor-pointer',\n 'hover:bg-muted/50',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n ],\n {\n variants: {\n isOpen: {\n true: 'text-foreground',\n false: 'text-foreground',\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n }\n);\n\nexport const zAccordionContentVariants = cva(['overflow-hidden text-sm'], {\n variants: {\n isOpen: {\n true: '',\n false: '',\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type ZAccordionVariants = VariantProps<typeof zAccordionVariants>;\nexport type ZAccordionItemVariants = VariantProps<typeof zAccordionItemVariants>;\nexport type ZAccordionTriggerVariants = VariantProps<typeof zAccordionTriggerVariants>;\nexport type ZAccordionContentVariants = VariantProps<typeof zAccordionContentVariants>;\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { ZAccordionComponent } from './z-accordion.component';\nimport { zAccordionItemVariants, zAccordionTriggerVariants } from './z-accordion.variants';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\n\n@Component({\n selector: 'z-accordion-item',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-accordion-item.component.html',\n styleUrl: './z-accordion.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'itemClasses()',\n },\n})\nexport class ZAccordionItemComponent {\n public readonly class = input<ClassValue>('');\n public readonly zId = input.required<string>();\n public readonly zTitle = input.required<string>();\n public readonly zDisabled = input(false, { transform: zTransform });\n\n private readonly _accordion = inject(ZAccordionComponent);\n\n protected readonly isOpen = computed(() => this._accordion.isItemOpen(this.zId()));\n\n protected readonly itemClasses = computed(() =>\n zMergeClasses(zAccordionItemVariants({ isDisabled: this.zDisabled() }), this.class())\n );\n\n protected readonly triggerClasses = computed(() => zAccordionTriggerVariants({ isOpen: this.isOpen() }));\n\n protected toggle(): void {\n if (this.zDisabled()) {\n return;\n }\n this._accordion.toggleItem(this.zId());\n }\n}\n","<div\n [class]=\"triggerClasses()\"\n [class.bg-muted/50]=\"isOpen()\"\n (click)=\"toggle()\"\n (keydown.enter)=\"toggle()\"\n (keydown.space)=\"toggle()\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-expanded]=\"isOpen()\">\n <span class=\"flex items-center gap-2\">\n <ng-content select=\"[zAccordionIcon]\" />\n <span>{{ zTitle() }}</span>\n </span>\n <z-icon\n zType=\"lucideChevronDown\"\n zSize=\"16\"\n class=\"text-muted-foreground shrink-0 transition-transform duration-200\"\n [class.rotate-180]=\"isOpen()\" />\n</div>\n\n<div class=\"z-accordion-content\" [class.z-accordion-content-open]=\"isOpen()\">\n <div class=\"z-accordion-content-inner\">\n <div class=\"mt-2 px-4 pb-4\">\n <ng-content />\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { ZAccordionItemComponent } from './z-accordion-item.component';\nimport { zAccordionVariants, type ZAccordionVariants } from './z-accordion.variants';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\n\n@Component({\n selector: 'z-accordion',\n standalone: true,\n template: '<ng-content />',\n styleUrl: './z-accordion.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'zClasses()',\n },\n})\nexport class ZAccordionComponent {\n public readonly class = input<ClassValue>('');\n public readonly zType = input<ZAccordionVariants['zType']>('default');\n public readonly zMultiple = input(false, { transform: zTransform });\n public readonly zCollapsible = input(true, { transform: zTransform });\n\n protected readonly items = contentChildren(ZAccordionItemComponent);\n private readonly _openItems = signal<Set<string>>(new Set());\n\n protected readonly zClasses = computed(() =>\n zMergeClasses(zAccordionVariants({ zType: this.zType() }), this.class())\n );\n\n public isItemOpen(itemId: string): boolean {\n return this._openItems().has(itemId);\n }\n\n public toggleItem(itemId: string): void {\n const current = new Set(this._openItems());\n const isCurrentlyOpen = current.has(itemId);\n\n if (isCurrentlyOpen && this.zCollapsible()) {\n current.delete(itemId);\n this._openItems.set(current);\n return;\n }\n\n if (isCurrentlyOpen) {\n return;\n }\n\n if (!this.zMultiple()) {\n current.clear();\n }\n current.add(itemId);\n this._openItems.set(current);\n }\n\n public openItem(itemId: string): void {\n const current = new Set(this._openItems());\n if (!this.zMultiple()) {\n current.clear();\n }\n current.add(itemId);\n this._openItems.set(current);\n }\n\n public closeItem(itemId: string): void {\n if (!this.zCollapsible()) {\n return;\n }\n const current = new Set(this._openItems());\n current.delete(itemId);\n this._openItems.set(current);\n }\n\n public closeAll(): void {\n if (!this.zCollapsible()) {\n return;\n }\n this._openItems.set(new Set());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAEa,kBAAkB,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE;AACtD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,iDAAiD;AAC1D,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,OAAO,EAAE,iDAAiD;AAC3D,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA;MAEY,sBAAsB,GAAG,GAAG,CAAC,CAAC,oDAAoD,CAAC,EAAE;AAChG,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,mDAAmD;AACzD,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA;AACF,CAAA;AAEM,MAAM,yBAAyB,GAAG,GAAG,CAC1C;IACE,wEAAwE;IACxE,+CAA+C;IAC/C,mBAAmB;IACnB,qGAAqG;CACtG,EACD;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,KAAK,EAAE,iBAAiB;AACzB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,MAAM,EAAE,KAAK;AACd,KAAA;AACF,CAAA,CACF;AAEM,MAAM,yBAAyB,GAAG,GAAG,CAAC,CAAC,yBAAyB,CAAC,EAAE;AACxE,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,MAAM,EAAE,KAAK;AACd,KAAA;AACF,CAAA,CAAC;;MCtCW,uBAAuB,CAAA;AAClB,IAAA,KAAK,GAAG,KAAK,CAAa,EAAE,iDAAC;AAC7B,IAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,8CAAU;AAC9B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAU;IACjC,SAAS,GAAG,KAAK,CAAC,KAAK,sDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAElD,IAAA,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAEtC,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kDAAC;IAE/D,WAAW,GAAG,QAAQ,CAAC,MACxC,aAAa,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACtF;AAEkB,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,yBAAyB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,0DAAC;IAE9F,MAAM,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB;QACF;QACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC;uGArBW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBpC,+wBA2BA,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBY,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,cAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAUb,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,OAAA,EACnB,CAAC,cAAc,CAAC,cACb,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA,EAAA,QAAA,EAAA,+wBAAA,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA;;;MEQU,mBAAmB,CAAA;AACd,IAAA,KAAK,GAAG,KAAK,CAAa,EAAE,iDAAC;AAC7B,IAAA,KAAK,GAAG,KAAK,CAA8B,SAAS,iDAAC;IACrD,SAAS,GAAG,KAAK,CAAC,KAAK,sDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;IACnD,YAAY,GAAG,KAAK,CAAC,IAAI,yDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAElD,IAAA,KAAK,GAAG,eAAe,CAAC,uBAAuB,iDAAC;AAClD,IAAA,UAAU,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,sDAAC;IAEzC,QAAQ,GAAG,QAAQ,CAAC,MACrC,aAAa,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACzE;AAEM,IAAA,UAAU,CAAC,MAAc,EAAA;QAC9B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC;AAEO,IAAA,UAAU,CAAC,MAAc,EAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AAE3C,QAAA,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AAC1C,YAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;YAC5B;QACF;QAEA,IAAI,eAAe,EAAE;YACnB;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,EAAE;QACjB;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;AAEO,IAAA,QAAQ,CAAC,MAAc,EAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,EAAE;QACjB;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;AAEO,IAAA,SAAS,CAAC,MAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACxB;QACF;QACA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1C,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACxB;QACF;QACA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IAChC;uGA7DW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAMa,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAdxD,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAQf,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,UAAA,EACX,IAAI,EAAA,QAAA,EACN,gBAAgB,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,SAAS,EAAE,YAAY;AACxB,qBAAA,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA;2dAQ0C,uBAAuB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AC/BpE;;AAEG;;;;"}