@ni/nimble-angular 17.5.15 → 17.6.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.
Files changed (49) hide show
  1. package/esm2020/table-column/anchor/nimble-table-column-anchor.directive.mjs +5 -49
  2. package/esm2020/table-column/date-text/nimble-table-column-date-text.directive.mjs +4 -49
  3. package/esm2020/table-column/enum-text/nimble-table-column-enum-text.directive.mjs +4 -49
  4. package/esm2020/table-column/icon/nimble-table-column-icon.directive.mjs +4 -49
  5. package/esm2020/table-column/mixins/fractional-width-column.mjs +42 -0
  6. package/esm2020/table-column/mixins/groupable-column.mjs +42 -0
  7. package/esm2020/table-column/nimble-table-column-base.directive.mjs +1 -1
  8. package/esm2020/table-column/number-text/nimble-table-column-number-text.directive.mjs +5 -49
  9. package/esm2020/table-column/public-api.mjs +3 -1
  10. package/esm2020/table-column/text/nimble-table-column-text.directive.mjs +6 -54
  11. package/fesm2015/ni-nimble-angular-table-column-anchor.mjs +4 -48
  12. package/fesm2015/ni-nimble-angular-table-column-anchor.mjs.map +1 -1
  13. package/fesm2015/ni-nimble-angular-table-column-date-text.mjs +3 -48
  14. package/fesm2015/ni-nimble-angular-table-column-date-text.mjs.map +1 -1
  15. package/fesm2015/ni-nimble-angular-table-column-enum-text.mjs +3 -48
  16. package/fesm2015/ni-nimble-angular-table-column-enum-text.mjs.map +1 -1
  17. package/fesm2015/ni-nimble-angular-table-column-icon.mjs +3 -48
  18. package/fesm2015/ni-nimble-angular-table-column-icon.mjs.map +1 -1
  19. package/fesm2015/ni-nimble-angular-table-column-number-text.mjs +4 -48
  20. package/fesm2015/ni-nimble-angular-table-column-number-text.mjs.map +1 -1
  21. package/fesm2015/ni-nimble-angular-table-column-text.mjs +5 -53
  22. package/fesm2015/ni-nimble-angular-table-column-text.mjs.map +1 -1
  23. package/fesm2015/ni-nimble-angular-table-column.mjs +79 -1
  24. package/fesm2015/ni-nimble-angular-table-column.mjs.map +1 -1
  25. package/fesm2020/ni-nimble-angular-table-column-anchor.mjs +4 -48
  26. package/fesm2020/ni-nimble-angular-table-column-anchor.mjs.map +1 -1
  27. package/fesm2020/ni-nimble-angular-table-column-date-text.mjs +3 -48
  28. package/fesm2020/ni-nimble-angular-table-column-date-text.mjs.map +1 -1
  29. package/fesm2020/ni-nimble-angular-table-column-enum-text.mjs +3 -48
  30. package/fesm2020/ni-nimble-angular-table-column-enum-text.mjs.map +1 -1
  31. package/fesm2020/ni-nimble-angular-table-column-icon.mjs +3 -48
  32. package/fesm2020/ni-nimble-angular-table-column-icon.mjs.map +1 -1
  33. package/fesm2020/ni-nimble-angular-table-column-number-text.mjs +4 -48
  34. package/fesm2020/ni-nimble-angular-table-column-number-text.mjs.map +1 -1
  35. package/fesm2020/ni-nimble-angular-table-column-text.mjs +5 -53
  36. package/fesm2020/ni-nimble-angular-table-column-text.mjs.map +1 -1
  37. package/fesm2020/ni-nimble-angular-table-column.mjs +79 -1
  38. package/fesm2020/ni-nimble-angular-table-column.mjs.map +1 -1
  39. package/package.json +1 -1
  40. package/table-column/anchor/nimble-table-column-anchor.directive.d.ts +40 -11
  41. package/table-column/date-text/nimble-table-column-date-text.directive.d.ts +39 -11
  42. package/table-column/enum-text/nimble-table-column-enum-text.directive.d.ts +39 -11
  43. package/table-column/icon/nimble-table-column-icon.directive.d.ts +39 -11
  44. package/table-column/mixins/fractional-width-column.d.ts +22 -0
  45. package/table-column/mixins/groupable-column.d.ts +22 -0
  46. package/table-column/nimble-table-column-base.directive.d.ts +4 -2
  47. package/table-column/number-text/nimble-table-column-number-text.directive.d.ts +40 -11
  48. package/table-column/public-api.d.ts +2 -0
  49. package/table-column/text/nimble-table-column-text.directive.d.ts +39 -13
