@ni/nimble-angular 19.3.1 → 20.0.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.
@@ -17,14 +17,15 @@ export class DurationPipe {
17
17
  }
18
18
  }
19
19
  DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
20
- DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, name: "duration" });
20
+ DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, isStandalone: true, name: "duration" });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{
24
- name: 'duration'
24
+ name: 'duration',
25
+ standalone: true
25
26
  }]
26
27
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
27
28
  type: Inject,
28
29
  args: [LOCALE_ID]
29
30
  }] }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL2R1cmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQzs7QUFFeEg7O0dBRUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUdyQixZQUFzQyxNQUFjO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxTQUFTLENBQUMsa0JBQXNEO1FBQ25FLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUE0QztRQUM5RCxPQUFPLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDMUUsQ0FBQzs7MEdBZFEsWUFBWSxrQkFHTSxTQUFTO3dHQUgzQixZQUFZOzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7aUJBQ25COzswQkFJdUIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBMT0NBTEVfSUQsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER1cmF0aW9uRm9ybWF0dGVyIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi9kdXJhdGlvbi10ZXh0L21vZGVscy9kdXJhdGlvbi1mb3JtYXR0ZXInO1xuXG4vKipcbiAqIEEgcGlwZSB0aGF0IHRyYW5zZm9ybXMgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIChzdHJpbmcvbnVtYmVyKSBpbnRvIGEgc3RyaW5nIGZvcm1hdHRlZCBsaWtlIFwiMSBkYXksIDIgaHIsIDMgbWluLCA0LjU2NyBzZWNcIlxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2R1cmF0aW9uJ1xufSlcbmV4cG9ydCBjbGFzcyBEdXJhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uRm9ybWF0dGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmR1cmF0aW9uRm9ybWF0dGVyID0gbmV3IER1cmF0aW9uRm9ybWF0dGVyKGxvY2FsZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh0aW1lSW5NaWxsaXNlY29uZHM6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtaWxsaXNlY29uZHMgPSB0aGlzLnBhcnNlRHVyYXRpb24odGltZUluTWlsbGlzZWNvbmRzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHVyYXRpb25Gb3JtYXR0ZXIuZm9ybWF0KG1pbGxpc2Vjb25kcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUR1cmF0aW9uKGR1cmF0aW9uOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgZHVyYXRpb24gPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdChkdXJhdGlvbikgOiBkdXJhdGlvbjtcbiAgICB9XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL2R1cmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQzs7QUFFeEg7O0dBRUc7QUFLSCxNQUFNLE9BQU8sWUFBWTtJQUdyQixZQUFzQyxNQUFjO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxTQUFTLENBQUMsa0JBQXNEO1FBQ25FLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUE0QztRQUM5RCxPQUFPLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDMUUsQ0FBQzs7MEdBZFEsWUFBWSxrQkFHTSxTQUFTO3dHQUgzQixZQUFZOzRGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBSXVCLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEdXJhdGlvbkZvcm1hdHRlciB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vZHVyYXRpb24tdGV4dC9tb2RlbHMvZHVyYXRpb24tZm9ybWF0dGVyJztcblxuLyoqXG4gKiBBIHBpcGUgdGhhdCB0cmFuc2Zvcm1zIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyAoc3RyaW5nL251bWJlcikgaW50byBhIHN0cmluZyBmb3JtYXR0ZWQgbGlrZSBcIjEgZGF5LCAyIGhyLCAzIG1pbiwgNC41Njcgc2VjXCJcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdkdXJhdGlvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEdXJhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uRm9ybWF0dGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmR1cmF0aW9uRm9ybWF0dGVyID0gbmV3IER1cmF0aW9uRm9ybWF0dGVyKGxvY2FsZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh0aW1lSW5NaWxsaXNlY29uZHM6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtaWxsaXNlY29uZHMgPSB0aGlzLnBhcnNlRHVyYXRpb24odGltZUluTWlsbGlzZWNvbmRzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHVyYXRpb25Gb3JtYXR0ZXIuZm9ybWF0KG1pbGxpc2Vjb25kcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUR1cmF0aW9uKGR1cmF0aW9uOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgZHVyYXRpb24gPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdChkdXJhdGlvbikgOiBkdXJhdGlvbjtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Inject, LOCALE_ID, Pipe } from '@angular/core';
