@unipin/angular-applet 21.3.1 → 21.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +4 -2
  2. package/fesm2022/unipin-angular-applet-accordion.mjs +39 -37
  3. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +9 -9
  5. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  6. package/fesm2022/unipin-angular-applet-alert.mjs +16 -19
  7. package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
  8. package/fesm2022/unipin-angular-applet-approval.mjs +11 -11
  9. package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
  10. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs → unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs} +6 -7
  11. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs.map +1 -0
  12. package/fesm2022/unipin-angular-applet-audit.mjs +14 -14
  13. package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
  14. package/fesm2022/unipin-angular-applet-auth.mjs +23 -26
  15. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
  16. package/fesm2022/unipin-angular-applet-avatar.mjs +6 -7
  17. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  18. package/fesm2022/unipin-angular-applet-badge.mjs +6 -7
  19. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
  20. package/fesm2022/unipin-angular-applet-buttons.mjs +13 -15
  21. package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
  22. package/fesm2022/unipin-angular-applet-calendar.mjs +23 -27
  23. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  24. package/fesm2022/unipin-angular-applet-collapsible.mjs +17 -20
  25. package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
  26. package/fesm2022/unipin-angular-applet-common.mjs +25 -30
  27. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
  28. package/fesm2022/unipin-angular-applet-containers.mjs +23 -26
  29. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
  30. package/fesm2022/unipin-angular-applet-dialog.mjs +64 -70
  31. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  32. package/fesm2022/unipin-angular-applet-forms.mjs +231 -236
  33. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  34. package/fesm2022/unipin-angular-applet-froala.mjs +10 -11
  35. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  36. package/fesm2022/unipin-angular-applet-grids.mjs +430 -17
  37. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
  38. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +5 -6
  39. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
  40. package/fesm2022/unipin-angular-applet-json-viewer.mjs +8 -9
  41. package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
  42. package/fesm2022/unipin-angular-applet-kbd.mjs +5 -6
  43. package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
  44. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +8 -9
  45. package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
  46. package/fesm2022/unipin-angular-applet-markdown.mjs +20 -21
  47. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  48. package/fesm2022/unipin-angular-applet-popover.mjs +26 -30
  49. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  50. package/fesm2022/unipin-angular-applet-progress-bar.mjs +8 -9
  51. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
  52. package/fesm2022/unipin-angular-applet-skeleton.mjs +5 -6
  53. package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
  54. package/fesm2022/unipin-angular-applet-spinner.mjs +7 -7
  55. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
  56. package/fesm2022/unipin-angular-applet-stepper.mjs +17 -19
  57. package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
  58. package/fesm2022/unipin-angular-applet-swipeable.mjs +26 -30
  59. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
  60. package/fesm2022/unipin-angular-applet-tabs.mjs +22 -25
  61. package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
  62. package/fesm2022/unipin-angular-applet-tooltip.mjs +5 -6
  63. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
  64. package/package.json +6 -2
  65. package/types/unipin-angular-applet-accordion.d.ts +4 -2
  66. package/types/unipin-angular-applet-forms.d.ts +6 -3
  67. package/types/unipin-angular-applet-grids.d.ts +102 -15
  68. package/types/unipin-angular-applet-popover.d.ts +3 -3
  69. package/common/assets/sprites/flagGlobal.png +0 -0
  70. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-tabs.mjs","sources":["../../../projects/unipin-angular/tabs/variants/tabs.variant.ts","../../../projects/unipin-angular/tabs/components/tabs.component.ts","../../../projects/unipin-angular/tabs/directives/tabs-content.directive.ts","../../../projects/unipin-angular/tabs/directives/tabs-trigger.directive.ts","../../../projects/unipin-angular/tabs/unipin-angular-applet-tabs.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const tabsVariants = cva(\n `\n flex mb-2 w-max p-1 rounded-lg\n [&>.tabs-trigger]:px-2.5 [&>.tabs-trigger]:py-1.5 [&>.tabs-trigger]:text-sm [&>.tabs-trigger]:transition-colors [&>.tabs-trigger]:cursor-pointer\n `,\n {\n variants: {\n variant: {\n default: `\n bg-gray-100 \n [&>.tabs-trigger]:data-[state=active]:bg-white [&>.tabs-trigger]:data-[state=active]:shadow-lg [&>.tabs-trigger]:data-[state=active]:rounded-lg [&>.tabs-trigger]:hover:opacity-[60%]\n `,\n underline: `\n bg-none \n [&>.tabs-trigger]:border-b-2 [&>.tabs-trigger]:border-transparent [&>.tabs-trigger]:hover:text-primary [&>.tabs-trigger]:text-gray-500 [&>.tabs-trigger]:data-[state=active]:border-primary [&>.tabs-trigger]:data-[state=active]:text-primary\n `,\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type TabsVariants = VariantProps<typeof tabsVariants>;\n","import { Component, computed, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { tabsVariants } from '../variants/tabs.variant';\n\n@Component({\n standalone: true,\n selector: 'up-tabs',\n template: `\n <div [class]=\"tabsClass()\">\n <ng-content select=\"[upTabsTrigger]\" />\n </div>\n\n <ng-content select=\"[upTabsContent]\" />\n `,\n})\nexport class UpTabsComponent {\n\n public readonly size: InputSignal<'sm' | 'md' | 'lg'> = input<'sm' | 'md' | 'lg'>('md');\n public readonly variant: InputSignal<'underline' | 'default'> = input<'underline' | 'default'>('default');\n\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n public readonly defaultActiveTab: InputSignal<string | null> = input<string | null>(null, { alias: 'default' });\n\n public readonly activeTab: WritableSignal<string | null> = signal<string | null>(null);\n public readonly tabsClass = computed(\n () => {\n return up(\n tabsVariants(\n {\n variant: this.variant()\n }\n ),\n this.inlineStyle()\n );\n }\n );\n\n constructor() {\n effect(\n () => {\n if (\n this.activeTab() === null && \n this.defaultActiveTab()\n ) {\n this.activeTab.set(this.defaultActiveTab());\n }\n }\n );\n }\n\n public setActive(tab: string): void{\n this.activeTab.set(tab);\n }\n}\n","import { computed, Directive, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsContent',\n selector: '[upTabsContent]',\n host: {\n '[hidden]': '!isActive()',\n '[class]': 'tabsContentClass()',\n }\n})\nexport class UpTabsContentDirective {\n\n public readonly value: InputSignal<string> = input.required<string>();\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n\n public readonly isActive: WritableSignal<boolean> = signal(false);\n public readonly tabsContentClass = computed(\n () => {\n return up('block', this.inlineStyle());\n }\n );\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) {\n return;\n }\n \n this.isActive.set(\n this.parent.activeTab() === this.value()\n );\n }\n );\n }\n}\n","import { computed, Directive, effect, input, signal } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsTrigger',\n selector: '[upTabsTrigger]',\n host: {\n '(click)': 'activate()',\n '[class]': 'tabsTriggerClass()',\n '[attr.data-state]': `isActive()? 'active' : 'inactive'`,\n }\n})\nexport class UpTabsTriggerDirective {\n \n public readonly value = input.required<string>();\n \n public readonly isActive = signal(false);\n public readonly tabsTriggerClass = computed(() => up('tabs-trigger font-medium'));\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) return;\n this.isActive.set(this.parent.activeTab() === this.value());\n }\n );\n }\n\n public activate(): void{\n this.parent?.setActive(this.value());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpTabsComponent"],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-tabs.mjs","sources":["../../../projects/unipin-angular/tabs/variants/tabs.variant.ts","../../../projects/unipin-angular/tabs/components/tabs.component.ts","../../../projects/unipin-angular/tabs/directives/tabs-content.directive.ts","../../../projects/unipin-angular/tabs/directives/tabs-trigger.directive.ts","../../../projects/unipin-angular/tabs/unipin-angular-applet-tabs.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const tabsVariants = cva(\n `\n flex mb-2 w-max p-1 rounded-lg\n [&>.tabs-trigger]:px-2.5 [&>.tabs-trigger]:py-1.5 [&>.tabs-trigger]:text-sm [&>.tabs-trigger]:transition-colors [&>.tabs-trigger]:cursor-pointer\n `,\n {\n variants: {\n variant: {\n default: `\n bg-gray-100 \n [&>.tabs-trigger]:data-[state=active]:bg-white [&>.tabs-trigger]:data-[state=active]:shadow-lg [&>.tabs-trigger]:data-[state=active]:rounded-lg [&>.tabs-trigger]:hover:opacity-[60%]\n `,\n underline: `\n bg-none \n [&>.tabs-trigger]:border-b-2 [&>.tabs-trigger]:border-transparent [&>.tabs-trigger]:hover:text-primary [&>.tabs-trigger]:text-gray-500 [&>.tabs-trigger]:data-[state=active]:border-primary [&>.tabs-trigger]:data-[state=active]:text-primary\n `,\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type TabsVariants = VariantProps<typeof tabsVariants>;\n","import { Component, computed, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { tabsVariants } from '../variants/tabs.variant';\n\n\n@Component({\n selector: 'up-tabs',\n template: `\n <div [class]=\"tabsClass()\">\n <ng-content select=\"[upTabsTrigger]\" />\n </div>\n\n <ng-content select=\"[upTabsContent]\" />\n `,\n})\nexport class UpTabsComponent {\n\n public readonly size: InputSignal<'sm' | 'md' | 'lg'> = input<'sm' | 'md' | 'lg'>('md');\n public readonly variant: InputSignal<'underline' | 'default'> = input<'underline' | 'default'>('default');\n\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n public readonly defaultActiveTab: InputSignal<string | null> = input<string | null>(null, { alias: 'default' });\n\n public readonly activeTab: WritableSignal<string | null> = signal<string | null>(null);\n public readonly tabsClass = computed(\n () => {\n return up(\n tabsVariants(\n {\n variant: this.variant()\n }\n ),\n this.inlineStyle()\n );\n }\n );\n\n constructor() {\n effect(\n () => {\n if (\n this.activeTab() === null && \n this.defaultActiveTab()\n ) {\n this.activeTab.set(this.defaultActiveTab());\n }\n }\n );\n }\n\n public setActive(tab: string): void{\n this.activeTab.set(tab);\n }\n}\n","import { computed, Directive, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n\n@Directive({\n exportAs: 'upTabsContent',\n selector: '[upTabsContent]',\n host: {\n '[hidden]': '!isActive()',\n '[class]': 'tabsContentClass()',\n }\n})\nexport class UpTabsContentDirective {\n\n public readonly value: InputSignal<string> = input.required<string>();\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n\n public readonly isActive: WritableSignal<boolean> = signal(false);\n public readonly tabsContentClass = computed(\n () => {\n return up('block', this.inlineStyle());\n }\n );\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) {\n return;\n }\n \n this.isActive.set(\n this.parent.activeTab() === this.value()\n );\n }\n );\n }\n}\n","import { computed, Directive, effect, input, signal } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n\n@Directive({\n exportAs: 'upTabsTrigger',\n selector: '[upTabsTrigger]',\n host: {\n '(click)': 'activate()',\n '[class]': 'tabsTriggerClass()',\n '[attr.data-state]': `isActive()? 'active' : 'inactive'`,\n }\n})\nexport class UpTabsTriggerDirective {\n \n public readonly value = input.required<string>();\n \n public readonly isActive = signal(false);\n public readonly tabsTriggerClass = computed(() => up('tabs-trigger font-medium'));\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) return;\n this.isActive.set(this.parent.activeTab() === this.value());\n }\n );\n }\n\n public activate(): void{\n this.parent?.setActive(this.value());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpTabsComponent"],"mappings":"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"}
@@ -12,13 +12,13 @@ class UpTooltipDirective {
12
12
  * @type {InputSignal<string>}
13
13
  * @default ''
14
14
  */
15
- this.toolTipText = input.required(...(ngDevMode ? [{ debugName: "toolTipText" }] : []));
15
+ this.toolTipText = input.required(...(ngDevMode ? [{ debugName: "toolTipText" }] : /* istanbul ignore next */ []));
16
16
  /**
17
17
  * Input variable specifying the position of the tooltip relative to the host element.
18
18
  * @type {InputSignal<string>}
19
19
  * @default 'top'
20
20
  */
21
- this.position = input('top', ...(ngDevMode ? [{ debugName: "position" }] : []));
21
+ this.position = input('top', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
22
22
  this._winListener = [];
23
23
  this._hostListener = [];
24
24
  this._tooltipElement = null;
@@ -95,13 +95,12 @@ class UpTooltipDirective {
95
95
  this.renderer.setStyle(tooltipEl, 'top', `${Math.round(top)}px`);
96
96
  this.renderer.setStyle(tooltipEl, 'left', `${Math.round(left)}px`);
97
97
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
99
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpTooltipDirective, isStandalone: true, selector: "[upTooltip]", inputs: { toolTipText: { classPropertyName: "toolTipText", publicName: "toolTipText", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["upTooltip"], ngImport: i0 }); }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpTooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpTooltipDirective, isStandalone: true, selector: "[upTooltip]", inputs: { toolTipText: { classPropertyName: "toolTipText", publicName: "toolTipText", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["upTooltip"], ngImport: i0 }); }
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTooltipDirective, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpTooltipDirective, decorators: [{
102
102
  type: Directive,
103
103
  args: [{
104
- standalone: true,
105
104
  exportAs: 'upTooltip',
106
105
  selector: '[upTooltip]',
107
106
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-tooltip.mjs","sources":["../../../projects/unipin-angular/tooltip/tooltip.directive.ts","../../../projects/unipin-angular/tooltip/unipin-angular-applet-tooltip.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, OnInit, OnDestroy, input, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upTooltip',\n selector: '[upTooltip]',\n})\nexport class UpTooltipDirective implements OnInit, OnDestroy {\n\n /**\n * Input variable specifying the text displayed in the tooltip helper, which provides a hint to the user about the purpose of the element.\n * @type {InputSignal<string>}\n * @default ''\n */\n public readonly toolTipText = input.required<string>();\n \n /**\n * Input variable specifying the position of the tooltip relative to the host element.\n * @type {InputSignal<string>}\n * @default 'top'\n */\n public readonly position = input<'top' | 'right' | 'bottom' | 'left'>('top');\n \n protected _winListener: Array<() => void> = [];\n protected _hostListener: Array<() => void> = [];\n protected _tooltipElement: HTMLElement | null = null;\n\n constructor(\n @Inject(DOCUMENT) protected readonly doc: Document,\n protected readonly renderer: Renderer2,\n protected readonly el: ElementRef<HTMLElement>,\n ) {}\n\n public ngOnInit(): void{\n this._hostListener.push(\n this.renderer.listen(\n this.el.nativeElement, \n 'mouseenter', \n () => {\n if (this._tooltipElement) {\n this.renderer.removeClass(this._tooltipElement, 'invisible');\n return;\n }\n this._tooltipElement = this.renderer.createElement('span');\n \n this.renderer.setAttribute(\n this._tooltipElement, \n 'class', \n 'fixed z-[10000] text-white max-w-xs text-xs w-max whitespace-normal bg-[#2D3336] rounded-lg px-2 py-1 break-words pointer-events-none'\n );\n\n this.renderer.appendChild(\n this._tooltipElement, \n this.renderer.createText(\n this.toolTipText()\n )\n );\n this.renderer.appendChild(this.doc.body, this._tooltipElement);\n \n this.positionTooltip(); \n this._winListener.push(\n this.renderer.listen('window', 'scroll', () => this.positionTooltip()),\n this.renderer.listen('window', 'resize', () => this.positionTooltip())\n );\n }\n ),\n \n this.renderer.listen(\n this.el.nativeElement, \n 'mouseleave', \n () => {\n this.hideTooltip();\n }\n )\n );\n }\n\n public ngOnDestroy(): void{\n this.hideTooltip();\n\n for (const off of this._hostListener) {\n try { \n off(); \n } catch {}\n }\n this._hostListener.length = 0;\n\n for (const off of this._winListener) {\n try { \n off(); \n } catch {}\n }\n this._winListener.length = 0;\n }\n\n protected hideTooltip(): void{\n if (this._tooltipElement) {\n this.renderer.addClass(this._tooltipElement, 'invisible');\n }\n }\n\n protected positionTooltip(): void{\n if (!this._tooltipElement) {\n return;\n }\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipEl = this._tooltipElement as HTMLElement;\n const tooltipRect = tooltipEl.getBoundingClientRect();\n\n const gap = 8;\n let top = 0;\n let left = 0;\n\n switch (this.position()) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n\n default:\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n }\n\n const margin = 4;\n left = Math.max(\n margin, \n Math.min(\n left, \n this.doc.defaultView?.innerWidth?? 0 - tooltipRect.width - margin\n )\n );\n \n top = Math.max(\n margin, \n Math.min(\n top, \n this.doc.defaultView?.innerHeight?? 0 - tooltipRect.height - margin\n )\n );\n this.renderer.setStyle(tooltipEl, 'top', `${ Math.round(top) }px`);\n this.renderer.setStyle(tooltipEl, 'left', `${ Math.round(left) }px`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAQa,kBAAkB,CAAA;AAoB7B,IAAA,WAAA,CACuC,GAAa,EAC/B,QAAmB,EACnB,EAA2B,EAAA;QAFT,IAAA,CAAA,GAAG,GAAH,GAAG;QACrB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,EAAE,GAAF,EAAE;AArBvB;;;;AAIG;AACa,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,sDAAU;AAEtD;;;;AAIG;AACa,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAsC,KAAK,oDAAC;QAElE,IAAA,CAAA,YAAY,GAAsB,EAAE;QACpC,IAAA,CAAA,aAAa,GAAsB,EAAE;QACrC,IAAA,CAAA,eAAe,GAAuB,IAAI;IAMjD;IAEI,QAAQ,GAAA;QACb,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,YAAY,EACZ,MAAK;AACH,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;gBAC5D;YACF;YACA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAE1D,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,IAAI,CAAC,eAAe,EACpB,OAAO,EACP,uIAAuI,CACxI;YAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,CACtB,IAAI,CAAC,WAAW,EAAE,CACnB,CACF;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC;YAE9D,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,EACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CACvE;AACH,QAAA,CAAC,CACF,EAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,YAAY,EACZ,MAAK;YACH,IAAI,CAAC,WAAW,EAAE;QACpB,CAAC,CACF,CACF;IACH;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;AACpC,YAAA,IAAI;AACF,gBAAA,GAAG,EAAE;YACP;YAAE,MAAM,EAAC;QACX;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;AAE7B,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;AACnC,YAAA,IAAI;AACF,gBAAA,GAAG,EAAE;YACP;YAAE,MAAM,EAAC;QACX;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;IAC9B;IAEU,WAAW,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;QAC3D;IACF;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB;QACF;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC9D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAA8B;AACrD,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE;QAErD,MAAM,GAAG,GAAG,CAAC;QACb,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,YAAA,KAAK,KAAK;gBACR,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG;AAC7C,gBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;gBAC/D;AAEF,YAAA,KAAK,MAAM;AACT,gBAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC;gBAC/D,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,GAAG;gBAC9C;AAEF,YAAA,KAAK,OAAO;AACV,gBAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC;AAC/D,gBAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,GAAG;gBAC3B;AAEF,YAAA;AACE,gBAAA,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;AAC3B,gBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;gBAC/D;;QAGJ,MAAM,MAAM,GAAG,CAAC;AAChB,QAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CACb,MAAM,EACN,IAAI,CAAC,GAAG,CACN,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,IAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM,CAClE,CACF;AAED,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CACZ,MAAM,EACN,IAAI,CAAC,GAAG,CACN,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,IAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,CACpE,CACF;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAA,EAAA,CAAI,CAAC;AAClE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAA,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAA,EAAA,CAAI,CAAC;IACtE;AAnJW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAqBnB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGArBP,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA;;0BAsBI,MAAM;2BAAC,QAAQ;;;AC7BpB;;AAEG;;;;"}
1
+ {"version":3,"file":"unipin-angular-applet-tooltip.mjs","sources":["../../../projects/unipin-angular/tooltip/tooltip.directive.ts","../../../projects/unipin-angular/tooltip/unipin-angular-applet-tooltip.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, OnInit, OnDestroy, input, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n\n@Directive({\n exportAs: 'upTooltip',\n selector: '[upTooltip]',\n})\nexport class UpTooltipDirective implements OnInit, OnDestroy {\n\n /**\n * Input variable specifying the text displayed in the tooltip helper, which provides a hint to the user about the purpose of the element.\n * @type {InputSignal<string>}\n * @default ''\n */\n public readonly toolTipText = input.required<string>();\n \n /**\n * Input variable specifying the position of the tooltip relative to the host element.\n * @type {InputSignal<string>}\n * @default 'top'\n */\n public readonly position = input<'top' | 'right' | 'bottom' | 'left'>('top');\n \n protected _winListener: Array<() => void> = [];\n protected _hostListener: Array<() => void> = [];\n protected _tooltipElement: HTMLElement | null = null;\n\n constructor(\n @Inject(DOCUMENT) protected readonly doc: Document,\n protected readonly renderer: Renderer2,\n protected readonly el: ElementRef<HTMLElement>,\n ) {}\n\n public ngOnInit(): void{\n this._hostListener.push(\n this.renderer.listen(\n this.el.nativeElement, \n 'mouseenter', \n () => {\n if (this._tooltipElement) {\n this.renderer.removeClass(this._tooltipElement, 'invisible');\n return;\n }\n this._tooltipElement = this.renderer.createElement('span');\n \n this.renderer.setAttribute(\n this._tooltipElement, \n 'class', \n 'fixed z-[10000] text-white max-w-xs text-xs w-max whitespace-normal bg-[#2D3336] rounded-lg px-2 py-1 break-words pointer-events-none'\n );\n\n this.renderer.appendChild(\n this._tooltipElement, \n this.renderer.createText(\n this.toolTipText()\n )\n );\n this.renderer.appendChild(this.doc.body, this._tooltipElement);\n \n this.positionTooltip(); \n this._winListener.push(\n this.renderer.listen('window', 'scroll', () => this.positionTooltip()),\n this.renderer.listen('window', 'resize', () => this.positionTooltip())\n );\n }\n ),\n \n this.renderer.listen(\n this.el.nativeElement, \n 'mouseleave', \n () => {\n this.hideTooltip();\n }\n )\n );\n }\n\n public ngOnDestroy(): void{\n this.hideTooltip();\n\n for (const off of this._hostListener) {\n try { \n off(); \n } catch {}\n }\n this._hostListener.length = 0;\n\n for (const off of this._winListener) {\n try { \n off(); \n } catch {}\n }\n this._winListener.length = 0;\n }\n\n protected hideTooltip(): void{\n if (this._tooltipElement) {\n this.renderer.addClass(this._tooltipElement, 'invisible');\n }\n }\n\n protected positionTooltip(): void{\n if (!this._tooltipElement) {\n return;\n }\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipEl = this._tooltipElement as HTMLElement;\n const tooltipRect = tooltipEl.getBoundingClientRect();\n\n const gap = 8;\n let top = 0;\n let left = 0;\n\n switch (this.position()) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n\n default:\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n }\n\n const margin = 4;\n left = Math.max(\n margin, \n Math.min(\n left, \n this.doc.defaultView?.innerWidth?? 0 - tooltipRect.width - margin\n )\n );\n \n top = Math.max(\n margin, \n Math.min(\n top, \n this.doc.defaultView?.innerHeight?? 0 - tooltipRect.height - margin\n )\n );\n this.renderer.setStyle(tooltipEl, 'top', `${ Math.round(top) }px`);\n this.renderer.setStyle(tooltipEl, 'left', `${ Math.round(left) }px`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAQa,kBAAkB,CAAA;AAoB7B,IAAA,WAAA,CACuC,GAAa,EAC/B,QAAmB,EACnB,EAA2B,EAAA;QAFT,IAAA,CAAA,GAAG,GAAH,GAAG;QACrB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,EAAE,GAAF,EAAE;AArBvB;;;;AAIG;AACa,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,iFAAU;AAEtD;;;;AAIG;AACa,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAsC,KAAK,+EAAC;QAElE,IAAA,CAAA,YAAY,GAAsB,EAAE;QACpC,IAAA,CAAA,aAAa,GAAsB,EAAE;QACrC,IAAA,CAAA,eAAe,GAAuB,IAAI;IAMjD;IAEI,QAAQ,GAAA;QACb,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,YAAY,EACZ,MAAK;AACH,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;gBAC5D;YACF;YACA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAE1D,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,IAAI,CAAC,eAAe,EACpB,OAAO,EACP,uIAAuI,CACxI;YAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,CACtB,IAAI,CAAC,WAAW,EAAE,CACnB,CACF;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC;YAE9D,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,EACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CACvE;AACH,QAAA,CAAC,CACF,EAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,YAAY,EACZ,MAAK;YACH,IAAI,CAAC,WAAW,EAAE;QACpB,CAAC,CACF,CACF;IACH;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;AACpC,YAAA,IAAI;AACF,gBAAA,GAAG,EAAE;YACP;YAAE,MAAM,EAAC;QACX;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;AAE7B,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;AACnC,YAAA,IAAI;AACF,gBAAA,GAAG,EAAE;YACP;YAAE,MAAM,EAAC;QACX;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;IAC9B;IAEU,WAAW,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;QAC3D;IACF;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB;QACF;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC9D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAA8B;AACrD,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE;QAErD,MAAM,GAAG,GAAG,CAAC;QACb,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,YAAA,KAAK,KAAK;gBACR,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG;AAC7C,gBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;gBAC/D;AAEF,YAAA,KAAK,MAAM;AACT,gBAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC;gBAC/D,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,GAAG;gBAC9C;AAEF,YAAA,KAAK,OAAO;AACV,gBAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC;AAC/D,gBAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,GAAG;gBAC3B;AAEF,YAAA;AACE,gBAAA,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;AAC3B,gBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;gBAC/D;;QAGJ,MAAM,MAAM,GAAG,CAAC;AAChB,QAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CACb,MAAM,EACN,IAAI,CAAC,GAAG,CACN,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,IAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM,CAClE,CACF;AAED,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CACZ,MAAM,EACN,IAAI,CAAC,GAAG,CACN,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,IAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,CACpE,CACF;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAA,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAA,EAAA,CAAI,CAAC;AAClE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAA,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAA,EAAA,CAAI,CAAC;IACtE;AAnJW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAqBnB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGArBP,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA;;0BAsBI,MAAM;2BAAC,QAAQ;;;AC7BpB;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unipin/angular-applet",
3
- "version": "21.3.1",
3
+ "version": "21.5.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "21.x.x",
6
6
  "@angular/common": "21.x.x",
@@ -8,8 +8,11 @@
8
8
  "@angular/elements": "21.x.x",
9
9
  "@unipin/angular-gql": "1.x.x",
10
10
  "@ng-icons/core": "33.x.x",
11
+ "@ng-icons/flag-icons": "^33.x.x",
11
12
  "@ng-icons/material-icons": "33.x.x",
12
13
  "@ng-select/ng-select": "21.x.x",
14
+ "ag-grid-angular": "^35.x.x",
15
+ "ag-grid-community": "^35.x.x",
13
16
  "angular-froala-wysiwyg": "4.x.x",
14
17
  "angular-split": "20.x.x",
15
18
  "class-variance-authority": "0.x.x",
@@ -158,5 +161,6 @@
158
161
  "types": "./types/unipin-angular-applet-tooltip.d.ts",
159
162
  "default": "./fesm2022/unipin-angular-applet-tooltip.mjs"
160
163
  }
161
- }
164
+ },
165
+ "type": "module"
162
166
  }
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit } from '@angular/core';
2
+ import { OnInit, ElementRef } from '@angular/core';
3
3
  import { ClassValue } from 'clsx';
4
4
 
5
5
  declare class UpAccordionDirective implements OnInit {
@@ -49,10 +49,12 @@ declare class UpAccordionTriggerDirective {
49
49
  }
50
50
 
51
51
  declare class UpAccordionContentDirective {
52
+ protected readonly elementRef: ElementRef;
52
53
  protected readonly item: UpAccordionItemDirective;
53
54
  readonly inlineClass: _angular_core.InputSignal<ClassValue>;
55
+ protected readonly _contentHeight: _angular_core.Signal<string>;
54
56
  protected _computedClass: _angular_core.Signal<string>;
55
- constructor(item: UpAccordionItemDirective);
57
+ constructor(elementRef: ElementRef, item: UpAccordionItemDirective);
56
58
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpAccordionContentDirective, never>;
57
59
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UpAccordionContentDirective, "[upAccordionContent]", ["upAccordionContent"], { "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
58
60
  }
@@ -308,6 +308,7 @@ declare class UpCountrySelectComponent extends UpFieldControlComponent implement
308
308
  readonly placeholder: _angular_core.InputSignal<string>;
309
309
  readonly inlineClass: _angular_core.InputSignal<ClassValue>;
310
310
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
311
+ readonly appendTo: _angular_core.InputSignal<(string & {}) | "body" | ".cdk-overlay-pane">;
311
312
  readonly value: _angular_core.ModelSignal<string | null>;
312
313
  readonly changed: OutputEmitterRef<Country>;
313
314
  readonly countries: _angular_core.WritableSignal<Country[]>;
@@ -327,7 +328,7 @@ declare class UpCountrySelectComponent extends UpFieldControlComponent implement
327
328
  onTouched(): void;
328
329
  change(value: any): void;
329
330
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpCountrySelectComponent, never>;
330
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpCountrySelectComponent, "up-country-select", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
331
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpCountrySelectComponent, "up-country-select", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
331
332
  }
332
333
 
333
334
  declare class UpCurrencySelectComponent extends UpFieldControlComponent implements OnInit, OnDestroy, ControlValueAccessor {
@@ -337,6 +338,7 @@ declare class UpCurrencySelectComponent extends UpFieldControlComponent implemen
337
338
  readonly placeholder: _angular_core.InputSignal<string>;
338
339
  readonly inlineClass: _angular_core.InputSignal<ClassValue>;
339
340
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
341
+ readonly appendTo: _angular_core.InputSignal<(string & {}) | "body" | ".cdk-overlay-pane">;
340
342
  readonly value: _angular_core.ModelSignal<string | null>;
341
343
  readonly changed: OutputEmitterRef<Currency>;
342
344
  readonly isLoading: _angular_core.WritableSignal<boolean>;
@@ -358,7 +360,7 @@ declare class UpCurrencySelectComponent extends UpFieldControlComponent implemen
358
360
  onTouched(): void;
359
361
  change(value: any): void;
360
362
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpCurrencySelectComponent, never>;
361
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpCurrencySelectComponent, "up-currency-select", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
363
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpCurrencySelectComponent, "up-currency-select", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
362
364
  }
363
365
 
364
366
  declare class UpSearchableSelectComponent extends UpFieldControlComponent implements ControlValueAccessor {
@@ -570,11 +572,12 @@ declare class UpFormFieldComponent {
570
572
  readonly hint: _angular_core.InputSignal<string>;
571
573
  readonly label: _angular_core.InputSignal<string>;
572
574
  readonly inlineClass: _angular_core.InputSignal<ClassValue>;
575
+ readonly hideAsterisk: _angular_core.InputSignalWithTransform<boolean, boolean>;
573
576
  readonly control: _angular_core.Signal<UpFieldControl | undefined>;
574
577
  protected readonly _computedClass: _angular_core.Signal<string>;
575
578
  constructor();
576
579
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpFormFieldComponent, never>;
577
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpFormFieldComponent, "up-form-field", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["control"], ["*"], true, never>;
580
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpFormFieldComponent, "up-form-field", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "hideAsterisk": { "alias": "hideAsterisk"; "required": false; "isSignal": true; }; }, {}, ["control"], ["*"], true, never>;
578
581
  }
579
582
 
580
583
  declare class UpImagePickerComponent extends UpFieldControlComponent implements ControlValueAccessor {
@@ -1,22 +1,42 @@
1
+ import * as ag_grid_community from 'ag-grid-community';
2
+ import { ColDef, Theme, GridApi, ColGroupDef, RowModelType, RowClassParams, GridReadyEvent, RowClickedEvent, SelectionChangedEvent, PaginationChangedEvent, DragStoppedEvent } from 'ag-grid-community';
1
3
  import { BadgeVariants } from '@unipin/angular-applet/badge';
4
+ import * as _angular_core from '@angular/core';
5
+ import { OnInit } from '@angular/core';
6
+ import { ClassValue } from 'clsx';
2
7
 
3
- declare const rowNumberColumn: {
4
- maxWidth: number;
5
- pinned: string;
6
- sortable: boolean;
7
- lockPinned: boolean;
8
- headerName: string;
9
- lockPosition: boolean;
10
- suppressMovable: boolean;
11
- valueGetter: string;
12
- cellStyle: {
13
- fontWeight: number;
14
- textAlign: string;
15
- justifyContent: string;
8
+ type GridDatasourceRefreshEvent<T> = {
9
+ page: number;
10
+ pageSize: number;
11
+ failCallback: (message?: string) => void;
12
+ successCallback: (data: T[], count?: number) => void;
13
+ sort: undefined | {
14
+ colId: string;
15
+ sort: 'asc' | 'desc';
16
16
  };
17
17
  };
18
18
 
19
- declare function renderFlag(value: string | string[]): string;
19
+ type GridSnapshotPageInfo = {
20
+ hasNextPage: boolean;
21
+ endCursor: string | null;
22
+ };
23
+ type GridSnapshotDatasourceRefreshEvent<T> = {
24
+ pageSize: number;
25
+ after: string | null;
26
+ failCallback: (message?: string) => void;
27
+ successCallback: (data: T[], pageInfo: GridSnapshotPageInfo) => void;
28
+ sort: undefined | {
29
+ colId: string;
30
+ sort: 'asc' | 'desc';
31
+ };
32
+ };
33
+
34
+ declare const rowNumberColumn: ColDef;
35
+
36
+ declare const gridDefaultColDef: ColDef;
37
+ declare const gridTheme: Theme;
38
+
39
+ declare function renderFlag(countryCode: string | string[]): string;
20
40
 
21
41
  type RenderGridBadgeOptions = {
22
42
  additionalClass?: string;
@@ -35,4 +55,71 @@ type RenderStatusBadgeOptions = Omit<RenderGridBadgeOptions, 'isAutoGenerateColo
35
55
  };
36
56
  declare function renderStatusBadge(value: string, { additionalStatus, additionalClass }: RenderStatusBadgeOptions): string;
37
57
 
38
- export { renderFlag, renderGridBadge, renderStatusBadge, rowNumberColumn };
58
+ declare class GridService {
59
+ protected readonly apis: Map<string, GridApi>;
60
+ setApi(id: string, api: GridApi): void;
61
+ getApi(id: string): GridApi | undefined;
62
+ refreshGridCache(id: string, forceRefresh?: boolean): void;
63
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridService, never>;
64
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<GridService>;
65
+ }
66
+
67
+ declare class UpGridComponent<T = any> implements OnInit {
68
+ protected readonly service: GridService;
69
+ readonly columnDefs: _angular_core.InputSignal<(ColDef<T, any> | ColGroupDef<T>)[]>;
70
+ readonly noRowText: _angular_core.InputSignal<string>;
71
+ readonly rowModelType: _angular_core.InputSignal<RowModelType>;
72
+ readonly rowSelection: _angular_core.InputSignal<"single" | "multiple">;
73
+ readonly getRowClass: _angular_core.InputSignal<((params: RowClassParams<T>) => string) | undefined>;
74
+ readonly id: _angular_core.InputSignal<`grid-${string}`>;
75
+ readonly inlineClass: _angular_core.InputSignal<ClassValue>;
76
+ readonly rowPerPage: _angular_core.ModelSignal<number>;
77
+ readonly pagination: _angular_core.InputSignalWithTransform<boolean, unknown>;
78
+ readonly gridReady: _angular_core.OutputEmitterRef<GridReadyEvent<T, any>>;
79
+ readonly rowClicked: _angular_core.OutputEmitterRef<RowClickedEvent<T, any>>;
80
+ readonly selectionChanged: _angular_core.OutputEmitterRef<SelectionChangedEvent<T, any>>;
81
+ readonly datasourceRefreshed: _angular_core.OutputEmitterRef<GridDatasourceRefreshEvent<T>>;
82
+ readonly theme: ag_grid_community.Theme;
83
+ readonly defaultColDef: ColDef<any, any>;
84
+ protected readonly _computedClass: _angular_core.Signal<string>;
85
+ protected count?: number;
86
+ constructor(service: GridService);
87
+ ngOnInit(): void;
88
+ changePagination({ newPageSize, api }: PaginationChangedEvent): void;
89
+ dragColumn({ api }: DragStoppedEvent): void;
90
+ setDatasource(ev: GridReadyEvent): void;
91
+ protected setNoRowTemplate(api: GridApi, text: string): void;
92
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpGridComponent<any>, never>;
93
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpGridComponent<any>, "up-grid", never, { "columnDefs": { "alias": "columnDefs"; "required": true; "isSignal": true; }; "noRowText": { "alias": "noRowText"; "required": false; "isSignal": true; }; "rowModelType": { "alias": "rowModelType"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "getRowClass": { "alias": "getRowClass"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "rowPerPage": { "alias": "rowPerPage"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "rowPerPage": "rowPerPageChange"; "gridReady": "gridReady"; "rowClicked": "rowClicked"; "selectionChanged": "selectionChanged"; "datasourceRefreshed": "datasourceRefreshed"; }, never, never, true, never>;
94
+ }
95
+
96
+ declare class UpSnapshotGridComponent<T = any> implements OnInit {
97
+ protected readonly service: GridService;
98
+ readonly columnDefs: _angular_core.InputSignal<(ColDef<T, any> | ColGroupDef<T>)[]>;
99
+ readonly noRowText: _angular_core.InputSignal<string>;
100
+ readonly rowSelection: _angular_core.InputSignal<"single" | "multiple">;
101
+ readonly getRowClass: _angular_core.InputSignal<((params: RowClassParams<T>) => string) | undefined>;
102
+ readonly id: _angular_core.InputSignal<`grid-${string}`>;
103
+ readonly inlineClass: _angular_core.InputSignal<ClassValue>;
104
+ readonly rowPerPage: _angular_core.ModelSignal<number>;
105
+ readonly pagination: _angular_core.InputSignalWithTransform<boolean, unknown>;
106
+ readonly gridReady: _angular_core.OutputEmitterRef<GridReadyEvent<T, any>>;
107
+ readonly rowClicked: _angular_core.OutputEmitterRef<RowClickedEvent<T, any>>;
108
+ readonly selectionChanged: _angular_core.OutputEmitterRef<SelectionChangedEvent<T, any>>;
109
+ readonly datasourceRefreshed: _angular_core.OutputEmitterRef<GridSnapshotDatasourceRefreshEvent<T>>;
110
+ readonly theme: ag_grid_community.Theme;
111
+ readonly defaultColDef: ColDef<any, any>;
112
+ protected readonly _computedClass: _angular_core.Signal<string>;
113
+ protected after: string;
114
+ constructor(service: GridService);
115
+ ngOnInit(): void;
116
+ changePagination({ newPageSize, api }: PaginationChangedEvent): void;
117
+ dragColumn({ api }: DragStoppedEvent): void;
118
+ setDatasource(ev: GridReadyEvent): void;
119
+ protected setNoRowTemplate(api: GridApi, text: string): void;
120
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpSnapshotGridComponent<any>, never>;
121
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpSnapshotGridComponent<any>, "up-snapshot-grid", never, { "columnDefs": { "alias": "columnDefs"; "required": true; "isSignal": true; }; "noRowText": { "alias": "noRowText"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "getRowClass": { "alias": "getRowClass"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; "rowPerPage": { "alias": "rowPerPage"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "rowPerPage": "rowPerPageChange"; "gridReady": "gridReady"; "rowClicked": "rowClicked"; "selectionChanged": "selectionChanged"; "datasourceRefreshed": "datasourceRefreshed"; }, never, never, true, never>;
122
+ }
123
+
124
+ export { GridService, UpGridComponent, UpSnapshotGridComponent, gridDefaultColDef, gridTheme, renderFlag, renderGridBadge, renderStatusBadge, rowNumberColumn };
125
+ export type { GridDatasourceRefreshEvent, GridSnapshotDatasourceRefreshEvent, GridSnapshotPageInfo };
@@ -1,5 +1,4 @@
1
- import * as _unipin_angular_applet_dialog from '@unipin/angular-applet/dialog';
2
- import { UpDialogCloseDirective, UpDialogTriggerDirective, UpDialogContentRefDirective, UpDialog } from '@unipin/angular-applet/dialog';
1
+ import { UpDialogCloseDirective, UpDialogTriggerDirective, UpDialogRef, UpDialogContentRefDirective, UpDialog } from '@unipin/angular-applet/dialog';
3
2
  import * as i0 from '@angular/core';
4
3
  import { ElementRef } from '@angular/core';
5
4
  import { ClassValue } from 'clsx';
@@ -28,8 +27,9 @@ declare class UpPopoverTriggerDirective extends UpDialogTriggerDirective {
28
27
  }
29
28
 
30
29
  declare class UpPopoverContentDirective {
31
- readonly stateProvider: _unipin_angular_applet_dialog.ExposesState;
30
+ readonly dialogRef: UpDialogRef<any>;
32
31
  readonly inlineClass: i0.InputSignal<ClassValue>;
32
+ readonly state: i0.Signal<"closed" | "open">;
33
33
  protected readonly _computedClass: i0.Signal<string>;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<UpPopoverContentDirective, never>;
35
35
  static ɵdir: i0.ɵɵDirectiveDeclaration<UpPopoverContentDirective, "[upPopoverContent]", ["upPopoverContent"], { "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs","sources":["../../../projects/unipin-angular/audit/components/modal/audit-modal.component.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, input, output } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { AuditTrail } from '@unipin/graphql-schema';\nimport { UpContentContainerComponent } from '@unipin/angular-applet/containers';\nimport { UpFormFieldComponent, UpInputDirective } from '@unipin/angular-applet/forms';\nimport { UpDialogWrapperComponent, UpDialogContentDirective, UpDialogContentRefDirective } from '@unipin/angular-applet/dialog';\n\n\ntype AuditTrailData = AuditTrail & {\n icon: string;\n changedData?: Array<{ field: string; oldValue: any; newValue: any }>;\n}\n\n\n@Component({\n standalone: true,\n selector: 'up-audit-modal',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DatePipe,\n UpInputDirective,\n UpFormFieldComponent,\n UpDialogWrapperComponent,\n UpDialogContentDirective,\n UpDialogContentRefDirective,\n UpContentContainerComponent\n ],\n template: `\n <up-dialog-wrapper\n [isOpen]=\"audit() !== null\"\n (dismissed)=\"dismissed.emit()\"\n >\n <div\n upDialogContent\n class=\"max-w-200\"\n *upDialogContentRef\n >\n <up-content-container\n [header]=\"audit()?.user?.name + ' ' + audit()?.action + ' • ' + (audit()?.createdAt | date: 'dd LLL yyyy HH:mm')\"\n (closed)=\"dismissed.emit()\"\n >\n <div class=\"p-4 space-y-6\">\n <up-form-field label=\"Username\">\n <input \n upInput \n readonly\n type=\"text\"\n tabindex=\"-1\"\n [value]=\"audit()?.user?.name\" \n />\n </up-form-field>\n\n <up-form-field label=\"Description\">\n <textarea \n upInput\n readonly\n tabindex=\"-1\"\n class=\"h-25 w-full\"\n [value]=\"audit()?.description\"\n ></textarea>\n </up-form-field>\n\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n <up-form-field label=\"Source IP\">\n <input \n upInput \n readonly\n type=\"text\"\n tabindex=\"-1\"\n [value]=\"audit()?.sourceIp\" \n />\n </up-form-field>\n\n <up-form-field label=\"Source Platform\">\n <input \n upInput \n readonly\n type=\"text\"\n tabindex=\"-1\"\n [value]=\"audit()?.user?.sourcePlatform\" \n />\n </up-form-field>\n\n <up-form-field label=\"MS Source\">\n <input \n upInput \n readonly\n type=\"text\"\n tabindex=\"-1\"\n [value]=\"audit()?.msSource\" \n />\n </up-form-field>\n\n <up-form-field label=\"Function\">\n <input \n upInput \n readonly\n type=\"text\"\n tabindex=\"-1\"\n [value]=\"audit()?.function\" \n />\n </up-form-field>\n </div>\n\n @if (\n audit() &&\n audit()!.changedData &&\n audit()!.changedData!.length > 0\n ) {\n <div class=\"space-y-2\">\n <label class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 select-none\">\n Changed Data\n </label>\n \n <table class=\"w-full my-2 table-fixed border-collapse rounded-md select-none\">\n <thead class=\"border-inherit border-solid border-0\">\n <tr>\n <th class=\"w-[30%] p-2 text-left border border-border bg-[#f2f2f2] text-base border-tl-2\">Field</th>\n <th class=\"w-[35%] p-2 text-left border border-border bg-[#f2f2f2] text-base\">Old Value</th>\n <th class=\"w-[35%] p-2 text-left border border-border bg-[#f2f2f2] text-base border-tr-2\">New Value</th>\n </tr>\n </thead>\n\n <tbody class=\"border-inherit border-solid border-0\">\n @for (data of audit()!.changedData; track data.field; let even = $even) {\n <tr \n [class]=\"even? 'bg-white': 'bg-[#f9f9f9]'\"\n >\n <td class=\"p-2 text-left border border-border capitalize\">\n {{ data.field }}\n </td>\n\n <td class=\"p-2 text-left border border-border capitalize\">\n {{ data.oldValue }}\n </td>\n\n <td class=\"p-2 text-left border border-border capitalize\">\n {{ data.newValue }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </div>\n </up-content-container>\n </div>\n </up-dialog-wrapper> \n `\n})\nexport class UpAuditModalComponent {\n\n public readonly audit = input.required<AuditTrailData | null>();\n public readonly dismissed = output<void>();\n}\n"],"names":[],"mappings":"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"}