@shival99/z-ui 2.1.32 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/fesm2022/shival99-z-ui-components-z-accordion.mjs +41 -25
  2. package/fesm2022/shival99-z-ui-components-z-accordion.mjs.map +1 -1
  3. package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs +176 -97
  4. package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs.map +1 -1
  5. package/fesm2022/shival99-z-ui-components-z-avatar.mjs +71 -40
  6. package/fesm2022/shival99-z-ui-components-z-avatar.mjs.map +1 -1
  7. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs +26 -15
  8. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/shival99-z-ui-components-z-button-group.mjs +33 -21
  10. package/fesm2022/shival99-z-ui-components-z-button-group.mjs.map +1 -1
  11. package/fesm2022/shival99-z-ui-components-z-button.mjs +32 -19
  12. package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -1
  13. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +289 -172
  14. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
  15. package/fesm2022/shival99-z-ui-components-z-card.mjs +34 -24
  16. package/fesm2022/shival99-z-ui-components-z-card.mjs.map +1 -1
  17. package/fesm2022/shival99-z-ui-components-z-chat.mjs +85 -47
  18. package/fesm2022/shival99-z-ui-components-z-chat.mjs.map +1 -1
  19. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs +56 -31
  20. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs.map +1 -1
  21. package/fesm2022/shival99-z-ui-components-z-code.mjs +29 -16
  22. package/fesm2022/shival99-z-ui-components-z-code.mjs.map +1 -1
  23. package/fesm2022/shival99-z-ui-components-z-command.mjs +34 -19
  24. package/fesm2022/shival99-z-ui-components-z-command.mjs.map +1 -1
  25. package/fesm2022/shival99-z-ui-components-z-drawer.mjs +310 -88
  26. package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -1
  27. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs +32 -18
  28. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs.map +1 -1
  29. package/fesm2022/shival99-z-ui-components-z-editor.mjs +118 -62
  30. package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -1
  31. package/fesm2022/shival99-z-ui-components-z-empty.mjs +31 -17
  32. package/fesm2022/shival99-z-ui-components-z-empty.mjs.map +1 -1
  33. package/fesm2022/shival99-z-ui-components-z-filter.mjs +81 -54
  34. package/fesm2022/shival99-z-ui-components-z-filter.mjs.map +1 -1
  35. package/fesm2022/shival99-z-ui-components-z-gallery.mjs +240 -132
  36. package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -1
  37. package/fesm2022/shival99-z-ui-components-z-icon.mjs +39 -21
  38. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -1
  39. package/fesm2022/shival99-z-ui-components-z-input.mjs +173 -95
  40. package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -1
  41. package/fesm2022/shival99-z-ui-components-z-kanban.mjs +88 -47
  42. package/fesm2022/shival99-z-ui-components-z-kanban.mjs.map +1 -1
  43. package/fesm2022/shival99-z-ui-components-z-loading.mjs +31 -19
  44. package/fesm2022/shival99-z-ui-components-z-loading.mjs.map +1 -1
  45. package/fesm2022/shival99-z-ui-components-z-marquee.mjs +42 -23
  46. package/fesm2022/shival99-z-ui-components-z-marquee.mjs.map +1 -1
  47. package/fesm2022/shival99-z-ui-components-z-media-player.mjs +87 -45
  48. package/fesm2022/shival99-z-ui-components-z-media-player.mjs.map +1 -1
  49. package/fesm2022/shival99-z-ui-components-z-menu.mjs +126 -67
  50. package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -1
  51. package/fesm2022/shival99-z-ui-components-z-metric-card.mjs +42 -23
  52. package/fesm2022/shival99-z-ui-components-z-metric-card.mjs.map +1 -1
  53. package/fesm2022/shival99-z-ui-components-z-modal.mjs +144 -80
  54. package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -1
  55. package/fesm2022/shival99-z-ui-components-z-pagination.mjs +45 -24
  56. package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -1
  57. package/fesm2022/shival99-z-ui-components-z-popover.mjs +90 -57
  58. package/fesm2022/shival99-z-ui-components-z-popover.mjs.map +1 -1
  59. package/fesm2022/shival99-z-ui-components-z-qrcode.mjs +51 -29
  60. package/fesm2022/shival99-z-ui-components-z-qrcode.mjs.map +1 -1
  61. package/fesm2022/shival99-z-ui-components-z-radio.mjs +36 -20
  62. package/fesm2022/shival99-z-ui-components-z-radio.mjs.map +1 -1
  63. package/fesm2022/shival99-z-ui-components-z-scrollarea.mjs +27 -15
  64. package/fesm2022/shival99-z-ui-components-z-scrollarea.mjs.map +1 -1
  65. package/fesm2022/shival99-z-ui-components-z-select.mjs +239 -138
  66. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
  67. package/fesm2022/shival99-z-ui-components-z-show-more.mjs +38 -21
  68. package/fesm2022/shival99-z-ui-components-z-show-more.mjs.map +1 -1
  69. package/fesm2022/shival99-z-ui-components-z-skeleton-auto.mjs +42 -23
  70. package/fesm2022/shival99-z-ui-components-z-skeleton-auto.mjs.map +1 -1
  71. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs +35 -19
  72. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs.map +1 -1
  73. package/fesm2022/shival99-z-ui-components-z-steps.mjs +55 -31
  74. package/fesm2022/shival99-z-ui-components-z-steps.mjs.map +1 -1
  75. package/fesm2022/shival99-z-ui-components-z-switch.mjs +60 -33
  76. package/fesm2022/shival99-z-ui-components-z-switch.mjs.map +1 -1
  77. package/fesm2022/shival99-z-ui-components-z-table.mjs +10875 -0
  78. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -0
  79. package/fesm2022/shival99-z-ui-components-z-tabs.mjs +534 -0
  80. package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -0
  81. package/fesm2022/shival99-z-ui-components-z-tags.mjs +72 -46
  82. package/fesm2022/shival99-z-ui-components-z-tags.mjs.map +1 -1
  83. package/fesm2022/shival99-z-ui-components-z-timeline.mjs +254 -0
  84. package/fesm2022/shival99-z-ui-components-z-timeline.mjs.map +1 -0
  85. package/fesm2022/shival99-z-ui-components-z-toast.mjs +53 -31
  86. package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -1
  87. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +133 -56
  88. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -1
  89. package/fesm2022/shival99-z-ui-components-z-upload.mjs +63 -36
  90. package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -1
  91. package/fesm2022/shival99-z-ui-i18n.mjs +2 -0
  92. package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -1
  93. package/fesm2022/shival99-z-ui-pipes.mjs +18 -18
  94. package/fesm2022/shival99-z-ui-services.mjs +35 -31
  95. package/fesm2022/shival99-z-ui-services.mjs.map +1 -1
  96. package/package.json +16 -16
  97. package/types/shival99-z-ui-components-z-autocomplete.d.ts +2 -2
  98. package/types/shival99-z-ui-components-z-card.d.ts +1 -2
  99. package/types/shival99-z-ui-components-z-drawer.d.ts +20 -2
  100. package/types/shival99-z-ui-components-z-gallery.d.ts +1 -2
  101. package/types/shival99-z-ui-components-z-select.d.ts +2 -2
  102. package/types/shival99-z-ui-components-z-table.d.ts +2293 -0
  103. package/types/shival99-z-ui-components-z-tabs.d.ts +92 -0
  104. package/types/shival99-z-ui-components-z-timeline.d.ts +71 -0
@@ -103,26 +103,43 @@ const zAvatarGroupVariants = cva('inline-flex items-center', {
103
103
  });
104
104
 
