novo-elements 7.4.0-next.3 → 7.4.1-next.2

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.
@@ -29679,26 +29679,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29679
29679
  }] } });
29680
29680
 
29681
29681
  // NG2
29682
- class WorkersCompCodesPickerResults extends BasePickerResults {
29682
+ class WorkersCompCodesPickerResults extends PickerResults {
29683
29683
  constructor(element, sanitizer, labels, ref) {
29684
- super(element, ref);
29684
+ super(element, labels, ref);
29685
29685
  this.sanitizer = sanitizer;
29686
29686
  this.labels = labels;
29687
- this.active = true;
29688
- this.sanitizer = sanitizer;
29689
- }
29690
- get isHidden() {
29691
- return this.matches.length === 0;
29692
- }
29693
- getListElement() {
29694
- return this.element.nativeElement.querySelector('novo-list');
29695
29687
  }
29696
29688
  sanitizeHTML(compCode, name) {
29697
29689
  return this.sanitizer.bypassSecurityTrustHtml(`${compCode} | ${name}`);
29698
29690
  }
29699
29691
  }
29700
29692
  WorkersCompCodesPickerResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkersCompCodesPickerResults, deps: [{ token: i0.ElementRef }, { token: i1$2.DomSanitizer }, { token: NovoLabelService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
29701
- WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: WorkersCompCodesPickerResults, selector: "workers-comp-codes-picker-results", host: { properties: { "class.active": "this.active", "hidden": "this.isHidden" } }, usesInheritance: true, ngImport: i0, template: `
29693
+ WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: WorkersCompCodesPickerResults, selector: "workers-comp-codes-picker-results", host: { classAttribute: "active" }, usesInheritance: true, ngImport: i0, template: `
29702
29694
  <section class="picker-loading" *ngIf="isLoading && !matches?.length">
29703
29695
  <novo-loading theme="line"></novo-loading>
29704
29696
  </section>
@@ -29736,11 +29728,17 @@ WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
29736
29728
  </novo-list-item>
29737
29729
  <novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
29738
29730
  </novo-list>
29731
+ <div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
29732
+ <p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
29733
+ <p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
29739
29734
  `, isInline: true, components: [{ type: NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { type: NovoListElement, selector: "novo-list", inputs: ["theme", "direction"] }, { type: NovoListItemElement, selector: "novo-list-item, a[list-item], button[list-item]" }, { type: NovoItemHeaderElement, selector: "item-header, novo-item-header" }, { type: NovoItemTitleElement, selector: "item-title, novo-item-title" }, { type: NovoItemContentElement, selector: "item-content, novo-item-content", inputs: ["direction"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
29740
29735
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkersCompCodesPickerResults, decorators: [{
29741
29736
  type: Component,
29742
29737
  args: [{
29743
29738
  selector: 'workers-comp-codes-picker-results',
29739
+ host: {
29740
+ class: 'active',
29741
+ },
29744
29742
  template: `
29745
29743
  <section class="picker-loading" *ngIf="isLoading && !matches?.length">
29746
29744
  <novo-loading theme="line"></novo-loading>
@@ -29779,15 +29777,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29779
29777
  </novo-list-item>
29780
29778
  <novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
29781
29779
  </novo-list>
29780
+ <div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
29781
+ <p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
29782
+ <p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
29782
29783
  `,
29783
29784
  }]
29784
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { active: [{
29785
- type: HostBinding,
29786
- args: ['class.active']
29787
- }], isHidden: [{
29788
- type: HostBinding,
29789
- args: ['hidden']
29790
- }] } });
29785
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; } });
29791
29786
 
29792
29787
  // NG2
29793
29788
  // Value accessor for the component (supports ngModel)
@@ -33225,9 +33220,7 @@ const DATEFORMAT_VALUE_ACCESSOR = {
33225
33220
  multi: true,
33226
33221
  };
33227
33222
  class NovoDateFormatDirective extends IMaskDirective {
33228
- constructor(_element, _renderer, _factory,
33229
- // @Optional() @Inject(PLATFORM_ID) _platformId: string,
33230
- _compositionMode, labels) {
33223
+ constructor(_element, _renderer, _factory, _compositionMode, labels) {
33231
33224
  super(_element, _renderer, _factory, _compositionMode);
33232
33225
  this._element = _element;
33233
33226
  this.labels = labels;
@@ -33351,7 +33344,6 @@ class NovoDateRangeFormatDirective extends IMaskDirective {
33351
33344
  this.unmask = false;
33352
33345
  this.imask = {
33353
33346
  mask: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
33354
- // pattern: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
33355
33347
  overwrite: true,
33356
33348
  autofix: true,
33357
33349
  lazy: false,
@@ -33479,9 +33471,7 @@ var TIME_FORMATS;
33479
33471
  TIME_FORMATS["STRING"] = "string";
33480
33472
  })(TIME_FORMATS || (TIME_FORMATS = {}));
33481
33473
  class NovoTimeFormatDirective extends IMaskDirective {
33482
- constructor(_element, _renderer, _factory,
33483
- // @Optional() @Inject(PLATFORM_ID) _platformId: string,
33484
- _compositionMode, labels, cdr) {
33474
+ constructor(_element, _renderer, _factory, _compositionMode, labels, cdr) {
33485
33475
  super(_element, _renderer, _factory, _compositionMode);
33486
33476
  this._element = _element;
33487
33477
  this.labels = labels;
@@ -35124,7 +35114,7 @@ class NovoChipInput {
35124
35114
  focus(options) {
35125
35115
  this._inputElement.focus(options);
35126
35116
  }
35127
- /** Focuses the input. */
35117
+ /** Clears the input. */
35128
35118
  clearValue() {
35129
35119
  this._inputElement.value = '';
35130
35120
  this.ngControl?.control.setValue('');
@@ -56503,7 +56493,6 @@ class ConditionBuilderComponent {
56503
56493
  const { fields = [] } = this.qbs.config || {};
56504
56494
  fields.length && this.changeFieldOptions(fields[0]);
56505
56495
  this.searches = this.searchTerm.valueChanges.pipe(debounceTime(300), distinctUntilChanged()).subscribe((term) => {
56506
- // this.parentForm.get('field').setValue(null);
56507
56496
  this.results$ = Promise.resolve(this.fieldConfig.options.filter((f) => f.name.toLowerCase().includes(term.toLowerCase()) || f.label?.toLowerCase().includes(term.toLowerCase())));
56508
56497
  this.cdr.markForCheck();
56509
56498
  });
@@ -56519,8 +56508,6 @@ class ConditionBuilderComponent {
56519
56508
  [this._operatorOutlet.viewContainer, this._inputOutlet.viewContainer].forEach((def) => {
56520
56509
  def.clear();
56521
56510
  });
56522
- // this._contentFieldTypeDefs = [];
56523
- // this._contentFieldDefs = [];
56524
56511
  this._onDestroy.next();
56525
56512
  this._onDestroy.complete();
56526
56513
  }
@@ -56529,7 +56516,6 @@ class ConditionBuilderComponent {
56529
56516
  * @param fieldConfig
56530
56517
  */
56531
56518
  changeFieldOptions(fieldConfig) {
56532
- // this.fields = entity.filter(term);
56533
56519
  this.fieldConfig = fieldConfig;
56534
56520
  this.searchTerm.setValue('');
56535
56521
  this.results$ = Promise.resolve(this.fieldConfig.options);
@@ -57119,9 +57105,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
57119
57105
  }] });
57120
57106
 
57121
57107
  /**
57122
- * Contruction filters against String fields can be complex. Each "chip" added to the
57123
- * condition can be used to indendantly used to query a database. Not all systems support
57124
- * quering within a text column, ie sql unless LIKE is enabled. This could result in a
57108
+ * Constructing filters against String fields can be complex. Each "chip" added to the
57109
+ * condition can be independently used to query a database. Not all systems support
57110
+ * querying within a text column, ie sql unless LIKE is enabled. This could result in a
57125
57111
  * performance penalty.
57126
57112
  */
57127
57113
  class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
@@ -57129,7 +57115,6 @@ class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
57129
57115
  super(...arguments);
57130
57116
  this.separatorKeysCodes = [ENTER, COMMA];
57131
57117
  this.defaultOperator = 'includeAny';
57132
- this.model = '';
57133
57118
  }
57134
57119
  getValue(formGroup) {
57135
57120
  return formGroup.value?.value || [];
@@ -57169,15 +57154,14 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
57169
57154
  <novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
57170
57155
  </novo-select>
57171
57156
  </novo-field>
57172
- <novo-field *novoConditionInputDef="let formGroup">
57173
- <novo-chip-list #chipList aria-label="filter value">
57157
+ <novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
57158
+ <novo-chip-list #chipList aria-label="filter value" formControlName="value">
57174
57159
  <novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
57175
57160
  {{ chip }}
57176
57161
  <novo-icon novoChipRemove>close</novo-icon>
57177
57162
  </novo-chip>
57178
57163
  <input
57179
57164
  novoChipInput
57180
- [(ngModel)]="model"
57181
57165
  [placeholder]="labels.typeToAddChips"
57182
57166
  autocomplete="off"
57183
57167
  (novoChipInputTokenEnd)="add($event, formGroup)"
@@ -57186,7 +57170,7 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
57186
57170
  <novo-autocomplete></novo-autocomplete>
57187
57171
  </novo-field>
57188
57172
  </ng-container>
57189
- `, isInline: true, components: [{ type: NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { type: NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { type: NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: NovoAutocompleteElement, selector: "novo-autocomplete", inputs: ["tabIndex", "triggerOn", "displayWith", "aria-label", "multiple", "disabled"], outputs: ["optionSelected", "optionActivated"], exportAs: ["novoAutocomplete"] }], directives: [{ type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: NovoChipRemove, selector: "[novoChipRemove]" }, { type: NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
57173
+ `, isInline: true, components: [{ type: NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { type: NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { type: NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: NovoAutocompleteElement, selector: "novo-autocomplete", inputs: ["tabIndex", "triggerOn", "displayWith", "aria-label", "multiple", "disabled"], outputs: ["optionSelected", "optionActivated"], exportAs: ["novoAutocomplete"] }], directives: [{ type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: NovoChipRemove, selector: "[novoChipRemove]" }, { type: NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
57190
57174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultStringConditionDef, decorators: [{
57191
57175
  type: Component,
57192
57176
  args: [{
@@ -57201,15 +57185,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
57201
57185
  <novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
57202
57186
  </novo-select>
57203
57187
  </novo-field>
57204
- <novo-field *novoConditionInputDef="let formGroup">
57205
- <novo-chip-list #chipList aria-label="filter value">
57188
+ <novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
57189
+ <novo-chip-list #chipList aria-label="filter value" formControlName="value">
57206
57190
  <novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
57207
57191
  {{ chip }}
57208
57192
  <novo-icon novoChipRemove>close</novo-icon>
57209
57193
  </novo-chip>
57210
57194
  <input
57211
57195
  novoChipInput
57212
- [(ngModel)]="model"
57213
57196
  [placeholder]="labels.typeToAddChips"
57214
57197
  autocomplete="off"
57215
57198
  (novoChipInputTokenEnd)="add($event, formGroup)"
@@ -57284,7 +57267,7 @@ class ConditionGroupComponent {
57284
57267
  return this.formBuilder.group({
57285
57268
  field: [field, Validators.required],
57286
57269
  operator: [operator, Validators.required],
57287
- value: [value, Validators.required],
57270
+ value: [value],
57288
57271
  });
57289
57272
  }
57290
57273
  cantRemoveRow(isFirst) {
@@ -57294,12 +57277,12 @@ class ConditionGroupComponent {
57294
57277
  }
57295
57278
  }
57296
57279
  ConditionGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConditionGroupComponent, deps: [{ token: QueryBuilderService }, { token: NovoLabelService }, { token: i5.ControlContainer }, { token: i5.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
57297
- ConditionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ConditionGroupComponent, selector: "novo-condition-group", inputs: { controlName: "controlName", groupIndex: "groupIndex" }, host: { classAttribute: "novo-condition-group" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], ngImport: i0, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n\n\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"], components: [{ type: NovoStackElement, selector: "novo-stack,novo-column", inputs: ["direction", "align"] }, { type: NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { type: NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple"], outputs: ["toggled"] }, { type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { type: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoLabel, selector: "novo-label,[novo-label]" }, { type: ConditionBuilderComponent, selector: "novo-condition-builder", inputs: ["label", "isFirst", "andIndex", "groupIndex"] }], directives: [{ type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: GapDirective, selector: "[gap]", inputs: ["gap"] }, { type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { type: PaddingDirective, selector: "[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]", inputs: ["padding", "p", "paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "paddingX", "px", "paddingY", "py"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57280
+ ConditionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ConditionGroupComponent, selector: "novo-condition-group", inputs: { controlName: "controlName", groupIndex: "groupIndex" }, host: { classAttribute: "novo-condition-group" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], ngImport: i0, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"], components: [{ type: NovoStackElement, selector: "novo-stack,novo-column", inputs: ["direction", "align"] }, { type: NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { type: NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple"], outputs: ["toggled"] }, { type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { type: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoLabel, selector: "novo-label,[novo-label]" }, { type: ConditionBuilderComponent, selector: "novo-condition-builder", inputs: ["label", "isFirst", "andIndex", "groupIndex"] }], directives: [{ type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: GapDirective, selector: "[gap]", inputs: ["gap"] }, { type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { type: PaddingDirective, selector: "[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]", inputs: ["padding", "p", "paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "paddingX", "px", "paddingY", "py"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57298
57281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConditionGroupComponent, decorators: [{
57299
57282
  type: Component,
57300
57283
  args: [{ selector: 'novo-condition-group', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], host: {
57301
57284
  class: 'novo-condition-group',
57302
- }, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n\n\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"] }]
57285
+ }, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"] }]
57303
57286
  }], ctorParameters: function () { return [{ type: QueryBuilderService }, { type: NovoLabelService }, { type: i5.ControlContainer }, { type: i5.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { controlName: [{
57304
57287
  type: Input
57305
57288
  }], groupIndex: [{
@@ -57390,7 +57373,7 @@ class CriteriaBuilderComponent {
57390
57373
  return this.formBuilder.group({
57391
57374
  field: [field, Validators.required],
57392
57375
  operator: [operator, Validators.required],
57393
- value: [value, Validators.required],
57376
+ value: [value],
57394
57377
  });
57395
57378
  }
57396
57379
  removeConditionGroupAt(index) {