@ni/nimble-angular 16.5.30 → 16.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/directives/anchor/nimble-anchor.directive.d.ts +1 -1
  2. package/directives/anchor-button/nimble-anchor-button.directive.d.ts +1 -1
  3. package/directives/anchor-menu-item/nimble-anchor-menu-item.directive.d.ts +1 -1
  4. package/directives/anchor-tab/nimble-anchor-tab.directive.d.ts +1 -1
  5. package/directives/anchor-tree-item/nimble-anchor-tree-item.directive.d.ts +1 -1
  6. package/directives/banner/nimble-banner.directive.d.ts +1 -1
  7. package/directives/button/nimble-button.directive.d.ts +1 -1
  8. package/directives/card-button/nimble-card-button.directive.d.ts +1 -1
  9. package/directives/checkbox/nimble-checkbox.directive.d.ts +1 -1
  10. package/directives/combobox/nimble-combobox.directive.d.ts +1 -1
  11. package/directives/dialog/nimble-dialog.directive.d.ts +1 -1
  12. package/directives/drawer/nimble-drawer.directive.d.ts +1 -1
  13. package/directives/list-option/nimble-combobox-list-option.directive.d.ts +1 -1
  14. package/directives/list-option/nimble-select-list-option.directive.d.ts +1 -1
  15. package/directives/menu-button/nimble-menu-button.directive.d.ts +1 -1
  16. package/directives/menu-item/nimble-menu-item.directive.d.ts +1 -1
  17. package/directives/number-field/nimble-number-field.directive.d.ts +1 -1
  18. package/directives/radio/nimble-radio.directive.d.ts +1 -1
  19. package/directives/radio-group/nimble-radio-group.directive.d.ts +1 -1
  20. package/directives/select/nimble-select.directive.d.ts +1 -1
  21. package/directives/switch/nimble-switch.directive.d.ts +1 -1
  22. package/directives/tab/nimble-tab.directive.d.ts +1 -1
  23. package/directives/text-area/nimble-text-area.directive.d.ts +1 -1
  24. package/directives/text-field/nimble-text-field.directive.d.ts +1 -1
  25. package/directives/toggle-button/nimble-toggle-button.directive.d.ts +1 -1
  26. package/directives/tooltip/nimble-tooltip.directive.d.ts +1 -1
  27. package/directives/tree-item/nimble-tree-item.directive.d.ts +1 -1
  28. package/esm2020/directives/anchor/nimble-anchor.directive.mjs +2 -2
  29. package/esm2020/directives/anchor-button/nimble-anchor-button.directive.mjs +2 -2
  30. package/esm2020/directives/anchor-menu-item/nimble-anchor-menu-item.directive.mjs +2 -2
  31. package/esm2020/directives/anchor-tab/nimble-anchor-tab.directive.mjs +2 -2
  32. package/esm2020/directives/anchor-tree-item/nimble-anchor-tree-item.directive.mjs +2 -2
  33. package/esm2020/directives/banner/nimble-banner.directive.mjs +2 -2
  34. package/esm2020/directives/button/nimble-button.directive.mjs +2 -2
  35. package/esm2020/directives/card-button/nimble-card-button.directive.mjs +2 -2
  36. package/esm2020/directives/checkbox/nimble-checkbox.directive.mjs +2 -2
  37. package/esm2020/directives/combobox/nimble-combobox.directive.mjs +2 -2
  38. package/esm2020/directives/dialog/nimble-dialog.directive.mjs +2 -2
  39. package/esm2020/directives/drawer/nimble-drawer.directive.mjs +2 -2
  40. package/esm2020/directives/list-option/nimble-combobox-list-option.directive.mjs +2 -2
  41. package/esm2020/directives/list-option/nimble-select-list-option.directive.mjs +2 -2
  42. package/esm2020/directives/menu-button/nimble-menu-button.directive.mjs +2 -2
  43. package/esm2020/directives/menu-item/nimble-menu-item.directive.mjs +2 -2
  44. package/esm2020/directives/number-field/nimble-number-field.directive.mjs +2 -2
  45. package/esm2020/directives/radio/nimble-radio.directive.mjs +2 -2
  46. package/esm2020/directives/radio-group/nimble-radio-group.directive.mjs +2 -2
  47. package/esm2020/directives/select/nimble-select.directive.mjs +2 -2
  48. package/esm2020/directives/switch/nimble-switch.directive.mjs +2 -2
  49. package/esm2020/directives/tab/nimble-tab.directive.mjs +2 -2
  50. package/esm2020/directives/text-area/nimble-text-area.directive.mjs +2 -2
  51. package/esm2020/directives/text-field/nimble-text-field.directive.mjs +2 -2
  52. package/esm2020/directives/toggle-button/nimble-toggle-button.directive.mjs +2 -2
  53. package/esm2020/directives/tooltip/nimble-tooltip.directive.mjs +2 -2
  54. package/esm2020/directives/tree-item/nimble-tree-item.directive.mjs +2 -2
  55. package/esm2020/internal-utilities/ni-nimble-angular-internal-utilities.mjs +5 -0
  56. package/esm2020/internal-utilities/public-api.mjs +2 -0
  57. package/esm2020/internal-utilities/template-value-helpers.mjs +47 -0
  58. package/esm2020/public-api.mjs +1 -9
  59. package/esm2020/table/ni-nimble-angular-table.mjs +5 -0
  60. package/esm2020/table/nimble-table.directive.mjs +76 -0
  61. package/esm2020/{directives/table → table}/nimble-table.module.mjs +1 -1
  62. package/esm2020/table/public-api.mjs +3 -0
  63. package/esm2020/table/testing/ni-nimble-angular-table-testing.mjs +5 -0
  64. package/esm2020/table/testing/public-api.mjs +2 -0
  65. package/esm2020/table/testing/table.pageobject.mjs +3 -0
  66. package/esm2020/table-column/anchor/ni-nimble-angular-table-column-anchor.mjs +5 -0
  67. package/esm2020/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.mjs +41 -0
  68. package/esm2020/{directives/table-column → table-column}/anchor/nimble-table-column-anchor-router-link.directive.mjs +1 -1
  69. package/esm2020/table-column/anchor/nimble-table-column-anchor.directive.mjs +172 -0
  70. package/esm2020/table-column/anchor/nimble-table-column-anchor.module.mjs +21 -0
  71. package/esm2020/table-column/anchor/public-api.mjs +5 -0
  72. package/esm2020/table-column/ni-nimble-angular-table-column.mjs +5 -0
  73. package/esm2020/table-column/nimble-table-column-base.directive.mjs +86 -0
  74. package/esm2020/table-column/public-api.mjs +2 -0
  75. package/esm2020/table-column/text/ni-nimble-angular-table-column-text.mjs +5 -0
  76. package/esm2020/table-column/text/nimble-table-column-text.directive.mjs +82 -0
  77. package/esm2020/{directives/table-column → table-column}/text/nimble-table-column-text.module.mjs +1 -1
  78. package/esm2020/table-column/text/public-api.mjs +3 -0
  79. package/fesm2015/ni-nimble-angular-internal-utilities.mjs +53 -0
  80. package/fesm2015/ni-nimble-angular-internal-utilities.mjs.map +1 -0
  81. package/fesm2015/ni-nimble-angular-table-column-anchor.mjs +250 -0
  82. package/fesm2015/ni-nimble-angular-table-column-anchor.mjs.map +1 -0
  83. package/fesm2015/ni-nimble-angular-table-column-text.mjs +105 -0
  84. package/fesm2015/ni-nimble-angular-table-column-text.mjs.map +1 -0
  85. package/fesm2015/ni-nimble-angular-table-column.mjs +92 -0
  86. package/fesm2015/ni-nimble-angular-table-column.mjs.map +1 -0
  87. package/fesm2015/ni-nimble-angular-table-testing.mjs +6 -0
  88. package/fesm2015/ni-nimble-angular-table-testing.mjs.map +1 -0
  89. package/fesm2015/ni-nimble-angular-table.mjs +107 -0
  90. package/fesm2015/ni-nimble-angular-table.mjs.map +1 -0
  91. package/fesm2015/ni-nimble-angular.mjs +2 -555
  92. package/fesm2015/ni-nimble-angular.mjs.map +1 -1
  93. package/fesm2020/ni-nimble-angular-internal-utilities.mjs +53 -0
  94. package/fesm2020/ni-nimble-angular-internal-utilities.mjs.map +1 -0
  95. package/fesm2020/ni-nimble-angular-table-column-anchor.mjs +250 -0
  96. package/fesm2020/ni-nimble-angular-table-column-anchor.mjs.map +1 -0
  97. package/fesm2020/ni-nimble-angular-table-column-text.mjs +105 -0
  98. package/fesm2020/ni-nimble-angular-table-column-text.mjs.map +1 -0
  99. package/fesm2020/ni-nimble-angular-table-column.mjs +92 -0
  100. package/fesm2020/ni-nimble-angular-table-column.mjs.map +1 -0
  101. package/fesm2020/ni-nimble-angular-table-testing.mjs +6 -0
  102. package/fesm2020/ni-nimble-angular-table-testing.mjs.map +1 -0
  103. package/fesm2020/ni-nimble-angular-table.mjs +98 -0
  104. package/fesm2020/ni-nimble-angular-table.mjs.map +1 -0
  105. package/fesm2020/ni-nimble-angular.mjs +2 -547
  106. package/fesm2020/ni-nimble-angular.mjs.map +1 -1
  107. package/internal-utilities/index.d.ts +5 -0
  108. package/internal-utilities/public-api.d.ts +1 -0
  109. package/package.json +50 -2
  110. package/public-api.d.ts +0 -8
  111. package/table/index.d.ts +5 -0
  112. package/table/public-api.d.ts +2 -0
  113. package/table/testing/index.d.ts +5 -0
  114. package/table/testing/public-api.d.ts +1 -0
  115. package/table/testing/table.pageobject.d.ts +2 -0
  116. package/table-column/anchor/index.d.ts +5 -0
  117. package/{directives/table-column → table-column}/anchor/nimble-table-column-anchor.directive.d.ts +3 -2
  118. package/table-column/anchor/public-api.d.ts +4 -0
  119. package/table-column/index.d.ts +5 -0
  120. package/{directives/table-column/base → table-column}/nimble-table-column-base.directive.d.ts +1 -1
  121. package/table-column/public-api.d.ts +1 -0
  122. package/table-column/text/index.d.ts +5 -0
  123. package/{directives/table-column → table-column}/text/nimble-table-column-text.directive.d.ts +2 -2
  124. package/table-column/text/public-api.d.ts +2 -0
  125. package/esm2020/directives/table/nimble-table.directive.mjs +0 -76
  126. package/esm2020/directives/table-column/anchor/nimble-table-column-anchor-router-link-with-href.directive.mjs +0 -41
  127. package/esm2020/directives/table-column/anchor/nimble-table-column-anchor.directive.mjs +0 -170
  128. package/esm2020/directives/table-column/anchor/nimble-table-column-anchor.module.mjs +0 -21
  129. package/esm2020/directives/table-column/base/nimble-table-column-base.directive.mjs +0 -86
  130. package/esm2020/directives/table-column/text/nimble-table-column-text.directive.mjs +0 -82
  131. package/esm2020/directives/utilities/template-value-helpers.mjs +0 -47
  132. /package/{directives/utilities → internal-utilities}/template-value-helpers.d.ts +0 -0
  133. /package/{directives/table → table}/nimble-table.directive.d.ts +0 -0
  134. /package/{directives/table → table}/nimble-table.module.d.ts +0 -0
  135. /package/{directives/table-column → table-column}/anchor/nimble-table-column-anchor-router-link-with-href.directive.d.ts +0 -0
  136. /package/{directives/table-column → table-column}/anchor/nimble-table-column-anchor-router-link.directive.d.ts +0 -0
  137. /package/{directives/table-column → table-column}/anchor/nimble-table-column-anchor.module.d.ts +0 -0
  138. /package/{directives/table-column → table-column}/text/nimble-table-column-text.module.d.ts +0 -0