@@ -0,0 +1,42 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
3
+ import * as i0 from "@angular/core";
4
+ // As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference
5
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
6
+ export function mixinGroupableColumnAPI(base) {
7
+ /**
8
+ * The Mixin that provides a concrete column directive with the API to allow grouping
9
+ * by the values in that column.
10
+ */
11
+ class GroupableColumnDirective extends base {
12
+ get groupIndex() {
13
+ return this.elementRef.nativeElement.groupIndex;
14
+ }
15
+ // Renaming because property should have camel casing, but attribute should not
16
+ // eslint-disable-next-line @angular-eslint/no-input-rename
17
+ set groupIndex(value) {
18
+ this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
19
+ }
20
+ get groupingDisabled() {
21
+ return this.elementRef.nativeElement.groupingDisabled;
22
+ }
23
+ // Renaming because property should have camel casing, but attribute should not
24
+ // eslint-disable-next-line @angular-eslint/no-input-rename
25
+ set groupingDisabled(value) {
26
+ this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
27
+ }
28
+ }
29
+ GroupableColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupableColumnDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
+ GroupableColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: GroupableColumnDirective, inputs: { groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupableColumnDirective, decorators: [{
32
+ type: Directive
33
+ }], propDecorators: { groupIndex: [{
34
+ type: Input,
35
+ args: ['group-index']
36
+ }], groupingDisabled: [{
37
+ type: Input,
38
+ args: ['grouping-disabled']
39
+ }] } });
40
+ return GroupableColumnDirective;
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBhYmxlLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9taXhpbnMvZ3JvdXBhYmxlLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQW1ELGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBWXJKLDRIQUE0SDtBQUM1SCwrSEFBK0g7QUFDL0gsTUFBTSxVQUFVLHVCQUF1QixDQUFxRSxJQUFXO0lBQ25IOzs7T0FHRztJQUNILE1BQ2Usd0JBQXlCLFNBQVEsSUFBSTtRQUNoRCxJQUFXLFVBQVU7WUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDcEQsQ0FBQztRQUVELCtFQUErRTtRQUMvRSwyREFBMkQ7UUFDM0QsSUFBaUMsVUFBVSxDQUFDLEtBQWdEO1lBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFFRCxJQUFXLGdCQUFnQjtZQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBQzFELENBQUM7UUFFRCwrRUFBK0U7UUFDL0UsMkRBQTJEO1FBQzNELElBQXVDLGdCQUFnQixDQUFDLEtBQThCO1lBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0csQ0FBQzs7eUhBbkJVLHdCQUF3Qjs2R0FBeEIsd0JBQXdCOytGQUF4Qix3QkFBd0I7c0JBRHRDLFNBQVM7a0NBUTJCLFVBQVU7MEJBQTFDLEtBQUs7MkJBQUMsYUFBYTtvQkFVbUIsZ0JBQWdCOzBCQUF0RCxLQUFLOzJCQUFDLG1CQUFtQjs7SUFJOUIsT0FBTyx3QkFBd0IsQ0FBQztDQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlLCBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlLCB0b0Jvb2xlYW5Qcm9wZXJ0eSwgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQG5pL25pbWJsZS1hbmd1bGFyL2ludGVybmFsLXV0aWxpdGllcyc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi9iYXNlJztcbmltcG9ydCB0eXBlIHsgTmltYmxlVGFibGVDb2x1bW5CYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmltYmxlLXRhYmxlLWNvbHVtbi1iYXNlLmRpcmVjdGl2ZSc7XG5cbnR5cGUgR3JvdXBhYmxlQ29sdW1uID0gVGFibGVDb2x1bW4gJiB7XG4gICAgZ3JvdXBpbmdEaXNhYmxlZDogYm9vbGVhbixcbiAgICBncm91cEluZGV4PzogbnVtYmVyIHwgbnVsbFxufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbnR5cGUgR3JvdXBhYmxlQ29sdW1uRGlyZWN0aXZlQ29uc3RydWN0b3I8VCBleHRlbmRzIEdyb3VwYWJsZUNvbHVtbj4gPSBhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmU8VD47XG5cbi8vIEFzIHRoZSByZXR1cm5lZCBjbGFzcyBpcyBpbnRlcm5hbCB0byB0aGUgZnVuY3Rpb24sIHdlIGNhbid0IHdyaXRlIGEgc2lnbmF0dXJlIHRoYXQgdXNlcyBpcyBkaXJlY3RseSwgc28gcmVseSBvbiBpbmZlcmVuY2Vcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzLCBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcbmV4cG9ydCBmdW5jdGlvbiBtaXhpbkdyb3VwYWJsZUNvbHVtbkFQSTxUQmFzZSBleHRlbmRzIEdyb3VwYWJsZUNvbHVtbkRpcmVjdGl2ZUNvbnN0cnVjdG9yPEdyb3VwYWJsZUNvbHVtbj4+KGJhc2U6IFRCYXNlKSB7XG4gICAgLyoqXG4gICAgICogVGhlIE1peGluIHRoYXQgcHJvdmlkZXMgYSBjb25jcmV0ZSBjb2x1bW4gZGlyZWN0aXZlIHdpdGggdGhlIEFQSSB0byBhbGxvdyBncm91cGluZ1xuICAgICAqIGJ5IHRoZSB2YWx1ZXMgaW4gdGhhdCBjb2x1bW4uXG4gICAgICovXG4gICAgQERpcmVjdGl2ZSgpXG4gICAgYWJzdHJhY3QgY2xhc3MgR3JvdXBhYmxlQ29sdW1uRGlyZWN0aXZlIGV4dGVuZHMgYmFzZSB7XG4gICAgICAgIHB1YmxpYyBnZXQgZ3JvdXBJbmRleCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ncm91cEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgICAgICBASW5wdXQoJ2dyb3VwLWluZGV4JykgcHVibGljIHNldCBncm91cEluZGV4KHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyb3VwSW5kZXgnLCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkodmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBnZXQgZ3JvdXBpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ncm91cGluZ0Rpc2FibGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgICAgICBASW5wdXQoJ2dyb3VwaW5nLWRpc2FibGVkJykgcHVibGljIHNldCBncm91cGluZ0Rpc2FibGVkKHZhbHVlOiBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyb3VwaW5nRGlzYWJsZWQnLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBHcm91cGFibGVDb2x1bW5EaXJlY3RpdmU7XG59Il19
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
89
89
  type: Input,