105
105
  class ZAvatarComponent {
106
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
107
- zSrc = input('', ...(ngDevMode ? [{ debugName: "zSrc" }] : []));
108
- zName = input('', ...(ngDevMode ? [{ debugName: "zName" }] : []));
109
- zAlt = input('', ...(ngDevMode ? [{ debugName: "zAlt" }] : []));
110
- zIcon = input('lucideUser', ...(ngDevMode ? [{ debugName: "zIcon" }] : []));
111
- zSize = input('default', ...(ngDevMode ? [{ debugName: "zSize" }] : []));
112
- zShape = input('circle', ...(ngDevMode ? [{ debugName: "zShape" }] : []));
113
- zStatus = input(...(ngDevMode ? [undefined, { debugName: "zStatus" }] : []));
114
- zRing = input('none', ...(ngDevMode ? [{ debugName: "zRing" }] : []));
115
- zFallback = input('initials', ...(ngDevMode ? [{ debugName: "zFallback" }] : []));
116
- zShowLabel = input(false, { ...(ngDevMode ? { debugName: "zShowLabel" } : {}), transform: zTransform });
117
- zStatusAnimated = input(false, { ...(ngDevMode ? { debugName: "zStatusAnimated" } : {}), transform: zTransform });
118
- zInteractive = input(false, { ...(ngDevMode ? { debugName: "zInteractive" } : {}), transform: zTransform });
119
- zDescription = input('', ...(ngDevMode ? [{ debugName: "zDescription" }] : []));
120
- imageFailed = signal(false, ...(ngDevMode ? [{ debugName: "imageFailed" }] : []));
121
- hostClasses = computed(() => zMergeClasses(this.zShowLabel() ? 'inline-flex items-center gap-3' : 'inline-flex', 'relative', this.zInteractive() ? 'z-avatar--interactive hover:z-10' : '', this.class()), ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
122
- avatarClasses = computed(() => zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: this.zRing() }), ...(ngDevMode ? [{ debugName: "avatarClasses" }] : []));
123
- imageClasses = computed(() => zAvatarImageVariants({ zShape: this.zShape() }), ...(ngDevMode ? [{ debugName: "imageClasses" }] : []));
124
- statusClasses = computed(() => zAvatarStatusVariants({ zSize: this.zSize(), zStatus: this.zStatus(), zAnimated: this.zStatusAnimated() }), ...(ngDevMode ? [{ debugName: "statusClasses" }] : []));
125
- labelClasses = computed(() => zAvatarLabelVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "labelClasses" }] : []));
106
+ class = input('', /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
108
+ zSrc = input('', /* @ts-ignore */
109
+ ...(ngDevMode ? [{ debugName: "zSrc" }] : /* istanbul ignore next */ []));
110
+ zName = input('', /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "zName" }] : /* istanbul ignore next */ []));
112
+ zAlt = input('', /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "zAlt" }] : /* istanbul ignore next */ []));
114
+ zIcon = input('lucideUser', /* @ts-ignore */
115
+ ...(ngDevMode ? [{ debugName: "zIcon" }] : /* istanbul ignore next */ []));
116
+ zSize = input('default', /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "zSize" }] : /* istanbul ignore next */ []));
118
+ zShape = input('circle', /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "zShape" }] : /* istanbul ignore next */ []));
120
+ zStatus = input(/* @ts-ignore */
121
+ ...(ngDevMode ? [undefined, { debugName: "zStatus" }] : /* istanbul ignore next */ []));
122
+ zRing = input('none', /* @ts-ignore */
123
+ ...(ngDevMode ? [{ debugName: "zRing" }] : /* istanbul ignore next */ []));
124
+ zFallback = input('initials', /* @ts-ignore */
125
+ ...(ngDevMode ? [{ debugName: "zFallback" }] : /* istanbul ignore next */ []));
126
+ zShowLabel = input(false, { ...(ngDevMode ? { debugName: "zShowLabel" } : /* istanbul ignore next */ {}), transform: zTransform });
127
+ zStatusAnimated = input(false, { ...(ngDevMode ? { debugName: "zStatusAnimated" } : /* istanbul ignore next */ {}), transform: zTransform });
128
+ zInteractive = input(false, { ...(ngDevMode ? { debugName: "zInteractive" } : /* istanbul ignore next */ {}), transform: zTransform });
129
+ zDescription = input('', /* @ts-ignore */
130
+ ...(ngDevMode ? [{ debugName: "zDescription" }] : /* istanbul ignore next */ []));
131
+ imageFailed = signal(false, /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "imageFailed" }] : /* istanbul ignore next */ []));
133
+ hostClasses = computed(() => zMergeClasses(this.zShowLabel() ? 'inline-flex items-center gap-3' : 'inline-flex', 'relative', this.zInteractive() ? 'z-avatar--interactive hover:z-10' : '', this.class()), /* @ts-ignore */
134
+ ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
135
+ avatarClasses = computed(() => zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: this.zRing() }), /* @ts-ignore */
136
+ ...(ngDevMode ? [{ debugName: "avatarClasses" }] : /* istanbul ignore next */ []));
137
+ imageClasses = computed(() => zAvatarImageVariants({ zShape: this.zShape() }), /* @ts-ignore */
138
+ ...(ngDevMode ? [{ debugName: "imageClasses" }] : /* istanbul ignore next */ []));
139
+ statusClasses = computed(() => zAvatarStatusVariants({ zSize: this.zSize(), zStatus: this.zStatus(), zAnimated: this.zStatusAnimated() }), /* @ts-ignore */
140
+ ...(ngDevMode ? [{ debugName: "statusClasses" }] : /* istanbul ignore next */ []));
141
+ labelClasses = computed(() => zAvatarLabelVariants({ zSize: this.zSize() }), /* @ts-ignore */
142
+ ...(ngDevMode ? [{ debugName: "labelClasses" }] : /* istanbul ignore next */ []));
126
143
  iconSize = computed(() => {
127
144
  const sizes = {
128
145
  xs: '12',
@@ -132,9 +149,12 @@ class ZAvatarComponent {
132
149
  xl: '24',
133
150
  };
134
151
  return sizes[this.zSize()];
135
- }, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
136
- altText = computed(() => this.zAlt() || this.zName() || 'Avatar', ...(ngDevMode ? [{ debugName: "altText" }] : []));
137
- shouldShowImage = computed(() => !!this.zSrc() && !this.imageFailed(), ...(ngDevMode ? [{ debugName: "shouldShowImage" }] : []));
152
+ }, /* @ts-ignore */
153
+ ...(ngDevMode ? [{ debugName: "iconSize" }] : /* istanbul ignore next */ []));
154
+ altText = computed(() => this.zAlt() || this.zName() || 'Avatar', /* @ts-ignore */
155
+ ...(ngDevMode ? [{ debugName: "altText" }] : /* istanbul ignore next */ []));
156
+ shouldShowImage = computed(() => !!this.zSrc() && !this.imageFailed(), /* @ts-ignore */
157
+ ...(ngDevMode ? [{ debugName: "shouldShowImage" }] : /* istanbul ignore next */ []));
138
158
  initials = computed(() => {
139
159
  const name = this.zName().trim();
140
160
  if (!name) {
@@ -144,14 +164,15 @@ class ZAvatarComponent {
144
164
  const first = parts[0]?.[0] ?? '';
145
165
  const last = parts.length > 1 ? (parts[parts.length - 1]?.[0] ?? '') : '';
146
166
  return `${first}${last}`.toUpperCase();
147
- }, ...(ngDevMode ? [{ debugName: "initials" }] : []));
167
+ }, /* @ts-ignore */
168
+ ...(ngDevMode ? [{ debugName: "initials" }] : /* istanbul ignore next */ []));
148
169
  onImageError() {
149
170
  this.imageFailed.set(true);
150
171
  }
151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ZAvatarComponent, isStandalone: true, selector: "z-avatar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zSrc: { classPropertyName: "zSrc", publicName: "zSrc", isSignal: true, isRequired: false, transformFunction: null }, zName: { classPropertyName: "zName", publicName: "zName", isSignal: true, isRequired: false, transformFunction: null }, zAlt: { classPropertyName: "zAlt", publicName: "zAlt", isSignal: true, isRequired: false, transformFunction: null }, zIcon: { classPropertyName: "zIcon", publicName: "zIcon", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zShape: { classPropertyName: "zShape", publicName: "zShape", isSignal: true, isRequired: false, transformFunction: null }, zStatus: { classPropertyName: "zStatus", publicName: "zStatus", isSignal: true, isRequired: false, transformFunction: null }, zRing: { classPropertyName: "zRing", publicName: "zRing", isSignal: true, isRequired: false, transformFunction: null }, zFallback: { classPropertyName: "zFallback", publicName: "zFallback", isSignal: true, isRequired: false, transformFunction: null }, zShowLabel: { classPropertyName: "zShowLabel", publicName: "zShowLabel", isSignal: true, isRequired: false, transformFunction: null }, zStatusAnimated: { classPropertyName: "zStatusAnimated", publicName: "zStatusAnimated", isSignal: true, isRequired: false, transformFunction: null }, zInteractive: { classPropertyName: "zInteractive", publicName: "zInteractive", isSignal: true, isRequired: false, transformFunction: null }, zDescription: { classPropertyName: "zDescription", publicName: "zDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<span class=\"relative inline-flex shrink-0 overflow-visible\">\n <span [class]=\"avatarClasses()\">\n @if (shouldShowImage()) {\n <img [src]=\"zSrc()\" [alt]=\"altText()\" [class]=\"imageClasses()\" (error)=\"onImageError()\" />\n } @else if (zFallback() === 'initials' && initials()) {\n <span>{{ initials() }}</span>\n } @else {\n <z-icon [zType]=\"zIcon()\" [zSize]=\"iconSize()\" />\n }\n </span>\n\n @if (zStatus()) {\n <span [class]=\"statusClasses()\" aria-hidden=\"true\"></span>\n }\n</span>\n\n@if (zShowLabel()) {\n <span [class]=\"labelClasses()\">\n <span class=\"text-foreground block overflow-hidden font-medium text-ellipsis whitespace-nowrap\">{{ zName() }}</span>\n @if (zDescription()) {\n <span class=\"text-muted-foreground block overflow-hidden text-xs text-ellipsis whitespace-nowrap\">\n {{ zDescription() }}\n </span>\n }\n </span>\n}\n", styles: [".z-avatar-status--animated:before{position:absolute;inset:-3px;border-radius:9999px;background:currentColor;content:\"\";opacity:.26;animation:z-avatar-status-soft-pulse 1.9s ease-out infinite}.z-avatar--interactive>span:first-child>span:first-child{transition:box-shadow .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1);will-change:transform}.z-avatar--interactive:hover>span:first-child>span:first-child{box-shadow:0 0 0 1px #0000000a,0 5px 14px #00000014;transform:translateY(-2px) scale(1.025)}@keyframes z-avatar-status-soft-pulse{0%{opacity:.22;transform:scale(.82)}70%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}\n"], dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zAnimatedType", "zAnimate", "zAnimationTrigger", "zSize", "zStrokeWidth", "zSvg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: ZAvatarComponent, isStandalone: true, selector: "z-avatar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zSrc: { classPropertyName: "zSrc", publicName: "zSrc", isSignal: true, isRequired: false, transformFunction: null }, zName: { classPropertyName: "zName", publicName: "zName", isSignal: true, isRequired: false, transformFunction: null }, zAlt: { classPropertyName: "zAlt", publicName: "zAlt", isSignal: true, isRequired: false, transformFunction: null }, zIcon: { classPropertyName: "zIcon", publicName: "zIcon", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zShape: { classPropertyName: "zShape", publicName: "zShape", isSignal: true, isRequired: false, transformFunction: null }, zStatus: { classPropertyName: "zStatus", publicName: "zStatus", isSignal: true, isRequired: false, transformFunction: null }, zRing: { classPropertyName: "zRing", publicName: "zRing", isSignal: true, isRequired: false, transformFunction: null }, zFallback: { classPropertyName: "zFallback", publicName: "zFallback", isSignal: true, isRequired: false, transformFunction: null }, zShowLabel: { classPropertyName: "zShowLabel", publicName: "zShowLabel", isSignal: true, isRequired: false, transformFunction: null }, zStatusAnimated: { classPropertyName: "zStatusAnimated", publicName: "zStatusAnimated", isSignal: true, isRequired: false, transformFunction: null }, zInteractive: { classPropertyName: "zInteractive", publicName: "zInteractive", isSignal: true, isRequired: false, transformFunction: null }, zDescription: { classPropertyName: "zDescription", publicName: "zDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "<span class=\"relative inline-flex shrink-0 overflow-visible\">\n <span [class]=\"avatarClasses()\">\n @if (shouldShowImage()) {\n <img [src]=\"zSrc()\" [alt]=\"altText()\" [class]=\"imageClasses()\" (error)=\"onImageError()\" />\n } @else if (zFallback() === 'initials' && initials()) {\n <span>{{ initials() }}</span>\n } @else {\n <z-icon [zType]=\"zIcon()\" [zSize]=\"iconSize()\" />\n }\n </span>\n\n @if (zStatus()) {\n <span [class]=\"statusClasses()\" aria-hidden=\"true\"></span>\n }\n</span>\n\n@if (zShowLabel()) {\n <span [class]=\"labelClasses()\">\n <span class=\"text-foreground block overflow-hidden font-medium text-ellipsis whitespace-nowrap\">{{ zName() }}</span>\n @if (zDescription()) {\n <span class=\"text-muted-foreground block overflow-hidden text-xs text-ellipsis whitespace-nowrap\">\n {{ zDescription() }}\n </span>\n }\n </span>\n}\n", styles: [".z-avatar-status--animated:before{position:absolute;inset:-3px;border-radius:9999px;background:currentColor;content:\"\";opacity:.26;animation:z-avatar-status-soft-pulse 1.9s ease-out infinite}.z-avatar--interactive>span:first-child>span:first-child{transition:box-shadow .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1);will-change:transform}.z-avatar--interactive:hover>span:first-child>span:first-child{box-shadow:0 0 0 1px #0000000a,0 5px 14px #00000014;transform:translateY(-2px) scale(1.025)}@keyframes z-avatar-status-soft-pulse{0%{opacity:.22;transform:scale(.82)}70%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}\n"], dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zAnimatedType", "zAnimate", "zAnimationTrigger", "zSize", "zStrokeWidth", "zSvg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
153
174
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZAvatarComponent, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZAvatarComponent, decorators: [{
155
176
  type: Component,
156
177
  args: [{ selector: 'z-avatar', imports: [ZIconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
157
178
  '[class]': 'hostClasses()',
@@ -159,20 +180,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
159
180
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSrc", required: false }] }], zName: [{ type: i0.Input, args: [{ isSignal: true, alias: "zName", required: false }] }], zAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAlt", required: false }] }], zIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIcon", required: false }] }], zSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSize", required: false }] }], zShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "zShape", required: false }] }], zStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "zStatus", required: false }] }], zRing: [{ type: i0.Input, args: [{ isSignal: true, alias: "zRing", required: false }] }], zFallback: [{ type: i0.Input, args: [{ isSignal: true, alias: "zFallback", required: false }] }], zShowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "zShowLabel", required: false }] }], zStatusAnimated: [{ type: i0.Input, args: [{ isSignal: true, alias: "zStatusAnimated", required: false }] }], zInteractive: [{ type: i0.Input, args: [{ isSignal: true, alias: "zInteractive", required: false }] }], zDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDescription", required: false }] }] } });
160
181
 
