@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,179 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, ViewChild, Component } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { FieldType } from '@ngx-formly/core';
|
|
6
|
+
import * as i3 from 'primeng/button';
|
|
7
|
+
import { ButtonModule } from 'primeng/button';
|
|
8
|
+
import * as i5 from 'primeng/popover';
|
|
9
|
+
import { PopoverModule } from 'primeng/popover';
|
|
10
|
+
import * as i1 from '@ngx-translate/core';
|
|
11
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
12
|
+
import * as i4 from 'primeng/api';
|
|
13
|
+
|
|
14
|
+
class FormlyButtonSelectorModule {
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonSelectorModule, imports: [CommonModule] });
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonSelectorModule, imports: [CommonModule] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonSelectorModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [CommonModule],
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
|
|
26
|
+
// formly-selection-button.component.ts
|
|
27
|
+
class FormlySelectionButtonComponent extends FieldType {
|
|
28
|
+
translate;
|
|
29
|
+
popover;
|
|
30
|
+
constructor(translate) {
|
|
31
|
+
super();
|
|
32
|
+
this.translate = translate;
|
|
33
|
+
}
|
|
34
|
+
getButtonLabel() {
|
|
35
|
+
const value = this.formControl.value;
|
|
36
|
+
const options = this.props.options ?? [];
|
|
37
|
+
const selected = options.find(opt => opt[this.props.optionValue] === value);
|
|
38
|
+
if (selected) {
|
|
39
|
+
const labelKey = selected[this.props.optionLabel] ?? '';
|
|
40
|
+
return labelKey ? this.translate.instant(labelKey) : String(selected[this.props.optionLabel] ?? '');
|
|
41
|
+
}
|
|
42
|
+
// fallback to provided buttonLabel (could be a translation key)
|
|
43
|
+
if (this.props.buttonLabel) {
|
|
44
|
+
return this.translate.instant(this.props.buttonLabel);
|
|
45
|
+
}
|
|
46
|
+
return '';
|
|
47
|
+
}
|
|
48
|
+
getButtonIcon() {
|
|
49
|
+
const value = this.formControl.value;
|
|
50
|
+
const options = this.props.options ?? [];
|
|
51
|
+
const selected = options.find(opt => opt[this.props.optionValue] === value);
|
|
52
|
+
if (selected && selected.icon) {
|
|
53
|
+
return selected.icon;
|
|
54
|
+
}
|
|
55
|
+
return this.props.buttonIcon;
|
|
56
|
+
}
|
|
57
|
+
onSelect(value) {
|
|
58
|
+
// حدّد القيمة في الفورم
|
|
59
|
+
this.formControl.setValue(value);
|
|
60
|
+
// اغلاق البوبوفر
|
|
61
|
+
try {
|
|
62
|
+
this.popover?.hide();
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
// تجاهل لو ما اشتغل hide لسبب ما
|
|
66
|
+
}
|
|
67
|
+
// نفّذ callback إن وُجد
|
|
68
|
+
if (this.props.onSelect) {
|
|
69
|
+
this.props.onSelect(value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
ngOnInit() {
|
|
73
|
+
const options = this.props.options ?? [];
|
|
74
|
+
const defaultValue = (this.formControl.value != null) ? this.formControl.value : options[0]?.[this.props.optionValue];
|
|
75
|
+
if (defaultValue != null) {
|
|
76
|
+
this.formControl.setValue(defaultValue);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlySelectionButtonComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: FormlySelectionButtonComponent, isStandalone: true, selector: "formly-selection-button", viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
81
|
+
<p-button
|
|
82
|
+
type="button"
|
|
83
|
+
[label]="getButtonLabel()"
|
|
84
|
+
[icon]="getButtonIcon()"
|
|
85
|
+
(click)="popover.toggle($event)"
|
|
86
|
+
styleClass="p-button-secondary p-button-outlined p-button-sm"
|
|
87
|
+
></p-button>
|
|
88
|
+
|
|
89
|
+
<p-popover #popover [style]="{'min-width': '250px'}">
|
|
90
|
+
<ng-template pTemplate="content">
|
|
91
|
+
<div class="flex flex-col p-2">
|
|
92
|
+
<div *ngIf="props.popoverHeader" class="text-xs text-gray-500 mb-2">
|
|
93
|
+
{{ props.popoverHeader | translate }}
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div
|
|
97
|
+
*ngFor="let option of props.options || []"
|
|
98
|
+
class="flex items-center p-2 hover:bg-gray-100 cursor-pointer rounded"
|
|
99
|
+
(click)="onSelect(option[props.optionValue])"
|
|
100
|
+
>
|
|
101
|
+
<i *ngIf="option.icon" [class]="option.icon" class="mr-2 text-lg"></i>
|
|
102
|
+
|
|
103
|
+
<div class="flex flex-col">
|
|
104
|
+
<span class="font-medium">{{ (option[props.optionLabel] || '') | translate }}</span>
|
|
105
|
+
<span class="text-xs text-gray-500" *ngIf="option.description">{{ option.description | translate }}</span>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<i *ngIf="formControl.value === option[props.optionValue]" class="pi pi-check ml-auto text-blue-500 text-lg"></i>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div *ngIf="!(props.options?.length)" class="p-3 text-gray-500">
|
|
112
|
+
{{ 'COMMON.NO_DATA' | translate }}
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</ng-template>
|
|
116
|
+
</p-popover>
|
|
117
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i5.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlySelectionButtonComponent, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{
|
|
122
|
+
selector: 'formly-selection-button',
|
|
123
|
+
standalone: true,
|
|
124
|
+
imports: [
|
|
125
|
+
CommonModule,
|
|
126
|
+
ButtonModule,
|
|
127
|
+
PopoverModule,
|
|
128
|
+
TranslateModule
|
|
129
|
+
],
|
|
130
|
+
template: `
|
|
131
|
+
<p-button
|
|
132
|
+
type="button"
|
|
133
|
+
[label]="getButtonLabel()"
|
|
134
|
+
[icon]="getButtonIcon()"
|
|
135
|
+
(click)="popover.toggle($event)"
|
|
136
|
+
styleClass="p-button-secondary p-button-outlined p-button-sm"
|
|
137
|
+
></p-button>
|
|
138
|
+
|
|
139
|
+
<p-popover #popover [style]="{'min-width': '250px'}">
|
|
140
|
+
<ng-template pTemplate="content">
|
|
141
|
+
<div class="flex flex-col p-2">
|
|
142
|
+
<div *ngIf="props.popoverHeader" class="text-xs text-gray-500 mb-2">
|
|
143
|
+
{{ props.popoverHeader | translate }}
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div
|
|
147
|
+
*ngFor="let option of props.options || []"
|
|
148
|
+
class="flex items-center p-2 hover:bg-gray-100 cursor-pointer rounded"
|
|
149
|
+
(click)="onSelect(option[props.optionValue])"
|
|
150
|
+
>
|
|
151
|
+
<i *ngIf="option.icon" [class]="option.icon" class="mr-2 text-lg"></i>
|
|
152
|
+
|
|
153
|
+
<div class="flex flex-col">
|
|
154
|
+
<span class="font-medium">{{ (option[props.optionLabel] || '') | translate }}</span>
|
|
155
|
+
<span class="text-xs text-gray-500" *ngIf="option.description">{{ option.description | translate }}</span>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<i *ngIf="formControl.value === option[props.optionValue]" class="pi pi-check ml-auto text-blue-500 text-lg"></i>
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<div *ngIf="!(props.options?.length)" class="p-3 text-gray-500">
|
|
162
|
+
{{ 'COMMON.NO_DATA' | translate }}
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</ng-template>
|
|
166
|
+
</p-popover>
|
|
167
|
+
`,
|
|
168
|
+
}]
|
|
169
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { popover: [{
|
|
170
|
+
type: ViewChild,
|
|
171
|
+
args: ['popover']
|
|
172
|
+
}] } });
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Generated bundle index. Do not edit.
|
|
176
|
+
*/
|
|
177
|
+
|
|
178
|
+
export { FormlyButtonSelectorModule, FormlySelectionButtonComponent };
|
|
179
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-formly-button-selector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-formly-button-selector.mjs","sources":["../tmp-esm2022/formly-button-selector/lib/formly-button-selector-module.js","../tmp-esm2022/formly-button-selector/lib/formly-button-selector.js","../tmp-esm2022/formly-button-selector/elite.framework-ng.ui.core-formly-button-selector.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyButtonSelectorModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonSelectorModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonSelectorModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonSelectorModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWJ1dHRvbi1zZWxlY3Rvci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LWJ1dHRvbi1zZWxlY3Rvci9zcmMvbGliL2Zvcm1seS1idXR0b24tc2VsZWN0b3ItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sMEJBQTBCO3VHQUExQiwwQkFBMEI7d0dBQTFCLDBCQUEwQixZQUYzQixZQUFZO3dHQUVYLDBCQUEwQixZQUYzQixZQUFZOzsyRkFFWCwwQkFBMEI7a0JBSHRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5QnV0dG9uU2VsZWN0b3JNb2R1bGUge31cbiJdfQ==","// formly-selection-button.component.ts\nimport { Component, ViewChild } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { PopoverModule } from 'primeng/popover';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { Popover } from 'primeng/popover';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-translate/core\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"primeng/button\";\nimport * as i4 from \"primeng/api\";\nimport * as i5 from \"primeng/popover\";\nexport class FormlySelectionButtonComponent extends FieldType {\n translate;\n popover;\n constructor(translate) {\n super();\n this.translate = translate;\n }\n getButtonLabel() {\n const value = this.formControl.value;\n const options = this.props.options ?? [];\n const selected = options.find(opt => opt[this.props.optionValue] === value);\n if (selected) {\n const labelKey = selected[this.props.optionLabel] ?? '';\n return labelKey ? this.translate.instant(labelKey) : String(selected[this.props.optionLabel] ?? '');\n }\n // fallback to provided buttonLabel (could be a translation key)\n if (this.props.buttonLabel) {\n return this.translate.instant(this.props.buttonLabel);\n }\n return '';\n }\n getButtonIcon() {\n const value = this.formControl.value;\n const options = this.props.options ?? [];\n const selected = options.find(opt => opt[this.props.optionValue] === value);\n if (selected && selected.icon) {\n return selected.icon;\n }\n return this.props.buttonIcon;\n }\n onSelect(value) {\n // حدّد القيمة في الفورم\n this.formControl.setValue(value);\n // اغلاق البوبوفر\n try {\n this.popover?.hide();\n }\n catch (e) {\n // تجاهل لو ما اشتغل hide لسبب ما\n }\n // نفّذ callback إن وُجد\n if (this.props.onSelect) {\n this.props.onSelect(value);\n }\n }\n ngOnInit() {\n const options = this.props.options ?? [];\n const defaultValue = (this.formControl.value != null) ? this.formControl.value : options[0]?.[this.props.optionValue];\n if (defaultValue != null) {\n this.formControl.setValue(defaultValue);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlySelectionButtonComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: FormlySelectionButtonComponent, isStandalone: true, selector: \"formly-selection-button\", viewQueries: [{ propertyName: \"popover\", first: true, predicate: [\"popover\"], descendants: true }], usesInheritance: true, ngImport: i0, template: `\n <p-button\n type=\"button\"\n [label]=\"getButtonLabel()\"\n [icon]=\"getButtonIcon()\"\n (click)=\"popover.toggle($event)\"\n styleClass=\"p-button-secondary p-button-outlined p-button-sm\"\n ></p-button>\n\n <p-popover #popover [style]=\"{'min-width': '250px'}\">\n <ng-template pTemplate=\"content\">\n <div class=\"flex flex-col p-2\">\n <div *ngIf=\"props.popoverHeader\" class=\"text-xs text-gray-500 mb-2\">\n {{ props.popoverHeader | translate }}\n </div>\n\n <div\n *ngFor=\"let option of props.options || []\"\n class=\"flex items-center p-2 hover:bg-gray-100 cursor-pointer rounded\"\n (click)=\"onSelect(option[props.optionValue])\"\n >\n <i *ngIf=\"option.icon\" [class]=\"option.icon\" class=\"mr-2 text-lg\"></i>\n\n <div class=\"flex flex-col\">\n <span class=\"font-medium\">{{ (option[props.optionLabel] || '') | translate }}</span>\n <span class=\"text-xs text-gray-500\" *ngIf=\"option.description\">{{ option.description | translate }}</span>\n </div>\n\n <i *ngIf=\"formControl.value === option[props.optionValue]\" class=\"pi pi-check ml-auto text-blue-500 text-lg\"></i>\n </div>\n\n <div *ngIf=\"!(props.options?.length)\" class=\"p-3 text-gray-500\">\n {{ 'COMMON.NO_DATA' | translate }}\n </div>\n </div>\n </ng-template>\n </p-popover>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"component\", type: i3.Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"directive\", type: i4.PrimeTemplate, selector: \"[pTemplate]\", inputs: [\"type\", \"pTemplate\"] }, { kind: \"ngmodule\", type: PopoverModule }, { kind: \"component\", type: i5.Popover, selector: \"p-popover\", inputs: [\"ariaLabel\", \"ariaLabelledBy\", \"dismissable\", \"style\", \"styleClass\", \"appendTo\", \"autoZIndex\", \"ariaCloseLabel\", \"baseZIndex\", \"focusOnShow\", \"showTransitionOptions\", \"hideTransitionOptions\"], outputs: [\"onShow\", \"onHide\"] }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"pipe\", type: i1.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlySelectionButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'formly-selection-button',\n standalone: true,\n imports: [\n CommonModule,\n ButtonModule,\n PopoverModule,\n TranslateModule\n ],\n template: `\n <p-button\n type=\"button\"\n [label]=\"getButtonLabel()\"\n [icon]=\"getButtonIcon()\"\n (click)=\"popover.toggle($event)\"\n styleClass=\"p-button-secondary p-button-outlined p-button-sm\"\n ></p-button>\n\n <p-popover #popover [style]=\"{'min-width': '250px'}\">\n <ng-template pTemplate=\"content\">\n <div class=\"flex flex-col p-2\">\n <div *ngIf=\"props.popoverHeader\" class=\"text-xs text-gray-500 mb-2\">\n {{ props.popoverHeader | translate }}\n </div>\n\n <div\n *ngFor=\"let option of props.options || []\"\n class=\"flex items-center p-2 hover:bg-gray-100 cursor-pointer rounded\"\n (click)=\"onSelect(option[props.optionValue])\"\n >\n <i *ngIf=\"option.icon\" [class]=\"option.icon\" class=\"mr-2 text-lg\"></i>\n\n <div class=\"flex flex-col\">\n <span class=\"font-medium\">{{ (option[props.optionLabel] || '') | translate }}</span>\n <span class=\"text-xs text-gray-500\" *ngIf=\"option.description\">{{ option.description | translate }}</span>\n </div>\n\n <i *ngIf=\"formControl.value === option[props.optionValue]\" class=\"pi pi-check ml-auto text-blue-500 text-lg\"></i>\n </div>\n\n <div *ngIf=\"!(props.options?.length)\" class=\"p-3 text-gray-500\">\n {{ 'COMMON.NO_DATA' | translate }}\n </div>\n </div>\n </ng-template>\n </p-popover>\n `,\n }]\n }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { popover: [{\n type: ViewChild,\n args: ['popover']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWJ1dHRvbi1zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uLXNlbGVjdG9yL3NyYy9saWIvZm9ybWx5LWJ1dHRvbi1zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBNEQxQyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsU0FBZ0Q7SUFHOUU7SUFGRSxPQUFPLENBQVc7SUFFeEMsWUFBb0IsU0FBMkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUUvQyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFD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cUJBQ2hCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDVDtpQkFDRjtxRkFFdUIsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZm9ybWx5LXNlbGVjdGlvbi1idXR0b24uY29tcG9uZW50LnRzXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xuXG5pbnRlcmZhY2UgU2VsZWN0aW9uQnV0dG9uUHJvcHMge1xuICBvcHRpb25zPzogYW55W107IC8vINmF2LXZgdmI2YHYqSDYp9mE2K7Zitin2LHYp9iqICjZgtivINiq2YPZiNmGIHVuZGVmaW5lZClcbiAgb3B0aW9uTGFiZWw6IHN0cmluZzsgLy8g2K3ZgtmEINin2YTZhti1INmB2Yog2YPZhCDYrtmK2KfYsVxuICBvcHRpb25WYWx1ZTogc3RyaW5nOyAvLyDYrdmC2YQg2KfZhNmC2YrZhdipINmB2Yog2YPZhCDYrtmK2KfYsVxuICBwb3BvdmVySGVhZGVyPzogc3RyaW5nO1xuICBidXR0b25MYWJlbD86IHN0cmluZztcbiAgYnV0dG9uSWNvbj86IHN0cmluZztcbiAgb25TZWxlY3Q/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LXNlbGVjdGlvbi1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxwLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbbGFiZWxdPVwiZ2V0QnV0dG9uTGFiZWwoKVwiXG4gICAgICBbaWNvbl09XCJnZXRCdXR0b25JY29uKClcIlxuICAgICAgKGNsaWNrKT1cInBvcG92ZXIudG9nZ2xlKCRldmVudClcIlxuICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXNlY29uZGFyeSBwLWJ1dHRvbi1vdXRsaW5lZCBwLWJ1dHRvbi1zbVwiXG4gICAgPjwvcC1idXR0b24+XG5cbiAgICA8cC1wb3BvdmVyICNwb3BvdmVyIFtzdHlsZV09XCJ7J21pbi13aWR0aCc6ICcyNTBweCd9XCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBwLTJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcHMucG9wb3ZlckhlYWRlclwiIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIG1iLTJcIj5cbiAgICAgICAgICAgIHt7IHByb3BzLnBvcG92ZXJIZWFkZXIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcHMub3B0aW9ucyB8fCBbXVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtMiBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciByb3VuZGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdChvcHRpb25bcHJvcHMub3B0aW9uVmFsdWVdKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJvcHRpb24uaWNvblwiIFtjbGFzc109XCJvcHRpb24uaWNvblwiIGNsYXNzPVwibXItMiB0ZXh0LWxnXCI+PC9pPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCI+e3sgKG9wdGlvbltwcm9wcy5vcHRpb25MYWJlbF0gfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgdGV4dC1ncmF5LTUwMFwiICpuZ0lmPVwib3B0aW9uLmRlc2NyaXB0aW9uXCI+e3sgb3B0aW9uLmRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiZm9ybUNvbnRyb2wudmFsdWUgPT09IG9wdGlvbltwcm9wcy5vcHRpb25WYWx1ZV1cIiBjbGFzcz1cInBpIHBpLWNoZWNrIG1sLWF1dG8gdGV4dC1ibHVlLTUwMCB0ZXh0LWxnXCI+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiEocHJvcHMub3B0aW9ucz8ubGVuZ3RoKVwiIGNsYXNzPVwicC0zIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgIHt7ICdDT01NT04uTk9fREFUQScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC1wb3BvdmVyPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlTZWxlY3Rpb25CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFNlbGVjdGlvbkJ1dHRvblByb3BzPj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdwb3BvdmVyJykgcG9wb3ZlciE6IFBvcG92ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0QnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvcHMub3B0aW9ucyA/PyBbXTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IG9wdGlvbnMuZmluZChvcHQgPT4gb3B0W3RoaXMucHJvcHMub3B0aW9uVmFsdWVdID09PSB2YWx1ZSk7XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IGxhYmVsS2V5ID0gc2VsZWN0ZWRbdGhpcy5wcm9wcy5vcHRpb25MYWJlbF0gPz8gJyc7XG4gICAgICByZXR1cm4gbGFiZWxLZXkgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGxhYmVsS2V5KSA6IFN0cmluZyhzZWxlY3RlZFt0aGlzLnByb3BzLm9wdGlvbkxhYmVsXSA/PyAnJyk7XG4gICAgfVxuXG4gICAgLy8gZmFsbGJhY2sgdG8gcHJvdmlkZWQgYnV0dG9uTGFiZWwgKGNvdWxkIGJlIGEgdHJhbnNsYXRpb24ga2V5KVxuICAgIGlmICh0aGlzLnByb3BzLmJ1dHRvbkxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLnByb3BzLmJ1dHRvbkxhYmVsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRCdXR0b25JY29uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByb3BzLm9wdGlvbnMgPz8gW107XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBvcHRpb25zLmZpbmQob3B0ID0+IG9wdFt0aGlzLnByb3BzLm9wdGlvblZhbHVlXSA9PT0gdmFsdWUpO1xuXG4gICAgaWYgKHNlbGVjdGVkICYmIHNlbGVjdGVkLmljb24pIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZC5pY29uO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb3BzLmJ1dHRvbkljb247XG4gIH1cblxuICBvblNlbGVjdCh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgLy8g2K3Yr9mR2K8g2KfZhNmC2YrZhdipINmB2Yog2KfZhNmB2YjYsdmFXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG5cbiAgICAvLyDYp9i62YTYp9mCINin2YTYqNmI2KjZiNmB2LFcbiAgICB0cnkge1xuICAgICAgdGhpcy5wb3BvdmVyPy5oaWRlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8g2KrYrNin2YfZhCDZhNmIINmF2Kcg2KfYtNiq2LrZhCBoaWRlINmE2LPYqNioINmF2KdcbiAgICB9XG5cbiAgICAvLyDZhtmB2ZHYsCBjYWxsYmFjayDYpdmGINmI2Y/YrNivXG4gICAgaWYgKHRoaXMucHJvcHMub25TZWxlY3QpIHtcbiAgICAgIHRoaXMucHJvcHMub25TZWxlY3QodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByb3BzLm9wdGlvbnMgPz8gW107XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT0gbnVsbCkgPyB0aGlzLmZvcm1Db250cm9sLnZhbHVlIDogb3B0aW9uc1swXT8uW3RoaXMucHJvcHMub3B0aW9uVmFsdWVdO1xuICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LWJ1dHRvbi1zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uLXNlbGVjdG9yL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktYnV0dG9uLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { FieldType } from '@ngx-formly/core';
|
|
6
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
+
import * as i1 from 'primeng/button';
|
|
8
|
+
import { ButtonModule } from 'primeng/button';
|
|
9
|
+
|
|
10
|
+
class FormlyButtonModule {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonModule, imports: [CommonModule] });
|
|
13
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonModule, imports: [CommonModule] });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [CommonModule],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
|
|
22
|
+
class FormlyButtonComponent extends FieldType {
|
|
23
|
+
get to() {
|
|
24
|
+
return this.field.props;
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: FormlyButtonComponent, isStandalone: true, selector: "formly-button", usesInheritance: true, ngImport: i0, template: `
|
|
28
|
+
<div class="flex items-cente flex-col text-gray-700 text-sm mb-4" style="flex-direction: row-reverse;">
|
|
29
|
+
<button
|
|
30
|
+
pButton
|
|
31
|
+
pRipple
|
|
32
|
+
type="button"
|
|
33
|
+
icon="pi pi-expand"
|
|
34
|
+
class="p-button-text p-button-sm"
|
|
35
|
+
(click)="to.onExpand && to.onExpand(field, model)"
|
|
36
|
+
></button>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyButtonComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'formly-button',
|
|
45
|
+
template: `
|
|
46
|
+
<div class="flex items-cente flex-col text-gray-700 text-sm mb-4" style="flex-direction: row-reverse;">
|
|
47
|
+
<button
|
|
48
|
+
pButton
|
|
49
|
+
pRipple
|
|
50
|
+
type="button"
|
|
51
|
+
icon="pi pi-expand"
|
|
52
|
+
class="p-button-text p-button-sm"
|
|
53
|
+
(click)="to.onExpand && to.onExpand(field, model)"
|
|
54
|
+
></button>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
`,
|
|
58
|
+
imports: [
|
|
59
|
+
CommonModule,
|
|
60
|
+
ButtonModule,
|
|
61
|
+
FormsModule,
|
|
62
|
+
ReactiveFormsModule,
|
|
63
|
+
TranslateModule
|
|
64
|
+
],
|
|
65
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
66
|
+
}]
|
|
67
|
+
}] });
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Generated bundle index. Do not edit.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
export { FormlyButtonComponent, FormlyButtonModule };
|
|
74
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-formly-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-formly-button.mjs","sources":["../tmp-esm2022/formly-button/lib/formly-button-module.js","../tmp-esm2022/formly-button/lib/formly-button.js","../tmp-esm2022/formly-button/elite.framework-ng.ui.core-formly-button.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyButtonModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWJ1dHRvbi1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LWJ1dHRvbi9zcmMvbGliL2Zvcm1seS1idXR0b24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7d0dBQWxCLGtCQUFrQixZQUZuQixZQUFZO3dHQUVYLGtCQUFrQixZQUZuQixZQUFZOzsyRkFFWCxrQkFBa0I7a0JBSDlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5QnV0dG9uTW9kdWxlIHt9XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from 'primeng/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"primeng/button\";\nexport class FormlyButtonComponent extends FieldType {\n get to() {\n return this.field.props;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: FormlyButtonComponent, isStandalone: true, selector: \"formly-button\", usesInheritance: true, ngImport: i0, template: `\n <div class=\"flex items-cente flex-col text-gray-700 text-sm mb-4\" style=\"flex-direction: row-reverse;\">\n<button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-expand\"\n class=\"p-button-text p-button-sm\"\n (click)=\"to.onExpand && to.onExpand(field, model)\"\n ></button>\n </div>\n\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"directive\", type: i1.ButtonDirective, selector: \"[pButton]\", inputs: [\"iconPos\", \"loadingIcon\", \"loading\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"fluid\", \"label\", \"icon\", \"buttonProps\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"ngmodule\", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyButtonComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'formly-button',\n template: `\n <div class=\"flex items-cente flex-col text-gray-700 text-sm mb-4\" style=\"flex-direction: row-reverse;\">\n<button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-expand\"\n class=\"p-button-text p-button-sm\"\n (click)=\"to.onExpand && to.onExpand(field, model)\"\n ></button>\n </div>\n\n `,\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uL3NyYy9saWIvZm9ybWx5LWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQStCOUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQVM7SUFFbEQsSUFBYSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQXdCLENBQUM7SUFDN0MsQ0FBQzt1R0FKWSxxQkFBcUI7MkZBQXJCLHFCQUFxQixnR0F0QnRCOzs7Ozs7Ozs7Ozs7R0FZVCwyREFFRCxZQUFZLDhCQUNaLFlBQVksb1FBQ1osV0FBVyw4QkFDWCxtQkFBbUIsOEJBQ25CLGVBQWU7OzJGQUlKLHFCQUFxQjtrQkF4QmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7b0JBQ0EsT0FBTyxFQUFFO3dCQUNWLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDZDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuXG5pbnRlcmZhY2UgVGVtcGxhdGVPcHRpb25zIHtcbiAgb25FeHBhbmQ/OiAoZmllbGQ6IGFueSwgbW9kZWw6IGFueSkgPT4gdm9pZDtcbiAgLy8gb3RoZXIgcHJvcHMuLi5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlIGZsZXgtY29sIHRleHQtZ3JheS03MDAgdGV4dC1zbSBtYi00XCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XCI+XG48YnV0dG9uXG4gICAgICAgIHBCdXR0b25cbiAgICAgICAgcFJpcHBsZVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbj1cInBpIHBpLWV4cGFuZFwiXG4gICAgICAgIGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1zbVwiXG4gICAgICAgIChjbGljayk9XCJ0by5vbkV4cGFuZCAmJiB0by5vbkV4cGFuZChmaWVsZCwgbW9kZWwpXCJcbiAgICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgYCxcbiAgIGltcG9ydHM6IFtcbiAgQ29tbW9uTW9kdWxlLFxuICBCdXR0b25Nb2R1bGUsXG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZSB7XG5cbiAgb3ZlcnJpZGUgZ2V0IHRvKCk6IFRlbXBsYXRlT3B0aW9ucyB7XG4gIHJldHVybiB0aGlzLmZpZWxkLnByb3BzIGFzIFRlbXBsYXRlT3B0aW9ucztcbn1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
class FormlyPresetsModule {
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyPresetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: FormlyPresetsModule, imports: [CommonModule] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyPresetsModule, imports: [CommonModule] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: FormlyPresetsModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [CommonModule],
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
|
|
17
|
+
const DEFAULT_CONTROL_CLASS = [
|
|
18
|
+
'w-full',
|
|
19
|
+
'border',
|
|
20
|
+
'border-gray-300',
|
|
21
|
+
'rounded',
|
|
22
|
+
'focus:outline-none',
|
|
23
|
+
'focus:ring-2',
|
|
24
|
+
'focus:ring-green-400',
|
|
25
|
+
].join(' ');
|
|
26
|
+
function numberField(key, label, required = false, className = 'col-span-1') {
|
|
27
|
+
return {
|
|
28
|
+
key,
|
|
29
|
+
type: 'input',
|
|
30
|
+
className,
|
|
31
|
+
wrappers: ['form-field'],
|
|
32
|
+
templateOptions: {
|
|
33
|
+
type: "number",
|
|
34
|
+
label,
|
|
35
|
+
required,
|
|
36
|
+
attributes: { class: DEFAULT_CONTROL_CLASS },
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function textField(key, label, required = false, className = 'col-span-1',
|
|
41
|
+
// ✅ تم تغيير هذا البراميتر ليقبل خصائص إضافية لـ templateOptions
|
|
42
|
+
extraTemplateOptions) {
|
|
43
|
+
return {
|
|
44
|
+
key,
|
|
45
|
+
type: 'advanced-input',
|
|
46
|
+
className,
|
|
47
|
+
wrappers: ['form-field'],
|
|
48
|
+
props: {
|
|
49
|
+
label,
|
|
50
|
+
required,
|
|
51
|
+
attributes: {
|
|
52
|
+
class: DEFAULT_CONTROL_CLASS,
|
|
53
|
+
},
|
|
54
|
+
// ✅ دمج الخصائص الإضافية هنا
|
|
55
|
+
...extraTemplateOptions,
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function textField2(key, label, required = false, className = 'col-span-1', expressions) {
|
|
60
|
+
return {
|
|
61
|
+
key,
|
|
62
|
+
type: 'input',
|
|
63
|
+
className,
|
|
64
|
+
wrappers: ['form-field'],
|
|
65
|
+
templateOptions: {
|
|
66
|
+
label,
|
|
67
|
+
required,
|
|
68
|
+
attributes: {
|
|
69
|
+
class: DEFAULT_CONTROL_CLASS,
|
|
70
|
+
},
|
|
71
|
+
// ✅ اضف disabled ليتضبب الحقل إذا كان readonly
|
|
72
|
+
},
|
|
73
|
+
expressions,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function textareaField(key, label, rows = 3, className = 'col-span-1') {
|
|
77
|
+
return {
|
|
78
|
+
key,
|
|
79
|
+
type: 'textarea',
|
|
80
|
+
className,
|
|
81
|
+
wrappers: ['form-field'],
|
|
82
|
+
templateOptions: {
|
|
83
|
+
label,
|
|
84
|
+
rows,
|
|
85
|
+
attributes: { class: DEFAULT_CONTROL_CLASS },
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function selectField({ key, label, options = [], className, defaultValue, fullWidth = false, required = false, }) {
|
|
90
|
+
const config = {
|
|
91
|
+
key,
|
|
92
|
+
type: 'select',
|
|
93
|
+
className: className ?? (fullWidth ? 'col-span-2' : 'col-span-1'),
|
|
94
|
+
wrappers: ['form-field'],
|
|
95
|
+
templateOptions: {
|
|
96
|
+
label,
|
|
97
|
+
options,
|
|
98
|
+
required,
|
|
99
|
+
placeholder: `اختر ${label}`,
|
|
100
|
+
showClear: true,
|
|
101
|
+
filter: true,
|
|
102
|
+
appendTo: 'body',
|
|
103
|
+
optionLabel: 'label',
|
|
104
|
+
optionValue: 'value',
|
|
105
|
+
attributes: { class: DEFAULT_CONTROL_CLASS },
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
if (options !== undefined) {
|
|
109
|
+
config.templateOptions.options = options;
|
|
110
|
+
}
|
|
111
|
+
if (defaultValue !== undefined) {
|
|
112
|
+
config.defaultValue = defaultValue;
|
|
113
|
+
}
|
|
114
|
+
return config;
|
|
115
|
+
}
|
|
116
|
+
// export function checkboxField(
|
|
117
|
+
// key: string,
|
|
118
|
+
// label: string,
|
|
119
|
+
// required = false,
|
|
120
|
+
// className = 'col-span-1',
|
|
121
|
+
// useNumberMapping = false
|
|
122
|
+
// ): FormlyFieldConfig {
|
|
123
|
+
// const field: FormlyFieldConfig = {
|
|
124
|
+
// key,
|
|
125
|
+
// type: 'checkbox',
|
|
126
|
+
// className,
|
|
127
|
+
// wrappers: ['form-field'],
|
|
128
|
+
// templateOptions: {
|
|
129
|
+
// label,
|
|
130
|
+
// required,
|
|
131
|
+
// attributes: {
|
|
132
|
+
// class: 'flex items-center gap-2',
|
|
133
|
+
// },
|
|
134
|
+
// },
|
|
135
|
+
// };
|
|
136
|
+
// if (useNumberMapping) {
|
|
137
|
+
// field.hooks = {
|
|
138
|
+
// onInit: (field) => {
|
|
139
|
+
// // ✅ تهيئة القيمة داخل الفورم كنترول
|
|
140
|
+
// const initialValue = field.model?.[key];
|
|
141
|
+
// if (initialValue === 1 || initialValue === 2) {
|
|
142
|
+
// field.formControl?.setValue(initialValue === 1, { emitEvent: false });
|
|
143
|
+
// }
|
|
144
|
+
// // ✅ تحويل عند تغيّر القيمة من الـ checkbox
|
|
145
|
+
// field.formControl?.valueChanges.subscribe(val => {
|
|
146
|
+
// const newValue = val ? 1 : 2;
|
|
147
|
+
// if (field.model) {
|
|
148
|
+
// field.model[key] = newValue;
|
|
149
|
+
// }
|
|
150
|
+
// });
|
|
151
|
+
// }
|
|
152
|
+
// };
|
|
153
|
+
// }
|
|
154
|
+
// return field;
|
|
155
|
+
// }
|
|
156
|
+
function checkboxField(key, label, required = false, className = 'col-span-1') {
|
|
157
|
+
return {
|
|
158
|
+
key,
|
|
159
|
+
type: 'checkbox',
|
|
160
|
+
className,
|
|
161
|
+
wrappers: ['form-field'],
|
|
162
|
+
templateOptions: {
|
|
163
|
+
label,
|
|
164
|
+
required,
|
|
165
|
+
attributes: {
|
|
166
|
+
class: 'flex items-center gap-2',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
hooks: {
|
|
170
|
+
onInit: (field) => {
|
|
171
|
+
const val = field.model?.[key];
|
|
172
|
+
if (val === 1) {
|
|
173
|
+
field.formControl?.setValue(true, { emitEvent: false });
|
|
174
|
+
}
|
|
175
|
+
else if (val === 2) {
|
|
176
|
+
field.formControl?.setValue(false, { emitEvent: false });
|
|
177
|
+
}
|
|
178
|
+
else if (val === undefined) {
|
|
179
|
+
field.model[key] = 2; // تعيين القيمة الافتراضية في الموديل
|
|
180
|
+
field.formControl?.setValue(false, { emitEvent: false });
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
field.formControl?.setValue(false, { emitEvent: false });
|
|
184
|
+
}
|
|
185
|
+
field.formControl?.valueChanges.subscribe(val => {
|
|
186
|
+
const newVal = val ? 1 : 2;
|
|
187
|
+
if (field.model && field.model[key] !== newVal) {
|
|
188
|
+
field.model[key] = newVal;
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Generated bundle index. Do not edit.
|
|
198
|
+
*/
|
|
199
|
+
|
|
200
|
+
export { DEFAULT_CONTROL_CLASS, FormlyPresetsModule, checkboxField, numberField, selectField, textField, textField2, textareaField };
|
|
201
|
+
//# sourceMappingURL=elite.framework-ng.ui.core-formly-presets.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.ui.core-formly-presets.mjs","sources":["../tmp-esm2022/formly-presets/lib/formly-presets-module.js","../tmp-esm2022/formly-presets/lib/formly-presets.js","../tmp-esm2022/formly-presets/elite.framework-ng.ui.core-formly-presets.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyPresetsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyPresetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyPresetsModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyPresetsModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyPresetsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXByZXNldHMtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2Zvcm1seS1wcmVzZXRzL3NyYy9saWIvZm9ybWx5LXByZXNldHMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixZQUZwQixZQUFZO3dHQUVYLG1CQUFtQixZQUZwQixZQUFZOzsyRkFFWCxtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5UHJlc2V0c01vZHVsZSB7fVxuIl19","export const DEFAULT_CONTROL_CLASS = [\n 'w-full',\n 'border',\n 'border-gray-300',\n 'rounded',\n 'focus:outline-none',\n 'focus:ring-2',\n 'focus:ring-green-400',\n].join(' ');\nexport function numberField(key, label, required = false, className = 'col-span-1') {\n return {\n key,\n type: 'input',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n type: \"number\",\n label,\n required,\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n}\nexport function textField(key, label, required = false, className = 'col-span-1', \n// ✅ تم تغيير هذا البراميتر ليقبل خصائص إضافية لـ templateOptions\nextraTemplateOptions) {\n return {\n key,\n type: 'advanced-input',\n className,\n wrappers: ['form-field'],\n props: {\n label,\n required,\n attributes: {\n class: DEFAULT_CONTROL_CLASS,\n },\n // ✅ دمج الخصائص الإضافية هنا\n ...extraTemplateOptions,\n },\n };\n}\nexport function textField2(key, label, required = false, className = 'col-span-1', expressions) {\n return {\n key,\n type: 'input',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n required,\n attributes: {\n class: DEFAULT_CONTROL_CLASS,\n },\n // ✅ اضف disabled ليتضبب الحقل إذا كان readonly\n },\n expressions,\n };\n}\nexport function textareaField(key, label, rows = 3, className = 'col-span-1') {\n return {\n key,\n type: 'textarea',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n rows,\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n}\nexport function selectField({ key, label, options = [], className, defaultValue, fullWidth = false, required = false, }) {\n const config = {\n key,\n type: 'select',\n className: className ?? (fullWidth ? 'col-span-2' : 'col-span-1'),\n wrappers: ['form-field'],\n templateOptions: {\n label,\n options,\n required,\n placeholder: `اختر ${label}`,\n showClear: true,\n filter: true,\n appendTo: 'body',\n optionLabel: 'label',\n optionValue: 'value',\n attributes: { class: DEFAULT_CONTROL_CLASS },\n },\n };\n if (options !== undefined) {\n config.templateOptions.options = options;\n }\n if (defaultValue !== undefined) {\n config.defaultValue = defaultValue;\n }\n return config;\n}\n// export function checkboxField(\n// key: string,\n// label: string,\n// required = false,\n// className = 'col-span-1',\n// useNumberMapping = false\n// ): FormlyFieldConfig {\n// const field: FormlyFieldConfig = {\n// key,\n// type: 'checkbox',\n// className,\n// wrappers: ['form-field'],\n// templateOptions: {\n// label,\n// required,\n// attributes: {\n// class: 'flex items-center gap-2',\n// },\n// },\n// };\n// if (useNumberMapping) {\n// field.hooks = {\n// onInit: (field) => {\n// // ✅ تهيئة القيمة داخل الفورم كنترول\n// const initialValue = field.model?.[key];\n// if (initialValue === 1 || initialValue === 2) {\n// field.formControl?.setValue(initialValue === 1, { emitEvent: false });\n// }\n// // ✅ تحويل عند تغيّر القيمة من الـ checkbox\n// field.formControl?.valueChanges.subscribe(val => {\n// const newValue = val ? 1 : 2;\n// if (field.model) {\n// field.model[key] = newValue;\n// }\n// });\n// }\n// };\n// }\n// return field;\n// }\nexport function checkboxField(key, label, required = false, className = 'col-span-1') {\n return {\n key,\n type: 'checkbox',\n className,\n wrappers: ['form-field'],\n templateOptions: {\n label,\n required,\n attributes: {\n class: 'flex items-center gap-2',\n },\n },\n hooks: {\n onInit: (field) => {\n const val = field.model?.[key];\n if (val === 1) {\n field.formControl?.setValue(true, { emitEvent: false });\n }\n else if (val === 2) {\n field.formControl?.setValue(false, { emitEvent: false });\n }\n else if (val === undefined) {\n field.model[key] = 2; // تعيين القيمة الافتراضية في الموديل\n field.formControl?.setValue(false, { emitEvent: false });\n }\n else {\n field.formControl?.setValue(false, { emitEvent: false });\n }\n field.formControl?.valueChanges.subscribe(val => {\n const newVal = val ? 1 : 2;\n if (field.model && field.model[key] !== newVal) {\n field.model[key] = newVal;\n }\n });\n }\n }\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXByZXNldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXByZXNldHMvc3JjL2xpYi9mb3JtbHktcHJlc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1Qsb0JBQW9CO0lBQ3BCLGNBQWM7SUFDZCxzQkFBc0I7Q0FDdkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFTWixNQUFNLFVBQVUsV0FBVyxDQUN6QixHQUFXLEVBQ1gsS0FBYSxFQUNiLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFNBQVMsR0FBRyxZQUFZO0lBRXhCLE9BQU87UUFDTCxHQUFHO1FBQ0gsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTO1FBQ1QsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3hCLGVBQWUsRUFBRTtZQUNmLElBQUksRUFBQyxRQUFRO1lBQ2IsS0FBSztZQUNMLFFBQVE7WUFDUixVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUU7U0FDN0M7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEdBQVcsRUFDWCxLQUFhLEVBQ2IsUUFBUSxHQUFHLEtBQUssRUFDaEIsU0FBUyxHQUFHLFlBQVk7QUFDeEIsaUVBQWlFO0FBQ2pFLG9CQUE2QztJQUU3QyxPQUFPO1FBQ1IsR0FBRztRQUNILElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsU0FBUztRQUNULFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN4QixLQUFLLEVBQUU7WUFDUCxLQUFLO1lBQ0wsUUFBUTtZQUNSLFVBQVUsRUFBRTtnQkFDWixLQUFLLEVBQUUscUJBQXFCO2FBQzNCO1lBQ0QsNkJBQTZCO1lBQzdCLEdBQUcsb0JB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LFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxDQUFDO2dCQUVELEtBQUssQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDOUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDM0IsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7d0JBQy9DLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO29CQUM1QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09OVFJPTF9DTEFTUyA9IFtcbiAgJ3ctZnVsbCcsXG4gICdib3JkZXInLFxuICAnYm9yZGVyLWdyYXktMzAwJyxcbiAgJ3JvdW5kZWQnLFxuICAnZm9jdXM6b3V0bGluZS1ub25lJyxcbiAgJ2ZvY3VzOnJpbmctMicsXG4gICdmb2N1czpyaW5nLWdyZWVuLTQwMCcsXG5dLmpvaW4oJyAnKTtcblxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG4gIGljb24/OiBzdHJpbmc7ICAgICAgICAgICAgIC8vIOKGkCBhbGxvdyBpY29uXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJGaWVsZChcbiAga2V5OiBzdHJpbmcsXG4gIGxhYmVsOiBzdHJpbmcsXG4gIHJlcXVpcmVkID0gZmFsc2UsXG4gIGNsYXNzTmFtZSA9ICdjb2wtc3Bhbi0xJyxcbik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAgdHlwZTogJ2lucHV0JyxcbiAgICBjbGFzc05hbWUsXG4gICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgdHlwZTpcIm51bWJlclwiLFxuICAgICAgbGFiZWwsXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGF0dHJpYnV0ZXM6IHsgY2xhc3M6IERFRkFVTFRfQ09OVFJPTF9DTEFTUyB9LFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0RmllbGQoXG4gIGtleTogc3RyaW5nLFxuICBsYWJlbDogc3RyaW5nLFxuICByZXF1aXJlZCA9IGZhbHNlLFxuICBjbGFzc05hbWUgPSAnY29sLXNwYW4tMScsXG4gIC8vIOKchSDYqtmFINiq2LrZitmK2LEg2YfYsNinINin2YTYqNix2KfZhdmK2KrYsSDZhNmK2YLYqNmEINiu2LXYp9im2LUg2KXYttin2YHZitipINmE2YAgdGVtcGxhdGVPcHRpb25zXG4gIGV4dHJhVGVtcGxhdGVPcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuKTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4ge1xuIGtleSxcbiB0eXBlOiAnYWR2YW5jZWQtaW5wdXQnLFxuIGNsYXNzTmFtZSxcbiB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXG4gcHJvcHM6IHtcbiBsYWJlbCxcbiByZXF1aXJlZCxcbiBhdHRyaWJ1dGVzOiB7XG4gY2xhc3M6IERFRkFVTFRfQ09OVFJPTF9DTEFTUyxcbiB9LFxuIC8vIOKchSDYr9mF2Kwg2KfZhNiu2LXYp9im2LUg2KfZhNil2LbYp9mB2YrYqSDZh9mG2KdcbiAuLi5leHRyYVRlbXBsYXRlT3B0aW9ucyxcbiB9LFxuIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0RmllbGQyKFxuICBrZXk6IHN0cmluZyxcbiAgbGFiZWw6IHN0cmluZyxcbiAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgY2xhc3NOYW1lID0gJ2NvbC1zcGFuLTEnLFxuICBleHByZXNzaW9ucz86IEZvcm1seUZpZWxkQ29uZmlnWydleHByZXNzaW9ucyddXG4pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAga2V5LFxuICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgY2xhc3NOYW1lLFxuICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGxhYmVsLFxuICAgICAgcmVxdWlyZWQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiBERUZBVUxUX0NPTlRST0xfQ0xBU1MsXG4gICAgICB9LFxuICAgICAgLy8g4pyFINin2LbZgSBkaXNhYmxlZCDZhNmK2KrYttio2Kgg2KfZhNit2YLZhCDYpdiw2Kcg2YPYp9mGIHJlYWRvbmx5XG4gICAgfSxcbiAgICAgIGV4cHJlc3Npb25zLFxuICB9O1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0YXJlYUZpZWxkKFxuICBrZXk6IHN0cmluZyxcbiAgbGFiZWw6IHN0cmluZyxcbiAgcm93cyA9IDMsXG4gIGNsYXNzTmFtZSA9ICdjb2wtc3Bhbi0xJyxcbik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3RleHRhcmVhJyxcbiAgICBjbGFzc05hbWUsXG4gICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgbGFiZWwsXG4gICAgICByb3dzLFxuICAgICAgYXR0cmlidXRlczogeyBjbGFzczogREVGQVVMVF9DT05UUk9MX0NMQVNTIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuLy8gZm9ybWx5LXByZXNldHMudHNcblxuICBleHBvcnQgaW50ZXJmYWNlIFNlbGVjdEZpZWxkT3B0aW9ucyB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBvcHRpb25zPzogU2VsZWN0T3B0aW9uW10gfCBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbltdPjtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgfVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0RmllbGQoe1xuICBrZXksXG4gIGxhYmVsLFxuICBvcHRpb25zID0gW10sXG4gIGNsYXNzTmFtZSxcbiAgZGVmYXVsdFZhbHVlLFxuICBmdWxsV2lkdGggPSBmYWxzZSxcbiAgcmVxdWlyZWQgPSBmYWxzZSxcbn06IFNlbGVjdEZpZWxkT3B0aW9ucyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgY2xhc3NOYW1lOiBjbGFzc05hbWUgPz8gKGZ1bGxXaWR0aCA/ICdjb2wtc3Bhbi0yJyA6ICdjb2wtc3Bhbi0xJyksXG4gICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgbGFiZWwsXG4gICAgICBvcHRpb25zLFxuICAgICAgcmVxdWlyZWQsXG4gICAgICBwbGFjZWhvbGRlcjogYNin2K7YqtixICR7bGFiZWx9YCxcbiAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgIGFwcGVuZFRvOiAnYm9keScsXG4gICAgICBvcHRpb25MYWJlbDogJ2xhYmVsJyxcbiAgICAgIG9wdGlvblZhbHVlOiAndmFsdWUnLFxuICAgICAgYXR0cmlidXRlczogeyBjbGFzczogREVGQVVMVF9DT05UUk9MX0NMQVNTIH0sXG4gICAgfSxcbiAgfTtcblxuXG4gICBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gIGNvbmZpZy50ZW1wbGF0ZU9wdGlvbnMhLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uZmlnLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cblxuXG4vLyBleHBvcnQgZnVuY3Rpb24gY2hlY2tib3hGaWVsZChcbi8vICAga2V5OiBzdHJpbmcsXG4vLyAgIGxhYmVsOiBzdHJpbmcsXG4vLyAgIHJlcXVpcmVkID0gZmFsc2UsXG4vLyAgIGNsYXNzTmFtZSA9ICdjb2wtc3Bhbi0xJyxcbi8vICAgdXNlTnVtYmVyTWFwcGluZyA9IGZhbHNlXG4vLyApOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4vLyAgIGNvbnN0IGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyA9IHtcbi8vICAgICBrZXksXG4vLyAgICAgdHlwZTogJ2NoZWNrYm94Jyxcbi8vICAgICBjbGFzc05hbWUsXG4vLyAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuLy8gICAgIHRlbXBsYXRlT3B0aW9uczoge1xuLy8gICAgICAgbGFiZWwsXG4vLyAgICAgICByZXF1aXJlZCxcbi8vICAgICAgIGF0dHJpYnV0ZXM6IHtcbi8vICAgICAgICAgY2xhc3M6ICdmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMicsXG4vLyAgICAgICB9LFxuLy8gICAgIH0sXG4vLyAgIH07XG5cbi8vICAgaWYgKHVzZU51bWJlck1hcHBpbmcpIHtcbi8vICAgICBmaWVsZC5ob29rcyA9IHtcbi8vICAgICAgIG9uSW5pdDogKGZpZWxkKSA9PiB7XG4vLyAgICAgICAgIC8vIOKchSDYqtmH2YrYptipINin2YTZgtmK2YXYqSDYr9in2K7ZhCDYp9mE2YHZiNix2YUg2YPZhtiq2LHZiNmEXG4vLyAgICAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGZpZWxkLm1vZGVsPy5ba2V5XTtcbi8vICAgICAgICAgaWYgKGluaXRpYWxWYWx1ZSA9PT0gMSB8fCBpbml0aWFsVmFsdWUgPT09IDIpIHtcbi8vICAgICAgICAgICBmaWVsZC5mb3JtQ29udHJvbD8uc2V0VmFsdWUoaW5pdGlhbFZhbHVlID09PSAxLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAvLyDinIUg2KrYrdmI2YrZhCDYudmG2K8g2KrYutmK2ZHYsSDYp9mE2YLZitmF2Kkg2YXZhiDYp9mE2YAgY2hlY2tib3hcbi8vICAgICAgICAgZmllbGQuZm9ybUNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbi8vICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbCA/IDEgOiAyO1xuLy8gICAgICAgICAgIGlmIChmaWVsZC5tb2RlbCkge1xuLy8gICAgICAgICAgICAgZmllbGQubW9kZWxba2V5XSA9IG5ld1ZhbHVlO1xuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfSk7XG4vLyAgICAgICB9XG4vLyAgICAgfTtcbi8vICAgfVxuXG4vLyAgIHJldHVybiBmaWVsZDtcbi8vIH1cblxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrYm94RmllbGQoXG4gIGtleTogc3RyaW5nLFxuICBsYWJlbDogc3RyaW5nLFxuICByZXF1aXJlZCA9IGZhbHNlLFxuICBjbGFzc05hbWUgPSAnY29sLXNwYW4tMScsXG4pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAga2V5LFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgY2xhc3NOYW1lLFxuICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGxhYmVsLFxuICAgICAgcmVxdWlyZWQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGhvb2tzOiB7XG4gICAgICBvbkluaXQ6IChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSBmaWVsZC5tb2RlbD8uW2tleV07XG5cbiAgICAgICAgaWYgKHZhbCA9PT0gMSkge1xuICAgICAgICAgIGZpZWxkLmZvcm1Db250cm9sPy5zZXRWYWx1ZSh0cnVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsID09PSAyKSB7XG4gICAgICAgICAgZmllbGQuZm9ybUNvbnRyb2w/LnNldFZhbHVlKGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmaWVsZC5tb2RlbFtrZXldID0gMjsgIC8vINiq2LnZitmK2YYg2KfZhNmC2YrZhdipINin2YTYp9mB2KrYsdin2LbZitipINmB2Yog2KfZhNmF2YjYr9mK2YRcbiAgICAgICAgICBmaWVsZC5mb3JtQ29udHJvbD8uc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWVsZC5mb3JtQ29udHJvbD8uc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3VmFsID0gdmFsID8gMSA6IDI7XG4gICAgICAgICAgaWYgKGZpZWxkLm1vZGVsICYmIGZpZWxkLm1vZGVsW2tleV0gIT09IG5ld1ZhbCkge1xuICAgICAgICAgICAgZmllbGQubW9kZWxba2V5XSA9IG5ld1ZhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXByZXNldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXByZXNldHMvc3JjL2VsaXRlLmZyYW1ld29yay1uZy51aS5jb3JlLWZvcm1seS1wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|