90
90
  args: ['sort-index']
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9uaW1ibGUtdGFibGUtY29sdW1uLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBbUQsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFckosT0FBTyxFQUFFLHdCQUF3QixFQUFtRCxDQUFDO0FBRXJGOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQTZEdkMsWUFBc0MsUUFBbUIsRUFBcUIsVUFBeUI7UUFBakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFxQixlQUFVLEdBQVYsVUFBVSxDQUFlO0lBQUcsQ0FBQztJQTVEM0csSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBK0IsUUFBUSxDQUFDLEtBQXlCO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO0lBQ3hELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXNDLGNBQWMsQ0FBQyxLQUF5QjtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO0lBQ3pELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXVDLGVBQWUsQ0FBQyxLQUF5QjtRQUM1RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3RELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQW1DLFlBQVksQ0FBQyxLQUE4QjtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQW9DLGFBQWEsQ0FBQyxLQUErQjtRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFnQyxTQUFTLENBQUMsS0FBZ0Q7UUFDdEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUlNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQzs7MkhBckVRLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7eUhBUXlCLFFBQVE7c0JBQXRDLEtBQUs7dUJBQUMsV0FBVztnQkFVb0IsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBVWMsZUFBZTtzQkFBckQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBVVMsWUFBWTtzQkFBOUMsS0FBSzt1QkFBQyxlQUFlO2dCQVVjLGFBQWE7c0JBQWhELEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVVTLFNBQVM7c0JBQXhDLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYmFzZSc7XG5pbXBvcnQgdHlwZSB7IERlbGVnYXRlZEV2ZW50RXZlbnREZXRhaWxzLCBUYWJsZUNvbHVtblZhbGlkaXR5IH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi9iYXNlL3R5cGVzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbiB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS90eXBlcyc7XG5pbXBvcnQgeyBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSwgTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSwgdG9Cb29sZWFuUHJvcGVydHksIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci9pbnRlcm5hbC11dGlsaXRpZXMnO1xuXG5leHBvcnQgeyBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24sIERlbGVnYXRlZEV2ZW50RXZlbnREZXRhaWxzLCBUYWJsZUNvbHVtblZhbGlkaXR5IH07XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdGFibGUgY29sdW1uIGRpcmVjdGl2ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZTxUIGV4dGVuZHMgVGFibGVDb2x1bW4+IHtcbiAgICBwdWJsaWMgZ2V0IGNvbHVtbklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb2x1bW5JZDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2NvbHVtbi1pZCcpIHB1YmxpYyBzZXQgY29sdW1uSWQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY29sdW1uSWQnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3Rpb25NZW51U2xvdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWN0aW9uTWVudVNsb3Q7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdhY3Rpb24tbWVudS1zbG90JykgcHVibGljIHNldCBhY3Rpb25NZW51U2xvdCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3Rpb25NZW51U2xvdCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbk1lbnVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWN0aW9uTWVudUxhYmVsO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnYWN0aW9uLW1lbnUtbGFiZWwnKSBwdWJsaWMgc2V0IGFjdGlvbk1lbnVMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3Rpb25NZW51TGFiZWwnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5IaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb2x1bW5IaWRkZW47XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjb2x1bW4taGlkZGVuJykgcHVibGljIHNldCBjb2x1bW5IaWRkZW4odmFsdWU6IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjb2x1bW5IaWRkZW4nLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc29ydERpcmVjdGlvbigpOiBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc29ydERpcmVjdGlvbjtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ3NvcnQtZGlyZWN0aW9uJykgcHVibGljIHNldCBzb3J0RGlyZWN0aW9uKHZhbHVlOiBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NvcnREaXJlY3Rpb24nLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzb3J0SW5kZXgoKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zb3J0SW5kZXg7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdzb3J0LWluZGV4JykgcHVibGljIHNldCBzb3J0SW5kZXgodmFsdWU6IE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzb3J0SW5kZXgnLCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFQ+KSB7fVxuXG4gICAgcHVibGljIGNoZWNrVmFsaWRpdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBUYWJsZUNvbHVtblZhbGlkaXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5O1xuICAgIH1cbn0iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9uaW1ibGUtdGFibGUtY29sdW1uLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBbUQsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFckosT0FBTyxFQUFFLHdCQUF3QixFQUFtRCxDQUFDO0FBRXJGOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQWtFdkMsWUFBbUIsUUFBbUIsRUFBRSxVQUF5QjtRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBcEVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQStCLFFBQVEsQ0FBQyxLQUF5QjtRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFzQyxjQUFjLENBQUMsS0FBeUI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUF1QyxlQUFlLENBQUMsS0FBeUI7UUFDNUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN0RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFtQyxZQUFZLENBQUMsS0FBOEI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUN2RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFvQyxhQUFhLENBQUMsS0FBK0I7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBZ0MsU0FBUyxDQUFDLEtBQWdEO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFZTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7OzJIQTdFUSw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO3lIQVF5QixRQUFRO3NCQUF0QyxLQUFLO3VCQUFDLFdBQVc7Z0JBVW9CLGNBQWM7c0JBQW5ELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVjLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVTLFlBQVk7c0JBQTlDLEtBQUs7dUJBQUMsZUFBZTtnQkFVYyxhQUFhO3NCQUFoRCxLQUFLO3VCQUFDLGdCQUFnQjtnQkFVUyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGFibGVDb2x1bW4gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBEZWxlZ2F0ZWRFdmVudEV2ZW50RGV0YWlscywgVGFibGVDb2x1bW5WYWxpZGl0eSB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYmFzZS90eXBlcyc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUvdHlwZXMnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUsIE51bWJlclZhbHVlT3JBdHRyaWJ1dGUsIHRvQm9vbGVhblByb3BlcnR5LCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvaW50ZXJuYWwtdXRpbGl0aWVzJztcblxuZXhwb3J0IHsgVGFibGVDb2x1bW5Tb3J0RGlyZWN0aW9uLCBEZWxlZ2F0ZWRFdmVudEV2ZW50RGV0YWlscywgVGFibGVDb2x1bW5WYWxpZGl0eSB9O1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIHRhYmxlIGNvbHVtbiBkaXJlY3RpdmVzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmU8VCBleHRlbmRzIFRhYmxlQ29sdW1uPiB7XG4gICAgcHVibGljIGdldCBjb2x1bW5JZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29sdW1uSWQ7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjb2x1bW4taWQnKSBwdWJsaWMgc2V0IGNvbHVtbklkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NvbHVtbklkJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aW9uTWVudVNsb3QoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFjdGlvbk1lbnVTbG90O1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnYWN0aW9uLW1lbnUtc2xvdCcpIHB1YmxpYyBzZXQgYWN0aW9uTWVudVNsb3QodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYWN0aW9uTWVudVNsb3QnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3Rpb25NZW51TGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFjdGlvbk1lbnVMYWJlbDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2FjdGlvbi1tZW51LWxhYmVsJykgcHVibGljIHNldCBhY3Rpb25NZW51TGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYWN0aW9uTWVudUxhYmVsJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29sdW1uSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29sdW1uSGlkZGVuO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY29sdW1uLWhpZGRlbicpIHB1YmxpYyBzZXQgY29sdW1uSGlkZGVuKHZhbHVlOiBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY29sdW1uSGlkZGVuJywgdG9Cb29sZWFuUHJvcGVydHkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNvcnREaXJlY3Rpb24oKTogVGFibGVDb2x1bW5Tb3J0RGlyZWN0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNvcnREaXJlY3Rpb247XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdzb3J0LWRpcmVjdGlvbicpIHB1YmxpYyBzZXQgc29ydERpcmVjdGlvbih2YWx1ZTogVGFibGVDb2x1bW5Tb3J0RGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzb3J0RGlyZWN0aW9uJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc29ydEluZGV4KCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc29ydEluZGV4O1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnc29ydC1pbmRleCcpIHB1YmxpYyBzZXQgc29ydEluZGV4KHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc29ydEluZGV4JywgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxUPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFQ+KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoZWNrVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkaXR5KCk6IFRhYmxlQ29sdW1uVmFsaWRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsaWRpdHk7XG4gICAgfVxufSJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Directive, Input } from '@angular/core';
2
- import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
3
- import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
2
+ import { toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
3
+ import { NimbleTableColumnBaseDirective, mixinFractionalWidthColumnAPI, mixinGroupableColumnAPI } from '@ni/nimble-angular/table-column';
4
4
  import { tableColumnNumberTextTag } from '@ni/nimble-components/dist/esm/table-column/number-text';
5
5
  import { NumberTextAlignment, NumberTextFormat } from '@ni/nimble-components/dist/esm/table-column/number-text/types';
6
6
  import * as i0 from "@angular/core";
@@ -8,7 +8,7 @@ export { tableColumnNumberTextTag, NumberTextFormat, NumberTextAlignment };
8
8
  /**
9
9
  * Directive to provide Angular integration for the table column element for number text.
10
10
  */
11
- export class NimbleTableColumnNumberTextDirective extends NimbleTableColumnBaseDirective {
11
+ export class NimbleTableColumnNumberTextDirective extends mixinFractionalWidthColumnAPI(mixinGroupableColumnAPI((NimbleTableColumnBaseDirective))) {
12
12
  constructor(renderer, elementRef) {
13
13
  super(renderer, elementRef);
14
14
  }
@@ -40,41 +40,9 @@ export class NimbleTableColumnNumberTextDirective extends NimbleTableColumnBaseD
40
40
  set decimalDigits(value) {
41
41
  this.renderer.setProperty(this.elementRef.nativeElement, 'decimalDigits', toNullableNumberProperty(value));
42
42
  }
43
- get fractionalWidth() {
44
- return this.elementRef.nativeElement.fractionalWidth;
45
- }
46
- // Renaming because property should have camel casing, but attribute should not
47
- // eslint-disable-next-line @angular-eslint/no-input-rename
48
- set fractionalWidth(value) {
49
- this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));
50
- }
51
- get minPixelWidth() {
52
- return this.elementRef.nativeElement.minPixelWidth;
53
- }
54
- // Renaming because property should have camel casing, but attribute should not
55
- // eslint-disable-next-line @angular-eslint/no-input-rename
56
- set minPixelWidth(value) {
57
- this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));
58
- }
59
- get groupIndex() {
60
- return this.elementRef.nativeElement.groupIndex;
61
- }
62
- // Renaming because property should have camel casing, but attribute should not
63
- // eslint-disable-next-line @angular-eslint/no-input-rename
64
- set groupIndex(value) {
65
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
66
- }
67
- get groupingDisabled() {
68
- return this.elementRef.nativeElement.groupingDisabled;
69
- }
70
- // Renaming because property should have camel casing, but attribute should not
71
- // eslint-disable-next-line @angular-eslint/no-input-rename
72
- set groupingDisabled(value) {
73
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
74
- }
75
43
  }
76
44
  NimbleTableColumnNumberTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnNumberTextDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