161
182
  class ZAvatarGroupComponent {
162
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
163
- zItems = input([], ...(ngDevMode ? [{ debugName: "zItems" }] : []));
164
- zMax = input(5, ...(ngDevMode ? [{ debugName: "zMax" }] : []));
165
- zSize = input('default', ...(ngDevMode ? [{ debugName: "zSize" }] : []));
166
- zShape = input('circle', ...(ngDevMode ? [{ debugName: "zShape" }] : []));
167
- zRing = input('muted', ...(ngDevMode ? [{ debugName: "zRing" }] : []));
168
- hostClasses = computed(() => zMergeClasses(zAvatarGroupVariants({ zSize: this.zSize() }), this.class()), ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
169
- visibleItems = computed(() => this.zItems().slice(0, Math.max(0, this.zMax())), ...(ngDevMode ? [{ debugName: "visibleItems" }] : []));
170
- overflowCount = computed(() => Math.max(0, this.zItems().length - this.visibleItems().length), ...(ngDevMode ? [{ debugName: "overflowCount" }] : []));
171
- overflowClasses = computed(() => zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: 'none' }), ...(ngDevMode ? [{ debugName: "overflowClasses" }] : []));
172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ZAvatarGroupComponent, isStandalone: true, selector: "z-avatar-group", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zItems: { classPropertyName: "zItems", publicName: "zItems", isSignal: true, isRequired: false, transformFunction: null }, zMax: { classPropertyName: "zMax", publicName: "zMax", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zShape: { classPropertyName: "zShape", publicName: "zShape", isSignal: true, isRequired: false, transformFunction: null }, zRing: { classPropertyName: "zRing", publicName: "zRing", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "@for (item of visibleItems(); track item.id) {\n <z-avatar\n [zSrc]=\"item.src ?? ''\"\n [zName]=\"item.name\"\n [zAlt]=\"item.alt ?? item.name\"\n [zIcon]=\"item.icon ?? 'lucideUser'\"\n [zStatus]=\"item.status\"\n [zSize]=\"zSize()\"\n [zShape]=\"zShape()\"\n [zRing]=\"zRing()\"\n [zInteractive]=\"true\" />\n}\n\n@if (overflowCount() > 0) {\n <span [class]=\"overflowClasses()\">+{{ overflowCount() }}</span>\n}\n", dependencies: [{ kind: "component", type: ZAvatarComponent, selector: "z-avatar", inputs: ["class", "zSrc", "zName", "zAlt", "zIcon", "zSize", "zShape", "zStatus", "zRing", "zFallback", "zShowLabel", "zStatusAnimated", "zInteractive", "zDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
183
+ class = input('', /* @ts-ignore */
184
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
185
+ zItems = input([], /* @ts-ignore */
186
+ ...(ngDevMode ? [{ debugName: "zItems" }] : /* istanbul ignore next */ []));
187
+ zMax = input(5, /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "zMax" }] : /* istanbul ignore next */ []));
189
+ zSize = input('default', /* @ts-ignore */
190
+ ...(ngDevMode ? [{ debugName: "zSize" }] : /* istanbul ignore next */ []));
191
+ zShape = input('circle', /* @ts-ignore */
192
+ ...(ngDevMode ? [{ debugName: "zShape" }] : /* istanbul ignore next */ []));
193
+ zRing = input('muted', /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "zRing" }] : /* istanbul ignore next */ []));
195
+ hostClasses = computed(() => zMergeClasses(zAvatarGroupVariants({ zSize: this.zSize() }), this.class()), /* @ts-ignore */
196
+ ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
197
+ visibleItems = computed(() => this.zItems().slice(0, Math.max(0, this.zMax())), /* @ts-ignore */
198
+ ...(ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []));
199
+ overflowCount = computed(() => Math.max(0, this.zItems().length - this.visibleItems().length), /* @ts-ignore */
200
+ ...(ngDevMode ? [{ debugName: "overflowCount" }] : /* istanbul ignore next */ []));
201
+ overflowClasses = computed(() => zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: 'none' }), /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "overflowClasses" }] : /* istanbul ignore next */ []));
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
204
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: ZAvatarGroupComponent, isStandalone: true, selector: "z-avatar-group", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zItems: { classPropertyName: "zItems", publicName: "zItems", isSignal: true, isRequired: false, transformFunction: null }, zMax: { classPropertyName: "zMax", publicName: "zMax", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zShape: { classPropertyName: "zShape", publicName: "zShape", isSignal: true, isRequired: false, transformFunction: null }, zRing: { classPropertyName: "zRing", publicName: "zRing", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "@for (item of visibleItems(); track item.id) {\n <z-avatar\n [zSrc]=\"item.src ?? ''\"\n [zName]=\"item.name\"\n [zAlt]=\"item.alt ?? item.name\"\n [zIcon]=\"item.icon ?? 'lucideUser'\"\n [zStatus]=\"item.status\"\n [zSize]=\"zSize()\"\n [zShape]=\"zShape()\"\n [zRing]=\"zRing()\"\n [zInteractive]=\"true\" />\n}\n\n@if (overflowCount() > 0) {\n <span [class]=\"overflowClasses()\">+{{ overflowCount() }}</span>\n}\n", dependencies: [{ kind: "component", type: ZAvatarComponent, selector: "z-avatar", inputs: ["class", "zSrc", "zName", "zAlt", "zIcon", "zSize", "zShape", "zStatus", "zRing", "zFallback", "zShowLabel", "zStatusAnimated", "zInteractive", "zDescription"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
174
205
  }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZAvatarGroupComponent, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZAvatarGroupComponent, decorators: [{
176
207
  type: Component,
177
208
  args: [{ selector: 'z-avatar-group', imports: [ZAvatarComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
178
209
  '[class]': 'hostClasses()',
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-avatar.mjs","sources":["../../../../libs/core-ui/components/z-avatar/z-avatar.variants.ts","../../../../libs/core-ui/components/z-avatar/z-avatar.component.ts","../../../../libs/core-ui/components/z-avatar/z-avatar.component.html","../../../../libs/core-ui/components/z-avatar/z-avatar-group.component.ts","../../../../libs/core-ui/components/z-avatar/z-avatar-group.component.html","../../../../libs/core-ui/components/z-avatar/shival99-z-ui-components-z-avatar.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zAvatarVariants = cva(\n [\n 'inline-flex shrink-0 items-center justify-center overflow-hidden border font-semibold select-none',\n 'shadow-[0_0_0_1px_rgb(0_0_0/0.03),0_2px_8px_rgb(0_0_0/0.04)]',\n 'bg-muted text-muted-foreground border-background',\n ],\n {\n variants: {\n zSize: {\n xs: 'size-6 text-[10px]',\n sm: 'size-8 text-xs',\n default: 'size-10 text-sm',\n lg: 'size-12 text-base',\n xl: 'size-16 text-xl',\n },\n zShape: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n square: 'rounded-sm',\n },\n zRing: {\n none: '',\n default: 'ring-2 ring-border ring-offset-2 ring-offset-background',\n active: 'ring-2 ring-primary ring-offset-2 ring-offset-background',\n muted: 'ring-2 ring-muted-foreground/25 ring-offset-2 ring-offset-background',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zShape: 'circle',\n zRing: 'none',\n },\n }\n);\n\nexport const zAvatarImageVariants = cva('size-full object-cover', {\n variants: {\n zShape: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n zShape: 'circle',\n },\n});\n\nexport const zAvatarStatusVariants = cva(\n 'absolute rounded-full border-2 border-background bg-current shadow-[0_0_0_1px_rgb(0_0_0/0.04)]',\n {\n variants: {\n zSize: {\n xs: 'right-0 bottom-0 size-2',\n sm: 'right-0 bottom-0 size-2.5',\n default: 'right-0 bottom-0 size-3',\n lg: 'right-0 bottom-0 size-3.5',\n xl: 'right-0.5 bottom-0.5 size-4',\n },\n zStatus: {\n online: 'text-emerald-500',\n offline: 'text-muted-foreground',\n busy: 'text-destructive',\n away: 'text-amber-500',\n },\n zAnimated: {\n true: 'z-avatar-status--animated',\n false: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zStatus: 'offline',\n zAnimated: false,\n },\n }\n);\n\nexport const zAvatarLabelVariants = cva('min-w-0', {\n variants: {\n zSize: {\n xs: 'text-xs',\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-sm',\n xl: 'text-base',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zAvatarGroupVariants = cva('inline-flex items-center', {\n variants: {\n zSize: {\n xs: '-space-x-0.5',\n sm: '-space-x-1',\n default: '-space-x-1.5',\n lg: '-space-x-2',\n xl: '-space-x-2.5',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZAvatarVariants = VariantProps<typeof zAvatarVariants>;\nexport type ZAvatarStatusVariants = VariantProps<typeof zAvatarStatusVariants>;\nexport type ZAvatarGroupVariants = VariantProps<typeof zAvatarGroupVariants>;\n","import { ChangeDetectionStrategy, Component, computed, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ZIconComponent, type ZIcon } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZAvatarFallback, ZAvatarRing, ZAvatarShape, ZAvatarSize, ZAvatarStatus } from './z-avatar.types';\nimport {\n zAvatarImageVariants,\n zAvatarLabelVariants,\n zAvatarStatusVariants,\n zAvatarVariants,\n} from './z-avatar.variants';\n\n@Component({\n selector: 'z-avatar',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-avatar.component.html',\n styleUrl: './z-avatar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZAvatarComponent {\n public readonly class = input<ClassValue>('');\n public readonly zSrc = input<string>('');\n public readonly zName = input<string>('');\n public readonly zAlt = input<string>('');\n public readonly zIcon = input<ZIcon>('lucideUser');\n public readonly zSize = input<ZAvatarSize>('default');\n public readonly zShape = input<ZAvatarShape>('circle');\n public readonly zStatus = input<ZAvatarStatus>();\n public readonly zRing = input<ZAvatarRing>('none');\n public readonly zFallback = input<ZAvatarFallback>('initials');\n public readonly zShowLabel = input(false, { transform: zTransform });\n public readonly zStatusAnimated = input(false, { transform: zTransform });\n public readonly zInteractive = input(false, { transform: zTransform });\n public readonly zDescription = input<string>('');\n\n protected readonly imageFailed = signal(false);\n\n protected readonly hostClasses = computed(() =>\n zMergeClasses(\n this.zShowLabel() ? 'inline-flex items-center gap-3' : 'inline-flex',\n 'relative',\n this.zInteractive() ? 'z-avatar--interactive hover:z-10' : '',\n this.class()\n )\n );\n\n protected readonly avatarClasses = computed(() =>\n zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: this.zRing() })\n );\n\n protected readonly imageClasses = computed(() => zAvatarImageVariants({ zShape: this.zShape() }));\n protected readonly statusClasses = computed(() =>\n zAvatarStatusVariants({ zSize: this.zSize(), zStatus: this.zStatus(), zAnimated: this.zStatusAnimated() })\n );\n\n protected readonly labelClasses = computed(() => zAvatarLabelVariants({ zSize: this.zSize() }));\n\n protected readonly iconSize = computed(() => {\n const sizes: Record<ZAvatarSize, '12' | '14' | '16' | '18' | '24'> = {\n xs: '12',\n sm: '14',\n default: '16',\n lg: '18',\n xl: '24',\n };\n return sizes[this.zSize()];\n });\n\n protected readonly altText = computed(() => this.zAlt() || this.zName() || 'Avatar');\n protected readonly shouldShowImage = computed(() => !!this.zSrc() && !this.imageFailed());\n protected readonly initials = computed(() => {\n const name = this.zName().trim();\n if (!name) {\n return '';\n }\n\n const parts = name.split(/\\s+/).filter(Boolean);\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? (parts[parts.length - 1]?.[0] ?? '') : '';\n return `${first}${last}`.toUpperCase();\n });\n\n protected onImageError(): void {\n this.imageFailed.set(true);\n }\n}\n","<span class=\"relative inline-flex shrink-0 overflow-visible\">\n <span [class]=\"avatarClasses()\">\n @if (shouldShowImage()) {\n <img [src]=\"zSrc()\" [alt]=\"altText()\" [class]=\"imageClasses()\" (error)=\"onImageError()\" />\n } @else if (zFallback() === 'initials' && initials()) {\n <span>{{ initials() }}</span>\n } @else {\n <z-icon [zType]=\"zIcon()\" [zSize]=\"iconSize()\" />\n }\n </span>\n\n @if (zStatus()) {\n <span [class]=\"statusClasses()\" aria-hidden=\"true\"></span>\n }\n</span>\n\n@if (zShowLabel()) {\n <span [class]=\"labelClasses()\">\n <span class=\"text-foreground block overflow-hidden font-medium text-ellipsis whitespace-nowrap\">{{ zName() }}</span>\n @if (zDescription()) {\n <span class=\"text-muted-foreground block overflow-hidden text-xs text-ellipsis whitespace-nowrap\">\n {{ zDescription() }}\n </span>\n }\n </span>\n}\n","import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport { ZAvatarComponent } from './z-avatar.component';\nimport type { ZAvatarItem, ZAvatarRing, ZAvatarShape, ZAvatarSize } from './z-avatar.types';\nimport { zAvatarGroupVariants, zAvatarVariants } from './z-avatar.variants';\n\n@Component({\n selector: 'z-avatar-group',\n imports: [ZAvatarComponent],\n standalone: true,\n templateUrl: './z-avatar-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZAvatarGroupComponent {\n public readonly class = input<ClassValue>('');\n public readonly zItems = input<ZAvatarItem[]>([]);\n public readonly zMax = input(5);\n public readonly zSize = input<ZAvatarSize>('default');\n public readonly zShape = input<ZAvatarShape>('circle');\n public readonly zRing = input<ZAvatarRing>('muted');\n\n protected readonly hostClasses = computed(() =>\n zMergeClasses(zAvatarGroupVariants({ zSize: this.zSize() }), this.class())\n );\n\n protected readonly visibleItems = computed(() => this.zItems().slice(0, Math.max(0, this.zMax())));\n protected readonly overflowCount = computed(() => Math.max(0, this.zItems().length - this.visibleItems().length));\n protected readonly overflowClasses = computed(() =>\n zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: 'none' })\n );\n}\n","@for (item of visibleItems(); track item.id) {\n <z-avatar\n [zSrc]=\"item.src ?? ''\"\n [zName]=\"item.name\"\n [zAlt]=\"item.alt ?? item.name\"\n [zIcon]=\"item.icon ?? 'lucideUser'\"\n [zStatus]=\"item.status\"\n [zSize]=\"zSize()\"\n [zShape]=\"zShape()\"\n [zRing]=\"zRing()\"\n [zInteractive]=\"true\" />\n}\n\n@if (overflowCount() > 0) {\n <span [class]=\"overflowClasses()\">+{{ overflowCount() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shival99-z-ui-components-z-avatar.mjs","sources":["../../../../libs/core-ui/components/z-avatar/z-avatar.variants.ts","../../../../libs/core-ui/components/z-avatar/z-avatar.component.ts","../../../../libs/core-ui/components/z-avatar/z-avatar.component.html","../../../../libs/core-ui/components/z-avatar/z-avatar-group.component.ts","../../../../libs/core-ui/components/z-avatar/z-avatar-group.component.html","../../../../libs/core-ui/components/z-avatar/shival99-z-ui-components-z-avatar.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zAvatarVariants = cva(\n [\n 'inline-flex shrink-0 items-center justify-center overflow-hidden border font-semibold select-none',\n 'shadow-[0_0_0_1px_rgb(0_0_0/0.03),0_2px_8px_rgb(0_0_0/0.04)]',\n 'bg-muted text-muted-foreground border-background',\n ],\n {\n variants: {\n zSize: {\n xs: 'size-6 text-[10px]',\n sm: 'size-8 text-xs',\n default: 'size-10 text-sm',\n lg: 'size-12 text-base',\n xl: 'size-16 text-xl',\n },\n zShape: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n square: 'rounded-sm',\n },\n zRing: {\n none: '',\n default: 'ring-2 ring-border ring-offset-2 ring-offset-background',\n active: 'ring-2 ring-primary ring-offset-2 ring-offset-background',\n muted: 'ring-2 ring-muted-foreground/25 ring-offset-2 ring-offset-background',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zShape: 'circle',\n zRing: 'none',\n },\n }\n);\n\nexport const zAvatarImageVariants = cva('size-full object-cover', {\n variants: {\n zShape: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n zShape: 'circle',\n },\n});\n\nexport const zAvatarStatusVariants = cva(\n 'absolute rounded-full border-2 border-background bg-current shadow-[0_0_0_1px_rgb(0_0_0/0.04)]',\n {\n variants: {\n zSize: {\n xs: 'right-0 bottom-0 size-2',\n sm: 'right-0 bottom-0 size-2.5',\n default: 'right-0 bottom-0 size-3',\n lg: 'right-0 bottom-0 size-3.5',\n xl: 'right-0.5 bottom-0.5 size-4',\n },\n zStatus: {\n online: 'text-emerald-500',\n offline: 'text-muted-foreground',\n busy: 'text-destructive',\n away: 'text-amber-500',\n },\n zAnimated: {\n true: 'z-avatar-status--animated',\n false: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zStatus: 'offline',\n zAnimated: false,\n },\n }\n);\n\nexport const zAvatarLabelVariants = cva('min-w-0', {\n variants: {\n zSize: {\n xs: 'text-xs',\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-sm',\n xl: 'text-base',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zAvatarGroupVariants = cva('inline-flex items-center', {\n variants: {\n zSize: {\n xs: '-space-x-0.5',\n sm: '-space-x-1',\n default: '-space-x-1.5',\n lg: '-space-x-2',\n xl: '-space-x-2.5',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZAvatarVariants = VariantProps<typeof zAvatarVariants>;\nexport type ZAvatarStatusVariants = VariantProps<typeof zAvatarStatusVariants>;\nexport type ZAvatarGroupVariants = VariantProps<typeof zAvatarGroupVariants>;\n","import { ChangeDetectionStrategy, Component, computed, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ZIconComponent, type ZIcon } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZAvatarFallback, ZAvatarRing, ZAvatarShape, ZAvatarSize, ZAvatarStatus } from './z-avatar.types';\nimport {\n zAvatarImageVariants,\n zAvatarLabelVariants,\n zAvatarStatusVariants,\n zAvatarVariants,\n} from './z-avatar.variants';\n\n@Component({\n selector: 'z-avatar',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-avatar.component.html',\n styleUrl: './z-avatar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZAvatarComponent {\n public readonly class = input<ClassValue>('');\n public readonly zSrc = input<string>('');\n public readonly zName = input<string>('');\n public readonly zAlt = input<string>('');\n public readonly zIcon = input<ZIcon>('lucideUser');\n public readonly zSize = input<ZAvatarSize>('default');\n public readonly zShape = input<ZAvatarShape>('circle');\n public readonly zStatus = input<ZAvatarStatus>();\n public readonly zRing = input<ZAvatarRing>('none');\n public readonly zFallback = input<ZAvatarFallback>('initials');\n public readonly zShowLabel = input(false, { transform: zTransform });\n public readonly zStatusAnimated = input(false, { transform: zTransform });\n public readonly zInteractive = input(false, { transform: zTransform });\n public readonly zDescription = input<string>('');\n\n protected readonly imageFailed = signal(false);\n\n protected readonly hostClasses = computed(() =>\n zMergeClasses(\n this.zShowLabel() ? 'inline-flex items-center gap-3' : 'inline-flex',\n 'relative',\n this.zInteractive() ? 'z-avatar--interactive hover:z-10' : '',\n this.class()\n )\n );\n\n protected readonly avatarClasses = computed(() =>\n zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: this.zRing() })\n );\n\n protected readonly imageClasses = computed(() => zAvatarImageVariants({ zShape: this.zShape() }));\n protected readonly statusClasses = computed(() =>\n zAvatarStatusVariants({ zSize: this.zSize(), zStatus: this.zStatus(), zAnimated: this.zStatusAnimated() })\n );\n\n protected readonly labelClasses = computed(() => zAvatarLabelVariants({ zSize: this.zSize() }));\n\n protected readonly iconSize = computed(() => {\n const sizes: Record<ZAvatarSize, '12' | '14' | '16' | '18' | '24'> = {\n xs: '12',\n sm: '14',\n default: '16',\n lg: '18',\n xl: '24',\n };\n return sizes[this.zSize()];\n });\n\n protected readonly altText = computed(() => this.zAlt() || this.zName() || 'Avatar');\n protected readonly shouldShowImage = computed(() => !!this.zSrc() && !this.imageFailed());\n protected readonly initials = computed(() => {\n const name = this.zName().trim();\n if (!name) {\n return '';\n }\n\n const parts = name.split(/\\s+/).filter(Boolean);\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? (parts[parts.length - 1]?.[0] ?? '') : '';\n return `${first}${last}`.toUpperCase();\n });\n\n protected onImageError(): void {\n this.imageFailed.set(true);\n }\n}\n","<span class=\"relative inline-flex shrink-0 overflow-visible\">\n <span [class]=\"avatarClasses()\">\n @if (shouldShowImage()) {\n <img [src]=\"zSrc()\" [alt]=\"altText()\" [class]=\"imageClasses()\" (error)=\"onImageError()\" />\n } @else if (zFallback() === 'initials' && initials()) {\n <span>{{ initials() }}</span>\n } @else {\n <z-icon [zType]=\"zIcon()\" [zSize]=\"iconSize()\" />\n }\n </span>\n\n @if (zStatus()) {\n <span [class]=\"statusClasses()\" aria-hidden=\"true\"></span>\n }\n</span>\n\n@if (zShowLabel()) {\n <span [class]=\"labelClasses()\">\n <span class=\"text-foreground block overflow-hidden font-medium text-ellipsis whitespace-nowrap\">{{ zName() }}</span>\n @if (zDescription()) {\n <span class=\"text-muted-foreground block overflow-hidden text-xs text-ellipsis whitespace-nowrap\">\n {{ zDescription() }}\n </span>\n }\n </span>\n}\n","import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport { ZAvatarComponent } from './z-avatar.component';\nimport type { ZAvatarItem, ZAvatarRing, ZAvatarShape, ZAvatarSize } from './z-avatar.types';\nimport { zAvatarGroupVariants, zAvatarVariants } from './z-avatar.variants';\n\n@Component({\n selector: 'z-avatar-group',\n imports: [ZAvatarComponent],\n standalone: true,\n templateUrl: './z-avatar-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZAvatarGroupComponent {\n public readonly class = input<ClassValue>('');\n public readonly zItems = input<ZAvatarItem[]>([]);\n public readonly zMax = input(5);\n public readonly zSize = input<ZAvatarSize>('default');\n public readonly zShape = input<ZAvatarShape>('circle');\n public readonly zRing = input<ZAvatarRing>('muted');\n\n protected readonly hostClasses = computed(() =>\n zMergeClasses(zAvatarGroupVariants({ zSize: this.zSize() }), this.class())\n );\n\n protected readonly visibleItems = computed(() => this.zItems().slice(0, Math.max(0, this.zMax())));\n protected readonly overflowCount = computed(() => Math.max(0, this.zItems().length - this.visibleItems().length));\n protected readonly overflowClasses = computed(() =>\n zAvatarVariants({ zSize: this.zSize(), zShape: this.zShape(), zRing: 'none' })\n );\n}\n","@for (item of visibleItems(); track item.id) {\n <z-avatar\n [zSrc]=\"item.src ?? ''\"\n [zName]=\"item.name\"\n [zAlt]=\"item.alt ?? item.name\"\n [zIcon]=\"item.icon ?? 'lucideUser'\"\n [zStatus]=\"item.status\"\n [zSize]=\"zSize()\"\n [zShape]=\"zShape()\"\n [zRing]=\"zRing()\"\n [zInteractive]=\"true\" />\n}\n\n@if (overflowCount() > 0) {\n <span [class]=\"overflowClasses()\">+{{ overflowCount() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -74,20 +74,30 @@ const zBreadcrumbSeparatorVariants = cva(['text-muted-foreground/60 flex shrink-
74
74
 
75
75
  class ZBreadcrumbComponent {
76
76
  zItemClick = output();
77
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
78
- zItems = input([], ...(ngDevMode ? [{ debugName: "zItems" }] : []));
79
- zSize = input('default', ...(ngDevMode ? [{ debugName: "zSize" }] : []));
80
- zSeparator = input('lucideChevronRight', ...(ngDevMode ? [{ debugName: "zSeparator" }] : []));
81
- zSeparatorSize = input('14', ...(ngDevMode ? [{ debugName: "zSeparatorSize" }] : []));
82
- zHomeIcon = input(undefined, ...(ngDevMode ? [{ debugName: "zHomeIcon" }] : []));
83
- zShowHome = input(false, { ...(ngDevMode ? { debugName: "zShowHome" } : {}), transform: zTransform });
84
- listClasses = computed(() => zMergeClasses(zBreadcrumbVariants({ zSize: this.zSize() }), this.class()), ...(ngDevMode ? [{ debugName: "listClasses" }] : []));
85
- homeClasses = computed(() => zBreadcrumbHomeVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "homeClasses" }] : []));
86
- separatorClasses = computed(() => zBreadcrumbSeparatorVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "separatorClasses" }] : []));
77
+ class = input('', /* @ts-ignore */
78
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
79
+ zItems = input([], /* @ts-ignore */
80
+ ...(ngDevMode ? [{ debugName: "zItems" }] : /* istanbul ignore next */ []));
81
+ zSize = input('default', /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "zSize" }] : /* istanbul ignore next */ []));
83
+ zSeparator = input('lucideChevronRight', /* @ts-ignore */
84
+ ...(ngDevMode ? [{ debugName: "zSeparator" }] : /* istanbul ignore next */ []));
85
+ zSeparatorSize = input('14', /* @ts-ignore */
86
+ ...(ngDevMode ? [{ debugName: "zSeparatorSize" }] : /* istanbul ignore next */ []));
87
+ zHomeIcon = input(undefined, /* @ts-ignore */
88
+ ...(ngDevMode ? [{ debugName: "zHomeIcon" }] : /* istanbul ignore next */ []));
89
+ zShowHome = input(false, { ...(ngDevMode ? { debugName: "zShowHome" } : /* istanbul ignore next */ {}), transform: zTransform });
90
+ listClasses = computed(() => zMergeClasses(zBreadcrumbVariants({ zSize: this.zSize() }), this.class()), /* @ts-ignore */
91
+ ...(ngDevMode ? [{ debugName: "listClasses" }] : /* istanbul ignore next */ []));
92
+ homeClasses = computed(() => zBreadcrumbHomeVariants({ zSize: this.zSize() }), /* @ts-ignore */
93
+ ...(ngDevMode ? [{ debugName: "homeClasses" }] : /* istanbul ignore next */ []));
94
+ separatorClasses = computed(() => zBreadcrumbSeparatorVariants({ zSize: this.zSize() }), /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "separatorClasses" }] : /* istanbul ignore next */ []));
87
96
  separatorIsIcon = computed(() => {
88
97
  const separator = this.zSeparator();
89
98
  return separator.startsWith('lucide') || separator.startsWith('sax');
90
- }, ...(ngDevMode ? [{ debugName: "separatorIsIcon" }] : []));
99
+ }, /* @ts-ignore */
100
+ ...(ngDevMode ? [{ debugName: "separatorIsIcon" }] : /* istanbul ignore next */ []));
91
101
  displayItems = computed(() => this.zItems().map((item, index, items) => {
92
102
  const isLast = index === items.length - 1;
93
103
  return {
@@ -99,17 +109,18 @@ class ZBreadcrumbComponent {
99
109
  isDisabled: item.disabled ?? false,
100
110
  }),
101
111
  };
102
- }), ...(ngDevMode ? [{ debugName: "displayItems" }] : []));
112
+ }), /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []));
103
114
  onItemClick(item, isLast) {
104
115
  if (isLast || item.disabled) {
105
116
  return;
106
117
  }
107
118
  this.zItemClick.emit(item);
108
119
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ZBreadcrumbComponent, isStandalone: true, selector: "z-breadcrumb", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zItems: { classPropertyName: "zItems", publicName: "zItems", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zSeparator: { classPropertyName: "zSeparator", publicName: "zSeparator", isSignal: true, isRequired: false, transformFunction: null }, zSeparatorSize: { classPropertyName: "zSeparatorSize", publicName: "zSeparatorSize", isSignal: true, isRequired: false, transformFunction: null }, zHomeIcon: { classPropertyName: "zHomeIcon", publicName: "zHomeIcon", isSignal: true, isRequired: false, transformFunction: null }, zShowHome: { classPropertyName: "zShowHome", publicName: "zShowHome", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zItemClick: "zItemClick" }, host: { classAttribute: "block min-w-0" }, ngImport: i0, template: "<nav aria-label=\"Breadcrumb\">\n <ol data-slot=\"breadcrumb-list\" [class]=\"listClasses()\">\n @if (zShowHome() && zHomeIcon()) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n <span\n data-slot=\"breadcrumb-link\"\n [class]=\"homeClasses()\"\n (click)=\"onItemClick({ label: 'Home', path: '/' }, false)\">\n <z-icon [zType]=\"zHomeIcon()!\" [zSize]=\"zSeparatorSize()\" />\n </span>\n </li>\n\n @if (zItems().length > 0) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n\n @for (item of displayItems(); track item.label) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n @if (item.path && !item.isLast && !item.disabled) {\n <a\n data-slot=\"breadcrumb-link\"\n [routerLink]=\"item.path\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </a>\n } @else {\n <span\n [attr.data-slot]=\"item.isLast ? 'breadcrumb-page' : 'breadcrumb-link'\"\n [attr.aria-current]=\"item.isLast ? 'page' : null\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </span>\n }\n </li>\n\n @if (!item.isLast) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n </ol>\n</nav>\n", dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zAnimatedType", "zAnimate", "zAnimationTrigger", "zSize", "zStrokeWidth", "zSvg"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: ZBreadcrumbComponent, isStandalone: true, selector: "z-breadcrumb", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zItems: { classPropertyName: "zItems", publicName: "zItems", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zSeparator: { classPropertyName: "zSeparator", publicName: "zSeparator", isSignal: true, isRequired: false, transformFunction: null }, zSeparatorSize: { classPropertyName: "zSeparatorSize", publicName: "zSeparatorSize", isSignal: true, isRequired: false, transformFunction: null }, zHomeIcon: { classPropertyName: "zHomeIcon", publicName: "zHomeIcon", isSignal: true, isRequired: false, transformFunction: null }, zShowHome: { classPropertyName: "zShowHome", publicName: "zShowHome", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zItemClick: "zItemClick" }, host: { classAttribute: "block min-w-0" }, ngImport: i0, template: "<nav aria-label=\"Breadcrumb\">\n <ol data-slot=\"breadcrumb-list\" [class]=\"listClasses()\">\n @if (zShowHome() && zHomeIcon()) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n <span\n data-slot=\"breadcrumb-link\"\n [class]=\"homeClasses()\"\n (click)=\"onItemClick({ label: 'Home', path: '/' }, false)\">\n <z-icon [zType]=\"zHomeIcon()!\" [zSize]=\"zSeparatorSize()\" />\n </span>\n </li>\n\n @if (zItems().length > 0) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n\n @for (item of displayItems(); track item.label) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n @if (item.path && !item.isLast && !item.disabled) {\n <a\n data-slot=\"breadcrumb-link\"\n [routerLink]=\"item.path\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </a>\n } @else {\n <span\n [attr.data-slot]=\"item.isLast ? 'breadcrumb-page' : 'breadcrumb-link'\"\n [attr.aria-current]=\"item.isLast ? 'page' : null\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </span>\n }\n </li>\n\n @if (!item.isLast) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n </ol>\n</nav>\n", dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zAnimatedType", "zAnimate", "zAnimationTrigger", "zSize", "zStrokeWidth", "zSvg"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
111
122
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZBreadcrumbComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZBreadcrumbComponent, decorators: [{
113
124
  type: Component,
114
125
  args: [{ selector: 'z-breadcrumb', imports: [ZIconComponent, RouterLink, TranslatePipe], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
115
126
  class: 'block min-w-0',
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-breadcrumb.mjs","sources":["../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.variants.ts","../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.component.ts","../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.component.html","../../../../libs/core-ui/components/z-breadcrumb/shival99-z-ui-components-z-breadcrumb.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zBreadcrumbVariants = cva(\n ['text-muted-foreground flex min-w-0 flex-wrap items-center gap-1.5 break-words'],\n {\n variants: {\n zSize: {\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zBreadcrumbItemVariants = cva(['inline-flex min-w-0 items-center gap-2 transition-colors duration-150'], {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-2',\n lg: 'gap-2',\n },\n isActive: {\n true: 'text-foreground font-normal',\n false: 'text-muted-foreground hover:text-foreground cursor-pointer',\n },\n isDisabled: {\n true: 'text-muted-foreground/50 cursor-not-allowed pointer-events-none',\n false: '',\n },\n },\n compoundVariants: [\n {\n isActive: true,\n isDisabled: true,\n class: 'text-muted-foreground/50',\n },\n ],\n defaultVariants: {\n zSize: 'default',\n isActive: false,\n isDisabled: false,\n },\n});\n\nexport const zBreadcrumbHomeVariants = cva(\n ['text-muted-foreground hover:text-foreground inline-flex items-center gap-2 transition-colors duration-150'],\n {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-2',\n lg: 'gap-2',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zBreadcrumbSeparatorVariants = cva(['text-muted-foreground/60 flex shrink-0 items-center'], {\n variants: {\n zSize: {\n sm: '[&_z-icon]:size-3',\n default: '[&_z-icon]:size-3.5',\n lg: '[&_z-icon]:size-4',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZBreadcrumbVariants = VariantProps<typeof zBreadcrumbVariants>;\nexport type ZBreadcrumbItemVariants = VariantProps<typeof zBreadcrumbItemVariants>;\n","import { ChangeDetectionStrategy, Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport type { ZIconVariants, ZIcon } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZBreadcrumbItem, ZBreadcrumbSeparator } from './z-breadcrumb.types';\nimport {\n zBreadcrumbHomeVariants,\n zBreadcrumbItemVariants,\n zBreadcrumbSeparatorVariants,\n zBreadcrumbVariants,\n type ZBreadcrumbVariants,\n} from './z-breadcrumb.variants';\n\n@Component({\n selector: 'z-breadcrumb',\n imports: [ZIconComponent, RouterLink, TranslatePipe],\n standalone: true,\n templateUrl: './z-breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'block min-w-0',\n },\n})\nexport class ZBreadcrumbComponent {\n public readonly zItemClick = output<ZBreadcrumbItem>();\n\n public readonly class = input<ClassValue>('');\n public readonly zItems = input<ZBreadcrumbItem[]>([]);\n public readonly zSize = input<ZBreadcrumbVariants['zSize']>('default');\n public readonly zSeparator = input<ZBreadcrumbSeparator>('lucideChevronRight');\n public readonly zSeparatorSize = input<ZIconVariants['zSize']>('14');\n public readonly zHomeIcon = input<ZIcon | undefined>(undefined);\n public readonly zShowHome = input(false, { transform: zTransform });\n\n protected readonly listClasses = computed(() =>\n zMergeClasses(zBreadcrumbVariants({ zSize: this.zSize() }), this.class())\n );\n\n protected readonly homeClasses = computed(() => zBreadcrumbHomeVariants({ zSize: this.zSize() }));\n protected readonly separatorClasses = computed(() => zBreadcrumbSeparatorVariants({ zSize: this.zSize() }));\n protected readonly separatorIsIcon = computed(() => {\n const separator = this.zSeparator();\n return separator.startsWith('lucide') || separator.startsWith('sax');\n });\n\n protected readonly displayItems = computed(() =>\n this.zItems().map((item, index, items) => {\n const isLast = index === items.length - 1;\n\n return {\n ...item,\n isLast,\n className: zBreadcrumbItemVariants({\n zSize: this.zSize(),\n isActive: isLast,\n isDisabled: item.disabled ?? false,\n }),\n };\n })\n );\n\n protected onItemClick(item: ZBreadcrumbItem, isLast: boolean): void {\n if (isLast || item.disabled) {\n return;\n }\n\n this.zItemClick.emit(item);\n }\n}\n","<nav aria-label=\"Breadcrumb\">\n <ol data-slot=\"breadcrumb-list\" [class]=\"listClasses()\">\n @if (zShowHome() && zHomeIcon()) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n <span\n data-slot=\"breadcrumb-link\"\n [class]=\"homeClasses()\"\n (click)=\"onItemClick({ label: 'Home', path: '/' }, false)\">\n <z-icon [zType]=\"zHomeIcon()!\" [zSize]=\"zSeparatorSize()\" />\n </span>\n </li>\n\n @if (zItems().length > 0) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n\n @for (item of displayItems(); track item.label) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n @if (item.path && !item.isLast && !item.disabled) {\n <a\n data-slot=\"breadcrumb-link\"\n [routerLink]=\"item.path\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </a>\n } @else {\n <span\n [attr.data-slot]=\"item.isLast ? 'breadcrumb-page' : 'breadcrumb-link'\"\n [attr.aria-current]=\"item.isLast ? 'page' : null\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </span>\n }\n </li>\n\n @if (!item.isLast) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n </ol>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shival99-z-ui-components-z-breadcrumb.mjs","sources":["../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.variants.ts","../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.component.ts","../../../../libs/core-ui/components/z-breadcrumb/z-breadcrumb.component.html","../../../../libs/core-ui/components/z-breadcrumb/shival99-z-ui-components-z-breadcrumb.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zBreadcrumbVariants = cva(\n ['text-muted-foreground flex min-w-0 flex-wrap items-center gap-1.5 break-words'],\n {\n variants: {\n zSize: {\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zBreadcrumbItemVariants = cva(['inline-flex min-w-0 items-center gap-2 transition-colors duration-150'], {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-2',\n lg: 'gap-2',\n },\n isActive: {\n true: 'text-foreground font-normal',\n false: 'text-muted-foreground hover:text-foreground cursor-pointer',\n },\n isDisabled: {\n true: 'text-muted-foreground/50 cursor-not-allowed pointer-events-none',\n false: '',\n },\n },\n compoundVariants: [\n {\n isActive: true,\n isDisabled: true,\n class: 'text-muted-foreground/50',\n },\n ],\n defaultVariants: {\n zSize: 'default',\n isActive: false,\n isDisabled: false,\n },\n});\n\nexport const zBreadcrumbHomeVariants = cva(\n ['text-muted-foreground hover:text-foreground inline-flex items-center gap-2 transition-colors duration-150'],\n {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-2',\n lg: 'gap-2',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zBreadcrumbSeparatorVariants = cva(['text-muted-foreground/60 flex shrink-0 items-center'], {\n variants: {\n zSize: {\n sm: '[&_z-icon]:size-3',\n default: '[&_z-icon]:size-3.5',\n lg: '[&_z-icon]:size-4',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZBreadcrumbVariants = VariantProps<typeof zBreadcrumbVariants>;\nexport type ZBreadcrumbItemVariants = VariantProps<typeof zBreadcrumbItemVariants>;\n","import { ChangeDetectionStrategy, Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport type { ZIconVariants, ZIcon } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZBreadcrumbItem, ZBreadcrumbSeparator } from './z-breadcrumb.types';\nimport {\n zBreadcrumbHomeVariants,\n zBreadcrumbItemVariants,\n zBreadcrumbSeparatorVariants,\n zBreadcrumbVariants,\n type ZBreadcrumbVariants,\n} from './z-breadcrumb.variants';\n\n@Component({\n selector: 'z-breadcrumb',\n imports: [ZIconComponent, RouterLink, TranslatePipe],\n standalone: true,\n templateUrl: './z-breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'block min-w-0',\n },\n})\nexport class ZBreadcrumbComponent {\n public readonly zItemClick = output<ZBreadcrumbItem>();\n\n public readonly class = input<ClassValue>('');\n public readonly zItems = input<ZBreadcrumbItem[]>([]);\n public readonly zSize = input<ZBreadcrumbVariants['zSize']>('default');\n public readonly zSeparator = input<ZBreadcrumbSeparator>('lucideChevronRight');\n public readonly zSeparatorSize = input<ZIconVariants['zSize']>('14');\n public readonly zHomeIcon = input<ZIcon | undefined>(undefined);\n public readonly zShowHome = input(false, { transform: zTransform });\n\n protected readonly listClasses = computed(() =>\n zMergeClasses(zBreadcrumbVariants({ zSize: this.zSize() }), this.class())\n );\n\n protected readonly homeClasses = computed(() => zBreadcrumbHomeVariants({ zSize: this.zSize() }));\n protected readonly separatorClasses = computed(() => zBreadcrumbSeparatorVariants({ zSize: this.zSize() }));\n protected readonly separatorIsIcon = computed(() => {\n const separator = this.zSeparator();\n return separator.startsWith('lucide') || separator.startsWith('sax');\n });\n\n protected readonly displayItems = computed(() =>\n this.zItems().map((item, index, items) => {\n const isLast = index === items.length - 1;\n\n return {\n ...item,\n isLast,\n className: zBreadcrumbItemVariants({\n zSize: this.zSize(),\n isActive: isLast,\n isDisabled: item.disabled ?? false,\n }),\n };\n })\n );\n\n protected onItemClick(item: ZBreadcrumbItem, isLast: boolean): void {\n if (isLast || item.disabled) {\n return;\n }\n\n this.zItemClick.emit(item);\n }\n}\n","<nav aria-label=\"Breadcrumb\">\n <ol data-slot=\"breadcrumb-list\" [class]=\"listClasses()\">\n @if (zShowHome() && zHomeIcon()) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n <span\n data-slot=\"breadcrumb-link\"\n [class]=\"homeClasses()\"\n (click)=\"onItemClick({ label: 'Home', path: '/' }, false)\">\n <z-icon [zType]=\"zHomeIcon()!\" [zSize]=\"zSeparatorSize()\" />\n </span>\n </li>\n\n @if (zItems().length > 0) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n\n @for (item of displayItems(); track item.label) {\n <li data-slot=\"breadcrumb-item\" class=\"inline-flex items-center gap-1.5\">\n @if (item.path && !item.isLast && !item.disabled) {\n <a\n data-slot=\"breadcrumb-link\"\n [routerLink]=\"item.path\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </a>\n } @else {\n <span\n [attr.data-slot]=\"item.isLast ? 'breadcrumb-page' : 'breadcrumb-link'\"\n [attr.aria-current]=\"item.isLast ? 'page' : null\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [class]=\"item.className\"\n (click)=\"onItemClick(item, item.isLast)\">\n @if (item.icon) {\n <z-icon [zType]=\"item.icon\" [zSize]=\"zSeparatorSize()\" />\n }\n <span class=\"truncate\">{{ item.label | translate }}</span>\n </span>\n }\n </li>\n\n @if (!item.isLast) {\n <li data-slot=\"breadcrumb-separator\" role=\"presentation\" aria-hidden=\"true\" [class]=\"separatorClasses()\">\n @if (separatorIsIcon()) {\n <z-icon [zType]=\"$any(zSeparator())\" [zSize]=\"zSeparatorSize()\" />\n } @else {\n <span>{{ zSeparator() }}</span>\n }\n </li>\n }\n }\n </ol>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAEa,mBAAmB,GAAG,GAAG,CACpC,CAAC,+EAA+E,CAAC,EACjF;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA;AAGI,MAAM,uBAAuB,GAAG,GAAG,CAAC,CAAC,uEAAuE,CAAC,EAAE;AACpH,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,OAAO;AACX,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,EAAE,EAAE,OAAO;AACZ,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,6BAA6B;AACnC,YAAA,KAAK,EAAE,4DAA4D;AACpE,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,iEAAiE;AACvE,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,0BAA0B;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,uBAAuB,GAAG,GAAG,CACxC,CAAC,2GAA2G,CAAC,EAC7G;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,OAAO;AACX,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,EAAE,EAAE,OAAO;AACZ,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA,CACF;AAEM,MAAM,4BAA4B,GAAG,GAAG,CAAC,CAAC,qDAAqD,CAAC,EAAE;AACvG,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,mBAAmB;AACvB,YAAA,OAAO,EAAE,qBAAqB;AAC9B,YAAA,EAAE,EAAE,mBAAmB;AACxB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA,CAAC;;MChDW,oBAAoB,CAAA;IACf,UAAU,GAAG,MAAM,EAAmB;IAEtC,KAAK,GAAG,KAAK,CAAa,EAAE;8EAAC;IAC7B,MAAM,GAAG,KAAK,CAAoB,EAAE;+EAAC;IACrC,KAAK,GAAG,KAAK,CAA+B,SAAS;8EAAC;IACtD,UAAU,GAAG,KAAK,CAAuB,oBAAoB;mFAAC;IAC9D,cAAc,GAAG,KAAK,CAAyB,IAAI;uFAAC;IACpD,SAAS,GAAG,KAAK,CAAoB,SAAS;kFAAC;IAC/C,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,UAAU,EAAA,CAAG;IAEhD,WAAW,GAAG,QAAQ,CAAC,MACxC,aAAa,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oFAC1E;AAEkB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oFAAC;AAC9E,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,4BAA4B,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;yFAAC;AACxF,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACjD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE;AACnC,QAAA,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IACtE,CAAC;wFAAC;IAEiB,YAAY,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KAAI;QACvC,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAEzC,OAAO;AACL,YAAA,GAAG,IAAI;YACP,MAAM;YACN,SAAS,EAAE,uBAAuB,CAAC;AACjC,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;aACnC,CAAC;SACH;AACH,IAAA,CAAC,CAAC;qFACH;IAES,WAAW,CAAC,IAAqB,EAAE,MAAe,EAAA;AAC1D,QAAA,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3B;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B;uGA5CW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,mjCC3BjC,07EA+DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7CY,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,cAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,6OAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FASxC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,EAAA,UAAA,EACxC,IAAI,EAAA,eAAA,EAEC,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,KAAK,EAAE,eAAe;AACvB,qBAAA,EAAA,QAAA,EAAA,07EAAA,EAAA;;;AEzBH;;AAEG;;;;"}
@@ -7,16 +7,20 @@ const Z_BUTTON_GROUP = new InjectionToken('Z_BUTTON_GROUP');
7
7
 
8
8
  class ZButtonGroupItemDirective {
9
9
  _group = inject(Z_BUTTON_GROUP, { optional: true });
10
- _index = signal(-1, ...(ngDevMode ? [{ debugName: "_index" }] : []));
10
+ _index = signal(-1, /* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "_index" }] : /* istanbul ignore next */ []));
11
12
  /** Khóa ổn định tùy chọn, ưu tiên hơn index khi xác định active. */
12
- zValue = input(...(ngDevMode ? [undefined, { debugName: "zValue" }] : []));
13
- _value = computed(() => this.zValue() ?? this._index(), ...(ngDevMode ? [{ debugName: "_value" }] : []));
13
+ zValue = input(/* @ts-ignore */
14
+ ...(ngDevMode ? [undefined, { debugName: "zValue" }] : /* istanbul ignore next */ []));
15
+ _value = computed(() => this.zValue() ?? this._index(), /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []));
14
17
  isActive = computed(() => {
15
18
  if (!this._group) {
16
19
  return false;
17
20
  }
18
21
  return this._group._isItemActive(this._value());
19
- }, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
22
+ }, /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
20
24
  index = this._index.asReadonly();
21
25
  _setIndex(index) {
22
26
  this._index.set(index);
@@ -27,10 +31,10 @@ class ZButtonGroupItemDirective {
27
31
  }
28
32
  this._group._selectItem(this._value(), this._index());
29
33
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
31
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: ZButtonGroupItemDirective, isStandalone: true, selector: "[z-button-group-item]", inputs: { zValue: { classPropertyName: "zValue", publicName: "zValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.z-button-group-item-active": "isActive()" } }, exportAs: ["zButtonGroupItem"], ngImport: i0 });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: ZButtonGroupItemDirective, isStandalone: true, selector: "[z-button-group-item]", inputs: { zValue: { classPropertyName: "zValue", publicName: "zValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.z-button-group-item-active": "isActive()" } }, exportAs: ["zButtonGroupItem"], ngImport: i0 });
32
36
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupItemDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupItemDirective, decorators: [{
34
38
  type: Directive,
35
39
  args: [{
36
40
  selector: '[z-button-group-item]',
@@ -103,15 +107,18 @@ const zButtonGroupSeparatorVariants = cva('shrink-0 bg-border', {
103
107
  });
104
108
 
105
109
  class ZButtonGroupSeparatorComponent {
106
- zClass = input('', ...(ngDevMode ? [{ debugName: "zClass" }] : []));
107
- zOrientation = input('horizontal', ...(ngDevMode ? [{ debugName: "zOrientation" }] : []));
110
+ zClass = input('', /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "zClass" }] : /* istanbul ignore next */ []));
112
+ zOrientation = input('horizontal', /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "zOrientation" }] : /* istanbul ignore next */ []));
108
114
  zClasses = computed(() => zMergeClasses(zButtonGroupSeparatorVariants({
109
115
  zOrientation: this.zOrientation(),
110
- }), this.zClass()), ...(ngDevMode ? [{ debugName: "zClasses" }] : []));
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: ZButtonGroupSeparatorComponent, isStandalone: true, selector: "z-button-group-separator", inputs: { zClass: { classPropertyName: "zClass", publicName: "zClass", isSignal: true, isRequired: false, transformFunction: null }, zOrientation: { classPropertyName: "zOrientation", publicName: "zOrientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "separator" }, properties: { "class": "zClasses()" } }, exportAs: ["zButtonGroupSeparator"], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
116
+ }), this.zClass()), /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "zClasses" }] : /* istanbul ignore next */ []));
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: ZButtonGroupSeparatorComponent, isStandalone: true, selector: "z-button-group-separator", inputs: { zClass: { classPropertyName: "zClass", publicName: "zClass", isSignal: true, isRequired: false, transformFunction: null }, zOrientation: { classPropertyName: "zOrientation", publicName: "zOrientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "separator" }, properties: { "class": "zClasses()" } }, exportAs: ["zButtonGroupSeparator"], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
113
120
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupSeparatorComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupSeparatorComponent, decorators: [{
115
122
  type: Component,
116
123
  args: [{
117
124
  selector: 'z-button-group-separator',
@@ -128,15 +135,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
128
135
  }], propDecorators: { zClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "zClass", required: false }] }], zOrientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "zOrientation", required: false }] }] } });