2
+ import { NumberTextUnitFormat } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A pipe that transforms a number into a string with optional unit
6
+ */
7
+ export class NumberTextPipe {
8
+ constructor(locale) {
9
+ this.locale = locale;
10
+ }
11
+ transform(value, options) {
12
+ if (!this.numberTextUnitFormat?.optionsMatch(options)) {
13
+ this.numberTextUnitFormat = new NumberTextUnitFormat(this.locale, options);
14
+ }
15
+ return this.numberTextUnitFormat.format(value);
16
+ }
17
+ }
18
+ NumberTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
19
+ NumberTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, isStandalone: true, name: "numberText" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: 'numberText',
24
+ standalone: true
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
27
+ type: Inject,
28
+ args: [LOCALE_ID]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXRleHQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL251bWJlci10ZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQStCLE1BQU0sd0ZBQXdGLENBQUM7O0FBRTNKOztHQUVHO0FBS0gsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFBdUQsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRWxFLFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBcUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM5RTtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs0R0FiUSxjQUFjLGtCQU1JLFNBQVM7MEdBTjNCLGNBQWM7NEZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFPdUIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBMT0NBTEVfSUQsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bWJlclRleHRVbml0Rm9ybWF0LCBOdW1iZXJUZXh0VW5pdEZvcm1hdE9wdGlvbnMgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL251bWJlci10ZXh0L21vZGVscy9udW1iZXItdGV4dC11bml0LWZvcm1hdCc7XG5cbi8qKlxuICogQSBwaXBlIHRoYXQgdHJhbnNmb3JtcyBhIG51bWJlciBpbnRvIGEgc3RyaW5nIHdpdGggb3B0aW9uYWwgdW5pdFxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ251bWJlclRleHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyVGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbnVtYmVyVGV4dFVuaXRGb3JtYXQ/OiBOdW1iZXJUZXh0VW5pdEZvcm1hdDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSByZWFkb25seSBsb2NhbGU6IHN0cmluZykge31cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgb3B0aW9ucz86IE51bWJlclRleHRVbml0Rm9ybWF0T3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5udW1iZXJUZXh0VW5pdEZvcm1hdD8ub3B0aW9uc01hdGNoKG9wdGlvbnMpKSB7XG4gICAgICAgICAgICB0aGlzLm51bWJlclRleHRVbml0Rm9ybWF0ID0gbmV3IE51bWJlclRleHRVbml0Rm9ybWF0KHRoaXMubG9jYWxlLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXJUZXh0VW5pdEZvcm1hdC5mb3JtYXQodmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,6 @@
1
1
  export * from './duration.pipe';
