@elite.framework/ng.ui.core 0.0.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.
- package/README.md +3 -0
- package/attachments/README.md +3 -0
- package/attachments/index.d.ts +38 -0
- package/base-crud/README.md +3 -0
- package/base-crud/index.d.ts +68 -0
- package/breadcrumb/README.md +3 -0
- package/breadcrumb/index.d.ts +17 -0
- package/checkbox/README.md +3 -0
- package/checkbox/index.d.ts +33 -0
- package/color-picker/README.md +3 -0
- package/color-picker/index.d.ts +16 -0
- package/column-settings-popover/README.md +3 -0
- package/column-settings-popover/index.d.ts +46 -0
- package/condition-editor/README.md +3 -0
- package/condition-editor/index.d.ts +80 -0
- package/custom-switch/README.md +3 -0
- package/custom-switch/index.d.ts +19 -0
- package/datepicker/README.md +3 -0
- package/datepicker/index.d.ts +23 -0
- package/deactivation-reason/README.md +3 -0
- package/deactivation-reason/index.d.ts +31 -0
- package/fesm2022/elite.framework-ng.ui.core-attachments.mjs +217 -0
- package/fesm2022/elite.framework-ng.ui.core-attachments.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-base-crud.mjs +312 -0
- package/fesm2022/elite.framework-ng.ui.core-base-crud.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-breadcrumb.mjs +144 -0
- package/fesm2022/elite.framework-ng.ui.core-breadcrumb.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-checkbox.mjs +130 -0
- package/fesm2022/elite.framework-ng.ui.core-checkbox.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-color-picker.mjs +88 -0
- package/fesm2022/elite.framework-ng.ui.core-color-picker.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-column-settings-popover.mjs +184 -0
- package/fesm2022/elite.framework-ng.ui.core-column-settings-popover.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-condition-editor.mjs +782 -0
- package/fesm2022/elite.framework-ng.ui.core-condition-editor.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-custom-switch.mjs +122 -0
- package/fesm2022/elite.framework-ng.ui.core-custom-switch.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-datepicker.mjs +206 -0
- package/fesm2022/elite.framework-ng.ui.core-datepicker.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-deactivation-reason.mjs +142 -0
- package/fesm2022/elite.framework-ng.ui.core-deactivation-reason.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-form-button.mjs +62 -0
- package/fesm2022/elite.framework-ng.ui.core-form-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-form-field.mjs +155 -0
- package/fesm2022/elite.framework-ng.ui.core-form-field.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-form-template.mjs +37 -0
- package/fesm2022/elite.framework-ng.ui.core-form-template.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-avatar-image.mjs +112 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-avatar-image.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-avatar-label.mjs +90 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-avatar-label.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-button-selector.mjs +179 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-button-selector.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-button.mjs +74 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-presets.mjs +201 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-presets.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-split-button.mjs +62 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-split-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-ui.mjs +416 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-ui.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-username-with-domain.mjs +88 -0
- package/fesm2022/elite.framework-ng.ui.core-formly-username-with-domain.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-autocomplete.mjs +175 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-autocomplete.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-button.mjs +145 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-card.mjs +219 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-card.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-crud-table.mjs +398 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-crud-table.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-errormessage.mjs +35 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-errormessage.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-formly-fields.mjs +65 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-formly-fields.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-loadingspinner.mjs +35 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-loadingspinner.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-search.mjs +98 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-search.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-selector.mjs +441 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-selector.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-table.mjs +226 -0
- package/fesm2022/elite.framework-ng.ui.core-generic-table.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-header-wrapper.mjs +31 -0
- package/fesm2022/elite.framework-ng.ui.core-header-wrapper.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-icon-picker.mjs +207 -0
- package/fesm2022/elite.framework-ng.ui.core-icon-picker.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-input-switch.mjs +106 -0
- package/fesm2022/elite.framework-ng.ui.core-input-switch.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-input-with-icon.mjs +67 -0
- package/fesm2022/elite.framework-ng.ui.core-input-with-icon.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-input.mjs +201 -0
- package/fesm2022/elite.framework-ng.ui.core-input.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-label-type.mjs +125 -0
- package/fesm2022/elite.framework-ng.ui.core-label-type.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-odata-query-builder.mjs +308 -0
- package/fesm2022/elite.framework-ng.ui.core-odata-query-builder.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-radio.mjs +118 -0
- package/fesm2022/elite.framework-ng.ui.core-radio.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-repeat.mjs +147 -0
- package/fesm2022/elite.framework-ng.ui.core-repeat.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-select.mjs +180 -0
- package/fesm2022/elite.framework-ng.ui.core-select.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-sidebar-cards.mjs +52 -0
- package/fesm2022/elite.framework-ng.ui.core-sidebar-cards.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-sidebar-toggles.mjs +53 -0
- package/fesm2022/elite.framework-ng.ui.core-sidebar-toggles.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-tabs.mjs +57 -0
- package/fesm2022/elite.framework-ng.ui.core-tabs.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-tag-type.mjs +204 -0
- package/fesm2022/elite.framework-ng.ui.core-tag-type.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-text-editor.mjs +56 -0
- package/fesm2022/elite.framework-ng.ui.core-text-editor.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-textarea.mjs +95 -0
- package/fesm2022/elite.framework-ng.ui.core-textarea.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-ui-button.mjs +101 -0
- package/fesm2022/elite.framework-ng.ui.core-ui-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core-wrappers.mjs +186 -0
- package/fesm2022/elite.framework-ng.ui.core-wrappers.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.ui.core.mjs +18 -0
- package/fesm2022/elite.framework-ng.ui.core.mjs.map +1 -0
- package/form-button/README.md +3 -0
- package/form-button/index.d.ts +17 -0
- package/form-field/README.md +3 -0
- package/form-field/index.d.ts +30 -0
- package/form-template/README.md +3 -0
- package/form-template/index.d.ts +16 -0
- package/formly-avatar-image/README.md +3 -0
- package/formly-avatar-image/index.d.ts +18 -0
- package/formly-avatar-label/README.md +3 -0
- package/formly-avatar-label/index.d.ts +36 -0
- package/formly-button/README.md +3 -0
- package/formly-button/index.d.ts +20 -0
- package/formly-button-selector/README.md +3 -0
- package/formly-button-selector/index.d.ts +35 -0
- package/formly-presets/README.md +3 -0
- package/formly-presets/index.d.ts +37 -0
- package/formly-split-button/README.md +3 -0
- package/formly-split-button/index.d.ts +23 -0
- package/formly-ui/README.md +3 -0
- package/formly-ui/index.d.ts +42 -0
- package/formly-username-with-domain/README.md +3 -0
- package/formly-username-with-domain/index.d.ts +19 -0
- package/generic-autocomplete/README.md +3 -0
- package/generic-autocomplete/index.d.ts +41 -0
- package/generic-button/README.md +3 -0
- package/generic-button/index.d.ts +42 -0
- package/generic-card/README.md +3 -0
- package/generic-card/index.d.ts +93 -0
- package/generic-crud-table/README.md +3 -0
- package/generic-crud-table/index.d.ts +129 -0
- package/generic-errormessage/README.md +3 -0
- package/generic-errormessage/index.d.ts +17 -0
- package/generic-formly-fields/README.md +3 -0
- package/generic-formly-fields/index.d.ts +26 -0
- package/generic-loadingspinner/README.md +3 -0
- package/generic-loadingspinner/index.d.ts +16 -0
- package/generic-search/README.md +3 -0
- package/generic-search/index.d.ts +36 -0
- package/generic-selector/README.md +3 -0
- package/generic-selector/index.d.ts +73 -0
- package/generic-table/README.md +3 -0
- package/generic-table/index.d.ts +66 -0
- package/header-wrapper/README.md +3 -0
- package/header-wrapper/index.d.ts +15 -0
- package/icon-picker/README.md +3 -0
- package/icon-picker/index.d.ts +30 -0
- package/index.d.ts +8 -0
- package/input/README.md +3 -0
- package/input/index.d.ts +42 -0
- package/input-switch/README.md +3 -0
- package/input-switch/index.d.ts +16 -0
- package/input-with-icon/README.md +3 -0
- package/input-with-icon/index.d.ts +17 -0
- package/label-type/README.md +3 -0
- package/label-type/index.d.ts +26 -0
- package/odata-query-builder/README.md +3 -0
- package/odata-query-builder/index.d.ts +87 -0
- package/package.json +219 -0
- package/radio/README.md +3 -0
- package/radio/index.d.ts +38 -0
- package/repeat/README.md +3 -0
- package/repeat/index.d.ts +24 -0
- package/select/README.md +3 -0
- package/select/index.d.ts +42 -0
- package/sidebar-cards/README.md +3 -0
- package/sidebar-cards/index.d.ts +25 -0
- package/sidebar-toggles/README.md +3 -0
- package/sidebar-toggles/index.d.ts +25 -0
- package/tabs/README.md +3 -0
- package/tabs/index.d.ts +17 -0
- package/tag-type/README.md +3 -0
- package/tag-type/index.d.ts +34 -0
- package/text-editor/README.md +3 -0
- package/text-editor/index.d.ts +16 -0
- package/textarea/README.md +3 -0
- package/textarea/index.d.ts +36 -0
- package/ui-button/README.md +3 -0
- package/ui-button/index.d.ts +33 -0
- package/wrappers/README.md +3 -0
- package/wrappers/index.d.ts +31 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FieldType, FormlyAttributes } from '@ngx-formly/core';
|
|
5
|
+
import * as i1 from '@angular/forms';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import * as i2 from 'primeng/inputtext';
|
|
8
|
+
import { InputTextModule } from 'primeng/inputtext';
|
|
9
|
+
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
10
|
+
import { InputGroupModule } from 'primeng/inputgroup';
|
|
11
|
+
|
|
12
|
+
class FormlyUsernameWithDomainModule {
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyUsernameWithDomainModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: FormlyUsernameWithDomainModule, imports: [CommonModule] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyUsernameWithDomainModule, imports: [CommonModule] });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyUsernameWithDomainModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [CommonModule],
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
|
|
24
|
+
class UsernameWithDomainComponent extends FieldType {
|
|
25
|
+
// ✅ إضافة ثابت لاسم النطاق لتسهيل التغيير
|
|
26
|
+
domain = '@ELITESOFTSYS.COM';
|
|
27
|
+
// ✅ دالة يتم استدعاؤها عند تهيئة الحقل
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
const currentValue = this.formControl.value;
|
|
30
|
+
// إذا كانت القيمة تحتوي على النطاق، قم بإزالته
|
|
31
|
+
if (currentValue && typeof currentValue === 'string' && currentValue.endsWith(this.domain)) {
|
|
32
|
+
const username = currentValue.replace(this.domain, '');
|
|
33
|
+
this.formControl.setValue(username);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// ✅ هذه الدالة يتم استدعاؤها عند خروج المستخدم من الحقل
|
|
37
|
+
onBlur() {
|
|
38
|
+
const currentValue = this.formControl.value;
|
|
39
|
+
// إذا كانت القيمة لا تحتوي على النطاق، قم بإضافته
|
|
40
|
+
if (currentValue && typeof currentValue === 'string' && !currentValue.endsWith(this.domain)) {
|
|
41
|
+
this.formControl.setValue(currentValue + this.domain);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: UsernameWithDomainComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: UsernameWithDomainComponent, isStandalone: true, selector: "lib-formly-username-with-domain", usesInheritance: true, ngImport: i0, template: `
|
|
46
|
+
<input
|
|
47
|
+
type="text"
|
|
48
|
+
pInputText
|
|
49
|
+
[formControl]="formControl"
|
|
50
|
+
[formlyAttributes]="field"
|
|
51
|
+
(blur)="onBlur()"
|
|
52
|
+
/>
|
|
53
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: // ✅ إضافة InputGroupModule
|
|
54
|
+
InputGroupAddonModule }, { kind: "directive", type: // ✅ إضافة InputGroupAddonModule
|
|
55
|
+
FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: UsernameWithDomainComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{
|
|
60
|
+
standalone: true, // ✅ يجب إضافة هذه الخاصية
|
|
61
|
+
selector: 'lib-formly-username-with-domain',
|
|
62
|
+
imports: [
|
|
63
|
+
CommonModule,
|
|
64
|
+
FormsModule,
|
|
65
|
+
ReactiveFormsModule,
|
|
66
|
+
InputTextModule,
|
|
67
|
+
InputGroupModule, // ✅ إضافة InputGroupModule
|
|
68
|
+
InputGroupAddonModule, // ✅ إضافة InputGroupAddonModule
|
|
69
|
+
FormlyAttributes
|
|
70
|
+
],
|
|
71
|
+
template: `
|
|
72
|
+
<input
|
|
73
|
+
type="text"
|
|
74
|
+
pInputText
|
|
75
|
+
[formControl]="formControl"
|
|
76
|
+
[formlyAttributes]="field"
|
|
77
|
+
(blur)="onBlur()"
|
|
78
|
+
/>
|
|
79
|
+
`,
|
|
80
|
+
}]
|
|
81
|
+
}] });
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Generated bundle index. Do not edit.
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
export { FormlyUsernameWithDomainModule, UsernameWithDomainComponent };
|
|
88
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-formly-username-with-domain.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-formly-username-with-domain.mjs","sources":["../tmp-esm2022/formly-username-with-domain/lib/formly-username-with-domain-module.js","../tmp-esm2022/formly-username-with-domain/lib/formly-username-with-domain.js","../tmp-esm2022/formly-username-with-domain/elite.framework-ng.ui.core-formly-username-with-domain.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUsernameWithDomainModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUsernameWithDomainModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUsernameWithDomainModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUsernameWithDomainModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUsernameWithDomainModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdXNlcm5hbWUtd2l0aC1kb21haW4vc3JjL2xpYi9mb3JtbHktdXNlcm5hbWUtd2l0aC1kb21haW4tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sOEJBQThCO3VHQUE5Qiw4QkFBOEI7d0dBQTlCLDhCQUE4QixZQUYvQixZQUFZO3dHQUVYLDhCQUE4QixZQUYvQixZQUFZOzsyRkFFWCw4QkFBOEI7a0JBSDFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VXNlcm5hbWVXaXRoRG9tYWluTW9kdWxlIHt9XG4iXX0=","import { Component } from '@angular/core';\nimport { FieldType, FormlyAttributes } from '@ngx-formly/core'; // ✅ استيراد FormlyModule\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon'; // ✅ استيراد وحدة p-inputgroup-addon\nimport { InputGroupModule } from 'primeng/inputgroup'; // ✅ استيراد وحدة p-inputgroup\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"primeng/inputtext\";\nexport class UsernameWithDomainComponent extends FieldType {\n // ✅ إضافة ثابت لاسم النطاق لتسهيل التغيير\n domain = '@ELITESOFTSYS.COM';\n // ✅ دالة يتم استدعاؤها عند تهيئة الحقل\n ngOnInit() {\n const currentValue = this.formControl.value;\n // إذا كانت القيمة تحتوي على النطاق، قم بإزالته\n if (currentValue && typeof currentValue === 'string' && currentValue.endsWith(this.domain)) {\n const username = currentValue.replace(this.domain, '');\n this.formControl.setValue(username);\n }\n }\n // ✅ هذه الدالة يتم استدعاؤها عند خروج المستخدم من الحقل\n onBlur() {\n const currentValue = this.formControl.value;\n // إذا كانت القيمة لا تحتوي على النطاق، قم بإضافته\n if (currentValue && typeof currentValue === 'string' && !currentValue.endsWith(this.domain)) {\n this.formControl.setValue(currentValue + this.domain);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: UsernameWithDomainComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: UsernameWithDomainComponent, isStandalone: true, selector: \"lib-formly-username-with-domain\", usesInheritance: true, ngImport: i0, template: `\n <input\n type=\"text\"\n pInputText\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n (blur)=\"onBlur()\"\n />\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: InputTextModule }, { kind: \"directive\", type: i2.InputText, selector: \"[pInputText]\", inputs: [\"pSize\", \"variant\", \"fluid\", \"invalid\"] }, { kind: \"ngmodule\", type: InputGroupModule }, { kind: \"ngmodule\", type: // ✅ إضافة InputGroupModule\n InputGroupAddonModule }, { kind: \"directive\", type: // ✅ إضافة InputGroupAddonModule\n FormlyAttributes, selector: \"[formlyAttributes]\", inputs: [\"formlyAttributes\", \"id\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: UsernameWithDomainComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true, // ✅ يجب إضافة هذه الخاصية\n selector: 'lib-formly-username-with-domain',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n InputTextModule,\n InputGroupModule, // ✅ إضافة InputGroupModule\n InputGroupAddonModule, // ✅ إضافة InputGroupAddonModule\n FormlyAttributes\n ],\n template: `\n <input\n type=\"text\"\n pInputText\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n (blur)=\"onBlur()\"\n />\n `,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Zvcm1seS11c2VybmFtZS13aXRoLWRvbWFpbi9zcmMvbGliL2Zvcm1seS11c2VybmFtZS13aXRoLWRvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUMsQ0FBQyx5QkFBeUI7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUMsQ0FBQyxvQ0FBb0M7QUFDckcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUMsQ0FBQyw4QkFBOEI7Ozs7QUF3QnJGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxTQUEwQjtJQUN6RSwwQ0FBMEM7SUFDbEMsTUFBTSxHQUFHLG1CQUFtQixDQUFDO0lBRXRDLHVDQUF1QztJQUN2QyxRQUFRO1FBQ1IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFFNUMsK0NBQStDO1FBQy9DLElBQUksWUFBWSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzdGLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0QsQ0FBQztJQUVELHdEQUF3RDtJQUV2RCxNQUFNO1FBQ1AsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFFNUMsa0RBQWtEO1FBQ2xELElBQUksWUFBWSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0QsQ0FBQzt1R0F4QlcsMkJBQTJCOzJGQUEzQiwyQkFBMkIsa0hBVjVCOzs7Ozs7OztHQVFULDJEQWhCQyxZQUFZLDhCQUNaLFdBQVcsc1pBQ1gsbUJBQW1CLGlOQUNuQixlQUFlLHFKQUNmLGdCQUFnQiw4QkFBRSwyQkFBMkI7Z0JBQzdDLHFCQUFxQiwrQkFBRSxnQ0FBZ0M7Z0JBQ3ZELGdCQUFnQjs7MkZBWVAsMkJBQTJCO2tCQXRCdkMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSSxFQUFFLDBCQUEwQjtvQkFDNUMsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZ0JBQWdCLEVBQUUsMkJBQTJCO3dCQUM3QyxxQkFBcUIsRUFBRSxnQ0FBZ0M7d0JBQ3ZELGdCQUFnQjtxQkFDakI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyxGb3JtbHlBdHRyaWJ1dGVzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7IC8vIOKchSDYp9iz2KrZitix2KfYryBGb3JtbHlNb2R1bGVcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IElucHV0R3JvdXBBZGRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cGFkZG9uJzsgLy8g4pyFINin2LPYqtmK2LHYp9ivINmI2K3Yr9ipIHAtaW5wdXRncm91cC1hZGRvblxuaW1wb3J0IHsgSW5wdXRHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cCc7IC8vIOKchSDYp9iz2KrZitix2KfYryDZiNit2K/YqSBwLWlucHV0Z3JvdXBcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsIC8vIOKchSDZitis2Kgg2KXYttin2YHYqSDZh9iw2Ycg2KfZhNiu2KfYtdmK2KlcbiAgc2VsZWN0b3I6ICdsaWItZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBJbnB1dEdyb3VwTW9kdWxlLCAvLyDinIUg2KXYttin2YHYqSBJbnB1dEdyb3VwTW9kdWxlXG4gICAgSW5wdXRHcm91cEFkZG9uTW9kdWxlLCAvLyDinIUg2KXYttin2YHYqSBJbnB1dEdyb3VwQWRkb25Nb2R1bGVcbiAgICBGb3JtbHlBdHRyaWJ1dGVzXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gIDxpbnB1dFxuIHR5cGU9XCJ0ZXh0XCJcbiBwSW5wdXRUZXh0XG4gW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gKGJsdXIpPVwib25CbHVyKClcIlxuIC8+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IHtcbiAgLy8g4pyFINil2LbYp9mB2Kkg2KvYp9io2Kog2YTYp9iz2YUg2KfZhNmG2LfYp9mCINmE2KrYs9mH2YrZhCDYp9mE2KrYutmK2YrYsVxuIHJlYWRvbmx5IGRvbWFpbiA9ICdARUxJVEVTT0ZUU1lTLkNPTSc7XG5cbiAvLyDinIUg2K/Yp9mE2Kkg2YrYqtmFINin2LPYqtiv2LnYp9ik2YfYpyDYudmG2K8g2KrZh9mK2KbYqSDYp9mE2K3ZgtmEXG4gbmdPbkluaXQoKSB7XG4gY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcblxuIC8vINil2LDYpyDZg9in2YbYqiDYp9mE2YLZitmF2Kkg2KrYrdiq2YjZiiDYudmE2Ykg2KfZhNmG2LfYp9mC2Iwg2YLZhSDYqNil2LLYp9mE2KrZh1xuIGlmIChjdXJyZW50VmFsdWUgJiYgdHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ3N0cmluZycgJiYgY3VycmVudFZhbHVlLmVuZHNXaXRoKHRoaXMuZG9tYWluKSkge1xuIGNvbnN0IHVzZXJuYW1lID0gY3VycmVudFZhbHVlLnJlcGxhY2UodGhpcy5kb21haW4sICcnKTtcbiB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHVzZXJuYW1lKTtcbiB9XG4gfVxuXG4gLy8g4pyFINmH2LDZhyDYp9mE2K/Yp9mE2Kkg2YrYqtmFINin2LPYqtiv2LnYp9ik2YfYpyDYudmG2K8g2K7YsdmI2Kwg2KfZhNmF2LPYqtiu2K/ZhSDZhdmGINin2YTYrdmC2YRcblxuICBvbkJsdXIoKSB7XG4gY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcblxuIC8vINil2LDYpyDZg9in2YbYqiDYp9mE2YLZitmF2Kkg2YTYpyDYqtit2KrZiNmKINi52YTZiSDYp9mE2YbYt9in2YLYjCDZgtmFINio2KXYttin2YHYqtmHXG4gaWYgKGN1cnJlbnRWYWx1ZSAmJiB0eXBlb2YgY3VycmVudFZhbHVlID09PSAnc3RyaW5nJyAmJiAhY3VycmVudFZhbHVlLmVuZHNXaXRoKHRoaXMuZG9tYWluKSkge1xuIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoY3VycmVudFZhbHVlICsgdGhpcy5kb21haW4pO1xuIH1cbiB9XG59XG5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Zvcm1seS11c2VybmFtZS13aXRoLWRvbWFpbi9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, EventEmitter, Output, Input, ViewChild, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i2 from '@angular/forms';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import * as i3 from 'primeng/autocomplete';
|
|
7
|
+
import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
8
|
+
import * as i4 from '@ngx-translate/core';
|
|
9
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
10
|
+
import { finalize } from 'rxjs/operators';
|
|
11
|
+
import * as i1 from '@elite.framework/ng.core/services';
|
|
12
|
+
import { BaseService } from '@elite.framework/ng.core/services';
|
|
13
|
+
|
|
14
|
+
class GenericAutocompleteModule {
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteModule, imports: [CommonModule] });
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteModule, imports: [CommonModule] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [CommonModule],
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
|
|
26
|
+
class GenericAutocompleteComponent {
|
|
27
|
+
svc;
|
|
28
|
+
autoComp;
|
|
29
|
+
// الخصائص المدخلة (Inputs)
|
|
30
|
+
serviceName;
|
|
31
|
+
listEndpoint;
|
|
32
|
+
labelField = 'name';
|
|
33
|
+
valueField = 'id';
|
|
34
|
+
multiple = false;
|
|
35
|
+
placeholder;
|
|
36
|
+
fixedFilters;
|
|
37
|
+
value;
|
|
38
|
+
loadOnInit = false;
|
|
39
|
+
// الأحداث المخرجة (Outputs)
|
|
40
|
+
selectionChange = new EventEmitter();
|
|
41
|
+
options_ = [];
|
|
42
|
+
selectedItem;
|
|
43
|
+
loading = false;
|
|
44
|
+
api;
|
|
45
|
+
constructor(svc) {
|
|
46
|
+
this.svc = svc;
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.api = this.svc;
|
|
50
|
+
this.api.apiName = this.serviceName;
|
|
51
|
+
// ✅ إضافة الشرط الجديد للتحميل التلقائي عند تهيئة المكون
|
|
52
|
+
if (this.loadOnInit) {
|
|
53
|
+
this.search({ query: '' });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
onSelectionChange(val) {
|
|
57
|
+
this.selectedItem = val;
|
|
58
|
+
this.selectionChange.emit(val);
|
|
59
|
+
}
|
|
60
|
+
search(event) {
|
|
61
|
+
const q = event.query?.toString().toLowerCase() || '';
|
|
62
|
+
this.loading = true;
|
|
63
|
+
this.options_ = [];
|
|
64
|
+
const searchParams = {
|
|
65
|
+
[this.labelField]: q,
|
|
66
|
+
...this.fixedFilters,
|
|
67
|
+
};
|
|
68
|
+
const listEndpoint = this.listEndpoint;
|
|
69
|
+
this.api.getList(searchParams, listEndpoint)
|
|
70
|
+
.pipe(finalize(() => (this.loading = false)))
|
|
71
|
+
.subscribe({
|
|
72
|
+
next: (res) => {
|
|
73
|
+
this.options_ = res.items ?? res ?? [];
|
|
74
|
+
setTimeout(() => this.autoComp?.show(), 0);
|
|
75
|
+
},
|
|
76
|
+
error: () => {
|
|
77
|
+
this.options_ = [];
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getEmptyMessage() {
|
|
82
|
+
if (this.loading) {
|
|
83
|
+
return 'LOADING_DATA_MESSAGE';
|
|
84
|
+
}
|
|
85
|
+
else if (this.options_.length === 0) {
|
|
86
|
+
return 'NO_RESULTS_FOUND';
|
|
87
|
+
}
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteComponent, deps: [{ token: i1.BaseService }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: GenericAutocompleteComponent, isStandalone: true, selector: "app-generic-autocomplete", inputs: { serviceName: "serviceName", listEndpoint: "listEndpoint", labelField: "labelField", valueField: "valueField", multiple: "multiple", placeholder: "placeholder", fixedFilters: "fixedFilters", value: "value", loadOnInit: "loadOnInit" }, outputs: { selectionChange: "selectionChange" }, providers: [BaseService], viewQueries: [{ propertyName: "autoComp", first: true, predicate: ["autoComp"], descendants: true }], ngImport: i0, template: `
|
|
92
|
+
<p-autoComplete
|
|
93
|
+
#autoComp
|
|
94
|
+
[ngModel]="selectedItem"
|
|
95
|
+
(ngModelChange)="onSelectionChange($event)"
|
|
96
|
+
[suggestions]="options_"
|
|
97
|
+
(completeMethod)="search($event)"
|
|
98
|
+
[multiple]="multiple"
|
|
99
|
+
[optionLabel]="labelField || 'name'"
|
|
100
|
+
[dropdown]="true"
|
|
101
|
+
[forceSelection]="true"
|
|
102
|
+
[placeholder]="(placeholder || '') | translate"
|
|
103
|
+
dropdownMode="current"
|
|
104
|
+
appendTo="self"
|
|
105
|
+
class="w-full"
|
|
106
|
+
[showEmptyMessage]="true"
|
|
107
|
+
emptyMessage="{{ getEmptyMessage() | translate }}"
|
|
108
|
+
[showTransitionOptions]="'0ms'"
|
|
109
|
+
></p-autoComplete>
|
|
110
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i3.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "appendTo"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericAutocompleteComponent, decorators: [{
|
|
113
|
+
type: Component,
|
|
114
|
+
args: [{
|
|
115
|
+
selector: 'app-generic-autocomplete',
|
|
116
|
+
template: `
|
|
117
|
+
<p-autoComplete
|
|
118
|
+
#autoComp
|
|
119
|
+
[ngModel]="selectedItem"
|
|
120
|
+
(ngModelChange)="onSelectionChange($event)"
|
|
121
|
+
[suggestions]="options_"
|
|
122
|
+
(completeMethod)="search($event)"
|
|
123
|
+
[multiple]="multiple"
|
|
124
|
+
[optionLabel]="labelField || 'name'"
|
|
125
|
+
[dropdown]="true"
|
|
126
|
+
[forceSelection]="true"
|
|
127
|
+
[placeholder]="(placeholder || '') | translate"
|
|
128
|
+
dropdownMode="current"
|
|
129
|
+
appendTo="self"
|
|
130
|
+
class="w-full"
|
|
131
|
+
[showEmptyMessage]="true"
|
|
132
|
+
emptyMessage="{{ getEmptyMessage() | translate }}"
|
|
133
|
+
[showTransitionOptions]="'0ms'"
|
|
134
|
+
></p-autoComplete>
|
|
135
|
+
`,
|
|
136
|
+
providers: [BaseService],
|
|
137
|
+
standalone: true, // تأكد أن المكون مستقل
|
|
138
|
+
imports: [
|
|
139
|
+
FormsModule,
|
|
140
|
+
AutoCompleteModule,
|
|
141
|
+
CommonModule,
|
|
142
|
+
TranslateModule,
|
|
143
|
+
]
|
|
144
|
+
}]
|
|
145
|
+
}], ctorParameters: () => [{ type: i1.BaseService }], propDecorators: { autoComp: [{
|
|
146
|
+
type: ViewChild,
|
|
147
|
+
args: ['autoComp']
|
|
148
|
+
}], serviceName: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], listEndpoint: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], labelField: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], valueField: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], multiple: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], placeholder: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], fixedFilters: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], value: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], loadOnInit: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], selectionChange: [{
|
|
167
|
+
type: Output
|
|
168
|
+
}] } });
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Generated bundle index. Do not edit.
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
export { GenericAutocompleteComponent, GenericAutocompleteModule };
|
|
175
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-generic-autocomplete.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-generic-autocomplete.mjs","sources":["../tmp-esm2022/generic-autocomplete/lib/generic-autocomplete-module.js","../tmp-esm2022/generic-autocomplete/lib/generic-autocomplete-component.js","../tmp-esm2022/generic-autocomplete/elite.framework-ng.ui.core-generic-autocomplete.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class GenericAutocompleteModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1hdXRvY29tcGxldGUtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2dlbmVyaWMtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ2VuZXJpYy1hdXRvY29tcGxldGUtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8seUJBQXlCO3VHQUF6Qix5QkFBeUI7d0dBQXpCLHlCQUF5QixZQUYxQixZQUFZO3dHQUVYLHlCQUF5QixZQUYxQixZQUFZOzsyRkFFWCx5QkFBeUI7a0JBSHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY0F1dG9jb21wbGV0ZU1vZHVsZSB7fVxuIl19","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { AutoCompleteModule, AutoComplete } from 'primeng/autocomplete';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { finalize } from 'rxjs/operators';\nimport { BaseService } from '@elite.framework/ng.core/services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@elite.framework/ng.core/services\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"primeng/autocomplete\";\nimport * as i4 from \"@ngx-translate/core\";\nexport class GenericAutocompleteComponent {\n svc;\n autoComp;\n // الخصائص المدخلة (Inputs)\n serviceName;\n listEndpoint;\n labelField = 'name';\n valueField = 'id';\n multiple = false;\n placeholder;\n fixedFilters;\n value;\n loadOnInit = false;\n // الأحداث المخرجة (Outputs)\n selectionChange = new EventEmitter();\n options_ = [];\n selectedItem;\n loading = false;\n api;\n constructor(svc) {\n this.svc = svc;\n }\n ngOnInit() {\n this.api = this.svc;\n this.api.apiName = this.serviceName;\n // ✅ إضافة الشرط الجديد للتحميل التلقائي عند تهيئة المكون\n if (this.loadOnInit) {\n this.search({ query: '' });\n }\n }\n onSelectionChange(val) {\n this.selectedItem = val;\n this.selectionChange.emit(val);\n }\n search(event) {\n const q = event.query?.toString().toLowerCase() || '';\n this.loading = true;\n this.options_ = [];\n const searchParams = {\n [this.labelField]: q,\n ...this.fixedFilters,\n };\n const listEndpoint = this.listEndpoint;\n this.api.getList(searchParams, listEndpoint)\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: (res) => {\n this.options_ = res.items ?? res ?? [];\n setTimeout(() => this.autoComp?.show(), 0);\n },\n error: () => {\n this.options_ = [];\n },\n });\n }\n getEmptyMessage() {\n if (this.loading) {\n return 'LOADING_DATA_MESSAGE';\n }\n else if (this.options_.length === 0) {\n return 'NO_RESULTS_FOUND';\n }\n return '';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteComponent, deps: [{ token: i1.BaseService }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: GenericAutocompleteComponent, isStandalone: true, selector: \"app-generic-autocomplete\", inputs: { serviceName: \"serviceName\", listEndpoint: \"listEndpoint\", labelField: \"labelField\", valueField: \"valueField\", multiple: \"multiple\", placeholder: \"placeholder\", fixedFilters: \"fixedFilters\", value: \"value\", loadOnInit: \"loadOnInit\" }, outputs: { selectionChange: \"selectionChange\" }, providers: [BaseService], viewQueries: [{ propertyName: \"autoComp\", first: true, predicate: [\"autoComp\"], descendants: true }], ngImport: i0, template: `\n <p-autoComplete\n #autoComp\n [ngModel]=\"selectedItem\"\n (ngModelChange)=\"onSelectionChange($event)\"\n [suggestions]=\"options_\"\n (completeMethod)=\"search($event)\"\n [multiple]=\"multiple\"\n [optionLabel]=\"labelField || 'name'\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [placeholder]=\"(placeholder || '') | translate\"\n dropdownMode=\"current\"\n appendTo=\"self\"\n class=\"w-full\"\n [showEmptyMessage]=\"true\"\n emptyMessage=\"{{ getEmptyMessage() | translate }}\"\n [showTransitionOptions]=\"'0ms'\"\n ></p-autoComplete>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AutoCompleteModule }, { kind: \"component\", type: i3.AutoComplete, selector: \"p-autoComplete, p-autocomplete, p-auto-complete\", inputs: [\"minLength\", \"minQueryLength\", \"delay\", \"panelStyle\", \"styleClass\", \"panelStyleClass\", \"inputStyle\", \"inputId\", \"inputStyleClass\", \"placeholder\", \"readonly\", \"scrollHeight\", \"lazy\", \"virtualScroll\", \"virtualScrollItemSize\", \"virtualScrollOptions\", \"autoHighlight\", \"forceSelection\", \"type\", \"autoZIndex\", \"baseZIndex\", \"ariaLabel\", \"dropdownAriaLabel\", \"ariaLabelledBy\", \"dropdownIcon\", \"unique\", \"group\", \"completeOnFocus\", \"showClear\", \"dropdown\", \"showEmptyMessage\", \"dropdownMode\", \"multiple\", \"tabindex\", \"dataKey\", \"emptyMessage\", \"showTransitionOptions\", \"hideTransitionOptions\", \"autofocus\", \"autocomplete\", \"optionGroupChildren\", \"optionGroupLabel\", \"overlayOptions\", \"suggestions\", \"optionLabel\", \"optionValue\", \"id\", \"searchMessage\", \"emptySelectionMessage\", \"selectionMessage\", \"autoOptionFocus\", \"selectOnFocus\", \"searchLocale\", \"optionDisabled\", \"focusOnHover\", \"typeahead\", \"appendTo\"], outputs: [\"completeMethod\", \"onSelect\", \"onUnselect\", \"onFocus\", \"onBlur\", \"onDropdownClick\", \"onClear\", \"onKeyUp\", \"onShow\", \"onHide\", \"onLazyLoad\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"pipe\", type: i4.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericAutocompleteComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'app-generic-autocomplete',\n template: `\n <p-autoComplete\n #autoComp\n [ngModel]=\"selectedItem\"\n (ngModelChange)=\"onSelectionChange($event)\"\n [suggestions]=\"options_\"\n (completeMethod)=\"search($event)\"\n [multiple]=\"multiple\"\n [optionLabel]=\"labelField || 'name'\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [placeholder]=\"(placeholder || '') | translate\"\n dropdownMode=\"current\"\n appendTo=\"self\"\n class=\"w-full\"\n [showEmptyMessage]=\"true\"\n emptyMessage=\"{{ getEmptyMessage() | translate }}\"\n [showTransitionOptions]=\"'0ms'\"\n ></p-autoComplete>\n `,\n providers: [BaseService],\n standalone: true, // تأكد أن المكون مستقل\n imports: [\n FormsModule,\n AutoCompleteModule,\n CommonModule,\n TranslateModule,\n ]\n }]\n }], ctorParameters: () => [{ type: i1.BaseService }], propDecorators: { autoComp: [{\n type: ViewChild,\n args: ['autoComp']\n }], serviceName: [{\n type: Input\n }], listEndpoint: [{\n type: Input\n }], labelField: [{\n type: Input\n }], valueField: [{\n type: Input\n }], multiple: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], fixedFilters: [{\n type: Input\n }], value: [{\n type: Input\n }], loadOnInit: [{\n type: Input\n }], selectionChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1hdXRvY29tcGxldGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2dlbmVyaWMtYXV0b2NvbXBsZXRlL3NyYy9saWIvZ2VuZXJpYy1hdXRvY29tcGxldGUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFpQ2hFLE1BQU0sT0FBTyw0QkFBNEI7SUF1Qm5CO0lBdEJHLFFBQVEsQ0FBZ0I7SUFFL0MsMkJBQTJCO0lBQ2xCLFdBQVcsQ0FBVTtJQUNyQixZQUFZLENBQVU7SUFDdEIsVUFBVSxHQUFZLE1BQU0sQ0FBQztJQUM3QixVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxDQUFVO0lBQ3JCLFlBQVksQ0FBdUI7SUFDbkMsS0FBSyxDQUFNO0lBQ1gsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1Qiw0QkFBNEI7SUFDbEIsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFcEQsUUFBUSxHQUFVLEVBQUUsQ0FBQztJQUNyQixZQUFZLENBQU07SUFD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QTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFHWixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUsIEF1dG9Db21wbGV0ZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1nZW5lcmljLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHAtYXV0b0NvbXBsZXRlXG4gICAgICAjYXV0b0NvbXBcbiAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkSXRlbVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtzdWdnZXN0aW9uc109XCJvcHRpb25zX1wiXG4gICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgIFtvcHRpb25MYWJlbF09XCJsYWJlbEZpZWxkIHx8ICduYW1lJ1wiXG4gICAgICBbZHJvcGRvd25dPVwidHJ1ZVwiXG4gICAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyIHx8ICcnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICBkcm9wZG93bk1vZGU9XCJjdXJyZW50XCJcbiAgICAgIGFwcGVuZFRvPVwic2VsZlwiXG4gICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICBbc2hvd0VtcHR5TWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIGVtcHR5TWVzc2FnZT1cInt7IGdldEVtcHR5TWVzc2FnZSgpIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzBtcydcIlxuICAgID48L3AtYXV0b0NvbXBsZXRlPlxuICBgLFxuICBwcm92aWRlcnM6IFtCYXNlU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsIC8vINiq2KPZg9ivINij2YYg2KfZhNmF2YPZiNmGINmF2LPYqtmC2YRcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdhdXRvQ29tcCcpIGF1dG9Db21wITogQXV0b0NvbXBsZXRlO1xuXG4gIC8vINin2YTYrti12KfYpti1INin2YTZhdiv2K7ZhNipIChJbnB1dHMpXG4gIEBJbnB1dCgpIHNlcnZpY2VOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBsaXN0RW5kcG9pbnQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsRmllbGQ/OiBzdHJpbmcgPSAnbmFtZSc7XG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ/OiBzdHJpbmcgPSAnaWQnO1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZml4ZWRGaWx0ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgQElucHV0KCkgbG9hZE9uSW5pdCA9IGZhbHNlO1xuXG4gIC8vINin2YTYo9it2K/Yp9irINin2YTZhdiu2LHYrNipIChPdXRwdXRzKVxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgb3B0aW9uc186IGFueVtdID0gW107XG4gIHNlbGVjdGVkSXRlbTogYW55O1xuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgYXBpITogQmFzZVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdmM6IEJhc2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5hcGkgPSB0aGlzLnN2YztcbiAgICB0aGlzLmFwaS5hcGlOYW1lID0gdGhpcy5zZXJ2aWNlTmFtZTtcblxuICAgIC8vIOKchSDYpdi22KfZgdipINin2YTYtNix2Lcg2KfZhNis2K/ZitivINmE2YTYqtit2YXZitmEINin2YTYqtmE2YLYp9im2Yog2LnZhtivINiq2YfZitim2Kkg2KfZhNmF2YPZiNmGXG4gICAgaWYgKHRoaXMubG9hZE9uSW5pdCkge1xuICAgICAgdGhpcy5zZWFyY2goeyBxdWVyeTogJycgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UodmFsOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHZhbDtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHZhbCk7XG4gIH1cblxuICBzZWFyY2goZXZlbnQ6IHsgcXVlcnk6IHN0cmluZyB9KSB7XG4gICAgY29uc3QgcSA9IGV2ZW50LnF1ZXJ5Py50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgfHwgJyc7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm9wdGlvbnNfID0gW107XG5cbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB7XG4gICAgICBbdGhpcy5sYWJlbEZpZWxkIV06IHEsXG4gICAgICAuLi50aGlzLmZpeGVkRmlsdGVycyxcbiAgICB9O1xuXG4gICAgY29uc3QgbGlzdEVuZHBvaW50ID0gdGhpcy5saXN0RW5kcG9pbnQ7XG4gICAgdGhpcy5hcGkuZ2V0TGlzdChzZWFyY2hQYXJhbXMsIGxpc3RFbmRwb2ludClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMub3B0aW9uc18gPSByZXMuaXRlbXMgPz8gcmVzID8/IFtdO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hdXRvQ29tcD8uc2hvdygpLCAwKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnNfID0gW107XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIGdldEVtcHR5TWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybiAnTE9BRElOR19EQVRBX01FU1NBR0UnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zXy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnTk9fUkVTVUxUU19GT1VORCc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZ2VuZXJpYy1hdXRvY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1hdXRvY29tcGxldGUvc3JjL2VsaXRlLmZyYW1ld29yay1uZy51aS5jb3JlLWdlbmVyaWMtYXV0b2NvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i2 from 'primeng/button';
|
|
6
|
+
import { ButtonModule } from 'primeng/button';
|
|
7
|
+
import * as i3 from 'primeng/splitbutton';
|
|
8
|
+
import { SplitButtonModule } from 'primeng/splitbutton';
|
|
9
|
+
|
|
10
|
+
class GenericButtonModule {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: GenericButtonModule, imports: [CommonModule] });
|
|
13
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericButtonModule, imports: [CommonModule] });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericButtonModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [CommonModule],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
|
|
22
|
+
class GenericButton {
|
|
23
|
+
// permissionChecker = inject(PermissionCheckerService);
|
|
24
|
+
// لو وُجدت هذه المصفوفة، نُستخدم splitButton
|
|
25
|
+
model;
|
|
26
|
+
type = 'button';
|
|
27
|
+
icon = '';
|
|
28
|
+
label = '';
|
|
29
|
+
variant = 'raised';
|
|
30
|
+
severity = 'primary';
|
|
31
|
+
size = 'normal';
|
|
32
|
+
iconPosition = 'left';
|
|
33
|
+
disabled = false;
|
|
34
|
+
loading = false;
|
|
35
|
+
ariaLabel;
|
|
36
|
+
extraClasses = ''; // لأي Tailwind إضافي
|
|
37
|
+
permission;
|
|
38
|
+
clicked = new EventEmitter();
|
|
39
|
+
itemClick = new EventEmitter();
|
|
40
|
+
// خريطة أحجام
|
|
41
|
+
sizeMap = {
|
|
42
|
+
small: 'px-2 py-1 text-sm',
|
|
43
|
+
normal: 'px-4 py-2 text-base',
|
|
44
|
+
large: 'px-6 py-3 text-lg',
|
|
45
|
+
};
|
|
46
|
+
// خريطة ألوان للـ raised و rounded
|
|
47
|
+
colorMap = {
|
|
48
|
+
primary: 'bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 text-white',
|
|
49
|
+
secondary: 'bg-gray-600 hover:bg-gray-700 focus:ring-gray-500 text-white',
|
|
50
|
+
success: 'bg-green-600 hover:bg-green-700 focus:ring-green-500 text-white',
|
|
51
|
+
info: 'bg-teal-600 hover:bg-teal-700 focus:ring-teal-500 text-white',
|
|
52
|
+
warning: 'bg-yellow-500 hover:bg-yellow-600 focus:ring-yellow-400 text-white',
|
|
53
|
+
danger: 'bg-red-600 hover:bg-red-700 focus:ring-red-500 text-white',
|
|
54
|
+
};
|
|
55
|
+
// خريطة حدوده للـ outlined
|
|
56
|
+
outlinedMap = {
|
|
57
|
+
primary: 'border border-blue-600 text-blue-600 hover:bg-blue-50 focus:ring-blue-500',
|
|
58
|
+
secondary: 'border border-gray-600 text-gray-600 hover:bg-gray-50 focus:ring-gray-500',
|
|
59
|
+
success: 'border border-green-600 text-green-600 hover:bg-green-50 focus:ring-green-500',
|
|
60
|
+
info: 'border border-teal-600 text-teal-600 hover:bg-teal-50 focus:ring-teal-500',
|
|
61
|
+
warning: 'border border-yellow-500 text-yellow-500 hover:bg-yellow-50 focus:ring-yellow-400',
|
|
62
|
+
danger: 'border border-red-600 text-red-600 hover:bg-red-50 focus:ring-red-500',
|
|
63
|
+
};
|
|
64
|
+
get twClasses() {
|
|
65
|
+
const base = [
|
|
66
|
+
'inline-flex items-center justify-center font-medium',
|
|
67
|
+
'focus:outline-none focus:ring-2 focus:ring-offset-2 transition',
|
|
68
|
+
this.sizeMap[this.size]
|
|
69
|
+
];
|
|
70
|
+
// variant-specific
|
|
71
|
+
if (this.variant === 'outlined') {
|
|
72
|
+
base.push(this.outlinedMap[this.severity]);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
base.push(this.colorMap[this.severity]);
|
|
76
|
+
}
|
|
77
|
+
if (this.variant === 'text') {
|
|
78
|
+
base.push('bg-transparent hover:bg-gray-100 focus:ring-gray-200 text-gray-700');
|
|
79
|
+
}
|
|
80
|
+
if (this.variant === 'rounded') {
|
|
81
|
+
base.push('rounded-full');
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
base.push('rounded-md');
|
|
85
|
+
}
|
|
86
|
+
if (this.disabled || this.loading) {
|
|
87
|
+
base.push('opacity-50 cursor-not-allowed');
|
|
88
|
+
}
|
|
89
|
+
if (this.extraClasses) {
|
|
90
|
+
base.push(this.extraClasses);
|
|
91
|
+
}
|
|
92
|
+
return base.join(' ');
|
|
93
|
+
}
|
|
94
|
+
onClick() {
|
|
95
|
+
if (!this.disabled && !this.loading) {
|
|
96
|
+
this.clicked.emit();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
onItemClick(evt) {
|
|
100
|
+
this.itemClick.emit(evt);
|
|
101
|
+
}
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: GenericButton, isStandalone: true, selector: "lib-generic-button", inputs: { model: "model", type: "type", icon: "icon", label: "label", variant: "variant", severity: "severity", size: "size", iconPosition: "iconPosition", disabled: "disabled", loading: "loading", ariaLabel: "ariaLabel", extraClasses: "extraClasses", permission: "permission" }, outputs: { clicked: "clicked", itemClick: "itemClick" }, ngImport: i0, template: "\n<!-- generic-button.component.html -->\n <!-- *hasPermission=\"permission\" -->\n<ng-container >\n <ng-container *ngIf=\"model?.length; else simpleBtn\">\n <!-- \u062D\u0627\u0644\u0629 \u0627\u0644\u0640 splitButton -->\n <p-splitButton\n [model]=\"model\"\n [icon]=\"icon\"\n [label]=\"label\"\n [styleClass]=\"twClasses\"\n [disabled]=\"disabled || loading\" (onClick)=\"onClick()\"\n (onClick)=\"onClick()\"\n (onItemClick)=\"onItemClick($event)\"\n ></p-splitButton>\n </ng-container>\n\n <ng-template #simpleBtn>\n <!-- \u062D\u0627\u0644\u0629 \u0627\u0644\u0632\u0631\u0651 \u0627\u0644\u0639\u0627\u062F\u064A -->\n <button\n [attr.type]=\"type\"\n pButton\n [icon]=\"loading ? 'pi pi-spin pi-spinner' : icon\"\n [label]=\"label\"\n [ngClass]=\"twClasses\"\n [attr.aria-label]=\"ariaLabel || label\"\n [disabled]=\"disabled || loading\" (onClick)=\"onClick()\"\n (click)=\"onClick()\"\n >\n\n <!-- \u0645\u062D\u062A\u0648\u0649 \u0645\u062E\u0635\u0651\u0635 -->\n <ng-content *ngIf=\"!label && !icon && !loading\"></ng-content>\n </button>\n </ng-template>\n </ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i3.SplitButton, selector: "p-splitbutton, p-splitButton, p-split-button", inputs: ["model", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "icon", "iconPos", "label", "tooltip", "tooltipOptions", "styleClass", "menuStyle", "menuStyleClass", "dropdownIcon", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps", "autofocus", "disabled", "tabindex", "menuButtonDisabled", "buttonDisabled"], outputs: ["onClick", "onMenuHide", "onMenuShow", "onDropdownClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericButton, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'lib-generic-button', standalone: true, imports: [CommonModule, ButtonModule, SplitButtonModule, /* HasPermissionDirective */], changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<!-- generic-button.component.html -->\n <!-- *hasPermission=\"permission\" -->\n<ng-container >\n <ng-container *ngIf=\"model?.length; else simpleBtn\">\n <!-- \u062D\u0627\u0644\u0629 \u0627\u0644\u0640 splitButton -->\n <p-splitButton\n [model]=\"model\"\n [icon]=\"icon\"\n [label]=\"label\"\n [styleClass]=\"twClasses\"\n [disabled]=\"disabled || loading\" (onClick)=\"onClick()\"\n (onClick)=\"onClick()\"\n (onItemClick)=\"onItemClick($event)\"\n ></p-splitButton>\n </ng-container>\n\n <ng-template #simpleBtn>\n <!-- \u062D\u0627\u0644\u0629 \u0627\u0644\u0632\u0631\u0651 \u0627\u0644\u0639\u0627\u062F\u064A -->\n <button\n [attr.type]=\"type\"\n pButton\n [icon]=\"loading ? 'pi pi-spin pi-spinner' : icon\"\n [label]=\"label\"\n [ngClass]=\"twClasses\"\n [attr.aria-label]=\"ariaLabel || label\"\n [disabled]=\"disabled || loading\" (onClick)=\"onClick()\"\n (click)=\"onClick()\"\n >\n\n <!-- \u0645\u062D\u062A\u0648\u0649 \u0645\u062E\u0635\u0651\u0635 -->\n <ng-content *ngIf=\"!label && !icon && !loading\"></ng-content>\n </button>\n </ng-template>\n </ng-container>\n" }]
|
|
108
|
+
}], propDecorators: { model: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], type: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], icon: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], label: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], variant: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], severity: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], size: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], iconPosition: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], disabled: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], loading: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], ariaLabel: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], extraClasses: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], permission: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], clicked: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}], itemClick: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}] } });
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Generated bundle index. Do not edit.
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
export { GenericButton, GenericButtonModule };
|
|
145
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-generic-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-generic-button.mjs","sources":["../tmp-esm2022/generic-button/lib/generic-button-module.js","../tmp-esm2022/generic-button/lib/generic-button.js","../tmp-esm2022/generic-button/elite.framework-ng.ui.core-generic-button.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class GenericButtonModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButtonModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButtonModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButtonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1idXR0b24tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2dlbmVyaWMtYnV0dG9uL3NyYy9saWIvZ2VuZXJpYy1idXR0b24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixZQUZwQixZQUFZO3dHQUVYLG1CQUFtQixZQUZwQixZQUFZOzsyRkFFWCxtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY0J1dHRvbk1vZHVsZSB7fVxuIl19","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"primeng/button\";\nimport * as i3 from \"primeng/splitbutton\";\nexport class GenericButton {\n // permissionChecker = inject(PermissionCheckerService);\n // لو وُجدت هذه المصفوفة، نُستخدم splitButton\n model;\n type = 'button';\n icon = '';\n label = '';\n variant = 'raised';\n severity = 'primary';\n size = 'normal';\n iconPosition = 'left';\n disabled = false;\n loading = false;\n ariaLabel;\n extraClasses = ''; // لأي Tailwind إضافي\n permission;\n clicked = new EventEmitter();\n itemClick = new EventEmitter();\n // خريطة أحجام\n sizeMap = {\n small: 'px-2 py-1 text-sm',\n normal: 'px-4 py-2 text-base',\n large: 'px-6 py-3 text-lg',\n };\n // خريطة ألوان للـ raised و rounded\n colorMap = {\n primary: 'bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 text-white',\n secondary: 'bg-gray-600 hover:bg-gray-700 focus:ring-gray-500 text-white',\n success: 'bg-green-600 hover:bg-green-700 focus:ring-green-500 text-white',\n info: 'bg-teal-600 hover:bg-teal-700 focus:ring-teal-500 text-white',\n warning: 'bg-yellow-500 hover:bg-yellow-600 focus:ring-yellow-400 text-white',\n danger: 'bg-red-600 hover:bg-red-700 focus:ring-red-500 text-white',\n };\n // خريطة حدوده للـ outlined\n outlinedMap = {\n primary: 'border border-blue-600 text-blue-600 hover:bg-blue-50 focus:ring-blue-500',\n secondary: 'border border-gray-600 text-gray-600 hover:bg-gray-50 focus:ring-gray-500',\n success: 'border border-green-600 text-green-600 hover:bg-green-50 focus:ring-green-500',\n info: 'border border-teal-600 text-teal-600 hover:bg-teal-50 focus:ring-teal-500',\n warning: 'border border-yellow-500 text-yellow-500 hover:bg-yellow-50 focus:ring-yellow-400',\n danger: 'border border-red-600 text-red-600 hover:bg-red-50 focus:ring-red-500',\n };\n get twClasses() {\n const base = [\n 'inline-flex items-center justify-center font-medium',\n 'focus:outline-none focus:ring-2 focus:ring-offset-2 transition',\n this.sizeMap[this.size]\n ];\n // variant-specific\n if (this.variant === 'outlined') {\n base.push(this.outlinedMap[this.severity]);\n }\n else {\n base.push(this.colorMap[this.severity]);\n }\n if (this.variant === 'text') {\n base.push('bg-transparent hover:bg-gray-100 focus:ring-gray-200 text-gray-700');\n }\n if (this.variant === 'rounded') {\n base.push('rounded-full');\n }\n else {\n base.push('rounded-md');\n }\n if (this.disabled || this.loading) {\n base.push('opacity-50 cursor-not-allowed');\n }\n if (this.extraClasses) {\n base.push(this.extraClasses);\n }\n return base.join(' ');\n }\n onClick() {\n if (!this.disabled && !this.loading) {\n this.clicked.emit();\n }\n }\n onItemClick(evt) {\n this.itemClick.emit(evt);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButton, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: GenericButton, isStandalone: true, selector: \"lib-generic-button\", inputs: { model: \"model\", type: \"type\", icon: \"icon\", label: \"label\", variant: \"variant\", severity: \"severity\", size: \"size\", iconPosition: \"iconPosition\", disabled: \"disabled\", loading: \"loading\", ariaLabel: \"ariaLabel\", extraClasses: \"extraClasses\", permission: \"permission\" }, outputs: { clicked: \"clicked\", itemClick: \"itemClick\" }, ngImport: i0, template: \"\\n<!-- generic-button.component.html -->\\n <!-- *hasPermission=\\\"permission\\\" -->\\n<ng-container >\\n <ng-container *ngIf=\\\"model?.length; else simpleBtn\\\">\\n <!-- \\u062D\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0640 splitButton -->\\n <p-splitButton\\n [model]=\\\"model\\\"\\n [icon]=\\\"icon\\\"\\n [label]=\\\"label\\\"\\n [styleClass]=\\\"twClasses\\\"\\n [disabled]=\\\"disabled || loading\\\" (onClick)=\\\"onClick()\\\"\\n (onClick)=\\\"onClick()\\\"\\n (onItemClick)=\\\"onItemClick($event)\\\"\\n ></p-splitButton>\\n </ng-container>\\n\\n <ng-template #simpleBtn>\\n <!-- \\u062D\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0632\\u0631\\u0651 \\u0627\\u0644\\u0639\\u0627\\u062F\\u064A -->\\n <button\\n [attr.type]=\\\"type\\\"\\n pButton\\n [icon]=\\\"loading ? 'pi pi-spin pi-spinner' : icon\\\"\\n [label]=\\\"label\\\"\\n [ngClass]=\\\"twClasses\\\"\\n [attr.aria-label]=\\\"ariaLabel || label\\\"\\n [disabled]=\\\"disabled || loading\\\" (onClick)=\\\"onClick()\\\"\\n (click)=\\\"onClick()\\\"\\n >\\n\\n <!-- \\u0645\\u062D\\u062A\\u0648\\u0649 \\u0645\\u062E\\u0635\\u0651\\u0635 -->\\n <ng-content *ngIf=\\\"!label && !icon && !loading\\\"></ng-content>\\n </button>\\n </ng-template>\\n </ng-container>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"directive\", type: i2.ButtonDirective, selector: \"[pButton]\", inputs: [\"iconPos\", \"loadingIcon\", \"loading\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"fluid\", \"label\", \"icon\", \"buttonProps\"] }, { kind: \"ngmodule\", type: SplitButtonModule }, { kind: \"component\", type: i3.SplitButton, selector: \"p-splitbutton, p-splitButton, p-split-button\", inputs: [\"model\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"icon\", \"iconPos\", \"label\", \"tooltip\", \"tooltipOptions\", \"styleClass\", \"menuStyle\", \"menuStyleClass\", \"dropdownIcon\", \"appendTo\", \"dir\", \"expandAriaLabel\", \"showTransitionOptions\", \"hideTransitionOptions\", \"buttonProps\", \"menuButtonProps\", \"autofocus\", \"disabled\", \"tabindex\", \"menuButtonDisabled\", \"buttonDisabled\"], outputs: [\"onClick\", \"onMenuHide\", \"onMenuShow\", \"onDropdownClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericButton, decorators: [{\n type: Component,\n args: [{ selector: 'lib-generic-button', standalone: true, imports: [CommonModule, ButtonModule, SplitButtonModule, /* HasPermissionDirective */], changeDetection: ChangeDetectionStrategy.OnPush, template: \"\\n<!-- generic-button.component.html -->\\n <!-- *hasPermission=\\\"permission\\\" -->\\n<ng-container >\\n <ng-container *ngIf=\\\"model?.length; else simpleBtn\\\">\\n <!-- \\u062D\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0640 splitButton -->\\n <p-splitButton\\n [model]=\\\"model\\\"\\n [icon]=\\\"icon\\\"\\n [label]=\\\"label\\\"\\n [styleClass]=\\\"twClasses\\\"\\n [disabled]=\\\"disabled || loading\\\" (onClick)=\\\"onClick()\\\"\\n (onClick)=\\\"onClick()\\\"\\n (onItemClick)=\\\"onItemClick($event)\\\"\\n ></p-splitButton>\\n </ng-container>\\n\\n <ng-template #simpleBtn>\\n <!-- \\u062D\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0632\\u0631\\u0651 \\u0627\\u0644\\u0639\\u0627\\u062F\\u064A -->\\n <button\\n [attr.type]=\\\"type\\\"\\n pButton\\n [icon]=\\\"loading ? 'pi pi-spin pi-spinner' : icon\\\"\\n [label]=\\\"label\\\"\\n [ngClass]=\\\"twClasses\\\"\\n [attr.aria-label]=\\\"ariaLabel || label\\\"\\n [disabled]=\\\"disabled || loading\\\" (onClick)=\\\"onClick()\\\"\\n (click)=\\\"onClick()\\\"\\n >\\n\\n <!-- \\u0645\\u062D\\u062A\\u0648\\u0649 \\u0645\\u062E\\u0635\\u0651\\u0635 -->\\n <ng-content *ngIf=\\\"!label && !icon && !loading\\\"></ng-content>\\n </button>\\n </ng-template>\\n </ng-container>\\n\" }]\n }], propDecorators: { model: [{\n type: Input\n }], type: [{\n type: Input\n }], icon: [{\n type: Input\n }], label: [{\n type: Input\n }], variant: [{\n type: Input\n }], severity: [{\n type: Input\n }], size: [{\n type: Input\n }], iconPosition: [{\n type: Input\n }], disabled: [{\n type: Input\n }], loading: [{\n type: Input\n }], ariaLabel: [{\n type: Input\n }], extraClasses: [{\n type: Input\n }], permission: [{\n type: Input\n }], clicked: [{\n type: Output\n }], itemClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1idXR0b24vc3JjL2xpYi9nZW5lcmljLWJ1dHRvbi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9nZW5lcmljLWJ1dHRvbi9zcmMvbGliL2dlbmVyaWMtYnV0dG9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQWV4RCxNQUFNLE9BQU8sYUFBYTtJQUV4Qix5REFBeUQ7SUFFekQsNkNBQTZDO0lBQ3BDLEtBQUssQ0FBYztJQUVuQixJQUFJLEdBQWtDLFFBQVEsQ0FBQztJQUMvQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ1YsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLE9BQU8sR0FBa0IsUUFBUSxDQUFDO0lBQ2xDLFFBQVEsR0FBbUIsU0FBUyxDQUFDO0lBQ3JDLElBQUksR0FBZSxRQUFRLENBQUM7SUFDNUIsWUFBWSxHQUFpQixNQUFNLENBQUM7SUFDcEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFNBQVMsQ0FBVTtJQUNuQixZQUFZLEdBQUcsRUFBRSxDQUFDLENBQUUscUJBQXFCO0lBQ3pDLFVBQVUsQ0FBVTtJQUNuQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNuQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8s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c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgU3BsaXRCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NwbGl0YnV0dG9uJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG50eXBlIEJ1dHRvblZhcmlhbnQgPSAndGV4dCcgfCAnb3V0bGluZWQnIHwgJ3JhaXNlZCcgfCAncm91bmRlZCc7XG50eXBlIEJ1dHRvblNldmVyaXR5ID0gJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyA7XG50eXBlIEJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ25vcm1hbCcgfCAnbGFyZ2UnO1xudHlwZSBJY29uUG9zaXRpb24gPSAnbGVmdCcgfCAncmlnaHQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ2VuZXJpYy1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgLCBCdXR0b25Nb2R1bGUsIFNwbGl0QnV0dG9uTW9kdWxlLC8qIEhhc1Blcm1pc3Npb25EaXJlY3RpdmUgKi9dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtYnV0dG9uLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljQnV0dG9uIHtcblxuICAvLyAgcGVybWlzc2lvbkNoZWNrZXIgPSBpbmplY3QoUGVybWlzc2lvbkNoZWNrZXJTZXJ2aWNlKTtcblxuICAvLyDZhNmIINmI2Y/YrNiv2Kog2YfYsNmHINin2YTZhdi12YHZiNmB2KnYjCDZhtmP2LPYqtiu2K/ZhSBzcGxpdEJ1dHRvblxuICBASW5wdXQoKSBtb2RlbD86IE1lbnVJdGVtW107XG5cbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcbiAgQElucHV0KCkgaWNvbiA9ICcnO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSB2YXJpYW50OiBCdXR0b25WYXJpYW50ID0gJ3JhaXNlZCc7XG4gIEBJbnB1dCgpIHNldmVyaXR5OiBCdXR0b25TZXZlcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdub3JtYWwnO1xuICBASW5wdXQoKSBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbiA9ICdsZWZ0JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4dHJhQ2xhc3NlcyA9ICcnOyAgLy8g2YTYo9mKIFRhaWx3aW5kINil2LbYp9mB2YpcbiAgQElucHV0KCkgcGVybWlzc2lvbj86IHN0cmluZztcbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuXG4gIC8vINiu2LHZiti32Kkg2KPYrdis2KfZhVxuICBwcml2YXRlIHNpemVNYXA6IFJlY29yZDxCdXR0b25TaXplLHN0cmluZz4gPSB7XG4gICAgc21hbGw6ICdweC0yIHB5LTEgdGV4dC1zbScsXG4gICAgbm9ybWFsOiAncHgtNCBweS0yIHRleHQtYmFzZScsXG4gICAgbGFyZ2U6ICdweC02IHB5LTMgdGV4dC1sZycsXG4gIH07XG5cbiAgLy8g2K7YsdmK2LfYqSDYo9mE2YjYp9mGINmE2YTZgCByYWlzZWQg2Yggcm91bmRlZFxuICBwcml2YXRlIGNvbG9yTWFwOiBSZWNvcmQ8QnV0dG9uU2V2ZXJpdHksc3RyaW5nPiA9IHtcbiAgICBwcmltYXJ5OiAgICdiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCBmb2N1czpyaW5nLWJsdWUtNTAwIHRleHQtd2hpdGUnLFxuICAgIHNlY29uZGFyeTogJ2JnLWdyYXktNjAwIGhvdmVyOmJnLWdyYXktNzAwIGZvY3VzOnJpbmctZ3JheS01MDAgdGV4dC13aGl0ZScsXG4gICAgc3VjY2VzczogICAnYmctZ3JlZW4tNjAwIGhvdmVyOmJnLWdyZWVuLTcwMCBmb2N1czpyaW5nLWdyZWVuLTUwMCB0ZXh0LXdoaXRlJyxcbiAgICBpbmZvOiAgICAgICdiZy10ZWFsLTYwMCBob3ZlcjpiZy10ZWFsLTcwMCBmb2N1czpyaW5nLXRlYWwtNTAwIHRleHQtd2hpdGUnLFxuICAgIHdhcm5pbmc6ICAgJ2JnLXllbGxvdy01MDAgaG92ZXI6YmcteWVsbG93LTYwMCBmb2N1czpyaW5nLXllbGxvdy00MDAgdGV4dC13aGl0ZScsXG4gICAgZGFuZ2VyOiAgICAnYmctcmVkLTYwMCBob3ZlcjpiZy1yZWQtNzAwIGZvY3VzOnJpbmctcmVkLTUwMCB0ZXh0LXdoaXRlJyxcbiAgfTtcblxuICAvLyDYrtix2YrYt9ipINit2K/ZiNiv2Ycg2YTZhNmAIG91dGxpbmVkXG4gIHByaXZhdGUgb3V0bGluZWRNYXA6IFJlY29yZDxCdXR0b25TZXZlcml0eSxzdHJpbmc+ID0ge1xuICAgIHByaW1hcnk6ICAgJ2JvcmRlciBib3JkZXItYmx1ZS02MDAgdGV4dC1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTUwIGZvY3VzOnJpbmctYmx1ZS01MDAnLFxuICAgIHNlY29uZGFyeTogJ2JvcmRlciBib3JkZXItZ3JheS02MDAgdGV4dC1ncmF5LTYwMCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzOnJpbmctZ3JheS01MDAnLFxuICAgIHN1Y2Nlc3M6ICAgJ2JvcmRlciBib3JkZXItZ3JlZW4tNjAwIHRleHQtZ3JlZW4tNjAwIGhvdmVyOmJnLWdyZWVuLTUwIGZvY3VzOnJpbmctZ3JlZW4tNTAwJyxcbiAgICBpbmZvOiAgICAgICdib3JkZXIgYm9yZGVyLXRlYWwtNjAwIHRleHQtdGVhbC02MDAgaG92ZXI6YmctdGVhbC01MCBmb2N1czpyaW5nLXRlYWwtNTAwJyxcbiAgICB3YXJuaW5nOiAgICdib3JkZXIgYm9yZGVyLXllbGxvdy01MDAgdGV4dC15ZWxsb3ctNTAwIGhvdmVyOmJnLXllbGxvdy01MCBmb2N1czpyaW5nLXllbGxvdy00MDAnLFxuICAgIGRhbmdlcjogICAgJ2JvcmRlciBib3JkZXItcmVkLTYwMCB0ZXh0LXJlZC02MDAgaG92ZXI6YmctcmVkLTUwIGZvY3VzOnJpbmctcmVkLTUwMCcsXG4gIH07XG5cbiAgZ2V0IHR3Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2UgPSBbXG4gICAgICAnaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtbWVkaXVtJyxcbiAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctb2Zmc2V0LTIgdHJhbnNpdGlvbicsXG4gICAgICB0aGlzLnNpemVNYXBbdGhpcy5zaXplXVxuICAgIF07XG4gICAgLy8gdmFyaWFudC1zcGVjaWZpY1xuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvdXRsaW5lZCcpIHtcbiAgICAgIGJhc2UucHVzaCh0aGlzLm91dGxpbmVkTWFwW3RoaXMuc2V2ZXJpdHldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZS5wdXNoKHRoaXMuY29sb3JNYXBbdGhpcy5zZXZlcml0eV0pO1xuICAgIH1cbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAndGV4dCcpIHtcbiAgICAgIGJhc2UucHVzaCgnYmctdHJhbnNwYXJlbnQgaG92ZXI6YmctZ3JheS0xMDAgZm9jdXM6cmluZy1ncmF5LTIwMCB0ZXh0LWdyYXktNzAwJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdyb3VuZGVkJykge1xuICAgICAgYmFzZS5wdXNoKCdyb3VuZGVkLWZ1bGwnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZS5wdXNoKCdyb3VuZGVkLW1kJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgYmFzZS5wdXNoKCdvcGFjaXR5LTUwIGN1cnNvci1ub3QtYWxsb3dlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5leHRyYUNsYXNzZXMpIHtcbiAgICAgIGJhc2UucHVzaCh0aGlzLmV4dHJhQ2xhc3Nlcyk7XG4gICAgfVxuICAgIHJldHVybiBiYXNlLmpvaW4oJyAnKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiBvbkl0ZW1DbGljayhldnQ6IGFueSkge1xuICAgdGhpcy5pdGVtQ2xpY2suZW1pdChldnQpO1xuIH1cblxuICAvLyDYr9in2YTYqSDZhdiz2KfYudiv2Kkg2YTYr9mF2Kwg2K3Yp9mE2Kkg2KfZhNiq2LnYt9mK2YQg2YXYuSDYrdin2YTYqSDYp9mE2LXZhNin2K3ZitipXG4gIC8vIGdldCBpc0Rpc2FibGVkT3JMb2FkaW5nT3JOb1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gIC8vICAgLy8g2KXYsNinINmD2KfZhiDYp9mE2LLYsSDZhdi52LfZhNin2Ysg2KjYtNmD2YQg2LXYsdmK2K0g2KPZiCDZgdmKINit2KfZhNipINiq2K3ZhdmK2YTYjCDZgdmH2Ygg2YXYudi32YRcbiAgLy8gICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgLy8gICAgIHJldHVybiB0cnVlO1xuICAvLyAgIH1cbiAgLy8gICAvLyDYpdiw2Kcg2KrZhSDYqtit2K/ZitivINi12YTYp9it2YrYqSDZhNmE2LLYsdiMINiq2K3ZgtmCINmF2YbZh9inXG4gIC8vICAgaWYgKHRoaXMucGVybWlzc2lvbikge1xuICAvLyAgICAgcmV0dXJuICF0aGlzLnBlcm1pc3Npb25DaGVja2VyLmlzR3JhbnRlZCh0aGlzLnBlcm1pc3Npb24pO1xuICAvLyAgIH1cbiAgLy8gICAvLyDYpdiw2Kcg2YTZhSDZitiq2YUg2KrYrdiv2YrYryDYtdmE2KfYrdmK2KnYjCDZgdin2YTYstixINmE2YrYsyDZhdi52LfZhNin2Ysg2KjYs9io2Kgg2KfZhNi12YTYp9it2YrYp9iqXG4gIC8vICAgcmV0dXJuIGZhbHNlO1xuICAvLyB9XG5cbn1cbiIsIlxuPCEtLSBnZW5lcmljLWJ1dHRvbi5jb21wb25lbnQuaHRtbCAtLT5cbiA8IS0tICpoYXNQZXJtaXNzaW9uPVwicGVybWlzc2lvblwiIC0tPlxuPG5nLWNvbnRhaW5lciA+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbD8ubGVuZ3RoOyBlbHNlIHNpbXBsZUJ0blwiPlxuICAgIDwhLS0g2K3Yp9mE2Kkg2KfZhNmAIHNwbGl0QnV0dG9uIC0tPlxuICAgIDxwLXNwbGl0QnV0dG9uXG4gICAgICBbbW9kZWxdPVwibW9kZWxcIlxuICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgW3N0eWxlQ2xhc3NdPVwidHdDbGFzc2VzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCIgKG9uQ2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAob25JdGVtQ2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgPjwvcC1zcGxpdEJ1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVCdG4+XG4gICAgPCEtLSDYrdin2YTYqSDYp9mE2LLYsdmRINin2YTYudin2K/ZiiAtLT5cbiAgICA8YnV0dG9uXG4gICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgcEJ1dHRvblxuICAgICAgW2ljb25dPVwibG9hZGluZyA/ICdwaSBwaS1zcGluIHBpLXNwaW5uZXInIDogaWNvblwiXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwidHdDbGFzc2VzXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IGxhYmVsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCIgKG9uQ2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgID5cblxuICAgICAgPCEtLSDZhdit2KrZiNmJINmF2K7YtdmR2LUgLS0+XG4gICAgICA8bmctY29udGVudCAqbmdJZj1cIiFsYWJlbCAmJiAhaWNvbiAmJiAhbG9hZGluZ1wiPjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZ2VuZXJpYy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1idXR0b24vc3JjL2VsaXRlLmZyYW1ld29yay1uZy51aS5jb3JlLWdlbmVyaWMtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|