@ni/nimble-angular 2.0.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/bundles/ni-nimble-angular.umd.js +302 -108
- package/bundles/ni-nimble-angular.umd.js.map +1 -1
- package/directives/breadcrumb/nimble-breadcrumb.directive.d.ts +7 -0
- package/directives/breadcrumb/nimble-breadcrumb.module.d.ts +3 -0
- package/directives/breadcrumb/nimble-breadcrumb.module.ngfactory.d.ts +3 -0
- package/directives/breadcrumb-item/nimble-breadcrumb-item-router-link-with-href.directive.d.ts +16 -0
- package/directives/breadcrumb-item/nimble-breadcrumb-item-router-link.directive.d.ts +8 -0
- package/directives/breadcrumb-item/nimble-breadcrumb-item.directive.d.ts +25 -0
- package/directives/breadcrumb-item/nimble-breadcrumb-item.module.d.ts +3 -0
- package/directives/breadcrumb-item/nimble-breadcrumb-item.module.ngfactory.d.ts +3 -0
- package/esm2015/directives/breadcrumb/nimble-breadcrumb.directive.js +12 -0
- package/esm2015/directives/breadcrumb/nimble-breadcrumb.directive.ngsummary.json +1 -0
- package/esm2015/directives/breadcrumb/nimble-breadcrumb.module.js +14 -0
- package/esm2015/directives/breadcrumb/nimble-breadcrumb.module.ngfactory.js +12 -0
- package/esm2015/directives/breadcrumb/nimble-breadcrumb.module.ngsummary.json +1 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item-router-link-with-href.directive.js +26 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item-router-link-with-href.directive.ngsummary.json +1 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item-router-link.directive.js +16 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item-router-link.directive.ngsummary.json +1 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item.directive.js +71 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item.directive.ngsummary.json +1 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item.module.js +16 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item.module.ngfactory.js +12 -0
- package/esm2015/directives/breadcrumb-item/nimble-breadcrumb-item.module.ngsummary.json +1 -0
- package/esm2015/ni-nimble-angular.js +3 -2
- package/esm2015/ni-nimble-angular.ngsummary.json +1 -1
- package/esm2015/public-api.js +6 -1
- package/esm2015/public-api.ngsummary.json +1 -1
- package/fesm2015/ni-nimble-angular.js +146 -3
- package/fesm2015/ni-nimble-angular.js.map +1 -1
- package/ni-nimble-angular.d.ts +2 -1
- package/ni-nimble-angular.metadata.json +1 -1
- package/package.json +3 -2
- package/public-api.d.ts +5 -0
package/README.md
CHANGED
|
@@ -90,6 +90,17 @@ See the [README.md for the ni/nimble repository](/README.md) for documentation o
|
|
|
90
90
|
|
|
91
91
|
For best results, always use `ngModel`, `formControl`, or `formControlName` bindings when integrating Nimble form controls in Angular. Binding to the control's native value property or event (e.g. `[value]` or `(change)`) is not supported, and can cause build failures and other issues. If a value change event is necessary, use `ngModel (ngModelChange)="onChange()"`.
|
|
92
92
|
|
|
93
|
+
### Using Nimble breadcrumb with Angular's RouterLink
|
|
94
|
+
|
|
95
|
+
`nimble-breadcrumb-item` supports the [Angular RouterLink directive](https://angular.io/api/router/RouterLink) for breadcrumb navigation in an Angular app using routing.
|
|
96
|
+
However, the attribute name `nimbleRouterLink` should be used instead of `routerLink` - for example:
|
|
97
|
+
```html
|
|
98
|
+
<nimble-breadcrumb-item [nimbleRouterLink]="breadcrumb.url">
|
|
99
|
+
{{ breadcrumb.label }}
|
|
100
|
+
</nimble-breadcrumb-item>
|
|
101
|
+
```
|
|
102
|
+
The properties RouterLink supports (`queryParams`, `state`, etc.) can be used on `nimble-breadcrumb-item` as-is.
|
|
103
|
+
|
|
93
104
|
### Testing with Nimble elements and `fakeAsync`
|
|
94
105
|
|
|
95
106
|
Angular's `fakeAsync` utility is useful for writing quickly-executing tests, but it can cause issues when testing components containing Nimble elements. Nimble uses an internal process queue to schedule work. If a `fakeAsync` test schedules work on the queue (by creating or interacting with Nimble elements) and the queue isn't processed by the end of the test, the queue will never be processed and subsequent tests may fail.
|
|
@@ -1,124 +1,33 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ni/nimble-components/dist/esm/
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@ni/nimble-angular', ['exports', '@angular/core', '@ni/nimble-components/dist/esm/
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ni = global.ni || {}, global.ni["nimble-angular"] = {}), global.ng.core, global.
|
|
5
|
-
})(this, (function (exports, core,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@ni/nimble-components/dist/esm/breadcrumb'), require('@angular/router'), require('@ni/nimble-components/dist/esm/breadcrumb-item'), require('@ni/nimble-components/dist/esm/button/types'), require('@ni/nimble-components/dist/esm/button'), require('@angular/forms'), require('@ni/nimble-components/dist/esm/checkbox'), require('@ni/nimble-components/dist/esm/drawer/types'), require('@ni/nimble-components/dist/esm/drawer'), require('@ni/nimble-components/dist/esm/listbox-option'), require('@ni/nimble-components/dist/esm/menu'), require('@ni/nimble-components/dist/esm/menu-item'), require('@ni/nimble-components/dist/esm/number-field'), require('@ni/nimble-components/dist/esm/select'), require('@ni/nimble-components/dist/esm/tab'), require('@ni/nimble-components/dist/esm/tab-panel'), require('@ni/nimble-components/dist/esm/tabs'), require('@ni/nimble-components/dist/esm/tabs-toolbar'), require('@ni/nimble-components/dist/esm/text-field/types'), require('@ni/nimble-components/dist/esm/text-field'), require('@ni/nimble-components/dist/esm/theme-provider/types'), require('@ni/nimble-components/dist/esm/theme-provider'), require('@ni/nimble-components/dist/esm/toggle-button'), require('@ni/nimble-components/dist/esm/tree-item'), require('@ni/nimble-components/dist/esm/tree-view/types'), require('@ni/nimble-components/dist/esm/tree-view'), require('@ni/nimble-components/dist/esm/testing/async-helpers')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@ni/nimble-angular', ['exports', '@angular/core', '@angular/common', '@ni/nimble-components/dist/esm/breadcrumb', '@angular/router', '@ni/nimble-components/dist/esm/breadcrumb-item', '@ni/nimble-components/dist/esm/button/types', '@ni/nimble-components/dist/esm/button', '@angular/forms', '@ni/nimble-components/dist/esm/checkbox', '@ni/nimble-components/dist/esm/drawer/types', '@ni/nimble-components/dist/esm/drawer', '@ni/nimble-components/dist/esm/listbox-option', '@ni/nimble-components/dist/esm/menu', '@ni/nimble-components/dist/esm/menu-item', '@ni/nimble-components/dist/esm/number-field', '@ni/nimble-components/dist/esm/select', '@ni/nimble-components/dist/esm/tab', '@ni/nimble-components/dist/esm/tab-panel', '@ni/nimble-components/dist/esm/tabs', '@ni/nimble-components/dist/esm/tabs-toolbar', '@ni/nimble-components/dist/esm/text-field/types', '@ni/nimble-components/dist/esm/text-field', '@ni/nimble-components/dist/esm/theme-provider/types', '@ni/nimble-components/dist/esm/theme-provider', '@ni/nimble-components/dist/esm/toggle-button', '@ni/nimble-components/dist/esm/tree-item', '@ni/nimble-components/dist/esm/tree-view/types', '@ni/nimble-components/dist/esm/tree-view', '@ni/nimble-components/dist/esm/testing/async-helpers'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ni = global.ni || {}, global.ni["nimble-angular"] = {}), global.ng.core, global.ng.common, null, global.ng.router, null, global.types, null, global.ng.forms, null, global.types$1, null, null, null, null, null, null, null, null, null, null, global.types$2, null, global.types$3, null, null, null, global.types$4, null, global.asyncHelpers));
|
|
5
|
+
})(this, (function (exports, core, common, breadcrumb, router, breadcrumbItem, types, button, forms, checkbox, types$1, drawer, listboxOption, menu, menuItem, numberField, select, tab, tabPanel, tabs, tabsToolbar, types$2, textField, types$3, themeProvider, toggleButton, treeItem, types$4, treeView, asyncHelpers) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Converts values from templates (empty string or null) or boolean bindings to a boolean property representation
|
|
12
|
-
*/
|
|
13
|
-
var toBooleanProperty = function (value) {
|
|
14
|
-
if (value === false || value === null) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
// For boolean attributes the empty string value is true
|
|
18
|
-
return true;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Converts values from templates (empty string or null) or boolean bindings to an Aria boolean
|
|
22
|
-
* attribute representation (the strings "true" or "false")
|
|
8
|
+
* Directive to provide Angular integration for the breadcrumb.
|
|
23
9
|
*/
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
return 'false';
|
|
10
|
+
var NimbleBreadcrumbDirective = /** @class */ (function () {
|
|
11
|
+
function NimbleBreadcrumbDirective() {
|
|
27
12
|
}
|
|
28
|
-
|
|
29
|
-
return 'true';
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Converts values from templates (number representation as a string) or number bindings to a number property representation
|
|
33
|
-
*/
|
|
34
|
-
var toNumberProperty = function (value) {
|
|
35
|
-
// Angular: https://github.com/angular/angular/blob/2664bc2b3ef4ee5fd671f915828cfcc274a36c77/packages/forms/src/directives/number_value_accessor.ts#L67
|
|
36
|
-
// And Fast: https://github.com/microsoft/fast/blob/46bb6d9aab2c37105f4434db3795e176c2354a4f/packages/web-components/fast-element/src/components/attributes.ts#L100
|
|
37
|
-
// Handle numeric conversions from the view differently
|
|
38
|
-
// Since Number(val) https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number-constructor-number-value
|
|
39
|
-
// and val * 1 https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-applystringornumericbinaryoperator
|
|
40
|
-
// Are identical (use ToNumeric algorithm), went with Number() for clarity
|
|
41
|
-
return Number(value);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Directive to provide Angular integration for the button.
|
|
46
|
-
*/
|
|
47
|
-
var NimbleButtonDirective = /** @class */ (function () {
|
|
48
|
-
function NimbleButtonDirective(renderer, elementRef) {
|
|
49
|
-
this.renderer = renderer;
|
|
50
|
-
this.elementRef = elementRef;
|
|
51
|
-
}
|
|
52
|
-
Object.defineProperty(NimbleButtonDirective.prototype, "appearance", {
|
|
53
|
-
get: function () {
|
|
54
|
-
return this.elementRef.nativeElement.appearance;
|
|
55
|
-
},
|
|
56
|
-
set: function (value) {
|
|
57
|
-
this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);
|
|
58
|
-
},
|
|
59
|
-
enumerable: false,
|
|
60
|
-
configurable: true
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(NimbleButtonDirective.prototype, "disabled", {
|
|
63
|
-
get: function () {
|
|
64
|
-
return this.elementRef.nativeElement.disabled;
|
|
65
|
-
},
|
|
66
|
-
set: function (value) {
|
|
67
|
-
this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', toBooleanProperty(value));
|
|
68
|
-
},
|
|
69
|
-
enumerable: false,
|
|
70
|
-
configurable: true
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(NimbleButtonDirective.prototype, "type", {
|
|
73
|
-
get: function () {
|
|
74
|
-
return this.elementRef.nativeElement.type;
|
|
75
|
-
},
|
|
76
|
-
set: function (value) {
|
|
77
|
-
this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);
|
|
78
|
-
},
|
|
79
|
-
enumerable: false,
|
|
80
|
-
configurable: true
|
|
81
|
-
});
|
|
82
|
-
Object.defineProperty(NimbleButtonDirective.prototype, "contentHidden", {
|
|
83
|
-
get: function () {
|
|
84
|
-
return this.elementRef.nativeElement.contentHidden;
|
|
85
|
-
},
|
|
86
|
-
// contentHidden property intentionally maps to the content-hidden attribute
|
|
87
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
88
|
-
set: function (value) {
|
|
89
|
-
this.renderer.setProperty(this.elementRef.nativeElement, 'contentHidden', toBooleanProperty(value));
|
|
90
|
-
},
|
|
91
|
-
enumerable: false,
|
|
92
|
-
configurable: true
|
|
93
|
-
});
|
|
94
|
-
return NimbleButtonDirective;
|
|
13
|
+
return NimbleBreadcrumbDirective;
|
|
95
14
|
}());
|
|
96
|
-
|
|
15
|
+
NimbleBreadcrumbDirective.decorators = [
|
|
97
16
|
{ type: core.Directive, args: [{
|
|
98
|
-
selector: 'nimble-
|
|
17
|
+
selector: 'nimble-breadcrumb'
|
|
99
18
|
},] }
|
|
100
19
|
];
|
|
101
|
-
NimbleButtonDirective.ctorParameters = function () { return [
|
|
102
|
-
{ type: core.Renderer2 },
|
|
103
|
-
{ type: core.ElementRef }
|
|
104
|
-
]; };
|
|
105
|
-
NimbleButtonDirective.propDecorators = {
|
|
106
|
-
appearance: [{ type: core.Input }],
|
|
107
|
-
disabled: [{ type: core.Input }],
|
|
108
|
-
type: [{ type: core.Input }],
|
|
109
|
-
contentHidden: [{ type: core.Input, args: ['content-hidden',] }]
|
|
110
|
-
};
|
|
111
20
|
|
|
112
|
-
var
|
|
113
|
-
function
|
|
21
|
+
var NimbleBreadcrumbModule = /** @class */ (function () {
|
|
22
|
+
function NimbleBreadcrumbModule() {
|
|
114
23
|
}
|
|
115
|
-
return
|
|
24
|
+
return NimbleBreadcrumbModule;
|
|
116
25
|
}());
|
|
117
|
-
|
|
26
|
+
NimbleBreadcrumbModule.decorators = [
|
|
118
27
|
{ type: core.NgModule, args: [{
|
|
119
|
-
declarations: [
|
|
28
|
+
declarations: [NimbleBreadcrumbDirective],
|
|
120
29
|
imports: [common.CommonModule],
|
|
121
|
-
exports: [
|
|
30
|
+
exports: [NimbleBreadcrumbDirective]
|
|
122
31
|
},] }
|
|
123
32
|
];
|
|
124
33
|
|
|
@@ -440,6 +349,285 @@
|
|
|
440
349
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
441
350
|
}
|
|
442
351
|
|
|
352
|
+
/**
|
|
353
|
+
* Selectors used for built-in Angular RouterLink directives:
|
|
354
|
+
* RouterLink: ':not(a):not(area)[routerLink]'
|
|
355
|
+
* RouterLinkWithHref: 'a[routerLink],area[routerLink]'
|
|
356
|
+
*
|
|
357
|
+
* See https://github.com/angular/angular/blob/5957ff4163f55d814be2cf80b9909244f1ce5262/packages/router/src/directives/router_link.ts
|
|
358
|
+
*/
|
|
359
|
+
/**
|
|
360
|
+
* Directive to handle nimble-breadcrumb-item RouterLink support.
|
|
361
|
+
* Note: Clients need to use [nimbleRouterLink] instead of [routerLink], so that there
|
|
362
|
+
* won't also be an active RouterLink directive incorrectly handling navigation.
|
|
363
|
+
*/
|
|
364
|
+
var NimbleBreadcrumbItemRouterLinkWithHrefDirective = /** @class */ (function (_super) {
|
|
365
|
+
__extends(NimbleBreadcrumbItemRouterLinkWithHrefDirective, _super);
|
|
366
|
+
function NimbleBreadcrumbItemRouterLinkWithHrefDirective() {
|
|
367
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
368
|
+
}
|
|
369
|
+
Object.defineProperty(NimbleBreadcrumbItemRouterLinkWithHrefDirective.prototype, "nimbleRouterLink", {
|
|
370
|
+
set: function (commands) {
|
|
371
|
+
this.routerLink = commands;
|
|
372
|
+
},
|
|
373
|
+
enumerable: false,
|
|
374
|
+
configurable: true
|
|
375
|
+
});
|
|
376
|
+
return NimbleBreadcrumbItemRouterLinkWithHrefDirective;
|
|
377
|
+
}(router.RouterLinkWithHref));
|
|
378
|
+
NimbleBreadcrumbItemRouterLinkWithHrefDirective.decorators = [
|
|
379
|
+
{ type: core.Directive, args: [{ selector: 'nimble-breadcrumb-item[nimbleRouterLink]' },] }
|
|
380
|
+
];
|
|
381
|
+
NimbleBreadcrumbItemRouterLinkWithHrefDirective.propDecorators = {
|
|
382
|
+
nimbleRouterLink: [{ type: core.Input }]
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Directive to provide Angular integration for the breadcrumb item.
|
|
387
|
+
*/
|
|
388
|
+
var NimbleBreadcrumbItemDirective = /** @class */ (function () {
|
|
389
|
+
function NimbleBreadcrumbItemDirective(renderer, elementRef) {
|
|
390
|
+
this.renderer = renderer;
|
|
391
|
+
this.elementRef = elementRef;
|
|
392
|
+
}
|
|
393
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "href", {
|
|
394
|
+
get: function () {
|
|
395
|
+
return this.elementRef.nativeElement.href;
|
|
396
|
+
},
|
|
397
|
+
set: function (value) {
|
|
398
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'href', value);
|
|
399
|
+
},
|
|
400
|
+
enumerable: false,
|
|
401
|
+
configurable: true
|
|
402
|
+
});
|
|
403
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "hreflang", {
|
|
404
|
+
get: function () {
|
|
405
|
+
return this.elementRef.nativeElement.hreflang;
|
|
406
|
+
},
|
|
407
|
+
set: function (value) {
|
|
408
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'hreflang', value);
|
|
409
|
+
},
|
|
410
|
+
enumerable: false,
|
|
411
|
+
configurable: true
|
|
412
|
+
});
|
|
413
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "ping", {
|
|
414
|
+
get: function () {
|
|
415
|
+
return this.elementRef.nativeElement.ping;
|
|
416
|
+
},
|
|
417
|
+
set: function (value) {
|
|
418
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'ping', value);
|
|
419
|
+
},
|
|
420
|
+
enumerable: false,
|
|
421
|
+
configurable: true
|
|
422
|
+
});
|
|
423
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "referrerpolicy", {
|
|
424
|
+
get: function () {
|
|
425
|
+
return this.elementRef.nativeElement.referrerpolicy;
|
|
426
|
+
},
|
|
427
|
+
set: function (value) {
|
|
428
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'referrerpolicy', value);
|
|
429
|
+
},
|
|
430
|
+
enumerable: false,
|
|
431
|
+
configurable: true
|
|
432
|
+
});
|
|
433
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "rel", {
|
|
434
|
+
get: function () {
|
|
435
|
+
return this.elementRef.nativeElement.rel;
|
|
436
|
+
},
|
|
437
|
+
set: function (value) {
|
|
438
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'rel', value);
|
|
439
|
+
},
|
|
440
|
+
enumerable: false,
|
|
441
|
+
configurable: true
|
|
442
|
+
});
|
|
443
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "target", {
|
|
444
|
+
get: function () {
|
|
445
|
+
return this.elementRef.nativeElement.target;
|
|
446
|
+
},
|
|
447
|
+
set: function (value) {
|
|
448
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'target', value);
|
|
449
|
+
},
|
|
450
|
+
enumerable: false,
|
|
451
|
+
configurable: true
|
|
452
|
+
});
|
|
453
|
+
Object.defineProperty(NimbleBreadcrumbItemDirective.prototype, "type", {
|
|
454
|
+
get: function () {
|
|
455
|
+
return this.elementRef.nativeElement.type;
|
|
456
|
+
},
|
|
457
|
+
set: function (value) {
|
|
458
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);
|
|
459
|
+
},
|
|
460
|
+
enumerable: false,
|
|
461
|
+
configurable: true
|
|
462
|
+
});
|
|
463
|
+
return NimbleBreadcrumbItemDirective;
|
|
464
|
+
}());
|
|
465
|
+
NimbleBreadcrumbItemDirective.decorators = [
|
|
466
|
+
{ type: core.Directive, args: [{
|
|
467
|
+
selector: 'nimble-breadcrumb-item'
|
|
468
|
+
},] }
|
|
469
|
+
];
|
|
470
|
+
NimbleBreadcrumbItemDirective.ctorParameters = function () { return [
|
|
471
|
+
{ type: core.Renderer2 },
|
|
472
|
+
{ type: core.ElementRef }
|
|
473
|
+
]; };
|
|
474
|
+
NimbleBreadcrumbItemDirective.propDecorators = {
|
|
475
|
+
href: [{ type: core.Input }],
|
|
476
|
+
hreflang: [{ type: core.Input }],
|
|
477
|
+
ping: [{ type: core.Input }],
|
|
478
|
+
referrerpolicy: [{ type: core.Input }],
|
|
479
|
+
rel: [{ type: core.Input }],
|
|
480
|
+
target: [{ type: core.Input }],
|
|
481
|
+
type: [{ type: core.Input }]
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* Directive used solely to point consumers to use [nimbleRouterLink] / NimbleBreadcrumbItemRouterLinkWithHrefDirective.
|
|
486
|
+
*
|
|
487
|
+
* @see NimbleBreadcrumbItemRouterLinkWithHrefDirective
|
|
488
|
+
*/
|
|
489
|
+
var NimbleBreadcrumbItemRouterLinkDirective = /** @class */ (function () {
|
|
490
|
+
function NimbleBreadcrumbItemRouterLinkDirective() {
|
|
491
|
+
throw new Error('Use [nimbleRouterLink] instead of [routerLink].');
|
|
492
|
+
}
|
|
493
|
+
return NimbleBreadcrumbItemRouterLinkDirective;
|
|
494
|
+
}());
|
|
495
|
+
NimbleBreadcrumbItemRouterLinkDirective.decorators = [
|
|
496
|
+
{ type: core.Directive, args: [{ selector: 'nimble-breadcrumb-item[routerLink]' },] }
|
|
497
|
+
];
|
|
498
|
+
NimbleBreadcrumbItemRouterLinkDirective.ctorParameters = function () { return []; };
|
|
499
|
+
|
|
500
|
+
var NimbleBreadcrumbItemModule = /** @class */ (function () {
|
|
501
|
+
function NimbleBreadcrumbItemModule() {
|
|
502
|
+
}
|
|
503
|
+
return NimbleBreadcrumbItemModule;
|
|
504
|
+
}());
|
|
505
|
+
NimbleBreadcrumbItemModule.decorators = [
|
|
506
|
+
{ type: core.NgModule, args: [{
|
|
507
|
+
declarations: [NimbleBreadcrumbItemDirective, NimbleBreadcrumbItemRouterLinkDirective, NimbleBreadcrumbItemRouterLinkWithHrefDirective],
|
|
508
|
+
imports: [common.CommonModule],
|
|
509
|
+
exports: [NimbleBreadcrumbItemDirective, NimbleBreadcrumbItemRouterLinkDirective, NimbleBreadcrumbItemRouterLinkWithHrefDirective]
|
|
510
|
+
},] }
|
|
511
|
+
];
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Conversion helpers for values coming from template attributes or property bindings
|
|
515
|
+
*/
|
|
516
|
+
/**
|
|
517
|
+
* Converts values from templates (empty string or null) or boolean bindings to a boolean property representation
|
|
518
|
+
*/
|
|
519
|
+
var toBooleanProperty = function (value) {
|
|
520
|
+
if (value === false || value === null) {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
523
|
+
// For boolean attributes the empty string value is true
|
|
524
|
+
return true;
|
|
525
|
+
};
|
|
526
|
+
/**
|
|
527
|
+
* Converts values from templates (empty string or null) or boolean bindings to an Aria boolean
|
|
528
|
+
* attribute representation (the strings "true" or "false")
|
|
529
|
+
*/
|
|
530
|
+
var toBooleanAriaAttribute = function (value) {
|
|
531
|
+
if (value === false || value === null) {
|
|
532
|
+
return 'false';
|
|
533
|
+
}
|
|
534
|
+
// For boolean attributes the empty string value is true
|
|
535
|
+
return 'true';
|
|
536
|
+
};
|
|
537
|
+
/**
|
|
538
|
+
* Converts values from templates (number representation as a string) or number bindings to a number property representation
|
|
539
|
+
*/
|
|
540
|
+
var toNumberProperty = function (value) {
|
|
541
|
+
// Angular: https://github.com/angular/angular/blob/2664bc2b3ef4ee5fd671f915828cfcc274a36c77/packages/forms/src/directives/number_value_accessor.ts#L67
|
|
542
|
+
// And Fast: https://github.com/microsoft/fast/blob/46bb6d9aab2c37105f4434db3795e176c2354a4f/packages/web-components/fast-element/src/components/attributes.ts#L100
|
|
543
|
+
// Handle numeric conversions from the view differently
|
|
544
|
+
// Since Number(val) https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number-constructor-number-value
|
|
545
|
+
// and val * 1 https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-applystringornumericbinaryoperator
|
|
546
|
+
// Are identical (use ToNumeric algorithm), went with Number() for clarity
|
|
547
|
+
return Number(value);
|
|
548
|
+
};
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* Directive to provide Angular integration for the button.
|
|
552
|
+
*/
|
|
553
|
+
var NimbleButtonDirective = /** @class */ (function () {
|
|
554
|
+
function NimbleButtonDirective(renderer, elementRef) {
|
|
555
|
+
this.renderer = renderer;
|
|
556
|
+
this.elementRef = elementRef;
|
|
557
|
+
}
|
|
558
|
+
Object.defineProperty(NimbleButtonDirective.prototype, "appearance", {
|
|
559
|
+
get: function () {
|
|
560
|
+
return this.elementRef.nativeElement.appearance;
|
|
561
|
+
},
|
|
562
|
+
set: function (value) {
|
|
563
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'appearance', value);
|
|
564
|
+
},
|
|
565
|
+
enumerable: false,
|
|
566
|
+
configurable: true
|
|
567
|
+
});
|
|
568
|
+
Object.defineProperty(NimbleButtonDirective.prototype, "disabled", {
|
|
569
|
+
get: function () {
|
|
570
|
+
return this.elementRef.nativeElement.disabled;
|
|
571
|
+
},
|
|
572
|
+
set: function (value) {
|
|
573
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', toBooleanProperty(value));
|
|
574
|
+
},
|
|
575
|
+
enumerable: false,
|
|
576
|
+
configurable: true
|
|
577
|
+
});
|
|
578
|
+
Object.defineProperty(NimbleButtonDirective.prototype, "type", {
|
|
579
|
+
get: function () {
|
|
580
|
+
return this.elementRef.nativeElement.type;
|
|
581
|
+
},
|
|
582
|
+
set: function (value) {
|
|
583
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'type', value);
|
|
584
|
+
},
|
|
585
|
+
enumerable: false,
|
|
586
|
+
configurable: true
|
|
587
|
+
});
|
|
588
|
+
Object.defineProperty(NimbleButtonDirective.prototype, "contentHidden", {
|
|
589
|
+
get: function () {
|
|
590
|
+
return this.elementRef.nativeElement.contentHidden;
|
|
591
|
+
},
|
|
592
|
+
// contentHidden property intentionally maps to the content-hidden attribute
|
|
593
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
594
|
+
set: function (value) {
|
|
595
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'contentHidden', toBooleanProperty(value));
|
|
596
|
+
},
|
|
597
|
+
enumerable: false,
|
|
598
|
+
configurable: true
|
|
599
|
+
});
|
|
600
|
+
return NimbleButtonDirective;
|
|
601
|
+
}());
|
|
602
|
+
NimbleButtonDirective.decorators = [
|
|
603
|
+
{ type: core.Directive, args: [{
|
|
604
|
+
selector: 'nimble-button'
|
|
605
|
+
},] }
|
|
606
|
+
];
|
|
607
|
+
NimbleButtonDirective.ctorParameters = function () { return [
|
|
608
|
+
{ type: core.Renderer2 },
|
|
609
|
+
{ type: core.ElementRef }
|
|
610
|
+
]; };
|
|
611
|
+
NimbleButtonDirective.propDecorators = {
|
|
612
|
+
appearance: [{ type: core.Input }],
|
|
613
|
+
disabled: [{ type: core.Input }],
|
|
614
|
+
type: [{ type: core.Input }],
|
|
615
|
+
contentHidden: [{ type: core.Input, args: ['content-hidden',] }]
|
|
616
|
+
};
|
|
617
|
+
|
|
618
|
+
var NimbleButtonModule = /** @class */ (function () {
|
|
619
|
+
function NimbleButtonModule() {
|
|
620
|
+
}
|
|
621
|
+
return NimbleButtonModule;
|
|
622
|
+
}());
|
|
623
|
+
NimbleButtonModule.decorators = [
|
|
624
|
+
{ type: core.NgModule, args: [{
|
|
625
|
+
declarations: [NimbleButtonDirective],
|
|
626
|
+
imports: [common.CommonModule],
|
|
627
|
+
exports: [NimbleButtonDirective]
|
|
628
|
+
},] }
|
|
629
|
+
];
|
|
630
|
+
|
|
443
631
|
/**
|
|
444
632
|
* Extension of Angular's CheckboxControlValueAccessor to target the Nimble checkbox control.
|
|
445
633
|
*
|
|
@@ -1447,6 +1635,11 @@
|
|
|
1447
1635
|
enumerable: true,
|
|
1448
1636
|
get: function () { return asyncHelpers.processUpdates; }
|
|
1449
1637
|
});
|
|
1638
|
+
exports.NimbleBreadcrumbDirective = NimbleBreadcrumbDirective;
|
|
1639
|
+
exports.NimbleBreadcrumbItemDirective = NimbleBreadcrumbItemDirective;
|
|
1640
|
+
exports.NimbleBreadcrumbItemModule = NimbleBreadcrumbItemModule;
|
|
1641
|
+
exports.NimbleBreadcrumbItemRouterLinkWithHrefDirective = NimbleBreadcrumbItemRouterLinkWithHrefDirective;
|
|
1642
|
+
exports.NimbleBreadcrumbModule = NimbleBreadcrumbModule;
|
|
1450
1643
|
exports.NimbleButtonDirective = NimbleButtonDirective;
|
|
1451
1644
|
exports.NimbleButtonModule = NimbleButtonModule;
|
|
1452
1645
|
exports.NimbleCheckboxControlValueAccessorDirective = NimbleCheckboxControlValueAccessorDirective;
|
|
@@ -1486,7 +1679,8 @@
|
|
|
1486
1679
|
exports.NimbleTreeViewDirective = NimbleTreeViewDirective;
|
|
1487
1680
|
exports.NimbleTreeViewModule = NimbleTreeViewModule;
|
|
1488
1681
|
exports.waitForUpdatesAsync = waitForUpdatesAsync;
|
|
1489
|
-
exports["ɵa"] =
|
|
1682
|
+
exports["ɵa"] = NimbleBreadcrumbItemRouterLinkDirective;
|
|
1683
|
+
exports["ɵb"] = NimbleToggleButtonControlValueAccessorDirective;
|
|
1490
1684
|
|
|
1491
1685
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1492
1686
|
|