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.
@@ -29712,26 +29712,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29712
29712
  }] } });
29713
29713
 
29714
29714
  // NG2
29715
- class WorkersCompCodesPickerResults extends BasePickerResults {
29715
+ class WorkersCompCodesPickerResults extends PickerResults {
29716
29716
  constructor(element, sanitizer, labels, ref) {
29717
- super(element, ref);
29717
+ super(element, labels, ref);
29718
29718
  this.sanitizer = sanitizer;
29719
29719
  this.labels = labels;
29720
- this.active = true;
29721
- this.sanitizer = sanitizer;
29722
- }
29723
- get isHidden() {
29724
- return this.matches.length === 0;
29725
- }
29726
- getListElement() {
29727
- return this.element.nativeElement.querySelector('novo-list');
29728
29720
  }
29729
29721
  sanitizeHTML(compCode, name) {
29730
29722
  return this.sanitizer.bypassSecurityTrustHtml(`${compCode} | ${name}`);
29731
29723
  }
29732
29724
  }
29733
29725
  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 });
29734
- 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: `
29726
+ 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: `
29735
29727
  <section class="picker-loading" *ngIf="isLoading && !matches?.length">
29736
29728
  <novo-loading theme="line"></novo-loading>
29737
29729
  </section>
@@ -29769,11 +29761,17 @@ WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
29769
29761
  </novo-list-item>
29770
29762
  <novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
29771
29763
  </novo-list>
29764
+ <div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
29765
+ <p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
29766
+ <p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
29772
29767
  `, 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"] }] });
29773
29768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkersCompCodesPickerResults, decorators: [{
29774
29769
  type: Component,
29775
29770
  args: [{
29776
29771
  selector: 'workers-comp-codes-picker-results',
29772
+ host: {
29773
+ class: 'active',
29774
+ },
29777
29775
  template: `
29778
29776
  <section class="picker-loading" *ngIf="isLoading && !matches?.length">
29779
29777
  <novo-loading theme="line"></novo-loading>
@@ -29812,15 +29810,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29812
29810
  </novo-list-item>
29813
29811
  <novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
29814
29812
  </novo-list>