@@ -0,0 +1,98 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, NgModule } from '@angular/core';
3
+ export { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';
4
+ import { CommonModule } from '@angular/common';
5
+ import '@ni/nimble-components/dist/esm/table';
6
+
7
+ /**
8
+ * Directive to provide Angular integration for the table element.
9
+ */
10
+ class NimbleTableDirective {
11
+ constructor(renderer, elementRef) {
12
+ this.renderer = renderer;
13
+ this.elementRef = elementRef;
14
+ }
15
+ get data$() {
16
+ return this.dataObservable;
17
+ }
18
+ set data$(value) {
19
+ this.dataSubscription?.unsubscribe();
20
+ this.dataObservable = value;
21
+ if (value) {
22
+ this.dataSubscription = value.subscribe(next => {
23
+ void this.setData(next);
24
+ });
25
+ }
26
+ }
27
+ get idFieldName() {
28
+ return this.elementRef.nativeElement.idFieldName;
29
+ }
30
+ // Renaming because property should have camel casing, but attribute should not
31
+ // eslint-disable-next-line @angular-eslint/no-input-rename
32
+ set idFieldName(value) {
33
+ this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);
34
+ }
35
+ get selectionMode() {
36
+ return this.elementRef.nativeElement.selectionMode;
37
+ }
38
+ // Renaming because property should have camel casing, but attribute should not
39
+ // eslint-disable-next-line @angular-eslint/no-input-rename
40
+ set selectionMode(value) {
41
+ this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);
42
+ }
43
+ get validity() {
44
+ return this.elementRef.nativeElement.validity;
45
+ }
46
+ ngOnDestroy() {
47
+ this.dataSubscription?.unsubscribe();
48
+ }
49
+ checkValidity() {
50
+ return this.elementRef.nativeElement.checkValidity();
51
+ }
52
+ async setData(data) {
53
+ return this.elementRef.nativeElement.setData(data);
54
+ }
55
+ async getSelectedRecordIds() {
56
+ return this.elementRef.nativeElement.getSelectedRecordIds();
57
+ }
58
+ async setSelectedRecordIds(recordIds) {
59
+ return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);
60
+ }
61
+ }
62
+ NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
63
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableDirective, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: 'nimble-table'
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { data$: [{
70
+ type: Input
71
+ }], idFieldName: [{
72
+ type: Input,
73
+ args: ['id-field-name']
74
+ }], selectionMode: [{
75
+ type: Input,
76
+ args: ['selection-mode']
77
+ }] } });
78
+
79
+ class NimbleTableModule {
80
+ }
81
+ NimbleTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
82
+ NimbleTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableModule, declarations: [NimbleTableDirective], imports: [CommonModule], exports: [NimbleTableDirective] });
83
+ NimbleTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableModule, imports: [CommonModule] });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableModule, decorators: [{
85
+ type: NgModule,
86
+ args: [{
87
+ declarations: [NimbleTableDirective],
88
+ imports: [CommonModule],
89
+ exports: [NimbleTableDirective]
90
+ }]
91
+ }] });
92
+
93
+ /**
94
+ * Generated bundle index. Do not edit.
95
+ */
96
+
97
+ export { NimbleTableDirective, NimbleTableModule };
98
+ //# sourceMappingURL=ni-nimble-angular-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ni-nimble-angular-table.mjs","sources":["../../../../projects/ni/nimble-angular/table/nimble-table.directive.ts","../../../../projects/ni/nimble-angular/table/nimble-table.module.ts","../../../../projects/ni/nimble-angular/table/ni-nimble-angular-table.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport type { Table } from '@ni/nimble-components/dist/esm/table';\nimport type { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration } from '@ni/nimble-components/dist/esm/table/types';\nimport { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';\nimport type { Observable, Subscription } from 'rxjs';\n\nexport type { Table };\nexport type { TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration };\nexport { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableRowSelectionMode };\n\n/**\n * Directive to provide Angular integration for the table element.\n */\n@Directive({\n selector: 'nimble-table'\n})\nexport class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {\n public get data$(): Observable<TData[]> | undefined {\n return this.dataObservable;\n }\n\n @Input() public set data$(value: Observable<TData[]> | undefined) {\n this.dataSubscription?.unsubscribe();\n\n this.dataObservable = value;\n if (value) {\n this.dataSubscription = value.subscribe(\n next => {\n void this.setData(next);\n }\n );\n }\n }\n\n public get idFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.idFieldName;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('id-field-name') public set idFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);\n }\n\n public get selectionMode(): TableRowSelectionMode {\n return this.elementRef.nativeElement.selectionMode;\n }\n\n // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('selection-mode') public set selectionMode(value: TableRowSelectionMode) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);\n }\n\n public get validity(): TableValidity {\n return this.elementRef.nativeElement.validity;\n }\n\n private dataObservable?: Observable<TData[]>;\n private dataSubscription?: Subscription;\n\n public constructor(private readonly renderer: Renderer2, private readonly elementRef: ElementRef<Table<TData>>) {}\n\n public ngOnDestroy(): void {\n this.dataSubscription?.unsubscribe();\n }\n\n public checkValidity(): boolean {\n return this.elementRef.nativeElement.checkValidity();\n }\n\n public async setData(data: readonly TData[]): Promise<void> {\n return this.elementRef.nativeElement.setData(data);\n }\n\n public async getSelectedRecordIds(): Promise<string[]> {\n return this.elementRef.nativeElement.getSelectedRecordIds();\n }\n\n public async setSelectedRecordIds(recordIds: string[]): Promise<void> {\n return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableDirective } from './nimble-table.directive';\n\nimport '@ni/nimble-components/dist/esm/table';\n\n@NgModule({\n declarations: [NimbleTableDirective],\n imports: [CommonModule],\n exports: [NimbleTableDirective]\n})\nexport class NimbleTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}