@unipin/angular-applet 21.5.0 → 21.6.1

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 (65) hide show
  1. package/fesm2022/unipin-angular-applet-accordion.mjs +12 -12
  2. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
  3. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +6 -6
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
  6. package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
  7. package/fesm2022/unipin-angular-applet-approval.mjs +119 -10
  8. package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
  9. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs → unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs} +4 -4
  10. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs.map → unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs.map} +1 -1
  11. package/fesm2022/unipin-angular-applet-audit.mjs +7 -7
  12. package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
  13. package/fesm2022/unipin-angular-applet-auth.mjs +21 -21
  14. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
  15. package/fesm2022/unipin-angular-applet-avatar.mjs +3 -3
  16. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  17. package/fesm2022/unipin-angular-applet-badge.mjs +3 -3
  18. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
  19. package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
  20. package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
  21. package/fesm2022/unipin-angular-applet-calendar.mjs +12 -12
  22. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  23. package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
  24. package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
  25. package/fesm2022/unipin-angular-applet-common.mjs +24 -24
  26. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
  27. package/fesm2022/unipin-angular-applet-containers.mjs +12 -12
  28. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
  29. package/fesm2022/unipin-angular-applet-dialog.mjs +21 -21
  30. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  31. package/fesm2022/unipin-angular-applet-forms.mjs +165 -107
  32. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  33. package/fesm2022/unipin-angular-applet-froala.mjs +3 -3
  34. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  35. package/fesm2022/unipin-angular-applet-grids.mjs +20 -14
  36. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
  37. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
  38. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
  39. package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
  40. package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
  41. package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
  42. package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
  43. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
  44. package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
  45. package/fesm2022/unipin-angular-applet-markdown.mjs +13 -10
  46. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  47. package/fesm2022/unipin-angular-applet-popover.mjs +15 -15
  48. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  49. package/fesm2022/unipin-angular-applet-progress-bar.mjs +3 -3
  50. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
  51. package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
  52. package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
  53. package/fesm2022/unipin-angular-applet-spinner.mjs +3 -3
  54. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
  55. package/fesm2022/unipin-angular-applet-stepper.mjs +6 -6
  56. package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
  57. package/fesm2022/unipin-angular-applet-swipeable.mjs +12 -12
  58. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
  59. package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
  60. package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
  61. package/fesm2022/unipin-angular-applet-tooltip.mjs +3 -3
  62. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
  63. package/package.json +1 -1
  64. package/types/unipin-angular-applet-approval.d.ts +42 -11
  65. package/types/unipin-angular-applet-forms.d.ts +27 -4
