novo-elements 7.1.2-next.0 → 7.2.0-next.0

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.
@@ -1335,7 +1335,7 @@ class TooltipDirective {
1335
1335
  this.type = 'normal';
1336
1336
  this.active = true;
1337
1337
  this.removeArrow = false;
1338
- this.autoPosition = false;
1338
+ this.autoPosition = true;
1339
1339
  }
1340
1340
  isPosition(position) {
1341
1341
  return position.toLowerCase() === (this.position || '').toLowerCase();
@@ -1403,59 +1403,59 @@ class TooltipDirective {
1403
1403
  let offsetX;
1404
1404
  let offsetY;
1405
1405
  let autoPositions = [
1406
- { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetX: 0, offsetY: 8 },
1407
- { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 0, offsetY: 8 },
1408
- { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 8, offsetY: 0 },
1409
- { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -8, offsetY: 0 },
1410
- { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetX: 0, offsetY: -8 },
1411
- { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: 0, offsetY: 8 },
1412
- { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: 0, offsetY: -8 },
1413
- { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 0, offsetY: -8 },
1414
- { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 8, offsetY: -8 },
1415
- { originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 8, offsetY: 8 },
1416
- { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -8, offsetY: -8 },
1417
- { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -8, offsetY: 8 },
1406
+ { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetX: 0, offsetY: 12 },
1407
+ { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 0, offsetY: 12 },
1408
+ { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 12, offsetY: 0 },
1409
+ { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -12, offsetY: 0 },
1410
+ { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetX: 0, offsetY: -12 },
1411
+ { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: 0, offsetY: 12 },
1412
+ { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: 0, offsetY: -12 },
1413
+ { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 0, offsetY: -12 },
1414
+ { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 12, offsetY: -12 },
1415
+ { originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 12, offsetY: 12 },
1416
+ { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -12, offsetY: -12 },
1417
+ { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -12, offsetY: 12 },
1418
1418
  ];
1419
1419
  switch (this.position) {
1420
1420
  case 'right':
1421
1421
  defaultPosition = { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' };
1422
- offsetX = 8;
1422
+ offsetX = 12;
1423
1423
  offsetY = 0;
1424
1424
  break;
1425
1425
  case 'bottom':
1426
1426
  defaultPosition = { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' };
1427
1427
  offsetX = 0;
1428
- offsetY = 8;
1428
+ offsetY = 12;
1429
1429
  break;
1430
1430
  case 'top':
1431
1431
  defaultPosition = { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' };
1432
1432
  offsetX = 0;
1433
- offsetY = -8;
1433
+ offsetY = -12;
1434
1434
  break;
1435
1435
  case 'left':
1436
1436
  defaultPosition = { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' };
1437
- offsetX = -8;
1437
+ offsetX = -12;
1438
1438
  offsetY = 0;
1439
1439
  break;
1440
1440
  case 'top-left':
1441
1441
  defaultPosition = { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'bottom' };
1442
- offsetX = 8;
1443
- offsetY = -8;
1442
+ offsetX = 12;
1443
+ offsetY = -12;
1444
1444
  break;
1445
1445
  case 'bottom-left':
1446
1446
  defaultPosition = { originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'top' };
1447
- offsetX = 8;
1448
- offsetY = 8;
1447
+ offsetX = 12;
1448
+ offsetY = 12;
1449
1449
  break;
1450
1450
  case 'top-right':
1451
1451
  defaultPosition = { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'bottom' };
1452
- offsetX = -8;
1453
- offsetY = -8;
1452
+ offsetX = -12;
1453
+ offsetY = -12;
1454
1454
  break;
1455
1455
  case 'bottom-right':
1456
1456
  defaultPosition = { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'top' };
1457
- offsetX = -8;
1458
- offsetY = 8;
1457
+ offsetX = -12;
1458
+ offsetY = 12;
1459
1459
  break;
1460
1460
  default:
1461
1461
  break;
@@ -35186,7 +35186,6 @@ NovoRowChipsElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
35186
35186
  (typing)="onTyping($event)"
35187
35187
  (blur)="onTouched($event)"
35188
35188
  [selected]="items"
35189
- [overrideElement]="element"
35190
35189
  *ngIf="!maxlength || (maxlength && items.length < maxlength)"
35191
35190
  >
35192
35191
  </novo-picker>
@@ -35247,7 +35246,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
35247
35246
  (typing)="onTyping($event)"
35248
35247
  (blur)="onTouched($event)"
35249
35248
  [selected]="items"
35250
- [overrideElement]="element"
35251
35249
  *ngIf="!maxlength || (maxlength && items.length < maxlength)"
35252
35250
  >
35253
35251
  </novo-picker>
@@ -37847,7 +37845,7 @@ NovoDataTableCellHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
37847
37845
  class="filter-button"
37848
37846
  [class.filter-active]="filterActive"
37849
37847
  [tooltip]="labels.filters"
37850
- [tooltipPosition]="'left'"
37848
+ tooltipPosition="right"
37851
37849
  [attr.data-feature-id]="'novo-data-table-filter-' + this.id"
37852
37850
  (click)="focusInput()"
37853
37851
  >filter</novo-icon
@@ -38019,7 +38017,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
38019
38017
  class="filter-button"
38020
38018
  [class.filter-active]="filterActive"
38021
38019
  [tooltip]="labels.filters"
38022
- [tooltipPosition]="'left'"
38020
+ tooltipPosition="right"
38023
38021
  [attr.data-feature-id]="'novo-data-table-filter-' + this.id"
38024
38022
  (click)="focusInput()"
38025
38023
  >filter</novo-icon
@@ -43629,6 +43627,8 @@ class NovoFileInputElement extends NovoFileInputMixins {
43629
43627
  }
43630
43628
  writeValue(model) {
43631
43629
  this.model = model;
43630
+ // If model is cleared programmatically (E.g. form.patchValue({file: undefined})), empty file list.
43631
+ this.files = !model ? [] : this.files;
43632
43632
  }
43633
43633
  registerOnChange(fn) {
43634
43634
  this.onModelChange = fn;
@@ -43638,6 +43638,8 @@ class NovoFileInputElement extends NovoFileInputMixins {
43638
43638
  }
43639
43639
  check(event) {
43640
43640
  this.process(Array.from(event.target.files));
43641
+ // After processing file upload, clear input element value. Allows for delete and upload of same file.
43642
+ event.target.value = '';
43641
43643
  }
43642
43644
  validate(files) {
43643
43645
  let passedValidation = true;
@@ -43723,11 +43725,12 @@ class NovoFileInputElement extends NovoFileInputMixins {
43723
43725
  }
43724
43726
  }
43725
43727
  NovoFileInputElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NovoFileInputElement, deps: [{ token: i0.ElementRef }, { token: NovoLabelService }, { token: NovoDragulaService }, { token: ErrorStateMatcher }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
43726
- NovoFileInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: NovoFileInputElement, selector: "novo-file-input", inputs: { id: "id", tabindex: "tabindex", errorStateMatcher: "errorStateMatcher", multiple: "multiple", layoutOptions: "layoutOptions", value: "value", dataFeatureId: "dataFeatureId", name: "name", disabled: "disabled", required: "required", placeholder: "placeholder" }, outputs: { edit: "edit", save: "save", delete: "delete", upload: "upload" }, host: { properties: { "class.disabled": "this.disabled" } }, providers: [{ provide: NovoFieldControl, useExisting: NovoFileInputElement }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }, { propertyName: "fileOutput", first: true, predicate: ["fileOutput"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: `
43728
+ NovoFileInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: NovoFileInputElement, selector: "novo-file-input", inputs: { id: "id", tabindex: "tabindex", errorStateMatcher: "errorStateMatcher", multiple: "multiple", layoutOptions: "layoutOptions", value: "value", dataFeatureId: "dataFeatureId", name: "name", disabled: "disabled", required: "required", placeholder: "placeholder" }, outputs: { edit: "edit", save: "save", delete: "delete", upload: "upload" }, host: { properties: { "class.disabled": "this.disabled" } }, providers: [{ provide: NovoFieldControl, useExisting: NovoFileInputElement }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }, { propertyName: "fileOutput", first: true, predicate: ["fileOutput"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
43727
43729
  <div #container></div>
43728
43730
  <ng-template #fileInput>
43729
43731
  <div class="file-input-group" [class.disabled]="disabled" [class.active]="active">
43730
43732
  <input
43733
+ #inputElement
43731
43734
  *ngIf="!layoutOptions.customActions"
43732
43735
  type="file"
43733
43736
  [name]="name"
@@ -43738,6 +43741,7 @@ NovoFileInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
43738
43741
  [attr.data-feature-id]="dataFeatureId"
43739
43742
  />
43740
43743
  <input
43744
+ #inputElement
43741
43745
  *ngIf="layoutOptions.customActions"
43742
43746
  type="file"
43743
43747
  [name]="name"
@@ -43828,7 +43832,7 @@ NovoFileInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
43828
43832
  </div>
43829
43833
  </div>
43830
43834
  </ng-template>
43831
- `, isInline: true, components: [{ type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: NovoDragulaElement, selector: "[dragula]", inputs: ["dragula", "dragulaModel"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "decodeURI": DecodeURIPipe } });
43835
+ `, isInline: true, components: [{ type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: NovoDragulaElement, selector: "[dragula]", inputs: ["dragula", "dragulaModel"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "decodeURI": DecodeURIPipe } });
43832
43836
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NovoFileInputElement, decorators: [{
43833
43837
  type: Component,
43834
43838
  args: [{
@@ -43839,6 +43843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
43839
43843
  <ng-template #fileInput>
43840
43844
  <div class="file-input-group" [class.disabled]="disabled" [class.active]="active">
43841
43845
  <input
43846
+ #inputElement
43842
43847
  *ngIf="!layoutOptions.customActions"
43843
43848
  type="file"
43844
43849
  [name]="name"
@@ -43849,6 +43854,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
43849
43854
  [attr.data-feature-id]="dataFeatureId"
43850
43855
  />
43851
43856
  <input
43857
+ #inputElement
43852
43858
  *ngIf="layoutOptions.customActions"
43853
43859
  type="file"
43854
43860
  [name]="name"
@@ -43939,7 +43945,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
43939
43945
  </div>
43940
43946
  </div>
43941
43947
  </ng-template>
43942
- `,
43948
+ `,
43943
43949
  }]
43944
43950
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: NovoLabelService }, { type: NovoDragulaService }, { type: ErrorStateMatcher }, { type: i4.NgForm, decorators: [{
43945
43951
  type: Optional
@@ -43964,6 +43970,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
43964
43970
  }], container: [{
43965
43971
  type: ViewChild,
43966
43972
  args: ['container', { read: ViewContainerRef, static: true }]
43973
+ }], inputElement: [{
43974
+ type: ViewChild,
43975
+ args: ['inputElement']
43967
43976
  }], multiple: [{
43968
43977
  type: Input
43969
43978
  }], layoutOptions: [{