29813
+ <div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
29814
+ <p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
29815
+ <p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
29815
29816
  `,
29816
29817
  }]
29817
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { active: [{
29818
- type: HostBinding,
29819
- args: ['class.active']
29820
- }], isHidden: [{
29821
- type: HostBinding,
29822
- args: ['hidden']
29823
- }] } });
29818
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; } });
29824
29819
 
29825
29820
  // NG2
29826
29821
  // Value accessor for the component (supports ngModel)
@@ -33269,9 +33264,7 @@ const DATEFORMAT_VALUE_ACCESSOR = {
33269
33264
  multi: true,
33270
33265
  };
33271
33266
  class NovoDateFormatDirective extends IMaskDirective {
33272
- constructor(_element, _renderer, _factory,
33273
- // @Optional() @Inject(PLATFORM_ID) _platformId: string,
33274
- _compositionMode, labels) {
33267
+ constructor(_element, _renderer, _factory, _compositionMode, labels) {
33275
33268
  super(_element, _renderer, _factory, _compositionMode);
33276
33269
  this._element = _element;
33277
33270
  this.labels = labels;
@@ -33397,7 +33390,6 @@ class NovoDateRangeFormatDirective extends IMaskDirective {
33397
33390
  this.unmask = false;
33398
33391
  this.imask = {
33399
33392
  mask: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
33400
- // pattern: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
33401
33393
  overwrite: true,
33402
33394
  autofix: true,
33403
33395
  lazy: false,
@@ -33527,9 +33519,7 @@ var TIME_FORMATS;
33527
33519
  TIME_FORMATS["STRING"] = "string";
33528
33520
  })(TIME_FORMATS || (TIME_FORMATS = {}));
33529
33521
  class NovoTimeFormatDirective extends IMaskDirective {
33530
- constructor(_element, _renderer, _factory,
33531
- // @Optional() @Inject(PLATFORM_ID) _platformId: string,
33532
- _compositionMode, labels, cdr) {
33522
+ constructor(_element, _renderer, _factory, _compositionMode, labels, cdr) {
33533
33523
  super(_element, _renderer, _factory, _compositionMode);
33534
33524
  this._element = _element;
33535
33525
  this.labels = labels;
@@ -35184,7 +35174,7 @@ class NovoChipInput {
35184
35174
  focus(options) {
35185
35175
  this._inputElement.focus(options);
35186
35176
  }
35187
- /** Focuses the input. */
35177
+ /** Clears the input. */
35188
35178
  clearValue() {
35189
35179
  var _a;
35190
35180
  this._inputElement.value = '';
@@ -56591,7 +56581,6 @@ class ConditionBuilderComponent {
56591
56581
  const { fields = [] } = this.qbs.config || {};
56592
56582
  fields.length && this.changeFieldOptions(fields[0]);
56593
56583
  this.searches = this.searchTerm.valueChanges.pipe(debounceTime(300), distinctUntilChanged()).subscribe((term) => {
56594
- // this.parentForm.get('field').setValue(null);
56595
56584
  this.results$ = Promise.resolve(this.fieldConfig.options.filter((f) => { var _a; return f.name.toLowerCase().includes(term.toLowerCase()) || ((_a = f.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(term.toLowerCase())); }));
56596
56585
  this.cdr.markForCheck();
56597
56586
  });
@@ -56608,8 +56597,6 @@ class ConditionBuilderComponent {
56608
56597
  [this._operatorOutlet.viewContainer, this._inputOutlet.viewContainer].forEach((def) => {
56609
56598
  def.clear();
56610
56599
  });
56611
- // this._contentFieldTypeDefs = [];
56612
- // this._contentFieldDefs = [];
56613
56600
  this._onDestroy.next();
56614
56601
  this._onDestroy.complete();
56615
56602
  }
@@ -56618,7 +56605,6 @@ class ConditionBuilderComponent {
56618
56605
  * @param fieldConfig
56619
56606
  */
56620
56607
  changeFieldOptions(fieldConfig) {
56621
- // this.fields = entity.filter(term);
56622
56608
  this.fieldConfig = fieldConfig;
56623
56609
  this.searchTerm.setValue('');
56624
56610
  this.results$ = Promise.resolve(this.fieldConfig.options);
@@ -57211,9 +57197,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
57211
57197
  }] });
57212
57198
 
57213
57199
  /**
57214
- * Contruction filters against String fields can be complex. Each "chip" added to the
57215
- * condition can be used to indendantly used to query a database. Not all systems support
57216
- * quering within a text column, ie sql unless LIKE is enabled. This could result in a
57200
+ * Constructing filters against String fields can be complex. Each "chip" added to the
57201
+ * condition can be independently used to query a database. Not all systems support
57202
+ * querying within a text column, ie sql unless LIKE is enabled. This could result in a
57217
57203
  * performance penalty.
57218
57204
  */
57219
57205
  class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
@@ -57221,7 +57207,6 @@ class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
57221
57207
  super(...arguments);
57222
57208
  this.separatorKeysCodes = [ENTER, COMMA];
57223
57209
  this.defaultOperator = 'includeAny';
57224
- this.model = '';
57225
57210
  }
57226
57211
  getValue(formGroup) {
57227
57212
  var _a;
@@ -57262,15 +57247,14 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
57262
57247
  <novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
57263
57248
  </novo-select>
57264
57249
  </novo-field>
57265
- <novo-field *novoConditionInputDef="let formGroup">
57266
- <novo-chip-list #chipList aria-label="filter value">
57250
+ <novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
57251
+ <novo-chip-list #chipList aria-label="filter value" formControlName="value">
57267
57252
  <novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
57268
57253
  {{ chip }}
57269
57254
  <novo-icon novoChipRemove>close</novo-icon>
57270
57255
  </novo-chip>
57271
57256
  <input
57272
57257
  novoChipInput
57273
- [(ngModel)]="model"
57274
57258
  [placeholder]="labels.typeToAddChips"
57275
57259
  autocomplete="off"
57276
57260
  (novoChipInputTokenEnd)="add($event, formGroup)"
@@ -57279,7 +57263,7 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
57279
57263
  <novo-autocomplete></novo-autocomplete>
57280
57264
  </novo-field>
57281
57265
  </ng-container>
57282
- `, 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 });
57266
+ `, 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 });
57283
57267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultStringConditionDef, decorators: [{
57284
57268
  type: Component,
57285
57269
  args: [{
@@ -57294,15 +57278,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
57294
57278
  <novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
57295
57279
  </novo-select>
57296
57280
  </novo-field>
57297
- <novo-field *novoConditionInputDef="let formGroup">
57298
- <novo-chip-list #chipList aria-label="filter value">
57281
+ <novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
57282
+ <novo-chip-list #chipList aria-label="filter value" formControlName="value">
57299
57283
  <novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
57300
57284
  {{ chip }}
57301
57285
  <novo-icon novoChipRemove>close</novo-icon>
57302
57286
  </novo-chip>
57303
57287
  <input
57304
57288
  novoChipInput
57305
- [(ngModel)]="model"
57306
57289
  [placeholder]="labels.typeToAddChips"
57307
57290
  autocomplete="off"
57308
57291
  (novoChipInputTokenEnd)="add($event, formGroup)"
@@ -57377,7 +57360,7 @@ class ConditionGroupComponent {
57377
57360
  return this.formBuilder.group({
57378
57361
  field: [field, Validators.required],
57379
57362
  operator: [operator, Validators.required],
57380
- value: [value, Validators.required],
57363
+ value: [value],
57381
57364
  });
57382
57365
  }
57383
57366
  cantRemoveRow(isFirst) {
@@ -57387,12 +57370,12 @@ class ConditionGroupComponent {
57387
57370
  }
57388
57371
  }
57389
57372
  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 });
57390
- 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 });
57373
+ 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 });
57391
57374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConditionGroupComponent, decorators: [{
57392
57375
  type: Component,
57393
57376
  args: [{ selector: 'novo-condition-group', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], host: {
57394
57377
  class: 'novo-condition-group',
57395
- }, 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"] }]
57378
+ }, 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"] }]
57396
57379
  }], ctorParameters: function () { return [{ type: QueryBuilderService }, { type: NovoLabelService }, { type: i5.ControlContainer }, { type: i5.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { controlName: [{
57397
57380
  type: Input
57398
57381
  }], groupIndex: [{
@@ -57480,7 +57463,7 @@ class CriteriaBuilderComponent {
57480
57463
  return this.formBuilder.group({
57481
57464
  field: [field, Validators.required],
57482
57465
  operator: [operator, Validators.required],
57483
- value: [value, Validators.required],
57466
+ value: [value],
57484
57467
  });
57485
57468
  }
57486
57469
  removeConditionGroupAt(index) {