@shival99/z-ui 1.3.40 → 1.3.43

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.
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { viewChild, input, computed, output, signal, inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { ZIconComponent } from '@shival99/z-ui/components/z-icon';
4
+ import { ZTooltipDirective } from '@shival99/z-ui/components/z-tooltip';
4
5
  import { ZTranslateService } from '@shival99/z-ui/services';
5
6
  import { zTransform, zMergeClasses } from '@shival99/z-ui/utils';
6
7
  import { cva } from 'class-variance-authority';
@@ -81,6 +82,7 @@ class ZTagsComponent {
81
82
  zRandomColor = input(false, { ...(ngDevMode ? { debugName: "zRandomColor" } : {}), transform: zTransform });
82
83
  zTagClass = input('', ...(ngDevMode ? [{ debugName: "zTagClass" }] : []));
83
84
  zLabelClass = input('', ...(ngDevMode ? [{ debugName: "zLabelClass" }] : []));
85
+ zShowTooltip = input(false, { ...(ngDevMode ? { debugName: "zShowTooltip" } : {}), transform: zTransform });
84
86
  labelClasses = computed(() => zMergeClasses(this.zLabelClass()), ...(ngDevMode ? [{ debugName: "labelClasses" }] : []));
85
87
  zTagClose = output();
86
88
  zTagAdd = output();
@@ -230,14 +232,14 @@ class ZTagsComponent {
230
232
  this.isAdding.set(false);
231
233
  }
232
234
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
233
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: ZTagsComponent, isStandalone: true, selector: "z-tags", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zTags: { classPropertyName: "zTags", publicName: "zTags", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zColor: { classPropertyName: "zColor", publicName: "zColor", isSignal: true, isRequired: false, transformFunction: null }, zClosable: { classPropertyName: "zClosable", publicName: "zClosable", isSignal: true, isRequired: false, transformFunction: null }, zDisabled: { classPropertyName: "zDisabled", publicName: "zDisabled", isSignal: true, isRequired: false, transformFunction: null }, zAddable: { classPropertyName: "zAddable", publicName: "zAddable", isSignal: true, isRequired: false, transformFunction: null }, zAddText: { classPropertyName: "zAddText", publicName: "zAddText", isSignal: true, isRequired: false, transformFunction: null }, zAddPlaceholder: { classPropertyName: "zAddPlaceholder", publicName: "zAddPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, zRandomColor: { classPropertyName: "zRandomColor", publicName: "zRandomColor", isSignal: true, isRequired: false, transformFunction: null }, zTagClass: { classPropertyName: "zTagClass", publicName: "zTagClass", isSignal: true, isRequired: false, transformFunction: null }, zLabelClass: { classPropertyName: "zLabelClass", publicName: "zLabelClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zTagClose: "zTagClose", zTagAdd: "zTagAdd" }, host: { properties: { "class": "hostClasses()" } }, viewQueries: [{ propertyName: "_addInput", first: true, predicate: ["addInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\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 });
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: ZTagsComponent, isStandalone: true, selector: "z-tags", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zTags: { classPropertyName: "zTags", publicName: "zTags", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zColor: { classPropertyName: "zColor", publicName: "zColor", isSignal: true, isRequired: false, transformFunction: null }, zClosable: { classPropertyName: "zClosable", publicName: "zClosable", isSignal: true, isRequired: false, transformFunction: null }, zDisabled: { classPropertyName: "zDisabled", publicName: "zDisabled", isSignal: true, isRequired: false, transformFunction: null }, zAddable: { classPropertyName: "zAddable", publicName: "zAddable", isSignal: true, isRequired: false, transformFunction: null }, zAddText: { classPropertyName: "zAddText", publicName: "zAddText", isSignal: true, isRequired: false, transformFunction: null }, zAddPlaceholder: { classPropertyName: "zAddPlaceholder", publicName: "zAddPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, zRandomColor: { classPropertyName: "zRandomColor", publicName: "zRandomColor", isSignal: true, isRequired: false, transformFunction: null }, zTagClass: { classPropertyName: "zTagClass", publicName: "zTagClass", isSignal: true, isRequired: false, transformFunction: null }, zLabelClass: { classPropertyName: "zLabelClass", publicName: "zLabelClass", isSignal: true, isRequired: false, transformFunction: null }, zShowTooltip: { classPropertyName: "zShowTooltip", publicName: "zShowTooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zTagClose: "zTagClose", zTagAdd: "zTagAdd" }, host: { properties: { "class": "hostClasses()" } }, viewQueries: [{ propertyName: "_addInput", first: true, predicate: ["addInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n @if (zShowTooltip()) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\" z-tooltip [zContent]=\"tag.label\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n } @else {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\n", dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zSize", "zStrokeWidth", "zSvg"] }, { kind: "directive", type: ZTooltipDirective, selector: "[z-tooltip], [zTooltip]", inputs: ["zContent", "zPosition", "zTrigger", "zTooltipType", "zTooltipSize", "zClass", "zShowDelay", "zHideDelay", "zArrow", "zDisabled", "zOffset", "zAutoDetect", "zTriggerElement", "zAlwaysShow", "zMaxWidth"], outputs: ["zShow", "zHide"], exportAs: ["zTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
234
236
  }
235
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZTagsComponent, decorators: [{
236
238
  type: Component,
237
- args: [{ selector: 'z-tags', imports: [ZIconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
239
+ args: [{ selector: 'z-tags', imports: [ZIconComponent, ZTooltipDirective], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
238
240
  '[class]': 'hostClasses()',
239
- }, template: "<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\n" }]
240
- }], propDecorators: { _addInput: [{ type: i0.ViewChild, args: ['addInput', { isSignal: true }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zTags: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTags", required: false }] }], zSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSize", required: false }] }], zColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "zColor", required: false }] }], zClosable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zClosable", required: false }] }], zDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDisabled", required: false }] }], zAddable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddable", required: false }] }], zAddText: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddText", required: false }] }], zAddPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddPlaceholder", required: false }] }], zRandomColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "zRandomColor", required: false }] }], zTagClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTagClass", required: false }] }], zLabelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "zLabelClass", required: false }] }], zTagClose: [{ type: i0.Output, args: ["zTagClose"] }], zTagAdd: [{ type: i0.Output, args: ["zTagAdd"] }] } });
241
+ }, template: "<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n @if (zShowTooltip()) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\" z-tooltip [zContent]=\"tag.label\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n } @else {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\n" }]
242
+ }], propDecorators: { _addInput: [{ type: i0.ViewChild, args: ['addInput', { isSignal: true }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zTags: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTags", required: false }] }], zSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSize", required: false }] }], zColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "zColor", required: false }] }], zClosable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zClosable", required: false }] }], zDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDisabled", required: false }] }], zAddable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddable", required: false }] }], zAddText: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddText", required: false }] }], zAddPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAddPlaceholder", required: false }] }], zRandomColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "zRandomColor", required: false }] }], zTagClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTagClass", required: false }] }], zLabelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "zLabelClass", required: false }] }], zShowTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "zShowTooltip", required: false }] }], zTagClose: [{ type: i0.Output, args: ["zTagClose"] }], zTagAdd: [{ type: i0.Output, args: ["zTagAdd"] }] } });
241
243
 