2
- export * from './nimble-pipes.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbmltYmxlLXBpcGVzLm1vZHVsZSc7XG4iXX0=
2
+ export * from './number-text.pipe';
3
+ export { byteUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale';
4
+ export { byte1024UnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale';
5
+ export { voltUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpRkFBaUYsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUN6SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUZBQWlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXItdGV4dC5waXBlJztcbmV4cG9ydCB7IGJ5dGVVbml0U2NhbGUgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdXRpbGl0aWVzL3VuaXQtZm9ybWF0L3VuaXQtc2NhbGUvYnl0ZS11bml0LXNjYWxlJztcbmV4cG9ydCB7IGJ5dGUxMDI0VW5pdFNjYWxlIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3V0aWxpdGllcy91bml0LWZvcm1hdC91bml0LXNjYWxlL2J5dGUtMTAyNC11bml0LXNjYWxlJztcbmV4cG9ydCB7IHZvbHRVbml0U2NhbGUgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdXRpbGl0aWVzL3VuaXQtZm9ybWF0L3VuaXQtc2NhbGUvdm9sdC11bml0LXNjYWxlJztcbiJdfQ==
@@ -15,12 +15,12 @@ export class NimbleTableColumnAnchorNavigationGuardDirective {
15
15
  const clickEvent = delegatedEvent;
16
16
  // Only call the navigationGuard for plain left clicks.
17
17
  // Those are the only ones that should potentially use the router.
18
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
18
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L302
19
19
  if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
20
20
  return;
21
21
  }
22
22
  const cellView = delegatedEvent.target;
23
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
23
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L306
24
24
  if (typeof cellView.columnConfig?.target === 'string' && cellView.columnConfig.target !== '_self') {
25
25
  return;
26
26
  }
@@ -28,7 +28,7 @@ export class NimbleTableColumnAnchorNavigationGuardDirective {
28
28
  if (!href) {
29
29
  return;
30
30
  }
31
- if (this.navigationGuard && !this.navigationGuard(recordId)) {
31
+ if (this.navigationGuard && !this.navigationGuard(recordId, href)) {
32
32
  clickEvent.preventDefault();
33
33
  }
34
34
  }
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
46
46
  type: HostListener,
47
47
  args: ['delegated-event', ['$event.detail.originalEvent', '$event.detail.recordId']]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3ItbmF2aWdhdGlvbi1ndWFyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4vYW5jaG9yL25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yLW5hdmlnYXRpb24tZ3VhcmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0Q7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLCtDQUErQztJQUtoRCxnQkFBZ0IsQ0FBQyxjQUFxQixFQUFFLFFBQTRCO1FBQ3hFLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDakMsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBNEIsQ0FBQztRQUNoRCx1REFBdUQ7UUFDdkQsa0VBQWtFO1FBQ2xFLGdKQUFnSjtRQUNoSixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDakgsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQW1DLENBQUM7UUFDcEUsZ0pBQWdKO1FBQ2hKLElBQUksT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFO1lBQy9GLE9BQU87U0FDVjtRQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pELFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7OzZJQWhDUSwrQ0FBK0M7aUlBQS9DLCtDQUErQzs0RkFBL0MsK0NBQStDO2tCQUgzRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7aUJBQzFEOzhCQUdVLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUUsZ0JBQWdCO3NCQUR2QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsNkJBQTZCLEVBQUUsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGFibGVDb2x1bW5BbmNob3JDZWxsVmlldyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYW5jaG9yL2NlbGwtdmlldyc7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25HdWFyZCA9IChyb3dSZWNvcmRJZDogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBhbGxvdyBjbGllbnQgdG8gaW50ZXJjZXB0IGFuY2hvciBjbGlja3MgYW5kIGRvIHJvdXRlciBuYXZpZ2F0aW9uIGluc3RlYWQgb2ZcbiAqIGxldHRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGhhbmRsZSB0aGUgbmF2aWdhdGlvbi4gVGhlIGNsaWVudCBzdXBwbGllcyBhIGZ1bmN0aW9uIHdoaWNoIGlzXG4gKiBleHBlY3RlZCB0byBidWlsZCB0aGUgcHJvcGVyIHVybCBhbmQgY2FsbCBvbmUgb2YgdGhlIHJvdXRlcidzIG5hdmlnYXRpb24gZnVuY3Rpb25zLCBwYXNzaW5nXG4gKiB0aGUgdXJsIGFuZCBhbnkgbmF2aWdhdGlvbiBvcHRpb25zLiBJZiB0aGUgcm91dGVyIHN1Y2Nlc3NmdWxseSBuYXZpZ2F0ZWQsIHRoZSBmdW5jdGlvbiBzaG91bGRcbiAqIHJldHVybiBmYWxzZSB0byBwcmV2ZW50IHRoZSBsaW5rJ3MgZGVmYXVsdCBjbGljayBoYW5kbGVyIGZyb20gYWxzbyBwZXJmb3JtaW5nIHRoZSBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yW25hdmlnYXRpb25HdWFyZF0nXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yTmF2aWdhdGlvbkd1YXJkRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYXZpZ2F0aW9uR3VhcmQ/OiBOYXZpZ2F0aW9uR3VhcmQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkZWxlZ2F0ZWQtZXZlbnQnLCBbJyRldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudCcsICckZXZlbnQuZGV0YWlsLnJlY29yZElkJ10pXG4gICAgcHJpdmF0ZSBvbkRlbGVnYXRlZEV2ZW50KGRlbGVnYXRlZEV2ZW50OiBFdmVudCwgcmVjb3JkSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAoZGVsZWdhdGVkRXZlbnQudHlwZSAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xpY2tFdmVudCA9IGRlbGVnYXRlZEV2ZW50IGFzIE1vdXNlRXZlbnQ7XG4gICAgICAgIC8vIE9ubHkgY2FsbCB0aGUgbmF2aWdhdGlvbkd1YXJkIGZvciBwbGFpbiBsZWZ0IGNsaWNrcy5cbiAgICAgICAgLy8gVGhvc2UgYXJlIHRoZSBvbmx5IG9uZXMgdGhhdCBzaG91bGQgcG90ZW50aWFsbHkgdXNlIHRoZSByb3V0ZXIuXG4gICAgICAgIC8vIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMzVhM2ZkZTViNzFlZjNiNTAyODJmZTZmN2IzN2NhMWM5MmI4ZDJhMC9wYWNrYWdlcy9yb3V0ZXIvc3JjL2RpcmVjdGl2ZXMvcm91dGVyX2xpbmsudHMjTDQ1M1xuICAgICAgICBpZiAoY2xpY2tFdmVudC5idXR0b24gIT09IDAgfHwgY2xpY2tFdmVudC5jdHJsS2V5IHx8IGNsaWNrRXZlbnQuc2hpZnRLZXkgfHwgY2xpY2tFdmVudC5hbHRLZXkgfHwgY2xpY2tFdmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjZWxsVmlldyA9IGRlbGVnYXRlZEV2ZW50LnRhcmdldCBhcyBUYWJsZUNvbHVtbkFuY2hvckNlbGxWaWV3O1xuICAgICAgICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzM1YTNmZGU1YjcxZWYzYjUwMjgyZmU2ZjdiMzdjYTFjOTJiOGQyYTAvcGFja2FnZXMvcm91dGVyL3NyYy9kaXJlY3RpdmVzL3JvdXRlcl9saW5rLnRzI0w0NTdcbiAgICAgICAgaWYgKHR5cGVvZiBjZWxsVmlldy5jb2x1bW5Db25maWc/LnRhcmdldCA9PT0gJ3N0cmluZycgJiYgY2VsbFZpZXcuY29sdW1uQ29uZmlnLnRhcmdldCAhPT0gJ19zZWxmJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaHJlZiA9IGNlbGxWaWV3LmNlbGxSZWNvcmQ/LmhyZWY7XG4gICAgICAgIGlmICghaHJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkd1YXJkICYmICF0aGlzLm5hdmlnYXRpb25HdWFyZChyZWNvcmRJZCkpIHtcbiAgICAgICAgICAgIGNsaWNrRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1hbmNob3ItbmF2aWdhdGlvbi1ndWFyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4vYW5jaG9yL25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yLW5hdmlnYXRpb24tZ3VhcmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0Q7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLCtDQUErQztJQUtoRCxnQkFBZ0IsQ0FBQyxjQUFxQixFQUFFLFFBQTRCO1FBQ3hFLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDakMsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBNEIsQ0FBQztRQUNoRCx1REFBdUQ7UUFDdkQsa0VBQWtFO1FBQ2xFLCtHQUErRztRQUMvRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDakgsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQW1DLENBQUM7UUFDcEUsK0dBQStHO1FBQy9HLElBQUksT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFO1lBQy9GLE9BQU87U0FDVjtRQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUMvRCxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDOzs2SUFoQ1EsK0NBQStDO2lJQUEvQywrQ0FBK0M7NEZBQS9DLCtDQUErQztrQkFIM0QsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkNBQTZDO2lCQUMxRDs4QkFHVSxlQUFlO3NCQURyQixLQUFLO2dCQUlFLGdCQUFnQjtzQkFEdkIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLDZCQUE2QixFQUFFLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uQW5jaG9yQ2VsbFZpZXcgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL2FuY2hvci9jZWxsLXZpZXcnO1xuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uR3VhcmQgPSAocm93UmVjb3JkSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgaHJlZjogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBhbGxvdyBjbGllbnQgdG8gaW50ZXJjZXB0IGFuY2hvciBjbGlja3MgYW5kIGRvIHJvdXRlciBuYXZpZ2F0aW9uIGluc3RlYWQgb2ZcbiAqIGxldHRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGhhbmRsZSB0aGUgbmF2aWdhdGlvbi4gVGhlIGNsaWVudCBzdXBwbGllcyBhIGZ1bmN0aW9uIHdoaWNoIGlzXG4gKiBleHBlY3RlZCB0byBidWlsZCB0aGUgcHJvcGVyIHVybCBhbmQgY2FsbCBvbmUgb2YgdGhlIHJvdXRlcidzIG5hdmlnYXRpb24gZnVuY3Rpb25zLCBwYXNzaW5nXG4gKiB0aGUgdXJsIGFuZCBhbnkgbmF2aWdhdGlvbiBvcHRpb25zLiBJZiB0aGUgcm91dGVyIHN1Y2Nlc3NmdWxseSBuYXZpZ2F0ZWQsIHRoZSBmdW5jdGlvbiBzaG91bGRcbiAqIHJldHVybiBmYWxzZSB0byBwcmV2ZW50IHRoZSBsaW5rJ3MgZGVmYXVsdCBjbGljayBoYW5kbGVyIGZyb20gYWxzbyBwZXJmb3JtaW5nIHRoZSBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS10YWJsZS1jb2x1bW4tYW5jaG9yW25hdmlnYXRpb25HdWFyZF0nXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQW5jaG9yTmF2aWdhdGlvbkd1YXJkRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYXZpZ2F0aW9uR3VhcmQ/OiBOYXZpZ2F0aW9uR3VhcmQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkZWxlZ2F0ZWQtZXZlbnQnLCBbJyRldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudCcsICckZXZlbnQuZGV0YWlsLnJlY29yZElkJ10pXG4gICAgcHJpdmF0ZSBvbkRlbGVnYXRlZEV2ZW50KGRlbGVnYXRlZEV2ZW50OiBFdmVudCwgcmVjb3JkSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAoZGVsZWdhdGVkRXZlbnQudHlwZSAhPT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xpY2tFdmVudCA9IGRlbGVnYXRlZEV2ZW50IGFzIE1vdXNlRXZlbnQ7XG4gICAgICAgIC8vIE9ubHkgY2FsbCB0aGUgbmF2aWdhdGlvbkd1YXJkIGZvciBwbGFpbiBsZWZ0IGNsaWNrcy5cbiAgICAgICAgLy8gVGhvc2UgYXJlIHRoZSBvbmx5IG9uZXMgdGhhdCBzaG91bGQgcG90ZW50aWFsbHkgdXNlIHRoZSByb3V0ZXIuXG4gICAgICAgIC8vIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTUuMi4xMC9wYWNrYWdlcy9yb3V0ZXIvc3JjL2RpcmVjdGl2ZXMvcm91dGVyX2xpbmsudHMjTDMwMlxuICAgICAgICBpZiAoY2xpY2tFdmVudC5idXR0b24gIT09IDAgfHwgY2xpY2tFdmVudC5jdHJsS2V5IHx8IGNsaWNrRXZlbnQuc2hpZnRLZXkgfHwgY2xpY2tFdmVudC5hbHRLZXkgfHwgY2xpY2tFdmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjZWxsVmlldyA9IGRlbGVnYXRlZEV2ZW50LnRhcmdldCBhcyBUYWJsZUNvbHVtbkFuY2hvckNlbGxWaWV3O1xuICAgICAgICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzE1LjIuMTAvcGFja2FnZXMvcm91dGVyL3NyYy9kaXJlY3RpdmVzL3JvdXRlcl9saW5rLnRzI0wzMDZcbiAgICAgICAgaWYgKHR5cGVvZiBjZWxsVmlldy5jb2x1bW5Db25maWc/LnRhcmdldCA9PT0gJ3N0cmluZycgJiYgY2VsbFZpZXcuY29sdW1uQ29uZmlnLnRhcmdldCAhPT0gJ19zZWxmJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaHJlZiA9IGNlbGxWaWV3LmNlbGxSZWNvcmQ/LmhyZWY7XG4gICAgICAgIGlmICghaHJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkd1YXJkICYmICF0aGlzLm5hdmlnYXRpb25HdWFyZChyZWNvcmRJZCwgaHJlZikpIHtcbiAgICAgICAgICAgIGNsaWNrRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { LOCALE_ID, Pipe, Inject, NgModule } from '@angular/core';
2
+ import { LOCALE_ID, Pipe, Inject } from '@angular/core';
3
3
  import { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';
4
- import { CommonModule } from '@angular/common';
4
+ import { NumberTextUnitFormat } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';
5
+ export { byteUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale';
6
+ export { byte1024UnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale';
7
+ export { voltUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale';
5
8
 
6
9
  /**
7
10
  * A pipe that transforms a number of milliseconds (string/number) into a string formatted like "1 day, 2 hr, 3 min, 4.567 sec"
@@ -19,11 +22,12 @@ class DurationPipe {
19
22
  }
20
23
  }
21
24
  DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
22
- DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, name: "duration" });
25
+ DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, isStandalone: true, name: "duration" });
23
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, decorators: [{
24
27
  type: Pipe,
25
28
  args: [{
26
- name: 'duration'
29
+ name: 'duration',
30
+ standalone: true
27
31
  }]
28
32
  }], ctorParameters: function () {
29
33
  return [{ type: undefined, decorators: [{
@@ -32,23 +36,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
32
36
  }] }];
33
37
  } });
34
38
 
35
- class NimblePipesModule {
39
+ /**
40
+ * A pipe that transforms a number into a string with optional unit
41
+ */
42
+ class NumberTextPipe {
43
+ constructor(locale) {
44
+ this.locale = locale;
45
+ }
46
+ transform(value, options) {
47
+ var _a;
48
+ if (!((_a = this.numberTextUnitFormat) === null || _a === void 0 ? void 0 : _a.optionsMatch(options))) {
49
+ this.numberTextUnitFormat = new NumberTextUnitFormat(this.locale, options);
50
+ }
51
+ return this.numberTextUnitFormat.format(value);
52
+ }
36
53
  }
37
- NimblePipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
- NimblePipesModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, declarations: [DurationPipe], imports: [CommonModule], exports: [DurationPipe] });
39
- NimblePipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, imports: [CommonModule] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, decorators: [{
41
- type: NgModule,
54
+ NumberTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
55
+ NumberTextPipepipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, isStandalone: true, name: "numberText" });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, decorators: [{
57
+ type: Pipe,
42
58
  args: [{
43
- declarations: [DurationPipe],
44
- imports: [CommonModule],
45
- exports: [DurationPipe]
59
+ name: 'numberText',
60
+ standalone: true
46
61
  }]
47
- }] });
62
+ }], ctorParameters: function () {
63
+ return [{ type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: [LOCALE_ID]
66
+ }] }];
67
+ } });
48
68
 
