@unipin/angular-applet 21.6.0 → 21.6.5
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.
- package/fesm2022/unipin-angular-applet-accordion.mjs +29 -17
- package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs +7 -7
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
- package/fesm2022/unipin-angular-applet-approval.mjs +10 -10
- package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
- package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-DNlMbUda.mjs → unipin-angular-applet-audit-audit-modal.component-Fhzj6tsh.mjs} +4 -4
- package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-DNlMbUda.mjs.map → unipin-angular-applet-audit-audit-modal.component-Fhzj6tsh.mjs.map} +1 -1
- package/fesm2022/unipin-angular-applet-audit.mjs +11 -12
- package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-auth.mjs +51 -39
- package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-avatar.mjs +7 -10
- package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-badge.mjs +6 -3
- package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
- package/fesm2022/unipin-angular-applet-calendar.mjs +13 -13
- package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
- package/fesm2022/unipin-angular-applet-common.mjs +40 -39
- package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-containers.mjs +18 -18
- package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-dialog.mjs +22 -22
- package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-forms.mjs +469 -374
- package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-froala.mjs +14 -15
- package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-grids.mjs +26 -24
- package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
- package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
- package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
- package/fesm2022/unipin-angular-applet-markdown.mjs +20 -22
- package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-micro-frontend.mjs +3 -3
- package/fesm2022/unipin-angular-applet-micro-frontend.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-popover.mjs +19 -15
- package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-progress-bar.mjs +14 -4
- package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
- package/fesm2022/unipin-angular-applet-spinner.mjs +16 -20
- package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-stepper.mjs +17 -9
- package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-swipeable.mjs +14 -13
- package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
- package/fesm2022/unipin-angular-applet-tooltip.mjs +4 -4
- package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/types/unipin-angular-applet-accordion.d.ts +1 -0
- package/types/unipin-angular-applet-approval.d.ts +2 -2
- package/types/unipin-angular-applet-badge.d.ts +2 -2
- package/types/unipin-angular-applet-common.d.ts +4 -4
- package/types/unipin-angular-applet-forms.d.ts +47 -8
- package/types/unipin-angular-applet-grids.d.ts +1 -1
- package/types/unipin-angular-applet-markdown.d.ts +2 -2
- package/types/unipin-angular-applet-progress-bar.d.ts +2 -0
- package/types/unipin-angular-applet-spinner.d.ts +2 -2
- package/types/unipin-angular-applet-swipeable.d.ts +1 -1
|
@@ -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.
|
|
35
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionDirective, decorators: [{
|
|
38
38
|
type: Directive,
|
|
39
39
|
args: [{
|
|
40
40
|
exportAs: 'upAccordion',
|
|
@@ -62,7 +62,7 @@ class UpAccordionItemDirective {
|
|
|
62
62
|
this.isOpened.set(this.wrapper.value() === this.value());
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
const values =
|
|
65
|
+
const values = this.normalizeWrapperValueToArray(this.wrapper.value());
|
|
66
66
|
this.isOpened.set(values.includes(this.value()));
|
|
67
67
|
});
|
|
68
68
|
}
|
|
@@ -73,7 +73,7 @@ class UpAccordionItemDirective {
|
|
|
73
73
|
}
|
|
74
74
|
if (this.wrapper.type() === 'multiple') {
|
|
75
75
|
const rawValue = this.wrapper.value();
|
|
76
|
-
const currentValues =
|
|
76
|
+
const currentValues = this.normalizeWrapperValueToArray(rawValue);
|
|
77
77
|
const itemValue = this.value();
|
|
78
78
|
if (value) {
|
|
79
79
|
if (!currentValues.includes(itemValue)) {
|
|
@@ -95,13 +95,18 @@ class UpAccordionItemDirective {
|
|
|
95
95
|
}
|
|
96
96
|
if (this.wrapper.collapsible()) {
|
|
97
97
|
this.wrapper.value.set(undefined);
|
|
98
|
-
return;
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
normalizeWrapperValueToArray(value) {
|
|
101
|
+
if (Array.isArray(value)) {
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
return value ? [value] : [];
|
|
105
|
+
}
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionItemDirective, deps: [{ token: UpAccordionDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
107
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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
108
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionItemDirective, decorators: [{
|
|
105
110
|
type: Directive,
|
|
106
111
|
args: [{
|
|
107
112
|
exportAs: 'upAccordionItem',
|
|
@@ -173,7 +178,7 @@ class UpAccordionTriggerDirective {
|
|
|
173
178
|
focusLastItem() {
|
|
174
179
|
const triggers = this.getAllTriggers();
|
|
175
180
|
if (triggers.length > 0) {
|
|
176
|
-
triggers
|
|
181
|
+
triggers.at(-1).focus();
|
|
177
182
|
}
|
|
178
183
|
}
|
|
179
184
|
getAllTriggers() {
|
|
@@ -183,10 +188,10 @@ class UpAccordionTriggerDirective {
|
|
|
183
188
|
}
|
|
184
189
|
return Array.from(accordionElement.querySelectorAll('[upAccordionTrigger]'));
|
|
185
190
|
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
187
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionTriggerDirective, deps: [{ token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
192
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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
193
|
}
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionTriggerDirective, decorators: [{
|
|
190
195
|
type: Directive,
|
|
191
196
|
args: [{
|
|
192
197
|
selector: '[upAccordionTrigger]',
|
|
@@ -218,13 +223,20 @@ class UpAccordionContentDirective {
|
|
|
218
223
|
const isOpened = this.item.isOpened();
|
|
219
224
|
const isDisabled = this.item.disabled() || this.item.wrapper.disabled();
|
|
220
225
|
const isHorizontal = this.item.wrapper.orientation() === 'horizontal';
|
|
221
|
-
|
|
226
|
+
let accordionStateClass = '';
|
|
227
|
+
if (isHorizontal) {
|
|
228
|
+
accordionStateClass = isOpened ? 'w-[var(--up-accordion-content-width)] opacity-100' : 'max-w-0 opacity-0 text-nowrap';
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
accordionStateClass = isOpened ? 'h-[var(--up-accordion-content-height)] visible opacity-100' : 'h-0 invisible opacity-0';
|
|
232
|
+
}
|
|
233
|
+
return up('overflow-hidden transition-all duration-300 ease-in-out', isDisabled ? 'text-gray-400' : '', accordionStateClass, this.inlineClass());
|
|
222
234
|
}, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
|
|
223
235
|
}
|
|
224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
225
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
236
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionContentDirective, deps: [{ token: i0.ElementRef }, { token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
237
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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
238
|
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAccordionContentDirective, decorators: [{
|
|
228
240
|
type: Directive,
|
|
229
241
|
args: [{
|
|
230
242
|
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":"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"}
|
|
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 = this.normalizeWrapperValueToArray(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 = this.normalizeWrapperValueToArray(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 }\n }\n\n protected normalizeWrapperValueToArray<T>(value: T | T[] | undefined): T[]{\n if (Array.isArray(value)) {\n return value;\n }\n return value? [value] : [];\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.at(-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 let accordionStateClass = '';\n if (isHorizontal) {\n accordionStateClass = isOpened? 'w-[var(--up-accordion-content-width)] opacity-100' : 'max-w-0 opacity-0 text-nowrap';\n } \n else {\n accordionStateClass = isOpened? 'h-[var(--up-accordion-content-height)] visible opacity-100' : 'h-0 invisible opacity-0';\n }\n \n return up(\n 'overflow-hidden transition-all duration-300 ease-in-out',\n isDisabled? 'text-gray-400' : '',\n accordionStateClass,\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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"}
|
|
@@ -32,7 +32,7 @@ class UpAlertComponent {
|
|
|
32
32
|
this.opts.fields?.forEach((field) => {
|
|
33
33
|
if (field.type === 'number' &&
|
|
34
34
|
value[field.name] &&
|
|
35
|
-
!isNaN(value[field.name])) {
|
|
35
|
+
!Number.isNaN(value[field.name])) {
|
|
36
36
|
value[field.name] = Number(value[field.name]);
|
|
37
37
|
}
|
|
38
38
|
});
|
|
@@ -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.
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", 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.18", 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.
|
|
133
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.2.18", 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.
|
|
272
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
271
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", 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.18", ngImport: i0, type: UpAlertController, providedIn: 'root' }); }
|
|
273
273
|
}
|
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", 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":";;;;;;;;MAkHa,gBAAgB,CAAA;AAS3B,IAAA,WAAA,CACY,EAAe,EAAA;QAAf,IAAA,CAAA,EAAE,GAAF,EAAE;AARE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,IAAA,CAAA,IAAI,GAAG,mBAAmB,EAAgB;AAE1C,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,4EAAC;AAOxE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;QAE/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAG,CAAC;AAE9B,YAAA,MAAM,CAAC,OAAO,CACZ,CAAC,KAAK,KAAI;AACR,gBAAA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,GAAE,KAAK,GAAG,IAAI;AAE5D,gBAAA,IAAI,CAAC,IAAK,CAAC,UAAU,CACnB,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,KAAK,CAAC,KAAK,IAAG,YAAY,EAC1B,KAAK,CAAC,QAAQ,GAAE,UAAU,CAAC,QAAQ,GAAG,EAAE,CACzC,CACF;AACH,YAAA,CAAC,CACF;QACH;IACF;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAA;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAEpC,QAAA,IACE,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,CAAC,OAAO,EACX;YACA,IAAI,KAAK,GAAoC,SAAS;AAEtD,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CACvB,CAAC,KAAK,KAAI;AACR,oBAAA,IACE,KAAK,CAAC,IAAI,KAAK,QAAQ;AACvB,wBAAA,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClB,CAAC,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1B;AACA,wBAAA,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjD;AACF,gBAAA,CAAC,CACF;YACH;AACA,YAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;+GA7DW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4ZAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAxFjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA9FC,mBAAmB,+BAEnB,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,aAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,eAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;iGA8FR,gBAAgB,EAAA,mBAAA,EAAA,MAAA,CAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,8BAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,gBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,oBAAA,MAAA,EAAA,UAAA,EAAA,CAAA;sBA1G5B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA;AACT,wBAAA,QAAQ,EAAE,iBAAiB;wBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,wBAAA,IAAI,EAAE;AACJ,4BAAA,mBAAmB,EAAE,SAAS;AAC9B,4BAAA,OAAO,EAAE;;AAER,IAAA,CAAA;AACF,yBAAA;AACD,wBAAA,OAAO,EAAE;4BACP,mBAAmB;4BACnB,gBAAgB;4BAChB,iBAAiB;4BACjB,mBAAmB;4BACnB,iBAAiB;4BACjB,mBAAmB;4BACnB,oBAAoB;AACrB,yBAAA;AACD,wBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFT,EAAA;AACF,qBAAA;;;MCzGY,iBAAiB,CAAA;AAK5B,IAAA,WAAA,CAAsB,MAAuB,EAAA;QAAvB,IAAA,CAAA,MAAM,GAAN,MAAM;QAHT,IAAA,CAAA,UAAU,GAAG,CAAC;QACd,IAAA,CAAA,WAAW,GAAG,CAAC;IAEc;AAEzC,IAAA,IAAI,CAAC,OAAqB,EAAE,UAAA,GAAsB,KAAK,EAAA;QAC5D,IACE,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EACvC;YACA,MAAM,IAAI,KAAK,CACb,CAAA,qDAAA,EAAyD,IAAI,CAAC,UAAW,CAAA,EAAA,CAAI,CAC9E;QACH;QAEA,IACE,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EACzC;YACA,MAAM,IAAI,KAAK,CACb,CAAA,sDAAA,EAA0D,IAAI,CAAC,WAAY,CAAA,EAAA,CAAI,CAChF;QACH;AAEA,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACrB;AACE,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,OAAO,EAAE;AACP,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,CAAC,UAAU;AACzB,gBAAA,oBAAoB,EAAE,UAAU;AAChC,gBAAA,2BAA2B,EAAE,UAAU;AACxC;AACF,SAAA,CACF;IACH;+GAxCW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}
|
|
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 !Number.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.
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAlertDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", 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.
|
|
52
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAlertTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", 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.
|
|
73
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAlertDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
73
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", 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.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpAlertDescriptionDirective, decorators: [{
|
|
76
76
|
type: Directive,
|
|
77
77
|
args: [{
|
|
78
78
|
exportAs: 'upAlertDescription',
|
|
@@ -57,10 +57,10 @@ class ApprovalService {
|
|
|
57
57
|
`
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", 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.18", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ApprovalService, decorators: [{
|
|
64
64
|
type: Injectable,
|
|
65
65
|
args: [{
|
|
66
66
|
providedIn: 'root'
|
|
@@ -114,10 +114,10 @@ class UpApprovalFormComponent {
|
|
|
114
114
|
getColors(status) {
|
|
115
115
|
return this.STATUS_COLOR_MAP[status] ?? this.STATUS_COLOR_MAP.DEFAULT;
|
|
116
116
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpApprovalFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", 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 <span class=\"text-sm font-medium leading-none\">\n Entity\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n User\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n Remark\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n Data\n </span>\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 \n for=\"approval-entity\"\n class=\"text-sm font-medium leading-none\"\n >\n Entity\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-entity\"\n [value]=\"d.entity\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-user\"\n class=\"text-sm font-medium leading-none\"\n >\n User\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-user\"\n [value]=\"d.createdByUser?.name?? '-'\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-remark\"\n class=\"text-sm font-medium leading-none\"\n >\n Remark\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-remark\"\n [value]=\"d.remark\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-data\"\n class=\"text-sm font-medium leading-none\"\n >\n Data\n </label>\n\n <textarea \n upInput \n readonly\n id=\"approval-data\"\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 }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpApprovalFormComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ selector: 'up-approval-form', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
123
123
|
class: 'block space-y-4'
|
|
@@ -128,7 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
128
128
|
UpInputDirective,
|
|
129
129
|
UpBadgeDirective,
|
|
130
130
|
UpSkeletonDirective
|
|
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 <
|
|
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 <span class=\"text-sm font-medium leading-none\">\n Entity\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n User\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n Remark\n </span>\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 <span class=\"text-sm font-medium leading-none\">\n Data\n </span>\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 \n for=\"approval-entity\"\n class=\"text-sm font-medium leading-none\"\n >\n Entity\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-entity\"\n [value]=\"d.entity\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-user\"\n class=\"text-sm font-medium leading-none\"\n >\n User\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-user\"\n [value]=\"d.createdByUser?.name?? '-'\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-remark\"\n class=\"text-sm font-medium leading-none\"\n >\n Remark\n </label>\n\n <input \n upInput \n readonly \n id=\"approval-remark\"\n [value]=\"d.remark\"\n />\n </div>\n\n <div class=\"flex flex-col gap-2\">\n <label \n for=\"approval-data\"\n class=\"text-sm font-medium leading-none\"\n >\n Data\n </label>\n\n <textarea \n upInput \n readonly\n id=\"approval-data\"\n class=\"min-h-50 resize-none\"\n [value]=\"d.data | json\"\n >\n </textarea>\n </div>\n </div>\n </div>\n }\n}\n" }]
|
|
132
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"] }] } });
|
|
133
133
|
|
|
134
134
|
class UpApprovalGridComponent {
|
|
@@ -215,10 +215,10 @@ class UpApprovalGridComponent {
|
|
|
215
215
|
}
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", 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.18", 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
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpApprovalGridComponent, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
args: [{ standalone: true, selector: 'up-approval-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
224
224
|
'[class]': '_computedClass()',
|