129
136
 
130
137
  class ZButtonGroupComponent {
131
- zClass = input('', ...(ngDevMode ? [{ debugName: "zClass" }] : []));
132
- zOrientation = input('horizontal', ...(ngDevMode ? [{ debugName: "zOrientation" }] : []));
133
- zActive = model(null, ...(ngDevMode ? [{ debugName: "zActive" }] : []));
138
+ zClass = input('', /* @ts-ignore */
139
+ ...(ngDevMode ? [{ debugName: "zClass" }] : /* istanbul ignore next */ []));
140
+ zOrientation = input('horizontal', /* @ts-ignore */
141
+ ...(ngDevMode ? [{ debugName: "zOrientation" }] : /* istanbul ignore next */ []));
142
+ zActive = model(null, /* @ts-ignore */
143
+ ...(ngDevMode ? [{ debugName: "zActive" }] : /* istanbul ignore next */ []));
134
144
  zActiveIndexChange = output();
135
145
  zActiveValueChange = output();
136
- _items = contentChildren(ZButtonGroupItemDirective, ...(ngDevMode ? [{ debugName: "_items" }] : []));
146
+ _items = contentChildren(ZButtonGroupItemDirective, /* @ts-ignore */
147
+ ...(ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []));
137
148
  zClasses = computed(() => zMergeClasses(zButtonGroupVariants({
138
149
  zOrientation: this.zOrientation(),
139
- }), this.zClass()), ...(ngDevMode ? [{ debugName: "zClasses" }] : []));
150
+ }), this.zClass()), /* @ts-ignore */
151
+ ...(ngDevMode ? [{ debugName: "zClasses" }] : /* istanbul ignore next */ []));
140
152
  constructor() {
141
153
  effect(() => {
142
154
  const items = this._items();
@@ -154,8 +166,8 @@ class ZButtonGroupComponent {
154
166
  _isItemActive(value) {
155
167
  return this.zActive() === value;
156
168
  }
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.9", type: ZButtonGroupComponent, isStandalone: true, selector: "z-button-group", inputs: { zClass: { classPropertyName: "zClass", publicName: "zClass", isSignal: true, isRequired: false, transformFunction: null }, zOrientation: { classPropertyName: "zOrientation", publicName: "zOrientation", isSignal: true, isRequired: false, transformFunction: null }, zActive: { classPropertyName: "zActive", publicName: "zActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zActive: "zActiveChange", zActiveIndexChange: "zActiveIndexChange", zActiveValueChange: "zActiveValueChange" }, host: { attributes: { "role": "group" }, properties: { "class": "zClasses()" } }, providers: [
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: ZButtonGroupComponent, isStandalone: true, selector: "z-button-group", inputs: { zClass: { classPropertyName: "zClass", publicName: "zClass", isSignal: true, isRequired: false, transformFunction: null }, zOrientation: { classPropertyName: "zOrientation", publicName: "zOrientation", isSignal: true, isRequired: false, transformFunction: null }, zActive: { classPropertyName: "zActive", publicName: "zActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zActive: "zActiveChange", zActiveIndexChange: "zActiveIndexChange", zActiveValueChange: "zActiveValueChange" }, host: { attributes: { "role": "group" }, properties: { "class": "zClasses()" } }, providers: [
159
171
  {
160
172
  provide: Z_BUTTON_GROUP,
161
173
  useExisting: ZButtonGroupComponent,
@@ -164,7 +176,7 @@ class ZButtonGroupComponent {
164
176
  <ng-content />
165
177
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
166
178
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZButtonGroupComponent, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ZButtonGroupComponent, decorators: [{
168
180
  type: Component,
169
181
  args: [{
170
182
  selector: 'z-button-group',