49
69
  /**
50
70
  * Generated bundle index. Do not edit.
51
71
  */
52
72
 
53
- export { DurationPipe, NimblePipesModule };
73
+ export { DurationPipe, NumberTextPipe };
54
74
  //# sourceMappingURL=ni-nimble-angular-pipes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ni-nimble-angular-pipes.mjs","sources":["../../../../projects/ni/nimble-angular/pipes/duration.pipe.ts","../../../../projects/ni/nimble-angular/pipes/nimble-pipes.module.ts","../../../../projects/ni/nimble-angular/pipes/ni-nimble-angular-pipes.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';\n\n/**\n * A pipe that transforms a number of milliseconds (string/number) into a string formatted like \"1 day, 2 hr, 3 min, 4.567 sec\"\n */\n@Pipe({\n name: 'duration'\n})\nexport class DurationPipe implements PipeTransform {\n private readonly durationFormatter;\n\n public constructor(@Inject(LOCALE_ID) locale: string) {\n this.durationFormatter = new DurationFormatter(locale);\n }\n\n public transform(timeInMilliseconds: string | number | null | undefined): string {\n const milliseconds = this.parseDuration(timeInMilliseconds);\n return this.durationFormatter.format(milliseconds);\n }\n\n private parseDuration(duration: string | number | null | undefined): number | null | undefined {\n return typeof duration === 'string' ? parseFloat(duration) : duration;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DurationPipe } from './duration.pipe';\n\n@NgModule({\n declarations: [DurationPipe],\n imports: [CommonModule],\n exports: [DurationPipe]\n})\nexport class NimblePipesModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;AAEG;MAIU,YAAY,CAAA;AAGrB,IAAA,WAAA,CAAsC,MAAc,EAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;AAEM,IAAA,SAAS,CAAC,kBAAsD,EAAA;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACtD;AAEO,IAAA,aAAa,CAAC,QAA4C,EAAA;AAC9D,QAAA,OAAO,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;KACzE;;AAdQ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGM,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAH3B,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;iBACnB,CAAA;;;8BAIuB,MAAM;+BAAC,SAAS,CAAA;;;;MCH3B,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJX,YAAA,EAAA,CAAA,YAAY,CACjB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,YAAY,CAAA,EAAA,CAAA,CAAA;AAEb,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGb,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;iBAC1B,CAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"ni-nimble-angular-pipes.mjs","sources":["../../../../projects/ni/nimble-angular/pipes/duration.pipe.ts","../../../../projects/ni/nimble-angular/pipes/number-text.pipe.ts","../../../../projects/ni/nimble-angular/pipes/ni-nimble-angular-pipes.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';\n\n/**\n * A pipe that transforms a number of milliseconds (string/number) into a string formatted like \"1 day, 2 hr, 3 min, 4.567 sec\"\n */\n@Pipe({\n name: 'duration',\n standalone: true\n})\nexport class DurationPipe implements PipeTransform {\n private readonly durationFormatter;\n\n public constructor(@Inject(LOCALE_ID) locale: string) {\n this.durationFormatter = new DurationFormatter(locale);\n }\n\n public transform(timeInMilliseconds: string | number | null | undefined): string {\n const milliseconds = this.parseDuration(timeInMilliseconds);\n return this.durationFormatter.format(milliseconds);\n }\n\n private parseDuration(duration: string | number | null | undefined): number | null | undefined {\n return typeof duration === 'string' ? parseFloat(duration) : duration;\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { NumberTextUnitFormat, NumberTextUnitFormatOptions } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';\n\n/**\n * A pipe that transforms a number into a string with optional unit\n */\n@Pipe({\n name: 'numberText',\n standalone: true\n})\nexport class NumberTextPipe implements PipeTransform {\n /**\n * @internal\n */\n public numberTextUnitFormat?: NumberTextUnitFormat;\n\n public constructor(@Inject(LOCALE_ID) private readonly locale: string) {}\n\n public transform(value: number, options?: NumberTextUnitFormatOptions): string {\n if (!this.numberTextUnitFormat?.optionsMatch(options)) {\n this.numberTextUnitFormat = new NumberTextUnitFormat(this.locale, options);\n }\n return this.numberTextUnitFormat.format(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAGA;;AAEG;MAKU,YAAY,CAAA;AAGrB,IAAA,WAAA,CAAsC,MAAc,EAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;AAEM,IAAA,SAAS,CAAC,kBAAsD,EAAA;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACtD;AAEO,IAAA,aAAa,CAAC,QAA4C,EAAA;AAC9D,QAAA,OAAO,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;KACzE;;AAdQ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGM,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAH3B,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,IAAI;iBACnB,CAAA;;;8BAIuB,MAAM;+BAAC,SAAS,CAAA;;;;ACVxC;;AAEG;MAKU,cAAc,CAAA;AAMvB,IAAA,WAAA,CAAuD,MAAc,EAAA;AAAd,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAI;IAElE,SAAS,CAAC,KAAa,EAAE,OAAqC,EAAA;;AACjE,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,CAAC,OAAO,CAAC,CAAA,EAAE;AACnD,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9E,SAAA;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAClD;;AAbQ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAMI,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAN3B,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE,IAAI;iBACnB,CAAA;;;8BAOuB,MAAM;+BAAC,SAAS,CAAA;;;;AChBxC;;AAEG;;;;"}
