@odx/angular 12.7.0 → 12.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cdk/autocomplete-control/index.d.ts +1 -0
  3. package/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.d.ts +19 -0
  4. package/cdk/autocomplete-control/lib/directives/index.d.ts +1 -0
  5. package/components/data-table/README.md +3 -0
  6. package/components/data-table/index.d.ts +4 -0
  7. package/components/data-table/lib/data-table.component.d.ts +32 -0
  8. package/components/data-table/lib/data-table.module.d.ts +14 -0
  9. package/components/data-table/lib/directives/cell-def.directive.d.ts +7 -0
  10. package/components/data-table/lib/directives/cell.directive.d.ts +5 -0
  11. package/components/data-table/lib/directives/column-def.directive.d.ts +11 -0
  12. package/components/data-table/lib/directives/header-cell-def.directive.d.ts +7 -0
  13. package/components/data-table/lib/directives/header-cell.directive.d.ts +5 -0
  14. package/components/data-table/lib/directives/index.d.ts +6 -0
  15. package/components/data-table/lib/directives/table-empty.directive.d.ts +5 -0
  16. package/components/data-table/lib/models/index.d.ts +3 -0
  17. package/components/data-table/lib/models/sort-direction.d.ts +6 -0
  18. package/components/data-table/lib/models/sort-state.d.ts +5 -0
  19. package/components/data-table/lib/models/table-variant.d.ts +5 -0
  20. package/components/main-menu/lib/main-menu.component.d.ts +0 -1
  21. package/components/modal/lib/modal.component.d.ts +1 -1
  22. package/components/table/lib/components/header-title/header-title.component.d.ts +2 -2
  23. package/components/table/lib/models/header-cell.d.ts +1 -2
  24. package/components/table/lib/models/index.d.ts +1 -2
  25. package/components/table/lib/table.component.d.ts +3 -3
  26. package/esm2022/cdk/autocomplete-control/index.mjs +2 -1
  27. package/esm2022/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.mjs +43 -0
  28. package/esm2022/cdk/autocomplete-control/lib/directives/index.mjs +2 -0
  29. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +2 -2
  30. package/esm2022/components/data-table/index.mjs +5 -0
  31. package/esm2022/components/data-table/lib/data-table.component.mjs +51 -0
  32. package/esm2022/components/data-table/lib/data-table.module.mjs +19 -0
  33. package/esm2022/components/data-table/lib/directives/cell-def.directive.mjs +17 -0
  34. package/esm2022/components/data-table/lib/directives/cell.directive.mjs +18 -0
  35. package/esm2022/components/data-table/lib/directives/column-def.directive.mjs +27 -0
  36. package/esm2022/components/data-table/lib/directives/header-cell-def.directive.mjs +17 -0
  37. package/esm2022/components/data-table/lib/directives/header-cell.directive.mjs +18 -0
  38. package/esm2022/components/data-table/lib/directives/index.mjs +7 -0
  39. package/esm2022/components/data-table/lib/directives/table-empty.directive.mjs +11 -0
  40. package/esm2022/components/data-table/lib/models/index.mjs +4 -0
  41. package/esm2022/components/data-table/lib/models/sort-direction.mjs +6 -0
  42. package/esm2022/components/data-table/lib/models/sort-state.mjs +2 -0
  43. package/esm2022/components/data-table/lib/models/table-variant.mjs +5 -0
  44. package/esm2022/components/data-table/odx-angular-components-data-table.mjs +5 -0
  45. package/esm2022/components/main-menu/lib/main-menu.component.mjs +4 -8
  46. package/esm2022/components/modal/lib/modal.component.mjs +8 -10
  47. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +1 -1
  48. package/esm2022/components/table/lib/models/header-cell.mjs +1 -1
  49. package/esm2022/components/table/lib/models/index.mjs +2 -3
  50. package/esm2022/components/table/lib/models/table-body-cell.mjs +2 -0
  51. package/esm2022/components/table/lib/table.component.mjs +7 -19
  52. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -5
  53. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +43 -2
  54. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  55. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -1
  56. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  57. package/fesm2022/odx-angular-components-data-table.mjs +176 -0
  58. package/fesm2022/odx-angular-components-data-table.mjs.map +1 -0
  59. package/fesm2022/odx-angular-components-main-menu.mjs +3 -7
  60. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  61. package/fesm2022/odx-angular-components-modal.mjs +7 -6
  62. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  63. package/fesm2022/odx-angular-components-table.mjs +6 -18
  64. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  65. package/fesm2022/odx-angular-components-toast.mjs +5 -4
  66. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  67. package/package.json +13 -7
  68. package/components/table/lib/models/column-width.d.ts +0 -5
  69. package/esm2022/components/table/lib/models/body-cell.mjs +0 -2
  70. package/esm2022/components/table/lib/models/column-width.mjs +0 -2
  71. /package/components/table/lib/models/{body-cell.d.ts → table-body-cell.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 12.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a060753: New Data Table component
8
+
9
+ ## 12.8.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 1534f03: Fixed product fruits newsfeed alignment. Fixed error for "no method hidePopover()".
14
+ - 0fa3302: added the HighlightSearch directive for highlighting search results
15
+
16
+ ### Patch Changes
17
+
18
+ - eaa0e3d: fixed: events propagation for file inputs in modals
19
+
3
20
  ## 12.7.0
4
21
 
5
22
  ### Minor Changes
@@ -1,2 +1,3 @@
1
1
  export * from './lib/autocomplete-control';
2
+ export * from './lib/directives';
2
3
  export * from './lib/pipes';
@@ -0,0 +1,19 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HighlightSearchDirective {
3
+ private readonly sanitizer;
4
+ protected highlightedText: import("@angular/core").Signal<import("@angular/platform-browser").SafeHtml>;
5
+ /**
6
+ * Search string
7
+ * @required
8
+ * @type string
9
+ */
10
+ odxHighlightSearch: import("@angular/core").InputSignal<string>;
11
+ /**
12
+ * Text to highlight
13
+ * @required
14
+ * @type string
15
+ */
16
+ text: import("@angular/core").InputSignal<string>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<HighlightSearchDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HighlightSearchDirective, "odx-highlight", never, { "odxHighlightSearch": { "alias": "odxHighlightSearch"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
19
+ }
@@ -0,0 +1 @@
1
+ export * from './highlight-search-result.directive';
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/data-table
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/data-table`.
@@ -0,0 +1,4 @@
1
+ export * from './lib/data-table.component';
2
+ export * from './lib/data-table.module';
3
+ export * from './lib/directives';
4
+ export * from './lib/models';
@@ -0,0 +1,32 @@
1
+ import { Signal } from '@angular/core';
2
+ import { ColumnDef } from './directives';
3
+ import { TableVariant } from './models';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * DataTableComponent is a dynamic table structure built for displaying content.
7
+ */
8
+ export declare class DataTableComponent<T = unknown> {
9
+ protected columnDefs: Signal<readonly ColumnDef[]>;
10
+ protected orderedColumns: Signal<readonly ColumnDef[]>;
11
+ /**
12
+ * The data to be displayed in the table.
13
+ * @required
14
+ * @type {T[]}
15
+ */
16
+ dataSource: import("@angular/core").InputSignal<T[]>;
17
+ /**
18
+ * The columns to be displayed in the table.
19
+ * @required
20
+ * @type {string[]}
21
+ */
22
+ displayedColumns: import("@angular/core").InputSignal<string[]>;
23
+ /**
24
+ * The variant of the table.
25
+ * @default TableVariant.DEFAULT
26
+ * @type {TableVariant}
27
+ */
28
+ variant: import("@angular/core").InputSignal<TableVariant>;
29
+ protected get classList(): Signal<string>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent<any>, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent<any>, "table[odxDataTable]", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["columnDefs"], ["odx-table-empty"], true, never>;
32
+ }
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./data-table.component";
3
+ import * as i2 from "./directives/cell-def.directive";
4
+ import * as i3 from "./directives/column-def.directive";
5
+ import * as i4 from "./directives/header-cell-def.directive";
6
+ import * as i5 from "./directives/table-empty.directive";
7
+ import * as i6 from "./directives/cell.directive";
8
+ import * as i7 from "./directives/header-cell.directive";
9
+ import * as i8 from "@odx/angular";
10
+ export declare class DataTableModule {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataTableModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DataTableModule, never, [typeof i1.DataTableComponent, typeof i2.CellDef, typeof i3.ColumnDef, typeof i4.HeaderCellDef, typeof i5.TableEmptyDirective, typeof i6.CellDirective, typeof i7.HeaderCellDirective], [typeof i8.CoreModule, typeof i1.DataTableComponent, typeof i2.CellDef, typeof i3.ColumnDef, typeof i4.HeaderCellDef, typeof i5.TableEmptyDirective, typeof i6.CellDirective, typeof i7.HeaderCellDirective]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<DataTableModule>;
14
+ }
@@ -0,0 +1,7 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CellDef {
4
+ template: TemplateRef<any>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellDef, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CellDef, "[odxCellDef]", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CellDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CellDirective, "td[odxCell]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ColumnDef {
4
+ private readonly headerCellDef;
5
+ private readonly cellDef;
6
+ name: import("@angular/core").InputSignal<string>;
7
+ getHeaderTemplate(): TemplateRef<unknown> | null;
8
+ getCellTemplate(): TemplateRef<unknown> | null;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnDef, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnDef, "[odxColumnDef]", never, { "name": { "alias": "odxColumnDef"; "required": true; "isSignal": true; }; }, {}, ["headerCellDef", "cellDef"], never, true, never>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class HeaderCellDef {
4
+ template: TemplateRef<any>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderCellDef, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderCellDef, "[odxHeaderCellDef]", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HeaderCellDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderCellDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderCellDirective, "th[odxHeaderCell]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,6 @@
1
+ export * from './cell-def.directive';
2
+ export * from './cell.directive';
3
+ export * from './column-def.directive';
4
+ export * from './header-cell-def.directive';
5
+ export * from './header-cell.directive';
6
+ export * from './table-empty.directive';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TableEmptyDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableEmptyDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TableEmptyDirective, "odx-table-empty", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,3 @@
1
+ export * from './sort-direction';
2
+ export * from './sort-state';
3
+ export * from './table-variant';
@@ -0,0 +1,6 @@
1
+ export type SortDirection = (typeof SortDirection)[keyof typeof SortDirection];
2
+ export declare const SortDirection: {
3
+ readonly UNSORTED: "unsorted";
4
+ readonly ASC: "asc";
5
+ readonly DESC: "desc";
6
+ };
@@ -0,0 +1,5 @@
1
+ import { SortDirection } from './sort-direction';
2
+ export interface SortState {
3
+ column: string;
4
+ sortVariant: SortDirection;
5
+ }
@@ -0,0 +1,5 @@
1
+ export type TableVariant = typeof TableVariant[keyof typeof TableVariant];
2
+ export declare const TableVariant: {
3
+ readonly DEFAULT: "default";
4
+ readonly STRIPED: "striped";
5
+ };
@@ -60,7 +60,6 @@ export declare class MainMenuComponent implements AfterViewInit {
60
60
  */
61
61
  close(): void;
62
62
  private slideMenuInner;
63
- private isPopoverElement;
64
63
  static ɵfac: i0.ɵɵFactoryDeclaration<MainMenuComponent, never>;
65
64
  static ɵcmp: i0.ɵɵComponentDeclaration<MainMenuComponent, "odx-main-menu", never, { "title": { "alias": "title"; "required": true; }; "subtitle": { "alias": "subtitle"; "required": false; }; "copyright": { "alias": "copyright"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "menuOpen": "menuOpen"; }, never, ["*", "[odxLink]"], true, never>;
66
65
  static ngAcceptInputType_isOpen: unknown;
@@ -42,7 +42,7 @@ export declare class ModalComponent implements OnChanges {
42
42
  constructor();
43
43
  ngOnChanges(changes: NgChanges<ModalComponent>): void;
44
44
  protected preventNativeDismiss(event: KeyboardEvent): void;
45
- protected handleDialogClose(): void;
45
+ protected handleDialogClose({ target }: KeyboardEvent): void;
46
46
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
47
47
  static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "dialog[odx-dialog-modal]", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
48
48
  }
@@ -1,6 +1,6 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { ColumnWidth, SortStatus, TableHeaderCell } from '../../models';
3
+ import { SortStatus, TableHeaderCell } from '../../models';
4
4
  import { TableSortVariant } from '../../models/sort-variant';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -66,7 +66,7 @@ export declare class HeaderTitleComponent implements OnInit {
66
66
  ngOnInit(): void;
67
67
  private checkBoxListener;
68
68
  get indeterminate(): boolean;
69
- protected get columnWidth(): ColumnWidth;
69
+ protected get columnWidth(): string;
70
70
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderTitleComponent, never>;
71
71
  static ɵcmp: i0.ɵɵComponentDeclaration<HeaderTitleComponent, "th[odxHeaderTitle]", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, ["odx-form-field"], true, never>;
72
72
  }
@@ -1,9 +1,8 @@
1
- import { ColumnWidth } from './column-width';
2
1
  export interface TableHeaderCell {
3
2
  title?: string;
4
3
  name: string;
5
4
  filter?: boolean;
6
5
  sortable?: boolean;
7
6
  check?: boolean;
8
- width?: ColumnWidth;
7
+ width?: string;
9
8
  }
@@ -1,6 +1,5 @@
1
- export * from './body-cell';
2
- export * from './column-width';
3
1
  export * from './header-cell';
4
2
  export * from './sort-status';
5
3
  export * from './sort-variant';
4
+ export * from './table-body-cell';
6
5
  export * from './table-variant';
@@ -15,7 +15,6 @@ import * as i0 from "@angular/core";
15
15
  */
16
16
  export declare class TableComponent<T> implements OnInit {
17
17
  private readonly takeUntilDestroyed;
18
- protected headerColumns: import("@angular/core").Signal<TableHeaderCell[]>;
19
18
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
20
19
  /**
21
20
  * Specifies the table variant for CSS styling.
@@ -36,7 +35,8 @@ export declare class TableComponent<T> implements OnInit {
36
35
  */
37
36
  noDataMessage: import("@angular/core").InputSignal<string>;
38
37
  /**
39
- * Configuration for table header data which controls sorting, filtering, and additional metadata.
38
+ * Configuration for table headers that controls behavior such as sorting, filtering, checkbox display, and width.
39
+ * Should be in the same order as the columns in the template.
40
40
  *
41
41
  * @type {Signal<TableHeaderCell[]>}
42
42
  */
@@ -81,5 +81,5 @@ export declare class TableComponent<T> implements OnInit {
81
81
  clearSort(): void;
82
82
  private formListener;
83
83
  static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any>, never>;
84
- static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "table[odxTable]", never, { "variant": { "alias": "variant"; "required": false; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "headerData": { "alias": "headerData"; "required": false; "isSignal": true; }; }, { "sorted": "sorted"; "filtered": "filtered"; "checked": "checked"; }, never, ["tr"], true, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "table[odxTable]", never, { "variant": { "alias": "variant"; "required": false; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "headerData": { "alias": "headerData"; "required": true; "isSignal": true; }; }, { "sorted": "sorted"; "filtered": "filtered"; "checked": "checked"; }, never, ["tr"], true, never>;
85
85
  }
@@ -1,3 +1,4 @@
1
1
  export * from './lib/autocomplete-control';
2
+ export * from './lib/directives';
2
3
  export * from './lib/pipes';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUtY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { computed, Directive, inject, input, SecurityContext } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ export class HighlightSearchDirective {
5
+ constructor() {
6
+ this.sanitizer = inject(DomSanitizer);
7
+ this.highlightedText = computed(() => {
8
+ const search = this.odxHighlightSearch().trim();
9
+ const text = this.sanitizer.sanitize(SecurityContext.HTML, this.text()) ?? '';
10
+ if (!search) {
11
+ return text;
12
+ }
13
+ const regex = new RegExp(search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gi');
14
+ const highlightedText = text.replace(regex, '<mark>$&</mark>');
15
+ return this.sanitizer.bypassSecurityTrustHtml(highlightedText);
16
+ });
17
+ /**
18
+ * Search string
19
+ * @required
20
+ * @type string
21
+ */
22
+ this.odxHighlightSearch = input.required();
23
+ /**
24
+ * Text to highlight
25
+ * @required
26
+ * @type string
27
+ */
28
+ this.text = input.required();
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightSearchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: HighlightSearchDirective, isStandalone: true, selector: "odx-highlight", inputs: { odxHighlightSearch: { classPropertyName: "odxHighlightSearch", publicName: "odxHighlightSearch", isSignal: true, isRequired: true, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "innerHTML": "highlightedText()" } }, ngImport: i0 }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightSearchDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: 'odx-highlight',
37
+ standalone: true,
38
+ host: {
39
+ '[innerHTML]': 'highlightedText()',
40
+ },
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXNlYXJjaC1yZXN1bHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9hdXRvY29tcGxldGUtY29udHJvbC9zcmMvbGliL2RpcmVjdGl2ZXMvaGlnaGxpZ2h0LXNlYXJjaC1yZXN1bHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFTekQsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFtQixjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXhDLG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUU5RSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBRS9ELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUVIOzs7O1dBSUc7UUFDSSx1QkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFckQ7Ozs7V0FJRztRQUNJLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7S0FDeEM7K0dBOUJZLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQVBwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxtQkFBbUI7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnb2R4LWhpZ2hsaWdodCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW2lubmVySFRNTF0nOiAnaGlnaGxpZ2h0ZWRUZXh0KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRTZWFyY2hEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIHByb3RlY3RlZCBoaWdobGlnaHRlZFRleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5vZHhIaWdobGlnaHRTZWFyY2goKS50cmltKCk7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB0aGlzLnRleHQoKSkgPz8gJyc7XG5cbiAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHNlYXJjaC5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpLCAnZ2knKTtcbiAgICBjb25zdCBoaWdobGlnaHRlZFRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsICc8bWFyaz4kJjwvbWFyaz4nKTtcblxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChoaWdobGlnaHRlZFRleHQpO1xuICB9KTtcblxuICAvKipcbiAgICogU2VhcmNoIHN0cmluZ1xuICAgKiBAcmVxdWlyZWRcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgb2R4SGlnaGxpZ2h0U2VhcmNoID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBUZXh0IHRvIGhpZ2hsaWdodFxuICAgKiBAcmVxdWlyZWRcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgdGV4dCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './highlight-search-result.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oaWdobGlnaHQtc2VhcmNoLXJlc3VsdC5kaXJlY3RpdmUnO1xuIl19
@@ -21,7 +21,7 @@ let ConnectedOverlayComponent = class ConnectedOverlayComponent {
21
21
  ngOnInit() {
22
22
  this.options.hooks?.beforeOpen?.();
23
23
  deferFn(() => {
24
- this.element.nativeElement?.showPopover?.();
24
+ this.element.nativeElement?.isConnected && this.element.nativeElement?.showPopover?.();
25
25
  this.options.hooks?.afterOpen?.();
26
26
  });
27
27
  }
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
80
80
  }], closed: [{
81
81
  type: Output
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9jb25uZWN0ZWQtb3ZlcmxheS9zcmMvbGliL2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY29ubmVjdGVkLW92ZXJsYXkvc3JjL2xpYi9jb25uZWN0ZWQtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBbUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBMkIsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBVzVFLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBQS9CO1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMs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QUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTNFVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw4YkNqQ3RDLDhTQUlBLDJDRHdCWSxVQUFVLCtCQUFFLG9CQUFvQjs7QUFLL0IseUJBQXlCO0lBVHJDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztHQVN6Qix5QkFBeUIsQ0E0RXJDOzs0RkE1RVkseUJBQXlCO2tCQVJyQyxTQUFTO2lDQUNJLElBQUksWUFDTix5Q0FBeUMsV0FDMUMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUMsbUJBRTFCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBVTNCLGNBQWM7c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJNUIsWUFBWTtzQkFEckIsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU03QixnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaXJ0dWFsRWxlbWVudCwgYXV0b1VwZGF0ZSB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFNpZGUsIGRlZmVyRm4sIGdldFNpZGUsIGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIGlzUHJlc2VudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb21wdXRlT3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbm5lY3RlZE92ZXJsYXlPcHRpb25zLCBEZWZhdWx0Q29ubmVjdGVkT3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2Nkay1jb25uZWN0ZWQtb3ZlcmxheScpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtY29ubmVjdGVkLW92ZXJsYXlbcG9wb3Zlcj1cIm1hbnVhbFwiXScsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBEeW5hbWljVmlld0RpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnY29ubmVjdGVkLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGVkT3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBwb3NpdGlvblVwZGF0ZXI6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByb3RlY3RlZCBvdmVybGF5U2lkZT86IFNpZGU7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBjb250ZW50RWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Fycm93JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGFycm93RWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWZlcmVuY2VFbGVtZW50ITogVmlydHVhbEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvbnM6IENvbm5lY3RlZE92ZXJsYXlPcHRpb25zID0gRGVmYXVsdENvbm5lY3RlZE92ZXJsYXlPcHRpb25zO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zLmhvb2tzPy5iZWZvcmVPcGVuPy4oKTtcbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Py5zaG93UG9wb3Zlcj8uKCk7XG4gICAgICB0aGlzLm9wdGlvbnMuaG9va3M/LmFmdGVyT3Blbj8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQ+KTogdm9pZCB7XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydvcHRpb25zJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5vdmVybGF5U2lkZSA9IGdldFNpZGUodGhpcy5vcHRpb25zLnBvc2l0aW9uKTtcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ29keC1jZGstY29ubmVjdGVkLW92ZXJsYXktLW5vbi1pbnRlcmFjdGl2ZScsIHRoaXMub3B0aW9ucy5ub25JbnRlcmFjdGl2ZSA/PyBmYWxzZSk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsncmVmZXJlbmNlRWxlbWVudCcsICdvcHRpb25zJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5zdG9wUG9zaXRpb25VcGRhdGVyKCk7XG4gICAgICB0aGlzLnN0YXJ0UG9zaXRpb25VcGRhdGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYmVmb3JlQ2xvc2U/LigpO1xuICAgIHRoaXMuc3RvcFBvc2l0aW9uVXBkYXRlcigpO1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Py5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYWZ0ZXJDbG9zZT8uKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UG9zaXRpb25VcGRhdGVyKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25VcGRhdGVyID0gdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICBhdXRvVXBkYXRlKHRoaXMucmVmZXJlbmNlRWxlbWVudCwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICgpID0+IHRoaXMudXBkYXRlUG9zaXRpb24oKSwge1xuICAgICAgICBlbGVtZW50UmVzaXplOiBpc1ByZXNlbnQod2luZG93LlJlc2l6ZU9ic2VydmVyKSxcbiAgICAgICAgYW5pbWF0aW9uRnJhbWU6IHRoaXMub3B0aW9ucy51cGRhdGVPbkFuaW1hdGlvbkZyYW1lLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFBvc2l0aW9uVXBkYXRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9uVXBkYXRlcj8uKCk7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVQb3NpdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gY29tcHV0ZU92ZXJsYXlQb3NpdGlvbihcbiAgICAgIHRoaXMucmVmZXJlbmNlRWxlbWVudCxcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5hcnJvd0VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMub3B0aW9ucyxcbiAgICApLnRoZW4oKHsgcGxhY2VtZW50IH0pID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheVNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvZHgtY2RrLWNvbm5lY3RlZC1vdmVybGF5X19jb250ZW50IHt7IG9wdGlvbnMuY29udGFpbmVyQ2xhc3MgfX1cIiAjY29udGVudD5cbiAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJvcHRpb25zLmNvbnRlbnRcIiBbb2R4RHluYW1pY1ZpZXdDb250ZXh0XT1cIm9wdGlvbnMuY29udGV4dFwiIFtvZHhEeW5hbWljVmlld0luamVjdG9yXT1cImluamVjdG9yXCIgLz5cbiAgPGRpdiBjbGFzcz1cIm9keC1jZGstY29ubmVjdGVkLW92ZXJsYXktYXJyb3dcIiAjYXJyb3c+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9jb25uZWN0ZWQtb3ZlcmxheS9zcmMvbGliL2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY29ubmVjdGVkLW92ZXJsYXkvc3JjL2xpYi9jb25uZWN0ZWQtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBbUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBMkIsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBVzVFLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBQS9CO1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMs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Q3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzRVUseUJBQXlCO21HQUF6Qix5QkFBeUIsOGJDakN0Qyw4U0FJQSwyQ0R3QlksVUFBVSwrQkFBRSxvQkFBb0I7O0FBSy9CLHlCQUF5QjtJQVRyQyxZQUFZLENBQUMsdUJBQXVCLENBQUM7R0FTekIseUJBQXlCLENBNEVyQzs7NEZBNUVZLHlCQUF5QjtrQkFSckMsU0FBUztpQ0FDSSxJQUFJLFlBQ04seUNBQXlDLFdBQzFDLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLG1CQUUxQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQVUzQixjQUFjO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLFlBQVk7c0JBRHJCLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNN0IsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxNQUFNO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlydHVhbEVsZW1lbnQsIGF1dG9VcGRhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgTmdDaGFuZ2VzLCBTaWRlLCBkZWZlckZuLCBnZXRTaWRlLCBoYXNDaGFuZ2VkLCBpbmplY3RFbGVtZW50LCBpc1ByZXNlbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29tcHV0ZU92ZXJsYXlQb3NpdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5T3B0aW9ucywgRGVmYXVsdENvbm5lY3RlZE92ZXJsYXlPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdjZGstY29ubmVjdGVkLW92ZXJsYXknKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWNvbm5lY3RlZC1vdmVybGF5W3BvcG92ZXI9XCJtYW51YWxcIl0nLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRHluYW1pY1ZpZXdEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJ2Nvbm5lY3RlZC1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RlZE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcG9zaXRpb25VcGRhdGVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcm90ZWN0ZWQgb3ZlcmxheVNpZGU/OiBTaWRlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgY29udGVudEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdhcnJvdycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBhcnJvd0VsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVmZXJlbmNlRWxlbWVudCE6IFZpcnR1YWxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBDb25uZWN0ZWRPdmVybGF5T3B0aW9ucyA9IERlZmF1bHRDb25uZWN0ZWRPdmVybGF5T3B0aW9ucztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYmVmb3JlT3Blbj8uKCk7XG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudD8uaXNDb25uZWN0ZWQgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ/LnNob3dQb3BvdmVyPy4oKTtcbiAgICAgIHRoaXMub3B0aW9ucy5ob29rcz8uYWZ0ZXJPcGVuPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8Q29ubmVjdGVkT3ZlcmxheUNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ29wdGlvbnMnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlTaWRlID0gZ2V0U2lkZSh0aGlzLm9wdGlvbnMucG9zaXRpb24pO1xuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnb2R4LWNkay1jb25uZWN0ZWQtb3ZlcmxheS0tbm9uLWludGVyYWN0aXZlJywgdGhpcy5vcHRpb25zLm5vbkludGVyYWN0aXZlID8/IGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydyZWZlcmVuY2VFbGVtZW50JywgJ29wdGlvbnMnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLnN0b3BQb3NpdGlvblVwZGF0ZXIoKTtcbiAgICAgIHRoaXMuc3RhcnRQb3NpdGlvblVwZGF0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zLmhvb2tzPy5iZWZvcmVDbG9zZT8uKCk7XG4gICAgdGhpcy5zdG9wUG9zaXRpb25VcGRhdGVyKCk7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ/LmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLmNsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy5vcHRpb25zLmhvb2tzPy5hZnRlckNsb3NlPy4oKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQb3NpdGlvblVwZGF0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wb3NpdGlvblVwZGF0ZXIgPSB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIGF1dG9VcGRhdGUodGhpcy5yZWZlcmVuY2VFbGVtZW50LCB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgKCkgPT4gdGhpcy51cGRhdGVQb3NpdGlvbigpLCB7XG4gICAgICAgIGVsZW1lbnRSZXNpemU6IGlzUHJlc2VudCh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpLFxuICAgICAgICBhbmltYXRpb25GcmFtZTogdGhpcy5vcHRpb25zLnVwZGF0ZU9uQW5pbWF0aW9uRnJhbWUsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUG9zaXRpb25VcGRhdGVyKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25VcGRhdGVyPy4oKTtcbiAgICB0aGlzLnBvc2l0aW9uVXBkYXRlciA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVBvc2l0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBjb21wdXRlT3ZlcmxheVBvc2l0aW9uKFxuICAgICAgdGhpcy5yZWZlcmVuY2VFbGVtZW50LFxuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmNvbnRlbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmFycm93RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5vcHRpb25zLFxuICAgICkudGhlbigoeyBwbGFjZW1lbnQgfSkgPT4ge1xuICAgICAgdGhpcy5vdmVybGF5U2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm9keC1jZGstY29ubmVjdGVkLW92ZXJsYXlfX2NvbnRlbnQge3sgb3B0aW9ucy5jb250YWluZXJDbGFzcyB9fVwiICNjb250ZW50PlxuICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cIm9wdGlvbnMuY29udGVudFwiIFtvZHhEeW5hbWljVmlld0NvbnRleHRdPVwib3B0aW9ucy5jb250ZXh0XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIiAvPlxuICA8ZGl2IGNsYXNzPVwib2R4LWNkay1jb25uZWN0ZWQtb3ZlcmxheS1hcnJvd1wiICNhcnJvdz48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './lib/data-table.component';
2
+ export * from './lib/data-table.module';
3
+ export * from './lib/directives';
4
+ export * from './lib/models';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, contentChildren, input, ViewEncapsulation } from '@angular/core';
3
+ import { ColumnDef } from './directives';
4
+ import { TableVariant } from './models';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * DataTableComponent is a dynamic table structure built for displaying content.
8
+ */
9
+ export class DataTableComponent {
10
+ constructor() {
11
+ this.columnDefs = contentChildren(ColumnDef, { descendants: true });
12
+ this.orderedColumns = computed(() => {
13
+ const cols = this.columnDefs() ?? [];
14
+ const displayedCols = this.displayedColumns() ?? [];
15
+ return displayedCols.length > 0
16
+ ? displayedCols.map((colName) => cols.find((colDef) => colDef.name() === colName)).filter((colDef) => !!colDef)
17
+ : cols;
18
+ });
19
+ /**
20
+ * The data to be displayed in the table.
21
+ * @required
22
+ * @type {T[]}
23
+ */
24
+ this.dataSource = input.required();
25
+ /**
26
+ * The columns to be displayed in the table.
27
+ * @required
28
+ * @type {string[]}
29
+ */
30
+ this.displayedColumns = input.required();
31
+ /**
32
+ * The variant of the table.
33
+ * @default TableVariant.DEFAULT
34
+ * @type {TableVariant}
35
+ */
36
+ this.variant = input(TableVariant.DEFAULT);
37
+ }
38
+ get classList() {
39
+ return computed(() => `odx-table odx-data-table odx-table--${this.variant()}`);
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "table[odxDataTable]", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "table" }, properties: { "class": "classList()" } }, queries: [{ propertyName: "columnDefs", predicate: ColumnDef, descendants: true, isSignal: true }], ngImport: i0, template: "<thead role=\"rowgroup\" class=\"odx-table__head\">\n <tr role=\"row\" class=\"odx-table__header-row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getHeaderTemplate()\" />\n }\n </tr>\n</thead>\n<tbody role=\"rowgroup\" class=\"odx-table__body\">\n @for (item of dataSource(); track item) {\n <tr class=\"odx-table__row\" role=\"row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getCellTemplate(); context: { $implicit: item }\" />\n }\n </tr>\n } @empty {\n <tr class=\"odx-table__row\" role=\"row\">\n <td class=\"odx-table__cell\" role=\"cell\" [attr.colspan]=\"orderedColumns().length\">\n <ng-content select=\"odx-table-empty\" />\n </td>\n </tr>\n }\n</tbody>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'table[odxDataTable]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
47
+ role: 'table',
48
+ '[class]': 'classList()',
49
+ }, imports: [NgTemplateOutlet], template: "<thead role=\"rowgroup\" class=\"odx-table__head\">\n <tr role=\"row\" class=\"odx-table__header-row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getHeaderTemplate()\" />\n }\n </tr>\n</thead>\n<tbody role=\"rowgroup\" class=\"odx-table__body\">\n @for (item of dataSource(); track item) {\n <tr class=\"odx-table__row\" role=\"row\">\n @for (col of orderedColumns(); track col.name) {\n <ng-container *ngTemplateOutlet=\"col.getCellTemplate(); context: { $implicit: item }\" />\n }\n </tr>\n } @empty {\n <tr class=\"odx-table__row\" role=\"row\">\n <td class=\"odx-table__cell\" role=\"cell\" [attr.colspan]=\"orderedColumns().length\">\n <ng-content select=\"odx-table-empty\" />\n </td>\n </tr>\n }\n</tbody>\n" }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFeEM7O0dBRUc7QUFjSCxNQUFNLE9BQU8sa0JBQWtCO0lBYi9CO1FBY1ksZUFBVSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvRCxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFFcEQsT0FBTyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNwSSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFFSDs7OztXQUlHO1FBQ0ksZUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztRQUUxQzs7OztXQUlHO1FBQ0kscUJBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBRXJEOzs7O1dBSUc7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFlLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUs1RDtJQUhDLElBQWMsU0FBUztRQUNyQixPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDOytHQW5DVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxbUJBQ1UsU0FBUyxnRUN0QmxELDJ6QkFzQkEsNENESFksZ0JBQWdCOzs0RkFFZixrQkFBa0I7a0JBYjlCLFNBQVM7K0JBRUUscUJBQXFCLGNBQ25CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixJQUFJLEVBQUUsT0FBTzt3QkFDYixTQUFTLEVBQUUsYUFBYTtxQkFDekIsV0FFUSxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBpbnB1dCwgU2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sdW1uRGVmIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFRhYmxlVmFyaWFudCB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBEYXRhVGFibGVDb21wb25lbnQgaXMgYSBkeW5hbWljIHRhYmxlIHN0cnVjdHVyZSBidWlsdCBmb3IgZGlzcGxheWluZyBjb250ZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICd0YWJsZVtvZHhEYXRhVGFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAndGFibGUnLFxuICAgICdbY2xhc3NdJzogJ2NsYXNzTGlzdCgpJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudDxUID0gdW5rbm93bj4ge1xuICBwcm90ZWN0ZWQgY29sdW1uRGVmcyA9IGNvbnRlbnRDaGlsZHJlbihDb2x1bW5EZWYsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cbiAgcHJvdGVjdGVkIG9yZGVyZWRDb2x1bW5zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHVtbkRlZnMoKSA/PyBbXTtcbiAgICBjb25zdCBkaXNwbGF5ZWRDb2xzID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zKCkgPz8gW107XG5cbiAgICByZXR1cm4gZGlzcGxheWVkQ29scy5sZW5ndGggPiAwXG4gICAgICA/IGRpc3BsYXllZENvbHMubWFwKChjb2xOYW1lKSA9PiBjb2xzLmZpbmQoKGNvbERlZikgPT4gY29sRGVmLm5hbWUoKSA9PT0gY29sTmFtZSkpLmZpbHRlcigoY29sRGVmKTogY29sRGVmIGlzIENvbHVtbkRlZiA9PiAhIWNvbERlZilcbiAgICAgIDogY29scztcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRhIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdGFibGUuXG4gICAqIEByZXF1aXJlZFxuICAgKiBAdHlwZSB7VFtdfVxuICAgKi9cbiAgcHVibGljIGRhdGFTb3VyY2UgPSBpbnB1dC5yZXF1aXJlZDxUW10+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2x1bW5zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdGFibGUuXG4gICAqIEByZXF1aXJlZFxuICAgKiBAdHlwZSB7c3RyaW5nW119XG4gICAqL1xuICBwdWJsaWMgZGlzcGxheWVkQ29sdW1ucyA9IGlucHV0LnJlcXVpcmVkPHN0cmluZ1tdPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFyaWFudCBvZiB0aGUgdGFibGUuXG4gICAqIEBkZWZhdWx0IFRhYmxlVmFyaWFudC5ERUZBVUxUXG4gICAqIEB0eXBlIHtUYWJsZVZhcmlhbnR9XG4gICAqL1xuICBwdWJsaWMgdmFyaWFudCA9IGlucHV0PFRhYmxlVmFyaWFudD4oVGFibGVWYXJpYW50LkRFRkFVTFQpO1xuXG4gIHByb3RlY3RlZCBnZXQgY2xhc3NMaXN0KCk6IFNpZ25hbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gYG9keC10YWJsZSBvZHgtZGF0YS10YWJsZSBvZHgtdGFibGUtLSR7dGhpcy52YXJpYW50KCl9YCk7XG4gIH1cbn1cbiIsIjx0aGVhZCByb2xlPVwicm93Z3JvdXBcIiBjbGFzcz1cIm9keC10YWJsZV9faGVhZFwiPlxuICA8dHIgcm9sZT1cInJvd1wiIGNsYXNzPVwib2R4LXRhYmxlX19oZWFkZXItcm93XCI+XG4gICAgQGZvciAoY29sIG9mIG9yZGVyZWRDb2x1bW5zKCk7IHRyYWNrIGNvbC5uYW1lKSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sLmdldEhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgIH1cbiAgPC90cj5cbjwvdGhlYWQ+XG48dGJvZHkgcm9sZT1cInJvd2dyb3VwXCIgY2xhc3M9XCJvZHgtdGFibGVfX2JvZHlcIj5cbiAgQGZvciAoaXRlbSBvZiBkYXRhU291cmNlKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICA8dHIgY2xhc3M9XCJvZHgtdGFibGVfX3Jvd1wiIHJvbGU9XCJyb3dcIj5cbiAgICAgIEBmb3IgKGNvbCBvZiBvcmRlcmVkQ29sdW1ucygpOyB0cmFjayBjb2wubmFtZSkge1xuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sLmdldENlbGxUZW1wbGF0ZSgpOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgICAgIH1cbiAgICA8L3RyPlxuICB9IEBlbXB0eSB7XG4gICAgPHRyIGNsYXNzPVwib2R4LXRhYmxlX19yb3dcIiByb2xlPVwicm93XCI+XG4gICAgICA8dGQgY2xhc3M9XCJvZHgtdGFibGVfX2NlbGxcIiByb2xlPVwiY2VsbFwiIFthdHRyLmNvbHNwYW5dPVwib3JkZXJlZENvbHVtbnMoKS5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LXRhYmxlLWVtcHR5XCIgLz5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgfVxuPC90Ym9keT5cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CoreModule } from '@odx/angular';
3
+ import { DataTableComponent } from './data-table.component';
4
+ import { CellDef, CellDirective, ColumnDef, HeaderCellDef, HeaderCellDirective, TableEmptyDirective } from './directives';
5
+ import * as i0 from "@angular/core";
6
+ const modules = [DataTableComponent, CellDef, ColumnDef, HeaderCellDef, TableEmptyDirective, CellDirective, HeaderCellDirective];
7
+ export class DataTableModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DataTableModule, imports: [DataTableComponent, CellDef, ColumnDef, HeaderCellDef, TableEmptyDirective, CellDirective, HeaderCellDirective], exports: [CoreModule, DataTableComponent, CellDef, ColumnDef, HeaderCellDef, TableEmptyDirective, CellDirective, HeaderCellDirective] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableModule, imports: [CoreModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: modules,
16
+ exports: [CoreModule, ...modules],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvZGF0YS10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTFILE1BQU0sT0FBTyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFNakksTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLFlBTlgsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixhQUluSCxVQUFVLEVBSkwsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQjtnSEFNbEgsZUFBZSxZQUZoQixVQUFVOzs0RkFFVCxlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZWxsRGVmLCBDZWxsRGlyZWN0aXZlLCBDb2x1bW5EZWYsIEhlYWRlckNlbGxEZWYsIEhlYWRlckNlbGxEaXJlY3RpdmUsIFRhYmxlRW1wdHlEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuXG5jb25zdCBtb2R1bGVzID0gW0RhdGFUYWJsZUNvbXBvbmVudCwgQ2VsbERlZiwgQ29sdW1uRGVmLCBIZWFkZXJDZWxsRGVmLCBUYWJsZUVtcHR5RGlyZWN0aXZlLCBDZWxsRGlyZWN0aXZlLCBIZWFkZXJDZWxsRGlyZWN0aXZlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogbW9kdWxlcyxcbiAgZXhwb3J0czogW0NvcmVNb2R1bGUsIC4uLm1vZHVsZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive, inject, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CellDef {
4
+ constructor() {
5
+ this.template = inject(TemplateRef);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellDef, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CellDef, isStandalone: true, selector: "[odxCellDef]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellDef, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[odxCellDef]',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1kZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvY2VsbC1kZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLE9BQU87SUFKcEI7UUFLUyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQ3ZDOytHQUZZLE9BQU87bUdBQVAsT0FBTzs7NEZBQVAsT0FBTztrQkFKbkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvZHhDZWxsRGVmXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENlbGxEZWYge1xuICBwdWJsaWMgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CellDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CellDirective, isStandalone: true, selector: "td[odxCell]", host: { attributes: { "role": "cell" }, classAttribute: "odx-table__cell" }, ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: 'td[odxCell]',
11
+ standalone: true,
12
+ host: {
13
+ role: 'cell',
14
+ class: 'odx-table__cell',
15
+ },
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlcy9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLE1BQU07d0JBQ1osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndGRbb2R4Q2VsbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2NlbGwnLFxuICAgIGNsYXNzOiAnb2R4LXRhYmxlX19jZWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbERpcmVjdGl2ZSB7fVxuIl19
@@ -0,0 +1,27 @@
1
+ import { contentChild, Directive, input } from '@angular/core';
2
+ import { CellDef } from './cell-def.directive';
3
+ import { HeaderCellDef } from './header-cell-def.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class ColumnDef {
6
+ constructor() {
7
+ this.headerCellDef = contentChild.required(HeaderCellDef);
8
+ this.cellDef = contentChild.required(CellDef);
9
+ this.name = input.required({ alias: 'odxColumnDef' });
10
+ }
11
+ getHeaderTemplate() {
12
+ return this.headerCellDef().template ?? null;
13
+ }
14
+ getCellTemplate() {
15
+ return this.cellDef().template ?? null;
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: ColumnDef, isStandalone: true, selector: "[odxColumnDef]", inputs: { name: { classPropertyName: "name", publicName: "odxColumnDef", isSignal: true, isRequired: true, transformFunction: null } }, queries: [{ propertyName: "headerCellDef", first: true, predicate: HeaderCellDef, descendants: true, isSignal: true }, { propertyName: "cellDef", first: true, predicate: CellDef, descendants: true, isSignal: true }], ngImport: i0 }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDef, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[odxColumnDef]',
24
+ standalone: true,
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWRlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlcy9jb2x1bW4tZGVmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLFNBQVM7SUFKdEI7UUFLbUIsa0JBQWEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELFlBQU8sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5ELFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFTLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7S0FTakU7SUFQUSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQ3pDLENBQUM7K0dBWlUsU0FBUzttR0FBVCxTQUFTLDZQQUNtQyxhQUFhLDBGQUNuQixPQUFPOzs0RkFGN0MsU0FBUztrQkFKckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgaW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZWxsRGVmIH0gZnJvbSAnLi9jZWxsLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSGVhZGVyQ2VsbERlZiB9IGZyb20gJy4vaGVhZGVyLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvZHhDb2x1bW5EZWZdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uRGVmIHtcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJDZWxsRGVmID0gY29udGVudENoaWxkLnJlcXVpcmVkKEhlYWRlckNlbGxEZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNlbGxEZWYgPSBjb250ZW50Q2hpbGQucmVxdWlyZWQoQ2VsbERlZik7XG5cbiAgcHVibGljIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KHsgYWxpYXM6ICdvZHhDb2x1bW5EZWYnIH0pO1xuXG4gIHB1YmxpYyBnZXRIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmhlYWRlckNlbGxEZWYoKS50ZW1wbGF0ZSA/PyBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldENlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNlbGxEZWYoKS50ZW1wbGF0ZSA/PyBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Directive, inject, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class HeaderCellDef {
4
+ constructor() {
5
+ this.template = inject(TemplateRef);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderCellDef, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: HeaderCellDef, isStandalone: true, selector: "[odxHeaderCellDef]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderCellDef, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[odxHeaderCellDef]',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNlbGwtZGVmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9kaXJlY3RpdmVzL2hlYWRlci1jZWxsLWRlZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sYUFBYTtJQUoxQjtRQUtTLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDdkM7K0dBRlksYUFBYTttR0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbb2R4SGVhZGVyQ2VsbERlZl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDZWxsRGVmIHtcbiAgcHVibGljIHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==