@@ -31,10 +31,10 @@ class UpAccordionDirective {
31
31
  this.value.set(defaultVal);
32
32
  }
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAccordionDirective, isStandalone: true, selector: "[upAccordion]", inputs: { dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", valueChange: "valueChange", value: "valueChange", defaultValue: "defaultValueChange" }, host: { properties: { "attr.dir": "dir()", "class": "_computedClass()" } }, exportAs: ["upAccordion"], ngImport: i0 }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAccordionDirective, isStandalone: true, selector: "[upAccordion]", inputs: { dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", valueChange: "valueChange", value: "valueChange", defaultValue: "defaultValueChange" }, host: { properties: { "attr.dir": "dir()", "class": "_computedClass()" } }, exportAs: ["upAccordion"], ngImport: i0 }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  exportAs: 'upAccordion',
@@ -98,10 +98,10 @@ class UpAccordionItemDirective {
98
98
  return;
99
99
  }
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionItemDirective, deps: [{ token: UpAccordionDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAccordionItemDirective, isStandalone: true, selector: "[upAccordionItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpened: "isOpenedChange" }, host: { properties: { "class": "_computedClass()", "attr.data-state": "isOpened()? 'open' : 'closed'" } }, exportAs: ["upAccordionItem"], ngImport: i0 }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionItemDirective, deps: [{ token: UpAccordionDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAccordionItemDirective, isStandalone: true, selector: "[upAccordionItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpened: "isOpenedChange" }, host: { properties: { "class": "_computedClass()", "attr.data-state": "isOpened()? 'open' : 'closed'" } }, exportAs: ["upAccordionItem"], ngImport: i0 }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionItemDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionItemDirective, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  exportAs: 'upAccordionItem',
@@ -183,10 +183,10 @@ class UpAccordionTriggerDirective {
183
183
  }
184
184
  return Array.from(accordionElement.querySelectorAll('[upAccordionTrigger]'));
185
185
  }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionTriggerDirective, deps: [{ token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
187
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAccordionTriggerDirective, isStandalone: true, selector: "[upAccordionTrigger]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleState()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "0", "attr.role": "'button'", "class": "_computedClass()", "attr.aria-expanded": "this.item.isOpened()", "attr.disabled": "this.item.disabled() || null", "attr.data-state": "this.item.isOpened()? 'open' : 'closed'", "attr.aria-disabled": "this.item.disabled() || this.item.wrapper.disabled() || null", "style.writing-mode": "this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''" } }, ngImport: i0 }); }
186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionTriggerDirective, deps: [{ token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
187
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAccordionTriggerDirective, isStandalone: true, selector: "[upAccordionTrigger]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleState()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "0", "attr.role": "'button'", "class": "_computedClass()", "attr.aria-expanded": "this.item.isOpened()", "attr.disabled": "this.item.disabled() || null", "attr.data-state": "this.item.isOpened()? 'open' : 'closed'", "attr.aria-disabled": "this.item.disabled() || this.item.wrapper.disabled() || null", "style.writing-mode": "this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''" } }, ngImport: i0 }); }
188
188
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionTriggerDirective, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionTriggerDirective, decorators: [{
190
190
  type: Directive,
191
191
  args: [{
192
192
  selector: '[upAccordionTrigger]',
@@ -221,10 +221,10 @@ class UpAccordionContentDirective {
221
221
  return up('overflow-hidden transition-all duration-300 ease-in-out', isDisabled ? 'text-gray-400' : '', isHorizontal ? (isOpened ? 'w-[var(--up-accordion-content-width)] opacity-100' : 'max-w-0 opacity-0 text-nowrap') : (isOpened ? 'h-[var(--up-accordion-content-height)] visible opacity-100' : 'h-0 invisible opacity-0'), this.inlineClass());
222
222
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
223
223
  }
224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionContentDirective, deps: [{ token: i0.ElementRef }, { token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
225
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAccordionContentDirective, isStandalone: true, selector: "[upAccordionContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "style.--up-accordion-content-height": "_contentHeight()" } }, exportAs: ["upAccordionContent"], ngImport: i0 }); }
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionContentDirective, deps: [{ token: i0.ElementRef }, { token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
225
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAccordionContentDirective, isStandalone: true, selector: "[upAccordionContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "style.--up-accordion-content-height": "_contentHeight()" } }, exportAs: ["upAccordionContent"], ngImport: i0 }); }
226
226
  }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAccordionContentDirective, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAccordionContentDirective, decorators: [{
228
228
  type: Directive,
229
229
  args: [{
230
230
  exportAs: 'upAccordionContent',
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-accordion.mjs","sources":["../../../projects/unipin-angular/accordion/directives/accordion.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-item.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-trigger.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-content.directive.ts","../../../projects/unipin-angular/accordion/unipin-angular-applet-accordion.ts"],"sourcesContent":["import { booleanAttribute, computed, Directive, input, model, OnInit, effect, output } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAccordion',\n selector: '[upAccordion]',\n host: {\n '[attr.dir]': 'dir()',\n '[class]': '_computedClass()',\n }\n})\nexport class UpAccordionDirective implements OnInit {\n \n public readonly dir = input<'ltr' | 'rtl'>('ltr');\n public readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n \n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly collapsible = input(false, { transform: booleanAttribute });\n\n public readonly type = model<'single' | 'multiple'>('single');\n\n public readonly valueChange = output<string | string[]>();\n public readonly value = model<string | string[] | undefined>();\n public readonly defaultValue = model<string | string[] | undefined>();\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n `overflow-hidden`,\n this.orientation() === 'horizontal'? 'w-fit' : 'h-fit',\n this.disabled()? 'cursor-not-allowed opacity-50' : '',\n this.inlineClass()\n );\n }\n )\n\n constructor() {\n effect(\n () => {\n if (this.value()) {\n this.valueChange.emit(this.value() as string | string[]);\n }\n }\n );\n }\n\n public ngOnInit(): void{\n const currentValue = this.value();\n const defaultVal = this.defaultValue();\n \n if (\n (\n currentValue === undefined || \n currentValue === null\n ) && \n defaultVal !== undefined\n ) {\n this.value.set(defaultVal);\n }\n }\n}\n","import { Directive, input, computed, effect, model, booleanAttribute } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionDirective } from './accordion.directive';\n\n\n@Directive({\n exportAs: 'upAccordionItem',\n selector: '[upAccordionItem]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': `isOpened()? 'open' : 'closed'`\n }\n})\nexport class UpAccordionItemDirective {\n \n public readonly value = input.required<string>();\n public readonly isOpened = model<boolean>(false);\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n protected _computedClass = computed(\n () => {\n const isHorizontal = this.wrapper.orientation() === 'horizontal';\n \n return up(\n this.disabled()? 'opacity-50' : '',\n isHorizontal? 'flex flex-row h-auto w-fit' : 'flex flex-col',\n this.inlineClass()\n );\n }\n );\n\n constructor (\n public readonly wrapper: UpAccordionDirective\n ) {\n effect(\n () => {\n if (this.wrapper.type() === 'single') {\n this.isOpened.set(this.wrapper.value() === this.value());\n return;\n }\n\n const values = Array.isArray(this.wrapper.value())? this.wrapper.value() : (this.wrapper.value()? [this.wrapper.value()] : []);\n this.isOpened.set(\n values!.includes(this.value())\n );\n }\n );\n }\n\n public setOpen(value: boolean): void{\n if (\n this.disabled() || \n this.wrapper.disabled()\n ) {\n return;\n }\n \n if (this.wrapper.type() === 'multiple') {\n const rawValue = this.wrapper.value();\n const currentValues = Array.isArray(rawValue)? [...rawValue] : (rawValue? [rawValue] : []);\n const itemValue = this.value();\n\n if (value) {\n if (!currentValues.includes(itemValue)) {\n currentValues.push(itemValue);\n }\n this.wrapper.value.set(currentValues);\n \n return;\n }\n\n if (!this.wrapper.collapsible()) {\n return;\n }\n\n const nextValues = currentValues.filter(v => v !== itemValue);\n this.wrapper.value.set(nextValues.length ? nextValues : undefined);\n return;\n }\n\n if (value) {\n this.wrapper.value.set(this.value());\n return;\n }\n \n if (this.wrapper.collapsible()) {\n this.wrapper.value.set(undefined);\n return;\n }\n }\n}\n","import { Directive, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionItemDirective } from './accordion-item.directive';\n\n\n@Directive({\n selector: '[upAccordionTrigger]',\n host: {\n '[attr.tabindex]': '0',\n '[attr.role]': `'button'`,\n '[class]': '_computedClass()',\n '[attr.aria-expanded]': 'this.item.isOpened()',\n '[attr.disabled]': 'this.item.disabled() || null',\n '[attr.data-state]': `this.item.isOpened()? 'open' : 'closed'`,\n '[attr.aria-disabled]': 'this.item.disabled() || this.item.wrapper.disabled() || null',\n '[style.writing-mode]': `this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''`,\n\n '(click)': 'toggleState()',\n '(keydown)': 'onKeyDown($event)',\n }\n})\nexport class UpAccordionTriggerDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected _computedClass = computed(\n () => {\n const isItemDisabled = this.item.disabled() || this.item.wrapper.disabled();\n \n return up(\n 'w-full flex items-center justify-between text-left gap-4 cursor-pointer',\n isItemDisabled? 'cursor-not-allowed' : '',\n this.item.wrapper.orientation() === 'horizontal'? 'w-fit h-fit' : '',\n this.inlineClass()\n );\n }\n );\n\n constructor(\n public readonly item: UpAccordionItemDirective\n ) { }\n\n public toggleState(): void{\n this.item.setOpen(!this.item.isOpened());\n }\n\n public onKeyDown(event: KeyboardEvent): void{\n if (\n this.item.disabled() || \n this.item.wrapper.disabled()) \n {\n return;\n }\n\n event.preventDefault();\n switch (event.key) {\n case 'Enter':\n case ' ':\n this.toggleState();\n break;\n \n case 'ArrowDown':\n this.focusNextItem();\n break;\n \n case 'ArrowUp':\n this.focusPreviousItem();\n break;\n \n case 'Home':\n this.focusFirstItem();\n break;\n \n case 'End':\n this.focusLastItem();\n break;\n }\n }\n\n protected focusNextItem(): void{\n const triggers = this.getAllTriggers();\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n \n if (currentIndex < triggers.length - 1) {\n triggers[currentIndex + 1].focus();\n }\n }\n\n protected focusPreviousItem(): void{\n const triggers = this.getAllTriggers();\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n \n if (currentIndex > 0) {\n triggers[currentIndex - 1].focus();\n }\n }\n\n protected focusFirstItem(): void{\n const triggers = this.getAllTriggers();\n \n if (triggers.length > 0) {\n triggers[0].focus();\n }\n }\n\n protected focusLastItem(): void {\n const triggers = this.getAllTriggers();\n \n if (triggers.length > 0) {\n triggers[triggers.length - 1].focus();\n }\n }\n\n protected getAllTriggers(): HTMLElement[]{\n const accordionElement = (document.activeElement as HTMLElement)?.closest('[upAccordion]');\n \n if (!accordionElement) {\n return [];\n }\n return Array.from(accordionElement.querySelectorAll('[upAccordionTrigger]'));\n }\n}\n","import { Directive, input, computed, ElementRef } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionItemDirective } from './accordion-item.directive';\n\n\n@Directive({\n exportAs: 'upAccordionContent',\n selector: '[upAccordionContent]',\n host:{\n '[class]': '_computedClass()',\n '[style.--up-accordion-content-height]': '_contentHeight()',\n },\n})\nexport class UpAccordionContentDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _contentHeight = computed(\n () => {\n const element = this.elementRef.nativeElement as HTMLElement;\n return element? `${ element.scrollHeight }px` : '0px';\n }\n );\n\n protected _computedClass = computed(\n () => {\n const isOpened = this.item.isOpened();\n const isDisabled = this.item.disabled() || this.item.wrapper.disabled();\n const isHorizontal = this.item.wrapper.orientation() === 'horizontal';\n \n return up(\n 'overflow-hidden transition-all duration-300 ease-in-out',\n isDisabled? 'text-gray-400' : '',\n isHorizontal? (\n isOpened? 'w-[var(--up-accordion-content-width)] opacity-100' : 'max-w-0 opacity-0 text-nowrap'\n ) : (\n isOpened? 'h-[var(--up-accordion-content-height)] visible opacity-100' : 'h-0 invisible opacity-0'\n ),\n this.inlineClass()\n );\n }\n );\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly item: UpAccordionItemDirective,\n ) { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpAccordionDirective","i1.UpAccordionItemDirective"],"mappings":";;;;MAaa,oBAAoB,CAAA;AA2B/B,IAAA,WAAA,GAAA;AAzBgB,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAgB,KAAK,0EAAC;AACjC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,UAAU,kFAAC;QAE1D,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;QAEvD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACxD,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE3D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAwB,QAAQ,2EAAC;QAE7C,IAAA,CAAA,WAAW,GAAG,MAAM,EAAqB;QACzC,IAAA,CAAA,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiC;QAC9C,IAAA,CAAA,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiC;AAElD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,OAAO,EAAE,CACP,CAAA,eAAA,CAAiB,EACjB,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,GAAE,OAAO,GAAG,OAAO,EACtD,IAAI,CAAC,QAAQ,EAAE,GAAE,+BAA+B,GAAG,EAAE,EACrD,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;QAGC,MAAM,CACJ,MAAK;AACH,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAuB,CAAC;YAC1D;AACF,QAAA,CAAC,CACF;IACH;IAEO,QAAQ,GAAA;AACb,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE;AACjC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;QAEtC,IACE,CACE,YAAY,KAAK,SAAS;YAC1B,YAAY,KAAK,IAAI;YAEvB,UAAU,KAAK,SAAS,EACxB;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QAC5B;IACF;8GAlDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,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,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,aAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,YAAY,EAAE,OAAO;AACrB,wBAAA,SAAS,EAAE,kBAAkB;AAC9B;AACF,iBAAA;;;MCEY,wBAAwB,CAAA;AAoBnC,IAAA,WAAA,CACkB,OAA6B,EAAA;QAA7B,IAAA,CAAA,OAAO,GAAP,OAAO;AAnBT,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;QAEhC,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;QACvD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE9D,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CACjC,MAAK;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY;AAEhE,YAAA,OAAO,EAAE,CACP,IAAI,CAAC,QAAQ,EAAE,GAAE,YAAY,GAAG,EAAE,EAClC,YAAY,GAAE,4BAA4B,GAAG,eAAe,EAC5D,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;QAKC,MAAM,CACJ,MAAK;YACH,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;AACpC,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxD;YACF;YAEA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AAC9H,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,MAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAC/B;AACH,QAAA,CAAC,CACF;IACH;AAEO,IAAA,OAAO,CAAC,KAAc,EAAA;QAC3B,IACE,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EACvB;YACA;QACF;QAEA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,UAAU,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACrC,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,QAAQ,GAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAC1F,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE;YAE9B,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACtC,oBAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/B;gBACA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;gBAErC;YACF;YAEA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;gBAC/B;YACF;AAEA,YAAA,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAC7D,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;YAClE;QACF;QAEA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YACjC;QACF;IACF;8GA9EW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,mBAAmB,EAAE,CAAA,6BAAA;AACtB;AACF,iBAAA;;;MCSY,2BAA2B,CAAA;AAiBtC,IAAA,WAAA,CACkB,IAA8B,EAAA;QAA9B,IAAA,CAAA,IAAI,GAAJ,IAAI;QAhBN,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAE7D,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CACjC,MAAK;AACH,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAE3E,YAAA,OAAO,EAAE,CACP,yEAAyE,EACzE,cAAc,GAAE,oBAAoB,GAAG,EAAE,EACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY,GAAE,aAAa,GAAG,EAAE,EACpE,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;IAIG;IAEG,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1C;AAEO,IAAA,SAAS,CAAC,KAAoB,EAAA;AACnC,QAAA,IACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC9B;YACE;QACF;QAEA,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,GAAG;gBACN,IAAI,CAAC,WAAW,EAAE;gBAClB;AAEF,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,aAAa,EAAE;gBACpB;AAEF,YAAA,KAAK,SAAS;gBACZ,IAAI,CAAC,iBAAiB,EAAE;gBACxB;AAEF,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,EAAE;gBACrB;AAEF,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,aAAa,EAAE;gBACpB;;IAEN;IAEU,aAAa,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAA4B,CAAC;QAE5E,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;QACpC;IACF;IAEU,iBAAiB,GAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAA4B,CAAC;AAE5E,QAAA,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;QACpC;IACF;IAEU,cAAc,GAAA;AACtB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;AAEtC,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;QACrB;IACF;IAEU,aAAa,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;AAEtC,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;QACvC;IACF;IAEU,cAAc,GAAA;QACtB,MAAM,gBAAgB,GAAI,QAAQ,CAAC,aAA6B,EAAE,OAAO,CAAC,eAAe,CAAC;QAE1F,IAAI,CAAC,gBAAgB,EAAE;AACrB,YAAA,OAAO,EAAE;QACX;QACA,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IAC9E;8GAnGW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,GAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,8BAAA,EAAA,iBAAA,EAAA,yCAAA,EAAA,oBAAA,EAAA,8DAAA,EAAA,oBAAA,EAAA,sEAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAhBvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACJ,wBAAA,iBAAiB,EAAE,GAAG;AACtB,wBAAA,aAAa,EAAE,CAAA,QAAA,CAAU;AACzB,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,sBAAsB,EAAE,sBAAsB;AAC9C,wBAAA,iBAAiB,EAAE,8BAA8B;AACjD,wBAAA,mBAAmB,EAAE,CAAA,uCAAA,CAAyC;AAC9D,wBAAA,sBAAsB,EAAE,8DAA8D;AACtF,wBAAA,sBAAsB,EAAE,CAAA,oEAAA,CAAsE;AAE9F,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,WAAW,EAAE,mBAAmB;AACjC;AACF,iBAAA;;;MCPY,2BAA2B,CAAA;IA8BtC,WAAA,CACqB,UAAsB,EACtB,IAA8B,EAAA;QAD9B,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,IAAI,GAAJ,IAAI;QA9BT,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAEpD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B;AAC5D,YAAA,OAAO,OAAO,GAAE,CAAA,EAAI,OAAO,CAAC,YAAa,CAAA,EAAA,CAAI,GAAG,KAAK;AACvD,QAAA,CAAC,qFACF;AAES,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CACjC,MAAK;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACrC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvE,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY;YAErE,OAAO,EAAE,CACP,yDAAyD,EACzD,UAAU,GAAE,eAAe,GAAG,EAAE,EAChC,YAAY,IACV,QAAQ,GAAE,mDAAmD,GAAG,+BAA+B,KAE/F,QAAQ,GAAE,4DAA4D,GAAG,yBAAyB,CACnG,EACD,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;IAKG;8GAjCO,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,qCAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAC;AACH,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,uCAAuC,EAAE,kBAAkB;AAC5D,qBAAA;AACF,iBAAA;;;ACbD;;AAEG;;;;"}
1
+ {"version":3,"file":"unipin-angular-applet-accordion.mjs","sources":["../../../projects/unipin-angular/accordion/directives/accordion.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-item.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-trigger.directive.ts","../../../projects/unipin-angular/accordion/directives/accordion-content.directive.ts","../../../projects/unipin-angular/accordion/unipin-angular-applet-accordion.ts"],"sourcesContent":["import { booleanAttribute, computed, Directive, input, model, OnInit, effect, output } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAccordion',\n selector: '[upAccordion]',\n host: {\n '[attr.dir]': 'dir()',\n '[class]': '_computedClass()',\n }\n})\nexport class UpAccordionDirective implements OnInit {\n \n public readonly dir = input<'ltr' | 'rtl'>('ltr');\n public readonly orientation = input<'vertical' | 'horizontal'>('vertical');\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n \n public readonly disabled = input(false, { transform: booleanAttribute });\n public readonly collapsible = input(false, { transform: booleanAttribute });\n\n public readonly type = model<'single' | 'multiple'>('single');\n\n public readonly valueChange = output<string | string[]>();\n public readonly value = model<string | string[] | undefined>();\n public readonly defaultValue = model<string | string[] | undefined>();\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n `overflow-hidden`,\n this.orientation() === 'horizontal'? 'w-fit' : 'h-fit',\n this.disabled()? 'cursor-not-allowed opacity-50' : '',\n this.inlineClass()\n );\n }\n )\n\n constructor() {\n effect(\n () => {\n if (this.value()) {\n this.valueChange.emit(this.value() as string | string[]);\n }\n }\n );\n }\n\n public ngOnInit(): void{\n const currentValue = this.value();\n const defaultVal = this.defaultValue();\n \n if (\n (\n currentValue === undefined || \n currentValue === null\n ) && \n defaultVal !== undefined\n ) {\n this.value.set(defaultVal);\n }\n }\n}\n","import { Directive, input, computed, effect, model, booleanAttribute } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionDirective } from './accordion.directive';\n\n\n@Directive({\n exportAs: 'upAccordionItem',\n selector: '[upAccordionItem]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': `isOpened()? 'open' : 'closed'`\n }\n})\nexport class UpAccordionItemDirective {\n \n public readonly value = input.required<string>();\n public readonly isOpened = model<boolean>(false);\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n protected _computedClass = computed(\n () => {\n const isHorizontal = this.wrapper.orientation() === 'horizontal';\n \n return up(\n this.disabled()? 'opacity-50' : '',\n isHorizontal? 'flex flex-row h-auto w-fit' : 'flex flex-col',\n this.inlineClass()\n );\n }\n );\n\n constructor (\n public readonly wrapper: UpAccordionDirective\n ) {\n effect(\n () => {\n if (this.wrapper.type() === 'single') {\n this.isOpened.set(this.wrapper.value() === this.value());\n return;\n }\n\n const values = Array.isArray(this.wrapper.value())? this.wrapper.value() : (this.wrapper.value()? [this.wrapper.value()] : []);\n this.isOpened.set(\n values!.includes(this.value())\n );\n }\n );\n }\n\n public setOpen(value: boolean): void{\n if (\n this.disabled() || \n this.wrapper.disabled()\n ) {\n return;\n }\n \n if (this.wrapper.type() === 'multiple') {\n const rawValue = this.wrapper.value();\n const currentValues = Array.isArray(rawValue)? [...rawValue] : (rawValue? [rawValue] : []);\n const itemValue = this.value();\n\n if (value) {\n if (!currentValues.includes(itemValue)) {\n currentValues.push(itemValue);\n }\n this.wrapper.value.set(currentValues);\n \n return;\n }\n\n if (!this.wrapper.collapsible()) {\n return;\n }\n\n const nextValues = currentValues.filter(v => v !== itemValue);\n this.wrapper.value.set(nextValues.length ? nextValues : undefined);\n return;\n }\n\n if (value) {\n this.wrapper.value.set(this.value());\n return;\n }\n \n if (this.wrapper.collapsible()) {\n this.wrapper.value.set(undefined);\n return;\n }\n }\n}\n","import { Directive, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionItemDirective } from './accordion-item.directive';\n\n\n@Directive({\n selector: '[upAccordionTrigger]',\n host: {\n '[attr.tabindex]': '0',\n '[attr.role]': `'button'`,\n '[class]': '_computedClass()',\n '[attr.aria-expanded]': 'this.item.isOpened()',\n '[attr.disabled]': 'this.item.disabled() || null',\n '[attr.data-state]': `this.item.isOpened()? 'open' : 'closed'`,\n '[attr.aria-disabled]': 'this.item.disabled() || this.item.wrapper.disabled() || null',\n '[style.writing-mode]': `this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''`,\n\n '(click)': 'toggleState()',\n '(keydown)': 'onKeyDown($event)',\n }\n})\nexport class UpAccordionTriggerDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected _computedClass = computed(\n () => {\n const isItemDisabled = this.item.disabled() || this.item.wrapper.disabled();\n \n return up(\n 'w-full flex items-center justify-between text-left gap-4 cursor-pointer',\n isItemDisabled? 'cursor-not-allowed' : '',\n this.item.wrapper.orientation() === 'horizontal'? 'w-fit h-fit' : '',\n this.inlineClass()\n );\n }\n );\n\n constructor(\n public readonly item: UpAccordionItemDirective\n ) { }\n\n public toggleState(): void{\n this.item.setOpen(!this.item.isOpened());\n }\n\n public onKeyDown(event: KeyboardEvent): void{\n if (\n this.item.disabled() || \n this.item.wrapper.disabled()) \n {\n return;\n }\n\n event.preventDefault();\n switch (event.key) {\n case 'Enter':\n case ' ':\n this.toggleState();\n break;\n \n case 'ArrowDown':\n this.focusNextItem();\n break;\n \n case 'ArrowUp':\n this.focusPreviousItem();\n break;\n \n case 'Home':\n this.focusFirstItem();\n break;\n \n case 'End':\n this.focusLastItem();\n break;\n }\n }\n\n protected focusNextItem(): void{\n const triggers = this.getAllTriggers();\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n \n if (currentIndex < triggers.length - 1) {\n triggers[currentIndex + 1].focus();\n }\n }\n\n protected focusPreviousItem(): void{\n const triggers = this.getAllTriggers();\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n \n if (currentIndex > 0) {\n triggers[currentIndex - 1].focus();\n }\n }\n\n protected focusFirstItem(): void{\n const triggers = this.getAllTriggers();\n \n if (triggers.length > 0) {\n triggers[0].focus();\n }\n }\n\n protected focusLastItem(): void {\n const triggers = this.getAllTriggers();\n \n if (triggers.length > 0) {\n triggers[triggers.length - 1].focus();\n }\n }\n\n protected getAllTriggers(): HTMLElement[]{\n const accordionElement = (document.activeElement as HTMLElement)?.closest('[upAccordion]');\n \n if (!accordionElement) {\n return [];\n }\n return Array.from(accordionElement.querySelectorAll('[upAccordionTrigger]'));\n }\n}\n","import { Directive, input, computed, ElementRef } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpAccordionItemDirective } from './accordion-item.directive';\n\n\n@Directive({\n exportAs: 'upAccordionContent',\n selector: '[upAccordionContent]',\n host:{\n '[class]': '_computedClass()',\n '[style.--up-accordion-content-height]': '_contentHeight()',\n },\n})\nexport class UpAccordionContentDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _contentHeight = computed(\n () => {\n const element = this.elementRef.nativeElement as HTMLElement;\n return element? `${ element.scrollHeight }px` : '0px';\n }\n );\n\n protected _computedClass = computed(\n () => {\n const isOpened = this.item.isOpened();\n const isDisabled = this.item.disabled() || this.item.wrapper.disabled();\n const isHorizontal = this.item.wrapper.orientation() === 'horizontal';\n \n return up(\n 'overflow-hidden transition-all duration-300 ease-in-out',\n isDisabled? 'text-gray-400' : '',\n isHorizontal? (\n isOpened? 'w-[var(--up-accordion-content-width)] opacity-100' : 'max-w-0 opacity-0 text-nowrap'\n ) : (\n isOpened? 'h-[var(--up-accordion-content-height)] visible opacity-100' : 'h-0 invisible opacity-0'\n ),\n this.inlineClass()\n );\n }\n );\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly item: UpAccordionItemDirective,\n ) { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpAccordionDirective","i1.UpAccordionItemDirective"],"mappings":"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"}
@@ -41,8 +41,8 @@ class UpAlertComponent {
41
41
  }
42
42
  this.dialogRef.close();
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: UpAlertComponent, isStandalone: true, selector: "up-alert-dialog", host: { properties: { "attr.data-state": "state()" }, classAttribute: "\n bg-background shadow-lg rounded-lg relative z-50 grid gap-4 outline-none overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] duration-200 w-[90vw] max-w-125 mx-auto p-5\n " }, ngImport: i0, template: `
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: UpAlertComponent, isStandalone: true, selector: "up-alert-dialog", host: { properties: { "attr.data-state": "state()" }, classAttribute: "\n bg-background shadow-lg rounded-lg relative z-50 grid gap-4 outline-none overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] duration-200 w-[90vw] max-w-125 mx-auto p-5\n " }, ngImport: i0, template: `
46
46
  <!-- Header -->
47
47
  <div class="flex flex-col gap-2 text-center sm:text-left">
48
48
  <h2 class="text-lg font-semibold">
@@ -130,7 +130,7 @@ class UpAlertComponent {
130
130
  </div>
131
131
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.RequiredValidator, i1.CheckboxRequiredValidator, i1.FormGroupDirective, i1.FormControlName, import('@unipin/angular-applet/forms').then(m => m.UpInputDirective), import('@unipin/angular-applet/forms').then(m => m.UpCheckboxDirective), import('@unipin/angular-applet/forms').then(m => m.UpSelectComponent), import('@unipin/angular-applet/forms').then(m => m.UpPasswordComponent), import('@unipin/angular-applet/forms').then(m => m.UpFormFieldComponent)]] }); }
132
132
  }
133
- i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.2.7", ngImport: i0, type: UpAlertComponent, resolveDeferredDeps: () => [import('@unipin/angular-applet/forms').then(m => m.UpInputDirective), import('@unipin/angular-applet/forms').then(m => m.UpCheckboxDirective), import('@unipin/angular-applet/forms').then(m => m.UpSelectComponent), import('@unipin/angular-applet/forms').then(m => m.UpPasswordComponent), import('@unipin/angular-applet/forms').then(m => m.UpFormFieldComponent)], resolveMetadata: (UpInputDirective, UpCheckboxDirective, UpSelectComponent, UpPasswordComponent, UpFormFieldComponent) => ({ decorators: [{
133
+ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.2.11", ngImport: i0, type: UpAlertComponent, resolveDeferredDeps: () => [import('@unipin/angular-applet/forms').then(m => m.UpInputDirective), import('@unipin/angular-applet/forms').then(m => m.UpCheckboxDirective), import('@unipin/angular-applet/forms').then(m => m.UpSelectComponent), import('@unipin/angular-applet/forms').then(m => m.UpPasswordComponent), import('@unipin/angular-applet/forms').then(m => m.UpFormFieldComponent)], resolveMetadata: (UpInputDirective, UpCheckboxDirective, UpSelectComponent, UpPasswordComponent, UpFormFieldComponent) => ({ decorators: [{
134
134
  type: Component,
135
135
  args: [{
136
136
  selector: 'up-alert-dialog',
@@ -268,10 +268,10 @@ class UpAlertController {
268
268
  }
269
269
  });
270
270
  }
271
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertController, deps: [{ token: i1$1.UpDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
272
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertController, providedIn: 'root' }); }
271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertController, deps: [{ token: i1$1.UpDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
272
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertController, providedIn: 'root' }); }
273
273
  }
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertController, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertController, decorators: [{
275
275
  type: Injectable,
276
276
  args: [{
277
277
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-alert-dialog.mjs","sources":["../../../projects/unipin-angular/alert-dialog/components/alert-dialog.component.ts","../../../projects/unipin-angular/alert-dialog/services/alert-controller.service.ts","../../../projects/unipin-angular/alert-dialog/unipin-angular-applet-alert-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { injectDialogContext, UpDialogRef } from '@unipin/angular-applet/dialog';\nimport { UpInputDirective, UpCheckboxDirective, UpFormFieldComponent, UpPasswordComponent, UpSelectComponent } from '@unipin/angular-applet/forms';\nimport { AlertOptions } from '../types/alert-options.type';\n\n\n@Component({\n selector: 'up-alert-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-state]': 'state()',\n 'class': `\n bg-background shadow-lg rounded-lg relative z-50 grid gap-4 outline-none overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] duration-200 w-[90vw] max-w-125 mx-auto p-5\n `,\n },\n imports: [\n ReactiveFormsModule,\n UpInputDirective,\n UpButtonDirective,\n UpCheckboxDirective,\n UpSelectComponent,\n UpPasswordComponent,\n UpFormFieldComponent,\n ],\n template: `\n <!-- Header -->\n <div class=\"flex flex-col gap-2 text-center sm:text-left\">\n <h2 class=\"text-lg font-semibold\">\n {{ opts.title }}\n </h2>\n \n <p class=\"text-muted-foreground text-sm wrap-break-word\">\n {{ opts.description }}\n </p>\n </div>\n\n <!-- Fields -->\n @let fields = opts.fields;\n @if (\n fields && \n fields.length > 0\n ) {\n @defer (on immediate) {\n <form \n class=\"flex flex-col gap-6 mb-4 mt-5\"\n [formGroup]=\"form!\"\n >\n @for (field of fields; track $index) {\n <up-form-field\n [name]=\"field.name\"\n [label]=\"field.label\"\n >\n @switch (field.type) { \n @case ('checkbox') {\n <input \n upCheckbox \n type=\"checkbox\"\n [formControlName]=\"field.name\" \n [required]=\"field.required?? false\"\n />\n }\n \n @case ('password') {\n <up-password \n [formControlName]=\"field.name\" \n [placeholder]=\"field.placeholder\"\n [required]=\"field.required?? false\"\n />\n }\n \n @case ('select') {\n <up-select \n appendTo=\".cdk-overlay-pane\"\n [items]=\"field.items\"\n [clearable]=\"!field.required\"\n [formControlName]=\"field.name\"\n [required]=\"field.required?? false\"\n [placeholder]=\"field.placeholder?? ''\"\n />\n }\n \n @default {\n <input\n upInput\n [type]=\"field.type\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"\n [required]=\"field.required?? false\"\n />\n } \n }\n </up-form-field>\n }\n </form>\n }\n }\n\n <!-- Footer -->\n <div class=\"flex w-full flex-col-reverse gap-2 sm:flex-row sm:justify-end\">\n @for (btn of opts.buttons; track $index) {\n <button\n upButton\n [variant]=\"typeof btn === 'string'? undefined : btn.variant\"\n [class]=\"(typeof btn === 'string'? '' : btn.additionalClass) + ' flex-1'\"\n (click)=\"clickBtn($index)\"\n >\n {{ typeof btn === 'string'? btn : btn.text }}\n </button>\n }\n </div>\n `\n})\nexport class UpAlertComponent {\n\n public readonly dialogRef = inject(UpDialogRef);\n public readonly opts = injectDialogContext<AlertOptions>();\n\n public readonly state = computed(() => this.dialogRef?.state()?? 'closed');\n\n public form?: FormGroup;\n\n constructor(\n protected fb: FormBuilder\n ) {\n const fields = this.opts.fields;\n \n if (fields) {\n this.form = this.fb.group({ });\n \n fields.forEach(\n (field) => {\n const defaultValue = field.type === 'checkbox'? false : null;\n \n this.form!.addControl(\n field.name,\n this.fb.control(\n field.value?? defaultValue, \n field.required? Validators.required : []\n )\n );\n } \n );\n }\n }\n\n public clickBtn(index: number): void {\n const btn = this.opts.buttons[index];\n \n if (\n btn && \n typeof btn !== 'string' && \n btn.handler\n ) {\n let value: undefined | Record<string, any> = undefined;\n \n if (this.form) {\n value = { ...this.form.getRawValue() };\n \n this.opts.fields?.forEach(\n (field) => {\n if (\n field.type === 'number' && \n value![field.name] && \n !isNaN(value![field.name])\n ) {\n value![field.name] = Number(value![field.name]);\n }\n }\n );\n }\n btn.handler(value);\n }\n this.dialogRef.close();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UpDialogRef, UpDialogService } from '@unipin/angular-applet/dialog';\nimport { AlertOptions } from '../types/alert-options.type';\nimport { UpAlertComponent } from '../components/alert-dialog.component';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpAlertController {\n\n protected readonly MAX_FIELDS = 3;\n protected readonly MAX_BUTTONS = 2;\n\n constructor(protected dialog: UpDialogService) {}\n\n public show(options: AlertOptions, canDismiss: boolean = false): UpDialogRef{\n if (\n options.fields && \n options.fields.length > this.MAX_FIELDS\n ) {\n throw new Error(\n `AlertService: \"fields\" exceeded the maximum allowed (${ this.MAX_FIELDS }).`\n );\n }\n\n if (\n options.buttons && \n options.buttons.length > this.MAX_BUTTONS\n ) {\n throw new Error(\n `AlertService: \"buttons\" exceeded the maximum allowed (${ this.MAX_BUTTONS }).`\n );\n }\n\n return this.dialog.open(\n {\n content: UpAlertComponent,\n context: options,\n options: {\n closeDelay: 200,\n hasBackdrop: true,\n panelClass: 'relative!',\n disableClose: !canDismiss,\n closeOnBackdropClick: canDismiss,\n closeOnOutsidePointerEvents: canDismiss,\n }\n }\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-alert-dialog.mjs","sources":["../../../projects/unipin-angular/alert-dialog/components/alert-dialog.component.ts","../../../projects/unipin-angular/alert-dialog/services/alert-controller.service.ts","../../../projects/unipin-angular/alert-dialog/unipin-angular-applet-alert-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { injectDialogContext, UpDialogRef } from '@unipin/angular-applet/dialog';\nimport { UpInputDirective, UpCheckboxDirective, UpFormFieldComponent, UpPasswordComponent, UpSelectComponent } from '@unipin/angular-applet/forms';\nimport { AlertOptions } from '../types/alert-options.type';\n\n\n@Component({\n selector: 'up-alert-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-state]': 'state()',\n 'class': `\n bg-background shadow-lg rounded-lg relative z-50 grid gap-4 outline-none overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] duration-200 w-[90vw] max-w-125 mx-auto p-5\n `,\n },\n imports: [\n ReactiveFormsModule,\n UpInputDirective,\n UpButtonDirective,\n UpCheckboxDirective,\n UpSelectComponent,\n UpPasswordComponent,\n UpFormFieldComponent,\n ],\n template: `\n <!-- Header -->\n <div class=\"flex flex-col gap-2 text-center sm:text-left\">\n <h2 class=\"text-lg font-semibold\">\n {{ opts.title }}\n </h2>\n \n <p class=\"text-muted-foreground text-sm wrap-break-word\">\n {{ opts.description }}\n </p>\n </div>\n\n <!-- Fields -->\n @let fields = opts.fields;\n @if (\n fields && \n fields.length > 0\n ) {\n @defer (on immediate) {\n <form \n class=\"flex flex-col gap-6 mb-4 mt-5\"\n [formGroup]=\"form!\"\n >\n @for (field of fields; track $index) {\n <up-form-field\n [name]=\"field.name\"\n [label]=\"field.label\"\n >\n @switch (field.type) { \n @case ('checkbox') {\n <input \n upCheckbox \n type=\"checkbox\"\n [formControlName]=\"field.name\" \n [required]=\"field.required?? false\"\n />\n }\n \n @case ('password') {\n <up-password \n [formControlName]=\"field.name\" \n [placeholder]=\"field.placeholder\"\n [required]=\"field.required?? false\"\n />\n }\n \n @case ('select') {\n <up-select \n appendTo=\".cdk-overlay-pane\"\n [items]=\"field.items\"\n [clearable]=\"!field.required\"\n [formControlName]=\"field.name\"\n [required]=\"field.required?? false\"\n [placeholder]=\"field.placeholder?? ''\"\n />\n }\n \n @default {\n <input\n upInput\n [type]=\"field.type\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"\n [required]=\"field.required?? false\"\n />\n } \n }\n </up-form-field>\n }\n </form>\n }\n }\n\n <!-- Footer -->\n <div class=\"flex w-full flex-col-reverse gap-2 sm:flex-row sm:justify-end\">\n @for (btn of opts.buttons; track $index) {\n <button\n upButton\n [variant]=\"typeof btn === 'string'? undefined : btn.variant\"\n [class]=\"(typeof btn === 'string'? '' : btn.additionalClass) + ' flex-1'\"\n (click)=\"clickBtn($index)\"\n >\n {{ typeof btn === 'string'? btn : btn.text }}\n </button>\n }\n </div>\n `\n})\nexport class UpAlertComponent {\n\n public readonly dialogRef = inject(UpDialogRef);\n public readonly opts = injectDialogContext<AlertOptions>();\n\n public readonly state = computed(() => this.dialogRef?.state()?? 'closed');\n\n public form?: FormGroup;\n\n constructor(\n protected fb: FormBuilder\n ) {\n const fields = this.opts.fields;\n \n if (fields) {\n this.form = this.fb.group({ });\n \n fields.forEach(\n (field) => {\n const defaultValue = field.type === 'checkbox'? false : null;\n \n this.form!.addControl(\n field.name,\n this.fb.control(\n field.value?? defaultValue, \n field.required? Validators.required : []\n )\n );\n } \n );\n }\n }\n\n public clickBtn(index: number): void {\n const btn = this.opts.buttons[index];\n \n if (\n btn && \n typeof btn !== 'string' && \n btn.handler\n ) {\n let value: undefined | Record<string, any> = undefined;\n \n if (this.form) {\n value = { ...this.form.getRawValue() };\n \n this.opts.fields?.forEach(\n (field) => {\n if (\n field.type === 'number' && \n value![field.name] && \n !isNaN(value![field.name])\n ) {\n value![field.name] = Number(value![field.name]);\n }\n }\n );\n }\n btn.handler(value);\n }\n this.dialogRef.close();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UpDialogRef, UpDialogService } from '@unipin/angular-applet/dialog';\nimport { AlertOptions } from '../types/alert-options.type';\nimport { UpAlertComponent } from '../components/alert-dialog.component';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpAlertController {\n\n protected readonly MAX_FIELDS = 3;\n protected readonly MAX_BUTTONS = 2;\n\n constructor(protected dialog: UpDialogService) {}\n\n public show(options: AlertOptions, canDismiss: boolean = false): UpDialogRef{\n if (\n options.fields && \n options.fields.length > this.MAX_FIELDS\n ) {\n throw new Error(\n `AlertService: \"fields\" exceeded the maximum allowed (${ this.MAX_FIELDS }).`\n );\n }\n\n if (\n options.buttons && \n options.buttons.length > this.MAX_BUTTONS\n ) {\n throw new Error(\n `AlertService: \"buttons\" exceeded the maximum allowed (${ this.MAX_BUTTONS }).`\n );\n }\n\n return this.dialog.open(\n {\n content: UpAlertComponent,\n context: options,\n options: {\n closeDelay: 200,\n hasBackdrop: true,\n panelClass: 'relative!',\n disableClose: !canDismiss,\n closeOnBackdropClick: canDismiss,\n closeOnOutsidePointerEvents: canDismiss,\n }\n }\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -27,10 +27,10 @@ class UpAlertDirective {
27
27
  }), this.inlineClass());
28
28
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAlertDirective, isStandalone: true, selector: "[upAlert]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlert"], ngImport: i0 }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAlertDirective, isStandalone: true, selector: "[upAlert]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlert"], ngImport: i0 }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertDirective, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertDirective, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  exportAs: 'upAlert',
@@ -48,10 +48,10 @@ class UpAlertTitleDirective {
48
48
  return up('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', this.inlineClass());
49
49
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAlertTitleDirective, isStandalone: true, selector: "[upAlertTitle]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlertTitle"], ngImport: i0 }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAlertTitleDirective, isStandalone: true, selector: "[upAlertTitle]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlertTitle"], ngImport: i0 }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertTitleDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertTitleDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  exportAs: 'upAlertTitle',
@@ -69,10 +69,10 @@ class UpAlertDescriptionDirective {
69
69
  return up('col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', this.inlineClass());
70
70
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
73
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.7", type: UpAlertDescriptionDirective, isStandalone: true, selector: "[upAlertDescription]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlertDescription"], ngImport: i0 }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpAlertDescriptionDirective, isStandalone: true, selector: "[upAlertDescription]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAlertDescription"], ngImport: i0 }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpAlertDescriptionDirective, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpAlertDescriptionDirective, decorators: [{
76
76
  type: Directive,
77
77
  args: [{
78
78
  exportAs: 'upAlertDescription',
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-alert.mjs","sources":["../../../projects/unipin-angular/alert/types/alert-variant.type.ts","../../../projects/unipin-angular/alert/directives/alert.directive.ts","../../../projects/unipin-angular/alert/directives/alert-title.directive.ts","../../../projects/unipin-angular/alert/directives/alert-description.directive.ts","../../../projects/unipin-angular/alert/unipin-angular-applet-alert.ts"],"sourcesContent":["import { cva, VariantProps } from 'class-variance-authority';\n\nexport const alertVariants = cva(\n '[&_ng-icon]:text-[16px] relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>ng-icon]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>ng-icon]:gap-x-3 gap-y-0.5 items-start [&>ng-icon]:size-4 [&>ng-icon]:translate-y-0.5 [&>ng-icon]:text-current',\n {\n variants: {\n variant: {\n default: 'dark:text-white',\n success: 'text-green-600',\n warning: 'text-yellow-600',\n destructive: 'text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariants = VariantProps<typeof alertVariants>;\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { alertVariants, AlertVariants } from '../types/alert-variant.type';\n\n\n@Directive({\n exportAs: 'upAlert',\n selector: '[upAlert]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertDirective {\n\n public readonly variant = input<AlertVariants['variant']>('default');\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'select-none outline-none',\n alertVariants(\n {\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAlertTitle',\n selector: '[upAlertTitle]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertTitleDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAlertDescription',\n selector: '[upAlertDescription]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertDescriptionDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n this.inlineClass(),\n );\n }\n );\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-alert.mjs","sources":["../../../projects/unipin-angular/alert/types/alert-variant.type.ts","../../../projects/unipin-angular/alert/directives/alert.directive.ts","../../../projects/unipin-angular/alert/directives/alert-title.directive.ts","../../../projects/unipin-angular/alert/directives/alert-description.directive.ts","../../../projects/unipin-angular/alert/unipin-angular-applet-alert.ts"],"sourcesContent":["import { cva, VariantProps } from 'class-variance-authority';\n\nexport const alertVariants = cva(\n '[&_ng-icon]:text-[16px] relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>ng-icon]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>ng-icon]:gap-x-3 gap-y-0.5 items-start [&>ng-icon]:size-4 [&>ng-icon]:translate-y-0.5 [&>ng-icon]:text-current',\n {\n variants: {\n variant: {\n default: 'dark:text-white',\n success: 'text-green-600',\n warning: 'text-yellow-600',\n destructive: 'text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariants = VariantProps<typeof alertVariants>;\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { alertVariants, AlertVariants } from '../types/alert-variant.type';\n\n\n@Directive({\n exportAs: 'upAlert',\n selector: '[upAlert]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertDirective {\n\n public readonly variant = input<AlertVariants['variant']>('default');\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'select-none outline-none',\n alertVariants(\n {\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAlertTitle',\n selector: '[upAlertTitle]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertTitleDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n\n@Directive({\n exportAs: 'upAlertDescription',\n selector: '[upAlertDescription]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpAlertDescriptionDirective {\n \n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n this.inlineClass(),\n );\n }\n );\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, input, model, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { Injectable, InjectionToken, input, model, signal, effect, ChangeDetectionStrategy, Component, computed, Inject } from '@angular/core';
3
3
  import * as i1 from '@unipin/angular-gql';
4
- import { DatePipe, JsonPipe } from '@angular/common';
4
+ import { DatePipe, JsonPipe, formatDate } from '@angular/common';
5
5
  import { UpInputDirective } from '@unipin/angular-applet/forms';
6
6
  import { UpBadgeDirective } from '@unipin/angular-applet/badge';
7
- import { UpCapitalizaPipe } from '@unipin/angular-applet/common';
7
+ import { UpCapitalizaPipe, formatCapitalize, up } from '@unipin/angular-applet/common';
8
8
  import { UpSkeletonDirective } from '@unipin/angular-applet/skeleton';
9
+ import { renderStatusBadge, UpGridComponent } from '@unipin/angular-applet/grids';
10
+ import * as i1$1 from '@angular/router';
9
11
 
10
12
  class ApprovalService {
11
13
  constructor(gql) {
@@ -55,16 +57,24 @@ class ApprovalService {
55
57
  `
56
58
  });
57
59
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ApprovalService, deps: [{ token: i1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ApprovalService, deps: [{ token: i1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
60
62
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ApprovalService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: ApprovalService, decorators: [{
62
64
  type: Injectable,
63
65
  args: [{
64
66
  providedIn: 'root'
65
67
  }]
66
68
  }], ctorParameters: () => [{ type: i1.GqlParser }] });
67
69
 
70
+ const APPROVAL_ENTITIES = new InjectionToken('APPROVAL_ENTITIES');
71
+ function provideApprovalEntities(entities) {
72
+ return {
73
+ provide: APPROVAL_ENTITIES,
74
+ useValue: entities
75
+ };
76
+ }
77
+
68
78
  class UpApprovalFormComponent {
69
79
  constructor() {
70
80
  this.approvalData = input.required(...(ngDevMode ? [{ debugName: "approvalData" }] : /* istanbul ignore next */ []));
@@ -104,10 +114,10 @@ class UpApprovalFormComponent {
104
114
  getColors(status) {
105
115
  return this.STATUS_COLOR_MAP[status] ?? this.STATUS_COLOR_MAP.DEFAULT;
106
116
  }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpApprovalFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: UpApprovalFormComponent, isStandalone: true, selector: "up-approval-form", inputs: { approvalData: { classPropertyName: "approvalData", publicName: "approvalData", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isLoading: "isLoadingChange" }, host: { classAttribute: "block space-y-4" }, ngImport: i0, template: "@if (isLoading()) {\n @for (i of [1,2,3,4,5]; track $index) {\n <div class=\"border border-border rounded-md px-2 select-none\">\n <div class=\"px-2 py-4 border-b border-border flex justify-between items-center gap-4\">\n <div class=\"grow flex items-center gap-2\">\n <div \n upSkeleton\n class=\"h-6 w-4/5 max-w-50\"\n ></div>\n </div>\n\n <div class=\"shrink-0 text-sm\">\n <div \n upSkeleton\n class=\"h-6 w-screen max-w-30\"\n ></div>\n </div>\n </div>\n\n <div class=\"px-2 py-4 space-y-4\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <div \n upSkeleton\n class=\"h-20 w-full\"\n ></div>\n </div>\n </div>\n </div>\n }\n}\n@else {\n @for (d of approvalData(); track $index) {\n <div \n class=\"border rounded-md px-2 select-none\"\n [class]=\"borderColors()[$index]\"\n >\n <div \n class=\"px-2 py-4 border-b flex justify-between items-center gap-4\"\n [class]=\"borderColors()[$index]\"\n >\n <div class=\"grow flex items-center gap-2\">\n <div \n upBadge \n class=\"text-white shrink-0\" \n [class]=\"backgroundColors()[$index]\"\n >\n {{ (d.status?? 'Unknown') | upCapitalize }}\n </div>\n </div>\n\n @if (d.createdAt) {\n <div class=\"shrink-0 text-sm text-muted-foreground\">\n {{ d.createdAt | date: 'dd LLL yyyy HH:mm' }}\n </div>\n }\n </div>\n\n <div class=\"px-2 py-4 space-y-6\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.entity\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.createdByUser?.name?? '-'\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.remark\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <textarea \n upInput \n readonly\n class=\"min-h-50 resize-none\"\n [value]=\"d.data | json\"\n >\n </textarea>\n </div>\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: UpInputDirective, selector: "[upInput]", inputs: ["class"], exportAs: ["upInput"] }, { kind: "directive", type: UpBadgeDirective, selector: "[upBadge]", inputs: ["variant", "class"], exportAs: ["upBadge"] }, { kind: "directive", type: UpSkeletonDirective, selector: "[upSkeleton]", inputs: ["class"], exportAs: ["upSkeleton"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: UpCapitalizaPipe, name: "upCapitalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpApprovalFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: UpApprovalFormComponent, isStandalone: true, selector: "up-approval-form", inputs: { approvalData: { classPropertyName: "approvalData", publicName: "approvalData", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isLoading: "isLoadingChange" }, host: { classAttribute: "block space-y-4" }, ngImport: i0, template: "@if (isLoading()) {\n @for (i of [1,2,3,4,5]; track $index) {\n <div class=\"border border-border rounded-md px-2 select-none\">\n <div class=\"px-2 py-4 border-b border-border flex justify-between items-center gap-4\">\n <div class=\"grow flex items-center gap-2\">\n <div \n upSkeleton\n class=\"h-6 w-4/5 max-w-50\"\n ></div>\n </div>\n\n <div class=\"shrink-0 text-sm\">\n <div \n upSkeleton\n class=\"h-6 w-screen max-w-30\"\n ></div>\n </div>\n </div>\n\n <div class=\"px-2 py-4 space-y-4\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <div \n upSkeleton\n class=\"h-20 w-full\"\n ></div>\n </div>\n </div>\n </div>\n }\n}\n@else {\n @for (d of approvalData(); track $index) {\n <div \n class=\"border rounded-md px-2 select-none\"\n [class]=\"borderColors()[$index]\"\n >\n <div \n class=\"px-2 py-4 border-b flex justify-between items-center gap-4\"\n [class]=\"borderColors()[$index]\"\n >\n <div class=\"grow flex items-center gap-2\">\n <div \n upBadge \n class=\"text-white shrink-0\" \n [class]=\"backgroundColors()[$index]\"\n >\n {{ (d.status?? 'Unknown') | upCapitalize }}\n </div>\n </div>\n\n @if (d.createdAt) {\n <div class=\"shrink-0 text-sm text-muted-foreground\">\n {{ d.createdAt | date: 'dd LLL yyyy HH:mm' }}\n </div>\n }\n </div>\n\n <div class=\"px-2 py-4 space-y-6\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.entity\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.createdByUser?.name?? '-'\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.remark\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <textarea \n upInput \n readonly\n class=\"min-h-50 resize-none\"\n [value]=\"d.data | json\"\n >\n </textarea>\n </div>\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: UpInputDirective, selector: "[upInput]", inputs: ["class"], exportAs: ["upInput"] }, { kind: "directive", type: UpBadgeDirective, selector: "[upBadge]", inputs: ["variant", "class"], exportAs: ["upBadge"] }, { kind: "directive", type: UpSkeletonDirective, selector: "[upSkeleton]", inputs: ["class"], exportAs: ["upSkeleton"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: UpCapitalizaPipe, name: "upCapitalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
119
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UpApprovalFormComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpApprovalFormComponent, decorators: [{
111
121
  type: Component,
112
122
  args: [{ selector: 'up-approval-form', changeDetection: ChangeDetectionStrategy.OnPush, host: {
113
123
  class: 'block space-y-4'
@@ -121,9 +131,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
121
131
  ], template: "@if (isLoading()) {\n @for (i of [1,2,3,4,5]; track $index) {\n <div class=\"border border-border rounded-md px-2 select-none\">\n <div class=\"px-2 py-4 border-b border-border flex justify-between items-center gap-4\">\n <div class=\"grow flex items-center gap-2\">\n <div \n upSkeleton\n class=\"h-6 w-4/5 max-w-50\"\n ></div>\n </div>\n\n <div class=\"shrink-0 text-sm\">\n <div \n upSkeleton\n class=\"h-6 w-screen max-w-30\"\n ></div>\n </div>\n </div>\n\n <div class=\"px-2 py-4 space-y-4\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <div \n upSkeleton\n class=\"h-9 w-full\"\n ></div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <div \n upSkeleton\n class=\"h-20 w-full\"\n ></div>\n </div>\n </div>\n </div>\n }\n}\n@else {\n @for (d of approvalData(); track $index) {\n <div \n class=\"border rounded-md px-2 select-none\"\n [class]=\"borderColors()[$index]\"\n >\n <div \n class=\"px-2 py-4 border-b flex justify-between items-center gap-4\"\n [class]=\"borderColors()[$index]\"\n >\n <div class=\"grow flex items-center gap-2\">\n <div \n upBadge \n class=\"text-white shrink-0\" \n [class]=\"backgroundColors()[$index]\"\n >\n {{ (d.status?? 'Unknown') | upCapitalize }}\n </div>\n </div>\n\n @if (d.createdAt) {\n <div class=\"shrink-0 text-sm text-muted-foreground\">\n {{ d.createdAt | date: 'dd LLL yyyy HH:mm' }}\n </div>\n }\n </div>\n\n <div class=\"px-2 py-4 space-y-6\">\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-4\">\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Entity\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.entity\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n User\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.createdByUser?.name?? '-'\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Remark\n </label>\n\n <input \n upInput \n readonly \n [value]=\"d.remark\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label class=\"text-sm font-medium leading-none\">\n Data\n </label>\n\n <textarea \n upInput \n readonly\n class=\"min-h-50 resize-none\"\n [value]=\"d.data | json\"\n >\n </textarea>\n </div>\n </div>\n </div>\n }\n}\n" }]
122
132
  }], ctorParameters: () => [], propDecorators: { approvalData: [{ type: i0.Input, args: [{ isSignal: true, alias: "approvalData", required: true }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }, { type: i0.Output, args: ["isLoadingChange"] }] } });
123
133
 
134
+ class UpApprovalGridComponent {
135
+ constructor(entities, router, route, approvalService) {
136
+ this.entities = entities;
137
+ this.router = router;
138
+ this.route = route;
139
+ this.approvalService = approvalService;
140
+ this.detailUrl = input('/approval', ...(ngDevMode ? [{ debugName: "detailUrl" }] : /* istanbul ignore next */ []));
141
+ this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : /* istanbul ignore next */ {}), alias: 'class' });
142
+ this.noRowText = 'Approval not found';
143
+ this.columnDefs = [
144
+ {
145
+ field: 'entity',
146
+ headerName: 'Entity'
147
+ },
148
+ {
149
+ field: 'remark',
150
+ headerName: 'Remark'
151
+ },
152
+ {
153
+ field: 'sourcePlatform',
154
+ headerName: 'Source Platform'
155
+ },
156
+ {
157
+ maxWidth: 130,
158
+ field: 'status',
159
+ headerName: 'Status',
160
+ cellRenderer: ({ value }) => renderStatusBadge(value, {})
161
+ },
162
+ {
163
+ maxWidth: 100,
164
+ field: 'type',
165
+ sortable: false,
166
+ headerName: 'Type',
167
+ cellRenderer: ({ value }) => formatCapitalize(value ?? '')
168
+ },
169
+ {
170
+ sort: 'desc',
171
+ field: 'createdAt',
172
+ headerName: 'Created Date',
173
+ valueFormatter: ({ value }) => value && formatDate(value, 'dd MMM yyyy HH:mm', 'en-US')
174
+ }
175
+ ];
176
+ this._computedClass = computed(() => {
177
+ return up('flex flex-col size-full', this.inlineClass());
178
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
179
+ this.input = {
180
+ page: 0,
181
+ pageSize: 50
182
+ };
183
+ this.input.entity = this.entities ?? [];
184
+ }
185
+ ngOnDestroy() {
186
+ this.sub?.unsubscribe();
187
+ }
188
+ onGridReady({ api }) {
189
+ this.gridApi = api;
190
+ }
191
+ openDetail({ guid }) {
192
+ this.router.navigate([`${this.detailUrl()}/${guid}`], { preserveFragment: true });
193
+ }
194
+ selectApprovals() {
195
+ if (!this.gridApi) {
196
+ return;
197
+ }
198
+ const dataGrid = this.gridApi.getSelectedRows();
199
+ this.selectedApprovalGroupGuid = dataGrid.length === 0 ? undefined : dataGrid[0].approvalGroup.guid;
200
+ this.gridApi.refreshCells({ force: true });
201
+ }
202
+ datasourceRefreshed({ page, pageSize, sort, successCallback, failCallback }) {
203
+ const dir = sort?.sort || 'desc';
204
+ const sortBy = sort?.colId || 'createdAt';
205
+ this.input.page = page;
206
+ this.input.sortBy = sortBy;
207
+ this.input.pageSize = pageSize;
208
+ this.input.sortDirection = dir;
209
+ this.sub = this.approvalService.query(this.input).subscribe({
210
+ next: ({ data: { approvalMsApprovals: { data, totalRecord } } }) => {
211
+ successCallback(data ?? [], totalRecord ?? 0);
212
+ },
213
+ error: () => {
214
+ failCallback('Failed to load approvals data');
215
+ }
216
+ });
217
+ }
218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpApprovalGridComponent, deps: [{ token: APPROVAL_ENTITIES }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: ApprovalService }], target: i0.ɵɵFactoryTarget.Component }); }
219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: UpApprovalGridComponent, isStandalone: true, selector: "up-approval-grid", inputs: { detailUrl: { classPropertyName: "detailUrl", publicName: "detailUrl", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 shrink-0 flex-wrap\">\n <div class=\"grow d-flex align-items-center gap-3\">\n <h3 class=\"m-0 text-2xl font-semibold\">Approval</h3>\n </div>\n\n <!-- TODO : Add filter for approval list --> \n</div>\n\n<div class=\"grow min-h-0 overflow-hidden\">\n <up-grid\n id=\"grid-approval-grid\"\n rowModelType=\"infinite\"\n\n [noRowText]=\"noRowText\"\n [columnDefs]=\"columnDefs\"\n (rowClicked)=\"openDetail($event)\"\n (gridReady)=\"onGridReady($event)\"\n (datasourceRefreshed)=\"datasourceRefreshed($event)\"\n />\n</div>\n", dependencies: [{ kind: "component", type: UpGridComponent, selector: "up-grid", inputs: ["columnDefs", "noRowText", "rowModelType", "rowSelection", "getRowClass", "id", "class", "rowPerPage", "pagination"], outputs: ["rowPerPageChange", "gridReady", "rowClicked", "selectionChanged", "datasourceRefreshed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
220
+ }
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpApprovalGridComponent, decorators: [{
222
+ type: Component,
223
+ args: [{ standalone: true, selector: 'up-approval-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
224
+ '[class]': '_computedClass()',
225
+ }, imports: [
226
+ UpGridComponent
227
+ ], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 shrink-0 flex-wrap\">\n <div class=\"grow d-flex align-items-center gap-3\">\n <h3 class=\"m-0 text-2xl font-semibold\">Approval</h3>\n </div>\n\n <!-- TODO : Add filter for approval list --> \n</div>\n\n<div class=\"grow min-h-0 overflow-hidden\">\n <up-grid\n id=\"grid-approval-grid\"\n rowModelType=\"infinite\"\n\n [noRowText]=\"noRowText\"\n [columnDefs]=\"columnDefs\"\n (rowClicked)=\"openDetail($event)\"\n (gridReady)=\"onGridReady($event)\"\n (datasourceRefreshed)=\"datasourceRefreshed($event)\"\n />\n</div>\n" }]
228
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
229
+ type: Inject,
230
+ args: [APPROVAL_ENTITIES]
231
+ }] }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: ApprovalService }], propDecorators: { detailUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailUrl", required: false }] }], inlineClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
232
+
124
233
  /**
125
234
  * Generated bundle index. Do not edit.
126
235
  */
127
236
 
128
- export { ApprovalService, UpApprovalFormComponent };
237
+ export { ApprovalService, UpApprovalFormComponent, UpApprovalGridComponent, provideApprovalEntities };
129
238
  //# sourceMappingURL=unipin-angular-applet-approval.mjs.map