@@ -22,12 +22,12 @@ class NimbleTableColumnAnchorNavigationGuardDirective {
22
22
  const clickEvent = delegatedEvent;
23
23
  // Only call the navigationGuard for plain left clicks.
24
24
  // Those are the only ones that should potentially use the router.
25
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
25
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L302
26
26
  if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
27
27
  return;
28
28
  }
29
29
  const cellView = delegatedEvent.target;
30
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
30
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L306
31
31
  if (typeof ((_a = cellView.columnConfig) === null || _a === void 0 ? void 0 : _a.target) === 'string' && cellView.columnConfig.target !== '_self') {
32
32
  return;
33
33
  }
@@ -35,7 +35,7 @@ class NimbleTableColumnAnchorNavigationGuardDirective {
35
35
  if (!href) {
36
36
  return;
37
37
  }
38
- if (this.navigationGuard && !this.navigationGuard(recordId)) {
38
+ if (this.navigationGuard && !this.navigationGuard(recordId, href)) {
39
39
  clickEvent.preventDefault();
40
40
  }
41
41
  }
@@ -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 @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 @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 @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 @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 @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 @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 @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, href: string) => 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/15.2.10/packages/router/src/directives/router_link.ts#L302\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/15.2.10/packages/router/src/directives/router_link.ts#L306\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, href)) {\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 @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 @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 @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 @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 @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 @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 @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,7 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { LOCALE_ID, Pipe, Inject, NgModule } from '@angular/core';
2
+ import { LOCALE_ID, Pipe, Inject } from '@angular/core';
3
3
  import { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';
4
- import { CommonModule } from '@angular/common';
4
+ import { NumberTextUnitFormat } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';
5
+ export { byteUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale';
6
+ export { byte1024UnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale';
7
+ export { voltUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale';
5
8
 
6
9
  /**
7
10
  * A pipe that transforms a number of milliseconds (string/number) into a string formatted like "1 day, 2 hr, 3 min, 4.567 sec"
@@ -19,34 +22,48 @@ class DurationPipe {
19
22
  }
20
23
  }
21
24
  DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
22
- DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, name: "duration" });
25
+ DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, isStandalone: true, name: "duration" });
23
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DurationPipe, decorators: [{
24
27
  type: Pipe,
25
28
  args: [{
26
- name: 'duration'
29
+ name: 'duration',
30
+ standalone: true
27
31
  }]
28
32
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
29
33
  type: Inject,
30
34
  args: [LOCALE_ID]
31
35
  }] }]; } });
32
36
 
33
- class NimblePipesModule {
37
+ /**
38
+ * A pipe that transforms a number into a string with optional unit
39
+ */
40
+ class NumberTextPipe {
41
+ constructor(locale) {
42
+ this.locale = locale;
43
+ }
44
+ transform(value, options) {
45
+ if (!this.numberTextUnitFormat?.optionsMatch(options)) {
46
+ this.numberTextUnitFormat = new NumberTextUnitFormat(this.locale, options);
47
+ }
48
+ return this.numberTextUnitFormat.format(value);
49
+ }
34
50
  }
35
- NimblePipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- NimblePipesModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, declarations: [DurationPipe], imports: [CommonModule], exports: [DurationPipe] });
37
- NimblePipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, imports: [CommonModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, decorators: [{
39
- type: NgModule,
51
+ NumberTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
52
+ NumberTextPipepipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, isStandalone: true, name: "numberText" });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumberTextPipe, decorators: [{
54
+ type: Pipe,
40
55
  args: [{
41
- declarations: [DurationPipe],
42
- imports: [CommonModule],
43
- exports: [DurationPipe]
56
+ name: 'numberText',
57
+ standalone: true
44
58
  }]
45
- }] });
59
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
60
+ type: Inject,
61
+ args: [LOCALE_ID]
62
+ }] }]; } });
46
63
 
