@praxisui/visual-builder 1.0.0-beta.40 → 1.0.0-beta.42
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.
|
@@ -524,10 +524,10 @@ class RuleNodeRegistryService {
|
|
|
524
524
|
notifyChange() {
|
|
525
525
|
this.nodesSubject.next(new Map(this.nodes));
|
|
526
526
|
}
|
|
527
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
528
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
527
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleNodeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
528
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleNodeRegistryService, providedIn: 'root' });
|
|
529
529
|
}
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleNodeRegistryService, decorators: [{
|
|
531
531
|
type: Injectable,
|
|
532
532
|
args: [{
|
|
533
533
|
providedIn: 'root',
|
|
@@ -761,10 +761,10 @@ class FieldConditionConverter extends BaseRuleConverter {
|
|
|
761
761
|
return undefined;
|
|
762
762
|
}
|
|
763
763
|
}
|
|
764
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
765
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
764
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldConditionConverter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
765
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldConditionConverter, providedIn: 'root' });
|
|
766
766
|
}
|
|
767
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldConditionConverter, decorators: [{
|
|
768
768
|
type: Injectable,
|
|
769
769
|
args: [{
|
|
770
770
|
providedIn: 'root'
|
|
@@ -820,10 +820,10 @@ class BooleanGroupConverter extends BaseRuleConverter {
|
|
|
820
820
|
throw new Error(`Unsupported boolean operator: ${config.operator}`);
|
|
821
821
|
}
|
|
822
822
|
}
|
|
823
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
824
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
823
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BooleanGroupConverter, deps: [{ token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
824
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BooleanGroupConverter, providedIn: 'root' });
|
|
825
825
|
}
|
|
826
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
826
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BooleanGroupConverter, decorators: [{
|
|
827
827
|
type: Injectable,
|
|
828
828
|
args: [{
|
|
829
829
|
providedIn: 'root'
|
|
@@ -873,10 +873,10 @@ class CardinalityConverter extends BaseRuleConverter {
|
|
|
873
873
|
throw new Error(`Unsupported cardinality type: ${config.cardinalityType}`);
|
|
874
874
|
}
|
|
875
875
|
}
|
|
876
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
877
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
876
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: CardinalityConverter, deps: [{ token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
877
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: CardinalityConverter, providedIn: 'root' });
|
|
878
878
|
}
|
|
879
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
879
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: CardinalityConverter, decorators: [{
|
|
880
880
|
type: Injectable,
|
|
881
881
|
args: [{
|
|
882
882
|
providedIn: 'root'
|
|
@@ -1038,10 +1038,10 @@ class ConverterFactoryService {
|
|
|
1038
1038
|
converterNames: Array.from(this.converters.keys())
|
|
1039
1039
|
};
|
|
1040
1040
|
}
|
|
1041
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1042
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
1041
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConverterFactoryService, deps: [{ token: FieldConditionConverter }, { token: BooleanGroupConverter }, { token: CardinalityConverter }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1042
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConverterFactoryService, providedIn: 'root' });
|
|
1043
1043
|
}
|
|
1044
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1044
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConverterFactoryService, decorators: [{
|
|
1045
1045
|
type: Injectable,
|
|
1046
1046
|
args: [{
|
|
1047
1047
|
providedIn: 'root'
|
|
@@ -2521,10 +2521,10 @@ class SpecificationBridgeService {
|
|
|
2521
2521
|
return null;
|
|
2522
2522
|
}
|
|
2523
2523
|
}
|
|
2524
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2525
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2524
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SpecificationBridgeService, deps: [{ token: RuleNodeRegistryService }, { token: ConverterFactoryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2525
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SpecificationBridgeService, providedIn: 'root' });
|
|
2526
2526
|
}
|
|
2527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: SpecificationBridgeService, decorators: [{
|
|
2528
2528
|
type: Injectable,
|
|
2529
2529
|
args: [{
|
|
2530
2530
|
providedIn: 'root',
|
|
@@ -3012,10 +3012,10 @@ class RoundTripValidatorService {
|
|
|
3012
3012
|
generateErrorId() {
|
|
3013
3013
|
return `error_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
3014
3014
|
}
|
|
3015
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3016
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3015
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundTripValidatorService, deps: [{ token: SpecificationBridgeService }, { token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3016
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundTripValidatorService, providedIn: 'root' });
|
|
3017
3017
|
}
|
|
3018
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3018
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundTripValidatorService, decorators: [{
|
|
3019
3019
|
type: Injectable,
|
|
3020
3020
|
args: [{
|
|
3021
3021
|
providedIn: 'root'
|
|
@@ -4186,10 +4186,10 @@ class RuleBuilderService {
|
|
|
4186
4186
|
typeof json.nodes === 'object' &&
|
|
4187
4187
|
Array.isArray(json.rootNodes));
|
|
4188
4188
|
}
|
|
4189
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4190
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
4189
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleBuilderService, deps: [{ token: SpecificationBridgeService }, { token: RoundTripValidatorService }, { token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4190
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleBuilderService, providedIn: 'root' });
|
|
4191
4191
|
}
|
|
4192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleBuilderService, decorators: [{
|
|
4193
4193
|
type: Injectable,
|
|
4194
4194
|
args: [{
|
|
4195
4195
|
providedIn: 'root',
|
|
@@ -4905,10 +4905,10 @@ class ExportIntegrationService {
|
|
|
4905
4905
|
},
|
|
4906
4906
|
};
|
|
4907
4907
|
}
|
|
4908
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4909
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
4908
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ExportIntegrationService, deps: [{ token: RuleBuilderService }, { token: SpecificationBridgeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4909
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ExportIntegrationService, providedIn: 'root' });
|
|
4910
4910
|
}
|
|
4911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ExportIntegrationService, decorators: [{
|
|
4912
4912
|
type: Injectable,
|
|
4913
4913
|
args: [{
|
|
4914
4914
|
providedIn: 'root',
|
|
@@ -5188,8 +5188,8 @@ class ExportDialogComponent {
|
|
|
5188
5188
|
onCancel() {
|
|
5189
5189
|
this.dialogRef.close();
|
|
5190
5190
|
}
|
|
5191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5192
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
5191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ExportDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1$1.FormBuilder }, { token: ExportIntegrationService }, { token: i4.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: ExportDialogComponent, isStandalone: true, selector: "praxis-export-dialog", ngImport: i0, template: `
|
|
5193
5193
|
<div class="export-dialog">
|
|
5194
5194
|
<div mat-dialog-title class="dialog-header">
|
|
5195
5195
|
<mat-icon>download</mat-icon>
|
|
@@ -5685,7 +5685,7 @@ class ExportDialogComponent {
|
|
|
5685
5685
|
</div>
|
|
5686
5686
|
`, isInline: true, styles: [".export-dialog{width:800px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.dialog-header{display:flex;align-items:center;gap:8px;font-weight:500}.dialog-content{flex:1;overflow:auto;max-height:calc(80vh - 120px)}.tab-content{padding:16px 0;min-height:0;max-height:calc(80vh - 180px);overflow-y:auto}.section{margin-bottom:24px}.section-title{margin:0 0 16px;color:var(--md-sys-color-primary);font-size:16px;font-weight:500}.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px}.format-card{cursor:pointer;transition:all .2s ease;border:2px solid transparent}.format-card:hover{border-color:var(--md-sys-color-primary-container);box-shadow:0 4px 8px var(--vb-shadow-low-color, rgba(0,0,0,.1))}.format-card.selected{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.format-description{font-size:13px;color:var(--md-sys-color-on-surface-variant);margin:8px 0;min-height:40px}.format-features{display:flex;gap:4px;flex-wrap:wrap}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.full-width{width:100%}.batch-formats{margin-top:16px}.export-results,.integration-results{margin-top:24px}.result-panel{margin-bottom:8px}.success-icon{color:var(--md-sys-color-tertiary)}.error-icon{color:var(--md-sys-color-error)}.result-details{padding:16px 0}.detail-row{margin-bottom:8px;font-size:14px}.action-buttons{display:flex;gap:8px;margin-top:16px}.error-details{color:var(--md-sys-color-error)}.error-item{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);padding:8px;border-radius:4px;margin-bottom:4px}.system-info{margin-top:16px}.info-card{background:var(--md-sys-color-surface-variant)}.system-details,.integration-result{margin-bottom:16px}.success-card{border-left:4px solid var(--md-sys-color-tertiary)}.error-card{border-left:4px solid var(--md-sys-color-error)}.sharing-form{max-width:400px}.share-card{margin-top:16px;border-left:4px solid var(--md-sys-color-primary)}.share-url{margin-bottom:16px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;padding:var(--pdx-dialog-actions-padding, 12px 24px 16px);position:sticky;bottom:0;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);z-index:2}.dialog-actions .action-buttons{display:flex;gap:8px}.progress-bar{position:absolute;bottom:0;left:0;right:0}@media(max-width:768px){.export-dialog{width:100vw;height:100vh;max-width:none;max-height:none}.format-grid,.options-grid{grid-template-columns:1fr}}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i6$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5687
5687
|
}
|
|
5688
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ExportDialogComponent, decorators: [{
|
|
5689
5689
|
type: Component,
|
|
5690
5690
|
args: [{ selector: 'praxis-export-dialog', standalone: true, imports: [
|
|
5691
5691
|
CommonModule,
|
|
@@ -6410,8 +6410,8 @@ class TargetSelectorComponent {
|
|
|
6410
6410
|
const baseType = this.getTypeLabel(type);
|
|
6411
6411
|
return `${baseType} do formulário`;
|
|
6412
6412
|
}
|
|
6413
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6414
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
6413
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TargetSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6414
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TargetSelectorComponent, isStandalone: true, selector: "praxis-target-selector", inputs: { fieldSchemas: "fieldSchemas", targetSchemas: "targetSchemas", initialType: "initialType", initialSelection: "initialSelection" }, outputs: { selectionChanged: "selectionChanged" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
6415
6415
|
<div class="target-selector-container">
|
|
6416
6416
|
<div class="section-header">
|
|
6417
6417
|
<div class="section-title">Alvos (Escopo)</div>
|
|
@@ -6514,7 +6514,7 @@ class TargetSelectorComponent {
|
|
|
6514
6514
|
</div>
|
|
6515
6515
|
`, isInline: true, styles: [".target-selector-container{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;flex-direction:column;gap:6px}.section-title{font-weight:600;font-size:16px}.section-subtitle{font-size:13px;color:var(--md-sys-color-on-surface-variant);margin:8px 0 6px}.section-description{font-size:12px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.type-toggle-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.type-toggle{min-height:112px;height:100%;text-align:left;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;line-height:1.3;border:1px solid transparent;box-sizing:border-box}.type-toggle.mat-button-toggle-checked{border-color:var(--md-sys-color-outline-variant)}.type-text{display:flex;flex-direction:column;gap:2px;max-width:100%}.type-label{font-weight:600}.type-desc{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.w-100{width:100%}.additional-selection{font-size:12px;opacity:.75}.list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.list-title{font-weight:600}.list-stats{font-size:13px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.search-input-field{width:240px;align-self:center;display:flex;align-items:center}.search-input-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.target-groups{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow:auto;padding-right:4px}.target-group{display:flex;flex-direction:column;gap:8px}.group-label{font-weight:600;color:var(--md-sys-color-on-surface-variant)}.card-list{display:flex;flex-direction:column;gap:8px}.target-card{display:flex;gap:12px;padding:12px 16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;cursor:pointer;transition:border-color .2s ease,background .2s ease;align-items:center;background:var(--md-sys-color-surface-container-low);margin-bottom:8px;min-height:72px}.target-card:hover{border-color:var(--md-sys-color-primary)}.target-card.selected{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.card-content{display:flex;flex-direction:column;gap:4px}.card-title{font-weight:600}.card-subtitle{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.card-meta{font-size:12px;color:var(--md-sys-color-on-surface-variant);opacity:.8}.selected-wrapper{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-top:12px}.selected-label{font-weight:600;font-size:13px;color:var(--md-sys-color-on-surface);margin-bottom:2px}.selected-targets-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}.chip-icon{margin-right:4px}.selected-summary{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed var(--md-sys-color-outline-variant);border-radius:16px;font-size:13px;color:var(--md-sys-color-on-surface)}.no-results{font-style:italic;font-size:13px;text-align:center;padding:12px 0}.target-accordion .mat-expansion-panel-header{padding-top:8px;padding-bottom:8px}.target-accordion .mat-expansion-panel-body{padding-top:4px}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i12$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i12$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i8$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i11.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6516
6516
|
}
|
|
6517
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TargetSelectorComponent, decorators: [{
|
|
6518
6518
|
type: Component,
|
|
6519
6519
|
args: [{ selector: 'praxis-target-selector', standalone: true, imports: [
|
|
6520
6520
|
CommonModule,
|
|
@@ -6917,8 +6917,8 @@ class PropertyEffectEditorComponent {
|
|
|
6917
6917
|
return '';
|
|
6918
6918
|
}
|
|
6919
6919
|
}
|
|
6920
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6921
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
6920
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PropertyEffectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6921
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: PropertyEffectEditorComponent, isStandalone: true, selector: "praxis-property-effect-editor", inputs: { properties: "properties", initialConfig: "initialConfig" }, outputs: { configChanged: "configChanged" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
6922
6922
|
<div class="property-effect-editor">
|
|
6923
6923
|
<div class="header">
|
|
6924
6924
|
<div class="title">Propriedades (whitelist)</div>
|
|
@@ -7190,7 +7190,7 @@ class PropertyEffectEditorComponent {
|
|
|
7190
7190
|
</div>
|
|
7191
7191
|
`, isInline: true, styles: [".property-effect-editor{display:flex;flex-direction:column;gap:16px}.header{display:flex;align-items:center;justify-content:space-between;gap:8px}.title{font-weight:600}.property-card{border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:12px;background:var(--md-sys-color-surface)}.property-row{display:flex;gap:8px;align-items:center}.field{flex:1}.value-columns{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:12px}.value-block{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px dashed var(--md-sys-color-outline-variant);border-radius:8px;background:var(--md-sys-color-surface-container-low)}.value-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.preview{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:8px}.preview-title{font-size:14px;font-weight:600;margin-bottom:8px}.preview-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.preview-pane{border:1px solid var(--md-sys-color-outline-variant);border-radius:6px;padding:8px;background:var(--md-sys-color-surface-container)}.pane-label{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}pre{margin:0;background:transparent;font-size:12px;line-height:1.4}.empty{color:var(--md-sys-color-on-surface-variant);font-size:13px;padding:8px;border:1px dashed var(--md-sys-color-outline-variant);border-radius:6px}.w-100{width:100%}.select-search-container{position:sticky;top:0;z-index:1;background:var(--md-sys-color-surface-container-lowest, #fff);padding:8px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant, rgba(0,0,0,.12))}.search-input-field{width:100%}.search-input-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.option-content{display:flex;flex-direction:column;line-height:1.2;padding:4px 0}.option-label{font-weight:500}.option-id{font-size:11px;opacity:.6}.no-results{font-style:italic;font-size:13px;text-align:center}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i8$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "pipe", type: i2.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7192
7192
|
}
|
|
7193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PropertyEffectEditorComponent, decorators: [{
|
|
7194
7194
|
type: Component,
|
|
7195
7195
|
args: [{ selector: 'praxis-property-effect-editor', standalone: true, imports: [
|
|
7196
7196
|
CommonModule,
|
|
@@ -7998,8 +7998,8 @@ class FieldConditionEditorComponent {
|
|
|
7998
7998
|
hasFieldOptions() {
|
|
7999
7999
|
return this.filteredFieldCategories.some((category) => category.fields.length > 0);
|
|
8000
8000
|
}
|
|
8001
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8002
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
8001
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldConditionEditorComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
8002
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: FieldConditionEditorComponent, isStandalone: true, selector: "praxis-field-condition-editor", inputs: { config: "config", fieldSchemas: "fieldSchemas" }, outputs: { configChanged: "configChanged" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
8003
8003
|
<form [formGroup]="conditionForm" class="field-condition-form compact-grid">
|
|
8004
8004
|
<div class="condition-row">
|
|
8005
8005
|
<!-- Campo -->
|
|
@@ -8265,7 +8265,7 @@ class FieldConditionEditorComponent {
|
|
|
8265
8265
|
</form>
|
|
8266
8266
|
`, isInline: true, styles: [".field-condition-form{display:flex;flex-direction:column;gap:8px;min-width:300px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:8px 10px;overflow:visible}.condition-row-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.condition-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--md-sys-color-on-surface)}.compact-grid{gap:12px}.condition-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1.5fr) minmax(220px,3fr) auto;gap:12px 4px;align-items:center}.compact-field{width:100%}.value-inline{display:grid;grid-template-columns:1.2fr 2fr;gap:8px;align-items:center}.value-field{width:100%}.actions-col{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.field-option,.context-option,.function-option{display:flex;align-items:center;gap:8px;width:100%}.field-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.field-label{flex:1;font-weight:500}.field-type{font-size:11px;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);padding:2px 6px;border-radius:4px}.select-search-container{position:sticky;top:0;z-index:1;background:var(--md-sys-color-surface-container-lowest, #fff);padding:8px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant, rgba(0,0,0,.12))}.search-input-field{width:100%}.search-input-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.no-results{font-style:italic;font-size:13px;text-align:center}.field-info{flex:1;display:flex;flex-direction:column;line-height:1.2;overflow:hidden}.field-name{font-size:10px;opacity:.6}.variable-name{font-family:monospace;font-weight:500;color:var(--md-sys-color-secondary)}.variable-type{font-size:11px;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);padding:2px 6px;border-radius:4px}.function-name{font-weight:500;color:var(--md-sys-color-tertiary)}.function-desc{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-style:italic}.boolean-inline{display:flex;align-items:center;padding:4px 0}.condition-preview{background:var(--md-sys-color-surface-container);border-radius:8px;padding:8px 12px;border-left:4px solid var(--md-sys-color-primary);margin-top:2px}.preview-label{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);margin-bottom:2px}.preview-text{font-family:monospace;font-size:14px;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface);padding:6px 8px;border-radius:4px;border:1px solid var(--md-sys-color-outline-variant)}.error-row{display:inline-flex;align-items:center;gap:6px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:1px solid var(--md-sys-color-error);border-radius:8px;padding:4px 10px;font-size:12px;min-height:32px}@media(max-width:1024px){.condition-row{grid-template-columns:repeat(2,minmax(180px,1fr))}.value-inline{grid-template-columns:1fr}}@media(max-width:768px){.condition-row{grid-template-columns:1fr}}.no-fields-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--md-sys-color-on-surface-variant);padding:8px 0}:host ::ng-deep .mat-mdc-select-panel{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-on-surface-variant) transparent}:host ::ng-deep .mat-mdc-select-panel::-webkit-scrollbar{width:8px}:host ::ng-deep .mat-mdc-select-panel::-webkit-scrollbar-thumb{background-color:var(--md-sys-color-on-surface-variant);border-radius:8px}:host ::ng-deep .mat-mdc-select-panel::-webkit-scrollbar-track{background-color:transparent}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i9$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8267
8267
|
}
|
|
8268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldConditionEditorComponent, decorators: [{
|
|
8269
8269
|
type: Component,
|
|
8270
8270
|
args: [{ selector: 'praxis-field-condition-editor', standalone: true, imports: [
|
|
8271
8271
|
CommonModule,
|
|
@@ -8926,8 +8926,8 @@ class ConditionalValidatorEditorComponent {
|
|
|
8926
8926
|
};
|
|
8927
8927
|
return mapping[validatorType] || 'requiredIf';
|
|
8928
8928
|
}
|
|
8929
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8930
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
8929
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConditionalValidatorEditorComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
8930
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: ConditionalValidatorEditorComponent, isStandalone: true, selector: "praxis-conditional-validator-editor", inputs: { config: "config", fieldSchemas: "fieldSchemas" }, outputs: { configChanged: "configChanged" }, usesOnChanges: true, ngImport: i0, template: `
|
|
8931
8931
|
<form [formGroup]="validatorForm" class="conditional-validator-form">
|
|
8932
8932
|
<!-- Validator Type Selection -->
|
|
8933
8933
|
<div class="form-row">
|
|
@@ -9270,7 +9270,7 @@ class ConditionalValidatorEditorComponent {
|
|
|
9270
9270
|
</form>
|
|
9271
9271
|
`, isInline: true, styles: [".conditional-validator-form{display:flex;flex-direction:column;gap:16px;width:100%}.form-row{display:flex;gap:12px;align-items:flex-start}.validator-type-select,.target-field-select{flex:1;min-width:200px}.validator-option{display:flex;flex-direction:column;gap:4px}.validator-option mat-icon{align-self:flex-start;color:var(--md-sys-color-primary)}.validator-trigger{display:inline-flex;align-items:center;gap:8px}.trigger-icon{font-size:18px}.trigger-label{font-weight:600}.validator-option small{color:var(--md-sys-color-on-surface-variant);font-size:11px}.field-option{display:flex;align-items:center;gap:8px;width:100%}.field-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.field-label{flex:1;font-weight:500}.field-type{font-size:11px;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-variant);padding:2px 6px;border-radius:4px}.form-section{border:1px solid var(--md-sys-color-outline);border-radius:8px;padding:16px;background:var(--md-sys-color-surface-variant)}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.condition-mode-selector{margin-bottom:16px}.simple-condition,.advanced-condition{background:var(--md-sys-color-surface);border-radius:8px;padding:16px}.logic-operator{width:100%;margin-bottom:16px}.conditions-list{display:flex;flex-direction:column;gap:12px}.condition-item{border:1px solid var(--md-sys-color-outline);border-radius:8px;padding:12px;background:var(--md-sys-color-surface-variant)}.condition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.condition-number{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.add-condition-button{align-self:flex-start}.validation-settings,.ui-settings{display:flex;flex-direction:column;gap:12px}.validation-options{display:flex;flex-direction:column;gap:8px}.error-message-input,.animation-select,.disabled-style-select,.readonly-style-select,.disabled-message-input{width:100%}.preview-section{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.preview-content{display:flex;flex-direction:column;gap:8px}.preview-text{font-family:monospace;font-size:14px;background:var(--md-sys-color-surface);padding:12px;border-radius:4px;border:1px solid var(--md-sys-color-outline)}.preview-logic{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.validation-messages{background:var(--md-sys-color-error-container);border-radius:4px;padding:8px 12px}.validation-error{display:flex;align-items:center;gap:6px;color:var(--md-sys-color-on-error-container);font-size:12px;margin-bottom:4px}.validation-error:last-child{margin-bottom:0}.validation-error mat-icon{font-size:14px;width:14px;height:14px}@media(max-width:768px){.form-row{flex-direction:column}.validator-type-select,.target-field-select{width:100%}}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i8$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: FieldConditionEditorComponent, selector: "praxis-field-condition-editor", inputs: ["config", "fieldSchemas"], outputs: ["configChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9272
9272
|
}
|
|
9273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ConditionalValidatorEditorComponent, decorators: [{
|
|
9274
9274
|
type: Component,
|
|
9275
9275
|
args: [{ selector: 'praxis-conditional-validator-editor', standalone: true, imports: [
|
|
9276
9276
|
CommonModule,
|
|
@@ -9971,8 +9971,8 @@ class CollectionValidatorEditorComponent {
|
|
|
9971
9971
|
};
|
|
9972
9972
|
return mapping[validatorType] || 'forEach';
|
|
9973
9973
|
}
|
|
9974
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9975
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
9974
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: CollectionValidatorEditorComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
9975
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: CollectionValidatorEditorComponent, isStandalone: true, selector: "praxis-collection-validator-editor", inputs: { config: "config", fieldSchemas: "fieldSchemas" }, outputs: { configChanged: "configChanged" }, usesOnChanges: true, ngImport: i0, template: `
|
|
9976
9976
|
<form [formGroup]="collectionForm" class="collection-validator-form">
|
|
9977
9977
|
<!-- Validator Type Selection -->
|
|
9978
9978
|
<div class="form-row">
|
|
@@ -10425,7 +10425,7 @@ class CollectionValidatorEditorComponent {
|
|
|
10425
10425
|
</form>
|
|
10426
10426
|
`, isInline: true, styles: [".collection-validator-form{display:flex;flex-direction:column;gap:16px;max-width:900px}.form-row{display:flex;gap:12px;align-items:flex-start}.validator-type-select,.target-collection-select{flex:1;min-width:250px}.validator-option{display:flex;flex-direction:column;gap:4px}.validator-option mat-icon{align-self:flex-start;color:var(--md-sys-color-primary)}.validator-option small{color:var(--md-sys-color-on-surface-variant);font-size:11px}.field-option{display:flex;align-items:center;gap:8px;width:100%}.field-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.field-label{flex:1;font-weight:500}.field-type{font-size:11px;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);padding:2px 6px;border-radius:4px}.form-section{border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:16px;background:var(--md-sys-color-surface-container)}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.section-title h5{margin:16px 0 8px;font-size:13px;font-weight:500;color:var(--md-sys-color-primary)}.foreach-config,.unique-config,.length-config{display:flex;flex-direction:column;gap:16px}.item-schema-info{display:flex;gap:12px}.item-variable-input,.index-variable-input{flex:1}.validation-rules{background:var(--md-sys-color-surface);border-radius:8px;padding:16px}.validation-rule-item,.unique-field-item{border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:12px;margin-bottom:12px;background:var(--md-sys-color-surface-container)}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rule-number{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.rule-config{display:flex;flex-direction:column;gap:8px}.unique-field-item{display:flex;align-items:center;gap:8px}.field-path-input{flex:1}.length-inputs{display:flex;gap:12px}.length-input{flex:1}.length-slider{margin:16px 0}.length-slider label{display:block;margin-bottom:8px;font-size:13px;font-weight:500}.length-options,.unique-options{display:flex;flex-direction:column;gap:12px}.advanced-options{background:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-secondary)}.advanced-config{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.validation-timing,.error-handling,.performance-options{display:flex;flex-direction:column;gap:8px}.validation-timing h5,.error-handling h5,.performance-options h5{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--md-sys-color-secondary);text-transform:uppercase}.add-rule-button,.add-field-button{align-self:flex-start}.preview-section{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.preview-content{display:flex;flex-direction:column;gap:8px}.preview-text{font-family:monospace;font-size:14px;background:var(--md-sys-color-surface);padding:12px;border-radius:4px;border:1px solid var(--md-sys-color-outline-variant)}.preview-details{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.validation-messages{background:var(--md-sys-color-error-container);border-radius:4px;padding:8px 12px}.validation-error{display:flex;align-items:center;gap:6px;color:var(--md-sys-color-on-error-container);font-size:12px;margin-bottom:4px}.validation-error:last-child{margin-bottom:0}.validation-error mat-icon{font-size:14px;width:14px;height:14px}@media(max-width:1024px){.advanced-config{grid-template-columns:1fr 1fr}}@media(max-width:768px){.form-row{flex-direction:column}.validator-type-select,.target-collection-select{width:100%}.item-schema-info,.length-inputs{flex-direction:column}.advanced-config{grid-template-columns:1fr}}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i10$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i10$1.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10427
10427
|
}
|
|
10428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: CollectionValidatorEditorComponent, decorators: [{
|
|
10429
10429
|
type: Component,
|
|
10430
10430
|
args: [{ selector: 'praxis-collection-validator-editor', standalone: true, imports: [
|
|
10431
10431
|
CommonModule,
|
|
@@ -11158,8 +11158,8 @@ class RuleNodeComponent {
|
|
|
11158
11158
|
.toLowerCase()
|
|
11159
11159
|
.replace(/^\w/, (c) => c.toUpperCase());
|
|
11160
11160
|
}
|
|
11161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
11162
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
11161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleNodeComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
11162
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RuleNodeComponent, isStandalone: true, selector: "praxis-rule-node", inputs: { node: "node", nodes: "nodes", fieldSchemas: "fieldSchemas", level: "level", isSelected: "isSelected", validationErrors: "validationErrors" }, outputs: { nodeClicked: "nodeClicked", nodeUpdated: "nodeUpdated", nodeDeleted: "nodeDeleted", childAdded: "childAdded", childMoved: "childMoved" }, ngImport: i0, template: `
|
|
11163
11163
|
<div
|
|
11164
11164
|
class="rule-node-container"
|
|
11165
11165
|
[class.selected]="isSelected"
|
|
@@ -11406,7 +11406,7 @@ class RuleNodeComponent {
|
|
|
11406
11406
|
</div>
|
|
11407
11407
|
`, isInline: true, styles: [":host{--vb-shadow-low-color: var(--sicoob-shadow-low, rgba(0,0,0,.08));--vb-shadow-medium-color: var(--sicoob-shadow-medium, rgba(0,0,0,.18));--vb-shadow-high-color: var(--sicoob-shadow-high, rgba(0,0,0,.32))}.rule-node-container{position:relative;margin-bottom:8px}.rule-node{min-width:300px;border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:all .2s ease;position:relative;border-radius:8px}.rule-node:hover{border-color:var(--md-sys-color-primary);box-shadow:0 4px 8px var(--vb-shadow-low-color)}.rule-node.selected{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);box-shadow:0 4px 12px var(--vb-shadow-medium-color)}.rule-node-container.has-errors .rule-node{border-color:var(--md-sys-color-error)}.node-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-variant)}.node-type{display:flex;align-items:center;gap:8px}.type-icon{font-size:20px;width:20px;height:20px}.type-icon.field-condition{color:var(--md-sys-color-primary)}.type-icon.boolean-group{color:var(--md-sys-color-secondary)}.type-icon.conditional-validator{color:var(--md-sys-color-tertiary)}.type-icon.collection-validation{color:var(--md-sys-color-error)}.type-label{font-weight:500;font-size:14px}.node-actions{display:flex;align-items:center;gap:4px}.error-badge{color:var(--md-sys-color-error);font-size:18px}.node-content{padding:12px}.field-condition-content,.boolean-group-content,.conditional-validator-content,.collection-validation-content{min-height:60px}.group-operator{display:flex;justify-content:center}.operator-select{width:120px}.metadata-preview{margin-top:12px;padding-top:12px;border-top:1px solid var(--md-sys-color-outline)}.metadata-chips{margin-bottom:8px}.metadata-chip{font-size:11px;height:20px}.code-chip{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.tag-chip{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.metadata-message{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-style:italic;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.validation-errors{border-top:1px solid var(--md-sys-color-error);background:var(--md-sys-color-error-container);padding:8px 12px}.validation-error{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px}.validation-error:last-child{margin-bottom:0}.validation-error.error{color:var(--md-sys-color-on-error-container)}.validation-error.warning{color:var(--md-sys-color-secondary)}.error-icon{font-size:14px;width:14px;height:14px}.children-container{margin-left:24px;position:relative}.children-connector{position:absolute;left:-12px;top:0;width:12px;height:24px}.connector-line{width:2px;height:100%;background:var(--md-sys-color-outline);margin-left:10px}.children-list{padding-left:12px;border-left:2px solid var(--md-sys-color-outline)}.child-wrapper{position:relative}.child-connector{display:flex;flex-direction:column;align-items:center;margin:8px 0}.child-connector .connector-line{width:2px;height:12px;background:var(--md-sys-color-outline)}.connector-operator{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);padding:2px 6px;border-radius:8px;font-size:10px;font-weight:600;margin-top:-1px}.add-child-area{display:flex;justify-content:center;margin-top:16px;padding:8px;border:1px dashed var(--md-sys-color-outline);border-radius:8px;background:var(--md-sys-color-surface-variant)}.add-child-button{color:var(--md-sys-color-primary)}.level-1{margin-left:20px}.level-2{margin-left:40px}.level-3{margin-left:60px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.children-list.cdk-drop-list-dragging .child-wrapper:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.delete-action{color:var(--md-sys-color-error)}\n"], dependencies: [{ kind: "component", type: RuleNodeComponent, selector: "praxis-rule-node", inputs: ["node", "nodes", "fieldSchemas", "level", "isSelected", "validationErrors"], outputs: ["nodeClicked", "nodeUpdated", "nodeDeleted", "childAdded", "childMoved"] }, { 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: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i12$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i11$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i13$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i13$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: FieldConditionEditorComponent, selector: "praxis-field-condition-editor", inputs: ["config", "fieldSchemas"], outputs: ["configChanged"] }, { kind: "component", type: ConditionalValidatorEditorComponent, selector: "praxis-conditional-validator-editor", inputs: ["config", "fieldSchemas"], outputs: ["configChanged"] }, { kind: "component", type: CollectionValidatorEditorComponent, selector: "praxis-collection-validator-editor", inputs: ["config", "fieldSchemas"], outputs: ["configChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11408
11408
|
}
|
|
11409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
11409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleNodeComponent, decorators: [{
|
|
11410
11410
|
type: Component,
|
|
11411
11411
|
args: [{ selector: 'praxis-rule-node', standalone: true, imports: [
|
|
11412
11412
|
CommonModule,
|
|
@@ -11883,8 +11883,8 @@ class RuleCanvasComponent {
|
|
|
11883
11883
|
RuleNodeType.EXPRESSION,
|
|
11884
11884
|
].includes(type);
|
|
11885
11885
|
}
|
|
11886
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
11887
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
11886
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11887
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RuleCanvasComponent, isStandalone: true, selector: "praxis-rule-canvas", inputs: { conditionOnly: "conditionOnly", state: "state", fieldSchemas: "fieldSchemas" }, outputs: { nodeSelected: "nodeSelected", nodeAdded: "nodeAdded", nodeUpdated: "nodeUpdated", nodeRemoved: "nodeRemoved" }, ngImport: i0, template: `
|
|
11888
11888
|
<div class="rule-canvas"
|
|
11889
11889
|
(drop)="onDrop($event)"
|
|
11890
11890
|
(dragover)="onDragOver($event)"
|
|
@@ -11969,7 +11969,7 @@ class RuleCanvasComponent {
|
|
|
11969
11969
|
</div>
|
|
11970
11970
|
`, isInline: true, styles: [":host{display:block;height:100%}.rule-canvas{position:relative;height:100%;width:100%;background:var(--md-sys-color-surface);border:none;border-radius:0;padding:8px 10px;transition:all .3s ease;box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto;gap:6px}.rule-canvas.drag-over{border:1px solid var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;text-align:center}.empty-state-content{max-width:400px}.empty-icon{font-size:64px;width:64px;height:64px;color:var(--md-sys-color-on-surface-variant);margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-weight:500}.empty-state p{margin:0 0 24px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.rule-tree{display:flex;flex-direction:column;gap:10px;flex:1}.root-rule-container{position:relative;padding-bottom:8px}.root-connector{position:absolute;left:12px;top:100%;height:16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:none}.connector-line{width:2px;height:16px;background:var(--md-sys-color-outline)}.connector-operator{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-top:-8px;pointer-events:all}.drop-zone-overlay{position:absolute;inset:0;background:var(--md-sys-color-primary-container);border:3px dashed var(--md-sys-color-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:1000;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--md-sys-color-primary);font-weight:500}.drop-zone-content mat-icon{font-size:48px;width:48px;height:48px}.floating-add-menu{position:absolute;bottom:24px;right:24px;z-index:1000}.main-add-button{transition:transform .3s ease}.floating-add-menu.expanded .main-add-button{transform:rotate(45deg)}.add-menu-options{position:absolute;bottom:64px;right:0;display:flex;flex-direction:column;gap:8px;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.add-option-button{animation:fadeIn .3s ease;animation-fill-mode:both}.add-option-button:nth-child(1){animation-delay:.1s}.add-option-button:nth-child(2){animation-delay:.15s}.add-option-button:nth-child(3){animation-delay:.2s}.add-option-button:nth-child(4){animation-delay:.25s}.add-option-button:nth-child(5){animation-delay:.3s}@keyframes fadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.rule-canvas{padding:16px}.floating-add-menu{bottom:16px;right:16px}}\n"], 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: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "component", type: RuleNodeComponent, selector: "praxis-rule-node", inputs: ["node", "nodes", "fieldSchemas", "level", "isSelected", "validationErrors"], outputs: ["nodeClicked", "nodeUpdated", "nodeDeleted", "childAdded", "childMoved"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11971
11971
|
}
|
|
11972
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
11972
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleCanvasComponent, decorators: [{
|
|
11973
11973
|
type: Component,
|
|
11974
11974
|
args: [{ selector: 'praxis-rule-canvas', standalone: true, imports: [
|
|
11975
11975
|
CommonModule,
|
|
@@ -12146,10 +12146,10 @@ class DslVisualImportService {
|
|
|
12146
12146
|
}
|
|
12147
12147
|
return { nodes, rootNodes: [root.id] };
|
|
12148
12148
|
}
|
|
12149
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
12150
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
12149
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslVisualImportService, deps: [{ token: i1$2.DslParsingService }, { token: SpecificationBridgeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12150
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslVisualImportService, providedIn: 'root' });
|
|
12151
12151
|
}
|
|
12152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
12152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslVisualImportService, decorators: [{
|
|
12153
12153
|
type: Injectable,
|
|
12154
12154
|
args: [{
|
|
12155
12155
|
providedIn: 'root',
|
|
@@ -12473,8 +12473,8 @@ class RuleDefinitionComponent {
|
|
|
12473
12473
|
return '';
|
|
12474
12474
|
}
|
|
12475
12475
|
}
|
|
12476
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
12477
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
12476
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleDefinitionComponent, deps: [{ token: RuleBuilderService }, { token: DslVisualImportService }, { token: i3$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
12477
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RuleDefinitionComponent, isStandalone: true, selector: "praxis-rule-definition", inputs: { ruleNode: "ruleNode", fieldSchemas: "fieldSchemas", targetSchemas: "targetSchemas", propertySchema: "propertySchema" }, outputs: { ruleChanged: "ruleChanged" }, providers: [RuleBuilderService], usesOnChanges: true, ngImport: i0, template: `
|
|
12478
12478
|
<div class="rule-definition-container">
|
|
12479
12479
|
|
|
12480
12480
|
<mat-stepper class="rule-stepper" [linear]="true" [orientation]="isMobile ? 'vertical' : 'horizontal'">
|
|
@@ -12689,7 +12689,7 @@ class RuleDefinitionComponent {
|
|
|
12689
12689
|
</div>
|
|
12690
12690
|
`, isInline: true, styles: [".rule-definition-container{display:flex;flex-direction:column;gap:10px;padding:8px 12px;overflow-y:auto;height:100%;min-height:0;flex:1;box-sizing:border-box;background:var(--md-sys-color-surface-container-low)}.rule-canvas-wrapper{width:100%;min-height:0;margin:0}.rule-stepper{background:transparent;flex:1}.panel-content{display:flex;flex-direction:column;gap:10px;padding:0}.mode-selector{margin-bottom:12px;display:flex;justify-content:flex-start;margin-top:0}.small-toggles ::ng-deep .mat-button-toggle-label-content{line-height:32px!important;padding:0 12px!important;font-size:13px}.step-question{font-weight:600;font-size:16px;color:var(--md-sys-color-on-surface);margin-top:8px;margin-bottom:8px}.step-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-left:0}.condition-warning{display:flex;align-items:flex-start;gap:8px;padding:12px;margin-bottom:12px;border:1px solid var(--md-sys-color-error);border-radius:6px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);font-size:13px}.visual-editor-box{height:auto;min-height:0;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;overflow:visible;box-shadow:none}.w-100{width:100%}.always-hint{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.review-block{display:flex;flex-direction:column;gap:6px}.review-title{font-weight:600}.code-block{font-family:Roboto Mono,monospace;font-size:12px;padding:8px;border-radius:6px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);white-space:pre-wrap;word-break:break-word}.muted{color:var(--md-sys-color-on-surface-variant);font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:14px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);font-size:13px}.condition-panel{width:100%;margin-left:0}.condition-editor{border:1px solid var(--md-sys-color-outline-variant);border-radius:10px;padding:10px;box-shadow:none;background:var(--md-sys-color-surface-container-low);width:100%;min-height:unset;overflow:visible}.dsl-editor-box ::ng-deep .mat-mdc-form-field-flex{border-radius:6px}::ng-deep .mat-horizontal-stepper-header-container{padding:8px 0;gap:8px}::ng-deep .mat-horizontal-stepper-header{padding:6px 10px;border-radius:8px;align-items:center;min-height:44px}::ng-deep .mat-horizontal-stepper-header.mat-step-header:hover{background:var(--md-sys-color-primary-container)}::ng-deep .mat-step-icon{display:flex;align-items:center;justify-content:center;margin-right:8px;height:32px;width:32px}::ng-deep .mat-step-label{display:flex;align-items:center;padding-left:2px}::ng-deep .mat-stepper-horizontal-line{border-top-color:var(--md-sys-color-outline-variant)}::ng-deep .mat-horizontal-content-container{padding:12px 0 0}@media(max-width:768px){::ng-deep .mat-horizontal-stepper-header-container{flex-direction:column;align-items:stretch}}\n"], 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: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i8$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i12$2.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i12$2.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i12$2.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i12$2.MatStepperNext, selector: "button[matStepperNext]" }, { kind: "directive", type: i12$2.MatStepperPrevious, selector: "button[matStepperPrevious]" }, { kind: "directive", type: i12$2.MatStepperIcon, selector: "ng-template[matStepperIcon]", inputs: ["matStepperIcon"] }, { kind: "component", type: TargetSelectorComponent, selector: "praxis-target-selector", inputs: ["fieldSchemas", "targetSchemas", "initialType", "initialSelection"], outputs: ["selectionChanged"] }, { kind: "component", type: PropertyEffectEditorComponent, selector: "praxis-property-effect-editor", inputs: ["properties", "initialConfig"], outputs: ["configChanged"] }, { kind: "component", type: RuleCanvasComponent, selector: "praxis-rule-canvas", inputs: ["conditionOnly", "state", "fieldSchemas"], outputs: ["nodeSelected", "nodeAdded", "nodeUpdated", "nodeRemoved"] }, { kind: "pipe", type: i2.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12691
12691
|
}
|
|
12692
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
12692
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleDefinitionComponent, decorators: [{
|
|
12693
12693
|
type: Component,
|
|
12694
12694
|
args: [{ selector: 'praxis-rule-definition', standalone: true, imports: [
|
|
12695
12695
|
CommonModule,
|
|
@@ -12989,8 +12989,8 @@ class RuleListComponent {
|
|
|
12989
12989
|
onAddRule() {
|
|
12990
12990
|
this.ruleAdded.emit();
|
|
12991
12991
|
}
|
|
12992
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
12993
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
12992
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12993
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RuleListComponent, isStandalone: true, selector: "praxis-rule-list", inputs: { rules: "rules", selectedRuleId: "selectedRuleId", nodeMap: "nodeMap" }, outputs: { ruleSelected: "ruleSelected", ruleDeleted: "ruleDeleted", ruleAdded: "ruleAdded" }, host: { classAttribute: "rule-list-panel" }, ngImport: i0, template: `
|
|
12994
12994
|
<div class="panel-header">
|
|
12995
12995
|
<h3>Regras</h3>
|
|
12996
12996
|
<button
|
|
@@ -13055,7 +13055,7 @@ class RuleListComponent {
|
|
|
13055
13055
|
</div>
|
|
13056
13056
|
`, isInline: true, styles: [":host{display:flex;flex-direction:column;border-right:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);overflow:hidden;min-width:0}.panel-header{padding:12px 12px 8px;display:flex;align-items:center;justify-content:space-between;background:var(--md-sys-color-surface);min-height:40px}.panel-header h3{margin:0;font-size:14px;font-weight:500}.search-box{padding:4px 12px 8px;background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline-variant)}.w-100{width:100%}.search-box mat-form-field{width:100%}.list-content{flex:1;overflow-y:auto;padding:8px}mat-list{padding:0}.rule-list-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;margin-bottom:4px;cursor:pointer;transition:background .2s;border:1px solid transparent;height:auto!important;min-height:48px}::ng-deep .rule-list-item .mdc-list-item__content{display:flex;align-items:center;width:100%;gap:12px}.rule-list-item:hover{background:var(--md-sys-color-surface-variant)}.rule-list-item.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:var(--md-sys-color-outline-variant)}.rule-list-item mat-icon{color:var(--md-sys-color-primary);flex-shrink:0}.rule-info{flex:1;display:flex;flex-direction:column;overflow:hidden;justify-content:center}.rule-name{font-weight:500;font-size:13px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.rule-desc{font-size:11px;opacity:.7;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-list-item button[mat-icon-button]{margin-left:auto;flex-shrink:0}.empty-list{padding:16px;text-align:center;color:var(--md-sys-color-on-surface-variant);font-style:italic;font-size:13px}\n"], 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: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7$1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7$1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7$1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13057
13057
|
}
|
|
13058
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
13058
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleListComponent, decorators: [{
|
|
13059
13059
|
type: Component,
|
|
13060
13060
|
args: [{ selector: 'praxis-rule-list', standalone: true, imports: [
|
|
13061
13061
|
CommonModule,
|
|
@@ -13502,10 +13502,10 @@ class FieldSchemaService {
|
|
|
13502
13502
|
format.pattern = field.pattern;
|
|
13503
13503
|
return Object.keys(format).length > 0 ? format : undefined;
|
|
13504
13504
|
}
|
|
13505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
13506
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
13505
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldSchemaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13506
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldSchemaService, providedIn: 'root' });
|
|
13507
13507
|
}
|
|
13508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
13508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FieldSchemaService, decorators: [{
|
|
13509
13509
|
type: Injectable,
|
|
13510
13510
|
args: [{
|
|
13511
13511
|
providedIn: 'root'
|
|
@@ -13835,8 +13835,8 @@ class RuleEditorComponent {
|
|
|
13835
13835
|
trackByNodeId(index, nodeId) {
|
|
13836
13836
|
return nodeId;
|
|
13837
13837
|
}
|
|
13838
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
13839
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
13838
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleEditorComponent, deps: [{ token: RuleBuilderService }, { token: FieldSchemaService }, { token: i1$2.AiResponseValidatorService }, { token: i4.MatSnackBar }, { token: i1.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13839
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RuleEditorComponent, isStandalone: true, selector: "praxis-rule-editor", inputs: { embedded: "embedded", config: "config", initialRules: "initialRules" }, outputs: { stateChanged: "stateChanged", save: "save", rulesChanged: "rulesChanged", exportRequested: "exportRequested", importRequested: "importRequested" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
13840
13840
|
<div class="rule-editor-container" [class.embedded]="embedded">
|
|
13841
13841
|
<!-- Header Toolbar -->
|
|
13842
13842
|
<mat-toolbar class="rule-editor-toolbar">
|
|
@@ -14021,7 +14021,7 @@ class RuleEditorComponent {
|
|
|
14021
14021
|
</div>
|
|
14022
14022
|
`, isInline: true, styles: [".rule-editor-container{display:flex;flex-direction:column;height:100%;background:var(--md-sys-color-surface);overflow:hidden;position:relative}.rule-editor-container.embedded{height:100%}.rule-editor-toolbar{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0;height:48px!important;padding:0 12px;min-height:48px}.rule-editor-toolbar mat-toolbar-row{height:48px;padding:0}.toolbar-title{display:flex;align-items:center;gap:12px;font-weight:500;font-size:16px}.toolbar-group{display:inline-flex;align-items:center;gap:8px}.module-group{gap:8px;display:flex;align-items:center}.module-group mat-icon{display:flex;align-items:center;justify-content:center;font-size:20px;width:20px;height:20px}.toolbar-divider{width:1px;height:20px;background:var(--md-sys-color-outline-variant);margin:0 8px}.toolbar-spacer{flex:1}.ai-magic-button{border-color:transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#667eea,#764ba2) border-box!important;border:1px solid transparent!important;color:#673ab7!important;font-weight:500!important;margin-right:8px;transition:all .3s ease;height:32px;line-height:32px;font-size:13px;padding:0 12px!important}.ai-magic-button:hover{background:linear-gradient(#667eea0d,#764ba20d) padding-box,linear-gradient(135deg,#667eea,#764ba2) border-box!important;box-shadow:0 0 12px #764ba233}.ai-magic-button .magic-icon{color:#764ba2;transition:transform .3s ease;font-size:18px;width:18px;height:18px;margin-right:6px}.ai-magic-button:hover .magic-icon{animation:sparkle 1.5s infinite}.rule-editor-toolbar button[mat-icon-button]{width:36px;height:36px;line-height:36px;padding:8px}.rule-editor-toolbar button[mat-icon-button] mat-icon{font-size:20px;width:20px;height:20px;line-height:20px}.rule-editor-toolbar button[mat-button]{height:32px;line-height:32px;font-size:13px}.rule-editor-toolbar button[mat-button] mat-icon{font-size:18px;width:18px;height:18px;margin-right:4px}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2) rotate(15deg)}}.editor-content-grid{display:grid;grid-template-columns:300px 1fr;flex:1;overflow:hidden;min-height:0;transition:grid-template-columns .2s ease}.editor-content-grid.list-closed{grid-template-columns:0 1fr}.rule-list-panel{border-right:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);display:flex;flex-direction:column;overflow:hidden}.rule-definition-panel{background:var(--md-sys-color-surface);overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0;flex:1}.empty-state,.unsupported-node{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--md-sys-color-on-surface-variant);gap:16px;text-align:center;padding:32px}.empty-state mat-icon,.unsupported-node mat-icon{font-size:64px;width:64px;height:64px;opacity:.5}.status-bar{height:32px;background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.status-left,.status-center{display:flex;align-items:center;gap:8px}.validation-status{display:flex;align-items:center;gap:4px}.validation-status.error{color:var(--md-sys-color-error)}.validation-status.success{color:var(--md-sys-color-primary)}.validation-status mat-icon{font-size:16px;width:16px;height:16px}.debug-panel{position:absolute;top:0;right:0;bottom:0;width:400px;background:var(--md-sys-color-surface);border-left:1px solid var(--md-sys-color-outline);box-shadow:-2px 0 8px #0000001a;z-index:1000;display:flex;flex-direction:column}.debug-header{padding:8px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;background:var(--md-sys-color-surface-container)}.debug-content{flex:1;overflow:auto;padding:16px;font-family:monospace;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i9$2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i11$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: RuleListComponent, selector: "praxis-rule-list", inputs: ["rules", "selectedRuleId", "nodeMap"], outputs: ["ruleSelected", "ruleDeleted", "ruleAdded"] }, { kind: "component", type: RuleDefinitionComponent, selector: "praxis-rule-definition", inputs: ["ruleNode", "fieldSchemas", "targetSchemas", "propertySchema"], outputs: ["ruleChanged"] }, { kind: "pipe", type: i2.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14023
14023
|
}
|
|
14024
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
14024
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleEditorComponent, decorators: [{
|
|
14025
14025
|
type: Component,
|
|
14026
14026
|
args: [{ selector: 'praxis-rule-editor', standalone: true, imports: [
|
|
14027
14027
|
CommonModule,
|
|
@@ -14260,8 +14260,8 @@ class PraxisVisualBuilder {
|
|
|
14260
14260
|
onImportRequested(options) {
|
|
14261
14261
|
this.importRequested.emit(options);
|
|
14262
14262
|
}
|
|
14263
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
14264
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
14263
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PraxisVisualBuilder, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14264
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: PraxisVisualBuilder, isStandalone: true, selector: "praxis-visual-builder", inputs: { config: "config", initialRules: "initialRules" }, outputs: { rulesChanged: "rulesChanged", exportRequested: "exportRequested", importRequested: "importRequested" }, ngImport: i0, template: `
|
|
14265
14265
|
<div class="praxis-visual-builder">
|
|
14266
14266
|
<praxis-rule-editor
|
|
14267
14267
|
[config]="config"
|
|
@@ -14274,7 +14274,7 @@ class PraxisVisualBuilder {
|
|
|
14274
14274
|
</div>
|
|
14275
14275
|
`, isInline: true, styles: [".praxis-visual-builder{--vb-state-hover: var(--md-sys-color-surface-container-low);--vb-state-focus: var(--md-sys-color-surface-container);--vb-state-pressed: var(--md-sys-color-surface-container-high);--vb-elevation-1: 0 1px 3px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .12);--vb-elevation-2: 0 2px 6px rgba(0, 0, 0, .18), 0 2px 4px rgba(0, 0, 0, .12);--vb-elevation-3: 0 4px 10px rgba(0, 0, 0, .22), 0 2px 6px rgba(0, 0, 0, .14);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);--vb-surface: var(--vb-host-surface, var(--md-sys-color-surface));--vb-surface-alt: var(--md-sys-color-surface-container-low);--vb-surface-high: var(--md-sys-color-surface-container-high);--vb-border: var(--md-sys-color-outline-variant);--vb-text-strong: var(--md-sys-color-on-surface);--vb-text-muted: var(--md-sys-color-on-surface-variant);--vb-text-placeholder: var(--md-sys-color-on-surface-variant);--vb-panel-error-surface: var(--md-sys-color-error-container);--vb-panel-error-text: var(--md-sys-color-on-error-container);--vb-panel-warning-surface: var(--md-sys-color-tertiary-container);--vb-panel-warning-text: var(--md-sys-color-on-tertiary-container);--mdc-outlined-text-field-input-text-color: var(--vb-text-strong);--mdc-outlined-text-field-label-text-color: var(--vb-text-muted);--mdc-outlined-text-field-hover-label-text-color: var(--vb-text-muted);--mdc-outlined-text-field-focus-label-text-color: var(--md-sys-color-primary);--mdc-outlined-text-field-placeholder-text-color: var(--vb-text-placeholder);--mdc-outlined-text-field-hover-placeholder-text-color: var(--vb-text-placeholder);--mdc-outlined-text-field-focus-placeholder-text-color: var(--vb-text-placeholder);--mdc-outlined-text-field-supporting-text-color: var(--vb-text-muted);--mdc-outlined-text-field-caret-color: var(--md-sys-color-primary);--mdc-outlined-text-field-outline-color: var(--md-sys-color-outline-variant);--mdc-outlined-text-field-hover-outline-color: var(--md-sys-color-outline);--mdc-outlined-text-field-focus-outline-color: var(--md-sys-color-primary);--mat-form-field-select-option-text-color: var(--vb-text-strong);--mat-select-enabled-trigger-text-color: var(--vb-text-strong);--mat-select-disabled-trigger-text-color: var(--md-sys-color-on-surface-variant);--mat-select-panel-background-color: var(--md-sys-color-surface);--mat-option-label-text-color: var(--vb-text-strong);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary);--mat-option-focus-state-label-text-color: var(--vb-text-strong)}.praxis-visual-builder .rule-canvas{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;box-shadow:var(--vb-elevation-1)}.praxis-visual-builder .rule-canvas:hover{border-color:var(--md-sys-color-outline);background:var(--md-sys-color-surface-container)}.praxis-visual-builder .rule-node{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:6px;box-shadow:var(--vb-elevation-1);color:var(--md-sys-color-on-surface);position:relative}.praxis-visual-builder .rule-node.selected{border-color:var(--md-sys-color-primary);box-shadow:var(--vb-elevation-2);color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container)}.praxis-visual-builder .rule-node:hover{background:var(--md-sys-color-surface-container-low);box-shadow:var(--vb-elevation-2)}.praxis-visual-builder .rule-node:focus-within{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary);box-shadow:var(--vb-elevation-2)}.praxis-visual-builder .condition-editor .field-selector .mat-mdc-form-field,.praxis-visual-builder .condition-editor .operator-selector .mat-mdc-form-field,.praxis-visual-builder .condition-editor .value-input .mat-mdc-form-field{width:100%}.praxis-visual-builder .metadata-editor{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;color:var(--md-sys-color-on-surface);box-shadow:var(--vb-elevation-1)}.praxis-visual-builder .metadata-editor .metadata-field{margin-bottom:16px}.praxis-visual-builder .metadata-editor .metadata-field:last-child{margin-bottom:0}.praxis-visual-builder .dsl-viewer{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;box-shadow:var(--vb-elevation-1);font-family:Roboto Mono,monospace}.praxis-visual-builder .dsl-viewer .dsl-content{color:var(--md-sys-color-on-surface)}.praxis-visual-builder .dsl-viewer .dsl-content .syntax-keyword{color:#bb86fc}.praxis-visual-builder .dsl-viewer .dsl-content .syntax-operator{color:#03dac6}.praxis-visual-builder .dsl-viewer .dsl-content .syntax-string{color:#a5d6a7}.praxis-visual-builder .dsl-viewer .dsl-content .syntax-number{color:#ffab91}.praxis-visual-builder .action-button.primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--vb-elevation-1)}.praxis-visual-builder .action-button.primary:hover,.praxis-visual-builder .action-button.primary:active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.praxis-visual-builder .action-button.secondary{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface)}.praxis-visual-builder .action-button.secondary:hover{background:var(--md-sys-color-surface-container-low)}.praxis-visual-builder .action-button.secondary:active{background:var(--md-sys-color-surface-container)}.praxis-visual-builder .drag-placeholder{background:var(--md-sys-color-primary-container);border:2px dashed var(--md-sys-color-primary);border-radius:6px}.praxis-visual-builder .drag-preview{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-primary);border-radius:6px;box-shadow:0 4px 8px #0000004d}.praxis-visual-builder .help-tooltip{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline);border-radius:6px;color:var(--md-sys-color-on-surface)}.praxis-visual-builder .validation-error{color:var(--vb-panel-error-text);border-color:var(--md-sys-color-error);background:var(--vb-panel-error-surface)}.praxis-visual-builder .validation-warning{color:var(--vb-panel-warning-text);border-color:var(--md-sys-color-tertiary);background:var(--vb-panel-warning-surface)}.praxis-visual-builder .validation-success{color:var(--md-sys-color-on-tertiary-container);border-color:var(--md-sys-color-tertiary);background:var(--md-sys-color-tertiary-container)}.praxis-visual-builder .vb-surface-card{--mdc-elevated-card-container-color: var(--vb-surface);--mdc-outlined-card-container-color: var(--vb-surface);--mdc-outlined-card-outline-color: var(--vb-border);color:var(--md-sys-color-on-surface);border:1px solid var(--vb-border)}.praxis-visual-builder .vb-surface-card .mat-mdc-card-subtitle{color:var(--md-sys-color-on-surface-variant)}.praxis-visual-builder .mat-mdc-tab-header,.praxis-visual-builder .mat-mdc-tab-header-pagination{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant)}.praxis-visual-builder .mat-mdc-tab .mdc-tab__text-label{color:var(--md-sys-color-on-surface-variant)}.praxis-visual-builder .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--md-sys-color-primary)}.praxis-visual-builder .mat-mdc-tab:not(.mdc-tab--disabled):hover .mdc-tab__text-label,.praxis-visual-builder .mat-mdc-tab.mdc-tab--active:focus-visible .mdc-tab__text-label{color:var(--md-sys-color-primary)}.praxis-visual-builder .mat-mdc-tab.mdc-tab--disabled .mdc-tab__text-label{color:var(--md-sys-color-on-surface-variant)}.praxis-visual-builder .mat-mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:var(--md-sys-color-primary)}.dsl-linter-select-panel{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);--mdc-list-item-label-text-color: var(--md-sys-color-on-surface);--mdc-list-item-disabled-label-text-color: var(--md-sys-color-on-surface-variant)}.dsl-linter-select-panel .mat-mdc-option .mdc-list-item__primary-text{color:var(--md-sys-color-on-surface)}.dsl-linter-select-panel .mat-mdc-option.mdc-list-item--selected .mdc-list-item__primary-text{color:var(--md-sys-color-primary)}\n", ":host{display:flex;flex-direction:column;width:100%;height:100%}.praxis-visual-builder{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:inherit}praxis-rule-editor{flex:1;min-height:0}\n"], dependencies: [{ kind: "component", type: RuleEditorComponent, selector: "praxis-rule-editor", inputs: ["embedded", "config", "initialRules"], outputs: ["stateChanged", "save", "rulesChanged", "exportRequested", "importRequested"] }] });
|
|
14276
14276
|
}
|
|
14277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
14277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PraxisVisualBuilder, decorators: [{
|
|
14278
14278
|
type: Component,
|
|
14279
14279
|
args: [{ selector: 'praxis-visual-builder', standalone: true, imports: [RuleEditorComponent], template: `
|
|
14280
14280
|
<div class="praxis-visual-builder">
|
|
@@ -14827,10 +14827,10 @@ class WebhookIntegrationService {
|
|
|
14827
14827
|
generateDeliveryId() {
|
|
14828
14828
|
return `delivery_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
14829
14829
|
}
|
|
14830
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
14831
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
14830
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WebhookIntegrationService, deps: [{ token: RuleBuilderService }, { token: ExportIntegrationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14831
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WebhookIntegrationService, providedIn: 'root' });
|
|
14832
14832
|
}
|
|
14833
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
14833
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WebhookIntegrationService, decorators: [{
|
|
14834
14834
|
type: Injectable,
|
|
14835
14835
|
args: [{
|
|
14836
14836
|
providedIn: 'root'
|
|
@@ -15391,10 +15391,10 @@ class RuleTemplateService {
|
|
|
15391
15391
|
const patch = parseInt(parts[2] || '0') + 1;
|
|
15392
15392
|
return `${parts[0]}.${parts[1]}.${patch}`;
|
|
15393
15393
|
}
|
|
15394
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
15395
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
15394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleTemplateService, deps: [{ token: SpecificationBridgeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15395
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleTemplateService, providedIn: 'root' });
|
|
15396
15396
|
}
|
|
15397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
15397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleTemplateService, decorators: [{
|
|
15398
15398
|
type: Injectable,
|
|
15399
15399
|
args: [{
|
|
15400
15400
|
providedIn: 'root'
|
|
@@ -15840,10 +15840,10 @@ class RuleValidationService {
|
|
|
15840
15840
|
return 1;
|
|
15841
15841
|
}
|
|
15842
15842
|
}
|
|
15843
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
15844
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
15843
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleValidationService, deps: [{ token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15844
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleValidationService, providedIn: 'root' });
|
|
15845
15845
|
}
|
|
15846
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
15846
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleValidationService, decorators: [{
|
|
15847
15847
|
type: Injectable,
|
|
15848
15848
|
args: [{
|
|
15849
15849
|
providedIn: 'root'
|
|
@@ -16391,10 +16391,10 @@ class ContextManagementService {
|
|
|
16391
16391
|
return 0;
|
|
16392
16392
|
}
|
|
16393
16393
|
}
|
|
16394
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
16395
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
16394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ContextManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16395
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ContextManagementService, providedIn: 'root' });
|
|
16396
16396
|
}
|
|
16397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
16397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: ContextManagementService, decorators: [{
|
|
16398
16398
|
type: Injectable,
|
|
16399
16399
|
args: [{
|
|
16400
16400
|
providedIn: 'root',
|
|
@@ -16591,10 +16591,10 @@ class RuleConversionService {
|
|
|
16591
16591
|
children,
|
|
16592
16592
|
};
|
|
16593
16593
|
}
|
|
16594
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
16595
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
16594
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleConversionService, deps: [{ token: ConverterFactoryService }, { token: i1$2.DslParsingService }, { token: ContextManagementService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16595
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleConversionService, providedIn: 'root' });
|
|
16596
16596
|
}
|
|
16597
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
16597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RuleConversionService, decorators: [{
|
|
16598
16598
|
type: Injectable,
|
|
16599
16599
|
args: [{
|
|
16600
16600
|
providedIn: 'root',
|
|
@@ -16962,8 +16962,8 @@ class MetadataEditorComponent {
|
|
|
16962
16962
|
removeDocumentationLink(index) {
|
|
16963
16963
|
this.documentationLinks.removeAt(index);
|
|
16964
16964
|
}
|
|
16965
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
16966
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
16965
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MetadataEditorComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
16966
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: MetadataEditorComponent, isStandalone: true, selector: "praxis-metadata-editor", inputs: { selectedNode: "selectedNode" }, outputs: { metadataUpdated: "metadataUpdated" }, usesOnChanges: true, ngImport: i0, template: `
|
|
16967
16967
|
<div class="metadata-editor-container" *ngIf="selectedNode">
|
|
16968
16968
|
<!-- Header -->
|
|
16969
16969
|
<div class="editor-header">
|
|
@@ -17501,7 +17501,7 @@ class MetadataEditorComponent {
|
|
|
17501
17501
|
</div>
|
|
17502
17502
|
`, isInline: true, styles: [".metadata-editor-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--md-sys-color-surface-container);border-bottom:1px solid var(--md-sys-color-outline-variant)}.node-info{display:flex;align-items:center;gap:12px}.node-icon{font-size:24px;width:24px;height:24px;color:var(--md-sys-color-primary)}.node-details{display:flex;flex-direction:column}.node-title{margin:0;font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)}.node-subtitle{margin:0;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.header-actions{display:flex;gap:8px}.metadata-form{flex:1;overflow:auto;padding:16px}.tab-content{padding:16px 0;display:flex;flex-direction:column;gap:16px}.full-width{width:100%}.form-row{display:flex;gap:12px;align-items:flex-start}.form-row>*{flex:1}.config-panel{margin-bottom:16px}.panel-content{padding:16px;display:flex;flex-direction:column;gap:16px}.priority-option,.icon-option{display:flex;align-items:center;gap:8px}.priority-option small,.icon-option small{color:var(--md-sys-color-on-surface-variant);font-size:11px}.toggle-options,.display-options,.animation-options{display:flex;flex-direction:column;gap:8px}.custom-properties{display:flex;flex-direction:column;gap:12px}.custom-property-item{border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:12px;background:var(--md-sys-color-surface)}.property-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.property-number{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.property-form{display:flex;gap:8px}.property-key,.property-value{flex:2}.property-type{flex:1}.conditional-config{display:flex;flex-direction:column;gap:12px}.conditional-rules{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--md-sys-color-surface);border-radius:8px;border:1px solid var(--md-sys-color-outline-variant)}.documentation-links{display:flex;flex-direction:column;gap:8px}.documentation-links h5{margin:0;font-size:13px;font-weight:500;color:var(--md-sys-color-primary)}.doc-link-item{display:flex;gap:8px;align-items:center}.link-title,.link-url{flex:1}.add-property-button,.add-link-button{align-self:flex-start}.preview-section{margin-top:24px;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;overflow:hidden}.preview-title{display:flex;align-items:center;gap:8px;margin:0;padding:12px 16px;background:var(--md-sys-color-primary-container);border-bottom:1px solid var(--md-sys-color-outline-variant);font-size:14px;font-weight:500}.preview-content{padding:16px;background:var(--md-sys-color-surface)}.preview-json{font-family:Courier New,monospace;font-size:12px;color:var(--md-sys-color-on-surface);margin:0;white-space:pre-wrap;background:var(--md-sys-color-surface-container);padding:12px;border-radius:4px;border:1px solid var(--md-sys-color-outline-variant);max-height:200px;overflow-y:auto}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.empty-state-content{max-width:300px}.empty-icon{font-size:64px;width:64px;height:64px;color:var(--md-sys-color-on-surface-variant);margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-weight:500}.empty-state p{margin:0;color:var(--md-sys-color-on-surface-variant);line-height:1.4}@media(max-width:768px){.form-row,.property-form{flex-direction:column}.doc-link-item{flex-direction:column;align-items:stretch}}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i12$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i12$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17503
17503
|
}
|
|
17504
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
17504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MetadataEditorComponent, decorators: [{
|
|
17505
17505
|
type: Component,
|
|
17506
17506
|
args: [{ selector: 'praxis-metadata-editor', standalone: true, imports: [
|
|
17507
17507
|
CommonModule,
|
|
@@ -18389,8 +18389,8 @@ class DslViewerComponent {
|
|
|
18389
18389
|
});
|
|
18390
18390
|
this.highlightedDsl = highlighted;
|
|
18391
18391
|
}
|
|
18392
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
18393
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
18392
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslViewerComponent, deps: [{ token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
18393
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: DslViewerComponent, isStandalone: true, selector: "praxis-dsl-viewer", inputs: { dsl: "dsl", editable: "editable", language: "language", theme: "theme" }, outputs: { dslChanged: "dslChanged", validationChanged: "validationChanged" }, viewQueries: [{ propertyName: "editorTextarea", first: true, predicate: ["editorTextarea"], descendants: true }, { propertyName: "syntaxOverlay", first: true, predicate: ["syntaxOverlay"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
18394
18394
|
<div class="dsl-viewer-container" [ngClass]="themeClass">
|
|
18395
18395
|
<!-- Toolbar -->
|
|
18396
18396
|
<mat-toolbar class="dsl-toolbar" color="primary">
|
|
@@ -18577,7 +18577,7 @@ class DslViewerComponent {
|
|
|
18577
18577
|
</div>
|
|
18578
18578
|
`, isInline: true, styles: [".dsl-viewer-container{display:flex;flex-direction:column;height:100%;overflow:hidden;--dsl-surface: #0f172a;--dsl-surface-alt: #111827;--dsl-border: #1f2937;--dsl-text: #e2e8f0;--dsl-muted: #94a3b8;--dsl-token-keyword: #c084fc;--dsl-token-operator: #22d3ee;--dsl-token-string: #34d399;--dsl-token-number: #f472b6;--dsl-token-function: #60a5fa;--dsl-token-variable: #fbbf24;--dsl-token-field: #cbd5e1;--dsl-token-regex: #a5b4fc;--dsl-shadow: 0 8px 24px rgba(0, 0, 0, .45)}.dsl-viewer-container.dsl-theme-light{--dsl-surface: #f8fafc;--dsl-surface-alt: #f1f5f9;--dsl-border: #e2e8f0;--dsl-text: #0f172a;--dsl-muted: #475569;--dsl-token-keyword: #7c3aed;--dsl-token-operator: #0ea5e9;--dsl-token-string: #059669;--dsl-token-number: #db2777;--dsl-token-function: #2563eb;--dsl-token-variable: #d97706;--dsl-token-field: #0f172a;--dsl-token-regex: #4338ca;--dsl-shadow: 0 6px 18px rgba(15, 23, 42, .15)}.dsl-viewer-container.dsl-theme-contrast{--dsl-surface: #0b0b0b;--dsl-surface-alt: #111;--dsl-border: #3f3f46;--dsl-text: #f8fafc;--dsl-muted: #e5e7eb;--dsl-token-keyword: #ffb7ff;--dsl-token-operator: #79e0ff;--dsl-token-string: #9af0b2;--dsl-token-number: #ff8abf;--dsl-token-function: #9fc5ff;--dsl-token-variable: #ffd166;--dsl-token-field: #ffffff;--dsl-token-regex: #b2b5ff;--dsl-shadow: 0 10px 28px rgba(0, 0, 0, .6)}.dsl-toolbar{flex-shrink:0;padding:0 16px}.toolbar-title{display:flex;align-items:center;gap:8px;font-weight:500}.toolbar-spacer{flex:1}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions .mat-mdc-icon-button{color:var(--md-sys-color-on-primary)}.toolbar-actions .mat-mdc-icon-button:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.toolbar-actions .mat-mdc-icon-button:disabled{color:var(--md-sys-color-on-surface);opacity:.38}.validation-status{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.validation-status.valid{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.validation-status.invalid{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.validation-status.warning{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.validation-status mat-icon{font-size:16px;width:16px;height:16px}.editor-container{flex:1;position:relative;overflow:hidden}.dsl-editor-surface{position:relative;height:100%;border-radius:8px;background:var(--dsl-surface);border:1px solid var(--dsl-border);overflow:hidden;font-family:Courier New,monospace;box-shadow:var(--dsl-shadow)}.syntax-overlay{position:absolute;inset:0;pointer-events:none;white-space:pre-wrap;font-family:Courier New,monospace;font-size:14px;line-height:1.4;padding:16px;color:var(--dsl-text);background:transparent;overflow:auto;z-index:1}.syntax-keyword{color:var(--dsl-token-keyword)}.syntax-operator{color:var(--dsl-token-operator)}.syntax-string{color:var(--dsl-token-string)}.syntax-number{color:var(--dsl-token-number)}.syntax-function{color:var(--dsl-token-function)}.syntax-variable{color:var(--dsl-token-variable)}.syntax-field{color:var(--dsl-token-field)}.dsl-textarea{position:absolute;inset:0;width:100%;height:100%;border:none;resize:none;outline:none;padding:16px;font-family:Courier New,monospace;font-size:14px;line-height:1.4;background:transparent;color:transparent;caret-color:var(--md-sys-color-on-surface);tab-size:2;overflow:auto;z-index:2}.readonly-overlay{position:absolute;top:8px;right:8px;z-index:100}.readonly-message{display:flex;align-items:center;gap:4px;background:var(--md-sys-color-surface-container);padding:4px 8px;border-radius:4px;font-size:12px;color:var(--md-sys-color-on-surface-variant);box-shadow:0 2px 4px var(--vb-shadow-low-color, rgba(0,0,0,.1))}.readonly-message mat-icon{font-size:14px;width:14px;height:14px}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;background:var(--dsl-surface-alt);border-top:1px solid var(--dsl-border);font-size:12px;color:var(--dsl-muted);flex-shrink:0}.status-left,.status-center,.status-right{display:flex;align-items:center;gap:12px}.cursor-position{font-family:monospace}.syntax-errors,.warnings{display:flex;align-items:center;gap:4px}.syntax-errors mat-icon,.warnings mat-icon{font-size:14px;width:14px;height:14px}.language-mode{font-family:monospace;font-weight:600}.unsaved-indicator{color:var(--md-sys-color-primary);font-weight:700;font-size:16px}.error-panel{background:var(--dsl-surface);border-top:1px solid var(--dsl-border);max-height:200px;overflow-y:auto;flex-shrink:0}.error-panel-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--dsl-surface-alt);border-bottom:1px solid var(--dsl-border)}.error-panel-header h4{margin:0;font-size:14px;font-weight:500}.error-list{padding:8px}.error-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:4px;margin-bottom:4px;cursor:pointer;transition:background .2s ease}.error-item:hover{background:var(--md-sys-color-surface-container)}.error-item.severity-error{border-left:3px solid var(--md-sys-color-error)}.error-item.severity-warning{border-left:3px solid var(--md-sys-color-secondary)}.error-item mat-icon{font-size:16px;width:16px;height:16px;margin-top:2px}.error-item.severity-error mat-icon{color:var(--md-sys-color-error)}.error-item.severity-warning mat-icon{color:var(--md-sys-color-secondary)}.error-content{flex:1}.error-message{font-weight:500;margin-bottom:2px}.error-location{font-size:11px;color:var(--md-sys-color-on-surface-variant);font-family:monospace}@media(max-width:768px){.toolbar-actions{gap:4px}.status-bar{flex-direction:column;gap:4px;align-items:stretch}.status-left,.status-center,.status-right{justify-content:center}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSnackBarModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18579
18579
|
}
|
|
18580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
18580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslViewerComponent, decorators: [{
|
|
18581
18581
|
type: Component,
|
|
18582
18582
|
args: [{ selector: 'praxis-dsl-viewer', standalone: true, imports: [
|
|
18583
18583
|
CommonModule,
|
|
@@ -18942,8 +18942,8 @@ class JsonViewerComponent {
|
|
|
18942
18942
|
this.wordWrap = true;
|
|
18943
18943
|
}
|
|
18944
18944
|
}
|
|
18945
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
18946
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
18945
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: JsonViewerComponent, deps: [{ token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
18946
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: JsonViewerComponent, isStandalone: true, selector: "praxis-json-viewer", inputs: { json: "json", editable: "editable" }, outputs: { jsonChanged: "jsonChanged" }, usesOnChanges: true, ngImport: i0, template: `
|
|
18947
18947
|
<div class="json-viewer-container">
|
|
18948
18948
|
<!-- Toolbar -->
|
|
18949
18949
|
<mat-toolbar class="json-toolbar" color="primary">
|
|
@@ -19076,7 +19076,7 @@ class JsonViewerComponent {
|
|
|
19076
19076
|
</div>
|
|
19077
19077
|
`, isInline: true, styles: [".json-viewer-container{display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0}.json-toolbar{flex-shrink:0;padding:0 16px}.toolbar-title{display:flex;align-items:center;gap:8px;font-weight:500}.toolbar-spacer{flex:1}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions .mat-mdc-icon-button{color:var(--md-sys-color-on-primary)}.toolbar-actions .mat-mdc-icon-button:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.toolbar-actions .mat-mdc-icon-button:disabled{color:var(--md-sys-color-on-surface);opacity:.38}.validation-status{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.validation-status.valid{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.validation-status.invalid{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.validation-status mat-icon{font-size:16px;width:16px;height:16px}.editor-container{flex:1;position:relative;overflow:hidden;min-width:0}.json-editor{position:relative;height:100%;display:flex;min-width:0;width:100%}.json-textarea{flex:1;width:100%;border:none;outline:none;resize:none;font-family:Courier New,monospace;font-size:14px;line-height:1.5;padding:16px;background:var(--md-sys-color-surface, #f5f7fb);color:var(--md-sys-color-on-surface, #0f172a);caret-color:var(--md-sys-color-on-surface, #0f172a);white-space:pre;overflow-wrap:normal;overflow:auto;box-sizing:border-box}.json-textarea.has-line-numbers{padding-left:60px}.json-textarea.word-wrap{white-space:pre-wrap;overflow-wrap:break-word}.json-textarea:read-only{background:var(--md-sys-color-surface-container, #e7edf7);color:var(--md-sys-color-on-surface, #0f172a)}.line-numbers-panel{position:absolute;left:0;top:0;width:50px;height:100%;background:var(--md-sys-color-surface-container);border-right:1px solid var(--md-sys-color-outline-variant);padding:16px 8px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;color:var(--md-sys-color-on-surface-variant);text-align:right;overflow:hidden;-webkit-user-select:none;user-select:none}.line-numbers-panel .line-number{height:21px}.readonly-overlay{position:absolute;top:8px;right:8px;z-index:100}.readonly-message{display:flex;align-items:center;gap:4px;background:var(--md-sys-color-surface-container);padding:4px 8px;border-radius:4px;font-size:12px;color:var(--md-sys-color-on-surface-variant);box-shadow:0 2px 4px var(--vb-shadow-low-color, rgba(0,0,0,.1))}.readonly-message mat-icon{font-size:14px;width:14px;height:14px}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant);font-size:12px;color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.status-left,.status-center,.status-right{display:flex;align-items:center;gap:12px}.validation-error{display:flex;align-items:center;gap:4px;color:var(--md-sys-color-error)}.validation-error mat-icon{font-size:14px;width:14px;height:14px}.language-mode{font-family:monospace;font-weight:600}.unsaved-indicator{color:var(--md-sys-color-primary);font-weight:700;font-size:16px}\n"], 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: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSnackBarModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19078
19078
|
}
|
|
19079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
19079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: JsonViewerComponent, decorators: [{
|
|
19080
19080
|
type: Component,
|
|
19081
19081
|
args: [{ selector: 'praxis-json-viewer', standalone: true, imports: [
|
|
19082
19082
|
CommonModule,
|
|
@@ -19460,8 +19460,8 @@ class RoundTripTesterComponent {
|
|
|
19460
19460
|
return 'good';
|
|
19461
19461
|
return 'poor';
|
|
19462
19462
|
}
|
|
19463
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
19464
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
19463
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundTripTesterComponent, deps: [{ token: RoundTripValidatorService }, { token: RuleBuilderService }, { token: i4.MatSnackBar }, { token: i0.ChangeDetectorRef }, { token: RuleNodeRegistryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19464
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: RoundTripTesterComponent, isStandalone: true, selector: "praxis-round-trip-tester", ngImport: i0, template: `
|
|
19465
19465
|
<div class="round-trip-tester-container">
|
|
19466
19466
|
<!-- Header -->
|
|
19467
19467
|
<mat-toolbar color="primary">
|
|
@@ -19853,7 +19853,7 @@ class RoundTripTesterComponent {
|
|
|
19853
19853
|
</div>
|
|
19854
19854
|
`, isInline: true, styles: [".round-trip-tester-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.toolbar-title{display:flex;align-items:center;gap:8px;font-weight:500}.toolbar-spacer{flex:1}.toolbar-actions{display:flex;gap:8px}.tester-content{flex:1;padding:16px;overflow:auto}.tester-grid{display:grid;grid-template-columns:1fr 2fr;gap:16px;height:100%}.test-selection-panel,.results-panel{height:fit-content;max-height:100%;overflow:auto}.test-options{display:flex;flex-direction:column;gap:16px}.test-option h4{margin:0 0 8px;color:var(--md-sys-color-primary)}.test-description{margin:0 0 12px;color:var(--md-sys-color-on-surface-variant);font-size:14px}.current-rule-info,.test-suite-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rule-type,.test-count{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.rule-label{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.no-rule-message{color:var(--md-sys-color-error);font-style:italic;font-size:13px}.test-cases-list{margin-top:12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:8px}.test-case-item{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.test-case-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.test-case-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.test-case-name{font-weight:500;font-size:14px}.test-case-description{margin:0;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.progress-bar{margin-bottom:16px}.running-icon{animation:spin 2s linear infinite;margin-left:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-results{text-align:center;padding:40px;color:var(--md-sys-color-on-surface-variant)}.no-results mat-icon{font-size:48px;width:48px;height:48px;margin-bottom:16px}.no-results h3{margin:0 0 8px}.single-test-result{display:flex;flex-direction:column;gap:16px}.result-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;background:var(--md-sys-color-surface-container)}.result-status{display:flex;align-items:center;gap:8px;font-weight:600}.result-status.success{color:var(--md-sys-color-tertiary)}.result-status.failure{color:var(--md-sys-color-error)}.result-timing{font-family:monospace;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.stages-list,.integrity-checks{display:flex;flex-direction:column;gap:8px}.stage-item{padding:12px;border-radius:4px;border-left:4px solid var(--md-sys-color-outline-variant)}.stage-item.stage-success{border-left-color:var(--md-sys-color-tertiary);background:var(--md-sys-color-tertiary-container)}.stage-item.stage-error{border-left-color:var(--md-sys-color-error);background:var(--md-sys-color-error-container)}.stage-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.stage-name{flex:1;font-weight:500}.stage-timing{font-family:monospace;font-size:12px}.stage-error-message{color:var(--md-sys-color-error);font-size:13px;margin-top:4px}.stage-dsl-output{margin-top:8px}.stage-dsl-output pre{background:var(--md-sys-color-surface);padding:8px;border-radius:4px;font-size:12px;margin:4px 0 0;overflow-x:auto}.integrity-check{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px}.integrity-check.check-passed{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.integrity-check.check-failed{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.issues-section{margin-top:16px}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}.error-title{color:var(--md-sys-color-error)}.warning-title{color:var(--md-sys-color-secondary)}.issue-item{padding:12px;border-radius:4px;margin-bottom:8px}.error-item{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-left:4px solid var(--md-sys-color-error)}.warning-item{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-left:4px solid var(--md-sys-color-secondary)}.issue-header{display:flex;gap:8px;margin-bottom:4px}.issue-code{font-family:monospace;font-size:12px;background:#0000001a;padding:2px 6px;border-radius:3px}.issue-severity{font-size:11px;text-transform:uppercase;font-weight:600}.issue-message{font-size:14px}.test-suite-results{display:flex;flex-direction:column;gap:16px}.suite-summary{background:var(--md-sys-color-surface-container);padding:16px;border-radius:8px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stat-item{text-align:center;padding:12px;border-radius:4px;background:var(--md-sys-color-surface)}.stat-item.passed{border-left:4px solid var(--md-sys-color-tertiary)}.stat-item.failed{border-left:4px solid var(--md-sys-color-error)}.stat-label{display:block;font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}.stat-value{display:block;font-size:20px;font-weight:600}.success-rate{text-align:center}.rate-label{font-size:14px;color:var(--md-sys-color-on-surface-variant)}.rate-value{font-size:18px;font-weight:600;margin-left:8px}.rate-value.excellent{color:var(--md-sys-color-tertiary)}.rate-value.good{color:var(--md-sys-color-secondary)}.rate-value.poor{color:var(--md-sys-color-error)}.test-result-panel{margin-bottom:8px}.success-icon{color:var(--md-sys-color-tertiary)}.error-icon{color:var(--md-sys-color-error)}.test-timing{margin-left:auto;font-family:monospace;font-size:12px}.test-details{display:flex;flex-direction:column;gap:16px;padding:16px}.test-case-info h5,.quick-summary h5{margin:0 0 8px;color:var(--md-sys-color-primary)}.test-case-details{display:flex;flex-direction:column;gap:4px}.detail-item{font-size:13px}.summary-items{display:flex;gap:16px;flex-wrap:wrap}.summary-item{display:flex;align-items:center;gap:4px;font-size:13px}.summary-item.success{color:var(--md-sys-color-tertiary)}.summary-item.failure{color:var(--md-sys-color-error)}@media(max-width:1024px){.tester-grid{grid-template-columns:1fr;gap:16px}.test-selection-panel{order:2}.results-panel{order:1}}\n"], 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: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i6$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19855
19855
|
}
|
|
19856
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
19856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: RoundTripTesterComponent, decorators: [{
|
|
19857
19857
|
type: Component,
|
|
19858
19858
|
args: [{ selector: 'praxis-round-trip-tester', standalone: true, imports: [
|
|
19859
19859
|
CommonModule,
|
|
@@ -20868,8 +20868,8 @@ class DslLinterComponent {
|
|
|
20868
20868
|
// Open linter settings dialog
|
|
20869
20869
|
console.log('Abrir configurações do linter');
|
|
20870
20870
|
}
|
|
20871
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
20872
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
20871
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslLinterComponent, deps: [{ token: RuleBuilderService }, { token: SpecificationBridgeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20872
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: DslLinterComponent, isStandalone: true, selector: "praxis-dsl-linter", inputs: { dsl: "dsl", autoLint: "autoLint", lintDelay: "lintDelay" }, outputs: { errorSelected: "errorSelected", quickFixApplied: "quickFixApplied", ruleToggled: "ruleToggled" }, host: { classAttribute: "dsl-linter-host praxis-visual-builder" }, ngImport: i0, template: `
|
|
20873
20873
|
<div class="dsl-linter-container">
|
|
20874
20874
|
<!-- Header Toolbar -->
|
|
20875
20875
|
<mat-toolbar class="linter-toolbar">
|
|
@@ -21258,7 +21258,7 @@ class DslLinterComponent {
|
|
|
21258
21258
|
</div>
|
|
21259
21259
|
`, isInline: true, styles: [".dsl-linter-container{display:flex;flex-direction:column;height:100%;overflow:hidden;--mat-select-enabled-trigger-text-color: var(--md-sys-color-on-surface);--mat-form-field-select-option-text-color: var(--md-sys-color-on-surface);--mat-select-panel-background-color: var(--md-sys-color-surface);--mat-option-label-text-color: var(--md-sys-color-on-surface);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary);--mat-option-focus-state-label-text-color: var(--md-sys-color-on-surface)}.linter-toolbar{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.toolbar-title{display:flex;align-items:center;gap:8px;font-weight:500}.toolbar-spacer{flex:1}.stats-summary{display:flex;gap:8px;margin-right:16px}.stats-summary mat-chip{display:flex;align-items:center;gap:4px;font-weight:500}.error-chip{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.warning-chip{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.info-chip{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.success-chip{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.neutral-chip{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant)}.linter-content{flex:1;min-height:0}.tab-content{padding:16px;height:100%;overflow-y:auto}.filter-controls{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.filter-field{min-width:200px}.severity-icon{font-size:16px;width:16px;height:16px;margin-right:8px}.severity-icon.error{color:var(--md-sys-color-error)}.severity-icon.warning{color:var(--md-sys-color-secondary)}.severity-icon.info,.severity-icon.hint{color:var(--md-sys-color-primary)}.issues-list{display:flex;flex-direction:column;gap:8px}.issue-panel{border-left:4px solid transparent}.issue-panel.severity-error{border-left-color:var(--md-sys-color-error)}.issue-panel.severity-warning{border-left-color:var(--md-sys-color-secondary)}.issue-panel.severity-info,.issue-panel.severity-hint{border-left-color:var(--md-sys-color-primary)}.error-message{font-weight:500;margin-left:8px}.category-chip{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);margin-right:8px}.location{font-family:Courier New,monospace;font-size:12px;opacity:.7}.issue-details{padding:16px 0;border-top:1px solid var(--md-sys-color-outline-variant)}.issue-info{margin-bottom:16px}.info-row{margin-bottom:8px;font-size:14px}.tag-chip{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);margin-left:4px}.issue-actions{display:flex;gap:8px;flex-wrap:wrap}.no-issues{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;color:var(--md-sys-color-on-surface-variant)}.no-issues-icon{font-size:64px;width:64px;height:64px;color:var(--md-sys-color-tertiary);margin-bottom:16px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.analytics-card{height:fit-content}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--md-sys-color-outline-variant)}.metric-item:last-child{border-bottom:none}.metric-label{font-weight:500}.metric-value{font-weight:600}.metric-value.excellent{color:var(--md-sys-color-tertiary)}.metric-value.good{color:var(--md-sys-color-primary)}.metric-value.fair{color:var(--md-sys-color-secondary)}.metric-value.poor{color:var(--md-sys-color-error)}.distribution-chart{display:flex;flex-direction:column;gap:12px}.chart-bar{display:flex;flex-direction:column;gap:4px}.bar-label{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.bar-container{position:relative;height:24px;background:var(--md-sys-color-surface-container);border-radius:4px;overflow:hidden}.bar-fill{height:100%;transition:width .3s ease}.bar-fill.bar-error{background:var(--md-sys-color-error)}.bar-fill.bar-warning{background:var(--md-sys-color-secondary)}.bar-fill.bar-info,.bar-fill.bar-hint{background:var(--md-sys-color-primary)}.bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface)}.common-issues{display:flex;flex-direction:column;gap:8px}.common-issue-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--md-sys-color-surface-container);border-radius:4px}.issue-code{font-family:Courier New,monospace;font-weight:500}.issue-count{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.rules-content{display:flex;flex-direction:column;gap:8px}.rule-category-panel{border:1px solid var(--md-sys-color-outline-variant)}.category-rules{padding:16px}.rule-item{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;margin-bottom:8px}.rule-header{display:flex;align-items:center;gap:12px}.rule-info{flex:1}.rule-name{font-weight:500;margin-bottom:4px}.rule-description{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.severity-chip{font-size:11px;min-height:20px}.severity-chip.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.severity-chip.warning{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.severity-chip.info,.severity-chip.hint{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.rule-config{padding-left:44px}\n"], 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: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i9$2.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i11$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i12$4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i8.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i8.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21260
21260
|
}
|
|
21261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
21261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DslLinterComponent, decorators: [{
|
|
21262
21262
|
type: Component,
|
|
21263
21263
|
args: [{ selector: 'praxis-dsl-linter', standalone: true, imports: [
|
|
21264
21264
|
CommonModule,
|
|
@@ -21746,8 +21746,8 @@ class VisualRuleBuilderComponent {
|
|
|
21746
21746
|
this.stateChanged.emit(newState);
|
|
21747
21747
|
this.selectionChanged.emit([]);
|
|
21748
21748
|
}
|
|
21749
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
21750
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
21749
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: VisualRuleBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21750
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: VisualRuleBuilderComponent, isStandalone: true, selector: "praxis-visual-rule-builder", inputs: { fieldSchemas: "fieldSchemas", builderState: "builderState" }, outputs: { stateChanged: "stateChanged", selectionChanged: "selectionChanged" }, ngImport: i0, template: `
|
|
21751
21751
|
<div class="visual-rule-builder-placeholder">
|
|
21752
21752
|
<div class="placeholder-content">
|
|
21753
21753
|
<h3>Visual Rule Builder</h3>
|
|
@@ -21771,7 +21771,7 @@ class VisualRuleBuilderComponent {
|
|
|
21771
21771
|
</div>
|
|
21772
21772
|
`, isInline: true, styles: [".visual-rule-builder-placeholder{padding:24px;border:2px dashed #ccc;border-radius:8px;background:#f9f9f9;text-align:center;min-height:300px;display:flex;align-items:center;justify-content:center}.placeholder-content{max-width:400px}.placeholder-content h3{margin:0 0 16px;color:#666}.placeholder-content p{margin:8px 0;color:#888}.builder-actions{margin:20px 0}.builder-actions button{margin:0 8px;padding:8px 16px;border:1px solid #ccc;background:var(--md-sys-color-surface);border-radius:4px;cursor:pointer}.builder-actions button:hover{background:var(--md-sys-color-surface-variant)}.state-display{margin-top:20px;text-align:left;background:var(--md-sys-color-surface);padding:16px;border-radius:4px;border:1px solid #ddd}.state-display h4{margin:0 0 8px;color:#333}.state-display ul{margin:0;padding-left:20px}.state-display li{color:#666;margin:4px 0}\n"], 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21773
21773
|
}
|
|
21774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
21774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: VisualRuleBuilderComponent, decorators: [{
|
|
21775
21775
|
type: Component,
|
|
21776
21776
|
args: [{ selector: 'praxis-visual-rule-builder', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
21777
21777
|
<div class="visual-rule-builder-placeholder">
|
|
@@ -22088,8 +22088,8 @@ class TemplateEditorDialogComponent {
|
|
|
22088
22088
|
return 'medium';
|
|
22089
22089
|
return 'complex';
|
|
22090
22090
|
}
|
|
22091
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
22092
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
22091
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplateEditorDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1$1.FormBuilder }, { token: RuleTemplateService }, { token: SpecificationBridgeService }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
22092
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TemplateEditorDialogComponent, isStandalone: true, selector: "praxis-template-editor-dialog", ngImport: i0, template: `
|
|
22093
22093
|
<div class="template-editor-dialog">
|
|
22094
22094
|
<div mat-dialog-title class="dialog-title">
|
|
22095
22095
|
<mat-icon>{{ data.mode === 'create' ? 'add' : 'edit' }}</mat-icon>
|
|
@@ -22400,7 +22400,7 @@ class TemplateEditorDialogComponent {
|
|
|
22400
22400
|
</div>
|
|
22401
22401
|
`, isInline: true, styles: [".template-editor-dialog{min-width:600px;max-width:800px;max-height:90vh}.dialog-title{display:flex;align-items:center;gap:8px;margin:0;padding:24px 24px 0;font-size:20px;font-weight:500}.dialog-content{padding:16px 24px;max-height:calc(90vh - 120px);overflow-y:auto}.step-form{padding:16px 0;min-height:400px}.form-row{display:flex;gap:16px;margin-bottom:16px}.name-field,.category-field{flex:1}.description-field,.tags-input,.required-fields-input,.example-field,.organization-field{width:100%}.icon-field,.version-field,.author-name,.author-email{flex:1}.category-option,.icon-option{display:flex;align-items:center;gap:8px}.tags-section,.required-fields-section,.template-variables-section,.author-section,.example-section{margin-bottom:24px}.tags-section h4,.author-section h5,.example-section h5,.required-fields-section h5,.template-variables-section h5{margin:0 0 8px;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.section-header{margin-bottom:16px}.section-header h4{margin:0 0 4px;font-size:16px;font-weight:500}.section-description,.field-description{margin:0;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.rules-preview{background:var(--md-sys-color-surface-container);border-radius:8px;padding:16px;margin-bottom:24px}.preview-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.node-count{font-weight:400;color:var(--md-sys-color-on-surface-variant)}.nodes-tree{max-height:200px;overflow-y:auto}.tree-node{border-left:2px solid transparent;padding:8px 0 8px 16px}.tree-node.root-node{border-left-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.node-content{display:flex;align-items:center;gap:8px}.node-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.node-label{flex:1;font-size:13px}.node-type-chip{font-size:10px;height:18px;line-height:18px}.detected-variables{margin-top:8px}.no-variables{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-style:italic;margin:8px 0}.step-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant)}.dialog-actions{padding:var(--pdx-dialog-actions-padding, 12px 24px 16px);display:flex;align-items:center;gap:8px}.actions-spacer{flex:1}::ng-deep .mat-stepper-horizontal{margin-top:8px}::ng-deep .mat-step-header{pointer-events:none}::ng-deep .mat-step-header.cdk-keyboard-focused,::ng-deep .mat-step-header.cdk-program-focused,::ng-deep .mat-step-header:hover{background-color:transparent}@media(max-width:768px){.template-editor-dialog{min-width:320px;max-width:95vw}.form-row{flex-direction:column}.name-field,.category-field,.icon-field,.version-field,.author-name,.author-email{flex:none;width:100%}}.help-icon-button{--mdc-icon-button-state-layer-size: 28px;--mdc-icon-button-icon-size: 18px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px}.help-icon-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i12$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i12$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i12$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i12$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i12$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i12$2.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "component", type: i12$2.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i12$2.MatStepperNext, selector: "button[matStepperNext]" }, { kind: "directive", type: i12$2.MatStepperPrevious, selector: "button[matStepperPrevious]" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatSnackBarModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22402
22402
|
}
|
|
22403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
22403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplateEditorDialogComponent, decorators: [{
|
|
22404
22404
|
type: Component,
|
|
22405
22405
|
args: [{ selector: 'praxis-template-editor-dialog', standalone: true, imports: [
|
|
22406
22406
|
CommonModule,
|
|
@@ -22861,8 +22861,8 @@ class TemplatePreviewDialogComponent {
|
|
|
22861
22861
|
cancel() {
|
|
22862
22862
|
this.dialogRef.close();
|
|
22863
22863
|
}
|
|
22864
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
22865
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
22864
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplatePreviewDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
22865
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TemplatePreviewDialogComponent, isStandalone: true, selector: "praxis-template-preview-dialog", ngImport: i0, template: `
|
|
22866
22866
|
<div class="template-preview-dialog">
|
|
22867
22867
|
<div mat-dialog-title class="dialog-title">
|
|
22868
22868
|
<div class="title-content">
|
|
@@ -23069,7 +23069,7 @@ class TemplatePreviewDialogComponent {
|
|
|
23069
23069
|
</div>
|
|
23070
23070
|
`, isInline: true, styles: [".template-preview-dialog{min-width:500px;max-width:700px}.dialog-title{padding:24px 24px 0;margin:0}.title-content{display:flex;align-items:center;gap:12px;margin-bottom:8px}.title-content mat-icon{font-size:32px;width:32px;height:32px;color:var(--md-sys-color-primary)}.title-text h2{margin:0;font-size:24px;font-weight:500}.template-category{margin:4px 0 0;font-size:14px;color:var(--md-sys-color-on-surface-variant);text-transform:capitalize}.title-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.complexity-chip{font-size:11px}.complexity-simple{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.complexity-medium{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.complexity-complex{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.dialog-content{padding:16px 24px;max-height:70vh;overflow-y:auto}.template-info h3,.template-metadata h3,.rule-structure h3,.required-fields h3,.example-usage h3{margin:0 0 12px;font-size:16px;font-weight:500;color:var(--md-sys-color-primary)}.template-description{margin:0 0 16px;line-height:1.5}.template-tags h4{margin:0 0 8px;font-size:14px;font-weight:500}.tag-chip{margin-right:4px;margin-bottom:4px}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.metadata-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--md-sys-color-surface-variant);border-radius:8px}.metadata-item mat-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.metadata-item .label{font-weight:500;color:var(--md-sys-color-on-surface)}.metadata-item .value{color:var(--md-sys-color-on-surface-variant)}.structure-container{margin-top:8px}.root-node-panel{margin-bottom:8px}.node-details{padding:0 16px 16px}.tree-node{margin-bottom:8px;padding:8px;border-left:2px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-variant);border-radius:4px}.node-content{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-icon{font-size:16px;width:16px;height:16px;color:var(--md-sys-color-primary)}.node-label{flex:1;font-weight:500}.node-type-chip{font-size:10px;height:20px;line-height:20px}.node-config{margin-top:4px}.config-preview{font-size:11px;margin:0;padding:4px 8px;background:var(--md-sys-color-surface);border-radius:4px;border:1px solid var(--md-sys-color-outline);overflow-x:auto}.required-field-chip{margin-right:4px;margin-bottom:4px}.fields-note{margin:12px 0 0;font-size:13px;color:var(--md-sys-color-on-surface-variant);font-style:italic}.example-content{background:var(--md-sys-color-surface-variant);border-radius:8px;padding:16px}.example-code{margin:0;font-family:Courier New,monospace;font-size:12px;line-height:1.4;overflow-x:auto}.dialog-actions{padding:var(--pdx-dialog-actions-padding, 12px 24px 16px);display:flex;align-items:center;gap:8px}.actions-spacer{flex:1}mat-divider{margin:16px 0}@media(max-width:768px){.template-preview-dialog{min-width:320px;max-width:95vw}.metadata-grid{grid-template-columns:1fr}.title-content{flex-direction:column;align-items:flex-start}}\n"], 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: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i12$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11.MatExpansionPanelDescription, selector: "mat-panel-description" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
23071
23071
|
}
|
|
23072
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
23072
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplatePreviewDialogComponent, decorators: [{
|
|
23073
23073
|
type: Component,
|
|
23074
23074
|
args: [{ selector: 'praxis-template-preview-dialog', standalone: true, imports: [
|
|
23075
23075
|
CommonModule,
|
|
@@ -23680,8 +23680,8 @@ class TemplateGalleryComponent {
|
|
|
23680
23680
|
link.click();
|
|
23681
23681
|
window.URL.revokeObjectURL(url);
|
|
23682
23682
|
}
|
|
23683
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
23684
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
23683
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplateGalleryComponent, deps: [{ token: RuleTemplateService }, { token: i1$1.FormBuilder }, { token: i1.MatDialog }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
23684
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: TemplateGalleryComponent, isStandalone: true, selector: "praxis-template-gallery", inputs: { availableFields: "availableFields" }, outputs: { templateApplied: "templateApplied", templateCreated: "templateCreated", templateDeleted: "templateDeleted" }, ngImport: i0, template: `
|
|
23685
23685
|
<div class="template-gallery">
|
|
23686
23686
|
<!-- Header Section -->
|
|
23687
23687
|
<div class="gallery-header">
|
|
@@ -24186,7 +24186,7 @@ class TemplateGalleryComponent {
|
|
|
24186
24186
|
</div>
|
|
24187
24187
|
`, isInline: true, styles: [":host{--vb-shadow-low-color: var(--sicoob-shadow-low, rgba(0,0,0,.08));--vb-shadow-medium-color: var(--sicoob-shadow-medium, rgba(0,0,0,.18));--vb-shadow-high-color: var(--sicoob-shadow-high, rgba(0,0,0,.32))}.template-gallery{display:flex;flex-direction:column;height:100%;background:var(--md-sys-color-background)}.gallery-header{background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline);padding:16px 24px}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.title-section{flex:1}.gallery-title{display:flex;align-items:center;gap:8px;margin:0;font-size:24px;font-weight:500;color:var(--md-sys-color-on-surface)}.gallery-subtitle{margin:4px 0 0 32px;color:var(--md-sys-color-on-surface-variant);font-size:14px}.header-actions{display:flex;gap:8px;align-items:center}.stats-bar{display:flex;gap:24px;padding:12px 0;border-top:1px solid var(--md-sys-color-outline)}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.stat-item mat-icon{font-size:16px;width:16px;height:16px}.search-section{padding:16px 24px;background:var(--md-sys-color-surface-variant);border-bottom:1px solid var(--md-sys-color-outline)}.search-form{display:flex;flex-direction:column;gap:16px}.search-row{display:flex;gap:16px;align-items:flex-start}.search-input{flex:2;min-width:300px}.category-select,.complexity-select,.sort-select{flex:1;min-width:150px}.category-option{display:flex;align-items:center;gap:8px;width:100%}.tags-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tags-label{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.tags-list{flex:1}.active-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--md-sys-color-outline)}.filters-label{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.filter-chips{flex:1}.clear-all-button{font-size:12px}.recently-used-section{padding:16px 24px}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)}.template-count{font-size:14px;font-weight:400;color:var(--md-sys-color-on-surface-variant)}.recent-templates{display:flex;gap:12px;flex-wrap:wrap}.recent-template-button{display:flex;align-items:center;gap:8px;padding:8px 16px}.templates-section{flex:1;padding:0 24px 24px;overflow:auto}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.view-toggle{display:flex;align-items:center;gap:8px}.templates-container{min-height:200px}.templates-container.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.template-grid-card{height:fit-content;transition:transform .2s ease,box-shadow .2s ease}.template-grid-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--vb-shadow-medium-color)}.template-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.card-actions{margin-left:auto}.template-description{font-size:14px;line-height:1.4;margin:0 0 12px;color:var(--md-sys-color-on-surface-variant)}.template-tags{margin-bottom:12px}.template-tag{font-size:11px;height:20px;line-height:20px}.more-tags{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.template-metadata{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.metadata-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.metadata-item mat-icon{font-size:14px;width:14px;height:14px}.template-preview{margin-top:12px;padding:8px;background:var(--md-sys-color-surface-variant);border-radius:4px}.preview-header{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;margin-bottom:8px;color:var(--md-sys-color-on-surface-variant)}.preview-header mat-icon{font-size:14px;width:14px;height:14px}.node-tree{font-size:11px;font-family:monospace}.root-node{padding:2px 0;color:var(--md-sys-color-on-surface)}.templates-container.list-view{display:flex;flex-direction:column;gap:8px}.template-list-card{padding:12px 16px}.list-card-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.template-info{flex:1;display:flex;flex-direction:column;gap:8px}.template-header{display:flex;align-items:center;gap:12px}.template-details{flex:1}.template-name{margin:0;font-size:16px;font-weight:500}.template-meta{display:flex;gap:8px;align-items:center}.category-badge,.complexity-badge{font-size:11px;padding:2px 6px;border-radius:12px;background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.complexity-simple{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.complexity-medium{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.complexity-complex{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.usage-count{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.template-actions{display:flex;gap:8px;align-items:center}.templates-container.compact-view{display:flex;flex-direction:column;gap:4px}.template-compact-card{padding:8px 12px;border:1px solid var(--md-sys-color-outline);border-radius:4px;background:var(--md-sys-color-surface)}.compact-content{display:flex;align-items:center;gap:12px}.compact-icon{color:var(--md-sys-color-primary)}.compact-info{flex:1;display:flex;flex-direction:column}.compact-name{font-size:14px;font-weight:500}.compact-category{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.compact-actions{display:flex;gap:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--md-sys-color-on-surface-variant)}.empty-icon{font-size:64px;width:64px;height:64px;margin-bottom:16px;color:var(--md-sys-color-outline)}.empty-state h3{margin:0 0 8px;color:var(--md-sys-color-on-surface)}.empty-state p{margin:0 0 16px;max-width:400px}@media(max-width:1024px){.templates-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.search-row{flex-wrap:wrap}.search-input{flex:1 1 100%}}@media(max-width:768px){.header-content{flex-direction:column;gap:16px;align-items:flex-start}.templates-container.grid-view{grid-template-columns:1fr}.stats-bar{flex-wrap:wrap;gap:12px}.gallery-subtitle{margin-left:0}}\n"], 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: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i6$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "directive", type: i6$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i6$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i12$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i12$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i12$1.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i12$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i12$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i7$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i11$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24188
24188
|
}
|
|
24189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
24189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TemplateGalleryComponent, decorators: [{
|
|
24190
24190
|
type: Component,
|
|
24191
24191
|
args: [{ selector: 'praxis-template-gallery', standalone: true, imports: [
|
|
24192
24192
|
CommonModule,
|