@praxisui/visual-builder 9.0.0-beta.84 → 9.0.0-beta.86
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.
|
@@ -4,7 +4,7 @@ import * as i12$1 from '@angular/common';
|
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1$1 from '@angular/forms';
|
|
6
6
|
import { Validators, ReactiveFormsModule, FormsModule, FormControl } from '@angular/forms';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i9$2 from '@angular/material/badge';
|
|
8
8
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
9
9
|
import * as i5 from '@angular/material/button';
|
|
10
10
|
import { MatButtonModule } from '@angular/material/button';
|
|
@@ -17,18 +17,18 @@ import * as i6 from '@angular/material/icon';
|
|
|
17
17
|
import { MatIconModule } from '@angular/material/icon';
|
|
18
18
|
import * as i8 from '@angular/material/list';
|
|
19
19
|
import { MatListModule } from '@angular/material/list';
|
|
20
|
-
import * as
|
|
20
|
+
import * as i6$2 from '@angular/material/menu';
|
|
21
21
|
import { MatMenuModule } from '@angular/material/menu';
|
|
22
22
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
23
23
|
import * as i4 from '@angular/material/snack-bar';
|
|
24
24
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
25
|
-
import * as
|
|
25
|
+
import * as i4$2 from '@angular/material/toolbar';
|
|
26
26
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
27
27
|
import * as i9 from '@angular/material/tooltip';
|
|
28
28
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
29
29
|
import { BehaviorSubject, Subject, from, takeUntil as takeUntil$1, interval, Observable, of, throwError, combineLatest } from 'rxjs';
|
|
30
30
|
import * as i1$2 from '@praxisui/core';
|
|
31
|
-
import { RULE_PROPERTY_SCHEMA, providePraxisI18n, PraxisI18nService, ComponentMetadataRegistry, PraxisIconDirective } from '@praxisui/core';
|
|
31
|
+
import { RULE_PROPERTY_SCHEMA, PraxisIconButtonComponent, providePraxisI18n, PraxisI18nService, ComponentMetadataRegistry, PraxisIconDirective } from '@praxisui/core';
|
|
32
32
|
import * as i3$1 from '@praxisui/ai';
|
|
33
33
|
import { AiRuleWizardDialogComponent } from '@praxisui/ai';
|
|
34
34
|
import { map, takeUntil, debounceTime, distinctUntilChanged, switchMap, catchError, startWith } from 'rxjs/operators';
|
|
@@ -41,7 +41,7 @@ import * as i4$1 from '@angular/material/input';
|
|
|
41
41
|
import { MatInputModule } from '@angular/material/input';
|
|
42
42
|
import * as i3 from '@angular/material/select';
|
|
43
43
|
import { MatSelectModule } from '@angular/material/select';
|
|
44
|
-
import * as
|
|
44
|
+
import * as i6$1 from '@angular/material/checkbox';
|
|
45
45
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
46
46
|
import * as i11 from '@angular/material/slide-toggle';
|
|
47
47
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
@@ -49,17 +49,17 @@ import * as i12 from '@angular/material/progress-bar';
|
|
|
49
49
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
50
50
|
import * as i10 from '@angular/material/chips';
|
|
51
51
|
import { MatChipsModule } from '@angular/material/chips';
|
|
52
|
-
import * as
|
|
52
|
+
import * as i10$1 from '@angular/material/expansion';
|
|
53
53
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
54
54
|
import * as i2$1 from '@angular/cdk/layout';
|
|
55
55
|
import { Breakpoints } from '@angular/cdk/layout';
|
|
56
|
-
import * as
|
|
56
|
+
import * as i7$1 from '@angular/material/button-toggle';
|
|
57
57
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
58
58
|
import * as i7$3 from '@angular/material/stepper';
|
|
59
59
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
60
|
-
import * as
|
|
60
|
+
import * as i11$1 from '@angular/cdk/drag-drop';
|
|
61
61
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
62
|
-
import * as
|
|
62
|
+
import * as i7$2 from '@angular/material/datepicker';
|
|
63
63
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
64
64
|
import { MatNativeDateModule } from '@angular/material/core';
|
|
65
65
|
import * as i11$2 from '@angular/material/autocomplete';
|
|
@@ -3423,14 +3423,13 @@ class ExportDialogComponent {
|
|
|
3423
3423
|
placeholder="Leave empty for auto-generated"
|
|
3424
3424
|
/>
|
|
3425
3425
|
<button
|
|
3426
|
-
|
|
3426
|
+
praxisIconButton="help_outline"
|
|
3427
|
+
size="dense"
|
|
3427
3428
|
matSuffix
|
|
3428
|
-
class="help-icon-button"
|
|
3429
3429
|
type="button"
|
|
3430
3430
|
[matTooltip]="'Will be auto-generated if not specified'"
|
|
3431
3431
|
matTooltipPosition="above"
|
|
3432
3432
|
>
|
|
3433
|
-
<mat-icon>help_outline</mat-icon>
|
|
3434
3433
|
</button>
|
|
3435
3434
|
</mat-form-field>
|
|
3436
3435
|
</div>
|
|
@@ -3768,10 +3767,11 @@ class ExportDialogComponent {
|
|
|
3768
3767
|
<input matInput [value]="shareResult.url" readonly />
|
|
3769
3768
|
<button
|
|
3770
3769
|
matSuffix
|
|
3771
|
-
|
|
3770
|
+
praxisIconButton="content_copy"
|
|
3771
|
+
size="dense"
|
|
3772
|
+
aria-label="Copy share URL"
|
|
3772
3773
|
(click)="copyShareUrl()"
|
|
3773
3774
|
>
|
|
3774
|
-
<mat-icon>content_copy</mat-icon>
|
|
3775
3775
|
</button>
|
|
3776
3776
|
</mat-form-field>
|
|
3777
3777
|
</div>
|
|
@@ -3847,7 +3847,7 @@ class ExportDialogComponent {
|
|
|
3847
3847
|
</mat-progress-bar>
|
|
3848
3848
|
}
|
|
3849
3849
|
</div>
|
|
3850
|
-
`, 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: "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],[formArray],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: i5.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: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i7.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: i12.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: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i11$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "pipe", type: i12$1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3850
|
+
`, 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}}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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],[formArray],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: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i7.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: i12.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: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i10$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i10$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i10$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i10$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "pipe", type: i12$1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3851
3851
|
}
|
|
3852
3852
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ExportDialogComponent, decorators: [{
|
|
3853
3853
|
type: Component,
|
|
@@ -3858,6 +3858,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
3858
3858
|
MatDialogModule,
|
|
3859
3859
|
MatButtonModule,
|
|
3860
3860
|
MatIconModule,
|
|
3861
|
+
PraxisIconButtonComponent,
|
|
3861
3862
|
MatTabsModule,
|
|
3862
3863
|
MatFormFieldModule,
|
|
3863
3864
|
MatInputModule,
|
|
@@ -3965,14 +3966,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
3965
3966
|
placeholder="Leave empty for auto-generated"
|
|
3966
3967
|
/>
|
|
3967
3968
|
<button
|
|
3968
|
-
|
|
3969
|
+
praxisIconButton="help_outline"
|
|
3970
|
+
size="dense"
|
|
3969
3971
|
matSuffix
|
|
3970
|
-
class="help-icon-button"
|
|
3971
3972
|
type="button"
|
|
3972
3973
|
[matTooltip]="'Will be auto-generated if not specified'"
|
|
3973
3974
|
matTooltipPosition="above"
|
|
3974
3975
|
>
|
|
3975
|
-
<mat-icon>help_outline</mat-icon>
|
|
3976
3976
|
</button>
|
|
3977
3977
|
</mat-form-field>
|
|
3978
3978
|
</div>
|
|
@@ -4310,10 +4310,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
4310
4310
|
<input matInput [value]="shareResult.url" readonly />
|
|
4311
4311
|
<button
|
|
4312
4312
|
matSuffix
|
|
4313
|
-
|
|
4313
|
+
praxisIconButton="content_copy"
|
|
4314
|
+
size="dense"
|
|
4315
|
+
aria-label="Copy share URL"
|
|
4314
4316
|
(click)="copyShareUrl()"
|
|
4315
4317
|
>
|
|
4316
|
-
<mat-icon>content_copy</mat-icon>
|
|
4317
4318
|
</button>
|
|
4318
4319
|
</mat-form-field>
|
|
4319
4320
|
</div>
|
|
@@ -4389,7 +4390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
4389
4390
|
</mat-progress-bar>
|
|
4390
4391
|
}
|
|
4391
4392
|
</div>
|
|
4392
|
-
`, 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}}.
|
|
4393
|
+
`, 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}}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
4393
4394
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
4394
4395
|
type: Inject,
|
|
4395
4396
|
args: [MAT_DIALOG_DATA]
|
|
@@ -4701,7 +4702,7 @@ class PropertyEffectEditorComponent {
|
|
|
4701
4702
|
</div>
|
|
4702
4703
|
}
|
|
4703
4704
|
|
|
4704
|
-
@for (entry of entries; track
|
|
4705
|
+
@for (entry of entries; track $index; let i = $index) {
|
|
4705
4706
|
<div
|
|
4706
4707
|
class="property-card"
|
|
4707
4708
|
[attr.data-testid]="'property-effect-entry-' + i"
|
|
@@ -4725,8 +4726,7 @@ class PropertyEffectEditorComponent {
|
|
|
4725
4726
|
(click)="$event.stopPropagation()"
|
|
4726
4727
|
autocomplete="off">
|
|
4727
4728
|
@if (searchControl.value) {
|
|
4728
|
-
<button matSuffix
|
|
4729
|
-
<mat-icon>close</mat-icon>
|
|
4729
|
+
<button matSuffix praxisIconButton="close" size="dense" aria-label="Limpar" (click)="clearSearch($event)">
|
|
4730
4730
|
</button>
|
|
4731
4731
|
}
|
|
4732
4732
|
</mat-form-field>
|
|
@@ -4751,25 +4751,24 @@ class PropertyEffectEditorComponent {
|
|
|
4751
4751
|
</mat-select>
|
|
4752
4752
|
@if (getDefinition(entry.property)?.description) {
|
|
4753
4753
|
<button
|
|
4754
|
-
|
|
4754
|
+
praxisIconButton="help_outline"
|
|
4755
|
+
size="dense"
|
|
4755
4756
|
matSuffix
|
|
4756
|
-
class="help-icon-button"
|
|
4757
4757
|
type="button"
|
|
4758
4758
|
[matTooltip]="getDefinition(entry.property)?.description"
|
|
4759
4759
|
matTooltipPosition="above"
|
|
4760
4760
|
>
|
|
4761
|
-
<mat-icon>help_outline</mat-icon>
|
|
4762
4761
|
</button>
|
|
4763
4762
|
}
|
|
4764
4763
|
</mat-form-field>
|
|
4765
4764
|
<button
|
|
4766
|
-
|
|
4767
|
-
|
|
4765
|
+
praxisIconButton="delete"
|
|
4766
|
+
size="dense"
|
|
4767
|
+
class="danger-action"
|
|
4768
4768
|
(click)="removeEntry(i)"
|
|
4769
4769
|
[disabled]="entries.length === 1 && !canAddEntry()"
|
|
4770
4770
|
matTooltip="Remover propriedade"
|
|
4771
4771
|
>
|
|
4772
|
-
<mat-icon>delete</mat-icon>
|
|
4773
4772
|
</button>
|
|
4774
4773
|
</div>
|
|
4775
4774
|
@if (entry.property) {
|
|
@@ -4778,12 +4777,12 @@ class PropertyEffectEditorComponent {
|
|
|
4778
4777
|
<div class="value-label">
|
|
4779
4778
|
Valor quando verdadeiro
|
|
4780
4779
|
<button
|
|
4781
|
-
|
|
4780
|
+
praxisIconButton="backspace"
|
|
4781
|
+
size="dense"
|
|
4782
4782
|
type="button"
|
|
4783
4783
|
(click)="clearValue(entry, 'true')"
|
|
4784
4784
|
matTooltip="Limpar (usa padrão / null)"
|
|
4785
4785
|
>
|
|
4786
|
-
<mat-icon>backspace</mat-icon>
|
|
4787
4786
|
</button>
|
|
4788
4787
|
</div>
|
|
4789
4788
|
@switch (entry.type) {
|
|
@@ -4871,12 +4870,12 @@ class PropertyEffectEditorComponent {
|
|
|
4871
4870
|
<div class="value-label">
|
|
4872
4871
|
Valor quando falso (opcional)
|
|
4873
4872
|
<button
|
|
4874
|
-
|
|
4873
|
+
praxisIconButton="backspace"
|
|
4874
|
+
size="dense"
|
|
4875
4875
|
type="button"
|
|
4876
4876
|
(click)="clearValue(entry, 'false')"
|
|
4877
4877
|
matTooltip="Limpar (usa padrão / null)"
|
|
4878
4878
|
>
|
|
4879
|
-
<mat-icon>backspace</mat-icon>
|
|
4880
4879
|
</button>
|
|
4881
4880
|
</div>
|
|
4882
4881
|
@switch (entry.type) {
|
|
@@ -4983,7 +4982,7 @@ class PropertyEffectEditorComponent {
|
|
|
4983
4982
|
</div>
|
|
4984
4983
|
}
|
|
4985
4984
|
</div>
|
|
4986
|
-
`, 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}.
|
|
4985
|
+
`, 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}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i7$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: i7$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: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "pipe", type: i12$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4987
4986
|
}
|
|
4988
4987
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PropertyEffectEditorComponent, decorators: [{
|
|
4989
4988
|
type: Component,
|
|
@@ -4998,6 +4997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
4998
4997
|
MatIconModule,
|
|
4999
4998
|
MatTooltipModule,
|
|
5000
4999
|
MatButtonToggleModule,
|
|
5000
|
+
PraxisIconButtonComponent,
|
|
5001
5001
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
5002
5002
|
<div class="property-effect-editor" data-testid="property-effect-editor">
|
|
5003
5003
|
<div class="header">
|
|
@@ -5020,7 +5020,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5020
5020
|
</div>
|
|
5021
5021
|
}
|
|
5022
5022
|
|
|
5023
|
-
@for (entry of entries; track
|
|
5023
|
+
@for (entry of entries; track $index; let i = $index) {
|
|
5024
5024
|
<div
|
|
5025
5025
|
class="property-card"
|
|
5026
5026
|
[attr.data-testid]="'property-effect-entry-' + i"
|
|
@@ -5044,8 +5044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5044
5044
|
(click)="$event.stopPropagation()"
|
|
5045
5045
|
autocomplete="off">
|
|
5046
5046
|
@if (searchControl.value) {
|
|
5047
|
-
<button matSuffix
|
|
5048
|
-
<mat-icon>close</mat-icon>
|
|
5047
|
+
<button matSuffix praxisIconButton="close" size="dense" aria-label="Limpar" (click)="clearSearch($event)">
|
|
5049
5048
|
</button>
|
|
5050
5049
|
}
|
|
5051
5050
|
</mat-form-field>
|
|
@@ -5070,25 +5069,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5070
5069
|
</mat-select>
|
|
5071
5070
|
@if (getDefinition(entry.property)?.description) {
|
|
5072
5071
|
<button
|
|
5073
|
-
|
|
5072
|
+
praxisIconButton="help_outline"
|
|
5073
|
+
size="dense"
|
|
5074
5074
|
matSuffix
|
|
5075
|
-
class="help-icon-button"
|
|
5076
5075
|
type="button"
|
|
5077
5076
|
[matTooltip]="getDefinition(entry.property)?.description"
|
|
5078
5077
|
matTooltipPosition="above"
|
|
5079
5078
|
>
|
|
5080
|
-
<mat-icon>help_outline</mat-icon>
|
|
5081
5079
|
</button>
|
|
5082
5080
|
}
|
|
5083
5081
|
</mat-form-field>
|
|
5084
5082
|
<button
|
|
5085
|
-
|
|
5086
|
-
|
|
5083
|
+
praxisIconButton="delete"
|
|
5084
|
+
size="dense"
|
|
5085
|
+
class="danger-action"
|
|
5087
5086
|
(click)="removeEntry(i)"
|
|
5088
5087
|
[disabled]="entries.length === 1 && !canAddEntry()"
|
|
5089
5088
|
matTooltip="Remover propriedade"
|
|
5090
5089
|
>
|
|
5091
|
-
<mat-icon>delete</mat-icon>
|
|
5092
5090
|
</button>
|
|
5093
5091
|
</div>
|
|
5094
5092
|
@if (entry.property) {
|
|
@@ -5097,12 +5095,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5097
5095
|
<div class="value-label">
|
|
5098
5096
|
Valor quando verdadeiro
|
|
5099
5097
|
<button
|
|
5100
|
-
|
|
5098
|
+
praxisIconButton="backspace"
|
|
5099
|
+
size="dense"
|
|
5101
5100
|
type="button"
|
|
5102
5101
|
(click)="clearValue(entry, 'true')"
|
|
5103
5102
|
matTooltip="Limpar (usa padrão / null)"
|
|
5104
5103
|
>
|
|
5105
|
-
<mat-icon>backspace</mat-icon>
|
|
5106
5104
|
</button>
|
|
5107
5105
|
</div>
|
|
5108
5106
|
@switch (entry.type) {
|
|
@@ -5190,12 +5188,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5190
5188
|
<div class="value-label">
|
|
5191
5189
|
Valor quando falso (opcional)
|
|
5192
5190
|
<button
|
|
5193
|
-
|
|
5191
|
+
praxisIconButton="backspace"
|
|
5192
|
+
size="dense"
|
|
5194
5193
|
type="button"
|
|
5195
5194
|
(click)="clearValue(entry, 'false')"
|
|
5196
5195
|
matTooltip="Limpar (usa padrão / null)"
|
|
5197
5196
|
>
|
|
5198
|
-
<mat-icon>backspace</mat-icon>
|
|
5199
5197
|
</button>
|
|
5200
5198
|
</div>
|
|
5201
5199
|
@switch (entry.type) {
|
|
@@ -5302,7 +5300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5302
5300
|
</div>
|
|
5303
5301
|
}
|
|
5304
5302
|
</div>
|
|
5305
|
-
`, 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}.
|
|
5303
|
+
`, 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}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
5306
5304
|
}], propDecorators: { properties: [{
|
|
5307
5305
|
type: Input
|
|
5308
5306
|
}], initialConfig: [{
|
|
@@ -5806,8 +5804,7 @@ class FieldConditionEditorComponent {
|
|
|
5806
5804
|
(click)="$event.stopPropagation()"
|
|
5807
5805
|
autocomplete="off">
|
|
5808
5806
|
@if (searchControl.value) {
|
|
5809
|
-
<button matSuffix
|
|
5810
|
-
<mat-icon>close</mat-icon>
|
|
5807
|
+
<button matSuffix praxisIconButton="close" size="dense" aria-label="Limpar" (click)="clearSearch($event)">
|
|
5811
5808
|
</button>
|
|
5812
5809
|
}
|
|
5813
5810
|
</mat-form-field>
|
|
@@ -5846,14 +5843,13 @@ class FieldConditionEditorComponent {
|
|
|
5846
5843
|
</mat-select>
|
|
5847
5844
|
@if (selectedField?.description) {
|
|
5848
5845
|
<button
|
|
5849
|
-
|
|
5846
|
+
praxisIconButton="help_outline"
|
|
5847
|
+
size="dense"
|
|
5850
5848
|
matSuffix
|
|
5851
|
-
class="help-icon-button"
|
|
5852
5849
|
type="button"
|
|
5853
5850
|
[matTooltip]="selectedField?.description"
|
|
5854
5851
|
matTooltipPosition="above"
|
|
5855
5852
|
>
|
|
5856
|
-
<mat-icon>help_outline</mat-icon>
|
|
5857
5853
|
</button>
|
|
5858
5854
|
}
|
|
5859
5855
|
</mat-form-field>
|
|
@@ -5906,14 +5902,13 @@ class FieldConditionEditorComponent {
|
|
|
5906
5902
|
[placeholder]="getValuePlaceholder()"
|
|
5907
5903
|
/>
|
|
5908
5904
|
<button
|
|
5909
|
-
|
|
5905
|
+
praxisIconButton="help_outline"
|
|
5906
|
+
size="dense"
|
|
5910
5907
|
matSuffix
|
|
5911
|
-
class="help-icon-button"
|
|
5912
5908
|
type="button"
|
|
5913
5909
|
[matTooltip]="getValueHint()"
|
|
5914
5910
|
matTooltipPosition="above"
|
|
5915
5911
|
>
|
|
5916
|
-
<mat-icon>help_outline</mat-icon>
|
|
5917
5912
|
</button>
|
|
5918
5913
|
</mat-form-field>
|
|
5919
5914
|
}
|
|
@@ -6064,7 +6059,7 @@ class FieldConditionEditorComponent {
|
|
|
6064
6059
|
</div>
|
|
6065
6060
|
}
|
|
6066
6061
|
</form>
|
|
6067
|
-
`, 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%}.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}.
|
|
6062
|
+
`, 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%}.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}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ 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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6$1.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: i7$2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7$2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i7$2.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6068
6063
|
}
|
|
6069
6064
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FieldConditionEditorComponent, decorators: [{
|
|
6070
6065
|
type: Component,
|
|
@@ -6080,7 +6075,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
6080
6075
|
MatNativeDateModule,
|
|
6081
6076
|
MatChipsModule,
|
|
6082
6077
|
MatAutocompleteModule,
|
|
6083
|
-
MatTooltipModule
|
|
6078
|
+
MatTooltipModule,
|
|
6079
|
+
PraxisIconButtonComponent,
|
|
6084
6080
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
6085
6081
|
<form [formGroup]="conditionForm" class="field-condition-form compact-grid">
|
|
6086
6082
|
<div class="condition-row">
|
|
@@ -6105,8 +6101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
6105
6101
|
(click)="$event.stopPropagation()"
|
|
6106
6102
|
autocomplete="off">
|
|
6107
6103
|
@if (searchControl.value) {
|
|
6108
|
-
<button matSuffix
|
|
6109
|
-
<mat-icon>close</mat-icon>
|
|
6104
|
+
<button matSuffix praxisIconButton="close" size="dense" aria-label="Limpar" (click)="clearSearch($event)">
|
|
6110
6105
|
</button>
|
|
6111
6106
|
}
|
|
6112
6107
|
</mat-form-field>
|
|
@@ -6145,14 +6140,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
6145
6140
|
</mat-select>
|
|
6146
6141
|
@if (selectedField?.description) {
|
|
6147
6142
|
<button
|
|
6148
|
-
|
|
6143
|
+
praxisIconButton="help_outline"
|
|
6144
|
+
size="dense"
|
|
6149
6145
|
matSuffix
|
|
6150
|
-
class="help-icon-button"
|
|
6151
6146
|
type="button"
|
|
6152
6147
|
[matTooltip]="selectedField?.description"
|
|
6153
6148
|
matTooltipPosition="above"
|
|
6154
6149
|
>
|
|
6155
|
-
<mat-icon>help_outline</mat-icon>
|
|
6156
6150
|
</button>
|
|
6157
6151
|
}
|
|
6158
6152
|
</mat-form-field>
|
|
@@ -6205,14 +6199,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
6205
6199
|
[placeholder]="getValuePlaceholder()"
|
|
6206
6200
|
/>
|
|
6207
6201
|
<button
|
|
6208
|
-
|
|
6202
|
+
praxisIconButton="help_outline"
|
|
6203
|
+
size="dense"
|
|
6209
6204
|
matSuffix
|
|
6210
|
-
class="help-icon-button"
|
|
6211
6205
|
type="button"
|
|
6212
6206
|
[matTooltip]="getValueHint()"
|
|
6213
6207
|
matTooltipPosition="above"
|
|
6214
6208
|
>
|
|
6215
|
-
<mat-icon>help_outline</mat-icon>
|
|
6216
6209
|
</button>
|
|
6217
6210
|
</mat-form-field>
|
|
6218
6211
|
}
|
|
@@ -6363,7 +6356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
6363
6356
|
</div>
|
|
6364
6357
|
}
|
|
6365
6358
|
</form>
|
|
6366
|
-
`, 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%}.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}.
|
|
6359
|
+
`, 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%}.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}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
6367
6360
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }], propDecorators: { config: [{
|
|
6368
6361
|
type: Input
|
|
6369
6362
|
}], fieldSchemas: [{
|
|
@@ -7613,14 +7606,13 @@ class ConditionalValidatorEditorComponent {
|
|
|
7613
7606
|
}
|
|
7614
7607
|
</mat-select>
|
|
7615
7608
|
<button
|
|
7616
|
-
|
|
7609
|
+
praxisIconButton="help_outline"
|
|
7610
|
+
size="dense"
|
|
7617
7611
|
matSuffix
|
|
7618
|
-
class="help-icon-button"
|
|
7619
7612
|
type="button"
|
|
7620
7613
|
[matTooltip]="t('conditionalValidator.help.targetField', 'Choose the field affected by this rule')"
|
|
7621
7614
|
matTooltipPosition="above"
|
|
7622
7615
|
>
|
|
7623
|
-
<mat-icon>help_outline</mat-icon>
|
|
7624
7616
|
</button>
|
|
7625
7617
|
</mat-form-field>
|
|
7626
7618
|
</div>
|
|
@@ -7688,12 +7680,12 @@ class ConditionalValidatorEditorComponent {
|
|
|
7688
7680
|
<div class="condition-header">
|
|
7689
7681
|
<span class="condition-number">{{ i + 1 }}</span>
|
|
7690
7682
|
<button
|
|
7691
|
-
|
|
7692
|
-
|
|
7683
|
+
praxisIconButton="delete"
|
|
7684
|
+
size="dense"
|
|
7685
|
+
class="danger-action"
|
|
7693
7686
|
(click)="removeCondition(i)"
|
|
7694
7687
|
[disabled]="advancedConditions.length <= 1"
|
|
7695
7688
|
>
|
|
7696
|
-
<mat-icon>delete</mat-icon>
|
|
7697
7689
|
</button>
|
|
7698
7690
|
</div>
|
|
7699
7691
|
<praxis-field-condition-editor
|
|
@@ -7736,14 +7728,13 @@ class ConditionalValidatorEditorComponent {
|
|
|
7736
7728
|
[placeholder]="t('conditionalValidator.placeholder.errorMessage', 'This field is required')"
|
|
7737
7729
|
/>
|
|
7738
7730
|
<button
|
|
7739
|
-
|
|
7731
|
+
praxisIconButton="help_outline"
|
|
7732
|
+
size="dense"
|
|
7740
7733
|
matSuffix
|
|
7741
|
-
class="help-icon-button"
|
|
7742
7734
|
type="button"
|
|
7743
7735
|
[matTooltip]="t('conditionalValidator.help.errorMessage', 'Overrides the default message shown to the user')"
|
|
7744
7736
|
matTooltipPosition="above"
|
|
7745
7737
|
>
|
|
7746
|
-
<mat-icon>help_outline</mat-icon>
|
|
7747
7738
|
</button>
|
|
7748
7739
|
</mat-form-field>
|
|
7749
7740
|
<div class="validation-options">
|
|
@@ -7874,7 +7865,7 @@ class ConditionalValidatorEditorComponent {
|
|
|
7874
7865
|
</div>
|
|
7875
7866
|
}
|
|
7876
7867
|
</form>
|
|
7877
|
-
`, 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%}}.
|
|
7868
|
+
`, 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%}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ 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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i5.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: MatButtonToggleModule }, { kind: "directive", type: i7$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: i7$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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6$1.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: i9.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: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "component", type: FieldConditionEditorComponent, selector: "praxis-field-condition-editor", inputs: ["config", "fieldSchemas"], outputs: ["configChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7878
7869
|
}
|
|
7879
7870
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ConditionalValidatorEditorComponent, decorators: [{
|
|
7880
7871
|
type: Component,
|
|
@@ -7891,6 +7882,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
7891
7882
|
MatTooltipModule,
|
|
7892
7883
|
MatTabsModule,
|
|
7893
7884
|
MatDividerModule,
|
|
7885
|
+
PraxisIconButtonComponent,
|
|
7894
7886
|
FieldConditionEditorComponent
|
|
7895
7887
|
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [providePraxisVisualBuilderI18n()], template: `
|
|
7896
7888
|
<form [formGroup]="validatorForm" class="conditional-validator-form">
|
|
@@ -7976,14 +7968,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
7976
7968
|
}
|
|
7977
7969
|
</mat-select>
|
|
7978
7970
|
<button
|
|
7979
|
-
|
|
7971
|
+
praxisIconButton="help_outline"
|
|
7972
|
+
size="dense"
|
|
7980
7973
|
matSuffix
|
|
7981
|
-
class="help-icon-button"
|
|
7982
7974
|
type="button"
|
|
7983
7975
|
[matTooltip]="t('conditionalValidator.help.targetField', 'Choose the field affected by this rule')"
|
|
7984
7976
|
matTooltipPosition="above"
|
|
7985
7977
|
>
|
|
7986
|
-
<mat-icon>help_outline</mat-icon>
|
|
7987
7978
|
</button>
|
|
7988
7979
|
</mat-form-field>
|
|
7989
7980
|
</div>
|
|
@@ -8051,12 +8042,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8051
8042
|
<div class="condition-header">
|
|
8052
8043
|
<span class="condition-number">{{ i + 1 }}</span>
|
|
8053
8044
|
<button
|
|
8054
|
-
|
|
8055
|
-
|
|
8045
|
+
praxisIconButton="delete"
|
|
8046
|
+
size="dense"
|
|
8047
|
+
class="danger-action"
|
|
8056
8048
|
(click)="removeCondition(i)"
|
|
8057
8049
|
[disabled]="advancedConditions.length <= 1"
|
|
8058
8050
|
>
|
|
8059
|
-
<mat-icon>delete</mat-icon>
|
|
8060
8051
|
</button>
|
|
8061
8052
|
</div>
|
|
8062
8053
|
<praxis-field-condition-editor
|
|
@@ -8099,14 +8090,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8099
8090
|
[placeholder]="t('conditionalValidator.placeholder.errorMessage', 'This field is required')"
|
|
8100
8091
|
/>
|
|
8101
8092
|
<button
|
|
8102
|
-
|
|
8093
|
+
praxisIconButton="help_outline"
|
|
8094
|
+
size="dense"
|
|
8103
8095
|
matSuffix
|
|
8104
|
-
class="help-icon-button"
|
|
8105
8096
|
type="button"
|
|
8106
8097
|
[matTooltip]="t('conditionalValidator.help.errorMessage', 'Overrides the default message shown to the user')"
|
|
8107
8098
|
matTooltipPosition="above"
|
|
8108
8099
|
>
|
|
8109
|
-
<mat-icon>help_outline</mat-icon>
|
|
8110
8100
|
</button>
|
|
8111
8101
|
</mat-form-field>
|
|
8112
8102
|
<div class="validation-options">
|
|
@@ -8237,7 +8227,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8237
8227
|
</div>
|
|
8238
8228
|
}
|
|
8239
8229
|
</form>
|
|
8240
|
-
`, 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%}}.
|
|
8230
|
+
`, 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%}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
8241
8231
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: i1$2.PraxisI18nService, decorators: [{
|
|
8242
8232
|
type: Optional
|
|
8243
8233
|
}] }], propDecorators: { config: [{
|
|
@@ -8646,14 +8636,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8646
8636
|
}
|
|
8647
8637
|
</mat-select>
|
|
8648
8638
|
<button
|
|
8649
|
-
|
|
8639
|
+
praxisIconButton="help_outline"
|
|
8640
|
+
size="dense"
|
|
8650
8641
|
matSuffix
|
|
8651
|
-
class="help-icon-button"
|
|
8652
8642
|
type="button"
|
|
8653
8643
|
[matTooltip]="'Select the array/collection field this validator applies to'"
|
|
8654
8644
|
matTooltipPosition="above"
|
|
8655
8645
|
>
|
|
8656
|
-
<mat-icon>help_outline</mat-icon>
|
|
8657
8646
|
</button>
|
|
8658
8647
|
</mat-form-field>
|
|
8659
8648
|
</div>
|
|
@@ -8674,14 +8663,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8674
8663
|
formControlName="itemVariable"
|
|
8675
8664
|
placeholder="item">
|
|
8676
8665
|
<button
|
|
8677
|
-
|
|
8666
|
+
praxisIconButton="help_outline"
|
|
8667
|
+
size="dense"
|
|
8678
8668
|
matSuffix
|
|
8679
|
-
class="help-icon-button"
|
|
8680
8669
|
type="button"
|
|
8681
8670
|
[matTooltip]="'Variable name to reference each item (e.g., \\'item\\', \\'record\\')'"
|
|
8682
8671
|
matTooltipPosition="above"
|
|
8683
8672
|
>
|
|
8684
|
-
<mat-icon>help_outline</mat-icon>
|
|
8685
8673
|
</button>
|
|
8686
8674
|
</mat-form-field>
|
|
8687
8675
|
<mat-form-field appearance="outline" class="index-variable-input">
|
|
@@ -8690,14 +8678,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8690
8678
|
formControlName="indexVariable"
|
|
8691
8679
|
placeholder="index">
|
|
8692
8680
|
<button
|
|
8693
|
-
|
|
8681
|
+
praxisIconButton="help_outline"
|
|
8682
|
+
size="dense"
|
|
8694
8683
|
matSuffix
|
|
8695
|
-
class="help-icon-button"
|
|
8696
8684
|
type="button"
|
|
8697
8685
|
[matTooltip]="'Variable name to reference item index (optional)'"
|
|
8698
8686
|
matTooltipPosition="above"
|
|
8699
8687
|
>
|
|
8700
|
-
<mat-icon>help_outline</mat-icon>
|
|
8701
8688
|
</button>
|
|
8702
8689
|
</mat-form-field>
|
|
8703
8690
|
</div>
|
|
@@ -8710,11 +8697,11 @@ class CollectionValidatorEditorComponent {
|
|
|
8710
8697
|
[formGroupName]="i">
|
|
8711
8698
|
<div class="rule-header">
|
|
8712
8699
|
<span class="rule-number">{{ i + 1 }}</span>
|
|
8713
|
-
<button
|
|
8714
|
-
|
|
8700
|
+
<button praxisIconButton="delete"
|
|
8701
|
+
size="dense"
|
|
8702
|
+
class="danger-action"
|
|
8715
8703
|
(click)="removeItemValidationRule(i)"
|
|
8716
8704
|
[disabled]="itemValidationRules.length <= 1">
|
|
8717
|
-
<mat-icon>delete</mat-icon>
|
|
8718
8705
|
</button>
|
|
8719
8706
|
</div>
|
|
8720
8707
|
<div class="rule-config">
|
|
@@ -8733,14 +8720,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8733
8720
|
formControlName="fieldPath"
|
|
8734
8721
|
placeholder="item.propertyName">
|
|
8735
8722
|
<button
|
|
8736
|
-
|
|
8723
|
+
praxisIconButton="help_outline"
|
|
8724
|
+
size="dense"
|
|
8737
8725
|
matSuffix
|
|
8738
|
-
class="help-icon-button"
|
|
8739
8726
|
type="button"
|
|
8740
8727
|
[matTooltip]="'Path to the field within each item'"
|
|
8741
8728
|
matTooltipPosition="above"
|
|
8742
8729
|
>
|
|
8743
|
-
<mat-icon>help_outline</mat-icon>
|
|
8744
8730
|
</button>
|
|
8745
8731
|
</mat-form-field>
|
|
8746
8732
|
<mat-form-field appearance="outline" class="rule-message-input">
|
|
@@ -8785,11 +8771,11 @@ class CollectionValidatorEditorComponent {
|
|
|
8785
8771
|
[formControlName]="i"
|
|
8786
8772
|
placeholder="item.propertyName">
|
|
8787
8773
|
</mat-form-field>
|
|
8788
|
-
<button
|
|
8789
|
-
|
|
8774
|
+
<button praxisIconButton="delete"
|
|
8775
|
+
size="dense"
|
|
8776
|
+
class="danger-action"
|
|
8790
8777
|
(click)="removeUniqueField(i)"
|
|
8791
8778
|
[disabled]="uniqueByFields.length <= 1">
|
|
8792
|
-
<mat-icon>delete</mat-icon>
|
|
8793
8779
|
</button>
|
|
8794
8780
|
</div>
|
|
8795
8781
|
}
|
|
@@ -8838,14 +8824,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8838
8824
|
min="0"
|
|
8839
8825
|
placeholder="0">
|
|
8840
8826
|
<button
|
|
8841
|
-
|
|
8827
|
+
praxisIconButton="help_outline"
|
|
8828
|
+
size="dense"
|
|
8842
8829
|
matSuffix
|
|
8843
|
-
class="help-icon-button"
|
|
8844
8830
|
type="button"
|
|
8845
8831
|
[matTooltip]="'Minimum number of items required'"
|
|
8846
8832
|
matTooltipPosition="above"
|
|
8847
8833
|
>
|
|
8848
|
-
<mat-icon>help_outline</mat-icon>
|
|
8849
8834
|
</button>
|
|
8850
8835
|
</mat-form-field>
|
|
8851
8836
|
}
|
|
@@ -8858,14 +8843,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8858
8843
|
min="1"
|
|
8859
8844
|
placeholder="100">
|
|
8860
8845
|
<button
|
|
8861
|
-
|
|
8846
|
+
praxisIconButton="help_outline"
|
|
8847
|
+
size="dense"
|
|
8862
8848
|
matSuffix
|
|
8863
|
-
class="help-icon-button"
|
|
8864
8849
|
type="button"
|
|
8865
8850
|
[matTooltip]="'Maximum number of items allowed'"
|
|
8866
8851
|
matTooltipPosition="above"
|
|
8867
8852
|
>
|
|
8868
|
-
<mat-icon>help_outline</mat-icon>
|
|
8869
8853
|
</button>
|
|
8870
8854
|
</mat-form-field>
|
|
8871
8855
|
}
|
|
@@ -8961,14 +8945,13 @@ class CollectionValidatorEditorComponent {
|
|
|
8961
8945
|
max="1000"
|
|
8962
8946
|
placeholder="50">
|
|
8963
8947
|
<button
|
|
8964
|
-
|
|
8948
|
+
praxisIconButton="help_outline"
|
|
8949
|
+
size="dense"
|
|
8965
8950
|
matSuffix
|
|
8966
|
-
class="help-icon-button"
|
|
8967
8951
|
type="button"
|
|
8968
8952
|
[matTooltip]="'Number of items to validate at once'"
|
|
8969
8953
|
matTooltipPosition="above"
|
|
8970
8954
|
>
|
|
8971
|
-
<mat-icon>help_outline</mat-icon>
|
|
8972
8955
|
</button>
|
|
8973
8956
|
</mat-form-field>
|
|
8974
8957
|
<mat-checkbox formControlName="debounceValidation">
|
|
@@ -9033,7 +9016,7 @@ class CollectionValidatorEditorComponent {
|
|
|
9033
9016
|
</div>
|
|
9034
9017
|
}
|
|
9035
9018
|
</form>
|
|
9036
|
-
`, 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}}.
|
|
9019
|
+
`, 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}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ 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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6$1.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: i9.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: i9$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i9$1.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9037
9020
|
}
|
|
9038
9021
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: CollectionValidatorEditorComponent, decorators: [{
|
|
9039
9022
|
type: Component,
|
|
@@ -9049,7 +9032,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9049
9032
|
MatTooltipModule,
|
|
9050
9033
|
MatTabsModule,
|
|
9051
9034
|
MatDividerModule,
|
|
9052
|
-
MatSliderModule
|
|
9035
|
+
MatSliderModule,
|
|
9036
|
+
PraxisIconButtonComponent
|
|
9053
9037
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
9054
9038
|
<form [formGroup]="collectionForm" class="collection-validator-form">
|
|
9055
9039
|
<!-- Validator Type Selection -->
|
|
@@ -9113,14 +9097,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9113
9097
|
}
|
|
9114
9098
|
</mat-select>
|
|
9115
9099
|
<button
|
|
9116
|
-
|
|
9100
|
+
praxisIconButton="help_outline"
|
|
9101
|
+
size="dense"
|
|
9117
9102
|
matSuffix
|
|
9118
|
-
class="help-icon-button"
|
|
9119
9103
|
type="button"
|
|
9120
9104
|
[matTooltip]="'Select the array/collection field this validator applies to'"
|
|
9121
9105
|
matTooltipPosition="above"
|
|
9122
9106
|
>
|
|
9123
|
-
<mat-icon>help_outline</mat-icon>
|
|
9124
9107
|
</button>
|
|
9125
9108
|
</mat-form-field>
|
|
9126
9109
|
</div>
|
|
@@ -9141,14 +9124,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9141
9124
|
formControlName="itemVariable"
|
|
9142
9125
|
placeholder="item">
|
|
9143
9126
|
<button
|
|
9144
|
-
|
|
9127
|
+
praxisIconButton="help_outline"
|
|
9128
|
+
size="dense"
|
|
9145
9129
|
matSuffix
|
|
9146
|
-
class="help-icon-button"
|
|
9147
9130
|
type="button"
|
|
9148
9131
|
[matTooltip]="'Variable name to reference each item (e.g., \\'item\\', \\'record\\')'"
|
|
9149
9132
|
matTooltipPosition="above"
|
|
9150
9133
|
>
|
|
9151
|
-
<mat-icon>help_outline</mat-icon>
|
|
9152
9134
|
</button>
|
|
9153
9135
|
</mat-form-field>
|
|
9154
9136
|
<mat-form-field appearance="outline" class="index-variable-input">
|
|
@@ -9157,14 +9139,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9157
9139
|
formControlName="indexVariable"
|
|
9158
9140
|
placeholder="index">
|
|
9159
9141
|
<button
|
|
9160
|
-
|
|
9142
|
+
praxisIconButton="help_outline"
|
|
9143
|
+
size="dense"
|
|
9161
9144
|
matSuffix
|
|
9162
|
-
class="help-icon-button"
|
|
9163
9145
|
type="button"
|
|
9164
9146
|
[matTooltip]="'Variable name to reference item index (optional)'"
|
|
9165
9147
|
matTooltipPosition="above"
|
|
9166
9148
|
>
|
|
9167
|
-
<mat-icon>help_outline</mat-icon>
|
|
9168
9149
|
</button>
|
|
9169
9150
|
</mat-form-field>
|
|
9170
9151
|
</div>
|
|
@@ -9177,11 +9158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9177
9158
|
[formGroupName]="i">
|
|
9178
9159
|
<div class="rule-header">
|
|
9179
9160
|
<span class="rule-number">{{ i + 1 }}</span>
|
|
9180
|
-
<button
|
|
9181
|
-
|
|
9161
|
+
<button praxisIconButton="delete"
|
|
9162
|
+
size="dense"
|
|
9163
|
+
class="danger-action"
|
|
9182
9164
|
(click)="removeItemValidationRule(i)"
|
|
9183
9165
|
[disabled]="itemValidationRules.length <= 1">
|
|
9184
|
-
<mat-icon>delete</mat-icon>
|
|
9185
9166
|
</button>
|
|
9186
9167
|
</div>
|
|
9187
9168
|
<div class="rule-config">
|
|
@@ -9200,14 +9181,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9200
9181
|
formControlName="fieldPath"
|
|
9201
9182
|
placeholder="item.propertyName">
|
|
9202
9183
|
<button
|
|
9203
|
-
|
|
9184
|
+
praxisIconButton="help_outline"
|
|
9185
|
+
size="dense"
|
|
9204
9186
|
matSuffix
|
|
9205
|
-
class="help-icon-button"
|
|
9206
9187
|
type="button"
|
|
9207
9188
|
[matTooltip]="'Path to the field within each item'"
|
|
9208
9189
|
matTooltipPosition="above"
|
|
9209
9190
|
>
|
|
9210
|
-
<mat-icon>help_outline</mat-icon>
|
|
9211
9191
|
</button>
|
|
9212
9192
|
</mat-form-field>
|
|
9213
9193
|
<mat-form-field appearance="outline" class="rule-message-input">
|
|
@@ -9252,11 +9232,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9252
9232
|
[formControlName]="i"
|
|
9253
9233
|
placeholder="item.propertyName">
|
|
9254
9234
|
</mat-form-field>
|
|
9255
|
-
<button
|
|
9256
|
-
|
|
9235
|
+
<button praxisIconButton="delete"
|
|
9236
|
+
size="dense"
|
|
9237
|
+
class="danger-action"
|
|
9257
9238
|
(click)="removeUniqueField(i)"
|
|
9258
9239
|
[disabled]="uniqueByFields.length <= 1">
|
|
9259
|
-
<mat-icon>delete</mat-icon>
|
|
9260
9240
|
</button>
|
|
9261
9241
|
</div>
|
|
9262
9242
|
}
|
|
@@ -9305,14 +9285,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9305
9285
|
min="0"
|
|
9306
9286
|
placeholder="0">
|
|
9307
9287
|
<button
|
|
9308
|
-
|
|
9288
|
+
praxisIconButton="help_outline"
|
|
9289
|
+
size="dense"
|
|
9309
9290
|
matSuffix
|
|
9310
|
-
class="help-icon-button"
|
|
9311
9291
|
type="button"
|
|
9312
9292
|
[matTooltip]="'Minimum number of items required'"
|
|
9313
9293
|
matTooltipPosition="above"
|
|
9314
9294
|
>
|
|
9315
|
-
<mat-icon>help_outline</mat-icon>
|
|
9316
9295
|
</button>
|
|
9317
9296
|
</mat-form-field>
|
|
9318
9297
|
}
|
|
@@ -9325,14 +9304,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9325
9304
|
min="1"
|
|
9326
9305
|
placeholder="100">
|
|
9327
9306
|
<button
|
|
9328
|
-
|
|
9307
|
+
praxisIconButton="help_outline"
|
|
9308
|
+
size="dense"
|
|
9329
9309
|
matSuffix
|
|
9330
|
-
class="help-icon-button"
|
|
9331
9310
|
type="button"
|
|
9332
9311
|
[matTooltip]="'Maximum number of items allowed'"
|
|
9333
9312
|
matTooltipPosition="above"
|
|
9334
9313
|
>
|
|
9335
|
-
<mat-icon>help_outline</mat-icon>
|
|
9336
9314
|
</button>
|
|
9337
9315
|
</mat-form-field>
|
|
9338
9316
|
}
|
|
@@ -9428,14 +9406,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9428
9406
|
max="1000"
|
|
9429
9407
|
placeholder="50">
|
|
9430
9408
|
<button
|
|
9431
|
-
|
|
9409
|
+
praxisIconButton="help_outline"
|
|
9410
|
+
size="dense"
|
|
9432
9411
|
matSuffix
|
|
9433
|
-
class="help-icon-button"
|
|
9434
9412
|
type="button"
|
|
9435
9413
|
[matTooltip]="'Number of items to validate at once'"
|
|
9436
9414
|
matTooltipPosition="above"
|
|
9437
9415
|
>
|
|
9438
|
-
<mat-icon>help_outline</mat-icon>
|
|
9439
9416
|
</button>
|
|
9440
9417
|
</mat-form-field>
|
|
9441
9418
|
<mat-checkbox formControlName="debounceValidation">
|
|
@@ -9500,7 +9477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
9500
9477
|
</div>
|
|
9501
9478
|
}
|
|
9502
9479
|
</form>
|
|
9503
|
-
`, 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}}.
|
|
9480
|
+
`, 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}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
9504
9481
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }], propDecorators: { config: [{
|
|
9505
9482
|
type: Input
|
|
9506
9483
|
}], fieldSchemas: [{
|
|
@@ -9825,11 +9802,12 @@ class RuleNodeComponent {
|
|
|
9825
9802
|
|
|
9826
9803
|
<!-- Node Menu -->
|
|
9827
9804
|
<button
|
|
9828
|
-
|
|
9805
|
+
praxisIconButton="more_vert"
|
|
9806
|
+
size="dense"
|
|
9807
|
+
aria-label="Ações da regra"
|
|
9829
9808
|
[matMenuTriggerFor]="nodeMenu"
|
|
9830
9809
|
(click)="$event.stopPropagation()"
|
|
9831
9810
|
>
|
|
9832
|
-
<mat-icon>more_vert</mat-icon>
|
|
9833
9811
|
</button>
|
|
9834
9812
|
|
|
9835
9813
|
<mat-menu #nodeMenu="matMenu">
|
|
@@ -10039,19 +10017,19 @@ class RuleNodeComponent {
|
|
|
10039
10017
|
@if (canHaveChildren()) {
|
|
10040
10018
|
<div class="add-child-area">
|
|
10041
10019
|
<button
|
|
10042
|
-
|
|
10043
|
-
|
|
10020
|
+
praxisIconButton="add_circle"
|
|
10021
|
+
size="dense"
|
|
10022
|
+
aria-label="Adicionar regra filha"
|
|
10044
10023
|
(click)="showAddChildMenu()"
|
|
10045
10024
|
class="add-child-button"
|
|
10046
10025
|
>
|
|
10047
|
-
<mat-icon>add_circle</mat-icon>
|
|
10048
10026
|
</button>
|
|
10049
10027
|
</div>
|
|
10050
10028
|
}
|
|
10051
10029
|
</div>
|
|
10052
10030
|
}
|
|
10053
10031
|
</div>
|
|
10054
|
-
`, 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: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "
|
|
10032
|
+
`, 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: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.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: i3.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: i6$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: i6$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i11$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: i11$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 });
|
|
10055
10033
|
}
|
|
10056
10034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RuleNodeComponent, decorators: [{
|
|
10057
10035
|
type: Component,
|
|
@@ -10068,6 +10046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
10068
10046
|
MatChipsModule,
|
|
10069
10047
|
MatBadgeModule,
|
|
10070
10048
|
MatDividerModule,
|
|
10049
|
+
PraxisIconButtonComponent,
|
|
10071
10050
|
DragDropModule,
|
|
10072
10051
|
FieldConditionEditorComponent,
|
|
10073
10052
|
ConditionalValidatorEditorComponent,
|
|
@@ -10110,11 +10089,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
10110
10089
|
|
|
10111
10090
|
<!-- Node Menu -->
|
|
10112
10091
|
<button
|
|
10113
|
-
|
|
10092
|
+
praxisIconButton="more_vert"
|
|
10093
|
+
size="dense"
|
|
10094
|
+
aria-label="Ações da regra"
|
|
10114
10095
|
[matMenuTriggerFor]="nodeMenu"
|
|
10115
10096
|
(click)="$event.stopPropagation()"
|
|
10116
10097
|
>
|
|
10117
|
-
<mat-icon>more_vert</mat-icon>
|
|
10118
10098
|
</button>
|
|
10119
10099
|
|
|
10120
10100
|
<mat-menu #nodeMenu="matMenu">
|
|
@@ -10324,12 +10304,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
10324
10304
|
@if (canHaveChildren()) {
|
|
10325
10305
|
<div class="add-child-area">
|
|
10326
10306
|
<button
|
|
10327
|
-
|
|
10328
|
-
|
|
10307
|
+
praxisIconButton="add_circle"
|
|
10308
|
+
size="dense"
|
|
10309
|
+
aria-label="Adicionar regra filha"
|
|
10329
10310
|
(click)="showAddChildMenu()"
|
|
10330
10311
|
class="add-child-button"
|
|
10331
10312
|
>
|
|
10332
|
-
<mat-icon>add_circle</mat-icon>
|
|
10333
10313
|
</button>
|
|
10334
10314
|
</div>
|
|
10335
10315
|
}
|
|
@@ -11194,11 +11174,11 @@ class TargetSelectorComponent {
|
|
|
11194
11174
|
@if (searchControl.value) {
|
|
11195
11175
|
<button
|
|
11196
11176
|
matSuffix
|
|
11197
|
-
|
|
11177
|
+
praxisIconButton="close"
|
|
11178
|
+
size="dense"
|
|
11198
11179
|
[attr.aria-label]="t('target.searchClear', 'Limpar busca')"
|
|
11199
11180
|
(click)="clearSearch($event)"
|
|
11200
11181
|
>
|
|
11201
|
-
<mat-icon>close</mat-icon>
|
|
11202
11182
|
</button>
|
|
11203
11183
|
}
|
|
11204
11184
|
</mat-form-field>
|
|
@@ -11274,7 +11254,7 @@ class TargetSelectorComponent {
|
|
|
11274
11254
|
</div>
|
|
11275
11255
|
}
|
|
11276
11256
|
</div>
|
|
11277
|
-
`, isInline: true, styles: [".target-selector-container{--_pvb-target-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-target-surface: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-target-surface-strong: var(--md-sys-color-surface-container, var(--md-sys-color-surface));--_pvb-target-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-target-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;gap:16px}.section-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:12px 0 8px}.hero-icon{width:74px;height:74px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--_pvb-target-accent) 24%,transparent);background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--_pvb-target-accent) 22%,transparent) 0%,transparent 55%),color-mix(in srgb,var(--_pvb-target-surface) 98%,black 2%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 34px color-mix(in srgb,var(--_pvb-target-accent) 12%,transparent)}.hero-icon mat-icon{color:var(--_pvb-target-accent);font-size:30px;width:30px;height:30px}.section-title{font-weight:600;font-size:18px;color:var(--md-sys-color-on-surface)}.section-description{max-width:680px;font-size:14px;color:var(--_pvb-target-text-soft);line-height:1.5}.hero-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--_pvb-target-border) 72%,transparent);background:color-mix(in srgb,var(--_pvb-target-surface-strong) 96%,black 4%);font-size:12px;color:var(--_pvb-target-text-soft);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.type-toggle-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px}.type-toggle{min-height:88px;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 color-mix(in srgb,var(--_pvb-target-border) 72%,transparent);box-sizing:border-box;border-radius:16px;background:color-mix(in srgb,var(--_pvb-target-surface) 92%,black 8%);transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 12px 26px color-mix(in srgb,black 12%,transparent)}.type-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-target-accent) 36%,transparent)}.type-toggle.mat-button-toggle-checked{border-color:color-mix(in srgb,var(--_pvb-target-accent) 54%,transparent);background:color-mix(in srgb,var(--_pvb-target-accent) 12%,var(--_pvb-target-surface) 88%);box-shadow:inset 0 1px color-mix(in srgb,white 7%,transparent),0 18px 34px color-mix(in srgb,var(--_pvb-target-accent) 14%,transparent)}.type-text{display:flex;flex-direction:column;gap:2px;max-width:100%}.type-label{font-weight:600}.type-desc{font-size:12px;color:var(--_pvb-target-text-soft);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.target-list-selector{margin-top:8px;border-top:1px solid color-mix(in srgb,var(--_pvb-target-border) 52%,transparent);padding-top:14px}.w-100{width:100%}.list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;flex-wrap:wrap}.list-title{font-weight:600}.list-stats{font-size:13px;color:var(--_pvb-target-text-soft);white-space:nowrap}.search-input-field{width:260px;align-self:center;display:flex;align-items:center}.search-input-field ::ng-deep .mat-mdc-text-field-wrapper{border-radius:14px;background:color-mix(in srgb,var(--_pvb-target-surface-strong) 94%,black 6%)}.search-input-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.target-groups{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow:auto;padding-right:4px}.card-list{display:flex;flex-direction:column;gap:8px}.target-card{display:flex;gap:12px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--_pvb-target-border) 78%,transparent);border-radius:14px;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;align-items:center;background:color-mix(in srgb,var(--_pvb-target-surface) 96%,black 4%);min-height:72px;box-shadow:inset 0 1px color-mix(in srgb,white 4%,transparent),0 10px 22px color-mix(in srgb,black 10%,transparent)}.target-card:hover{border-color:color-mix(in srgb,var(--_pvb-target-accent) 40%,transparent);transform:translateY(-1px);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 16px 28px color-mix(in srgb,var(--_pvb-target-accent) 10%,transparent)}.target-card.selected{border-color:color-mix(in srgb,var(--_pvb-target-accent) 64%,transparent);background:color-mix(in srgb,var(--_pvb-target-accent) 12%,var(--_pvb-target-surface) 88%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 30px color-mix(in srgb,var(--_pvb-target-accent) 12%,transparent)}.card-icon{color:var(--_pvb-target-accent);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--_pvb-target-accent) 16%,transparent))}.card-content{display:flex;flex-direction:column;gap:4px}.card-title{font-weight:600}.card-subtitle{font-size:13px;color:var(--_pvb-target-text-soft)}.card-meta{font-size:12px;color:var(--_pvb-target-text-soft)}.selected-wrapper{background:color-mix(in srgb,var(--_pvb-target-surface) 96%,black 4%);border:1px solid color-mix(in srgb,var(--_pvb-target-border) 78%,transparent);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-top:12px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.selected-label{font-weight:600;font-size:13px;color:var(--md-sys-color-on-surface)}.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 color-mix(in srgb,var(--_pvb-target-border) 82%,transparent);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;color:var(--_pvb-target-text-soft)}.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: 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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i7$1.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i11$1.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i11$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11$1.MatExpansionPanelDescription, selector: "mat-panel-description" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11257
|
+
`, isInline: true, styles: [".target-selector-container{--_pvb-target-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-target-surface: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-target-surface-strong: var(--md-sys-color-surface-container, var(--md-sys-color-surface));--_pvb-target-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-target-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;gap:16px}.section-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:12px 0 8px}.hero-icon{width:74px;height:74px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--_pvb-target-accent) 24%,transparent);background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--_pvb-target-accent) 22%,transparent) 0%,transparent 55%),color-mix(in srgb,var(--_pvb-target-surface) 98%,black 2%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 34px color-mix(in srgb,var(--_pvb-target-accent) 12%,transparent)}.hero-icon mat-icon{color:var(--_pvb-target-accent);font-size:30px;width:30px;height:30px}.section-title{font-weight:600;font-size:18px;color:var(--md-sys-color-on-surface)}.section-description{max-width:680px;font-size:14px;color:var(--_pvb-target-text-soft);line-height:1.5}.hero-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--_pvb-target-border) 72%,transparent);background:color-mix(in srgb,var(--_pvb-target-surface-strong) 96%,black 4%);font-size:12px;color:var(--_pvb-target-text-soft);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.type-toggle-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px}.type-toggle{min-height:88px;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 color-mix(in srgb,var(--_pvb-target-border) 72%,transparent);box-sizing:border-box;border-radius:16px;background:color-mix(in srgb,var(--_pvb-target-surface) 92%,black 8%);transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 12px 26px color-mix(in srgb,black 12%,transparent)}.type-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-target-accent) 36%,transparent)}.type-toggle.mat-button-toggle-checked{border-color:color-mix(in srgb,var(--_pvb-target-accent) 54%,transparent);background:color-mix(in srgb,var(--_pvb-target-accent) 12%,var(--_pvb-target-surface) 88%);box-shadow:inset 0 1px color-mix(in srgb,white 7%,transparent),0 18px 34px color-mix(in srgb,var(--_pvb-target-accent) 14%,transparent)}.type-text{display:flex;flex-direction:column;gap:2px;max-width:100%}.type-label{font-weight:600}.type-desc{font-size:12px;color:var(--_pvb-target-text-soft);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.target-list-selector{margin-top:8px;border-top:1px solid color-mix(in srgb,var(--_pvb-target-border) 52%,transparent);padding-top:14px}.w-100{width:100%}.list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;flex-wrap:wrap}.list-title{font-weight:600}.list-stats{font-size:13px;color:var(--_pvb-target-text-soft);white-space:nowrap}.search-input-field{width:260px;align-self:center;display:flex;align-items:center}.search-input-field ::ng-deep .mat-mdc-text-field-wrapper{border-radius:14px;background:color-mix(in srgb,var(--_pvb-target-surface-strong) 94%,black 6%)}.search-input-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.target-groups{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow:auto;padding-right:4px}.card-list{display:flex;flex-direction:column;gap:8px}.target-card{display:flex;gap:12px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--_pvb-target-border) 78%,transparent);border-radius:14px;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;align-items:center;background:color-mix(in srgb,var(--_pvb-target-surface) 96%,black 4%);min-height:72px;box-shadow:inset 0 1px color-mix(in srgb,white 4%,transparent),0 10px 22px color-mix(in srgb,black 10%,transparent)}.target-card:hover{border-color:color-mix(in srgb,var(--_pvb-target-accent) 40%,transparent);transform:translateY(-1px);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 16px 28px color-mix(in srgb,var(--_pvb-target-accent) 10%,transparent)}.target-card.selected{border-color:color-mix(in srgb,var(--_pvb-target-accent) 64%,transparent);background:color-mix(in srgb,var(--_pvb-target-accent) 12%,var(--_pvb-target-surface) 88%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 30px color-mix(in srgb,var(--_pvb-target-accent) 12%,transparent)}.card-icon{color:var(--_pvb-target-accent);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--_pvb-target-accent) 16%,transparent))}.card-content{display:flex;flex-direction:column;gap:4px}.card-title{font-weight:600}.card-subtitle{font-size:13px;color:var(--_pvb-target-text-soft)}.card-meta{font-size:12px;color:var(--_pvb-target-text-soft)}.selected-wrapper{background:color-mix(in srgb,var(--_pvb-target-surface) 96%,black 4%);border:1px solid color-mix(in srgb,var(--_pvb-target-border) 78%,transparent);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-top:12px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.selected-label{font-weight:600;font-size:13px;color:var(--md-sys-color-on-surface)}.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 color-mix(in srgb,var(--_pvb-target-border) 82%,transparent);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;color:var(--_pvb-target-text-soft)}.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: 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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i7$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: i7$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: i6$1.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i10$1.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i10$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i10$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i10$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i10$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11278
11258
|
}
|
|
11279
11259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TargetSelectorComponent, decorators: [{
|
|
11280
11260
|
type: Component,
|
|
@@ -11290,7 +11270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
11290
11270
|
MatButtonToggleModule,
|
|
11291
11271
|
MatCheckboxModule,
|
|
11292
11272
|
MatTooltipModule,
|
|
11293
|
-
MatExpansionModule
|
|
11273
|
+
MatExpansionModule,
|
|
11274
|
+
PraxisIconButtonComponent
|
|
11294
11275
|
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [providePraxisVisualBuilderI18n()], template: `
|
|
11295
11276
|
<div class="target-selector-container">
|
|
11296
11277
|
<div class="section-header">
|
|
@@ -11353,11 +11334,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
11353
11334
|
@if (searchControl.value) {
|
|
11354
11335
|
<button
|
|
11355
11336
|
matSuffix
|
|
11356
|
-
|
|
11337
|
+
praxisIconButton="close"
|
|
11338
|
+
size="dense"
|
|
11357
11339
|
[attr.aria-label]="t('target.searchClear', 'Limpar busca')"
|
|
11358
11340
|
(click)="clearSearch($event)"
|
|
11359
11341
|
>
|
|
11360
|
-
<mat-icon>close</mat-icon>
|
|
11361
11342
|
</button>
|
|
11362
11343
|
}
|
|
11363
11344
|
</mat-form-field>
|
|
@@ -12188,7 +12169,7 @@ class RuleDefinitionComponent {
|
|
|
12188
12169
|
</div>
|
|
12189
12170
|
</div>
|
|
12190
12171
|
</div>
|
|
12191
|
-
`, isInline: true, styles: [".rule-definition-container{--_pvb-definition-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-definition-surface: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-definition-surface-strong: var(--md-sys-color-surface-container, var(--md-sys-color-surface));--_pvb-definition-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-definition-success: var(--md-sys-color-tertiary, #2dcc8f);--_pvb-definition-shadow: color-mix(in srgb, var(--_pvb-definition-accent) 18%, transparent);display:flex;flex-direction:column;gap:8px;padding:6px 16px 12px;overflow-y:auto;height:100%;min-height:0;flex:1;box-sizing:border-box;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-definition-accent) 8%,transparent) 0%,transparent 34%),var(--_pvb-definition-surface)}.rule-canvas-wrapper{width:100%;min-height:0;margin:0}.rule-stepper{background:transparent;flex:1}.wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;padding:6px 0 14px}.wizard-progress.mobile{grid-template-columns:1fr}.progress-step{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-radius:18px;border:1px solid transparent;background:transparent;color:var(--md-sys-color-on-surface-variant);text-align:left;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}.progress-step:disabled{cursor:default;opacity:1}.progress-step:not(:disabled){cursor:pointer}.progress-step:not(:disabled):hover{transform:translateY(-1px);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 82%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent)}.progress-step.is-current{background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 90%,black 10%);border-color:color-mix(in srgb,var(--_pvb-definition-accent) 34%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-definition-accent) 12%,transparent),0 16px 36px color-mix(in srgb,var(--_pvb-definition-shadow) 28%,transparent);color:var(--md-sys-color-on-surface)}.progress-step.is-complete{color:var(--md-sys-color-on-surface)}.progress-step.is-pending{color:var(--md-sys-color-on-surface-variant)}.progress-step-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 52%,transparent);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 94%,black 6%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent)}.progress-step.is-current .progress-step-icon{background:color-mix(in srgb,var(--_pvb-definition-accent) 14%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-accent) 42%,transparent);color:var(--_pvb-definition-accent);box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent),0 0 18px color-mix(in srgb,var(--_pvb-definition-accent) 18%,transparent)}.progress-step.is-complete .progress-step-icon{background:color-mix(in srgb,var(--_pvb-definition-success) 16%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-success) 46%,transparent);color:var(--_pvb-definition-success);box-shadow:0 0 18px color-mix(in srgb,var(--_pvb-definition-success) 18%,transparent)}.progress-step-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.progress-step-title{font-size:14px;font-weight:600;color:inherit}.progress-step-subtitle{font-size:11px;line-height:1.2;color:var(--md-sys-color-on-surface-variant)}.progress-connector{height:1px;background:color-mix(in srgb,var(--_pvb-definition-border) 44%,transparent);margin:0 -2px;position:relative;overflow:hidden}.progress-connector.active{background:color-mix(in srgb,var(--_pvb-definition-success) 54%,transparent)}.progress-connector.active:after{content:\"\";position:absolute;inset:-1px auto -1px -20%;width:36%;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--_pvb-definition-success) 54%,white 16%) 50%,transparent 100%);animation:pvbProgressPulse 2.6s ease-in-out infinite}.panel-content{display:flex;flex-direction:column;gap:12px;padding:0}.mode-selector{margin-bottom:12px;display:flex;justify-content:flex-start}.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-label-stack{display:inline-flex;flex-direction:column;gap:2px;line-height:1.1}.step-label-main{font-size:14px;font-weight:600}.step-label-sub{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.step-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-left:0}.step-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0 0;margin-top:8px;border-top:1px solid color-mix(in srgb,var(--_pvb-definition-border) 52%,transparent);position:sticky;bottom:0;z-index:2;background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-definition-surface) 2%,transparent),color-mix(in srgb,var(--_pvb-definition-surface) 96%,black 4%) 36%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-actions-left,.footer-actions-right{display:flex;align-items:center;gap:10px}.step-footer button[mat-stroked-button],.step-footer button[mat-button],.step-footer button[mat-flat-button]{min-height:40px;border-radius:12px}.step-footer button[mat-flat-button]{min-width:108px;box-shadow:0 10px 24px color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent)}.step-footer button[mat-flat-button]:not([disabled]){animation:pvbPrimaryGlow 2.8s ease-in-out infinite}.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:10px;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(--_pvb-definition-border);border-radius:12px;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:8px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);box-shadow:inset 0 1px color-mix(in srgb,white 4%,transparent)}.review-title{font-weight:600}.review-hero{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-definition-accent) 12%,var(--_pvb-definition-surface-strong) 88%),color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%));box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 42px color-mix(in srgb,var(--_pvb-definition-shadow) 14%,transparent)}.review-hero-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}.review-hero-body{font-size:16px;line-height:1.5;font-weight:500}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-block.highlight{grid-column:span 3}.review-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--md-sys-color-on-surface-variant)}.review-body{font-size:14px;line-height:1.5}.code-block{font-family:Roboto Mono,monospace;font-size:12px;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);border:1px solid var(--_pvb-definition-border);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:color-mix(in srgb,var(--_pvb-definition-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 78%,transparent);font-size:13px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.technical-details{border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%)}.technical-details summary{cursor:pointer;font-weight:600}.technical-details[open]{display:flex;flex-direction:column;gap:12px}.review-block.compact{padding:0;border:0;background:transparent}.condition-panel{width:100%;margin-left:0}.condition-editor{border:1px solid var(--_pvb-definition-border);border-radius:12px;padding:10px;box-shadow:none;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);width:100%;min-height:unset;overflow:visible}.manual-editor-box ::ng-deep .mat-mdc-form-field-flex{border-radius:8px}::ng-deep .mat-horizontal-stepper-header-container{display:none}::ng-deep .mat-horizontal-content-container{padding:2px 0 0}@media(max-width:768px){.review-grid{grid-template-columns:1fr}.review-block.highlight{grid-column:span 1}.step-footer{flex-direction:column;align-items:stretch}.footer-actions-left,.footer-actions-right{width:100%;justify-content:space-between}.progress-connector{display:none}}@keyframes pvbPrimaryGlow{0%,to{box-shadow:0 10px 24px color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent)}50%{box-shadow:0 14px 30px color-mix(in srgb,var(--_pvb-definition-accent) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--_pvb-definition-accent) 16%,transparent)}}@keyframes pvbProgressPulse{0%{transform:translate(0);opacity:0}18%{opacity:1}to{transform:translate(340%);opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.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: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i7$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i7$3.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i7$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "aria-label", "headerPrefix", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i7$3.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", "validationErrors"], outputs: ["nodeSelected", "nodeAdded", "nodeUpdated", "nodeRemoved"] }, { kind: "pipe", type: i12$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12172
|
+
`, isInline: true, styles: [".rule-definition-container{--_pvb-definition-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-definition-surface: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-definition-surface-strong: var(--md-sys-color-surface-container, var(--md-sys-color-surface));--_pvb-definition-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-definition-success: var(--md-sys-color-tertiary, #2dcc8f);--_pvb-definition-shadow: color-mix(in srgb, var(--_pvb-definition-accent) 18%, transparent);display:flex;flex-direction:column;gap:8px;padding:6px 16px 12px;overflow-y:auto;height:100%;min-height:0;flex:1;box-sizing:border-box;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-definition-accent) 8%,transparent) 0%,transparent 34%),var(--_pvb-definition-surface)}.rule-canvas-wrapper{width:100%;min-height:0;margin:0}.rule-stepper{background:transparent;flex:1}.wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;padding:6px 0 14px}.wizard-progress.mobile{grid-template-columns:1fr}.progress-step{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-radius:18px;border:1px solid transparent;background:transparent;color:var(--md-sys-color-on-surface-variant);text-align:left;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}.progress-step:disabled{cursor:default;opacity:1}.progress-step:not(:disabled){cursor:pointer}.progress-step:not(:disabled):hover{transform:translateY(-1px);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 82%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent)}.progress-step.is-current{background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 90%,black 10%);border-color:color-mix(in srgb,var(--_pvb-definition-accent) 34%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-definition-accent) 12%,transparent),0 16px 36px color-mix(in srgb,var(--_pvb-definition-shadow) 28%,transparent);color:var(--md-sys-color-on-surface)}.progress-step.is-complete{color:var(--md-sys-color-on-surface)}.progress-step.is-pending{color:var(--md-sys-color-on-surface-variant)}.progress-step-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 52%,transparent);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 94%,black 6%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent)}.progress-step.is-current .progress-step-icon{background:color-mix(in srgb,var(--_pvb-definition-accent) 14%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-accent) 42%,transparent);color:var(--_pvb-definition-accent);box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent),0 0 18px color-mix(in srgb,var(--_pvb-definition-accent) 18%,transparent)}.progress-step.is-complete .progress-step-icon{background:color-mix(in srgb,var(--_pvb-definition-success) 16%,transparent);border-color:color-mix(in srgb,var(--_pvb-definition-success) 46%,transparent);color:var(--_pvb-definition-success);box-shadow:0 0 18px color-mix(in srgb,var(--_pvb-definition-success) 18%,transparent)}.progress-step-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.progress-step-title{font-size:14px;font-weight:600;color:inherit}.progress-step-subtitle{font-size:11px;line-height:1.2;color:var(--md-sys-color-on-surface-variant)}.progress-connector{height:1px;background:color-mix(in srgb,var(--_pvb-definition-border) 44%,transparent);margin:0 -2px;position:relative;overflow:hidden}.progress-connector.active{background:color-mix(in srgb,var(--_pvb-definition-success) 54%,transparent)}.progress-connector.active:after{content:\"\";position:absolute;inset:-1px auto -1px -20%;width:36%;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--_pvb-definition-success) 54%,white 16%) 50%,transparent 100%);animation:pvbProgressPulse 2.6s ease-in-out infinite}.panel-content{display:flex;flex-direction:column;gap:12px;padding:0}.mode-selector{margin-bottom:12px;display:flex;justify-content:flex-start}.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-label-stack{display:inline-flex;flex-direction:column;gap:2px;line-height:1.1}.step-label-main{font-size:14px;font-weight:600}.step-label-sub{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.step-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-left:0}.step-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0 0;margin-top:8px;border-top:1px solid color-mix(in srgb,var(--_pvb-definition-border) 52%,transparent);position:sticky;bottom:0;z-index:2;background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-definition-surface) 2%,transparent),color-mix(in srgb,var(--_pvb-definition-surface) 96%,black 4%) 36%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-actions-left,.footer-actions-right{display:flex;align-items:center;gap:10px}.step-footer button[mat-stroked-button],.step-footer button[mat-button],.step-footer button[mat-flat-button]{min-height:40px;border-radius:12px}.step-footer button[mat-flat-button]{min-width:108px;box-shadow:0 10px 24px color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent)}.step-footer button[mat-flat-button]:not([disabled]){animation:pvbPrimaryGlow 2.8s ease-in-out infinite}.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:10px;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(--_pvb-definition-border);border-radius:12px;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:8px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent);background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);box-shadow:inset 0 1px color-mix(in srgb,white 4%,transparent)}.review-title{font-weight:600}.review-hero{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-definition-accent) 12%,var(--_pvb-definition-surface-strong) 88%),color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%));box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 18px 42px color-mix(in srgb,var(--_pvb-definition-shadow) 14%,transparent)}.review-hero-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}.review-hero-body{font-size:16px;line-height:1.5;font-weight:500}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-block.highlight{grid-column:span 3}.review-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--md-sys-color-on-surface-variant)}.review-body{font-size:14px;line-height:1.5}.code-block{font-family:Roboto Mono,monospace;font-size:12px;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);border:1px solid var(--_pvb-definition-border);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:color-mix(in srgb,var(--_pvb-definition-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 78%,transparent);font-size:13px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.technical-details{border:1px solid color-mix(in srgb,var(--_pvb-definition-border) 72%,transparent);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%)}.technical-details summary{cursor:pointer;font-weight:600}.technical-details[open]{display:flex;flex-direction:column;gap:12px}.review-block.compact{padding:0;border:0;background:transparent}.condition-panel{width:100%;margin-left:0}.condition-editor{border:1px solid var(--_pvb-definition-border);border-radius:12px;padding:10px;box-shadow:none;background:color-mix(in srgb,var(--_pvb-definition-surface-strong) 96%,black 4%);width:100%;min-height:unset;overflow:visible}.manual-editor-box ::ng-deep .mat-mdc-form-field-flex{border-radius:8px}::ng-deep .mat-horizontal-stepper-header-container{display:none}::ng-deep .mat-horizontal-content-container{padding:2px 0 0}@media(max-width:768px){.review-grid{grid-template-columns:1fr}.review-block.highlight{grid-column:span 1}.step-footer{flex-direction:column;align-items:stretch}.footer-actions-left,.footer-actions-right{width:100%;justify-content:space-between}.progress-connector{display:none}}@keyframes pvbPrimaryGlow{0%,to{box-shadow:0 10px 24px color-mix(in srgb,var(--_pvb-definition-accent) 22%,transparent)}50%{box-shadow:0 14px 30px color-mix(in srgb,var(--_pvb-definition-accent) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--_pvb-definition-accent) 16%,transparent)}}@keyframes pvbProgressPulse{0%{transform:translate(0);opacity:0}18%{opacity:1}to{transform:translate(340%);opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i7$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: i7$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: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i7$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i7$3.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i7$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "aria-label", "headerPrefix", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i7$3.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", "validationErrors"], outputs: ["nodeSelected", "nodeAdded", "nodeUpdated", "nodeRemoved"] }, { kind: "pipe", type: i12$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12192
12173
|
}
|
|
12193
12174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RuleDefinitionComponent, decorators: [{
|
|
12194
12175
|
type: Component,
|
|
@@ -12826,11 +12807,11 @@ class RuleListComponent {
|
|
|
12826
12807
|
@if (searchTerm) {
|
|
12827
12808
|
<button
|
|
12828
12809
|
matSuffix
|
|
12829
|
-
|
|
12810
|
+
praxisIconButton="close"
|
|
12811
|
+
size="dense"
|
|
12830
12812
|
[attr.aria-label]="t('ruleList.clearSearch', 'Limpar busca')"
|
|
12831
12813
|
(click)="searchTerm = ''"
|
|
12832
12814
|
>
|
|
12833
|
-
<mat-icon>close</mat-icon>
|
|
12834
12815
|
</button>
|
|
12835
12816
|
}
|
|
12836
12817
|
</mat-form-field>
|
|
@@ -12933,23 +12914,22 @@ class RuleListComponent {
|
|
|
12933
12914
|
</div>
|
|
12934
12915
|
<div class="card-actions">
|
|
12935
12916
|
<button
|
|
12936
|
-
|
|
12917
|
+
praxisIconButton="content_copy"
|
|
12918
|
+
size="dense"
|
|
12937
12919
|
class="card-action"
|
|
12938
12920
|
(click)="onDuplicate(item, $event)"
|
|
12939
12921
|
[matTooltip]="t('ruleList.duplicate', 'Duplicar regra')"
|
|
12940
12922
|
[attr.aria-label]="t('ruleList.duplicate', 'Duplicar regra')"
|
|
12941
12923
|
>
|
|
12942
|
-
<mat-icon>content_copy</mat-icon>
|
|
12943
12924
|
</button>
|
|
12944
12925
|
<button
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
class="card-action"
|
|
12926
|
+
praxisIconButton="delete"
|
|
12927
|
+
size="dense"
|
|
12928
|
+
class="card-action danger-action"
|
|
12948
12929
|
(click)="onDelete(item, $event)"
|
|
12949
12930
|
[matTooltip]="t('ruleList.remove', 'Remover regra')"
|
|
12950
12931
|
[attr.aria-label]="t('ruleList.remove', 'Remover regra')"
|
|
12951
12932
|
>
|
|
12952
|
-
<mat-icon>delete</mat-icon>
|
|
12953
12933
|
</button>
|
|
12954
12934
|
</div>
|
|
12955
12935
|
</div>
|
|
@@ -12984,7 +12964,7 @@ class RuleListComponent {
|
|
|
12984
12964
|
</div>
|
|
12985
12965
|
}
|
|
12986
12966
|
</div>
|
|
12987
|
-
`, isInline: true, styles: [":host{--_pvb-list-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-list-surface: var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));--_pvb-list-surface-strong: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-list-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-list-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));--_pvb-list-success: var(--md-sys-color-primary, var(--_pvb-list-accent));--_pvb-list-warning: var(--md-sys-color-tertiary, #ffb347);--_pvb-list-error: var(--md-sys-color-error, #ff5f5f);display:flex;flex-direction:column;border-right:1px solid var(--md-sys-color-outline-variant);background:radial-gradient(circle at top left,color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent) 0%,transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-surface-strong) 94%,black 6%),color-mix(in srgb,var(--_pvb-list-surface) 96%,black 4%));overflow:hidden;min-width:0;color:var(--md-sys-color-on-surface)}.panel-header{padding:18px 18px 12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 84%,transparent)}.panel-heading{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--_pvb-list-accent)}.panel-header h3{margin:0;font-size:18px;font-weight:600}.header-badge-stack{display:flex;flex-direction:column;align-items:center}.header-badge{min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 92%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 22%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 72%,var(--md-sys-color-on-surface) 28%);font-size:13px;font-weight:700}.search-box{padding:0 18px}.w-100,.search-box mat-form-field{width:100%}.search-box ::ng-deep .mat-mdc-text-field-wrapper{background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);border-radius:14px}.search-box ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 0}.filter-chip{min-height:30px;border-radius:999px!important;font-size:12px;color:var(--_pvb-list-text-soft);border-color:color-mix(in srgb,var(--_pvb-list-border) 74%,transparent)!important}.filter-chip.active{color:var(--_pvb-list-accent);background:color-mix(in srgb,var(--_pvb-list-accent) 10%,transparent);border-color:color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent)!important}.panel-actions{padding:12px 18px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.new-rule-button{min-height:42px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent),color-mix(in srgb,var(--_pvb-list-accent) 16%,transparent))!important;border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 44%,transparent);color:var(--_pvb-list-accent)!important;font-weight:700}.ai-rule-button{min-width:52px;min-height:42px;border-radius:12px!important;border-color:color-mix(in srgb,var(--_pvb-list-accent) 28%,transparent)!important;color:var(--_pvb-list-accent)!important;padding:0 12px!important}.list-content{flex:1;overflow-y:auto;padding:0 10px 14px}mat-list{padding:0}.rule-list-item{padding:0;margin-bottom:10px;cursor:pointer;height:auto!important;min-height:0}::ng-deep .rule-list-item .mdc-list-item__content{width:100%;padding:0!important}.rule-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-list-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 10px 24px color-mix(in srgb,black 18%,transparent)}.rule-card.has-error{border-color:color-mix(in srgb,var(--_pvb-list-error) 30%,transparent)}.rule-list-item:hover .rule-card{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-list-accent) 34%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 16px 30px color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent)}.rule-list-item.selected .rule-card{border-color:color-mix(in srgb,var(--_pvb-list-accent) 68%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent),0 16px 34px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-accent) 10%,var(--_pvb-list-surface-strong) 90%),color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%))}.rule-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-card-title-group{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.rule-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.rule-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;width:fit-content}.rule-status.valid{color:var(--_pvb-list-success)}.rule-status.incomplete{color:var(--_pvb-list-warning)}.rule-status.draft{color:var(--_pvb-list-text-soft)}.rule-status.error{color:var(--_pvb-list-error)}.status-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.card-actions{display:flex;align-items:center;gap:2px}.card-action{opacity:.72;width:30px;height:30px;transition:transform .18s ease,opacity .18s ease,color .18s ease}.card-action:hover{transform:translateY(-1px) scale(1.02);opacity:1}.rule-card-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 82%,var(--md-sys-color-on-surface) 18%);font-size:12px;box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent)}.meta-pill.subtle{background:color-mix(in srgb,var(--_pvb-list-border) 16%,transparent);color:var(--_pvb-list-text-soft)}.rule-summary{font-size:12px;line-height:1.45;color:var(--_pvb-list-text-soft)}.rule-tags{display:flex;flex-wrap:wrap;gap:6px}.rule-card-footer{display:flex;justify-content:flex-end;align-items:center;min-height:18px}.rule-time{font-size:12px;color:var(--_pvb-list-text-soft);letter-spacing:.01em}.tag{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent);color:var(--_pvb-list-accent);font-size:11px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.rule-name{font-weight:600;font-size:15px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.empty-list{padding:28px 18px;text-align:center;color:var(--_pvb-list-text-soft);font-size:13px;line-height:1.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i12$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i5.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: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12967
|
+
`, isInline: true, styles: [":host{--_pvb-list-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-list-surface: var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));--_pvb-list-surface-strong: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-list-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-list-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));--_pvb-list-success: var(--md-sys-color-primary, var(--_pvb-list-accent));--_pvb-list-warning: var(--md-sys-color-tertiary, #ffb347);--_pvb-list-error: var(--md-sys-color-error, #ff5f5f);display:flex;flex-direction:column;border-right:1px solid var(--md-sys-color-outline-variant);background:radial-gradient(circle at top left,color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent) 0%,transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-surface-strong) 94%,black 6%),color-mix(in srgb,var(--_pvb-list-surface) 96%,black 4%));overflow:hidden;min-width:0;color:var(--md-sys-color-on-surface)}.panel-header{padding:18px 18px 12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 84%,transparent)}.panel-heading{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--_pvb-list-accent)}.panel-header h3{margin:0;font-size:18px;font-weight:600}.header-badge-stack{display:flex;flex-direction:column;align-items:center}.header-badge{min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 92%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 22%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 72%,var(--md-sys-color-on-surface) 28%);font-size:13px;font-weight:700}.search-box{padding:0 18px}.w-100,.search-box mat-form-field{width:100%}.search-box ::ng-deep .mat-mdc-text-field-wrapper{background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);border-radius:14px}.search-box ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 0}.filter-chip{min-height:30px;border-radius:999px!important;font-size:12px;color:var(--_pvb-list-text-soft);border-color:color-mix(in srgb,var(--_pvb-list-border) 74%,transparent)!important}.filter-chip.active{color:var(--_pvb-list-accent);background:color-mix(in srgb,var(--_pvb-list-accent) 10%,transparent);border-color:color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent)!important}.panel-actions{padding:12px 18px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.new-rule-button{min-height:42px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent),color-mix(in srgb,var(--_pvb-list-accent) 16%,transparent))!important;border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 44%,transparent);color:var(--_pvb-list-accent)!important;font-weight:700}.ai-rule-button{min-width:52px;min-height:42px;border-radius:12px!important;border-color:color-mix(in srgb,var(--_pvb-list-accent) 28%,transparent)!important;color:var(--_pvb-list-accent)!important;padding:0 12px!important}.list-content{flex:1;overflow-y:auto;padding:0 10px 14px}mat-list{padding:0}.rule-list-item{padding:0;margin-bottom:10px;cursor:pointer;height:auto!important;min-height:0}::ng-deep .rule-list-item .mdc-list-item__content{width:100%;padding:0!important}.rule-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-list-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 10px 24px color-mix(in srgb,black 18%,transparent)}.rule-card.has-error{border-color:color-mix(in srgb,var(--_pvb-list-error) 30%,transparent)}.rule-list-item:hover .rule-card{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-list-accent) 34%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 16px 30px color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent)}.rule-list-item.selected .rule-card{border-color:color-mix(in srgb,var(--_pvb-list-accent) 68%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent),0 16px 34px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-accent) 10%,var(--_pvb-list-surface-strong) 90%),color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%))}.rule-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-card-title-group{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.rule-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.rule-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;width:fit-content}.rule-status.valid{color:var(--_pvb-list-success)}.rule-status.incomplete{color:var(--_pvb-list-warning)}.rule-status.draft{color:var(--_pvb-list-text-soft)}.rule-status.error{color:var(--_pvb-list-error)}.status-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.card-actions{display:flex;align-items:center;gap:2px}.card-action{opacity:.72;transition:transform .18s ease,opacity .18s ease,color .18s ease}.danger-action{color:var(--md-sys-color-error)}.card-action:hover{transform:translateY(-1px) scale(1.02);opacity:1}.rule-card-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 82%,var(--md-sys-color-on-surface) 18%);font-size:12px;box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent)}.meta-pill.subtle{background:color-mix(in srgb,var(--_pvb-list-border) 16%,transparent);color:var(--_pvb-list-text-soft)}.rule-summary{font-size:12px;line-height:1.45;color:var(--_pvb-list-text-soft)}.rule-tags{display:flex;flex-wrap:wrap;gap:6px}.rule-card-footer{display:flex;justify-content:flex-end;align-items:center;min-height:18px}.rule-time{font-size:12px;color:var(--_pvb-list-text-soft);letter-spacing:.01em}.tag{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent);color:var(--_pvb-list-accent);font-size:11px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.rule-name{font-weight:600;font-size:15px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.empty-list{padding:28px 18px;text-align:center;color:var(--_pvb-list-text-soft);font-size:13px;line-height:1.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i12$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i5.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: MatChipsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i8.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12988
12968
|
}
|
|
12989
12969
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RuleListComponent, decorators: [{
|
|
12990
12970
|
type: Component,
|
|
@@ -12998,6 +12978,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
12998
12978
|
MatInputModule,
|
|
12999
12979
|
MatListModule,
|
|
13000
12980
|
MatTooltipModule,
|
|
12981
|
+
PraxisIconButtonComponent,
|
|
13001
12982
|
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [providePraxisVisualBuilderI18n()], host: { class: 'rule-list-panel' }, template: `
|
|
13002
12983
|
<div class="panel-header">
|
|
13003
12984
|
<div class="panel-heading">
|
|
@@ -13021,11 +13002,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13021
13002
|
@if (searchTerm) {
|
|
13022
13003
|
<button
|
|
13023
13004
|
matSuffix
|
|
13024
|
-
|
|
13005
|
+
praxisIconButton="close"
|
|
13006
|
+
size="dense"
|
|
13025
13007
|
[attr.aria-label]="t('ruleList.clearSearch', 'Limpar busca')"
|
|
13026
13008
|
(click)="searchTerm = ''"
|
|
13027
13009
|
>
|
|
13028
|
-
<mat-icon>close</mat-icon>
|
|
13029
13010
|
</button>
|
|
13030
13011
|
}
|
|
13031
13012
|
</mat-form-field>
|
|
@@ -13128,23 +13109,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13128
13109
|
</div>
|
|
13129
13110
|
<div class="card-actions">
|
|
13130
13111
|
<button
|
|
13131
|
-
|
|
13112
|
+
praxisIconButton="content_copy"
|
|
13113
|
+
size="dense"
|
|
13132
13114
|
class="card-action"
|
|
13133
13115
|
(click)="onDuplicate(item, $event)"
|
|
13134
13116
|
[matTooltip]="t('ruleList.duplicate', 'Duplicar regra')"
|
|
13135
13117
|
[attr.aria-label]="t('ruleList.duplicate', 'Duplicar regra')"
|
|
13136
13118
|
>
|
|
13137
|
-
<mat-icon>content_copy</mat-icon>
|
|
13138
13119
|
</button>
|
|
13139
13120
|
<button
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
class="card-action"
|
|
13121
|
+
praxisIconButton="delete"
|
|
13122
|
+
size="dense"
|
|
13123
|
+
class="card-action danger-action"
|
|
13143
13124
|
(click)="onDelete(item, $event)"
|
|
13144
13125
|
[matTooltip]="t('ruleList.remove', 'Remover regra')"
|
|
13145
13126
|
[attr.aria-label]="t('ruleList.remove', 'Remover regra')"
|
|
13146
13127
|
>
|
|
13147
|
-
<mat-icon>delete</mat-icon>
|
|
13148
13128
|
</button>
|
|
13149
13129
|
</div>
|
|
13150
13130
|
</div>
|
|
@@ -13179,7 +13159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13179
13159
|
</div>
|
|
13180
13160
|
}
|
|
13181
13161
|
</div>
|
|
13182
|
-
`, styles: [":host{--_pvb-list-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-list-surface: var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));--_pvb-list-surface-strong: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-list-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-list-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));--_pvb-list-success: var(--md-sys-color-primary, var(--_pvb-list-accent));--_pvb-list-warning: var(--md-sys-color-tertiary, #ffb347);--_pvb-list-error: var(--md-sys-color-error, #ff5f5f);display:flex;flex-direction:column;border-right:1px solid var(--md-sys-color-outline-variant);background:radial-gradient(circle at top left,color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent) 0%,transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-surface-strong) 94%,black 6%),color-mix(in srgb,var(--_pvb-list-surface) 96%,black 4%));overflow:hidden;min-width:0;color:var(--md-sys-color-on-surface)}.panel-header{padding:18px 18px 12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 84%,transparent)}.panel-heading{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--_pvb-list-accent)}.panel-header h3{margin:0;font-size:18px;font-weight:600}.header-badge-stack{display:flex;flex-direction:column;align-items:center}.header-badge{min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 92%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 22%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 72%,var(--md-sys-color-on-surface) 28%);font-size:13px;font-weight:700}.search-box{padding:0 18px}.w-100,.search-box mat-form-field{width:100%}.search-box ::ng-deep .mat-mdc-text-field-wrapper{background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);border-radius:14px}.search-box ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 0}.filter-chip{min-height:30px;border-radius:999px!important;font-size:12px;color:var(--_pvb-list-text-soft);border-color:color-mix(in srgb,var(--_pvb-list-border) 74%,transparent)!important}.filter-chip.active{color:var(--_pvb-list-accent);background:color-mix(in srgb,var(--_pvb-list-accent) 10%,transparent);border-color:color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent)!important}.panel-actions{padding:12px 18px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.new-rule-button{min-height:42px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent),color-mix(in srgb,var(--_pvb-list-accent) 16%,transparent))!important;border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 44%,transparent);color:var(--_pvb-list-accent)!important;font-weight:700}.ai-rule-button{min-width:52px;min-height:42px;border-radius:12px!important;border-color:color-mix(in srgb,var(--_pvb-list-accent) 28%,transparent)!important;color:var(--_pvb-list-accent)!important;padding:0 12px!important}.list-content{flex:1;overflow-y:auto;padding:0 10px 14px}mat-list{padding:0}.rule-list-item{padding:0;margin-bottom:10px;cursor:pointer;height:auto!important;min-height:0}::ng-deep .rule-list-item .mdc-list-item__content{width:100%;padding:0!important}.rule-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-list-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 10px 24px color-mix(in srgb,black 18%,transparent)}.rule-card.has-error{border-color:color-mix(in srgb,var(--_pvb-list-error) 30%,transparent)}.rule-list-item:hover .rule-card{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-list-accent) 34%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 16px 30px color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent)}.rule-list-item.selected .rule-card{border-color:color-mix(in srgb,var(--_pvb-list-accent) 68%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent),0 16px 34px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-accent) 10%,var(--_pvb-list-surface-strong) 90%),color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%))}.rule-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-card-title-group{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.rule-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.rule-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;width:fit-content}.rule-status.valid{color:var(--_pvb-list-success)}.rule-status.incomplete{color:var(--_pvb-list-warning)}.rule-status.draft{color:var(--_pvb-list-text-soft)}.rule-status.error{color:var(--_pvb-list-error)}.status-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.card-actions{display:flex;align-items:center;gap:2px}.card-action{opacity:.72;
|
|
13162
|
+
`, styles: [":host{--_pvb-list-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-list-surface: var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));--_pvb-list-surface-strong: var(--md-sys-color-surface-container-low, var(--md-sys-color-surface));--_pvb-list-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-list-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));--_pvb-list-success: var(--md-sys-color-primary, var(--_pvb-list-accent));--_pvb-list-warning: var(--md-sys-color-tertiary, #ffb347);--_pvb-list-error: var(--md-sys-color-error, #ff5f5f);display:flex;flex-direction:column;border-right:1px solid var(--md-sys-color-outline-variant);background:radial-gradient(circle at top left,color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent) 0%,transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-surface-strong) 94%,black 6%),color-mix(in srgb,var(--_pvb-list-surface) 96%,black 4%));overflow:hidden;min-width:0;color:var(--md-sys-color-on-surface)}.panel-header{padding:18px 18px 12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 84%,transparent)}.panel-heading{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--_pvb-list-accent)}.panel-header h3{margin:0;font-size:18px;font-weight:600}.header-badge-stack{display:flex;flex-direction:column;align-items:center}.header-badge{min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-list-surface-strong) 92%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 22%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 72%,var(--md-sys-color-on-surface) 28%);font-size:13px;font-weight:700}.search-box{padding:0 18px}.w-100,.search-box mat-form-field{width:100%}.search-box ::ng-deep .mat-mdc-text-field-wrapper{background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);border-radius:14px}.search-box ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 0}.filter-chip{min-height:30px;border-radius:999px!important;font-size:12px;color:var(--_pvb-list-text-soft);border-color:color-mix(in srgb,var(--_pvb-list-border) 74%,transparent)!important}.filter-chip.active{color:var(--_pvb-list-accent);background:color-mix(in srgb,var(--_pvb-list-accent) 10%,transparent);border-color:color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent)!important}.panel-actions{padding:12px 18px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.new-rule-button{min-height:42px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--_pvb-list-accent) 30%,transparent),color-mix(in srgb,var(--_pvb-list-accent) 16%,transparent))!important;border:1px solid color-mix(in srgb,var(--_pvb-list-accent) 44%,transparent);color:var(--_pvb-list-accent)!important;font-weight:700}.ai-rule-button{min-width:52px;min-height:42px;border-radius:12px!important;border-color:color-mix(in srgb,var(--_pvb-list-accent) 28%,transparent)!important;color:var(--_pvb-list-accent)!important;padding:0 12px!important}.list-content{flex:1;overflow-y:auto;padding:0 10px 14px}mat-list{padding:0}.rule-list-item{padding:0;margin-bottom:10px;cursor:pointer;height:auto!important;min-height:0}::ng-deep .rule-list-item .mdc-list-item__content{width:100%;padding:0!important}.rule-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--_pvb-list-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 10px 24px color-mix(in srgb,black 18%,transparent)}.rule-card.has-error{border-color:color-mix(in srgb,var(--_pvb-list-error) 30%,transparent)}.rule-list-item:hover .rule-card{transform:translateY(-1px);border-color:color-mix(in srgb,var(--_pvb-list-accent) 34%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 16px 30px color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent)}.rule-list-item.selected .rule-card{border-color:color-mix(in srgb,var(--_pvb-list-accent) 68%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent),0 16px 34px color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--_pvb-list-accent) 10%,var(--_pvb-list-surface-strong) 90%),color-mix(in srgb,var(--_pvb-list-surface-strong) 96%,black 4%))}.rule-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-card-title-group{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.rule-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.rule-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;width:fit-content}.rule-status.valid{color:var(--_pvb-list-success)}.rule-status.incomplete{color:var(--_pvb-list-warning)}.rule-status.draft{color:var(--_pvb-list-text-soft)}.rule-status.error{color:var(--_pvb-list-error)}.status-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.card-actions{display:flex;align-items:center;gap:2px}.card-action{opacity:.72;transition:transform .18s ease,opacity .18s ease,color .18s ease}.danger-action{color:var(--md-sys-color-error)}.card-action:hover{transform:translateY(-1px) scale(1.02);opacity:1}.rule-card-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 14%,transparent);color:color-mix(in srgb,var(--_pvb-list-accent) 82%,var(--md-sys-color-on-surface) 18%);font-size:12px;box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent)}.meta-pill.subtle{background:color-mix(in srgb,var(--_pvb-list-border) 16%,transparent);color:var(--_pvb-list-text-soft)}.rule-summary{font-size:12px;line-height:1.45;color:var(--_pvb-list-text-soft)}.rule-tags{display:flex;flex-wrap:wrap;gap:6px}.rule-card-footer{display:flex;justify-content:flex-end;align-items:center;min-height:18px}.rule-time{font-size:12px;color:var(--_pvb-list-text-soft);letter-spacing:.01em}.tag{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--_pvb-list-accent) 12%,transparent);color:var(--_pvb-list-accent);font-size:11px;box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.rule-name{font-weight:600;font-size:15px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.empty-list{padding:28px 18px;text-align:center;color:var(--_pvb-list-text-soft);font-size:13px;line-height:1.5}\n"] }]
|
|
13183
13163
|
}], ctorParameters: () => [{ type: i1$2.PraxisI18nService, decorators: [{
|
|
13184
13164
|
type: Optional
|
|
13185
13165
|
}] }], propDecorators: { rules: [{
|
|
@@ -13595,12 +13575,12 @@ class RuleEditorComponent {
|
|
|
13595
13575
|
<div class="builder-shell-header">
|
|
13596
13576
|
<div class="shell-brand">
|
|
13597
13577
|
<button
|
|
13598
|
-
|
|
13578
|
+
[praxisIconButton]="isListPanelOpen ? 'menu_open' : 'menu'"
|
|
13579
|
+
size="dense"
|
|
13599
13580
|
class="shell-menu"
|
|
13600
13581
|
(click)="toggleListPanel()"
|
|
13601
13582
|
[matTooltip]="isListPanelOpen ? t('ruleEditor.toolbar.collapseList', 'Collapse side panel') : t('ruleEditor.toolbar.expandList', 'Expand side panel')"
|
|
13602
13583
|
>
|
|
13603
|
-
<mat-icon>{{ isListPanelOpen ? 'menu_open' : 'menu' }}</mat-icon>
|
|
13604
13584
|
</button>
|
|
13605
13585
|
<div class="brand-mark">
|
|
13606
13586
|
<mat-icon>rule</mat-icon>
|
|
@@ -13624,18 +13604,16 @@ class RuleEditorComponent {
|
|
|
13624
13604
|
<span>{{ t('ruleEditor.shell.unsaved', 'Unsaved changes') }}</span>
|
|
13625
13605
|
</div>
|
|
13626
13606
|
}
|
|
13627
|
-
<button
|
|
13628
|
-
<mat-icon>undo</mat-icon>
|
|
13607
|
+
<button praxisIconButton="undo" size="dense" [disabled]="!canUndo" (click)="undo()" [matTooltip]="t('ruleEditor.toolbar.undo', 'Undo')">
|
|
13629
13608
|
</button>
|
|
13630
|
-
<button
|
|
13631
|
-
<mat-icon>redo</mat-icon>
|
|
13609
|
+
<button praxisIconButton="redo" size="dense" [disabled]="!canRedo" (click)="redo()" [matTooltip]="t('ruleEditor.toolbar.redo', 'Redo')">
|
|
13632
13610
|
</button>
|
|
13633
13611
|
<button
|
|
13634
|
-
|
|
13612
|
+
praxisIconButton="more_horiz"
|
|
13613
|
+
size="dense"
|
|
13635
13614
|
[matMenuTriggerFor]="devMenu"
|
|
13636
13615
|
[matTooltip]="t('ruleEditor.toolbar.advanced', 'More options')"
|
|
13637
13616
|
>
|
|
13638
|
-
<mat-icon>more_horiz</mat-icon>
|
|
13639
13617
|
</button>
|
|
13640
13618
|
</div>
|
|
13641
13619
|
</div>
|
|
@@ -13674,8 +13652,7 @@ class RuleEditorComponent {
|
|
|
13674
13652
|
<h3>{{ t('ruleEditor.conditionOnly.title', 'Condicao') }}</h3>
|
|
13675
13653
|
<p>{{ t('ruleEditor.conditionOnly.subtitle', 'Monte apenas a expressao JSON Logic da condicao.') }}</p>
|
|
13676
13654
|
</div>
|
|
13677
|
-
<button
|
|
13678
|
-
<mat-icon>delete_forever</mat-icon>
|
|
13655
|
+
<button praxisIconButton="delete_forever" size="compact" class="danger-action" (click)="clearRules()" [matTooltip]="t('ruleEditor.debug.clearAll', 'Clear all')">
|
|
13679
13656
|
</button>
|
|
13680
13657
|
</div>
|
|
13681
13658
|
}
|
|
@@ -13773,8 +13750,7 @@ class RuleEditorComponent {
|
|
|
13773
13750
|
<div class="debug-panel">
|
|
13774
13751
|
<div class="debug-header">
|
|
13775
13752
|
<h3>{{ t('ruleEditor.debug.title', 'Debug state') }}</h3>
|
|
13776
|
-
<button
|
|
13777
|
-
<mat-icon>close</mat-icon>
|
|
13753
|
+
<button praxisIconButton="close" size="compact" (click)="showDebugPanel = false">
|
|
13778
13754
|
</button>
|
|
13779
13755
|
</div>
|
|
13780
13756
|
<div class="debug-content">
|
|
@@ -13791,7 +13767,7 @@ class RuleEditorComponent {
|
|
|
13791
13767
|
(change)="onFileSelected($event)"
|
|
13792
13768
|
/>
|
|
13793
13769
|
</div>
|
|
13794
|
-
`, isInline: true, styles: [".rule-editor-container{--_pvb-editor-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-editor-accent-soft: color-mix(in srgb, var(--_pvb-editor-accent) 16%, transparent);--_pvb-editor-surface: var(--md-sys-color-surface, var(--sicoob-background-primary));--_pvb-editor-surface-low: var(--md-sys-color-surface-container-low, var(--sicoob-background-secondary));--_pvb-editor-surface-strong: var(--md-sys-color-surface-container, var(--sicoob-background-tertiary));--_pvb-editor-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-editor-text: var(--md-sys-color-on-surface, var(--sicoob-text-default));--_pvb-editor-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-editor-accent) 12%,transparent) 0%,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-editor-surface-low) 96%,black 4%),color-mix(in srgb,var(--_pvb-editor-surface) 98%,black 2%));overflow:hidden;position:relative;color:var(--_pvb-editor-text)}.rule-editor-container.embedded{height:100%}.condition-only-editor{display:flex;flex-direction:column;height:100%;min-height:360px;overflow:hidden}.condition-only-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%)}.condition-only-header h3{margin:0;font-size:16px;font-weight:600}.condition-only-header p{margin:4px 0 0;font-size:12px;color:var(--_pvb-editor-text-soft)}.condition-only-canvas{flex:1;min-height:0}.builder-shell-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%);flex-shrink:0}.shell-brand{display:flex;align-items:center;gap:10px;min-width:0}.shell-menu{margin-right:2px}.brand-mark{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-editor-accent) 24%,transparent)}.brand-mark mat-icon{display:flex;align-items:center;justify-content:center;font-size:18px;width:18px;height:18px;color:var(--_pvb-editor-accent)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-title{font-size:14px;font-weight:700}.brand-breadcrumb{font-size:12px;color:var(--_pvb-editor-text-soft)}.shell-nav{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);border:1px solid color-mix(in srgb,var(--_pvb-editor-border) 56%,transparent)}.nav-pill{min-width:96px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--_pvb-editor-text-soft);font:inherit;font-size:13px;cursor:default}.nav-pill.active{color:var(--_pvb-editor-text);background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_pvb-editor-accent) 34%,transparent)}.shell-status{display:flex;align-items:center;gap:6px}.unsaved-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--_pvb-editor-text);margin-right:6px}.unsaved-dot{width:8px;height:8px;border-radius:999px;background:#f0b429;box-shadow:0 0 12px #f0b42973}.
|
|
13770
|
+
`, isInline: true, styles: [".rule-editor-container{--_pvb-editor-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-editor-accent-soft: color-mix(in srgb, var(--_pvb-editor-accent) 16%, transparent);--_pvb-editor-surface: var(--md-sys-color-surface, var(--sicoob-background-primary));--_pvb-editor-surface-low: var(--md-sys-color-surface-container-low, var(--sicoob-background-secondary));--_pvb-editor-surface-strong: var(--md-sys-color-surface-container, var(--sicoob-background-tertiary));--_pvb-editor-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-editor-text: var(--md-sys-color-on-surface, var(--sicoob-text-default));--_pvb-editor-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-editor-accent) 12%,transparent) 0%,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-editor-surface-low) 96%,black 4%),color-mix(in srgb,var(--_pvb-editor-surface) 98%,black 2%));overflow:hidden;position:relative;color:var(--_pvb-editor-text)}.rule-editor-container.embedded{height:100%}.condition-only-editor{display:flex;flex-direction:column;height:100%;min-height:360px;overflow:hidden}.condition-only-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%)}.condition-only-header h3{margin:0;font-size:16px;font-weight:600}.condition-only-header p{margin:4px 0 0;font-size:12px;color:var(--_pvb-editor-text-soft)}.condition-only-canvas{flex:1;min-height:0}.builder-shell-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%);flex-shrink:0}.shell-brand{display:flex;align-items:center;gap:10px;min-width:0}.shell-menu{margin-right:2px}.brand-mark{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-editor-accent) 24%,transparent)}.brand-mark mat-icon{display:flex;align-items:center;justify-content:center;font-size:18px;width:18px;height:18px;color:var(--_pvb-editor-accent)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-title{font-size:14px;font-weight:700}.brand-breadcrumb{font-size:12px;color:var(--_pvb-editor-text-soft)}.shell-nav{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);border:1px solid color-mix(in srgb,var(--_pvb-editor-border) 56%,transparent)}.nav-pill{min-width:96px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--_pvb-editor-text-soft);font:inherit;font-size:13px;cursor:default}.nav-pill.active{color:var(--_pvb-editor-text);background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_pvb-editor-accent) 34%,transparent)}.shell-status{display:flex;align-items:center;gap:6px}.unsaved-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--_pvb-editor-text);margin-right:6px}.unsaved-dot{width:8px;height:8px;border-radius:999px;background:#f0b429;box-shadow:0 0 12px #f0b42973}.danger-action{color:var(--md-sys-color-error)}.editor-content-grid{display:grid;grid-template-columns:360px 1fr;flex:1;overflow:hidden;min-height:0;min-width:0;transition:grid-template-columns .2s ease}.editor-content-grid.list-closed{grid-template-columns:0 1fr}.rule-list-panel{border-right:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);display:flex;flex-direction:column;overflow:hidden;min-width:0}.rule-definition-panel{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--_pvb-editor-accent) 8%,transparent) 0%,transparent 26%),transparent;overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0;min-width:0;flex:1}.empty-state,.unsupported-node{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--_pvb-editor-text-soft);gap:16px;text-align:center;padding:32px}.empty-state mat-icon,.unsupported-node mat-icon{font-size:64px;width:64px;height:64px;opacity:.9;color:var(--_pvb-editor-accent)}.status-bar{height:32px;background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 92%,black 8%);border-top:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;color:var(--_pvb-editor-text-soft);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-tertiary)}.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(--_pvb-editor-surface);border-left:1px solid var(--_pvb-editor-border);box-shadow:-2px 0 8px #0000001a;z-index:var(--praxis-layer-authoring-toolbar, 340);display:flex;flex-direction:column}.debug-header{padding:8px 16px;border-bottom:1px solid var(--_pvb-editor-border);display:flex;align-items:center;justify-content:space-between;background:var(--_pvb-editor-surface-strong)}.debug-content{flex:1;overflow:auto;padding:16px;font-family:monospace;font-size:12px}@media(max-width:1180px){.builder-shell-header{flex-wrap:wrap;justify-content:flex-start;padding:10px 14px}.shell-nav{order:3;width:100%;justify-content:center}.shell-status{margin-left:auto}}@media(max-width:720px){.editor-content-grid,.editor-content-grid.list-closed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(360px,1fr);overflow-y:auto}.rule-list-panel{max-height:min(360px,48vh);border-right:0;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent)}.rule-definition-panel{min-height:360px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.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: i9$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$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: i6$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$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: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "component", type: RuleListComponent, selector: "praxis-rule-list", inputs: ["rules", "selectedRuleId", "nodeMap", "validationErrors"], outputs: ["ruleSelected", "ruleDeleted", "ruleDuplicated", "ruleAdded", "aiRequested"] }, { kind: "component", type: RuleDefinitionComponent, selector: "praxis-rule-definition", inputs: ["ruleNode", "fieldSchemas", "targetSchemas", "propertySchema"], outputs: ["ruleChanged"] }, { kind: "component", type: RuleCanvasComponent, selector: "praxis-rule-canvas", inputs: ["conditionOnly", "state", "fieldSchemas", "validationErrors"], outputs: ["nodeSelected", "nodeAdded", "nodeUpdated", "nodeRemoved"] }, { kind: "pipe", type: i12$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13795
13771
|
}
|
|
13796
13772
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RuleEditorComponent, decorators: [{
|
|
13797
13773
|
type: Component,
|
|
@@ -13810,6 +13786,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13810
13786
|
MatDialogModule,
|
|
13811
13787
|
MatBadgeModule,
|
|
13812
13788
|
MatMenuModule,
|
|
13789
|
+
PraxisIconButtonComponent,
|
|
13813
13790
|
RuleListComponent,
|
|
13814
13791
|
RuleDefinitionComponent,
|
|
13815
13792
|
RuleCanvasComponent,
|
|
@@ -13823,12 +13800,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13823
13800
|
<div class="builder-shell-header">
|
|
13824
13801
|
<div class="shell-brand">
|
|
13825
13802
|
<button
|
|
13826
|
-
|
|
13803
|
+
[praxisIconButton]="isListPanelOpen ? 'menu_open' : 'menu'"
|
|
13804
|
+
size="dense"
|
|
13827
13805
|
class="shell-menu"
|
|
13828
13806
|
(click)="toggleListPanel()"
|
|
13829
13807
|
[matTooltip]="isListPanelOpen ? t('ruleEditor.toolbar.collapseList', 'Collapse side panel') : t('ruleEditor.toolbar.expandList', 'Expand side panel')"
|
|
13830
13808
|
>
|
|
13831
|
-
<mat-icon>{{ isListPanelOpen ? 'menu_open' : 'menu' }}</mat-icon>
|
|
13832
13809
|
</button>
|
|
13833
13810
|
<div class="brand-mark">
|
|
13834
13811
|
<mat-icon>rule</mat-icon>
|
|
@@ -13852,18 +13829,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13852
13829
|
<span>{{ t('ruleEditor.shell.unsaved', 'Unsaved changes') }}</span>
|
|
13853
13830
|
</div>
|
|
13854
13831
|
}
|
|
13855
|
-
<button
|
|
13856
|
-
<mat-icon>undo</mat-icon>
|
|
13832
|
+
<button praxisIconButton="undo" size="dense" [disabled]="!canUndo" (click)="undo()" [matTooltip]="t('ruleEditor.toolbar.undo', 'Undo')">
|
|
13857
13833
|
</button>
|
|
13858
|
-
<button
|
|
13859
|
-
<mat-icon>redo</mat-icon>
|
|
13834
|
+
<button praxisIconButton="redo" size="dense" [disabled]="!canRedo" (click)="redo()" [matTooltip]="t('ruleEditor.toolbar.redo', 'Redo')">
|
|
13860
13835
|
</button>
|
|
13861
13836
|
<button
|
|
13862
|
-
|
|
13837
|
+
praxisIconButton="more_horiz"
|
|
13838
|
+
size="dense"
|
|
13863
13839
|
[matMenuTriggerFor]="devMenu"
|
|
13864
13840
|
[matTooltip]="t('ruleEditor.toolbar.advanced', 'More options')"
|
|
13865
13841
|
>
|
|
13866
|
-
<mat-icon>more_horiz</mat-icon>
|
|
13867
13842
|
</button>
|
|
13868
13843
|
</div>
|
|
13869
13844
|
</div>
|
|
@@ -13902,8 +13877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13902
13877
|
<h3>{{ t('ruleEditor.conditionOnly.title', 'Condicao') }}</h3>
|
|
13903
13878
|
<p>{{ t('ruleEditor.conditionOnly.subtitle', 'Monte apenas a expressao JSON Logic da condicao.') }}</p>
|
|
13904
13879
|
</div>
|
|
13905
|
-
<button
|
|
13906
|
-
<mat-icon>delete_forever</mat-icon>
|
|
13880
|
+
<button praxisIconButton="delete_forever" size="compact" class="danger-action" (click)="clearRules()" [matTooltip]="t('ruleEditor.debug.clearAll', 'Clear all')">
|
|
13907
13881
|
</button>
|
|
13908
13882
|
</div>
|
|
13909
13883
|
}
|
|
@@ -14001,8 +13975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
14001
13975
|
<div class="debug-panel">
|
|
14002
13976
|
<div class="debug-header">
|
|
14003
13977
|
<h3>{{ t('ruleEditor.debug.title', 'Debug state') }}</h3>
|
|
14004
|
-
<button
|
|
14005
|
-
<mat-icon>close</mat-icon>
|
|
13978
|
+
<button praxisIconButton="close" size="compact" (click)="showDebugPanel = false">
|
|
14006
13979
|
</button>
|
|
14007
13980
|
</div>
|
|
14008
13981
|
<div class="debug-content">
|
|
@@ -14019,7 +13992,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
14019
13992
|
(change)="onFileSelected($event)"
|
|
14020
13993
|
/>
|
|
14021
13994
|
</div>
|
|
14022
|
-
`, styles: [".rule-editor-container{--_pvb-editor-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-editor-accent-soft: color-mix(in srgb, var(--_pvb-editor-accent) 16%, transparent);--_pvb-editor-surface: var(--md-sys-color-surface, var(--sicoob-background-primary));--_pvb-editor-surface-low: var(--md-sys-color-surface-container-low, var(--sicoob-background-secondary));--_pvb-editor-surface-strong: var(--md-sys-color-surface-container, var(--sicoob-background-tertiary));--_pvb-editor-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-editor-text: var(--md-sys-color-on-surface, var(--sicoob-text-default));--_pvb-editor-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-editor-accent) 12%,transparent) 0%,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-editor-surface-low) 96%,black 4%),color-mix(in srgb,var(--_pvb-editor-surface) 98%,black 2%));overflow:hidden;position:relative;color:var(--_pvb-editor-text)}.rule-editor-container.embedded{height:100%}.condition-only-editor{display:flex;flex-direction:column;height:100%;min-height:360px;overflow:hidden}.condition-only-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%)}.condition-only-header h3{margin:0;font-size:16px;font-weight:600}.condition-only-header p{margin:4px 0 0;font-size:12px;color:var(--_pvb-editor-text-soft)}.condition-only-canvas{flex:1;min-height:0}.builder-shell-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%);flex-shrink:0}.shell-brand{display:flex;align-items:center;gap:10px;min-width:0}.shell-menu{margin-right:2px}.brand-mark{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-editor-accent) 24%,transparent)}.brand-mark mat-icon{display:flex;align-items:center;justify-content:center;font-size:18px;width:18px;height:18px;color:var(--_pvb-editor-accent)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-title{font-size:14px;font-weight:700}.brand-breadcrumb{font-size:12px;color:var(--_pvb-editor-text-soft)}.shell-nav{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);border:1px solid color-mix(in srgb,var(--_pvb-editor-border) 56%,transparent)}.nav-pill{min-width:96px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--_pvb-editor-text-soft);font:inherit;font-size:13px;cursor:default}.nav-pill.active{color:var(--_pvb-editor-text);background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_pvb-editor-accent) 34%,transparent)}.shell-status{display:flex;align-items:center;gap:6px}.unsaved-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--_pvb-editor-text);margin-right:6px}.unsaved-dot{width:8px;height:8px;border-radius:999px;background:#f0b429;box-shadow:0 0 12px #f0b42973}.
|
|
13995
|
+
`, styles: [".rule-editor-container{--_pvb-editor-accent: var(--md-sys-color-primary, var(--sicoob-primary-default));--_pvb-editor-accent-soft: color-mix(in srgb, var(--_pvb-editor-accent) 16%, transparent);--_pvb-editor-surface: var(--md-sys-color-surface, var(--sicoob-background-primary));--_pvb-editor-surface-low: var(--md-sys-color-surface-container-low, var(--sicoob-background-secondary));--_pvb-editor-surface-strong: var(--md-sys-color-surface-container, var(--sicoob-background-tertiary));--_pvb-editor-border: var(--md-sys-color-outline-variant, var(--sicoob-stroke-medium));--_pvb-editor-text: var(--md-sys-color-on-surface, var(--sicoob-text-default));--_pvb-editor-text-soft: var(--md-sys-color-on-surface-variant, var(--sicoob-text-subtle));display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at top center,color-mix(in srgb,var(--_pvb-editor-accent) 12%,transparent) 0%,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--_pvb-editor-surface-low) 96%,black 4%),color-mix(in srgb,var(--_pvb-editor-surface) 98%,black 2%));overflow:hidden;position:relative;color:var(--_pvb-editor-text)}.rule-editor-container.embedded{height:100%}.condition-only-editor{display:flex;flex-direction:column;height:100%;min-height:360px;overflow:hidden}.condition-only-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%)}.condition-only-header h3{margin:0;font-size:16px;font-weight:600}.condition-only-header p{margin:4px 0 0;font-size:12px;color:var(--_pvb-editor-text-soft)}.condition-only-canvas{flex:1;min-height:0}.builder-shell-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 68%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 94%,black 6%);flex-shrink:0}.shell-brand{display:flex;align-items:center;gap:10px;min-width:0}.shell-menu{margin-right:2px}.brand-mark{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--_pvb-editor-accent) 24%,transparent)}.brand-mark mat-icon{display:flex;align-items:center;justify-content:center;font-size:18px;width:18px;height:18px;color:var(--_pvb-editor-accent)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-title{font-size:14px;font-weight:700}.brand-breadcrumb{font-size:12px;color:var(--_pvb-editor-text-soft)}.shell-nav{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);border:1px solid color-mix(in srgb,var(--_pvb-editor-border) 56%,transparent)}.nav-pill{min-width:96px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--_pvb-editor-text-soft);font:inherit;font-size:13px;cursor:default}.nav-pill.active{color:var(--_pvb-editor-text);background:color-mix(in srgb,var(--_pvb-editor-accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_pvb-editor-accent) 34%,transparent)}.shell-status{display:flex;align-items:center;gap:6px}.unsaved-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--_pvb-editor-text);margin-right:6px}.unsaved-dot{width:8px;height:8px;border-radius:999px;background:#f0b429;box-shadow:0 0 12px #f0b42973}.danger-action{color:var(--md-sys-color-error)}.editor-content-grid{display:grid;grid-template-columns:360px 1fr;flex:1;overflow:hidden;min-height:0;min-width:0;transition:grid-template-columns .2s ease}.editor-content-grid.list-closed{grid-template-columns:0 1fr}.rule-list-panel{border-right:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent);background:color-mix(in srgb,var(--_pvb-editor-surface-low) 94%,black 6%);display:flex;flex-direction:column;overflow:hidden;min-width:0}.rule-definition-panel{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--_pvb-editor-accent) 8%,transparent) 0%,transparent 26%),transparent;overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0;min-width:0;flex:1}.empty-state,.unsupported-node{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--_pvb-editor-text-soft);gap:16px;text-align:center;padding:32px}.empty-state mat-icon,.unsupported-node mat-icon{font-size:64px;width:64px;height:64px;opacity:.9;color:var(--_pvb-editor-accent)}.status-bar{height:32px;background:color-mix(in srgb,var(--_pvb-editor-surface-strong) 92%,black 8%);border-top:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;color:var(--_pvb-editor-text-soft);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-tertiary)}.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(--_pvb-editor-surface);border-left:1px solid var(--_pvb-editor-border);box-shadow:-2px 0 8px #0000001a;z-index:var(--praxis-layer-authoring-toolbar, 340);display:flex;flex-direction:column}.debug-header{padding:8px 16px;border-bottom:1px solid var(--_pvb-editor-border);display:flex;align-items:center;justify-content:space-between;background:var(--_pvb-editor-surface-strong)}.debug-content{flex:1;overflow:auto;padding:16px;font-family:monospace;font-size:12px}@media(max-width:1180px){.builder-shell-header{flex-wrap:wrap;justify-content:flex-start;padding:10px 14px}.shell-nav{order:3;width:100%;justify-content:center}.shell-status{margin-left:auto}}@media(max-width:720px){.editor-content-grid,.editor-content-grid.list-closed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(360px,1fr);overflow-y:auto}.rule-list-panel{max-height:min(360px,48vh);border-right:0;border-bottom:1px solid color-mix(in srgb,var(--_pvb-editor-border) 74%,transparent)}.rule-definition-panel{min-height:360px}}\n"] }]
|
|
14023
13996
|
}], ctorParameters: () => [{ type: RuleBuilderService }, { type: FieldSchemaService }, { type: i3$1.AiResponseValidatorService }, { type: i4.MatSnackBar }, { type: i1.MatDialog }, { type: i0.ChangeDetectorRef }, { type: i1$2.PraxisI18nService, decorators: [{
|
|
14024
13997
|
type: Optional
|
|
14025
13998
|
}] }], propDecorators: { embedded: [{
|
|
@@ -17119,11 +17092,13 @@ class MetadataEditorComponent {
|
|
|
17119
17092
|
</div>
|
|
17120
17093
|
</div>
|
|
17121
17094
|
<div class="header-actions">
|
|
17122
|
-
<button
|
|
17123
|
-
[
|
|
17095
|
+
<button
|
|
17096
|
+
[praxisIconButton]="hasUnsavedChanges ? 'edit' : 'check_circle'"
|
|
17097
|
+
size="compact"
|
|
17098
|
+
[class.danger-action]="hasUnsavedChanges"
|
|
17099
|
+
[attr.aria-label]="hasUnsavedChanges ? 'Há alterações não salvas' : 'Tudo salvo'"
|
|
17124
17100
|
[matTooltip]="hasUnsavedChanges ? 'Há alterações não salvas' : 'Tudo salvo'"
|
|
17125
17101
|
[disabled]="!hasUnsavedChanges">
|
|
17126
|
-
<mat-icon [praxisIcon]="hasUnsavedChanges ? 'edit' : 'check_circle'"></mat-icon>
|
|
17127
17102
|
</button>
|
|
17128
17103
|
</div>
|
|
17129
17104
|
</div>
|
|
@@ -17139,14 +17114,13 @@ class MetadataEditorComponent {
|
|
|
17139
17114
|
formControlName="code"
|
|
17140
17115
|
placeholder="REGRA_001">
|
|
17141
17116
|
<button
|
|
17142
|
-
|
|
17117
|
+
praxisIconButton="help_outline"
|
|
17118
|
+
size="dense"
|
|
17143
17119
|
matSuffix
|
|
17144
|
-
class="help-icon-button"
|
|
17145
17120
|
type="button"
|
|
17146
17121
|
[matTooltip]="'Identificador único desta regra'"
|
|
17147
17122
|
matTooltipPosition="above"
|
|
17148
17123
|
>
|
|
17149
|
-
<mat-icon>help_outline</mat-icon>
|
|
17150
17124
|
</button>
|
|
17151
17125
|
</mat-form-field>
|
|
17152
17126
|
<!-- Message -->
|
|
@@ -17158,14 +17132,13 @@ class MetadataEditorComponent {
|
|
|
17158
17132
|
placeholder="Texto que será mostrado ao usuário">
|
|
17159
17133
|
</textarea>
|
|
17160
17134
|
<button
|
|
17161
|
-
|
|
17135
|
+
praxisIconButton="help_outline"
|
|
17136
|
+
size="dense"
|
|
17162
17137
|
matSuffix
|
|
17163
|
-
class="help-icon-button"
|
|
17164
17138
|
type="button"
|
|
17165
17139
|
[matTooltip]="'Mensagem exibida quando a regra for acionada'"
|
|
17166
17140
|
matTooltipPosition="above"
|
|
17167
17141
|
>
|
|
17168
|
-
<mat-icon>help_outline</mat-icon>
|
|
17169
17142
|
</button>
|
|
17170
17143
|
</mat-form-field>
|
|
17171
17144
|
<!-- Tag -->
|
|
@@ -17183,14 +17156,13 @@ class MetadataEditorComponent {
|
|
|
17183
17156
|
}
|
|
17184
17157
|
</mat-autocomplete>
|
|
17185
17158
|
<button
|
|
17186
|
-
|
|
17159
|
+
praxisIconButton="help_outline"
|
|
17160
|
+
size="dense"
|
|
17187
17161
|
matSuffix
|
|
17188
|
-
class="help-icon-button"
|
|
17189
17162
|
type="button"
|
|
17190
17163
|
[matTooltip]="'Categoria para organizar regras semelhantes'"
|
|
17191
17164
|
matTooltipPosition="above"
|
|
17192
17165
|
>
|
|
17193
|
-
<mat-icon>help_outline</mat-icon>
|
|
17194
17166
|
</button>
|
|
17195
17167
|
</mat-form-field>
|
|
17196
17168
|
<!-- Description -->
|
|
@@ -17202,14 +17174,13 @@ class MetadataEditorComponent {
|
|
|
17202
17174
|
placeholder="Explique o objetivo e quando aplicar esta regra">
|
|
17203
17175
|
</textarea>
|
|
17204
17176
|
<button
|
|
17205
|
-
|
|
17177
|
+
praxisIconButton="help_outline"
|
|
17178
|
+
size="dense"
|
|
17206
17179
|
matSuffix
|
|
17207
|
-
class="help-icon-button"
|
|
17208
17180
|
type="button"
|
|
17209
17181
|
[matTooltip]="'Texto interno para documentação'"
|
|
17210
17182
|
matTooltipPosition="above"
|
|
17211
17183
|
>
|
|
17212
|
-
<mat-icon>help_outline</mat-icon>
|
|
17213
17184
|
</button>
|
|
17214
17185
|
</mat-form-field>
|
|
17215
17186
|
<!-- Priority -->
|
|
@@ -17249,14 +17220,13 @@ class MetadataEditorComponent {
|
|
|
17249
17220
|
</mat-option>
|
|
17250
17221
|
</mat-select>
|
|
17251
17222
|
<button
|
|
17252
|
-
|
|
17223
|
+
praxisIconButton="help_outline"
|
|
17224
|
+
size="dense"
|
|
17253
17225
|
matSuffix
|
|
17254
|
-
class="help-icon-button"
|
|
17255
17226
|
type="button"
|
|
17256
17227
|
[matTooltip]="'Define a prioridade e a experiência para o usuário'"
|
|
17257
17228
|
matTooltipPosition="above"
|
|
17258
17229
|
>
|
|
17259
|
-
<mat-icon>help_outline</mat-icon>
|
|
17260
17230
|
</button>
|
|
17261
17231
|
</mat-form-field>
|
|
17262
17232
|
</div>
|
|
@@ -17439,11 +17409,11 @@ class MetadataEditorComponent {
|
|
|
17439
17409
|
[formGroupName]="i">
|
|
17440
17410
|
<div class="property-header">
|
|
17441
17411
|
<span class="property-number">{{ i + 1 }}</span>
|
|
17442
|
-
<button
|
|
17443
|
-
|
|
17412
|
+
<button praxisIconButton="delete"
|
|
17413
|
+
size="dense"
|
|
17414
|
+
class="danger-action"
|
|
17444
17415
|
(click)="removeCustomProperty(i)"
|
|
17445
17416
|
[disabled]="customProperties.length <= 0">
|
|
17446
|
-
<mat-icon>delete</mat-icon>
|
|
17447
17417
|
</button>
|
|
17448
17418
|
</div>
|
|
17449
17419
|
<div class="property-form">
|
|
@@ -17509,14 +17479,13 @@ class MetadataEditorComponent {
|
|
|
17509
17479
|
placeholder='{"===": [{"var": "form.status"}, "premium"]}'>
|
|
17510
17480
|
</textarea>
|
|
17511
17481
|
<button
|
|
17512
|
-
|
|
17482
|
+
praxisIconButton="help_outline"
|
|
17483
|
+
size="dense"
|
|
17513
17484
|
matSuffix
|
|
17514
|
-
class="help-icon-button"
|
|
17515
17485
|
type="button"
|
|
17516
17486
|
[matTooltip]="'Expressão que define quando aplicar estes metadados'"
|
|
17517
17487
|
matTooltipPosition="above"
|
|
17518
17488
|
>
|
|
17519
|
-
<mat-icon>help_outline</mat-icon>
|
|
17520
17489
|
</button>
|
|
17521
17490
|
</mat-form-field>
|
|
17522
17491
|
<mat-form-field appearance="outline" class="fallback-input">
|
|
@@ -17570,10 +17539,10 @@ class MetadataEditorComponent {
|
|
|
17570
17539
|
[formControlName]="i"
|
|
17571
17540
|
placeholder="https://docs.example.com">
|
|
17572
17541
|
</mat-form-field>
|
|
17573
|
-
<button
|
|
17574
|
-
|
|
17542
|
+
<button praxisIconButton="delete"
|
|
17543
|
+
size="dense"
|
|
17544
|
+
class="danger-action"
|
|
17575
17545
|
(click)="removeDocumentationLink(i)">
|
|
17576
|
-
<mat-icon>delete</mat-icon>
|
|
17577
17546
|
</button>
|
|
17578
17547
|
</div>
|
|
17579
17548
|
}
|
|
@@ -17615,7 +17584,7 @@ class MetadataEditorComponent {
|
|
|
17615
17584
|
</div>
|
|
17616
17585
|
</div>
|
|
17617
17586
|
}
|
|
17618
|
-
`, 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: "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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i5.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: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i7.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$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i11$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i11$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: i11$2.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: i11$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i12$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17587
|
+
`, 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}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { 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: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i7.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: i10$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i10$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i10$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i10$1.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: i11$2.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: i11$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i12$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17619
17588
|
}
|
|
17620
17589
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MetadataEditorComponent, decorators: [{
|
|
17621
17590
|
type: Component,
|
|
@@ -17627,6 +17596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17627
17596
|
MatInputModule,
|
|
17628
17597
|
MatButtonModule,
|
|
17629
17598
|
MatIconModule,
|
|
17599
|
+
PraxisIconButtonComponent,
|
|
17630
17600
|
PraxisIconDirective,
|
|
17631
17601
|
MatCheckboxModule,
|
|
17632
17602
|
MatChipsModule,
|
|
@@ -17649,11 +17619,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17649
17619
|
</div>
|
|
17650
17620
|
</div>
|
|
17651
17621
|
<div class="header-actions">
|
|
17652
|
-
<button
|
|
17653
|
-
[
|
|
17622
|
+
<button
|
|
17623
|
+
[praxisIconButton]="hasUnsavedChanges ? 'edit' : 'check_circle'"
|
|
17624
|
+
size="compact"
|
|
17625
|
+
[class.danger-action]="hasUnsavedChanges"
|
|
17626
|
+
[attr.aria-label]="hasUnsavedChanges ? 'Há alterações não salvas' : 'Tudo salvo'"
|
|
17654
17627
|
[matTooltip]="hasUnsavedChanges ? 'Há alterações não salvas' : 'Tudo salvo'"
|
|
17655
17628
|
[disabled]="!hasUnsavedChanges">
|
|
17656
|
-
<mat-icon [praxisIcon]="hasUnsavedChanges ? 'edit' : 'check_circle'"></mat-icon>
|
|
17657
17629
|
</button>
|
|
17658
17630
|
</div>
|
|
17659
17631
|
</div>
|
|
@@ -17669,14 +17641,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17669
17641
|
formControlName="code"
|
|
17670
17642
|
placeholder="REGRA_001">
|
|
17671
17643
|
<button
|
|
17672
|
-
|
|
17644
|
+
praxisIconButton="help_outline"
|
|
17645
|
+
size="dense"
|
|
17673
17646
|
matSuffix
|
|
17674
|
-
class="help-icon-button"
|
|
17675
17647
|
type="button"
|
|
17676
17648
|
[matTooltip]="'Identificador único desta regra'"
|
|
17677
17649
|
matTooltipPosition="above"
|
|
17678
17650
|
>
|
|
17679
|
-
<mat-icon>help_outline</mat-icon>
|
|
17680
17651
|
</button>
|
|
17681
17652
|
</mat-form-field>
|
|
17682
17653
|
<!-- Message -->
|
|
@@ -17688,14 +17659,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17688
17659
|
placeholder="Texto que será mostrado ao usuário">
|
|
17689
17660
|
</textarea>
|
|
17690
17661
|
<button
|
|
17691
|
-
|
|
17662
|
+
praxisIconButton="help_outline"
|
|
17663
|
+
size="dense"
|
|
17692
17664
|
matSuffix
|
|
17693
|
-
class="help-icon-button"
|
|
17694
17665
|
type="button"
|
|
17695
17666
|
[matTooltip]="'Mensagem exibida quando a regra for acionada'"
|
|
17696
17667
|
matTooltipPosition="above"
|
|
17697
17668
|
>
|
|
17698
|
-
<mat-icon>help_outline</mat-icon>
|
|
17699
17669
|
</button>
|
|
17700
17670
|
</mat-form-field>
|
|
17701
17671
|
<!-- Tag -->
|
|
@@ -17713,14 +17683,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17713
17683
|
}
|
|
17714
17684
|
</mat-autocomplete>
|
|
17715
17685
|
<button
|
|
17716
|
-
|
|
17686
|
+
praxisIconButton="help_outline"
|
|
17687
|
+
size="dense"
|
|
17717
17688
|
matSuffix
|
|
17718
|
-
class="help-icon-button"
|
|
17719
17689
|
type="button"
|
|
17720
17690
|
[matTooltip]="'Categoria para organizar regras semelhantes'"
|
|
17721
17691
|
matTooltipPosition="above"
|
|
17722
17692
|
>
|
|
17723
|
-
<mat-icon>help_outline</mat-icon>
|
|
17724
17693
|
</button>
|
|
17725
17694
|
</mat-form-field>
|
|
17726
17695
|
<!-- Description -->
|
|
@@ -17732,14 +17701,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17732
17701
|
placeholder="Explique o objetivo e quando aplicar esta regra">
|
|
17733
17702
|
</textarea>
|
|
17734
17703
|
<button
|
|
17735
|
-
|
|
17704
|
+
praxisIconButton="help_outline"
|
|
17705
|
+
size="dense"
|
|
17736
17706
|
matSuffix
|
|
17737
|
-
class="help-icon-button"
|
|
17738
17707
|
type="button"
|
|
17739
17708
|
[matTooltip]="'Texto interno para documentação'"
|
|
17740
17709
|
matTooltipPosition="above"
|
|
17741
17710
|
>
|
|
17742
|
-
<mat-icon>help_outline</mat-icon>
|
|
17743
17711
|
</button>
|
|
17744
17712
|
</mat-form-field>
|
|
17745
17713
|
<!-- Priority -->
|
|
@@ -17779,14 +17747,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17779
17747
|
</mat-option>
|
|
17780
17748
|
</mat-select>
|
|
17781
17749
|
<button
|
|
17782
|
-
|
|
17750
|
+
praxisIconButton="help_outline"
|
|
17751
|
+
size="dense"
|
|
17783
17752
|
matSuffix
|
|
17784
|
-
class="help-icon-button"
|
|
17785
17753
|
type="button"
|
|
17786
17754
|
[matTooltip]="'Define a prioridade e a experiência para o usuário'"
|
|
17787
17755
|
matTooltipPosition="above"
|
|
17788
17756
|
>
|
|
17789
|
-
<mat-icon>help_outline</mat-icon>
|
|
17790
17757
|
</button>
|
|
17791
17758
|
</mat-form-field>
|
|
17792
17759
|
</div>
|
|
@@ -17969,11 +17936,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
17969
17936
|
[formGroupName]="i">
|
|
17970
17937
|
<div class="property-header">
|
|
17971
17938
|
<span class="property-number">{{ i + 1 }}</span>
|
|
17972
|
-
<button
|
|
17973
|
-
|
|
17939
|
+
<button praxisIconButton="delete"
|
|
17940
|
+
size="dense"
|
|
17941
|
+
class="danger-action"
|
|
17974
17942
|
(click)="removeCustomProperty(i)"
|
|
17975
17943
|
[disabled]="customProperties.length <= 0">
|
|
17976
|
-
<mat-icon>delete</mat-icon>
|
|
17977
17944
|
</button>
|
|
17978
17945
|
</div>
|
|
17979
17946
|
<div class="property-form">
|
|
@@ -18039,14 +18006,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
18039
18006
|
placeholder='{"===": [{"var": "form.status"}, "premium"]}'>
|
|
18040
18007
|
</textarea>
|
|
18041
18008
|
<button
|
|
18042
|
-
|
|
18009
|
+
praxisIconButton="help_outline"
|
|
18010
|
+
size="dense"
|
|
18043
18011
|
matSuffix
|
|
18044
|
-
class="help-icon-button"
|
|
18045
18012
|
type="button"
|
|
18046
18013
|
[matTooltip]="'Expressão que define quando aplicar estes metadados'"
|
|
18047
18014
|
matTooltipPosition="above"
|
|
18048
18015
|
>
|
|
18049
|
-
<mat-icon>help_outline</mat-icon>
|
|
18050
18016
|
</button>
|
|
18051
18017
|
</mat-form-field>
|
|
18052
18018
|
<mat-form-field appearance="outline" class="fallback-input">
|
|
@@ -18100,10 +18066,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
18100
18066
|
[formControlName]="i"
|
|
18101
18067
|
placeholder="https://docs.example.com">
|
|
18102
18068
|
</mat-form-field>
|
|
18103
|
-
<button
|
|
18104
|
-
|
|
18069
|
+
<button praxisIconButton="delete"
|
|
18070
|
+
size="dense"
|
|
18071
|
+
class="danger-action"
|
|
18105
18072
|
(click)="removeDocumentationLink(i)">
|
|
18106
|
-
<mat-icon>delete</mat-icon>
|
|
18107
18073
|
</button>
|
|
18108
18074
|
</div>
|
|
18109
18075
|
}
|
|
@@ -18145,7 +18111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
18145
18111
|
</div>
|
|
18146
18112
|
</div>
|
|
18147
18113
|
}
|
|
18148
|
-
`, 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}}.
|
|
18114
|
+
`, 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}}.danger-action{color:var(--md-sys-color-error)}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
18149
18115
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }], propDecorators: { selectedNode: [{
|
|
18150
18116
|
type: Input
|
|
18151
18117
|
}], metadataUpdated: [{
|
|
@@ -18322,37 +18288,40 @@ class JsonViewerComponent {
|
|
|
18322
18288
|
<mat-divider vertical></mat-divider>
|
|
18323
18289
|
|
|
18324
18290
|
<!-- Actions -->
|
|
18325
|
-
<button
|
|
18291
|
+
<button praxisIconButton="auto_fix_high"
|
|
18292
|
+
size="dense"
|
|
18293
|
+
aria-label="Format JSON"
|
|
18326
18294
|
[disabled]="!editable"
|
|
18327
18295
|
(click)="formatJson()"
|
|
18328
18296
|
matTooltip="Format JSON">
|
|
18329
|
-
<mat-icon [praxisIcon]="'auto_fix_high'"></mat-icon>
|
|
18330
18297
|
</button>
|
|
18331
18298
|
|
|
18332
|
-
<button
|
|
18299
|
+
<button praxisIconButton="check_circle"
|
|
18300
|
+
size="dense"
|
|
18301
|
+
aria-label="Validate JSON"
|
|
18333
18302
|
[disabled]="!editable"
|
|
18334
18303
|
(click)="validateJson()"
|
|
18335
18304
|
matTooltip="Validate JSON">
|
|
18336
|
-
<mat-icon [praxisIcon]="'check_circle'"></mat-icon>
|
|
18337
18305
|
</button>
|
|
18338
18306
|
|
|
18339
|
-
<button
|
|
18307
|
+
<button praxisIconButton="save"
|
|
18308
|
+
size="dense"
|
|
18309
|
+
aria-label="Apply Changes"
|
|
18340
18310
|
[disabled]="!editable || !hasChanges"
|
|
18341
18311
|
(click)="applyChanges()"
|
|
18342
18312
|
matTooltip="Apply Changes">
|
|
18343
|
-
<mat-icon [praxisIcon]="'save'"></mat-icon>
|
|
18344
18313
|
</button>
|
|
18345
18314
|
|
|
18346
|
-
<button
|
|
18315
|
+
<button praxisIconButton="undo"
|
|
18316
|
+
size="dense"
|
|
18317
|
+
aria-label="Discard Changes"
|
|
18347
18318
|
[disabled]="!editable || !hasChanges"
|
|
18348
18319
|
(click)="discardChanges()"
|
|
18349
18320
|
matTooltip="Discard Changes">
|
|
18350
|
-
<mat-icon [praxisIcon]="'undo'"></mat-icon>
|
|
18351
18321
|
</button>
|
|
18352
18322
|
|
|
18353
18323
|
<!-- More Actions Menu -->
|
|
18354
|
-
<button
|
|
18355
|
-
<mat-icon [praxisIcon]="'more_vert'"></mat-icon>
|
|
18324
|
+
<button praxisIconButton="more_vert" size="dense" aria-label="More actions" [matMenuTriggerFor]="moreMenu">
|
|
18356
18325
|
</button>
|
|
18357
18326
|
|
|
18358
18327
|
<mat-menu #moreMenu="matMenu">
|
|
@@ -18442,13 +18411,14 @@ class JsonViewerComponent {
|
|
|
18442
18411
|
</div>
|
|
18443
18412
|
</div>
|
|
18444
18413
|
</div>
|
|
18445
|
-
`, 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 .
|
|
18414
|
+
`, 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 .praxis-icon-button{color:var(--md-sys-color-on-primary)}.toolbar-actions .praxis-icon-button:hover{color:var(--md-sys-color-on-primary-container)}.toolbar-actions .praxis-icon-button:disabled{color:var(--md-sys-color-on-surface)}.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: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i4$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$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: i6$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$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: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSnackBarModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18446
18415
|
}
|
|
18447
18416
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: JsonViewerComponent, decorators: [{
|
|
18448
18417
|
type: Component,
|
|
18449
18418
|
args: [{ selector: 'praxis-json-viewer', standalone: true, imports: [
|
|
18450
18419
|
MatButtonModule,
|
|
18451
18420
|
MatIconModule,
|
|
18421
|
+
PraxisIconButtonComponent,
|
|
18452
18422
|
PraxisIconDirective,
|
|
18453
18423
|
MatTooltipModule,
|
|
18454
18424
|
MatToolbarModule,
|
|
@@ -18476,37 +18446,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
18476
18446
|
<mat-divider vertical></mat-divider>
|
|
18477
18447
|
|
|
18478
18448
|
<!-- Actions -->
|
|
18479
|
-
<button
|
|
18449
|
+
<button praxisIconButton="auto_fix_high"
|
|
18450
|
+
size="dense"
|
|
18451
|
+
aria-label="Format JSON"
|
|
18480
18452
|
[disabled]="!editable"
|
|
18481
18453
|
(click)="formatJson()"
|
|
18482
18454
|
matTooltip="Format JSON">
|
|
18483
|
-
<mat-icon [praxisIcon]="'auto_fix_high'"></mat-icon>
|
|
18484
18455
|
</button>
|
|
18485
18456
|
|
|
18486
|
-
<button
|
|
18457
|
+
<button praxisIconButton="check_circle"
|
|
18458
|
+
size="dense"
|
|
18459
|
+
aria-label="Validate JSON"
|
|
18487
18460
|
[disabled]="!editable"
|
|
18488
18461
|
(click)="validateJson()"
|
|
18489
18462
|
matTooltip="Validate JSON">
|
|
18490
|
-
<mat-icon [praxisIcon]="'check_circle'"></mat-icon>
|
|
18491
18463
|
</button>
|
|
18492
18464
|
|
|
18493
|
-
<button
|
|
18465
|
+
<button praxisIconButton="save"
|
|
18466
|
+
size="dense"
|
|
18467
|
+
aria-label="Apply Changes"
|
|
18494
18468
|
[disabled]="!editable || !hasChanges"
|
|
18495
18469
|
(click)="applyChanges()"
|
|
18496
18470
|
matTooltip="Apply Changes">
|
|
18497
|
-
<mat-icon [praxisIcon]="'save'"></mat-icon>
|
|
18498
18471
|
</button>
|
|
18499
18472
|
|
|
18500
|
-
<button
|
|
18473
|
+
<button praxisIconButton="undo"
|
|
18474
|
+
size="dense"
|
|
18475
|
+
aria-label="Discard Changes"
|
|
18501
18476
|
[disabled]="!editable || !hasChanges"
|
|
18502
18477
|
(click)="discardChanges()"
|
|
18503
18478
|
matTooltip="Discard Changes">
|
|
18504
|
-
<mat-icon [praxisIcon]="'undo'"></mat-icon>
|
|
18505
18479
|
</button>
|
|
18506
18480
|
|
|
18507
18481
|
<!-- More Actions Menu -->
|
|
18508
|
-
<button
|
|
18509
|
-
<mat-icon [praxisIcon]="'more_vert'"></mat-icon>
|
|
18482
|
+
<button praxisIconButton="more_vert" size="dense" aria-label="More actions" [matMenuTriggerFor]="moreMenu">
|
|
18510
18483
|
</button>
|
|
18511
18484
|
|
|
18512
18485
|
<mat-menu #moreMenu="matMenu">
|
|
@@ -18596,7 +18569,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
18596
18569
|
</div>
|
|
18597
18570
|
</div>
|
|
18598
18571
|
</div>
|
|
18599
|
-
`, 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 .
|
|
18572
|
+
`, 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 .praxis-icon-button{color:var(--md-sys-color-on-primary)}.toolbar-actions .praxis-icon-button:hover{color:var(--md-sys-color-on-primary-container)}.toolbar-actions .praxis-icon-button:disabled{color:var(--md-sys-color-on-surface)}.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"] }]
|
|
18600
18573
|
}], ctorParameters: () => [{ type: i4.MatSnackBar }], propDecorators: { json: [{
|
|
18601
18574
|
type: Input
|
|
18602
18575
|
}], editable: [{
|
|
@@ -19107,14 +19080,13 @@ class TemplateEditorDialogComponent {
|
|
|
19107
19080
|
(matChipInputTokenEnd)="addTag($event)">
|
|
19108
19081
|
</mat-chip-grid>
|
|
19109
19082
|
<button
|
|
19110
|
-
|
|
19083
|
+
praxisIconButton="help_outline"
|
|
19084
|
+
size="dense"
|
|
19111
19085
|
matSuffix
|
|
19112
|
-
class="help-icon-button"
|
|
19113
19086
|
type="button"
|
|
19114
19087
|
[matTooltip]="'Tags help organize and find templates. Press Enter to add.'"
|
|
19115
19088
|
matTooltipPosition="above"
|
|
19116
19089
|
>
|
|
19117
|
-
<mat-icon>help_outline</mat-icon>
|
|
19118
19090
|
</button>
|
|
19119
19091
|
</mat-form-field>
|
|
19120
19092
|
</div>
|
|
@@ -19187,14 +19159,13 @@ class TemplateEditorDialogComponent {
|
|
|
19187
19159
|
(matChipInputTokenEnd)="addRequiredField($event)">
|
|
19188
19160
|
</mat-chip-grid>
|
|
19189
19161
|
<button
|
|
19190
|
-
|
|
19162
|
+
praxisIconButton="help_outline"
|
|
19163
|
+
size="dense"
|
|
19191
19164
|
matSuffix
|
|
19192
|
-
class="help-icon-button"
|
|
19193
19165
|
type="button"
|
|
19194
19166
|
[matTooltip]="'Field names that must exist for the template to work correctly'"
|
|
19195
19167
|
matTooltipPosition="above"
|
|
19196
19168
|
>
|
|
19197
|
-
<mat-icon>help_outline</mat-icon>
|
|
19198
19169
|
</button>
|
|
19199
19170
|
</mat-form-field>
|
|
19200
19171
|
</div>
|
|
@@ -19265,14 +19236,13 @@ class TemplateEditorDialogComponent {
|
|
|
19265
19236
|
formControlName="version"
|
|
19266
19237
|
placeholder="1.0.0">
|
|
19267
19238
|
<button
|
|
19268
|
-
|
|
19239
|
+
praxisIconButton="help_outline"
|
|
19240
|
+
size="dense"
|
|
19269
19241
|
matSuffix
|
|
19270
|
-
class="help-icon-button"
|
|
19271
19242
|
type="button"
|
|
19272
19243
|
[matTooltip]="'Semantic version (major.minor.patch)'"
|
|
19273
19244
|
matTooltipPosition="above"
|
|
19274
19245
|
>
|
|
19275
|
-
<mat-icon>help_outline</mat-icon>
|
|
19276
19246
|
</button>
|
|
19277
19247
|
</mat-form-field>
|
|
19278
19248
|
</div>
|
|
@@ -19351,7 +19321,7 @@ class TemplateEditorDialogComponent {
|
|
|
19351
19321
|
</button>
|
|
19352
19322
|
</div>
|
|
19353
19323
|
</div>
|
|
19354
|
-
`, 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%}}.
|
|
19324
|
+
`, 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%}}.mat-mdc-form-field-icon-suffix{align-self:center}\n"], dependencies: [{ 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],[formArray],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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i10.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "component", type: i7$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "component", type: i7$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "aria-label", "headerPrefix", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i7$3.MatStepperNext, selector: "button[matStepperNext]" }, { kind: "directive", type: i7$3.MatStepperPrevious, selector: "button[matStepperPrevious]" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatTabsModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatSnackBarModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19355
19325
|
}
|
|
19356
19326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TemplateEditorDialogComponent, decorators: [{
|
|
19357
19327
|
type: Component,
|
|
@@ -19363,6 +19333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19363
19333
|
MatSelectModule,
|
|
19364
19334
|
MatButtonModule,
|
|
19365
19335
|
MatIconModule,
|
|
19336
|
+
PraxisIconButtonComponent,
|
|
19366
19337
|
MatChipsModule,
|
|
19367
19338
|
MatTooltipModule,
|
|
19368
19339
|
MatStepperModule,
|
|
@@ -19458,14 +19429,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19458
19429
|
(matChipInputTokenEnd)="addTag($event)">
|
|
19459
19430
|
</mat-chip-grid>
|
|
19460
19431
|
<button
|
|
19461
|
-
|
|
19432
|
+
praxisIconButton="help_outline"
|
|
19433
|
+
size="dense"
|
|
19462
19434
|
matSuffix
|
|
19463
|
-
class="help-icon-button"
|
|
19464
19435
|
type="button"
|
|
19465
19436
|
[matTooltip]="'Tags help organize and find templates. Press Enter to add.'"
|
|
19466
19437
|
matTooltipPosition="above"
|
|
19467
19438
|
>
|
|
19468
|
-
<mat-icon>help_outline</mat-icon>
|
|
19469
19439
|
</button>
|
|
19470
19440
|
</mat-form-field>
|
|
19471
19441
|
</div>
|
|
@@ -19538,14 +19508,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19538
19508
|
(matChipInputTokenEnd)="addRequiredField($event)">
|
|
19539
19509
|
</mat-chip-grid>
|
|
19540
19510
|
<button
|
|
19541
|
-
|
|
19511
|
+
praxisIconButton="help_outline"
|
|
19512
|
+
size="dense"
|
|
19542
19513
|
matSuffix
|
|
19543
|
-
class="help-icon-button"
|
|
19544
19514
|
type="button"
|
|
19545
19515
|
[matTooltip]="'Field names that must exist for the template to work correctly'"
|
|
19546
19516
|
matTooltipPosition="above"
|
|
19547
19517
|
>
|
|
19548
|
-
<mat-icon>help_outline</mat-icon>
|
|
19549
19518
|
</button>
|
|
19550
19519
|
</mat-form-field>
|
|
19551
19520
|
</div>
|
|
@@ -19616,14 +19585,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19616
19585
|
formControlName="version"
|
|
19617
19586
|
placeholder="1.0.0">
|
|
19618
19587
|
<button
|
|
19619
|
-
|
|
19588
|
+
praxisIconButton="help_outline"
|
|
19589
|
+
size="dense"
|
|
19620
19590
|
matSuffix
|
|
19621
|
-
class="help-icon-button"
|
|
19622
19591
|
type="button"
|
|
19623
19592
|
[matTooltip]="'Semantic version (major.minor.patch)'"
|
|
19624
19593
|
matTooltipPosition="above"
|
|
19625
19594
|
>
|
|
19626
|
-
<mat-icon>help_outline</mat-icon>
|
|
19627
19595
|
</button>
|
|
19628
19596
|
</mat-form-field>
|
|
19629
19597
|
</div>
|
|
@@ -19702,7 +19670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19702
19670
|
</button>
|
|
19703
19671
|
</div>
|
|
19704
19672
|
</div>
|
|
19705
|
-
`, 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%}}.
|
|
19673
|
+
`, 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%}}.mat-mdc-form-field-icon-suffix{align-self:center}\n"] }]
|
|
19706
19674
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
19707
19675
|
type: Inject,
|
|
19708
19676
|
args: [MAT_DIALOG_DATA]
|
|
@@ -20059,7 +20027,7 @@ class TemplatePreviewDialogComponent {
|
|
|
20059
20027
|
</button>
|
|
20060
20028
|
</div>
|
|
20061
20029
|
</div>
|
|
20062
|
-
`, 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: 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: i5.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: i6.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: i10.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: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type:
|
|
20030
|
+
`, 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: 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: i5.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: i6.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: i10.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: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i10$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i10$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i10$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i10$1.MatExpansionPanelDescription, selector: "mat-panel-description" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20063
20031
|
}
|
|
20064
20032
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TemplatePreviewDialogComponent, decorators: [{
|
|
20065
20033
|
type: Component,
|
|
@@ -20725,11 +20693,12 @@ class TemplateGalleryComponent {
|
|
|
20725
20693
|
</button>
|
|
20726
20694
|
|
|
20727
20695
|
<button
|
|
20728
|
-
|
|
20696
|
+
praxisIconButton="view_module"
|
|
20697
|
+
size="dense"
|
|
20698
|
+
aria-label="View options"
|
|
20729
20699
|
[matMenuTriggerFor]="viewMenu"
|
|
20730
20700
|
matTooltip="View options"
|
|
20731
20701
|
>
|
|
20732
|
-
<mat-icon [praxisIcon]="'view_module'"></mat-icon>
|
|
20733
20702
|
</button>
|
|
20734
20703
|
|
|
20735
20704
|
<mat-menu #viewMenu="matMenu">
|
|
@@ -20963,11 +20932,12 @@ class TemplateGalleryComponent {
|
|
|
20963
20932
|
<mat-card-subtitle>{{ template.category }}</mat-card-subtitle>
|
|
20964
20933
|
<div class="card-actions">
|
|
20965
20934
|
<button
|
|
20966
|
-
|
|
20935
|
+
praxisIconButton="more_vert"
|
|
20936
|
+
size="dense"
|
|
20937
|
+
aria-label="Template actions"
|
|
20967
20938
|
[matMenuTriggerFor]="templateMenu"
|
|
20968
20939
|
(click)="$event.stopPropagation()"
|
|
20969
20940
|
>
|
|
20970
|
-
<mat-icon>more_vert</mat-icon>
|
|
20971
20941
|
</button>
|
|
20972
20942
|
<mat-menu #templateMenu="matMenu">
|
|
20973
20943
|
<button mat-menu-item (click)="applyTemplate(template)">
|
|
@@ -21132,10 +21102,11 @@ class TemplateGalleryComponent {
|
|
|
21132
21102
|
Preview
|
|
21133
21103
|
</button>
|
|
21134
21104
|
<button
|
|
21135
|
-
|
|
21105
|
+
praxisIconButton="more_vert"
|
|
21106
|
+
size="dense"
|
|
21107
|
+
aria-label="Template actions"
|
|
21136
21108
|
[matMenuTriggerFor]="listTemplateMenu"
|
|
21137
21109
|
>
|
|
21138
|
-
<mat-icon>more_vert</mat-icon>
|
|
21139
21110
|
</button>
|
|
21140
21111
|
<mat-menu #listTemplateMenu="matMenu">
|
|
21141
21112
|
<button mat-menu-item (click)="editTemplate(template)">
|
|
@@ -21174,18 +21145,20 @@ class TemplateGalleryComponent {
|
|
|
21174
21145
|
</div>
|
|
21175
21146
|
<div class="compact-actions">
|
|
21176
21147
|
<button
|
|
21177
|
-
|
|
21148
|
+
praxisIconButton="play_arrow"
|
|
21149
|
+
size="dense"
|
|
21150
|
+
aria-label="Apply template"
|
|
21178
21151
|
(click)="applyTemplate(template)"
|
|
21179
21152
|
matTooltip="Apply template"
|
|
21180
21153
|
>
|
|
21181
|
-
<mat-icon>play_arrow</mat-icon>
|
|
21182
21154
|
</button>
|
|
21183
21155
|
<button
|
|
21184
|
-
|
|
21156
|
+
praxisIconButton="preview"
|
|
21157
|
+
size="dense"
|
|
21158
|
+
aria-label="Preview template"
|
|
21185
21159
|
(click)="previewTemplate(template)"
|
|
21186
21160
|
matTooltip="Preview template"
|
|
21187
21161
|
>
|
|
21188
|
-
<mat-icon>preview</mat-icon>
|
|
21189
21162
|
</button>
|
|
21190
21163
|
</div>
|
|
21191
21164
|
</div>
|
|
@@ -21210,7 +21183,7 @@ class TemplateGalleryComponent {
|
|
|
21210
21183
|
</div>
|
|
21211
21184
|
</div>
|
|
21212
21185
|
</div>
|
|
21213
|
-
`, 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: "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],[formArray],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: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "directive", type: i5$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i10.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.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: i10$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: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: i12$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21186
|
+
`, 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: "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],[formArray],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: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5$1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "directive", type: i5$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.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: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.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: i10.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i10.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.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: i6$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: i6$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$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: i9$2.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: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.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: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "pipe", type: i12$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21214
21187
|
}
|
|
21215
21188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TemplateGalleryComponent, decorators: [{
|
|
21216
21189
|
type: Component,
|
|
@@ -21234,6 +21207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
21234
21207
|
MatExpansionModule,
|
|
21235
21208
|
MatDividerModule,
|
|
21236
21209
|
MatSlideToggleModule,
|
|
21210
|
+
PraxisIconButtonComponent,
|
|
21237
21211
|
PraxisIconDirective,
|
|
21238
21212
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
21239
21213
|
<div class="template-gallery">
|
|
@@ -21271,11 +21245,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
21271
21245
|
</button>
|
|
21272
21246
|
|
|
21273
21247
|
<button
|
|
21274
|
-
|
|
21248
|
+
praxisIconButton="view_module"
|
|
21249
|
+
size="dense"
|
|
21250
|
+
aria-label="View options"
|
|
21275
21251
|
[matMenuTriggerFor]="viewMenu"
|
|
21276
21252
|
matTooltip="View options"
|
|
21277
21253
|
>
|
|
21278
|
-
<mat-icon [praxisIcon]="'view_module'"></mat-icon>
|
|
21279
21254
|
</button>
|
|
21280
21255
|
|
|
21281
21256
|
<mat-menu #viewMenu="matMenu">
|
|
@@ -21509,11 +21484,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
21509
21484
|
<mat-card-subtitle>{{ template.category }}</mat-card-subtitle>
|
|
21510
21485
|
<div class="card-actions">
|
|
21511
21486
|
<button
|
|
21512
|
-
|
|
21487
|
+
praxisIconButton="more_vert"
|
|
21488
|
+
size="dense"
|
|
21489
|
+
aria-label="Template actions"
|
|
21513
21490
|
[matMenuTriggerFor]="templateMenu"
|
|
21514
21491
|
(click)="$event.stopPropagation()"
|
|
21515
21492
|
>
|
|
21516
|
-
<mat-icon>more_vert</mat-icon>
|
|
21517
21493
|
</button>
|
|
21518
21494
|
<mat-menu #templateMenu="matMenu">
|
|
21519
21495
|
<button mat-menu-item (click)="applyTemplate(template)">
|
|
@@ -21678,10 +21654,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
21678
21654
|
Preview
|
|
21679
21655
|
</button>
|
|
21680
21656
|
<button
|
|
21681
|
-
|
|
21657
|
+
praxisIconButton="more_vert"
|
|
21658
|
+
size="dense"
|
|
21659
|
+
aria-label="Template actions"
|
|
21682
21660
|
[matMenuTriggerFor]="listTemplateMenu"
|
|
21683
21661
|
>
|
|
21684
|
-
<mat-icon>more_vert</mat-icon>
|
|
21685
21662
|
</button>
|
|
21686
21663
|
<mat-menu #listTemplateMenu="matMenu">
|
|
21687
21664
|
<button mat-menu-item (click)="editTemplate(template)">
|
|
@@ -21720,18 +21697,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
21720
21697
|
</div>
|
|
21721
21698
|
<div class="compact-actions">
|
|
21722
21699
|
<button
|
|
21723
|
-
|
|
21700
|
+
praxisIconButton="play_arrow"
|
|
21701
|
+
size="dense"
|
|
21702
|
+
aria-label="Apply template"
|
|
21724
21703
|
(click)="applyTemplate(template)"
|
|
21725
21704
|
matTooltip="Apply template"
|
|
21726
21705
|
>
|
|
21727
|
-
<mat-icon>play_arrow</mat-icon>
|
|
21728
21706
|
</button>
|
|
21729
21707
|
<button
|
|
21730
|
-
|
|
21708
|
+
praxisIconButton="preview"
|
|
21709
|
+
size="dense"
|
|
21710
|
+
aria-label="Preview template"
|
|
21731
21711
|
(click)="previewTemplate(template)"
|
|
21732
21712
|
matTooltip="Preview template"
|
|
21733
21713
|
>
|
|
21734
|
-
<mat-icon>preview</mat-icon>
|
|
21735
21714
|
</button>
|
|
21736
21715
|
</div>
|
|
21737
21716
|
</div>
|