47
64
  /**
48
65
  * Generated bundle index. Do not edit.
49
66
  */
50
67
 
51
- export { DurationPipe, NimblePipesModule };
68
+ export { DurationPipe, NumberTextPipe };
52
69
  //# sourceMappingURL=ni-nimble-angular-pipes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ni-nimble-angular-pipes.mjs","sources":["../../../../projects/ni/nimble-angular/pipes/duration.pipe.ts","../../../../projects/ni/nimble-angular/pipes/nimble-pipes.module.ts","../../../../projects/ni/nimble-angular/pipes/ni-nimble-angular-pipes.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';\n\n/**\n * A pipe that transforms a number of milliseconds (string/number) into a string formatted like \"1 day, 2 hr, 3 min, 4.567 sec\"\n */\n@Pipe({\n name: 'duration'\n})\nexport class DurationPipe implements PipeTransform {\n private readonly durationFormatter;\n\n public constructor(@Inject(LOCALE_ID) locale: string) {\n this.durationFormatter = new DurationFormatter(locale);\n }\n\n public transform(timeInMilliseconds: string | number | null | undefined): string {\n const milliseconds = this.parseDuration(timeInMilliseconds);\n return this.durationFormatter.format(milliseconds);\n }\n\n private parseDuration(duration: string | number | null | undefined): number | null | undefined {\n return typeof duration === 'string' ? parseFloat(duration) : duration;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DurationPipe } from './duration.pipe';\n\n@NgModule({\n declarations: [DurationPipe],\n imports: [CommonModule],\n exports: [DurationPipe]\n})\nexport class NimblePipesModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;AAEG;MAIU,YAAY,CAAA;AAGrB,IAAA,WAAA,CAAsC,MAAc,EAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;AAEM,IAAA,SAAS,CAAC,kBAAsD,EAAA;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACtD;AAEO,IAAA,aAAa,CAAC,QAA4C,EAAA;AAC9D,QAAA,OAAO,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;KACzE;;AAdQ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGM,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAH3B,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AACnB,iBAAA,CAAA;;0BAIuB,MAAM;2BAAC,SAAS,CAAA;;;MCH3B,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJX,YAAA,EAAA,CAAA,YAAY,CACjB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,YAAY,CAAA,EAAA,CAAA,CAAA;AAEb,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGb,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC1B,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"ni-nimble-angular-pipes.mjs","sources":["../../../../projects/ni/nimble-angular/pipes/duration.pipe.ts","../../../../projects/ni/nimble-angular/pipes/number-text.pipe.ts","../../../../projects/ni/nimble-angular/pipes/ni-nimble-angular-pipes.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { DurationFormatter } from '@ni/nimble-components/dist/esm/table-column/duration-text/models/duration-formatter';\n\n/**\n * A pipe that transforms a number of milliseconds (string/number) into a string formatted like \"1 day, 2 hr, 3 min, 4.567 sec\"\n */\n@Pipe({\n name: 'duration',\n standalone: true\n})\nexport class DurationPipe implements PipeTransform {\n private readonly durationFormatter;\n\n public constructor(@Inject(LOCALE_ID) locale: string) {\n this.durationFormatter = new DurationFormatter(locale);\n }\n\n public transform(timeInMilliseconds: string | number | null | undefined): string {\n const milliseconds = this.parseDuration(timeInMilliseconds);\n return this.durationFormatter.format(milliseconds);\n }\n\n private parseDuration(duration: string | number | null | undefined): number | null | undefined {\n return typeof duration === 'string' ? parseFloat(duration) : duration;\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { NumberTextUnitFormat, NumberTextUnitFormatOptions } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';\n\n/**\n * A pipe that transforms a number into a string with optional unit\n */\n@Pipe({\n name: 'numberText',\n standalone: true\n})\nexport class NumberTextPipe implements PipeTransform {\n /**\n * @internal\n */\n public numberTextUnitFormat?: NumberTextUnitFormat;\n\n public constructor(@Inject(LOCALE_ID) private readonly locale: string) {}\n\n public transform(value: number, options?: NumberTextUnitFormatOptions): string {\n if (!this.numberTextUnitFormat?.optionsMatch(options)) {\n this.numberTextUnitFormat = new NumberTextUnitFormat(this.locale, options);\n }\n return this.numberTextUnitFormat.format(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAGA;;AAEG;MAKU,YAAY,CAAA;AAGrB,IAAA,WAAA,CAAsC,MAAc,EAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC1D;AAEM,IAAA,SAAS,CAAC,kBAAsD,EAAA;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACtD;AAEO,IAAA,aAAa,CAAC,QAA4C,EAAA;AAC9D,QAAA,OAAO,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;KACzE;;AAdQ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGM,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAH3B,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;0BAIuB,MAAM;2BAAC,SAAS,CAAA;;;ACVxC;;AAEG;MAKU,cAAc,CAAA;AAMvB,IAAA,WAAA,CAAuD,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAI;IAElE,SAAS,CAAC,KAAa,EAAE,OAAqC,EAAA;QACjE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;AACnD,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9E,SAAA;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAClD;;AAbQ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAMI,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAN3B,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;0BAOuB,MAAM;2BAAC,SAAS,CAAA;;;AChBxC;;AAEG;;;;"}
