@shival99/z-ui 1.4.11 → 1.4.13

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.
@@ -10,6 +10,12 @@
10
10
  --scrollbar-thumb-min-size: 40;
11
11
  --scrollbar-hover-opacity-transition-leave-duration: 0.3s;
12
12
  --scrollbar-hover-opacity-transition-leave-delay: 0.5s;
13
+
14
+ /* Shadow tokens */
15
+ --shadow-card: 0 0 5px 0 rgba(0, 0, 0, 0.1), 0 0 1px 0 rgba(0, 0, 0, 0.1);
16
+ --shadow-card-md: 0 2px 8px rgba(0, 0, 0, 0.15);
17
+ --shadow-card-lg: 0 4px 8px -2px rgba(9, 30, 66, 0.25), 0 0 0 1px rgba(9, 30, 66, 0.08);
18
+ --shadow-card-soft: 0 0 0.25em rgba(67, 71, 85, 0.27), 0 0.25em 1em rgba(90, 125, 188, 0.05);
13
19
  }
14
20
 
15
21
  * {
@@ -60,6 +66,27 @@ body {
60
66
  .dark {
61
67
  --scrollbar-thumb-color: #4b5563;
62
68
  --scrollbar-thumb-hover-color: #6b7280;
69
+ --input-autofill: oklch(0.25 0.03 265.94);
70
+ }
71
+
72
+ /* ==================== Utility Classes ==================== */
73
+
74
+ @layer utilities {
75
+ .shadow-card {
76
+ box-shadow: var(--shadow-card);
77
+ }
78
+
79
+ .shadow-card-md {
80
+ box-shadow: var(--shadow-card-md);
81
+ }
82
+
83
+ .shadow-card-lg {
84
+ box-shadow: var(--shadow-card-lg);
85
+ }
86
+
87
+ .shadow-card-soft {
88
+ box-shadow: var(--shadow-card-soft);
89
+ }
63
90
  }
64
91
 
65
92
  /* ==================== CDK Drag-Drop Styles ==================== */
@@ -6,23 +6,23 @@ import { cva } from 'class-variance-authority';
6
6
 
7
7
  const zCardVariants = cva([
8
8
  'block w-full',
9
- 'rounded-lg border border-border',
9
+ 'rounded-[6px] border border-border',
10
10
  'bg-card text-card-foreground',
11
- 'shadow-sm',
11
+ 'shadow-card',
12
12
  'transition-shadow duration-200',
13
13
  ], {
14
14
  variants: {
15
15
  zSize: {
16
- sm: 'shadow-sm',
17
- default: 'shadow-sm',
18
- lg: 'shadow-sm',
16
+ sm: '',
17
+ default: '',
18
+ lg: '',
19
19
  },
20
20
  },
21
21
  defaultVariants: {
22
22
  zSize: 'default',
23
23
  },
24
24
  });
25
- const zCardHeaderVariants = cva(['flex items-center justify-between', 'border-b border-border', 'transition-colors duration-200'], {
25
+ const zCardHeaderVariants = cva(['flex items-center justify-between', 'transition-colors duration-200'], {
26
26
  variants: {
27
27
  zSize: {
28
28
  sm: 'px-3 py-2',
@@ -33,10 +33,15 @@ const zCardHeaderVariants = cva(['flex items-center justify-between', 'border-b
33
33
  true: 'cursor-pointer hover:bg-muted/50',
34
34
  false: '',
35
35
  },
36
+ zCollapsed: {
37
+ true: 'border-b !border-transparent',
38
+ false: 'border-b !border-border',
39
+ },
36
40
  },
37
41
  defaultVariants: {
38
42
  zSize: 'default',
39
43
  zCollapsible: false,
44
+ zCollapsed: false,
40
45
  },
41
46
  });
42
47
  const zCardTitleVariants = cva(['font-medium text-foreground'], {
@@ -83,6 +88,7 @@ class ZCardComponent {
83
88
  headerClasses = computed(() => zCardHeaderVariants({
84
89
  zSize: this.zSize(),
85
90
  zCollapsible: this.zCollapsible(),
91
+ zCollapsed: this.isCollapsed(),
86
92
  }), ...(ngDevMode ? [{ debugName: "headerClasses" }] : []));
87
93
  titleClasses = computed(() => zCardTitleVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
88
94
  contentClasses = computed(() => zCardContentVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "contentClasses" }] : []));
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-card.mjs","sources":["../../../../libs/core-ui/components/z-card/z-card.variants.ts","../../../../libs/core-ui/components/z-card/z-card.component.ts","../../../../libs/core-ui/components/z-card/z-card.component.html","../../../../libs/core-ui/components/z-card/shival99-z-ui-components-z-card.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zCardVariants = cva(\n [\n 'block w-full',\n 'rounded-lg border border-border',\n 'bg-card text-card-foreground',\n 'shadow-sm',\n 'transition-shadow duration-200',\n ],\n {\n variants: {\n zSize: {\n sm: 'shadow-sm',\n default: 'shadow-sm',\n lg: 'shadow-sm',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zCardHeaderVariants = cva(\n ['flex items-center justify-between', 'border-b border-border', 'transition-colors duration-200'],\n {\n variants: {\n zSize: {\n sm: 'px-3 py-2',\n default: 'px-4 py-3',\n lg: 'px-5 py-4',\n },\n zCollapsible: {\n true: 'cursor-pointer hover:bg-muted/50',\n false: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zCollapsible: false,\n },\n }\n);\n\nexport const zCardTitleVariants = cva(['font-medium text-foreground'], {\n variants: {\n zSize: {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zCardContentVariants = cva([''], {\n variants: {\n zSize: {\n sm: 'p-3',\n default: 'p-4',\n lg: 'p-5',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZCardVariants = VariantProps<typeof zCardVariants>;\nexport type ZCardHeaderVariants = VariantProps<typeof zCardHeaderVariants>;\nexport type ZCardTitleVariants = VariantProps<typeof zCardTitleVariants>;\nexport type ZCardContentVariants = VariantProps<typeof zCardContentVariants>;\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZCardSize } from './z-card.types';\nimport { zCardContentVariants, zCardHeaderVariants, zCardTitleVariants, zCardVariants } from './z-card.variants';\n\n@Component({\n selector: 'z-card',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-card.component.html',\n styleUrl: './z-card.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZCardComponent {\n private readonly _customTitle = contentChild<ElementRef>('zCardTitle');\n\n public readonly zCollapsedChange = output<boolean>();\n\n public readonly class = input<ClassValue>('');\n public readonly zTitle = input<string>('');\n public readonly zSize = input<ZCardSize>('default');\n public readonly zCollapsible = input(false, { transform: zTransform });\n public readonly zCollapsed = model<boolean>(false);\n\n protected readonly isCollapsed = computed(() => {\n if (!this.zCollapsible()) {\n return false;\n }\n return this.zCollapsed();\n });\n\n protected readonly hasCustomTitle = computed(() => !!this._customTitle());\n\n protected readonly hostClasses = computed(() => zMergeClasses(zCardVariants({ zSize: this.zSize() }), this.class()));\n\n protected readonly headerClasses = computed(() =>\n zCardHeaderVariants({\n zSize: this.zSize(),\n zCollapsible: this.zCollapsible(),\n })\n );\n\n protected readonly titleClasses = computed(() => zCardTitleVariants({ zSize: this.zSize() }));\n\n protected readonly contentClasses = computed(() => zCardContentVariants({ zSize: this.zSize() }));\n\n protected onHeaderClick(): void {\n if (!this.zCollapsible()) {\n return;\n }\n\n const newState = !this.zCollapsed();\n this.zCollapsed.set(newState);\n this.zCollapsedChange.emit(newState);\n }\n}\n","@if (zTitle() || zCollapsible()) {\n <div\n [class]=\"headerClasses()\"\n (click)=\"onHeaderClick()\"\n (keydown.enter)=\"onHeaderClick()\"\n (keydown.space)=\"onHeaderClick()\"\n [tabindex]=\"zCollapsible() ? 0 : -1\"\n [attr.role]=\"zCollapsible() ? 'button' : null\"\n [attr.aria-expanded]=\"zCollapsible() ? !isCollapsed() : null\">\n <span [class]=\"titleClasses()\">\n <ng-content select=\"[zCardTitle]\" />\n @if (!hasCustomTitle()) {\n {{ zTitle() }}\n }\n </span>\n @if (zCollapsible()) {\n <z-icon\n zType=\"lucideChevronDown\"\n zSize=\"16\"\n class=\"text-muted-foreground shrink-0 transition-transform duration-200\"\n [class.rotate-180]=\"!isCollapsed()\" />\n }\n <ng-content select=\"[zCardExtra]\" />\n </div>\n}\n\n<div class=\"z-card-content\" [class.z-card-content-open]=\"!isCollapsed()\">\n <div class=\"z-card-content-inner\">\n <div [class]=\"contentClasses()\">\n <ng-content />\n </div>\n </div>\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-card.mjs","sources":["../../../../libs/core-ui/components/z-card/z-card.variants.ts","../../../../libs/core-ui/components/z-card/z-card.component.ts","../../../../libs/core-ui/components/z-card/z-card.component.html","../../../../libs/core-ui/components/z-card/shival99-z-ui-components-z-card.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zCardVariants = cva(\n [\n 'block w-full',\n 'rounded-[6px] border border-border',\n 'bg-card text-card-foreground',\n 'shadow-card',\n 'transition-shadow duration-200',\n ],\n {\n variants: {\n zSize: {\n sm: '',\n default: '',\n lg: '',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n }\n);\n\nexport const zCardHeaderVariants = cva(['flex items-center justify-between', 'transition-colors duration-200'], {\n variants: {\n zSize: {\n sm: 'px-3 py-2',\n default: 'px-4 py-3',\n lg: 'px-5 py-4',\n },\n zCollapsible: {\n true: 'cursor-pointer hover:bg-muted/50',\n false: '',\n },\n zCollapsed: {\n true: 'border-b !border-transparent',\n false: 'border-b !border-border',\n },\n },\n defaultVariants: {\n zSize: 'default',\n zCollapsible: false,\n zCollapsed: false,\n },\n});\n\nexport const zCardTitleVariants = cva(['font-medium text-foreground'], {\n variants: {\n zSize: {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport const zCardContentVariants = cva([''], {\n variants: {\n zSize: {\n sm: 'p-3',\n default: 'p-4',\n lg: 'p-5',\n },\n },\n defaultVariants: {\n zSize: 'default',\n },\n});\n\nexport type ZCardVariants = VariantProps<typeof zCardVariants>;\nexport type ZCardHeaderVariants = VariantProps<typeof zCardHeaderVariants>;\nexport type ZCardTitleVariants = VariantProps<typeof zCardTitleVariants>;\nexport type ZCardContentVariants = VariantProps<typeof zCardContentVariants>;\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZIconComponent } from '@shival99/z-ui/components/z-icon';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { ZCardSize } from './z-card.types';\nimport { zCardContentVariants, zCardHeaderVariants, zCardTitleVariants, zCardVariants } from './z-card.variants';\n\n@Component({\n selector: 'z-card',\n imports: [ZIconComponent],\n standalone: true,\n templateUrl: './z-card.component.html',\n styleUrl: './z-card.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class ZCardComponent {\n private readonly _customTitle = contentChild<ElementRef>('zCardTitle');\n\n public readonly zCollapsedChange = output<boolean>();\n\n public readonly class = input<ClassValue>('');\n public readonly zTitle = input<string>('');\n public readonly zSize = input<ZCardSize>('default');\n public readonly zCollapsible = input(false, { transform: zTransform });\n public readonly zCollapsed = model<boolean>(false);\n\n protected readonly isCollapsed = computed(() => {\n if (!this.zCollapsible()) {\n return false;\n }\n return this.zCollapsed();\n });\n\n protected readonly hasCustomTitle = computed(() => !!this._customTitle());\n\n protected readonly hostClasses = computed(() => zMergeClasses(zCardVariants({ zSize: this.zSize() }), this.class()));\n\n protected readonly headerClasses = computed(() =>\n zCardHeaderVariants({\n zSize: this.zSize(),\n zCollapsible: this.zCollapsible(),\n zCollapsed: this.isCollapsed(),\n })\n );\n\n protected readonly titleClasses = computed(() => zCardTitleVariants({ zSize: this.zSize() }));\n\n protected readonly contentClasses = computed(() => zCardContentVariants({ zSize: this.zSize() }));\n\n protected onHeaderClick(): void {\n if (!this.zCollapsible()) {\n return;\n }\n\n const newState = !this.zCollapsed();\n this.zCollapsed.set(newState);\n this.zCollapsedChange.emit(newState);\n }\n}\n","@if (zTitle() || zCollapsible()) {\n <div\n [class]=\"headerClasses()\"\n (click)=\"onHeaderClick()\"\n (keydown.enter)=\"onHeaderClick()\"\n (keydown.space)=\"onHeaderClick()\"\n [tabindex]=\"zCollapsible() ? 0 : -1\"\n [attr.role]=\"zCollapsible() ? 'button' : null\"\n [attr.aria-expanded]=\"zCollapsible() ? !isCollapsed() : null\">\n <span [class]=\"titleClasses()\">\n <ng-content select=\"[zCardTitle]\" />\n @if (!hasCustomTitle()) {\n {{ zTitle() }}\n }\n </span>\n @if (zCollapsible()) {\n <z-icon\n zType=\"lucideChevronDown\"\n zSize=\"16\"\n class=\"text-muted-foreground shrink-0 transition-transform duration-200\"\n [class.rotate-180]=\"!isCollapsed()\" />\n }\n <ng-content select=\"[zCardExtra]\" />\n </div>\n}\n\n<div class=\"z-card-content\" [class.z-card-content-open]=\"!isCollapsed()\">\n <div class=\"z-card-content-inner\">\n <div [class]=\"contentClasses()\">\n <ng-content />\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,aAAa,GAAG,GAAG,CAC9B;IACE,cAAc;IACd,oCAAoC;IACpC,8BAA8B;IAC9B,aAAa;IACb,gCAAgC;CACjC,EACD;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,EAAE,EAAE,EAAE;AACP,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA;AAGI,MAAM,mBAAmB,GAAG,GAAG,CAAC,CAAC,mCAAmC,EAAE,gCAAgC,CAAC,EAAE;AAC9G,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,kCAAkC;AACxC,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,8BAA8B;AACpC,YAAA,KAAK,EAAE,yBAAyB;AACjC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA;AACF,CAAA;MAEY,kBAAkB,GAAG,GAAG,CAAC,CAAC,6BAA6B,CAAC,EAAE;AACrE,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,EAAE,EAAE,SAAS;AACd,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA;MAEY,oBAAoB,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;AAC5C,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,EAAE,EAAE,KAAK;AACV,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,SAAS;AACjB,KAAA;AACF,CAAA;;MC1CY,cAAc,CAAA;AACR,IAAA,YAAY,GAAG,YAAY,CAAa,YAAY,wDAAC;IAEtD,gBAAgB,GAAG,MAAM,EAAW;AAEpC,IAAA,KAAK,GAAG,KAAK,CAAa,EAAE,iDAAC;AAC7B,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;AAC1B,IAAA,KAAK,GAAG,KAAK,CAAY,SAAS,iDAAC;IACnC,YAAY,GAAG,KAAK,CAAC,KAAK,yDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AACtD,IAAA,UAAU,GAAG,KAAK,CAAU,KAAK,sDAAC;AAE/B,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;AACxB,YAAA,OAAO,KAAK;QACd;AACA,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;AAC1B,IAAA,CAAC,uDAAC;AAEiB,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,0DAAC;IAEtD,WAAW,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEjG,IAAA,aAAa,GAAG,QAAQ,CAAC,MAC1C,mBAAmB,CAAC;AAClB,QAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,QAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,KAAA,CAAC,yDACH;AAEkB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,wDAAC;AAE1E,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,0DAAC;IAEvF,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACxB;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;AACnC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtC;uGA1CW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7B3B,+gCAiCA,EAAA,MAAA,EAAA,CAAA,iOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDdY,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,cAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAUb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAQ,EAAA,OAAA,EACT,CAAC,cAAc,CAAC,cACb,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA,EAAA,QAAA,EAAA,+gCAAA,EAAA,MAAA,EAAA,CAAA,iOAAA,CAAA,EAAA;6EAGwD,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE9BvE;;AAEG;;;;"}
@@ -9,7 +9,7 @@ import { Subject, switchMap, of, timer, map, filter } from 'rxjs';
9
9
  import { cva } from 'class-variance-authority';
10
10
 
11
11
  const zPopoverVariants = cva([
12
- 'z-popover relative z-[9999] rounded-[6px] shadow-md',
12
+ 'z-popover relative rounded-[6px] shadow-md',
13
13
  'bg-popover text-popover-foreground border border-border',
14
14
  'z-animate-in z-fade-in z-duration-200',
15
15
  ], {
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-popover.mjs","sources":["../../../../libs/core-ui/components/z-popover/z-popover.variants.ts","../../../../libs/core-ui/components/z-popover/z-popover.content.component.ts","../../../../libs/core-ui/components/z-popover/z-popover.positions.ts","../../../../libs/core-ui/components/z-popover/z-popover.types.ts","../../../../libs/core-ui/components/z-popover/z-popover.component.ts","../../../../libs/core-ui/components/z-popover/directives/z-popover.directive.ts","../../../../libs/core-ui/components/z-popover/shival99-z-ui-components-z-popover.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zPopoverVariants = cva(\n [\n 'z-popover relative z-[9999] rounded-[6px] shadow-md',\n 'bg-popover text-popover-foreground border border-border',\n 'z-animate-in z-fade-in z-duration-200',\n ],\n {\n variants: {\n zPosition: {\n top: 'z-slide-in-from-bottom-4',\n 'top-left': 'z-slide-in-from-bottom-4',\n 'top-right': 'z-slide-in-from-bottom-4',\n bottom: 'z-slide-in-from-top-4',\n 'bottom-left': 'z-slide-in-from-top-4',\n 'bottom-right': 'z-slide-in-from-top-4',\n left: 'z-slide-in-from-right-4',\n 'left-top': 'z-slide-in-from-right-4',\n 'left-bottom': 'z-slide-in-from-right-4',\n right: 'z-slide-in-from-left-4',\n 'right-top': 'z-slide-in-from-left-4',\n 'right-bottom': 'z-slide-in-from-left-4',\n },\n },\n defaultVariants: {\n zPosition: 'bottom',\n },\n }\n);\n\nexport const zPopoverExitVariants = cva('z-animate-out z-fade-out z-duration-200', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-4',\n 'top-left': 'z-slide-out-to-bottom-4',\n 'top-right': 'z-slide-out-to-bottom-4',\n bottom: 'z-slide-out-to-top-4',\n 'bottom-left': 'z-slide-out-to-top-4',\n 'bottom-right': 'z-slide-out-to-top-4',\n left: 'z-slide-out-to-right-4',\n 'left-top': 'z-slide-out-to-right-4',\n 'left-bottom': 'z-slide-out-to-right-4',\n right: 'z-slide-out-to-left-4',\n 'right-top': 'z-slide-out-to-left-4',\n 'right-bottom': 'z-slide-out-to-left-4',\n },\n },\n defaultVariants: {\n zPosition: 'bottom',\n },\n});\n\nexport const zPopoverContentVariants = cva('relative z-10 rounded-[6px] bg-popover', {\n variants: {},\n defaultVariants: {},\n});\n\nexport const zPopoverArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[2px] bg-popover', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b border-border',\n 'top-left': '-bottom-1 left-3 border-r border-b border-border',\n 'top-right': '-bottom-1 right-3 border-r border-b border-border',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t border-border',\n 'bottom-left': '-top-1 left-3 border-l border-t border-border',\n 'bottom-right': '-top-1 right-3 border-l border-t border-border',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r border-border',\n 'left-top': 'top-2 -right-1 border-t border-r border-border',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r border-border',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l border-border',\n 'right-top': 'top-2 -left-1 border-b border-l border-border',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l border-border',\n },\n },\n defaultVariants: {\n position: 'bottom',\n },\n});\n\nexport type ZPopoverVariants = VariantProps<typeof zPopoverVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ZPopoverContent, ZPopoverContext, ZPopoverPosition } from './z-popover.types';\nimport {\n zPopoverArrowVariants,\n zPopoverContentVariants,\n zPopoverExitVariants,\n zPopoverVariants,\n} from './z-popover.variants';\n\n@Component({\n selector: 'z-popover-content',\n imports: [NgTemplateOutlet],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content -->\n <div [class]=\"contentClasses()\">\n <ng-container\n [ngTemplateOutlet]=\"content()\"\n [ngTemplateOutletContext]=\"{ $implicit: context(), close: context().close }\"\n />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n },\n})\nexport class ZPopoverContentComponent {\n public readonly content = signal<ZPopoverContent | null>(null);\n public readonly position = signal<ZPopoverPosition>('bottom');\n public readonly popoverClass = signal('');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly closeHandler = signal<() => void>(() => {});\n public readonly showArrow = signal(false);\n public readonly arrowOffset = signal<number>(0);\n\n public readonly context = computed<ZPopoverContext>(() => ({\n close: this.closeHandler(),\n }));\n\n protected readonly classes = computed(() => {\n const baseClasses = zPopoverVariants({\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? zPopoverExitVariants({ zPosition: this.position() }) : '';\n\n return zMergeClasses(baseClasses, exitClasses, this.popoverClass());\n });\n\n protected readonly contentClasses = computed(() => zMergeClasses(zPopoverContentVariants({})));\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zPopoverArrowVariants({\n position: this.position(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n public setProps(config: {\n content: ZPopoverContent;\n position: ZPopoverPosition;\n customClass?: string;\n onClose?: () => void;\n showArrow?: boolean;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.customClass) {\n this.popoverClass.set(config.customClass);\n }\n if (config.onClose) {\n this.closeHandler.set(config.onClose);\n }\n if (config.showArrow !== undefined) {\n this.showArrow.set(config.showArrow);\n }\n }\n}\n","import type { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\nimport type { ZPopoverPosition } from './z-popover.types';\n\nexport function createPopoverPosition(position: ZPopoverPosition, offset: number): ConnectedPosition {\n const positions: Record<ZPopoverPosition, ConnectedPosition> = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -offset,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -offset,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -offset,\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: offset,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: offset,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: offset,\n },\n };\n\n return positions[position];\n}\n\nexport function getPopoverFallbackPositions(position: ZPopoverPosition, offset: number): ConnectedPosition[] {\n const fallbackOrder: Record<ZPopoverPosition, ZPopoverPosition[]> = {\n // Top positions: if overflows right, try left; if overflows top, try bottom\n top: ['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right'],\n 'top-left': ['top-left', 'top', 'top-right', 'bottom-left', 'bottom', 'bottom-right'],\n 'top-right': ['top-right', 'top', 'top-left', 'bottom-right', 'bottom', 'bottom-left'],\n\n // Bottom positions: if overflows right, try left; if overflows bottom, try top\n bottom: ['bottom', 'bottom-left', 'bottom-right', 'top', 'top-left', 'top-right'],\n 'bottom-left': ['bottom-left', 'bottom', 'bottom-right', 'top-left', 'top', 'top-right'],\n 'bottom-right': ['bottom-right', 'bottom', 'bottom-left', 'top-right', 'top', 'top-left'],\n\n // Left positions: if overflows top, try bottom; if overflows left, try right\n left: ['left', 'left-top', 'left-bottom', 'right', 'right-top', 'right-bottom'],\n 'left-top': ['left-top', 'left', 'left-bottom', 'right-top', 'right', 'right-bottom'],\n 'left-bottom': ['left-bottom', 'left', 'left-top', 'right-bottom', 'right', 'right-top'],\n\n // Right positions: if overflows top, try bottom; if overflows right, try left\n right: ['right', 'right-top', 'right-bottom', 'left', 'left-top', 'left-bottom'],\n 'right-top': ['right-top', 'right', 'right-bottom', 'left-top', 'left', 'left-bottom'],\n 'right-bottom': ['right-bottom', 'right', 'right-top', 'left-bottom', 'left', 'left-top'],\n };\n\n const orderedPositions = fallbackOrder[position] ?? [position];\n\n return orderedPositions.map(pos => createPopoverPosition(pos, offset));\n}\n\nexport function getActualPopoverPosition(change: ConnectedOverlayPositionChange): ZPopoverPosition {\n const { originX, originY, overlayX, overlayY } = change.connectionPair;\n\n if (overlayY === 'bottom' && originY === 'top') {\n if (originX === 'start' && overlayX === 'start') {\n return 'top-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'top-right';\n }\n return 'top';\n }\n\n if (overlayY === 'top' && originY === 'bottom') {\n if (originX === 'start' && overlayX === 'start') {\n return 'bottom-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'bottom-right';\n }\n return 'bottom';\n }\n\n if (overlayX === 'end' && originX === 'start') {\n if (originY === 'top' && overlayY === 'top') {\n return 'left-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'left-bottom';\n }\n return 'left';\n }\n\n if (overlayX === 'start' && originX === 'end') {\n if (originY === 'top' && overlayY === 'top') {\n return 'right-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'right-bottom';\n }\n return 'right';\n }\n\n return 'top';\n}\n","import type { TemplateRef } from '@angular/core';\n\nexport const Z_POPOVER_ANIMATION_DURATION = 200;\nexport type ZPopoverTrigger = 'click' | 'hover';\nexport type ZPopoverPosition =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n | 'right'\n | 'right-top'\n | 'right-bottom';\n\nexport type ZPopoverContent = TemplateRef<unknown>;\n\nexport interface ZPopoverDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZPopoverControl {\n close: () => void;\n closeImmediate: () => void;\n show: () => void;\n toggle: () => void;\n isVisible: () => boolean;\n}\n\nexport interface ZPopoverContext {\n close: () => void;\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n type ComponentRef,\n DestroyRef,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZPopoverContentComponent } from './z-popover.content.component';\nimport { getActualPopoverPosition, getPopoverFallbackPositions } from './z-popover.positions';\nimport {\n Z_POPOVER_ANIMATION_DURATION,\n type ZPopoverContent,\n type ZPopoverControl,\n type ZPopoverDelayConfig,\n type ZPopoverPosition,\n type ZPopoverTrigger,\n} from './z-popover.types';\n\n@Component({\n selector: 'z-popover',\n standalone: true,\n template: `\n <span #trigger class=\"z-popover-trigger inline-block\">\n <ng-content />\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'inline-block',\n },\n})\nexport class ZPopoverComponent implements OnInit, OnDestroy {\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private readonly _trigger = viewChild.required<ElementRef<HTMLElement>>('trigger');\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n public readonly zControl = output<ZPopoverControl>();\n\n public readonly zContent = input<ZPopoverContent | null>(null);\n public readonly zPosition = input<ZPopoverPosition>('bottom');\n public readonly zTrigger = input<ZPopoverTrigger>('click');\n public readonly zClass = input('');\n public readonly zShowDelay = input(0);\n public readonly zHideDelay = input(0);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zManualClose = input(false, { transform: zTransform });\n public readonly zScrollClose = input(false, { transform: zTransform });\n public readonly zShowArrow = input(false, { transform: zTransform });\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZPopoverContentComponent> | null = null;\n private _delaySubject = new Subject<ZPopoverDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private _scrollSubscription: Subscription | null = null;\n private _resizeObserver: ResizeObserver | null = null;\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n this._emitControl();\n }\n\n private _emitControl(): void {\n this.zControl.emit({\n close: () => this.hide(),\n closeImmediate: () => this.hideImmediate(),\n show: () => this.show(),\n toggle: () => this.toggle(),\n isVisible: () => this._isVisible(),\n });\n }\n\n ngOnDestroy(): void {\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public hideImmediate(): void {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public isOpen(): boolean {\n return this._isVisible();\n }\n\n private _createOverlay(): OverlayRef {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._trigger())\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true)\n .withViewportMargin(8);\n\n const scrollStrategy = this.zScrollClose()\n ? this._overlay.scrollStrategies.close()\n : this._overlay.scrollStrategies.reposition({ scrollThrottle: 10, autoClose: false });\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: false,\n });\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._scrollSubscription?.unsubscribe();\n this._scrollSubscription = null;\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showPopover();\n return;\n }\n\n this._hidePopover();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n const triggerEl = this._trigger().nativeElement;\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'focus', () => this.show())\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n }\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', (event: Event) => {\n event.stopPropagation();\n this.toggle();\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => !this.zManualClose()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(event => {\n const triggerEl = this._trigger().nativeElement;\n if (!triggerEl.contains(event.target as Node)) {\n this._delay(false, 0);\n }\n });\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _setupScrollClose(): void {\n if (this.zManualClose()) {\n return;\n }\n\n this._scrollSubscription?.unsubscribe();\n\n let ticking = false;\n const onScroll = (event: Event) => {\n if (!this._isVisible() || !this._overlayRef) {\n return;\n }\n\n const { target } = event;\n const { overlayElement } = this._overlayRef;\n if (overlayElement && overlayElement.contains(target as Node)) {\n return;\n }\n\n if (this.zScrollClose()) {\n this.hideImmediate();\n return;\n }\n\n if (ticking) {\n return;\n }\n\n ticking = true;\n requestAnimationFrame(() => {\n this._overlayRef?.updatePosition();\n ticking = false;\n });\n };\n\n this._document.addEventListener('scroll', onScroll, true);\n\n this._scrollSubscription = {\n unsubscribe: () => {\n this._document.removeEventListener('scroll', onScroll, true);\n },\n } as Subscription;\n }\n\n private _showPopover(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n this._setupScrollClose();\n\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._trigger())\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true)\n .withViewportMargin(8);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n const portal = new ComponentPortal(ZPopoverContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n customClass: this.zClass(),\n onClose: () => this.hide(),\n showArrow: this.zShowArrow(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPopoverPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupPopoverHover();\n }\n\n this._setupResizeObserver();\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupResizeObserver(): void {\n this._resizeObserver?.disconnect();\n\n this._resizeObserver = new ResizeObserver(() => {\n if (this._overlayRef && this._isVisible()) {\n this._overlayRef.updatePosition();\n }\n });\n\n this._resizeObserver.observe(this._trigger().nativeElement);\n }\n\n private _setupPopoverHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n })\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n }\n\n private _hidePopover(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n setTimeout(() => {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_POPOVER_ANIMATION_DURATION);\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZPopoverContentComponent } from '../z-popover.content.component';\nimport { getActualPopoverPosition, getPopoverFallbackPositions } from '../z-popover.positions';\nimport {\n Z_POPOVER_ANIMATION_DURATION,\n type ZPopoverContent,\n type ZPopoverControl,\n type ZPopoverDelayConfig,\n type ZPopoverPosition,\n type ZPopoverTrigger,\n} from '../z-popover.types';\n\n@Directive({\n selector: '[z-popover]',\n standalone: true,\n exportAs: 'zPopover',\n})\nexport class ZPopoverDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZPopoverContent | null>(null, {\n alias: 'zPopoverContent',\n });\n\n public readonly zPosition = input<ZPopoverPosition>('bottom');\n public readonly zTrigger = input<ZPopoverTrigger>('click');\n public readonly zClass = input('');\n public readonly zShowDelay = input(0);\n public readonly zHideDelay = input(0);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zPopoverWidth = input<'auto' | 'trigger' | number>('auto');\n public readonly zManualClose = input(false, { transform: zTransform });\n public readonly zScrollClose = input(false, { transform: zTransform });\n public readonly zShowArrow = input(false, { transform: zTransform });\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n public readonly zHideStart = output<void>();\n public readonly zControl = output<ZPopoverControl>();\n\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZPopoverContentComponent> | null = null;\n private _delaySubject = new Subject<ZPopoverDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private _scrollSubscription: Subscription | null = null;\n private _resizeObserver: ResizeObserver | null = null;\n private _hideTimeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _isDestroyed = signal(false);\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n this._emitControl();\n }\n\n private _emitControl(): void {\n this.zControl.emit({\n close: () => this.hide(),\n closeImmediate: () => this.hideImmediate(),\n show: () => this.show(),\n toggle: () => this.toggle(),\n isVisible: () => this._isVisible(),\n });\n }\n\n ngOnDestroy(): void {\n this._isDestroyed.set(true);\n this._clearHideTimeout();\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public hideImmediate(): void {\n if (this._isVisible()) {\n this._isVisible.set(false);\n this.zHideStart.emit();\n }\n this._disposeOverlay();\n this.zHide.emit();\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public isOpen(): boolean {\n return this._isVisible();\n }\n\n private _createOverlay(): OverlayRef {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(this.zScrollClose())\n .withViewportMargin(8);\n\n const widthConfig = this._getWidthConfig();\n\n const scrollStrategy = this.zScrollClose()\n ? this._overlay.scrollStrategies.close()\n : this._overlay.scrollStrategies.reposition();\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: false,\n ...widthConfig,\n });\n }\n\n private _getWidthConfig(): { width?: number | string; minWidth?: number | string } {\n const width = this.zPopoverWidth();\n\n if (width === 'auto') {\n return {};\n }\n\n if (width === 'trigger') {\n const triggerWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n return { width: `${triggerWidth}px`, minWidth: `${triggerWidth}px` };\n }\n\n return { width, minWidth: width };\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._scrollSubscription?.unsubscribe();\n this._scrollSubscription = null;\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showPopover();\n return;\n }\n\n this._hidePopover();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'mouseenter', () => this.show()),\n this._renderer.listen(this._elementRef.nativeElement, 'focus', () => this.show())\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'mouseleave', () => this.hide()),\n this._renderer.listen(this._elementRef.nativeElement, 'blur', () => this.hide())\n );\n }\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n event.stopPropagation();\n this.toggle();\n }),\n this._renderer.listen(this._elementRef.nativeElement, 'touchend', (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => !this.zManualClose()),\n filter(() => this.zTrigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _setupScrollClose(): void {\n this._scrollSubscription?.unsubscribe();\n\n let ticking = false;\n const onScroll = (event: Event) => {\n if (!this._isVisible() || !this._overlayRef) {\n return;\n }\n\n const { target } = event;\n const { overlayElement } = this._overlayRef;\n if (overlayElement && overlayElement.contains(target as Node)) {\n return;\n }\n\n if (this.zScrollClose() && !this.zManualClose()) {\n this.hideImmediate();\n return;\n }\n\n if (ticking) {\n return;\n }\n\n ticking = true;\n requestAnimationFrame(() => {\n this._overlayRef?.updatePosition();\n ticking = false;\n });\n };\n\n this._document.addEventListener('scroll', onScroll, true);\n this._scrollSubscription = {\n unsubscribe: () => {\n this._document.removeEventListener('scroll', onScroll, true);\n },\n } as Subscription;\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _showPopover(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n this._setupScrollClose();\n\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(this.zScrollClose())\n .withViewportMargin(8);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n\n const widthConfig = this._getWidthConfig();\n if (widthConfig.width) {\n this._overlayRef.updateSize({ width: widthConfig.width, minWidth: widthConfig.minWidth });\n }\n\n const portal = new ComponentPortal(ZPopoverContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n customClass: this.zClass(),\n onClose: () => this.hide(),\n showArrow: this.zShowArrow(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPopoverPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupPopoverHover();\n }\n\n this._setupResizeObserver();\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupResizeObserver(): void {\n this._resizeObserver?.disconnect();\n\n this._resizeObserver = new ResizeObserver(() => {\n if (this._overlayRef && this._isVisible()) {\n this._overlayRef.updatePosition();\n\n const widthConfig = this._getWidthConfig();\n if (widthConfig.width) {\n this._overlayRef.updateSize({ width: widthConfig.width, minWidth: widthConfig.minWidth });\n }\n }\n });\n\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n\n private _setupPopoverHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n })\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n }\n\n private _hidePopover(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._isVisible.set(false);\n this.zHideStart.emit();\n this._componentRef.instance.state.set('closed');\n this._clearHideTimeout();\n this._hideTimeout = setTimeout(() => {\n if (this._isDestroyed()) {\n return;\n }\n this._disposeOverlay();\n this.zHide.emit();\n }, Z_POPOVER_ANIMATION_DURATION);\n }\n\n private _clearHideTimeout(): void {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\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-popover.mjs","sources":["../../../../libs/core-ui/components/z-popover/z-popover.variants.ts","../../../../libs/core-ui/components/z-popover/z-popover.content.component.ts","../../../../libs/core-ui/components/z-popover/z-popover.positions.ts","../../../../libs/core-ui/components/z-popover/z-popover.types.ts","../../../../libs/core-ui/components/z-popover/z-popover.component.ts","../../../../libs/core-ui/components/z-popover/directives/z-popover.directive.ts","../../../../libs/core-ui/components/z-popover/shival99-z-ui-components-z-popover.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zPopoverVariants = cva(\n [\n 'z-popover relative rounded-[6px] shadow-md',\n 'bg-popover text-popover-foreground border border-border',\n 'z-animate-in z-fade-in z-duration-200',\n ],\n {\n variants: {\n zPosition: {\n top: 'z-slide-in-from-bottom-4',\n 'top-left': 'z-slide-in-from-bottom-4',\n 'top-right': 'z-slide-in-from-bottom-4',\n bottom: 'z-slide-in-from-top-4',\n 'bottom-left': 'z-slide-in-from-top-4',\n 'bottom-right': 'z-slide-in-from-top-4',\n left: 'z-slide-in-from-right-4',\n 'left-top': 'z-slide-in-from-right-4',\n 'left-bottom': 'z-slide-in-from-right-4',\n right: 'z-slide-in-from-left-4',\n 'right-top': 'z-slide-in-from-left-4',\n 'right-bottom': 'z-slide-in-from-left-4',\n },\n },\n defaultVariants: {\n zPosition: 'bottom',\n },\n }\n);\n\nexport const zPopoverExitVariants = cva('z-animate-out z-fade-out z-duration-200', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-4',\n 'top-left': 'z-slide-out-to-bottom-4',\n 'top-right': 'z-slide-out-to-bottom-4',\n bottom: 'z-slide-out-to-top-4',\n 'bottom-left': 'z-slide-out-to-top-4',\n 'bottom-right': 'z-slide-out-to-top-4',\n left: 'z-slide-out-to-right-4',\n 'left-top': 'z-slide-out-to-right-4',\n 'left-bottom': 'z-slide-out-to-right-4',\n right: 'z-slide-out-to-left-4',\n 'right-top': 'z-slide-out-to-left-4',\n 'right-bottom': 'z-slide-out-to-left-4',\n },\n },\n defaultVariants: {\n zPosition: 'bottom',\n },\n});\n\nexport const zPopoverContentVariants = cva('relative z-10 rounded-[6px] bg-popover', {\n variants: {},\n defaultVariants: {},\n});\n\nexport const zPopoverArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[2px] bg-popover', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b border-border',\n 'top-left': '-bottom-1 left-3 border-r border-b border-border',\n 'top-right': '-bottom-1 right-3 border-r border-b border-border',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t border-border',\n 'bottom-left': '-top-1 left-3 border-l border-t border-border',\n 'bottom-right': '-top-1 right-3 border-l border-t border-border',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r border-border',\n 'left-top': 'top-2 -right-1 border-t border-r border-border',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r border-border',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l border-border',\n 'right-top': 'top-2 -left-1 border-b border-l border-border',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l border-border',\n },\n },\n defaultVariants: {\n position: 'bottom',\n },\n});\n\nexport type ZPopoverVariants = VariantProps<typeof zPopoverVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ZPopoverContent, ZPopoverContext, ZPopoverPosition } from './z-popover.types';\nimport {\n zPopoverArrowVariants,\n zPopoverContentVariants,\n zPopoverExitVariants,\n zPopoverVariants,\n} from './z-popover.variants';\n\n@Component({\n selector: 'z-popover-content',\n imports: [NgTemplateOutlet],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content -->\n <div [class]=\"contentClasses()\">\n <ng-container\n [ngTemplateOutlet]=\"content()\"\n [ngTemplateOutletContext]=\"{ $implicit: context(), close: context().close }\"\n />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n },\n})\nexport class ZPopoverContentComponent {\n public readonly content = signal<ZPopoverContent | null>(null);\n public readonly position = signal<ZPopoverPosition>('bottom');\n public readonly popoverClass = signal('');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly closeHandler = signal<() => void>(() => {});\n public readonly showArrow = signal(false);\n public readonly arrowOffset = signal<number>(0);\n\n public readonly context = computed<ZPopoverContext>(() => ({\n close: this.closeHandler(),\n }));\n\n protected readonly classes = computed(() => {\n const baseClasses = zPopoverVariants({\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? zPopoverExitVariants({ zPosition: this.position() }) : '';\n\n return zMergeClasses(baseClasses, exitClasses, this.popoverClass());\n });\n\n protected readonly contentClasses = computed(() => zMergeClasses(zPopoverContentVariants({})));\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zPopoverArrowVariants({\n position: this.position(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n public setProps(config: {\n content: ZPopoverContent;\n position: ZPopoverPosition;\n customClass?: string;\n onClose?: () => void;\n showArrow?: boolean;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.customClass) {\n this.popoverClass.set(config.customClass);\n }\n if (config.onClose) {\n this.closeHandler.set(config.onClose);\n }\n if (config.showArrow !== undefined) {\n this.showArrow.set(config.showArrow);\n }\n }\n}\n","import type { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\nimport type { ZPopoverPosition } from './z-popover.types';\n\nexport function createPopoverPosition(position: ZPopoverPosition, offset: number): ConnectedPosition {\n const positions: Record<ZPopoverPosition, ConnectedPosition> = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -offset,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -offset,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -offset,\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: offset,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: offset,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: offset,\n },\n };\n\n return positions[position];\n}\n\nexport function getPopoverFallbackPositions(position: ZPopoverPosition, offset: number): ConnectedPosition[] {\n const fallbackOrder: Record<ZPopoverPosition, ZPopoverPosition[]> = {\n // Top positions: if overflows right, try left; if overflows top, try bottom\n top: ['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right'],\n 'top-left': ['top-left', 'top', 'top-right', 'bottom-left', 'bottom', 'bottom-right'],\n 'top-right': ['top-right', 'top', 'top-left', 'bottom-right', 'bottom', 'bottom-left'],\n\n // Bottom positions: if overflows right, try left; if overflows bottom, try top\n bottom: ['bottom', 'bottom-left', 'bottom-right', 'top', 'top-left', 'top-right'],\n 'bottom-left': ['bottom-left', 'bottom', 'bottom-right', 'top-left', 'top', 'top-right'],\n 'bottom-right': ['bottom-right', 'bottom', 'bottom-left', 'top-right', 'top', 'top-left'],\n\n // Left positions: if overflows top, try bottom; if overflows left, try right\n left: ['left', 'left-top', 'left-bottom', 'right', 'right-top', 'right-bottom'],\n 'left-top': ['left-top', 'left', 'left-bottom', 'right-top', 'right', 'right-bottom'],\n 'left-bottom': ['left-bottom', 'left', 'left-top', 'right-bottom', 'right', 'right-top'],\n\n // Right positions: if overflows top, try bottom; if overflows right, try left\n right: ['right', 'right-top', 'right-bottom', 'left', 'left-top', 'left-bottom'],\n 'right-top': ['right-top', 'right', 'right-bottom', 'left-top', 'left', 'left-bottom'],\n 'right-bottom': ['right-bottom', 'right', 'right-top', 'left-bottom', 'left', 'left-top'],\n };\n\n const orderedPositions = fallbackOrder[position] ?? [position];\n\n return orderedPositions.map(pos => createPopoverPosition(pos, offset));\n}\n\nexport function getActualPopoverPosition(change: ConnectedOverlayPositionChange): ZPopoverPosition {\n const { originX, originY, overlayX, overlayY } = change.connectionPair;\n\n if (overlayY === 'bottom' && originY === 'top') {\n if (originX === 'start' && overlayX === 'start') {\n return 'top-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'top-right';\n }\n return 'top';\n }\n\n if (overlayY === 'top' && originY === 'bottom') {\n if (originX === 'start' && overlayX === 'start') {\n return 'bottom-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'bottom-right';\n }\n return 'bottom';\n }\n\n if (overlayX === 'end' && originX === 'start') {\n if (originY === 'top' && overlayY === 'top') {\n return 'left-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'left-bottom';\n }\n return 'left';\n }\n\n if (overlayX === 'start' && originX === 'end') {\n if (originY === 'top' && overlayY === 'top') {\n return 'right-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'right-bottom';\n }\n return 'right';\n }\n\n return 'top';\n}\n","import type { TemplateRef } from '@angular/core';\n\nexport const Z_POPOVER_ANIMATION_DURATION = 200;\nexport type ZPopoverTrigger = 'click' | 'hover';\nexport type ZPopoverPosition =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n | 'right'\n | 'right-top'\n | 'right-bottom';\n\nexport type ZPopoverContent = TemplateRef<unknown>;\n\nexport interface ZPopoverDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZPopoverControl {\n close: () => void;\n closeImmediate: () => void;\n show: () => void;\n toggle: () => void;\n isVisible: () => boolean;\n}\n\nexport interface ZPopoverContext {\n close: () => void;\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n type ComponentRef,\n DestroyRef,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZPopoverContentComponent } from './z-popover.content.component';\nimport { getActualPopoverPosition, getPopoverFallbackPositions } from './z-popover.positions';\nimport {\n Z_POPOVER_ANIMATION_DURATION,\n type ZPopoverContent,\n type ZPopoverControl,\n type ZPopoverDelayConfig,\n type ZPopoverPosition,\n type ZPopoverTrigger,\n} from './z-popover.types';\n\n@Component({\n selector: 'z-popover',\n standalone: true,\n template: `\n <span #trigger class=\"z-popover-trigger inline-block\">\n <ng-content />\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'inline-block',\n },\n})\nexport class ZPopoverComponent implements OnInit, OnDestroy {\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private readonly _trigger = viewChild.required<ElementRef<HTMLElement>>('trigger');\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n public readonly zControl = output<ZPopoverControl>();\n\n public readonly zContent = input<ZPopoverContent | null>(null);\n public readonly zPosition = input<ZPopoverPosition>('bottom');\n public readonly zTrigger = input<ZPopoverTrigger>('click');\n public readonly zClass = input('');\n public readonly zShowDelay = input(0);\n public readonly zHideDelay = input(0);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zManualClose = input(false, { transform: zTransform });\n public readonly zScrollClose = input(false, { transform: zTransform });\n public readonly zShowArrow = input(false, { transform: zTransform });\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZPopoverContentComponent> | null = null;\n private _delaySubject = new Subject<ZPopoverDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private _scrollSubscription: Subscription | null = null;\n private _resizeObserver: ResizeObserver | null = null;\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n this._emitControl();\n }\n\n private _emitControl(): void {\n this.zControl.emit({\n close: () => this.hide(),\n closeImmediate: () => this.hideImmediate(),\n show: () => this.show(),\n toggle: () => this.toggle(),\n isVisible: () => this._isVisible(),\n });\n }\n\n ngOnDestroy(): void {\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public hideImmediate(): void {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public isOpen(): boolean {\n return this._isVisible();\n }\n\n private _createOverlay(): OverlayRef {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._trigger())\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true)\n .withViewportMargin(8);\n\n const scrollStrategy = this.zScrollClose()\n ? this._overlay.scrollStrategies.close()\n : this._overlay.scrollStrategies.reposition({ scrollThrottle: 10, autoClose: false });\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: false,\n });\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._scrollSubscription?.unsubscribe();\n this._scrollSubscription = null;\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showPopover();\n return;\n }\n\n this._hidePopover();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n const triggerEl = this._trigger().nativeElement;\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'focus', () => this.show())\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n }\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', (event: Event) => {\n event.stopPropagation();\n this.toggle();\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => !this.zManualClose()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(event => {\n const triggerEl = this._trigger().nativeElement;\n if (!triggerEl.contains(event.target as Node)) {\n this._delay(false, 0);\n }\n });\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _setupScrollClose(): void {\n if (this.zManualClose()) {\n return;\n }\n\n this._scrollSubscription?.unsubscribe();\n\n let ticking = false;\n const onScroll = (event: Event) => {\n if (!this._isVisible() || !this._overlayRef) {\n return;\n }\n\n const { target } = event;\n const { overlayElement } = this._overlayRef;\n if (overlayElement && overlayElement.contains(target as Node)) {\n return;\n }\n\n if (this.zScrollClose()) {\n this.hideImmediate();\n return;\n }\n\n if (ticking) {\n return;\n }\n\n ticking = true;\n requestAnimationFrame(() => {\n this._overlayRef?.updatePosition();\n ticking = false;\n });\n };\n\n this._document.addEventListener('scroll', onScroll, true);\n\n this._scrollSubscription = {\n unsubscribe: () => {\n this._document.removeEventListener('scroll', onScroll, true);\n },\n } as Subscription;\n }\n\n private _showPopover(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n this._setupScrollClose();\n\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._trigger())\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true)\n .withViewportMargin(8);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n const portal = new ComponentPortal(ZPopoverContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n customClass: this.zClass(),\n onClose: () => this.hide(),\n showArrow: this.zShowArrow(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPopoverPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupPopoverHover();\n }\n\n this._setupResizeObserver();\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupResizeObserver(): void {\n this._resizeObserver?.disconnect();\n\n this._resizeObserver = new ResizeObserver(() => {\n if (this._overlayRef && this._isVisible()) {\n this._overlayRef.updatePosition();\n }\n });\n\n this._resizeObserver.observe(this._trigger().nativeElement);\n }\n\n private _setupPopoverHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n })\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n }\n\n private _hidePopover(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n setTimeout(() => {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_POPOVER_ANIMATION_DURATION);\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZPopoverContentComponent } from '../z-popover.content.component';\nimport { getActualPopoverPosition, getPopoverFallbackPositions } from '../z-popover.positions';\nimport {\n Z_POPOVER_ANIMATION_DURATION,\n type ZPopoverContent,\n type ZPopoverControl,\n type ZPopoverDelayConfig,\n type ZPopoverPosition,\n type ZPopoverTrigger,\n} from '../z-popover.types';\n\n@Directive({\n selector: '[z-popover]',\n standalone: true,\n exportAs: 'zPopover',\n})\nexport class ZPopoverDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZPopoverContent | null>(null, {\n alias: 'zPopoverContent',\n });\n\n public readonly zPosition = input<ZPopoverPosition>('bottom');\n public readonly zTrigger = input<ZPopoverTrigger>('click');\n public readonly zClass = input('');\n public readonly zShowDelay = input(0);\n public readonly zHideDelay = input(0);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zPopoverWidth = input<'auto' | 'trigger' | number>('auto');\n public readonly zManualClose = input(false, { transform: zTransform });\n public readonly zScrollClose = input(false, { transform: zTransform });\n public readonly zShowArrow = input(false, { transform: zTransform });\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n public readonly zHideStart = output<void>();\n public readonly zControl = output<ZPopoverControl>();\n\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZPopoverContentComponent> | null = null;\n private _delaySubject = new Subject<ZPopoverDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private _scrollSubscription: Subscription | null = null;\n private _resizeObserver: ResizeObserver | null = null;\n private _hideTimeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _isDestroyed = signal(false);\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n this._emitControl();\n }\n\n private _emitControl(): void {\n this.zControl.emit({\n close: () => this.hide(),\n closeImmediate: () => this.hideImmediate(),\n show: () => this.show(),\n toggle: () => this.toggle(),\n isVisible: () => this._isVisible(),\n });\n }\n\n ngOnDestroy(): void {\n this._isDestroyed.set(true);\n this._clearHideTimeout();\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public hideImmediate(): void {\n if (this._isVisible()) {\n this._isVisible.set(false);\n this.zHideStart.emit();\n }\n this._disposeOverlay();\n this.zHide.emit();\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n public isOpen(): boolean {\n return this._isVisible();\n }\n\n private _createOverlay(): OverlayRef {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(this.zScrollClose())\n .withViewportMargin(8);\n\n const widthConfig = this._getWidthConfig();\n\n const scrollStrategy = this.zScrollClose()\n ? this._overlay.scrollStrategies.close()\n : this._overlay.scrollStrategies.reposition();\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: false,\n ...widthConfig,\n });\n }\n\n private _getWidthConfig(): { width?: number | string; minWidth?: number | string } {\n const width = this.zPopoverWidth();\n\n if (width === 'auto') {\n return {};\n }\n\n if (width === 'trigger') {\n const triggerWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n return { width: `${triggerWidth}px`, minWidth: `${triggerWidth}px` };\n }\n\n return { width, minWidth: width };\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._scrollSubscription?.unsubscribe();\n this._scrollSubscription = null;\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showPopover();\n return;\n }\n\n this._hidePopover();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'mouseenter', () => this.show()),\n this._renderer.listen(this._elementRef.nativeElement, 'focus', () => this.show())\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'mouseleave', () => this.hide()),\n this._renderer.listen(this._elementRef.nativeElement, 'blur', () => this.hide())\n );\n }\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n event.stopPropagation();\n this.toggle();\n }),\n this._renderer.listen(this._elementRef.nativeElement, 'touchend', (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => !this.zManualClose()),\n filter(() => this.zTrigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _setupScrollClose(): void {\n this._scrollSubscription?.unsubscribe();\n\n let ticking = false;\n const onScroll = (event: Event) => {\n if (!this._isVisible() || !this._overlayRef) {\n return;\n }\n\n const { target } = event;\n const { overlayElement } = this._overlayRef;\n if (overlayElement && overlayElement.contains(target as Node)) {\n return;\n }\n\n if (this.zScrollClose() && !this.zManualClose()) {\n this.hideImmediate();\n return;\n }\n\n if (ticking) {\n return;\n }\n\n ticking = true;\n requestAnimationFrame(() => {\n this._overlayRef?.updatePosition();\n ticking = false;\n });\n };\n\n this._document.addEventListener('scroll', onScroll, true);\n this._scrollSubscription = {\n unsubscribe: () => {\n this._document.removeEventListener('scroll', onScroll, true);\n },\n } as Subscription;\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _showPopover(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n this._setupScrollClose();\n\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(getPopoverFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(this.zScrollClose())\n .withViewportMargin(8);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n\n const widthConfig = this._getWidthConfig();\n if (widthConfig.width) {\n this._overlayRef.updateSize({ width: widthConfig.width, minWidth: widthConfig.minWidth });\n }\n\n const portal = new ComponentPortal(ZPopoverContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n customClass: this.zClass(),\n onClose: () => this.hide(),\n showArrow: this.zShowArrow(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPopoverPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupPopoverHover();\n }\n\n this._setupResizeObserver();\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupResizeObserver(): void {\n this._resizeObserver?.disconnect();\n\n this._resizeObserver = new ResizeObserver(() => {\n if (this._overlayRef && this._isVisible()) {\n this._overlayRef.updatePosition();\n\n const widthConfig = this._getWidthConfig();\n if (widthConfig.width) {\n this._overlayRef.updateSize({ width: widthConfig.width, minWidth: widthConfig.minWidth });\n }\n }\n });\n\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n\n private _setupPopoverHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n })\n );\n\n if (!this.zManualClose()) {\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n }\n\n private _hidePopover(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._isVisible.set(false);\n this.zHideStart.emit();\n this._componentRef.instance.state.set('closed');\n this._clearHideTimeout();\n this._hideTimeout = setTimeout(() => {\n if (this._isDestroyed()) {\n return;\n }\n this._disposeOverlay();\n this.zHide.emit();\n }, Z_POPOVER_ANIMATION_DURATION);\n }\n\n private _clearHideTimeout(): void {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { TranslatePipe } from '@ngx-translate/core';
10
10
  import { ZSafeHtmlPipe } from '@shival99/z-ui/pipes';
11
11
  import { cva } from 'class-variance-authority';
12
12
 
13
- const zTooltipVariants = cva(['z-tooltip relative z-[9999] rounded-[5px] shadow-md', 'z-animate-in z-fade-in z-duration-150'], {
13
+ const zTooltipVariants = cva(['z-tooltip relative rounded-[5px] shadow-md', 'z-animate-in z-fade-in z-duration-150'], {
14
14
  variants: {
15
15
  zType: {
16
16
  default: 'bg-foreground text-background border border-foreground',
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-tooltip.mjs","sources":["../../../../libs/core-ui/components/z-tooltip/z-tooltip.variants.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.component.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.positions.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.types.ts","../../../../libs/core-ui/components/z-tooltip/directives/z-tooltip.directive.ts","../../../../libs/core-ui/components/z-tooltip/shival99-z-ui-components-z-tooltip.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTooltipVariants = cva(\n ['z-tooltip relative z-[9999] rounded-[5px] shadow-md', 'z-animate-in z-fade-in z-duration-150'],\n {\n variants: {\n zType: {\n default: 'bg-foreground text-background border border-foreground',\n dark: 'bg-slate-900 text-white border border-slate-700',\n light: 'bg-white text-slate-900 border border-slate-200',\n primary: 'bg-primary text-primary-foreground border border-primary',\n success: 'bg-green-600 text-white border border-green-600',\n warning: 'bg-amber-500 text-white border border-amber-500',\n error: 'bg-red-600 text-white border border-red-600',\n info: 'bg-blue-600 text-white border border-blue-600',\n },\n zSize: {\n sm: 'text-[10px]',\n default: 'text-xs',\n lg: 'text-sm',\n },\n zPosition: {\n top: 'z-slide-in-from-bottom-2',\n 'top-left': 'z-slide-in-from-bottom-2',\n 'top-right': 'z-slide-in-from-bottom-2',\n bottom: 'z-slide-in-from-top-2',\n 'bottom-left': 'z-slide-in-from-top-2',\n 'bottom-right': 'z-slide-in-from-top-2',\n left: 'z-slide-in-from-right-2',\n 'left-top': 'z-slide-in-from-right-2',\n 'left-bottom': 'z-slide-in-from-right-2',\n right: 'z-slide-in-from-left-2',\n 'right-top': 'z-slide-in-from-left-2',\n 'right-bottom': 'z-slide-in-from-left-2',\n },\n },\n defaultVariants: {\n zType: 'default',\n zSize: 'default',\n zPosition: 'top',\n },\n }\n);\n\nexport const zTooltipContentVariants = cva('relative z-10 rounded-[4px] font-medium p-1.5 break-words leading-[1.7]', {\n variants: {\n zType: {\n default: 'bg-foreground',\n dark: 'bg-slate-900',\n light: 'bg-white',\n primary: 'bg-primary',\n success: 'bg-green-600',\n warning: 'bg-amber-500',\n error: 'bg-red-600',\n info: 'bg-blue-600',\n },\n },\n defaultVariants: {\n zType: 'default',\n },\n});\n\nexport const zTooltipArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[2px]', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b',\n 'top-left': '-bottom-1 left-3 border-r border-b',\n 'top-right': '-bottom-1 right-3 border-r border-b',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t',\n 'bottom-left': '-top-1 left-3 border-l border-t',\n 'bottom-right': '-top-1 right-3 border-l border-t',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r',\n 'left-top': 'top-2 -right-1 border-t border-r',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l',\n 'right-top': 'top-2 -left-1 border-b border-l',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l',\n },\n zType: {\n default: 'bg-foreground border-foreground',\n dark: 'bg-slate-900 border-slate-700',\n light: 'bg-white border-slate-200',\n primary: 'bg-primary border-primary',\n success: 'bg-green-600 border-green-600',\n warning: 'bg-amber-500 border-amber-500',\n error: 'bg-red-600 border-red-600',\n info: 'bg-blue-600 border-blue-600',\n },\n },\n defaultVariants: {\n position: 'top',\n zType: 'default',\n },\n});\n\nexport const zTooltipExitVariants = cva('z-animate-out z-fade-out', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-2',\n 'top-left': 'z-slide-out-to-bottom-2',\n 'top-right': 'z-slide-out-to-bottom-2',\n bottom: 'z-slide-out-to-top-2',\n 'bottom-left': 'z-slide-out-to-top-2',\n 'bottom-right': 'z-slide-out-to-top-2',\n left: 'z-slide-out-to-right-2',\n 'left-top': 'z-slide-out-to-right-2',\n 'left-bottom': 'z-slide-out-to-right-2',\n right: 'z-slide-out-to-left-2',\n 'right-top': 'z-slide-out-to-left-2',\n 'right-bottom': 'z-slide-out-to-left-2',\n },\n },\n defaultVariants: {\n zPosition: 'top',\n },\n});\n\nexport type ZTooltipVariants = VariantProps<typeof zTooltipVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ZSafeHtmlPipe } from '@shival99/z-ui/pipes';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport { ZTooltipPosition } from './z-tooltip.positions';\nimport { type ZTooltipContent } from './z-tooltip.types';\nimport {\n zTooltipArrowVariants,\n zTooltipContentVariants,\n zTooltipExitVariants,\n zTooltipVariants,\n type ZTooltipVariants,\n} from './z-tooltip.variants';\n\n@Component({\n selector: 'z-tooltip-content',\n imports: [NgTemplateOutlet, ZSafeHtmlPipe, TranslatePipe],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content layer - covers arrow base -->\n <div [class]=\"contentClasses()\">\n @if (isTemplateContent()) {\n <ng-container [ngTemplateOutlet]=\"$any(content())\" />\n } @else if (isHtmlContent()) {\n <span [innerHTML]=\"$any(content()) | zSafeHtml\"></span>\n } @else {\n {{ $any(content()) | translate }}\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[style.maxWidth]': 'maxWidth()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n role: 'tooltip',\n },\n})\nexport class ZTooltipContentComponent {\n public readonly content = signal<ZTooltipContent>('');\n public readonly position = signal<ZTooltipPosition>('top');\n public readonly tooltipType = signal<ZTooltipVariants['zType']>('default');\n public readonly tooltipSize = signal<ZTooltipVariants['zSize']>('default');\n public readonly tooltipClass = signal('');\n public readonly showArrow = signal(true);\n public readonly maxWidth = signal<string>('250px');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly arrowOffset = signal<number>(0);\n\n protected readonly classes = computed(() => {\n const baseClasses = zTooltipVariants({\n zType: this.tooltipType(),\n zSize: this.tooltipSize(),\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? this._getExitAnimationClasses() : '';\n return zMergeClasses(baseClasses, exitClasses, this.tooltipClass());\n });\n\n private _getExitAnimationClasses(): string {\n return zTooltipExitVariants({ zPosition: this.position() });\n }\n\n protected readonly contentClasses = computed(() =>\n zMergeClasses(zTooltipContentVariants({ zType: this.tooltipType() }))\n );\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zTooltipArrowVariants({\n position: this.position(),\n zType: this.tooltipType(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n protected readonly isTemplateContent = computed(() => {\n const c = this.content();\n return c && typeof c !== 'string';\n });\n\n protected readonly isHtmlContent = computed(() => {\n const c = this.content();\n return typeof c === 'string' && c.includes('<');\n });\n\n public setProps(config: {\n content: ZTooltipContent;\n position: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n customClass?: string;\n arrow?: boolean;\n maxWidth?: string;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.type) {\n this.tooltipType.set(config.type);\n }\n if (config.size) {\n this.tooltipSize.set(config.size);\n }\n if (config.customClass) {\n this.tooltipClass.set(config.customClass);\n }\n if (config.arrow !== undefined) {\n this.showArrow.set(config.arrow);\n }\n if (config.maxWidth) {\n this.maxWidth.set(config.maxWidth);\n }\n }\n}\n","import type { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\n\nexport type ZTooltipPosition =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n | 'right'\n | 'right-top'\n | 'right-bottom';\n\nexport function createTooltipPosition(position: ZTooltipPosition, offset: number): ConnectedPosition {\n const positions: Record<ZTooltipPosition, ConnectedPosition> = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -offset,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -offset,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -offset,\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: offset,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: offset,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: offset,\n },\n };\n\n return positions[position];\n}\n\nexport function getTooltipFallbackPositions(position: ZTooltipPosition, offset: number): ConnectedPosition[] {\n const fallbackOrder: Record<ZTooltipPosition, ZTooltipPosition[]> = {\n top: ['top', 'bottom', 'top-left', 'top-right', 'bottom-left', 'bottom-right'],\n 'top-left': ['top-left', 'bottom-left', 'top', 'bottom', 'top-right', 'bottom-right'],\n 'top-right': ['top-right', 'bottom-right', 'top', 'bottom', 'top-left', 'bottom-left'],\n bottom: ['bottom', 'top', 'bottom-left', 'bottom-right', 'top-left', 'top-right'],\n 'bottom-left': ['bottom-left', 'top-left', 'bottom', 'top', 'bottom-right', 'top-right'],\n 'bottom-right': ['bottom-right', 'top-right', 'bottom', 'top', 'bottom-left', 'top-left'],\n left: ['left', 'right', 'left-top', 'left-bottom', 'right-top', 'right-bottom'],\n 'left-top': ['left-top', 'right-top', 'left', 'right', 'left-bottom', 'right-bottom'],\n 'left-bottom': ['left-bottom', 'right-bottom', 'left', 'right', 'left-top', 'right-top'],\n right: ['right', 'left', 'right-top', 'right-bottom', 'left-top', 'left-bottom'],\n 'right-top': ['right-top', 'left-top', 'right', 'left', 'right-bottom', 'left-bottom'],\n 'right-bottom': ['right-bottom', 'left-bottom', 'right', 'left', 'right-top', 'left-top'],\n };\n\n const orderedPositions = fallbackOrder[position] ?? [position];\n\n return orderedPositions.map(pos => createTooltipPosition(pos, offset));\n}\n\nexport function getActualPosition(change: ConnectedOverlayPositionChange): ZTooltipPosition {\n const { originX, originY, overlayX, overlayY } = change.connectionPair;\n\n if (overlayY === 'bottom' && originY === 'top') {\n if (originX === 'start' && overlayX === 'start') {\n return 'top-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'top-right';\n }\n return 'top';\n }\n\n if (overlayY === 'top' && originY === 'bottom') {\n if (originX === 'start' && overlayX === 'start') {\n return 'bottom-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'bottom-right';\n }\n return 'bottom';\n }\n\n if (overlayX === 'end' && originX === 'start') {\n if (originY === 'top' && overlayY === 'top') {\n return 'left-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'left-bottom';\n }\n return 'left';\n }\n\n if (overlayX === 'start' && originX === 'end') {\n if (originY === 'top' && overlayY === 'top') {\n return 'right-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'right-bottom';\n }\n return 'right';\n }\n\n return 'top';\n}\n","import type { TemplateRef } from '@angular/core';\nimport type { ZTooltipPosition } from './z-tooltip.positions';\nimport type { ZTooltipVariants } from './z-tooltip.variants';\n\nexport const Z_TOOLTIP_ANIMATION_DURATION = 150;\nexport type ZTooltipTrigger = 'hover' | 'click';\nexport type ZTooltipContent = string | TemplateRef<unknown>;\nexport interface ZTooltipDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZTooltipConfig {\n content?: ZTooltipContent;\n position?: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n class?: string;\n showDelay?: number;\n hideDelay?: number;\n arrow?: boolean;\n offset?: number;\n autoDetect?: boolean;\n alwaysShow?: boolean;\n maxWidth?: string;\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZTooltipContentComponent } from '../z-tooltip.component';\nimport { getActualPosition, getTooltipFallbackPositions, type ZTooltipPosition } from '../z-tooltip.positions';\nimport {\n Z_TOOLTIP_ANIMATION_DURATION,\n ZTooltipContent,\n ZTooltipDelayConfig,\n ZTooltipTrigger,\n} from '../z-tooltip.types';\nimport { type ZTooltipVariants } from '../z-tooltip.variants';\n\n@Directive({\n selector: '[z-tooltip], [zTooltip]',\n standalone: true,\n exportAs: 'zTooltip',\n})\nexport class ZTooltipDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZTooltipContent>('');\n public readonly zPosition = input<ZTooltipPosition>('top');\n public readonly zTrigger = input<ZTooltipTrigger>('hover');\n public readonly zType = input<ZTooltipVariants['zType']>('default', {\n alias: 'zTooltipType',\n });\n\n public readonly zSize = input<ZTooltipVariants['zSize']>('default', {\n alias: 'zTooltipSize',\n });\n\n public readonly zClass = input('');\n public readonly zShowDelay = input(100);\n public readonly zHideDelay = input(0);\n public readonly zArrow = input(true, { transform: zTransform });\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zAutoDetect = input(true, { transform: zTransform });\n public readonly zTriggerElement = input<HTMLElement | null>(null);\n public readonly zAlwaysShow = input(false, { transform: zTransform });\n public readonly zMaxWidth = input<string>('250px');\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZTooltipContentComponent> | null = null;\n private _delaySubject = new Subject<ZTooltipDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n }\n\n ngOnDestroy(): void {\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (!this.zAlwaysShow() && this.zAutoDetect() && !this._isTextTruncated()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n private _isTextTruncated(): boolean {\n const hostEl = this._elementRef.nativeElement;\n const triggerEl = this.zTriggerElement();\n\n if (this._isElementTruncated(hostEl)) {\n return true;\n }\n\n const hostTruncatedChild = hostEl.querySelector('.truncate, .z-table-cell-text, [class*=\"truncate\"]');\n if (hostTruncatedChild && this._isElementTruncated(hostTruncatedChild as HTMLElement)) {\n return true;\n }\n\n if (triggerEl && triggerEl !== hostEl) {\n if (this._isElementTruncated(triggerEl)) {\n return true;\n }\n\n const truncatedChild = triggerEl.querySelector('.truncate, .z-table-cell-text, [class*=\"truncate\"]');\n if (truncatedChild && this._isElementTruncated(truncatedChild as HTMLElement)) {\n return true;\n }\n }\n\n return false;\n }\n\n private _isElementTruncated(el: HTMLElement): boolean {\n if (el.scrollWidth > el.clientWidth) {\n return true;\n }\n\n if (el.scrollHeight > el.clientHeight) {\n return true;\n }\n\n const styles = getComputedStyle(el);\n const lineClamp = styles.getPropertyValue('-webkit-line-clamp');\n if (lineClamp && lineClamp !== 'none') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const rangeHeight = range.getBoundingClientRect().height;\n const elHeight = el.getBoundingClientRect().height;\n const paddingTop = parseFloat(styles.paddingTop) || 0;\n const paddingBottom = parseFloat(styles.paddingBottom) || 0;\n const contentHeight = elHeight - paddingTop - paddingBottom;\n if (rangeHeight > contentHeight + 1) {\n return true;\n }\n }\n\n return false;\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n private _createOverlay(): OverlayRef {\n const anchorElement = this.zTriggerElement() || this._elementRef;\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(anchorElement)\n .withPositions(getTooltipFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true);\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n });\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showTooltip();\n return;\n }\n\n this._hideTooltip();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n const triggerEl = this.zTriggerElement() || this._elementRef.nativeElement;\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'focus', () => this.show()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', () => {\n if (this._isVisible()) {\n this._delay(false, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n })\n );\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(this._document.defaultView, 'scroll', () => this._delay(false, 0), {\n passive: true,\n capture: true,\n })\n );\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => this.zTrigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _showTooltip(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n const anchorElement = this.zTriggerElement() || this._elementRef;\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(anchorElement)\n .withPositions(getTooltipFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n\n const portal = new ComponentPortal(ZTooltipContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n type: this.zType(),\n size: this.zSize(),\n customClass: this.zClass(),\n arrow: this.zArrow(),\n maxWidth: this.zMaxWidth(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n\n this._calculateArrowOffset(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupTooltipHover();\n }\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupTooltipHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n }),\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n\n private _hideTooltip(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n setTimeout(() => {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_TOOLTIP_ANIMATION_DURATION);\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n\n private _calculateArrowOffset(position: ZTooltipPosition): void {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const triggerRect = this._elementRef.nativeElement.getBoundingClientRect();\n const tooltipRect = this._overlayRef.overlayElement.getBoundingClientRect();\n\n let offset = 0;\n\n if (position === 'top' || position === 'bottom') {\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipCenterX = tooltipRect.left + tooltipRect.width / 2;\n offset = triggerCenterX - tooltipCenterX;\n }\n\n if (position === 'left' || position === 'right') {\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n const tooltipCenterY = tooltipRect.top + tooltipRect.height / 2;\n offset = triggerCenterY - tooltipCenterY;\n }\n\n const maxOffset =\n position === 'top' || position === 'bottom' ? tooltipRect.width / 2 - 12 : tooltipRect.height / 2 - 12;\n offset = Math.max(-maxOffset, Math.min(maxOffset, offset));\n\n if (Math.abs(offset) > 1) {\n this._componentRef.instance.arrowOffset.set(offset);\n return;\n }\n\n this._componentRef.instance.arrowOffset.set(0);\n }\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-tooltip.mjs","sources":["../../../../libs/core-ui/components/z-tooltip/z-tooltip.variants.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.component.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.positions.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.types.ts","../../../../libs/core-ui/components/z-tooltip/directives/z-tooltip.directive.ts","../../../../libs/core-ui/components/z-tooltip/shival99-z-ui-components-z-tooltip.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTooltipVariants = cva(\n ['z-tooltip relative rounded-[5px] shadow-md', 'z-animate-in z-fade-in z-duration-150'],\n {\n variants: {\n zType: {\n default: 'bg-foreground text-background border border-foreground',\n dark: 'bg-slate-900 text-white border border-slate-700',\n light: 'bg-white text-slate-900 border border-slate-200',\n primary: 'bg-primary text-primary-foreground border border-primary',\n success: 'bg-green-600 text-white border border-green-600',\n warning: 'bg-amber-500 text-white border border-amber-500',\n error: 'bg-red-600 text-white border border-red-600',\n info: 'bg-blue-600 text-white border border-blue-600',\n },\n zSize: {\n sm: 'text-[10px]',\n default: 'text-xs',\n lg: 'text-sm',\n },\n zPosition: {\n top: 'z-slide-in-from-bottom-2',\n 'top-left': 'z-slide-in-from-bottom-2',\n 'top-right': 'z-slide-in-from-bottom-2',\n bottom: 'z-slide-in-from-top-2',\n 'bottom-left': 'z-slide-in-from-top-2',\n 'bottom-right': 'z-slide-in-from-top-2',\n left: 'z-slide-in-from-right-2',\n 'left-top': 'z-slide-in-from-right-2',\n 'left-bottom': 'z-slide-in-from-right-2',\n right: 'z-slide-in-from-left-2',\n 'right-top': 'z-slide-in-from-left-2',\n 'right-bottom': 'z-slide-in-from-left-2',\n },\n },\n defaultVariants: {\n zType: 'default',\n zSize: 'default',\n zPosition: 'top',\n },\n }\n);\n\nexport const zTooltipContentVariants = cva('relative z-10 rounded-[4px] font-medium p-1.5 break-words leading-[1.7]', {\n variants: {\n zType: {\n default: 'bg-foreground',\n dark: 'bg-slate-900',\n light: 'bg-white',\n primary: 'bg-primary',\n success: 'bg-green-600',\n warning: 'bg-amber-500',\n error: 'bg-red-600',\n info: 'bg-blue-600',\n },\n },\n defaultVariants: {\n zType: 'default',\n },\n});\n\nexport const zTooltipArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[2px]', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b',\n 'top-left': '-bottom-1 left-3 border-r border-b',\n 'top-right': '-bottom-1 right-3 border-r border-b',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t',\n 'bottom-left': '-top-1 left-3 border-l border-t',\n 'bottom-right': '-top-1 right-3 border-l border-t',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r',\n 'left-top': 'top-2 -right-1 border-t border-r',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l',\n 'right-top': 'top-2 -left-1 border-b border-l',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l',\n },\n zType: {\n default: 'bg-foreground border-foreground',\n dark: 'bg-slate-900 border-slate-700',\n light: 'bg-white border-slate-200',\n primary: 'bg-primary border-primary',\n success: 'bg-green-600 border-green-600',\n warning: 'bg-amber-500 border-amber-500',\n error: 'bg-red-600 border-red-600',\n info: 'bg-blue-600 border-blue-600',\n },\n },\n defaultVariants: {\n position: 'top',\n zType: 'default',\n },\n});\n\nexport const zTooltipExitVariants = cva('z-animate-out z-fade-out', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-2',\n 'top-left': 'z-slide-out-to-bottom-2',\n 'top-right': 'z-slide-out-to-bottom-2',\n bottom: 'z-slide-out-to-top-2',\n 'bottom-left': 'z-slide-out-to-top-2',\n 'bottom-right': 'z-slide-out-to-top-2',\n left: 'z-slide-out-to-right-2',\n 'left-top': 'z-slide-out-to-right-2',\n 'left-bottom': 'z-slide-out-to-right-2',\n right: 'z-slide-out-to-left-2',\n 'right-top': 'z-slide-out-to-left-2',\n 'right-bottom': 'z-slide-out-to-left-2',\n },\n },\n defaultVariants: {\n zPosition: 'top',\n },\n});\n\nexport type ZTooltipVariants = VariantProps<typeof zTooltipVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ZSafeHtmlPipe } from '@shival99/z-ui/pipes';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport { ZTooltipPosition } from './z-tooltip.positions';\nimport { type ZTooltipContent } from './z-tooltip.types';\nimport {\n zTooltipArrowVariants,\n zTooltipContentVariants,\n zTooltipExitVariants,\n zTooltipVariants,\n type ZTooltipVariants,\n} from './z-tooltip.variants';\n\n@Component({\n selector: 'z-tooltip-content',\n imports: [NgTemplateOutlet, ZSafeHtmlPipe, TranslatePipe],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content layer - covers arrow base -->\n <div [class]=\"contentClasses()\">\n @if (isTemplateContent()) {\n <ng-container [ngTemplateOutlet]=\"$any(content())\" />\n } @else if (isHtmlContent()) {\n <span [innerHTML]=\"$any(content()) | zSafeHtml\"></span>\n } @else {\n {{ $any(content()) | translate }}\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[style.maxWidth]': 'maxWidth()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n role: 'tooltip',\n },\n})\nexport class ZTooltipContentComponent {\n public readonly content = signal<ZTooltipContent>('');\n public readonly position = signal<ZTooltipPosition>('top');\n public readonly tooltipType = signal<ZTooltipVariants['zType']>('default');\n public readonly tooltipSize = signal<ZTooltipVariants['zSize']>('default');\n public readonly tooltipClass = signal('');\n public readonly showArrow = signal(true);\n public readonly maxWidth = signal<string>('250px');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly arrowOffset = signal<number>(0);\n\n protected readonly classes = computed(() => {\n const baseClasses = zTooltipVariants({\n zType: this.tooltipType(),\n zSize: this.tooltipSize(),\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? this._getExitAnimationClasses() : '';\n return zMergeClasses(baseClasses, exitClasses, this.tooltipClass());\n });\n\n private _getExitAnimationClasses(): string {\n return zTooltipExitVariants({ zPosition: this.position() });\n }\n\n protected readonly contentClasses = computed(() =>\n zMergeClasses(zTooltipContentVariants({ zType: this.tooltipType() }))\n );\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zTooltipArrowVariants({\n position: this.position(),\n zType: this.tooltipType(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n protected readonly isTemplateContent = computed(() => {\n const c = this.content();\n return c && typeof c !== 'string';\n });\n\n protected readonly isHtmlContent = computed(() => {\n const c = this.content();\n return typeof c === 'string' && c.includes('<');\n });\n\n public setProps(config: {\n content: ZTooltipContent;\n position: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n customClass?: string;\n arrow?: boolean;\n maxWidth?: string;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.type) {\n this.tooltipType.set(config.type);\n }\n if (config.size) {\n this.tooltipSize.set(config.size);\n }\n if (config.customClass) {\n this.tooltipClass.set(config.customClass);\n }\n if (config.arrow !== undefined) {\n this.showArrow.set(config.arrow);\n }\n if (config.maxWidth) {\n this.maxWidth.set(config.maxWidth);\n }\n }\n}\n","import type { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\n\nexport type ZTooltipPosition =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n | 'right'\n | 'right-top'\n | 'right-bottom';\n\nexport function createTooltipPosition(position: ZTooltipPosition, offset: number): ConnectedPosition {\n const positions: Record<ZTooltipPosition, ConnectedPosition> = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -offset,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -offset,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -offset,\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: offset,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: offset,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: offset,\n },\n };\n\n return positions[position];\n}\n\nexport function getTooltipFallbackPositions(position: ZTooltipPosition, offset: number): ConnectedPosition[] {\n const fallbackOrder: Record<ZTooltipPosition, ZTooltipPosition[]> = {\n top: ['top', 'bottom', 'top-left', 'top-right', 'bottom-left', 'bottom-right'],\n 'top-left': ['top-left', 'bottom-left', 'top', 'bottom', 'top-right', 'bottom-right'],\n 'top-right': ['top-right', 'bottom-right', 'top', 'bottom', 'top-left', 'bottom-left'],\n bottom: ['bottom', 'top', 'bottom-left', 'bottom-right', 'top-left', 'top-right'],\n 'bottom-left': ['bottom-left', 'top-left', 'bottom', 'top', 'bottom-right', 'top-right'],\n 'bottom-right': ['bottom-right', 'top-right', 'bottom', 'top', 'bottom-left', 'top-left'],\n left: ['left', 'right', 'left-top', 'left-bottom', 'right-top', 'right-bottom'],\n 'left-top': ['left-top', 'right-top', 'left', 'right', 'left-bottom', 'right-bottom'],\n 'left-bottom': ['left-bottom', 'right-bottom', 'left', 'right', 'left-top', 'right-top'],\n right: ['right', 'left', 'right-top', 'right-bottom', 'left-top', 'left-bottom'],\n 'right-top': ['right-top', 'left-top', 'right', 'left', 'right-bottom', 'left-bottom'],\n 'right-bottom': ['right-bottom', 'left-bottom', 'right', 'left', 'right-top', 'left-top'],\n };\n\n const orderedPositions = fallbackOrder[position] ?? [position];\n\n return orderedPositions.map(pos => createTooltipPosition(pos, offset));\n}\n\nexport function getActualPosition(change: ConnectedOverlayPositionChange): ZTooltipPosition {\n const { originX, originY, overlayX, overlayY } = change.connectionPair;\n\n if (overlayY === 'bottom' && originY === 'top') {\n if (originX === 'start' && overlayX === 'start') {\n return 'top-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'top-right';\n }\n return 'top';\n }\n\n if (overlayY === 'top' && originY === 'bottom') {\n if (originX === 'start' && overlayX === 'start') {\n return 'bottom-left';\n }\n if (originX === 'end' && overlayX === 'end') {\n return 'bottom-right';\n }\n return 'bottom';\n }\n\n if (overlayX === 'end' && originX === 'start') {\n if (originY === 'top' && overlayY === 'top') {\n return 'left-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'left-bottom';\n }\n return 'left';\n }\n\n if (overlayX === 'start' && originX === 'end') {\n if (originY === 'top' && overlayY === 'top') {\n return 'right-top';\n }\n if (originY === 'bottom' && overlayY === 'bottom') {\n return 'right-bottom';\n }\n return 'right';\n }\n\n return 'top';\n}\n","import type { TemplateRef } from '@angular/core';\nimport type { ZTooltipPosition } from './z-tooltip.positions';\nimport type { ZTooltipVariants } from './z-tooltip.variants';\n\nexport const Z_TOOLTIP_ANIMATION_DURATION = 150;\nexport type ZTooltipTrigger = 'hover' | 'click';\nexport type ZTooltipContent = string | TemplateRef<unknown>;\nexport interface ZTooltipDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZTooltipConfig {\n content?: ZTooltipContent;\n position?: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n class?: string;\n showDelay?: number;\n hideDelay?: number;\n arrow?: boolean;\n offset?: number;\n autoDetect?: boolean;\n alwaysShow?: boolean;\n maxWidth?: string;\n}\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, Subscription, switchMap, timer } from 'rxjs';\nimport { ZTooltipContentComponent } from '../z-tooltip.component';\nimport { getActualPosition, getTooltipFallbackPositions, type ZTooltipPosition } from '../z-tooltip.positions';\nimport {\n Z_TOOLTIP_ANIMATION_DURATION,\n ZTooltipContent,\n ZTooltipDelayConfig,\n ZTooltipTrigger,\n} from '../z-tooltip.types';\nimport { type ZTooltipVariants } from '../z-tooltip.variants';\n\n@Directive({\n selector: '[z-tooltip], [zTooltip]',\n standalone: true,\n exportAs: 'zTooltip',\n})\nexport class ZTooltipDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZTooltipContent>('');\n public readonly zPosition = input<ZTooltipPosition>('top');\n public readonly zTrigger = input<ZTooltipTrigger>('hover');\n public readonly zType = input<ZTooltipVariants['zType']>('default', {\n alias: 'zTooltipType',\n });\n\n public readonly zSize = input<ZTooltipVariants['zSize']>('default', {\n alias: 'zTooltipSize',\n });\n\n public readonly zClass = input('');\n public readonly zShowDelay = input(100);\n public readonly zHideDelay = input(0);\n public readonly zArrow = input(true, { transform: zTransform });\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zOffset = input(8);\n public readonly zAutoDetect = input(true, { transform: zTransform });\n public readonly zTriggerElement = input<HTMLElement | null>(null);\n public readonly zAlwaysShow = input(false, { transform: zTransform });\n public readonly zMaxWidth = input<string>('250px');\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n\n private readonly _overlay = inject(Overlay);\n private readonly _overlayPositionBuilder = inject(OverlayPositionBuilder);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: OverlayRef | null = null;\n private _componentRef: ComponentRef<ZTooltipContentComponent> | null = null;\n private _delaySubject = new Subject<ZTooltipDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _positionSubscription: Subscription | null = null;\n private readonly _isVisible = signal(false);\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n }\n\n ngOnDestroy(): void {\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this.zDisabled() || !this.zContent()) {\n return;\n }\n\n if (!this.zAlwaysShow() && this.zAutoDetect() && !this._isTextTruncated()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n }\n\n private _isTextTruncated(): boolean {\n const hostEl = this._elementRef.nativeElement;\n const triggerEl = this.zTriggerElement();\n\n if (this._isElementTruncated(hostEl)) {\n return true;\n }\n\n const hostTruncatedChild = hostEl.querySelector('.truncate, .z-table-cell-text, [class*=\"truncate\"]');\n if (hostTruncatedChild && this._isElementTruncated(hostTruncatedChild as HTMLElement)) {\n return true;\n }\n\n if (triggerEl && triggerEl !== hostEl) {\n if (this._isElementTruncated(triggerEl)) {\n return true;\n }\n\n const truncatedChild = triggerEl.querySelector('.truncate, .z-table-cell-text, [class*=\"truncate\"]');\n if (truncatedChild && this._isElementTruncated(truncatedChild as HTMLElement)) {\n return true;\n }\n }\n\n return false;\n }\n\n private _isElementTruncated(el: HTMLElement): boolean {\n if (el.scrollWidth > el.clientWidth) {\n return true;\n }\n\n if (el.scrollHeight > el.clientHeight) {\n return true;\n }\n\n const styles = getComputedStyle(el);\n const lineClamp = styles.getPropertyValue('-webkit-line-clamp');\n if (lineClamp && lineClamp !== 'none') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const rangeHeight = range.getBoundingClientRect().height;\n const elHeight = el.getBoundingClientRect().height;\n const paddingTop = parseFloat(styles.paddingTop) || 0;\n const paddingBottom = parseFloat(styles.paddingBottom) || 0;\n const contentHeight = elHeight - paddingTop - paddingBottom;\n if (rangeHeight > contentHeight + 1) {\n return true;\n }\n }\n\n return false;\n }\n\n public hide(): void {\n this._delay(false, this.zHideDelay());\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n private _createOverlay(): OverlayRef {\n const anchorElement = this.zTriggerElement() || this._elementRef;\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(anchorElement)\n .withPositions(getTooltipFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true);\n\n return this._overlay.create({\n positionStrategy,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n });\n }\n\n private _disposeOverlay(): void {\n this._positionSubscription?.unsubscribe();\n this._positionSubscription = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n this._showTooltip();\n return;\n }\n\n this._hideTooltip();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this.zTrigger();\n const triggerEl = this.zTriggerElement() || this._elementRef.nativeElement;\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'focus', () => this.show()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', () => {\n if (this._isVisible()) {\n this._delay(false, 0);\n return;\n }\n\n this._delay(true, this.zShowDelay());\n })\n );\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(this._document.defaultView, 'scroll', () => this._delay(false, 0), {\n passive: true,\n capture: true,\n })\n );\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => this.zTrigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private _showTooltip(): void {\n const content = this.zContent();\n if (!content || this._componentRef) {\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._createOverlay();\n this._setupOutsideClick();\n }\n\n const anchorElement = this.zTriggerElement() || this._elementRef;\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(anchorElement)\n .withPositions(getTooltipFallbackPositions(this.zPosition(), this.zOffset()))\n .withFlexibleDimensions(false)\n .withPush(true);\n\n this._overlayRef.updatePositionStrategy(positionStrategy);\n\n const portal = new ComponentPortal(ZTooltipContentComponent);\n this._componentRef = this._overlayRef.attach(portal);\n\n this._componentRef.instance.setProps({\n content,\n position: this.zPosition(),\n type: this.zType(),\n size: this.zSize(),\n customClass: this.zClass(),\n arrow: this.zArrow(),\n maxWidth: this.zMaxWidth(),\n });\n\n this._positionSubscription = (positionStrategy as FlexibleConnectedPositionStrategy).positionChanges.subscribe(\n change => {\n const actualPosition = getActualPosition(change);\n this._componentRef?.instance.position.set(actualPosition);\n\n this._calculateArrowOffset(actualPosition);\n }\n );\n\n if (this.zTrigger() === 'hover') {\n this._setupTooltipHover();\n }\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private _setupTooltipHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n }),\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this.zHideDelay());\n })\n );\n }\n\n private _hideTooltip(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n setTimeout(() => {\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_TOOLTIP_ANIMATION_DURATION);\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n\n private _calculateArrowOffset(position: ZTooltipPosition): void {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const triggerRect = this._elementRef.nativeElement.getBoundingClientRect();\n const tooltipRect = this._overlayRef.overlayElement.getBoundingClientRect();\n\n let offset = 0;\n\n if (position === 'top' || position === 'bottom') {\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipCenterX = tooltipRect.left + tooltipRect.width / 2;\n offset = triggerCenterX - tooltipCenterX;\n }\n\n if (position === 'left' || position === 'right') {\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n const tooltipCenterY = tooltipRect.top + tooltipRect.height / 2;\n offset = triggerCenterY - tooltipCenterY;\n }\n\n const maxOffset =\n position === 'top' || position === 'bottom' ? tooltipRect.width / 2 - 12 : tooltipRect.height / 2 - 12;\n offset = Math.max(-maxOffset, Math.min(maxOffset, offset));\n\n if (Math.abs(offset) > 1) {\n this._componentRef.instance.arrowOffset.set(offset);\n return;\n }\n\n this._componentRef.instance.arrowOffset.set(0);\n }\n}\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.4.11",
3
+ "version": "1.4.13",
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",
@@ -395,16 +395,16 @@ declare class ZCalendarComponent implements OnInit, ControlValueAccessor {
395
395
 
396
396
  declare const zCalendarVariants: (props?: ({
397
397
  zSize?: "sm" | "default" | "lg" | null | undefined;
398
- zStatus?: "default" | "disabled" | "readonly" | "open" | "error" | null | undefined;
398
+ zStatus?: "default" | "disabled" | "open" | "error" | "readonly" | null | undefined;
399
399
  } & class_variance_authority_types.ClassProp) | undefined) => string;
400
400
  declare const zCalendarDayVariants: (props?: ({
401
- state?: "default" | "disabled" | "today" | "selected" | "inRange" | "rangeStart" | "rangeEnd" | "rangeSingle" | "otherMonth" | "hovered" | null | undefined;
401
+ state?: "default" | "today" | "selected" | "inRange" | "rangeStart" | "rangeEnd" | "rangeSingle" | "disabled" | "otherMonth" | "hovered" | null | undefined;
402
402
  } & class_variance_authority_types.ClassProp) | undefined) => string;
403
403
  declare const zCalendarMonthVariants: (props?: ({
404
- state?: "default" | "current" | "disabled" | "selected" | null | undefined;
404
+ state?: "default" | "selected" | "disabled" | "current" | null | undefined;
405
405
  } & class_variance_authority_types.ClassProp) | undefined) => string;
406
406
  declare const zCalendarYearVariants: (props?: ({
407
- state?: "default" | "current" | "disabled" | "selected" | null | undefined;
407
+ state?: "default" | "selected" | "disabled" | "current" | null | undefined;
408
408
  } & class_variance_authority_types.ClassProp) | undefined) => string;
409
409
 
410
410
  export { ZCalendarComponent, zCalendarDayVariants, zCalendarMonthVariants, zCalendarVariants, zCalendarYearVariants };
@@ -36,6 +36,7 @@ declare const zCardVariants: (props?: ({
36
36
  declare const zCardHeaderVariants: (props?: ({
37
37
  zSize?: "sm" | "default" | "lg" | null | undefined;
38
38
  zCollapsible?: boolean | null | undefined;
39
+ zCollapsed?: boolean | null | undefined;
39
40
  } & class_variance_authority_types.ClassProp) | undefined) => string;
40
41
  declare const zCardTitleVariants: (props?: ({
41
42
  zSize?: "sm" | "default" | "lg" | null | undefined;
@@ -109,7 +109,7 @@ declare class ZEditorComponent implements OnInit, ControlValueAccessor {
109
109
 
110
110
  declare const zEditorVariants: (props?: ({
111
111
  zSize?: "sm" | "default" | "lg" | null | undefined;
112
- zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
112
+ zStatus?: "default" | "error" | "disabled" | "readonly" | null | undefined;
113
113
  } & class_variance_authority_types.ClassProp) | undefined) => string;
114
114
  type ZEditorVariants = VariantProps<typeof zEditorVariants>;
115
115
 
@@ -187,11 +187,11 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
187
187
 
188
188
  declare const zInputVariants: (props?: ({
189
189
  zSize?: "sm" | "default" | "lg" | null | undefined;
190
- zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
190
+ zStatus?: "default" | "error" | "disabled" | "readonly" | null | undefined;
191
191
  } & class_variance_authority_types.ClassProp) | undefined) => string;
192
192
  type ZInputVariants = VariantProps<typeof zInputVariants>;
193
193
  declare const zTextareaVariants: (props?: ({
194
- zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
194
+ zStatus?: "default" | "error" | "disabled" | "readonly" | null | undefined;
195
195
  } & class_variance_authority_types.ClassProp) | undefined) => string;
196
196
  type ZTextareaVariants = VariantProps<typeof zTextareaVariants>;
197
197
 
@@ -220,7 +220,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
220
220
  protected readonly effectiveOkText: _angular_core.Signal<string | null | undefined>;
221
221
  protected readonly effectiveCancelText: _angular_core.Signal<string | null | undefined>;
222
222
  protected readonly effectiveOkDestructive: _angular_core.Signal<boolean | undefined>;
223
- protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "default" | "primary" | "secondary" | "destructive" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | "link" | null | undefined>;
223
+ protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "link" | "default" | "primary" | "secondary" | "destructive" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | null | undefined>;
224
224
  protected readonly effectiveOkDisabled: _angular_core.Signal<boolean | undefined>;
225
225
  protected readonly effectiveLoading: _angular_core.Signal<boolean>;
226
226
  protected readonly effectiveContentLoading: _angular_core.Signal<boolean>;
@@ -271,7 +271,7 @@ declare class ZTagClassesPipe implements PipeTransform {
271
271
 
272
272
  declare const zSelectVariants: (props?: ({
273
273
  zSize?: "sm" | "default" | "lg" | null | undefined;
274
- zStatus?: "default" | "disabled" | "readonly" | "open" | "error" | null | undefined;
274
+ zStatus?: "default" | "open" | "error" | "disabled" | "readonly" | null | undefined;
275
275
  } & class_variance_authority_types.ClassProp) | undefined) => string;
276
276
  declare const zSelectTagVariants: (props?: ({
277
277
  zSize?: "sm" | "default" | "lg" | null | undefined;
@@ -86,7 +86,7 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
86
86
  protected readonly hasError: _angular_core.Signal<boolean>;
87
87
  protected readonly showError: _angular_core.Signal<boolean>;
88
88
  protected readonly errorMessage: _angular_core.Signal<string>;
89
- protected readonly currentStatus: _angular_core.Signal<"default" | "disabled" | "readonly" | "error" | "active">;
89
+ protected readonly currentStatus: _angular_core.Signal<"default" | "error" | "disabled" | "readonly" | "active">;
90
90
  protected readonly dropzoneClasses: _angular_core.Signal<string>;
91
91
  protected readonly acceptTypes: _angular_core.Signal<string>;
92
92
  protected readonly formatFileSize: (bytes: number) => string;
@@ -125,11 +125,11 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
125
125
 
126
126
  declare const zUploadDropzoneVariants: (props?: ({
127
127
  zSize?: "sm" | "default" | "lg" | null | undefined;
128
- zStatus?: "default" | "disabled" | "readonly" | "error" | "active" | null | undefined;
128
+ zStatus?: "default" | "error" | "active" | "disabled" | "readonly" | null | undefined;
129
129
  } & class_variance_authority_types.ClassProp) | undefined) => string;
130
130
  type ZUploadDropzoneVariants = VariantProps<typeof zUploadDropzoneVariants>;
131
131
  declare const zUploadFileItemVariants: (props?: ({
132
- zStatus?: "error" | "pending" | "uploading" | "success" | null | undefined;
132
+ zStatus?: "pending" | "uploading" | "success" | "error" | null | undefined;
133
133
  } & class_variance_authority_types.ClassProp) | undefined) => string;
134
134
  type ZUploadFileItemVariants = VariantProps<typeof zUploadFileItemVariants>;
135
135