77
- NimbleTableColumnNumberTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnNumberTextDirective, selector: "nimble-table-column-number-text", inputs: { fieldName: ["field-name", "fieldName"], format: "format", alignment: "alignment", decimalDigits: ["decimal-digits", "decimalDigits"], fractionalWidth: ["fractional-width", "fractionalWidth"], minPixelWidth: ["min-pixel-width", "minPixelWidth"], groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
45
+ NimbleTableColumnNumberTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnNumberTextDirective, selector: "nimble-table-column-number-text", inputs: { fieldName: ["field-name", "fieldName"], format: "format", alignment: "alignment", decimalDigits: ["decimal-digits", "decimalDigits"] }, usesInheritance: true, ngImport: i0 });
78
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnNumberTextDirective, decorators: [{
79
47
  type: Directive,
80
48
  args: [{
@@ -90,17 +58,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
90
58
  }], decimalDigits: [{
91
59
  type: Input,
92
60
  args: ['decimal-digits']
93
- }], fractionalWidth: [{
94
- type: Input,
95
- args: ['fractional-width']
96
- }], minPixelWidth: [{
97
- type: Input,
98
- args: ['min-pixel-width']
99
- }], groupIndex: [{
100
- type: Input,
101
- args: ['group-index']
102
- }], groupingDisabled: [{
103
- type: Input,
104
- args: ['grouping-disabled']
105
61
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1udW1iZXItdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQvbmltYmxlLXRhYmxlLWNvbHVtbi1udW1iZXItdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFtRCxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JKLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sRUFBOEIsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMvSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFHdEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUM7QUFFM0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsOEJBQXFEO0lBNkUzRyxZQUFtQixRQUFtQixFQUFFLFVBQTZDO1FBQ2pGLEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQTlFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBZ0MsU0FBUyxDQUFDLEtBQXlCO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJ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WTtnQkFRQyxNQUFNO3NCQUF6QixLQUFLO2dCQVFjLFNBQVM7c0JBQTVCLEtBQUs7Z0JBVThCLGFBQWE7c0JBQWhELEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVVlLGVBQWU7c0JBQXBELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVZLGFBQWE7c0JBQWpELEtBQUs7dUJBQUMsaUJBQWlCO2dCQVVTLFVBQVU7c0JBQTFDLEtBQUs7dUJBQUMsYUFBYTtnQkFVbUIsZ0JBQWdCO3NCQUF0RCxLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUsIE51bWJlclZhbHVlT3JBdHRyaWJ1dGUsIHRvQm9vbGVhblByb3BlcnR5LCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvaW50ZXJuYWwtdXRpbGl0aWVzJztcbmltcG9ydCB7IE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgdHlwZSBUYWJsZUNvbHVtbk51bWJlclRleHQsIHRhYmxlQ29sdW1uTnVtYmVyVGV4dFRhZyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQnO1xuaW1wb3J0IHsgTnVtYmVyVGV4dEFsaWdubWVudCwgTnVtYmVyVGV4dEZvcm1hdCB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uTnVtYmVyVGV4dCB9O1xuZXhwb3J0IHsgdGFibGVDb2x1bW5OdW1iZXJUZXh0VGFnLCBOdW1iZXJUZXh0Rm9ybWF0LCBOdW1iZXJUZXh0QWxpZ25tZW50IH07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIHRhYmxlIGNvbHVtbiBlbGVtZW50IGZvciBudW1iZXIgdGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUtY29sdW1uLW51bWJlci10ZXh0J1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZUNvbHVtbk51bWJlclRleHREaXJlY3RpdmUgZXh0ZW5kcyBOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmU8VGFibGVDb2x1bW5OdW1iZXJUZXh0PiB7XG4gICAgcHVibGljIGdldCBmaWVsZE5hbWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpZWxkTmFtZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2ZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IGZpZWxkTmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmaWVsZE5hbWUnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb3JtYXQoKTogTnVtYmVyVGV4dEZvcm1hdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb3JtYXQ7XG4gICAgfVxuXG4gICAgQElucHV0KCkgcHVibGljIHNldCBmb3JtYXQodmFsdWU6IE51bWJlclRleHRGb3JtYXQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Zvcm1hdCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFsaWdubWVudCgpOiBOdW1iZXJUZXh0QWxpZ25tZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFsaWdubWVudDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGFsaWdubWVudCh2YWx1ZTogTnVtYmVyVGV4dEFsaWdubWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYWxpZ25tZW50JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVjaW1hbERpZ2l0cygpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRlY2ltYWxEaWdpdHM7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdkZWNpbWFsLWRpZ2l0cycpIHB1YmxpYyBzZXQgZGVjaW1hbERpZ2l0cyh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RlY2ltYWxEaWdpdHMnLCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZyYWN0aW9uYWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZyYWN0aW9uYWxXaWR0aDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2ZyYWN0aW9uYWwtd2lkdGgnKSBwdWJsaWMgc2V0IGZyYWN0aW9uYWxXaWR0aCh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZyYWN0aW9uYWxXaWR0aCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluUGl4ZWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pblBpeGVsV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdtaW4tcGl4ZWwtd2lkdGgnKSBwdWJsaWMgc2V0IG1pblBpeGVsV2lkdGgodmFsdWU6IE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtaW5QaXhlbFdpZHRoJywgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBncm91cEluZGV4KCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ3JvdXBJbmRleDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2dyb3VwLWluZGV4JykgcHVibGljIHNldCBncm91cEluZGV4KHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZ3JvdXBJbmRleCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ3JvdXBpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmdyb3VwaW5nRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdncm91cGluZy1kaXNhYmxlZCcpIHB1YmxpYyBzZXQgZ3JvdXBpbmdEaXNhYmxlZCh2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyb3VwaW5nRGlzYWJsZWQnLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFRhYmxlQ29sdW1uTnVtYmVyVGV4dD4pIHtcbiAgICAgICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xuICAgIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1udW1iZXItdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQvbmltYmxlLXRhYmxlLWNvbHVtbi1udW1iZXItdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUEwQix3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pJLE9BQU8sRUFBOEIsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMvSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFHdEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUM7QUFFM0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsQ0FBQSw4QkFBcUQsQ0FBQSxDQUFDLENBQUM7SUFxQ25LLFlBQW1CLFFBQW1CLEVBQUUsVUFBNkM7UUFDakYsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBdENELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFnQyxTQUFTLENBQUMsS0FBeUI7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBb0IsTUFBTSxDQUFDLEtBQXVCO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFvQixTQUFTLENBQUMsS0FBMEI7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBb0MsYUFBYSxDQUFDLEtBQWdEO1FBQzlGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7O2lJQW5DUSxvQ0FBb0M7cUhBQXBDLG9DQUFvQzsyRkFBcEMsb0NBQW9DO2tCQUhoRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQ0FBaUM7aUJBQzlDO3lIQVFtQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLFlBQVk7Z0JBUUMsTUFBTTtzQkFBekIsS0FBSztnQkFRYyxTQUFTO3NCQUE1QixLQUFLO2dCQVU4QixhQUFhO3NCQUFoRCxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSwgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQG5pL25pbWJsZS1hbmd1bGFyL2ludGVybmFsLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmUsIG1peGluRnJhY3Rpb25hbFdpZHRoQ29sdW1uQVBJLCBtaXhpbkdyb3VwYWJsZUNvbHVtbkFQSSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgdHlwZSBUYWJsZUNvbHVtbk51bWJlclRleHQsIHRhYmxlQ29sdW1uTnVtYmVyVGV4dFRhZyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQnO1xuaW1wb3J0IHsgTnVtYmVyVGV4dEFsaWdubWVudCwgTnVtYmVyVGV4dEZvcm1hdCB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vbnVtYmVyLXRleHQvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uTnVtYmVyVGV4dCB9O1xuZXhwb3J0IHsgdGFibGVDb2x1bW5OdW1iZXJUZXh0VGFnLCBOdW1iZXJUZXh0Rm9ybWF0LCBOdW1iZXJUZXh0QWxpZ25tZW50IH07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIHRhYmxlIGNvbHVtbiBlbGVtZW50IGZvciBudW1iZXIgdGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUtY29sdW1uLW51bWJlci10ZXh0J1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZUNvbHVtbk51bWJlclRleHREaXJlY3RpdmUgZXh0ZW5kcyBtaXhpbkZyYWN0aW9uYWxXaWR0aENvbHVtbkFQSShtaXhpbkdyb3VwYWJsZUNvbHVtbkFQSShOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmU8VGFibGVDb2x1bW5OdW1iZXJUZXh0PikpIHtcbiAgICBwdWJsaWMgZ2V0IGZpZWxkTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnZmllbGQtbmFtZScpIHB1YmxpYyBzZXQgZmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvcm1hdCgpOiBOdW1iZXJUZXh0Rm9ybWF0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvcm1hdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGZvcm1hdCh2YWx1ZTogTnVtYmVyVGV4dEZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9ybWF0JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWxpZ25tZW50KCk6IE51bWJlclRleHRBbGlnbm1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWxpZ25tZW50O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgYWxpZ25tZW50KHZhbHVlOiBOdW1iZXJUZXh0QWxpZ25tZW50KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhbGlnbm1lbnQnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZWNpbWFsRGlnaXRzKCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGVjaW1hbERpZ2l0cztcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2RlY2ltYWwtZGlnaXRzJykgcHVibGljIHNldCBkZWNpbWFsRGlnaXRzKHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGVjaW1hbERpZ2l0cycsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFRhYmxlQ29sdW1uTnVtYmVyVGV4dD4pIHtcbiAgICAgICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,4 @@
1
1
  export * from './nimble-table-column-base.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25pbWJsZS10YWJsZS1jb2x1bW4tYmFzZS5kaXJlY3RpdmUnOyJdfQ==
2
+ export * from './mixins/groupable-column';
3
+ export * from './mixins/fractional-width-column';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uaW1ibGUtdGFibGUtY29sdW1uLWJhc2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbWl4aW5zL2dyb3VwYWJsZS1jb2x1bW4nO1xuZXhwb3J0ICogZnJvbSAnLi9taXhpbnMvZnJhY3Rpb25hbC13aWR0aC1jb2x1bW4nOyJdfQ==
@@ -1,16 +1,12 @@
1
1
  import { Directive, Input } from '@angular/core';
2
2
  import { tableColumnTextTag } from '@ni/nimble-components/dist/esm/table-column/text';
3
- import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
4
- import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
3
+ import { NimbleTableColumnBaseDirective, mixinGroupableColumnAPI, mixinFractionalWidthColumnAPI } from '@ni/nimble-angular/table-column';
5
4
  import * as i0 from "@angular/core";
6
5
  export { tableColumnTextTag };
7
6
  /**
8
7
  * Directive to provide Angular integration for the table column element for text.
9
8
  */
10
- export class NimbleTableColumnTextDirective extends NimbleTableColumnBaseDirective {
11
- constructor(renderer, elementRef) {
12
- super(renderer, elementRef);
13
- }
9
+ export class NimbleTableColumnTextDirective extends mixinFractionalWidthColumnAPI(mixinGroupableColumnAPI((NimbleTableColumnBaseDirective))) {
14
10
  get fieldName() {
15
11
  return this.elementRef.nativeElement.fieldName;
16
12
  }
@@ -19,60 +15,16 @@ export class NimbleTableColumnTextDirective extends NimbleTableColumnBaseDirecti
19
15
  set fieldName(value) {
20
16
  this.renderer.setProperty(this.elementRef.nativeElement, 'fieldName', value);
21
17
  }
22
- get fractionalWidth() {
23
- return this.elementRef.nativeElement.fractionalWidth;
24
- }
25
- // Renaming because property should have camel casing, but attribute should not
26
- // eslint-disable-next-line @angular-eslint/no-input-rename
27
- set fractionalWidth(value) {
28
- this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));
29
- }
30
- get minPixelWidth() {
31
- return this.elementRef.nativeElement.minPixelWidth;
32
- }
33
- // Renaming because property should have camel casing, but attribute should not
34
- // eslint-disable-next-line @angular-eslint/no-input-rename
35
- set minPixelWidth(value) {
36
- this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));
37
- }
38
- get groupIndex() {
39
- return this.elementRef.nativeElement.groupIndex;
40
- }
41
- // Renaming because property should have camel casing, but attribute should not
42
- // eslint-disable-next-line @angular-eslint/no-input-rename
43
- set groupIndex(value) {
44
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
45
- }
46
- get groupingDisabled() {
47
- return this.elementRef.nativeElement.groupingDisabled;
48
- }
49
- // Renaming because property should have camel casing, but attribute should not
50
- // eslint-disable-next-line @angular-eslint/no-input-rename
51
- set groupingDisabled(value) {
52
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
53
- }
54
18
  }
55
- NimbleTableColumnTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnTextDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
56
- NimbleTableColumnTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnTextDirective, selector: "nimble-table-column-text", inputs: { fieldName: ["field-name", "fieldName"], fractionalWidth: ["fractional-width", "fractionalWidth"], minPixelWidth: ["min-pixel-width", "minPixelWidth"], groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
19
+ NimbleTableColumnTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnTextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
20
+ NimbleTableColumnTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnTextDirective, selector: "nimble-table-column-text", inputs: { fieldName: ["field-name", "fieldName"] }, usesInheritance: true, ngImport: i0 });
57
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnTextDirective, decorators: [{
58
22
  type: Directive,
59
23
  args: [{
60
24
  selector: 'nimble-table-column-text'
61
25
  }]
62
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { fieldName: [{
26
+ }], propDecorators: { fieldName: [{
63
27
  type: Input,
64
28
  args: ['field-name']
65
- }], fractionalWidth: [{
66
- type: Input,
67
- args: ['fractional-width']
68
- }], minPixelWidth: [{
69
- type: Input,
70
- args: ['min-pixel-width']
71
- }], groupIndex: [{
72
- type: Input,
73
- args: ['group-index']
74
- }], groupingDisabled: [{
75
- type: Input,
76
- args: ['grouping-disabled']
77
29
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi90ZXh0L25pbWJsZS10YWJsZS1jb2x1bW4tdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVHLE9BQU8sRUFBbUQsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNySixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7QUFFOUI7O0dBRUc7QUFJSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsOEJBQStDO0lBbUQvRixZQUFtQixRQUFtQixFQUFFLFVBQXVDO1FBQzNFLEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQXBERCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBZ0MsU0FBUyxDQUFDLEtBQXlCO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO0lBQ3pELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXNDLGVBQWUsQ0FBQyxLQUFnRDtRQUNsRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBcUMsYUFBYSxDQUFDLEtBQWdEO1FBQy9GLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDcEQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBaUMsVUFBVSxDQUFDLEtBQWdEO1FBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXVDLGdCQUFnQixDQUFDLEtBQThCO1FBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQzs7MkhBakRRLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtpQkFDdkM7eUhBUW1DLFNBQVM7c0JBQXhDLEtBQUs7dUJBQUMsWUFBWTtnQkFVbUIsZUFBZTtzQkFBcEQsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBVVksYUFBYTtzQkFBakQsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBVVMsVUFBVTtzQkFBMUMsS0FBSzt1QkFBQyxhQUFhO2dCQVVtQixnQkFBZ0I7c0JBQXRELEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFRhYmxlQ29sdW1uVGV4dCwgdGFibGVDb2x1bW5UZXh0VGFnIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi90ZXh0JztcbmltcG9ydCB7IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlLCBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlLCB0b0Jvb2xlYW5Qcm9wZXJ0eSwgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQG5pL25pbWJsZS1hbmd1bGFyL2ludGVybmFsLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmUgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvdGFibGUtY29sdW1uJztcblxuZXhwb3J0IHR5cGUgeyBUYWJsZUNvbHVtblRleHQgfTtcbmV4cG9ydCB7IHRhYmxlQ29sdW1uVGV4dFRhZyB9O1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIEFuZ3VsYXIgaW50ZWdyYXRpb24gZm9yIHRoZSB0YWJsZSBjb2x1bW4gZWxlbWVudCBmb3IgdGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUtY29sdW1uLXRleHQnXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uVGV4dERpcmVjdGl2ZSBleHRlbmRzIE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZTxUYWJsZUNvbHVtblRleHQ+IHtcbiAgICBwdWJsaWMgZ2V0IGZpZWxkTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnZmllbGQtbmFtZScpIHB1YmxpYyBzZXQgZmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZyYWN0aW9uYWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZyYWN0aW9uYWxXaWR0aDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2ZyYWN0aW9uYWwtd2lkdGgnKSBwdWJsaWMgc2V0IGZyYWN0aW9uYWxXaWR0aCh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZyYWN0aW9uYWxXaWR0aCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluUGl4ZWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pblBpeGVsV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdtaW4tcGl4ZWwtd2lkdGgnKSBwdWJsaWMgc2V0IG1pblBpeGVsV2lkdGgodmFsdWU6IE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtaW5QaXhlbFdpZHRoJywgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBncm91cEluZGV4KCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ3JvdXBJbmRleDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2dyb3VwLWluZGV4JykgcHVibGljIHNldCBncm91cEluZGV4KHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZ3JvdXBJbmRleCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ3JvdXBpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmdyb3VwaW5nRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdncm91cGluZy1kaXNhYmxlZCcpIHB1YmxpYyBzZXQgZ3JvdXBpbmdEaXNhYmxlZCh2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyb3VwaW5nRGlzYWJsZWQnLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFRhYmxlQ29sdW1uVGV4dD4pIHtcbiAgICAgICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xuICAgIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi90ZXh0L25pbWJsZS10YWJsZS1jb2x1bW4tdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUd6SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztBQUU5Qjs7R0FFRztBQUlILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBLDhCQUErQyxDQUFBLENBQUMsQ0FBQztJQUN2SixJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBZ0MsU0FBUyxDQUFDLEtBQXlCO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDOzsySEFUUSw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOzhCQVFtQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFRhYmxlQ29sdW1uVGV4dCwgdGFibGVDb2x1bW5UZXh0VGFnIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi90ZXh0JztcbmltcG9ydCB7IE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZSwgbWl4aW5Hcm91cGFibGVDb2x1bW5BUEksIG1peGluRnJhY3Rpb25hbFdpZHRoQ29sdW1uQVBJIH0gZnJvbSAnQG5pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCB0eXBlIHsgVGFibGVDb2x1bW5UZXh0IH07XG5leHBvcnQgeyB0YWJsZUNvbHVtblRleHRUYWcgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgdGFibGUgY29sdW1uIGVsZW1lbnQgZm9yIHRleHQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlLWNvbHVtbi10ZXh0J1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZUNvbHVtblRleHREaXJlY3RpdmUgZXh0ZW5kcyBtaXhpbkZyYWN0aW9uYWxXaWR0aENvbHVtbkFQSShtaXhpbkdyb3VwYWJsZUNvbHVtbkFQSShOaW1ibGVUYWJsZUNvbHVtbkJhc2VEaXJlY3RpdmU8VGFibGVDb2x1bW5UZXh0PikpIHtcbiAgICBwdWJsaWMgZ2V0IGZpZWxkTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnZmllbGQtbmFtZScpIHB1YmxpYyBzZXQgZmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, Input, HostListener, NgModule } from '@angular/core';
3
3
  export { tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';
4
4
  export { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';
5
- import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
6
- import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
5
+ import { toBooleanProperty } from '@ni/nimble-angular/internal-utilities';
6
+ import { mixinFractionalWidthColumnAPI, mixinGroupableColumnAPI, NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
7
7
  import { CommonModule } from '@angular/common';
8
8
 
9
9
  /**
@@ -57,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
57
57
  /**
58
58
  * Directive to provide Angular integration for the table column element for links.
59
59
  */
60
- class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective {
60
+ class NimbleTableColumnAnchorDirective extends mixinFractionalWidthColumnAPI(mixinGroupableColumnAPI((NimbleTableColumnBaseDirective))) {
61
61
  constructor(renderer, elementRef) {
62
62
  super(renderer, elementRef);
63
63
  }
@@ -133,41 +133,9 @@ class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective {
133
133
  set download(value) {
134
134
  this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);
135
135
  }
136
- get fractionalWidth() {
137
- return this.elementRef.nativeElement.fractionalWidth;
138
- }
139
- // Renaming because property should have camel casing, but attribute should not
140
- // eslint-disable-next-line @angular-eslint/no-input-rename
141
- set fractionalWidth(value) {
142
- this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));
143
- }
144
- get minPixelWidth() {
145
- return this.elementRef.nativeElement.minPixelWidth;
146
- }
147
- // Renaming because property should have camel casing, but attribute should not
148
- // eslint-disable-next-line @angular-eslint/no-input-rename
149
- set minPixelWidth(value) {
150
- this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));
151
- }
152
- get groupIndex() {
153
- return this.elementRef.nativeElement.groupIndex;
154
- }
155
- // Renaming because property should have camel casing, but attribute should not
156
- // eslint-disable-next-line @angular-eslint/no-input-rename
157
- set groupIndex(value) {
158
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
159
- }
160
- get groupingDisabled() {
161
- return this.elementRef.nativeElement.groupingDisabled;
162
- }
163
- // Renaming because property should have camel casing, but attribute should not
164
- // eslint-disable-next-line @angular-eslint/no-input-rename
165
- set groupingDisabled(value) {
166
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
167
- }
168
136
  }
169
137
  NimbleTableColumnAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
170
- NimbleTableColumnAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorDirective, selector: "nimble-table-column-anchor", inputs: { labelFieldName: ["label-field-name", "labelFieldName"], hrefFieldName: ["href-field-name", "hrefFieldName"], appearance: "appearance", underlineHidden: ["underline-hidden", "underlineHidden"], hreflang: "hreflang", ping: "ping", referrerpolicy: "referrerpolicy", rel: "rel", target: "target", type: "type", download: "download", fractionalWidth: ["fractional-width", "fractionalWidth"], minPixelWidth: ["min-pixel-width", "minPixelWidth"], groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
138
+ NimbleTableColumnAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnAnchorDirective, selector: "nimble-table-column-anchor", inputs: { labelFieldName: ["label-field-name", "labelFieldName"], hrefFieldName: ["href-field-name", "hrefFieldName"], appearance: "appearance", underlineHidden: ["underline-hidden", "underlineHidden"], hreflang: "hreflang", ping: "ping", referrerpolicy: "referrerpolicy", rel: "rel", target: "target", type: "type", download: "download" }, usesInheritance: true, ngImport: i0 });
171
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnAnchorDirective, decorators: [{
172
140
  type: Directive,
173
141
  args: [{
@@ -198,18 +166,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
198
166
  type: Input
199
167
  }], download: [{
200
168
  type: Input
201
- }], fractionalWidth: [{
202
- type: Input,
203
- args: ['fractional-width']
204
- }], minPixelWidth: [{
205
- type: Input,
206
- args: ['min-pixel-width']
207
- }], groupIndex: [{
208
- type: Input,
209
- args: ['group-index']
210
- }], groupingDisabled: [{
211
- type: Input,
212
- args: ['grouping-disabled']
213
169
  }] } });
214
170
 
215
171
  class NimbleTableColumnAnchorModule {
@@ -1 +1 @@
1
- {"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener, Input } from '@angular/core';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\nexport type NavigationGuard = (rowRecordId: string | undefined) => boolean;\n\n/**\n * Directive to allow client to intercept anchor clicks and do router navigation instead of\n * letting the default action handle the navigation. The client supplies a function which is\n * expected to build the proper url and call one of the router's navigation functions, passing\n * the url and any navigation options. If the router successfully navigated, the function should\n * return false to prevent the link's default click handler from also performing the navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[navigationGuard]'\n})\nexport class NimbleTableColumnAnchorNavigationGuardDirective {\n @Input()\n public navigationGuard?: NavigationGuard;\n\n @HostListener('delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId'])\n private onDelegatedEvent(delegatedEvent: Event, recordId: string | undefined): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n // Only call the navigationGuard for plain left clicks.\n // Those are the only ones that should potentially use the router.\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453\n if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {\n return;\n }\n\n const cellView = delegatedEvent.target as TableColumnAnchorCellView;\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457\n if (typeof cellView.columnConfig?.target === 'string' && cellView.columnConfig.target !== '_self') {\n return;\n }\n\n const href = cellView.cellRecord?.href;\n if (!href) {\n return;\n }\n\n if (this.navigationGuard && !this.navigationGuard(recordId)) {\n clickEvent.preventDefault();\n }\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, NumberValueOrAttribute, toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends NimbleTableColumnBaseDirective<TableColumnAnchor> {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public get fractionalWidth(): number | null | undefined {\n return this.elementRef.nativeElement.fractionalWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('fractional-width') public set fractionalWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));\n }\n\n public get minPixelWidth(): number | null | undefined {\n return this.elementRef.nativeElement.minPixelWidth;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('min-pixel-width') public set minPixelWidth(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));\n }\n\n public get groupIndex(): number | null | undefined {\n return this.elementRef.nativeElement.groupIndex;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('group-index') public set groupIndex(value: NumberValueOrAttribute | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));\n }\n\n public get groupingDisabled(): boolean {\n return this.elementRef.nativeElement.groupingDisabled;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('grouping-disabled') public set groupingDisabled(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorNavigationGuardDirective } from './nimble-table-column-anchor-navigation-guard.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ni-nimble-angular-table-column-anchor.mjs","sources":["../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.directive.ts","../../../../projects/ni/nimble-angular/table-column/anchor/nimble-table-column-anchor.module.ts","../../../../projects/ni/nimble-angular/table-column/anchor/ni-nimble-angular-table-column-anchor.ts"],"sourcesContent":["import { Directive, HostListener, Input } from '@angular/core';\nimport type { TableColumnAnchorCellView } from '@ni/nimble-components/dist/esm/table-column/anchor/cell-view';\n\nexport type NavigationGuard = (rowRecordId: string | undefined) => boolean;\n\n/**\n * Directive to allow client to intercept anchor clicks and do router navigation instead of\n * letting the default action handle the navigation. The client supplies a function which is\n * expected to build the proper url and call one of the router's navigation functions, passing\n * the url and any navigation options. If the router successfully navigated, the function should\n * return false to prevent the link's default click handler from also performing the navigation.\n */\n@Directive({\n selector: 'nimble-table-column-anchor[navigationGuard]'\n})\nexport class NimbleTableColumnAnchorNavigationGuardDirective {\n @Input()\n public navigationGuard?: NavigationGuard;\n\n @HostListener('delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId'])\n private onDelegatedEvent(delegatedEvent: Event, recordId: string | undefined): void {\n if (delegatedEvent.type !== 'click') {\n return;\n }\n\n const clickEvent = delegatedEvent as MouseEvent;\n // Only call the navigationGuard for plain left clicks.\n // Those are the only ones that should potentially use the router.\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453\n if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {\n return;\n }\n\n const cellView = delegatedEvent.target as TableColumnAnchorCellView;\n // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457\n if (typeof cellView.columnConfig?.target === 'string' && cellView.columnConfig.target !== '_self') {\n return;\n }\n\n const href = cellView.cellRecord?.href;\n if (!href) {\n return;\n }\n\n if (this.navigationGuard && !this.navigationGuard(recordId)) {\n clickEvent.preventDefault();\n }\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { type TableColumnAnchor, tableColumnAnchorTag } from '@ni/nimble-components/dist/esm/table-column/anchor';\nimport { AnchorAppearance } from '@ni/nimble-components/dist/esm/anchor/types';\nimport { BooleanValueOrAttribute, toBooleanProperty } from '@ni/nimble-angular/internal-utilities';\nimport { NimbleTableColumnBaseDirective, mixinFractionalWidthColumnAPI, mixinGroupableColumnAPI } from '@ni/nimble-angular/table-column';\n\nexport type { TableColumnAnchor };\nexport { tableColumnAnchorTag };\nexport { AnchorAppearance };\n\n/**\n * Directive to provide Angular integration for the table column element for links.\n */\n@Directive({\n selector: 'nimble-table-column-anchor'\n})\nexport class NimbleTableColumnAnchorDirective extends mixinFractionalWidthColumnAPI(mixinGroupableColumnAPI(NimbleTableColumnBaseDirective<TableColumnAnchor>)) {\n public get labelFieldName(): string | undefined {\n return this.elementRef.nativeElement.labelFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label-field-name') public set labelFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'labelFieldName', value);\n }\n\n public get hrefFieldName(): string | undefined {\n return this.elementRef.nativeElement.hrefFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('href-field-name') public set hrefFieldName(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hrefFieldName', value);\n }\n\n public get appearance(): AnchorAppearance {\n return this.elementRef.nativeElement.appearance;\n }\n\n @Input() public set appearance(value: AnchorAppearance) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);\n }\n\n public get underlineHidden(): boolean {\n return this.elementRef.nativeElement.underlineHidden;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('underline-hidden') public set underlineHidden(value: BooleanValueOrAttribute) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'underlineHidden', toBooleanProperty(value));\n }\n\n public get hreflang(): string | undefined {\n return this.elementRef.nativeElement.hreflang;\n }\n\n @Input() public set hreflang(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);\n }\n\n public get ping(): string | undefined {\n return this.elementRef.nativeElement.ping;\n }\n\n @Input() public set ping(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);\n }\n\n public get referrerpolicy(): string | undefined {\n return this.elementRef.nativeElement.referrerpolicy;\n }\n\n @Input() public set referrerpolicy(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);\n }\n\n public get rel(): string | undefined {\n return this.elementRef.nativeElement.rel;\n }\n\n @Input() public set rel(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);\n }\n\n public get target(): string | undefined {\n return this.elementRef.nativeElement.target;\n }\n\n @Input() public set target(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);\n }\n\n public get type(): string | undefined {\n return this.elementRef.nativeElement.type;\n }\n\n @Input() public set type(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);\n }\n\n public get download(): string | undefined {\n return this.elementRef.nativeElement.download;\n }\n\n @Input() public set download(value: string | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'download', value);\n }\n\n public constructor(renderer: Renderer2, elementRef: ElementRef<TableColumnAnchor>) {\n super(renderer, elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableColumnAnchorDirective } from './nimble-table-column-anchor.directive';\nimport { NimbleTableColumnAnchorNavigationGuardDirective } from './nimble-table-column-anchor-navigation-guard.directive';\n\nimport '@ni/nimble-components/dist/esm/table-column/anchor';\n\n@NgModule({\n declarations: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective],\n imports: [CommonModule],\n exports: [NimbleTableColumnAnchorDirective, NimbleTableColumnAnchorNavigationGuardDirective]\n})\nexport class NimbleTableColumnAnchorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Directive, Input, NgModule } from '@angular/core';
3
3
  export { tableColumnDateTextTag } from '@ni/nimble-components/dist/esm/table-column/date-text';
4
- import { toNullableNumberProperty, toBooleanProperty } from '@ni/nimble-angular/internal-utilities';
5
- import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
4
+ import { mixinFractionalWidthColumnAPI, mixinGroupableColumnAPI, NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
6
5
  export { DateTextFormat } from '@ni/nimble-components/dist/esm/table-column/date-text/types';
7
6
  import { CommonModule } from '@angular/common';
8
7
  import '@ni/nimble-components/dist/esm/table-column/text';
@@ -10,7 +9,7 @@ import '@ni/nimble-components/dist/esm/table-column/text';
10
9
  /**
11
10
  * Directive to provide Angular integration for the table column element for date text.
12
11
  */
13
- class NimbleTableColumnDateTextDirective extends NimbleTableColumnBaseDirective {
12
+ class NimbleTableColumnDateTextDirective extends mixinFractionalWidthColumnAPI(mixinGroupableColumnAPI((NimbleTableColumnBaseDirective))) {
14
13
  constructor(renderer, elementRef) {
15
14
  super(renderer, elementRef);
16
15
  }
@@ -190,41 +189,9 @@ class NimbleTableColumnDateTextDirective extends NimbleTableColumnBaseDirective
190
189
  set customHourCycle(value) {
191
190
  this.renderer.setProperty(this.elementRef.nativeElement, 'customHourCycle', value);
192
191
  }
193
- get fractionalWidth() {
194
- return this.elementRef.nativeElement.fractionalWidth;
195
- }
196
- // Renaming because property should have camel casing, but attribute should not
197
- // eslint-disable-next-line @angular-eslint/no-input-rename
198
- set fractionalWidth(value) {
199
- this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));
200
- }
201
- get minPixelWidth() {
202
- return this.elementRef.nativeElement.minPixelWidth;
203
- }
204
- // Renaming because property should have camel casing, but attribute should not
205
- // eslint-disable-next-line @angular-eslint/no-input-rename
206
- set minPixelWidth(value) {
207
- this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));
208
- }
209
- get groupIndex() {
210
- return this.elementRef.nativeElement.groupIndex;
211
- }
212
- // Renaming because property should have camel casing, but attribute should not
213
- // eslint-disable-next-line @angular-eslint/no-input-rename
214
- set groupIndex(value) {
215
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
216
- }
217
- get groupingDisabled() {
218
- return this.elementRef.nativeElement.groupingDisabled;
219
- }
220
- // Renaming because property should have camel casing, but attribute should not
221
- // eslint-disable-next-line @angular-eslint/no-input-rename
222
- set groupingDisabled(value) {
223
- this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
224
- }
225
192
  }
226
193
  NimbleTableColumnDateTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
227
- NimbleTableColumnDateTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnDateTextDirective, selector: "nimble-table-column-date-text", inputs: { fieldName: ["field-name", "fieldName"], format: "format", customLocaleMatcher: ["custom-locale-matcher", "customLocaleMatcher"], customWeekday: ["custom-weekday", "customWeekday"], customEra: ["custom-era", "customEra"], customYear: ["custom-year", "customYear"], customMonth: ["custom-month", "customMonth"], customDay: ["custom-day", "customDay"], customHour: ["custom-hour", "customHour"], customMinute: ["custom-minute", "customMinute"], customSecond: ["custom-second", "customSecond"], customTimeZoneName: ["custom-time-zone-name", "customTimeZoneName"], customFormatMatcher: ["custom-format-matcher", "customFormatMatcher"], customHour12: ["custom-hour12", "customHour12"], customTimeZone: ["custom-time-zone", "customTimeZone"], customCalendar: ["custom-calendar", "customCalendar"], customDayPeriod: ["custom-day-period", "customDayPeriod"], customNumberingSystem: ["custom-numbering-system", "customNumberingSystem"], customDateStyle: ["custom-date-style", "customDateStyle"], customTimeStyle: ["custom-time-style", "customTimeStyle"], customHourCycle: ["custom-hour-cycle", "customHourCycle"], fractionalWidth: ["fractional-width", "fractionalWidth"], minPixelWidth: ["min-pixel-width", "minPixelWidth"], groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
194
+ NimbleTableColumnDateTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnDateTextDirective, selector: "nimble-table-column-date-text", inputs: { fieldName: ["field-name", "fieldName"], format: "format", customLocaleMatcher: ["custom-locale-matcher", "customLocaleMatcher"], customWeekday: ["custom-weekday", "customWeekday"], customEra: ["custom-era", "customEra"], customYear: ["custom-year", "customYear"], customMonth: ["custom-month", "customMonth"], customDay: ["custom-day", "customDay"], customHour: ["custom-hour", "customHour"], customMinute: ["custom-minute", "customMinute"], customSecond: ["custom-second", "customSecond"], customTimeZoneName: ["custom-time-zone-name", "customTimeZoneName"], customFormatMatcher: ["custom-format-matcher", "customFormatMatcher"], customHour12: ["custom-hour12", "customHour12"], customTimeZone: ["custom-time-zone", "customTimeZone"], customCalendar: ["custom-calendar", "customCalendar"], customDayPeriod: ["custom-day-period", "customDayPeriod"], customNumberingSystem: ["custom-numbering-system", "customNumberingSystem"], customDateStyle: ["custom-date-style", "customDateStyle"], customTimeStyle: ["custom-time-style", "customTimeStyle"], customHourCycle: ["custom-hour-cycle", "customHourCycle"] }, usesInheritance: true, ngImport: i0 });
228
195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextDirective, decorators: [{
229
196
  type: Directive,
230
197
  args: [{
@@ -292,18 +259,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
292
259
  }], customHourCycle: [{
293
260
  type: Input,
294
261
  args: ['custom-hour-cycle']
295
- }], fractionalWidth: [{
296
- type: Input,
297
- args: ['fractional-width']
298
- }], minPixelWidth: [{
299
- type: Input,
300
- args: ['min-pixel-width']
301
- }], groupIndex: [{
302
- type: Input,
303
- args: ['group-index']
304
- }], groupingDisabled: [{
305
- type: Input,
306
- args: ['grouping-disabled']
307
262
  }] } });
308
263
 
309
264
  class NimbleTableColumnDateTextModule {