@@ -21,12 +21,12 @@ class NimbleTableColumnAnchorNavigationGuardDirective {
21
21
  const clickEvent = delegatedEvent;
22
22
  // Only call the navigationGuard for plain left clicks.
23
23
  // Those are the only ones that should potentially use the router.
24
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L453
24
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L302
25
25
  if (clickEvent.button !== 0 || clickEvent.ctrlKey || clickEvent.shiftKey || clickEvent.altKey || clickEvent.metaKey) {
26
26
  return;
27
27
  }
28
28
  const cellView = delegatedEvent.target;
29
- // Based on: https://github.com/angular/angular/blob/35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0/packages/router/src/directives/router_link.ts#L457
29
+ // Based on: https://github.com/angular/angular/blob/15.2.10/packages/router/src/directives/router_link.ts#L306
30
30
  if (typeof cellView.columnConfig?.target === 'string' && cellView.columnConfig.target !== '_self') {
31
31
  return;
32
32
  }
@@ -34,7 +34,7 @@ class NimbleTableColumnAnchorNavigationGuardDirective {
34
34
  if (!href) {
35
35
  return;
36
36
  }
37
- if (this.navigationGuard && !this.navigationGuard(recordId)) {
37
+ if (this.navigationGuard && !this.navigationGuard(recordId, href)) {
38
38
  clickEvent.preventDefault();
39
39
  }
40
40
  }
@@ -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 @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 @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 @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 @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 @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 @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 @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, href: string) => 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/15.2.10/packages/router/src/directives/router_link.ts#L302\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/15.2.10/packages/router/src/directives/router_link.ts#L306\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, href)) {\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 @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 @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 @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 @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 @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 @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 @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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-angular",
3
- "version": "19.3.1",
3
+ "version": "20.0.0",
4
4
  "description": "Angular components for the NI Nimble Design System",
5
5
  "repository": {
6
6
  "type": "git",
@@ -268,7 +268,7 @@
268
268
  "@angular/forms": "^15.2.10",
269
269
  "@angular/localize": "^15.2.10",
270
270
  "@angular/router": "^15.2.10",
271
- "@ni/nimble-components": "^21.0.5"
271
+ "@ni/nimble-components": "^21.1.0"
272
272
  },
273
273
  "dependencies": {
274
274
  "tslib": "^2.2.0"
@@ -9,5 +9,5 @@ export declare class DurationPipe implements PipeTransform {
9
9
  transform(timeInMilliseconds: string | number | null | undefined): string;
10
10
  private parseDuration;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<DurationPipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<DurationPipe, "duration", false>;
12
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationPipe, "duration", true>;
13
13
  }
@@ -0,0 +1,17 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { NumberTextUnitFormat, NumberTextUnitFormatOptions } from '@ni/nimble-components/dist/esm/table-column/number-text/models/number-text-unit-format';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * A pipe that transforms a number into a string with optional unit
6
+ */
7
+ export declare class NumberTextPipe implements PipeTransform {
8
+ private readonly locale;
9
+ /**
10
+ * @internal
11
+ */
12
+ numberTextUnitFormat?: NumberTextUnitFormat;
13
+ constructor(locale: string);
14
+ transform(value: number, options?: NumberTextUnitFormatOptions): string;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberTextPipe, never>;
16
+ static ɵpipe: i0.ɵɵPipeDeclaration<NumberTextPipe, "numberText", true>;
17
+ }
@@ -1,2 +1,5 @@
1
1
  export * from './duration.pipe';
2
- export * from './nimble-pipes.module';
2
+ export * from './number-text.pipe';
3
+ export { byteUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale';
4
+ export { byte1024UnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale';
5
+ export { voltUnitScale } from '@ni/nimble-components/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale';
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare type NavigationGuard = (rowRecordId: string | undefined) => boolean;
2
+ export declare type NavigationGuard = (rowRecordId: string | undefined, href: string) => boolean;
3
3
  /**
4
4
  * Directive to allow client to intercept anchor clicks and do router navigation instead of
5
5
  * letting the default action handle the navigation. The client supplies a function which is
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DurationPipe } from './duration.pipe';
4
- import * as i0 from "@angular/core";
5
- export class NimblePipesModule {
6
- }
7
- NimblePipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- NimblePipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, declarations: [DurationPipe], imports: [CommonModule], exports: [DurationPipe] });
9
- NimblePipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimblePipesModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [DurationPipe],
14
- imports: [CommonModule],
15
- exports: [DurationPipe]
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXBpcGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3BpcGVzL25pbWJsZS1waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU8vQyxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSlgsWUFBWSxhQUNqQixZQUFZLGFBQ1osWUFBWTtnSEFFYixpQkFBaUIsWUFIaEIsWUFBWTs0RkFHYixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IER1cmF0aW9uUGlwZSB9IGZyb20gJy4vZHVyYXRpb24ucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRHVyYXRpb25QaXBlXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHVyYXRpb25QaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVQaXBlc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./duration.pipe";
3
- import * as i2 from "@angular/common";
4
- export declare class NimblePipesModule {
5
- static ɵfac: i0.ɵɵFactoryDeclaration<NimblePipesModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<NimblePipesModule, [typeof i1.DurationPipe], [typeof i2.CommonModule], [typeof i1.DurationPipe]>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<NimblePipesModule>;
8
- }