242
244
  /**
243
245
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-tags.mjs","sources":["../../../../libs/core-ui/components/z-tags/z-tags.variants.ts","../../../../libs/core-ui/components/z-tags/z-tags.component.ts","../../../../libs/core-ui/components/z-tags/z-tags.component.html","../../../../libs/core-ui/components/z-tags/shival99-z-ui-components-z-tags.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTagsContainerVariants = cva(['flex flex-wrap items-center'], {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-1.5',\n lg: 'gap-2',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zTagVariants = cva(\n ['inline-flex items-center justify-center', 'rounded border font-medium', 'transition-colors duration-200'],\n {\n variants: {\n zSize: {\n sm: 'px-1.5 py-0.5 text-xs gap-1',\n default: 'px-2 py-1 text-xs gap-1.5',\n lg: 'px-2.5 py-1.5 text-sm gap-2',\n },\n zColor: {\n default: 'bg-muted text-muted-foreground border-border hover:bg-muted/80',\n primary: 'bg-primary/10 text-primary border-primary/20 hover:bg-primary/20',\n success: 'bg-green-500/10 text-green-600 border-green-500/20 hover:bg-green-500/20 dark:text-green-400',\n warning: 'bg-yellow-500/10 text-yellow-600 border-yellow-500/20 hover:bg-yellow-500/20 dark:text-yellow-400',\n danger: 'bg-red-500/10 text-red-600 border-red-500/20 hover:bg-red-500/20 dark:text-red-400',\n info: 'bg-blue-500/10 text-blue-600 border-blue-500/20 hover:bg-blue-500/20 dark:text-blue-400',\n },\n zClosable: {\n true: '',\n false: '',\n },\n zDisabled: {\n true: 'opacity-50 cursor-not-allowed pointer-events-none',\n false: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zColor: 'default',\n zClosable: false,\n zDisabled: false,\n },\n }\n);\n\nexport const zTagCloseButtonVariants = cva(\n [\n 'inline-flex items-center justify-center',\n 'rounded-full cursor-pointer',\n 'transition-colors duration-200',\n 'hover:bg-black/10 dark:hover:bg-white/10',\n 'outline-none focus:outline-none',\n ],\n {\n variants: {\n zSize: {\n sm: 'size-3',\n default: 'size-3.5',\n lg: 'size-4',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport type ZTagsContainerVariants = VariantProps<typeof zTagsContainerVariants>;\nexport type ZTagVariants = VariantProps<typeof zTagVariants>;\nexport type ZTagCloseButtonVariants = VariantProps<typeof zTagCloseButtonVariants>;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport { ZTranslateService } from '@shival99/z-ui/services';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZTagColor, ZTagItem, ZTagRandomColorCache, ZTagSize } from './z-tags.types';\nimport { zTagCloseButtonVariants, zTagsContainerVariants, zTagVariants } from './z-tags.variants';\n\n@Component({\n selector: 'z-tags',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-tags.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZTagsComponent implements AfterViewInit {\n private readonly _addInput = viewChild<ElementRef<HTMLInputElement>>('addInput');\n\n public readonly class = input<ClassValue>('');\n public readonly zTags = input<ZTagItem[]>([]);\n public readonly zSize = input<ZTagSize>('default');\n public readonly zColor = input<ZTagColor>('default');\n public readonly zClosable = input(false, { transform: zTransform });\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zAddable = input(false, { transform: zTransform });\n public readonly zAddText = input<string>('');\n public readonly zAddPlaceholder = input<string>('');\n public readonly zRandomColor = input(false, { transform: zTransform });\n public readonly zTagClass = input<ClassValue>('');\n public readonly zLabelClass = input<ClassValue>('');\n\n protected readonly labelClasses = computed(() => zMergeClasses(this.zLabelClass()));\n\n public readonly zTagClose = output<ZTagItem>();\n public readonly zTagAdd = output<string>();\n\n protected readonly isAdding = signal(false);\n private readonly _pendingFocus = signal(false);\n private readonly _randomColorCache = new Map<string | number, ZTagRandomColorCache>();\n\n private readonly _zTranslate = inject(ZTranslateService);\n\n protected readonly hostClasses = computed(() => zMergeClasses('inline-block', this.class()));\n\n protected readonly containerClasses = computed(() => zTagsContainerVariants({ zSize: this.zSize() }));\n\n protected readonly closeButtonClasses = computed(() => zTagCloseButtonVariants({ zSize: this.zSize() }));\n\n protected readonly closeIconSize = computed(() => {\n const sizeMap: Record<ZTagSize, '10' | '12' | '14'> = {\n sm: '10',\n default: '12',\n lg: '14',\n };\n return sizeMap[this.zSize()];\n });\n\n protected readonly effectiveAddText = computed(() => {\n this._zTranslate.currentLang();\n return this.zAddText() || this._zTranslate.instant('i18n_z_ui_tags_add');\n });\n\n protected readonly effectiveAddPlaceholder = computed(() => {\n this._zTranslate.currentLang();\n return this.zAddPlaceholder() || this._zTranslate.instant('i18n_z_ui_tags_placeholder');\n });\n\n protected readonly addInputClasses = computed(() => {\n const sizeClasses: Record<ZTagSize, string> = {\n sm: 'px-1.5 py-0.5 text-xs w-16',\n default: 'px-2 py-1 text-xs w-20',\n lg: 'px-2.5 py-1.5 text-sm w-24',\n };\n return zMergeClasses(\n 'rounded-[6px] border border-input bg-white shadow-xs',\n 'dark:bg-input/30 dark:border-input',\n 'outline-none transition-[border-color,box-shadow] duration-200',\n 'focus:border-ring focus:ring-ring/50 focus:ring-[3px]',\n 'text-foreground placeholder:text-muted-foreground',\n sizeClasses[this.zSize()]\n );\n });\n\n protected readonly addButtonClasses = computed(() => {\n const sizeClasses: Record<ZTagSize, string> = {\n sm: 'px-1.5 py-0.5 text-xs gap-1',\n default: 'px-2 py-1 text-xs gap-1.5',\n lg: 'px-2.5 py-1.5 text-sm gap-2',\n };\n return zMergeClasses(\n 'inline-flex items-center justify-center',\n 'rounded border border-dashed border-border',\n 'text-muted-foreground cursor-pointer',\n 'transition-colors duration-200',\n 'hover:border-primary hover:text-primary hover:bg-primary/5',\n sizeClasses[this.zSize()]\n );\n });\n\n public ngAfterViewInit(): void {\n if (this._pendingFocus()) {\n const inputEl = this._addInput();\n if (inputEl) {\n inputEl.nativeElement.focus();\n this._pendingFocus.set(false);\n }\n }\n }\n\n protected getTagClasses(tag: ZTagItem): string {\n if (this.zRandomColor() && !tag.color) {\n return zMergeClasses(this._getRandomColorClasses(tag), this.zTagClass());\n }\n\n return zMergeClasses(\n zTagVariants({\n zSize: this.zSize(),\n zColor: tag.color || this.zColor(),\n zClosable: this.isClosable(tag),\n zDisabled: tag.disabled || this.zDisabled(),\n }),\n this.zTagClass()\n );\n }\n\n protected getTagStyle(tag: ZTagItem): Record<string, string> | null {\n if (!this.zRandomColor() || tag.color) {\n return null;\n }\n\n const colors = this._getOrCreateRandomColor(tag.value);\n return {\n backgroundColor: colors.bg,\n color: colors.text,\n borderColor: colors.border,\n '--hover-bg': colors.hoverBg,\n } as Record<string, string>;\n }\n\n private _getRandomColorClasses(tag: ZTagItem): string {\n const baseClasses = zTagVariants({\n zSize: this.zSize(),\n zColor: 'default',\n zClosable: this.isClosable(tag),\n zDisabled: tag.disabled || this.zDisabled(),\n });\n\n return baseClasses\n .replace('bg-muted', '')\n .replace('text-muted-foreground', '')\n .replace('border-border', '')\n .replace('hover:bg-muted/80', 'hover:opacity-80');\n }\n\n private _getOrCreateRandomColor(value: string | number): ZTagRandomColorCache {\n const cached = this._randomColorCache.get(value);\n if (cached) {\n return cached;\n }\n\n const hue = Math.floor(Math.random() * 360);\n const saturation = 70 + Math.floor(Math.random() * 20);\n const lightness = 45 + Math.floor(Math.random() * 10);\n\n const colors: ZTagRandomColorCache = {\n bg: `hsl(${hue}, ${saturation}%, 95%)`,\n text: `hsl(${hue}, ${saturation}%, ${lightness}%)`,\n border: `hsl(${hue}, ${saturation}%, 85%)`,\n hoverBg: `hsl(${hue}, ${saturation}%, 90%)`,\n };\n\n this._randomColorCache.set(value, colors);\n return colors;\n }\n\n protected isClosable(tag: ZTagItem): boolean {\n if (tag.disabled || this.zDisabled()) {\n return false;\n }\n\n return tag.closable !== undefined ? tag.closable : this.zClosable();\n }\n\n protected onRemoveTag(tag: ZTagItem, event: Event): void {\n event.stopPropagation();\n if (tag.disabled || this.zDisabled()) {\n return;\n }\n this._randomColorCache.delete(tag.value);\n this.zTagClose.emit(tag);\n }\n\n protected onAddClick(): void {\n this.isAdding.set(true);\n this._pendingFocus.set(true);\n setTimeout(() => {\n const inputEl = this._addInput();\n if (inputEl) {\n inputEl.nativeElement.focus();\n }\n });\n }\n\n protected onAddConfirm(event: Event): void {\n const input = event.target as HTMLInputElement;\n const value = input.value.trim();\n if (value) {\n this.zTagAdd.emit(value);\n input.value = '';\n }\n this.isAdding.set(false);\n }\n\n protected onAddCancel(): void {\n this.isAdding.set(false);\n }\n\n protected onAddBlur(): void {\n const inputEl = this._addInput();\n const input = inputEl?.nativeElement;\n if (input && input.value.trim()) {\n this.zTagAdd.emit(input.value.trim());\n }\n this.isAdding.set(false);\n }\n}\n","<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\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-tags.mjs","sources":["../../../../libs/core-ui/components/z-tags/z-tags.variants.ts","../../../../libs/core-ui/components/z-tags/z-tags.component.ts","../../../../libs/core-ui/components/z-tags/z-tags.component.html","../../../../libs/core-ui/components/z-tags/shival99-z-ui-components-z-tags.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTagsContainerVariants = cva(['flex flex-wrap items-center'], {\n variants: {\n zSize: {\n sm: 'gap-1',\n default: 'gap-1.5',\n lg: 'gap-2',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zTagVariants = cva(\n ['inline-flex items-center justify-center', 'rounded border font-medium', 'transition-colors duration-200'],\n {\n variants: {\n zSize: {\n sm: 'px-1.5 py-0.5 text-xs gap-1',\n default: 'px-2 py-1 text-xs gap-1.5',\n lg: 'px-2.5 py-1.5 text-sm gap-2',\n },\n zColor: {\n default: 'bg-muted text-muted-foreground border-border hover:bg-muted/80',\n primary: 'bg-primary/10 text-primary border-primary/20 hover:bg-primary/20',\n success: 'bg-green-500/10 text-green-600 border-green-500/20 hover:bg-green-500/20 dark:text-green-400',\n warning: 'bg-yellow-500/10 text-yellow-600 border-yellow-500/20 hover:bg-yellow-500/20 dark:text-yellow-400',\n danger: 'bg-red-500/10 text-red-600 border-red-500/20 hover:bg-red-500/20 dark:text-red-400',\n info: 'bg-blue-500/10 text-blue-600 border-blue-500/20 hover:bg-blue-500/20 dark:text-blue-400',\n },\n zClosable: {\n true: '',\n false: '',\n },\n zDisabled: {\n true: 'opacity-50 cursor-not-allowed pointer-events-none',\n false: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zColor: 'default',\n zClosable: false,\n zDisabled: false,\n },\n }\n);\n\nexport const zTagCloseButtonVariants = cva(\n [\n 'inline-flex items-center justify-center',\n 'rounded-full cursor-pointer',\n 'transition-colors duration-200',\n 'hover:bg-black/10 dark:hover:bg-white/10',\n 'outline-none focus:outline-none',\n ],\n {\n variants: {\n zSize: {\n sm: 'size-3',\n default: 'size-3.5',\n lg: 'size-4',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport type ZTagsContainerVariants = VariantProps<typeof zTagsContainerVariants>;\nexport type ZTagVariants = VariantProps<typeof zTagVariants>;\nexport type ZTagCloseButtonVariants = VariantProps<typeof zTagCloseButtonVariants>;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport { ZTooltipDirective } from '@shival99/z-ui/components/z-tooltip';\nimport { ZTranslateService } from '@shival99/z-ui/services';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZTagColor, ZTagItem, ZTagRandomColorCache, ZTagSize } from './z-tags.types';\nimport { zTagCloseButtonVariants, zTagsContainerVariants, zTagVariants } from './z-tags.variants';\n\n@Component({\n selector: 'z-tags',\n imports: [ZIconComponent, ZTooltipDirective],\n standalone: true,\n templateUrl: './z-tags.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZTagsComponent implements AfterViewInit {\n private readonly _addInput = viewChild<ElementRef<HTMLInputElement>>('addInput');\n\n public readonly class = input<ClassValue>('');\n public readonly zTags = input<ZTagItem[]>([]);\n public readonly zSize = input<ZTagSize>('default');\n public readonly zColor = input<ZTagColor>('default');\n public readonly zClosable = input(false, { transform: zTransform });\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zAddable = input(false, { transform: zTransform });\n public readonly zAddText = input<string>('');\n public readonly zAddPlaceholder = input<string>('');\n public readonly zRandomColor = input(false, { transform: zTransform });\n public readonly zTagClass = input<ClassValue>('');\n public readonly zLabelClass = input<ClassValue>('');\n public readonly zShowTooltip = input(false, { transform: zTransform });\n\n protected readonly labelClasses = computed(() => zMergeClasses(this.zLabelClass()));\n\n public readonly zTagClose = output<ZTagItem>();\n public readonly zTagAdd = output<string>();\n\n protected readonly isAdding = signal(false);\n private readonly _pendingFocus = signal(false);\n private readonly _randomColorCache = new Map<string | number, ZTagRandomColorCache>();\n\n private readonly _zTranslate = inject(ZTranslateService);\n\n protected readonly hostClasses = computed(() => zMergeClasses('inline-block', this.class()));\n\n protected readonly containerClasses = computed(() => zTagsContainerVariants({ zSize: this.zSize() }));\n\n protected readonly closeButtonClasses = computed(() => zTagCloseButtonVariants({ zSize: this.zSize() }));\n\n protected readonly closeIconSize = computed(() => {\n const sizeMap: Record<ZTagSize, '10' | '12' | '14'> = {\n sm: '10',\n default: '12',\n lg: '14',\n };\n return sizeMap[this.zSize()];\n });\n\n protected readonly effectiveAddText = computed(() => {\n this._zTranslate.currentLang();\n return this.zAddText() || this._zTranslate.instant('i18n_z_ui_tags_add');\n });\n\n protected readonly effectiveAddPlaceholder = computed(() => {\n this._zTranslate.currentLang();\n return this.zAddPlaceholder() || this._zTranslate.instant('i18n_z_ui_tags_placeholder');\n });\n\n protected readonly addInputClasses = computed(() => {\n const sizeClasses: Record<ZTagSize, string> = {\n sm: 'px-1.5 py-0.5 text-xs w-16',\n default: 'px-2 py-1 text-xs w-20',\n lg: 'px-2.5 py-1.5 text-sm w-24',\n };\n return zMergeClasses(\n 'rounded-[6px] border border-input bg-white shadow-xs',\n 'dark:bg-input/30 dark:border-input',\n 'outline-none transition-[border-color,box-shadow] duration-200',\n 'focus:border-ring focus:ring-ring/50 focus:ring-[3px]',\n 'text-foreground placeholder:text-muted-foreground',\n sizeClasses[this.zSize()]\n );\n });\n\n protected readonly addButtonClasses = computed(() => {\n const sizeClasses: Record<ZTagSize, string> = {\n sm: 'px-1.5 py-0.5 text-xs gap-1',\n default: 'px-2 py-1 text-xs gap-1.5',\n lg: 'px-2.5 py-1.5 text-sm gap-2',\n };\n return zMergeClasses(\n 'inline-flex items-center justify-center',\n 'rounded border border-dashed border-border',\n 'text-muted-foreground cursor-pointer',\n 'transition-colors duration-200',\n 'hover:border-primary hover:text-primary hover:bg-primary/5',\n sizeClasses[this.zSize()]\n );\n });\n\n public ngAfterViewInit(): void {\n if (this._pendingFocus()) {\n const inputEl = this._addInput();\n if (inputEl) {\n inputEl.nativeElement.focus();\n this._pendingFocus.set(false);\n }\n }\n }\n\n protected getTagClasses(tag: ZTagItem): string {\n if (this.zRandomColor() && !tag.color) {\n return zMergeClasses(this._getRandomColorClasses(tag), this.zTagClass());\n }\n\n return zMergeClasses(\n zTagVariants({\n zSize: this.zSize(),\n zColor: tag.color || this.zColor(),\n zClosable: this.isClosable(tag),\n zDisabled: tag.disabled || this.zDisabled(),\n }),\n this.zTagClass()\n );\n }\n\n protected getTagStyle(tag: ZTagItem): Record<string, string> | null {\n if (!this.zRandomColor() || tag.color) {\n return null;\n }\n\n const colors = this._getOrCreateRandomColor(tag.value);\n return {\n backgroundColor: colors.bg,\n color: colors.text,\n borderColor: colors.border,\n '--hover-bg': colors.hoverBg,\n } as Record<string, string>;\n }\n\n private _getRandomColorClasses(tag: ZTagItem): string {\n const baseClasses = zTagVariants({\n zSize: this.zSize(),\n zColor: 'default',\n zClosable: this.isClosable(tag),\n zDisabled: tag.disabled || this.zDisabled(),\n });\n\n return baseClasses\n .replace('bg-muted', '')\n .replace('text-muted-foreground', '')\n .replace('border-border', '')\n .replace('hover:bg-muted/80', 'hover:opacity-80');\n }\n\n private _getOrCreateRandomColor(value: string | number): ZTagRandomColorCache {\n const cached = this._randomColorCache.get(value);\n if (cached) {\n return cached;\n }\n\n const hue = Math.floor(Math.random() * 360);\n const saturation = 70 + Math.floor(Math.random() * 20);\n const lightness = 45 + Math.floor(Math.random() * 10);\n\n const colors: ZTagRandomColorCache = {\n bg: `hsl(${hue}, ${saturation}%, 95%)`,\n text: `hsl(${hue}, ${saturation}%, ${lightness}%)`,\n border: `hsl(${hue}, ${saturation}%, 85%)`,\n hoverBg: `hsl(${hue}, ${saturation}%, 90%)`,\n };\n\n this._randomColorCache.set(value, colors);\n return colors;\n }\n\n protected isClosable(tag: ZTagItem): boolean {\n if (tag.disabled || this.zDisabled()) {\n return false;\n }\n\n return tag.closable !== undefined ? tag.closable : this.zClosable();\n }\n\n protected onRemoveTag(tag: ZTagItem, event: Event): void {\n event.stopPropagation();\n if (tag.disabled || this.zDisabled()) {\n return;\n }\n this._randomColorCache.delete(tag.value);\n this.zTagClose.emit(tag);\n }\n\n protected onAddClick(): void {\n this.isAdding.set(true);\n this._pendingFocus.set(true);\n setTimeout(() => {\n const inputEl = this._addInput();\n if (inputEl) {\n inputEl.nativeElement.focus();\n }\n });\n }\n\n protected onAddConfirm(event: Event): void {\n const input = event.target as HTMLInputElement;\n const value = input.value.trim();\n if (value) {\n this.zTagAdd.emit(value);\n input.value = '';\n }\n this.isAdding.set(false);\n }\n\n protected onAddCancel(): void {\n this.isAdding.set(false);\n }\n\n protected onAddBlur(): void {\n const inputEl = this._addInput();\n const input = inputEl?.nativeElement;\n if (input && input.value.trim()) {\n this.zTagAdd.emit(input.value.trim());\n }\n this.isAdding.set(false);\n }\n}\n","<div [class]=\"containerClasses()\">\n @for (tag of zTags(); track tag.value) {\n @if (zShowTooltip()) {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\" z-tooltip [zContent]=\"tag.label\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n } @else {\n <span [class]=\"getTagClasses(tag)\" [style]=\"getTagStyle(tag)\">\n <span [class]=\"labelClasses()\">{{ tag.label }}</span>\n @if (isClosable(tag)) {\n <button\n type=\"button\"\n [class]=\"closeButtonClasses()\"\n [disabled]=\"tag.disabled || zDisabled()\"\n (click)=\"onRemoveTag(tag, $event)\"\n [attr.aria-label]=\"'Remove ' + tag.label\">\n <z-icon zType=\"lucideX\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n </button>\n }\n </span>\n }\n }\n\n @if (zAddable() && !zDisabled()) {\n @if (isAdding()) {\n <input\n #addInput\n type=\"text\"\n [class]=\"addInputClasses()\"\n [placeholder]=\"effectiveAddPlaceholder()\"\n (keydown.enter)=\"onAddConfirm($event)\"\n (keydown.escape)=\"onAddCancel()\"\n (blur)=\"onAddBlur()\" />\n } @else {\n <button type=\"button\" [class]=\"addButtonClasses()\" (click)=\"onAddClick()\">\n <z-icon zType=\"lucidePlus\" [zSize]=\"closeIconSize()\" class=\"text-current\" />\n <span>{{ effectiveAddText() }}</span>\n </button>\n }\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "1.3.40",
3
+ "version": "1.3.43",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 20+, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -34,6 +34,7 @@ declare class ZTagsComponent implements AfterViewInit {
34
34
  readonly zRandomColor: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
35
35
  readonly zTagClass: _angular_core.InputSignal<ClassValue>;
36
36
  readonly zLabelClass: _angular_core.InputSignal<ClassValue>;
37
+ readonly zShowTooltip: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
37
38
  protected readonly labelClasses: _angular_core.Signal<string>;
38
39
  readonly zTagClose: _angular_core.OutputEmitterRef<ZTagItem>;
39
40
  readonly zTagAdd: _angular_core.OutputEmitterRef<string>;
@@ -61,7 +62,7 @@ declare class ZTagsComponent implements AfterViewInit {
61
62
  protected onAddCancel(): void;
62
63
  protected onAddBlur(): void;
63
64
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTagsComponent, never>;
64
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTagsComponent, "z-tags", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTags": { "alias": "zTags"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zColor": { "alias": "zColor"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zAddable": { "alias": "zAddable"; "required": false; "isSignal": true; }; "zAddText": { "alias": "zAddText"; "required": false; "isSignal": true; }; "zAddPlaceholder": { "alias": "zAddPlaceholder"; "required": false; "isSignal": true; }; "zRandomColor": { "alias": "zRandomColor"; "required": false; "isSignal": true; }; "zTagClass": { "alias": "zTagClass"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; }, { "zTagClose": "zTagClose"; "zTagAdd": "zTagAdd"; }, never, never, true, never>;
65
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTagsComponent, "z-tags", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTags": { "alias": "zTags"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zColor": { "alias": "zColor"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zAddable": { "alias": "zAddable"; "required": false; "isSignal": true; }; "zAddText": { "alias": "zAddText"; "required": false; "isSignal": true; }; "zAddPlaceholder": { "alias": "zAddPlaceholder"; "required": false; "isSignal": true; }; "zRandomColor": { "alias": "zRandomColor"; "required": false; "isSignal": true; }; "zTagClass": { "alias": "zTagClass"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zShowTooltip": { "alias": "zShowTooltip"; "required": false; "isSignal": true; }; }, { "zTagClose": "zTagClose"; "zTagAdd": "zTagAdd"; }, never, never, true, never>;
65
66
  }
66
67
 
67
68
  declare const zTagsContainerVariants: (props?: ({