@theseam/ui-common 1.0.0-beta.8 → 1.0.0-beta.9

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 (55) hide show
  1. package/datatable/index.d.ts +49 -30
  2. package/fesm2022/theseam-ui-common-asset-reader.mjs +10 -10
  3. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +6 -6
  4. package/fesm2022/theseam-ui-common-buttons.mjs +25 -25
  5. package/fesm2022/theseam-ui-common-card.mjs +16 -16
  6. package/fesm2022/theseam-ui-common-carousel.mjs +10 -10
  7. package/fesm2022/theseam-ui-common-checkbox.mjs +7 -7
  8. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +13 -13
  9. package/fesm2022/theseam-ui-common-data-exporter.mjs +10 -10
  10. package/fesm2022/theseam-ui-common-data-filters.mjs +13 -13
  11. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +12 -12
  12. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +25 -25
  13. package/fesm2022/theseam-ui-common-datatable.mjs +214 -152
  14. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  16. package/fesm2022/theseam-ui-common-dynamic.mjs +21 -21
  17. package/fesm2022/theseam-ui-common-footer-bar.mjs +7 -7
  18. package/fesm2022/theseam-ui-common-form-field-error.mjs +16 -16
  19. package/fesm2022/theseam-ui-common-form-field.mjs +22 -22
  20. package/fesm2022/theseam-ui-common-framework.mjs +157 -157
  21. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  22. package/fesm2022/theseam-ui-common-google-maps.mjs +40 -40
  23. package/fesm2022/theseam-ui-common-graphql.mjs +3 -3
  24. package/fesm2022/theseam-ui-common-icon.mjs +13 -13
  25. package/fesm2022/theseam-ui-common-layout.mjs +7 -7
  26. package/fesm2022/theseam-ui-common-loading.mjs +10 -10
  27. package/fesm2022/theseam-ui-common-menu.mjs +25 -25
  28. package/fesm2022/theseam-ui-common-modal.mjs +43 -43
  29. package/fesm2022/theseam-ui-common-navigation-reload.mjs +3 -3
  30. package/fesm2022/theseam-ui-common-popover.mjs +10 -10
  31. package/fesm2022/theseam-ui-common-progress.mjs +7 -7
  32. package/fesm2022/theseam-ui-common-rich-text.mjs +7 -7
  33. package/fesm2022/theseam-ui-common-scrollbar.mjs +6 -6
  34. package/fesm2022/theseam-ui-common-services.mjs +12 -12
  35. package/fesm2022/theseam-ui-common-shared.mjs +37 -37
  36. package/fesm2022/theseam-ui-common-storage.mjs +3 -3
  37. package/fesm2022/theseam-ui-common-story-helpers.mjs +26 -26
  38. package/fesm2022/theseam-ui-common-tabbed.mjs +22 -22
  39. package/fesm2022/theseam-ui-common-table-cell-type.mjs +39 -11
  40. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-table-cell-types.mjs +31 -31
  42. package/fesm2022/theseam-ui-common-table.mjs +28 -18
  43. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  44. package/fesm2022/theseam-ui-common-tel-input.mjs +13 -13
  45. package/fesm2022/theseam-ui-common-tiled-select.mjs +22 -22
  46. package/fesm2022/theseam-ui-common-toggle-edit.mjs +16 -16
  47. package/fesm2022/theseam-ui-common-toggle-group.mjs +10 -10
  48. package/fesm2022/theseam-ui-common-tooltip.mjs +10 -10
  49. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +10 -10
  50. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +3 -3
  51. package/fesm2022/theseam-ui-common-viewers.mjs +12 -12
  52. package/fesm2022/theseam-ui-common-widget.mjs +135 -135
  53. package/package.json +57 -57
  54. package/table/index.d.ts +4 -1
  55. package/table-cell-type/index.d.ts +27 -2
@@ -12,10 +12,10 @@ import { isNullOrUndefined } from '@theseam/ui-common/utils';
12
12
 
13
13
  class TheSeamTabbedTabContentDirective {
14
14
  isActive = false;
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTabbedTabContentDirective, isStandalone: true, selector: "[seamTabbedTabContent]", exportAs: ["seamTabbedTabContent"], ngImport: i0 });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamTabbedTabContentDirective, isStandalone: true, selector: "[seamTabbedTabContent]", exportAs: ["seamTabbedTabContent"], ngImport: i0 });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedTabContentDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedTabContentDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[seamTabbedTabContent]',
@@ -42,10 +42,10 @@ class TheSeamTabbedService {
42
42
  }
43
43
  }
44
44
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
46
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedService });
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
46
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedService });
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedService, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedService, decorators: [{
49
49
  type: Injectable
50
50
  }] });
51
51
 
@@ -73,10 +73,10 @@ class TheSeamTabbedTabDirective {
73
73
  // }
74
74
  // })
75
75
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedTabDirective, deps: [{ token: i0.ElementRef }, { token: TheSeamTabbedService }], target: i0.ɵɵFactoryTarget.Directive });
77
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTabbedTabDirective, isStandalone: true, selector: "[seamTabbedTab]", exportAs: ["seamTabbedTab"], ngImport: i0 });
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedTabDirective, deps: [{ token: i0.ElementRef }, { token: TheSeamTabbedService }], target: i0.ɵɵFactoryTarget.Directive });
77
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamTabbedTabDirective, isStandalone: true, selector: "[seamTabbedTab]", exportAs: ["seamTabbedTab"], ngImport: i0 });
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedTabDirective, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedTabDirective, decorators: [{
80
80
  type: Directive,
81
81
  args: [{
82
82
  selector: '[seamTabbedTab]',
@@ -86,10 +86,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
86
86
 
87
87
  class TheSeamTabbedContentComponent {
88
88
  tabbedItem;
89
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTabbedContentComponent, isStandalone: true, selector: "seam-tabbed-content", inputs: { tabbedItem: "tabbedItem" }, ngImport: i0, template: "<div fxFlexFill>\n <ng-container *ngIf=\"tabbedItem\">\n <ng-template\n *ngIf=\"tabbedItem.tabbedContentTpl\"\n [ngTemplateOutlet]=\"tabbedItem.tabbedContentTpl\"\n ></ng-template>\n <ng-container *ngIf=\"tabbedItem.contentFromRoute\"\n ><router-outlet></router-outlet\n ></ng-container>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i3.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }] });
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamTabbedContentComponent, isStandalone: true, selector: "seam-tabbed-content", inputs: { tabbedItem: "tabbedItem" }, ngImport: i0, template: "<div fxFlexFill>\n <ng-container *ngIf=\"tabbedItem\">\n <ng-template\n *ngIf=\"tabbedItem.tabbedContentTpl\"\n [ngTemplateOutlet]=\"tabbedItem.tabbedContentTpl\"\n ></ng-template>\n <ng-container *ngIf=\"tabbedItem.contentFromRoute\"\n ><router-outlet></router-outlet\n ></ng-container>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i3.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }] });
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedContentComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedContentComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'seam-tabbed-content', imports: [NgIf, NgTemplateOutlet, RouterModule, FlexLayoutModule], template: "<div fxFlexFill>\n <ng-container *ngIf=\"tabbedItem\">\n <ng-template\n *ngIf=\"tabbedItem.tabbedContentTpl\"\n [ngTemplateOutlet]=\"tabbedItem.tabbedContentTpl\"\n ></ng-template>\n <ng-container *ngIf=\"tabbedItem.contentFromRoute\"\n ><router-outlet></router-outlet\n ></ng-container>\n </ng-container>\n</div>\n" }]
95
95
  }], propDecorators: { tabbedItem: [{
@@ -103,13 +103,13 @@ class TheSeamTabbedItemComponent {
103
103
  name;
104
104
  label;
105
105
  contentFromRoute = false;
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTabbedItemComponent, isStandalone: true, selector: "seam-tabbed-item", inputs: { name: "name", label: "label", contentFromRoute: "contentFromRoute" }, queries: [{ propertyName: "tabbedTabTpl", first: true, predicate: TheSeamTabbedTabDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "tabbedContentTpl", first: true, predicate: TheSeamTabbedTabContentDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", styles: [""] });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamTabbedItemComponent, isStandalone: true, selector: "seam-tabbed-item", inputs: { name: "name", label: "label", contentFromRoute: "contentFromRoute" }, queries: [{ propertyName: "tabbedTabTpl", first: true, predicate: TheSeamTabbedTabDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "tabbedContentTpl", first: true, predicate: TheSeamTabbedTabContentDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", styles: [""] });
108
108
  }
109
109
  __decorate([
110
110
  InputBoolean()
111
111
  ], TheSeamTabbedItemComponent.prototype, "contentFromRoute", void 0);
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedItemComponent, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedItemComponent, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: 'seam-tabbed-item', template: "" }]
115
115
  }], propDecorators: { tabbedTabTpl: [{
@@ -226,10 +226,10 @@ class TheSeamTabbedComponent {
226
226
  console.warn(`Tab with name '${name}' not found`);
227
227
  }
228
228
  }
229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedComponent, deps: [{ token: TheSeamTabbedService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTabbedComponent, isStandalone: true, selector: "seam-tabbed", inputs: { direction: "direction", hideTabs: "hideTabs", onlyRouteContent: "onlyRouteContent", activeTabName: "activeTabName" }, outputs: { tabChanged: "tabChanged" }, providers: [TheSeamTabbedService], queries: [{ propertyName: "tabbedItems", predicate: TheSeamTabbedItemComponent }], ngImport: i0, template: "<div [fxLayout]=\"direction === 'horizontal' ? 'column' : 'row'\" fxFlexFill>\n <!-- Tabs -->\n <div\n *ngIf=\"!hideTabs\"\n [fxLayout]=\"direction === 'horizontal' ? 'row' : 'column'\"\n style=\"position: relative\"\n >\n <ng-container *ngFor=\"let tabbedItem of tabbedItems$ | async\">\n <div\n class=\"tabbed-tab pt-2 pb-2 pl-4 pr-4 bg-light text-nowrap\"\n [class.tab-dir-horizontal]=\"direction === 'horizontal'\"\n [class.tab-dir-vertical]=\"direction === 'vertical'\"\n (click)=\"onClickTab($event, tabbedItem)\"\n [class.active]=\"tabbedItem === (selectedTab$ | async)\"\n >\n <ng-template\n *ngIf=\"tabbedItem.tabbedTabTpl; else tabLabelTpl\"\n [ngTemplateOutlet]=\"tabbedItem.tabbedTabTpl\"\n ></ng-template>\n <ng-template #tabLabelTpl>{{ tabbedItem?.label }}</ng-template>\n </div>\n </ng-container>\n </div>\n\n <!-- Tabs Content -->\n <div class=\"tabbed-tabs-content bg-light\">\n <ng-container *ngIf=\"onlyRouteContent; else notOnlyRouteContent\">\n <router-outlet></router-outlet>\n </ng-container>\n <ng-template #notOnlyRouteContent>\n <ng-container *ngIf=\"selectedTab$ | async as selectedTab\">\n <seam-tabbed-content\n fxFlexFill\n [tabbedItem]=\"selectedTab\"\n ></seam-tabbed-content>\n </ng-container>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.tabbed-tab{box-sizing:border-box;font-weight:400;font-size:10pt;min-width:130px;transform:translateZ(0);overflow:hidden;border:1px solid #dee2e6}.tabbed-tab:not(.active){background-color:#fff!important}.tabbed-tab.active{font-weight:700;color:#357ebd}.tabbed-tab:hover{cursor:pointer}.tabbed-tab.tab-dir-horizontal{border-bottom:0}.tabbed-tab.tab-dir-horizontal:first-child{border-top-left-radius:.25rem}.tabbed-tab.tab-dir-horizontal:last-child{border-top-right-radius:.25rem}.tabbed-tab.tab-dir-horizontal:not(:last-child){border-right:0}.tabbed-tab.tab-dir-horizontal.active{margin-bottom:-2px}.tabbed-tab.tab-dir-vertical{border-right:0}.tabbed-tab.tab-dir-vertical:first-child{border-top-left-radius:.25rem}.tabbed-tab.tab-dir-vertical:last-child{border-bottom-left-radius:.25rem}.tabbed-tab.tab-dir-vertical:not(:last-child){border-bottom:0}.tabbed-tab.tab-dir-vertical.active{margin-right:-2px}.tabbed-tabs-content{display:block;flex:1 1 auto;overflow:hidden;border:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: TheSeamTabbedContentComponent, selector: "seam-tabbed-content", inputs: ["tabbedItem"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedComponent, deps: [{ token: TheSeamTabbedService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamTabbedComponent, isStandalone: true, selector: "seam-tabbed", inputs: { direction: "direction", hideTabs: "hideTabs", onlyRouteContent: "onlyRouteContent", activeTabName: "activeTabName" }, outputs: { tabChanged: "tabChanged" }, providers: [TheSeamTabbedService], queries: [{ propertyName: "tabbedItems", predicate: TheSeamTabbedItemComponent }], ngImport: i0, template: "<div [fxLayout]=\"direction === 'horizontal' ? 'column' : 'row'\" fxFlexFill>\n <!-- Tabs -->\n <div\n *ngIf=\"!hideTabs\"\n [fxLayout]=\"direction === 'horizontal' ? 'row' : 'column'\"\n style=\"position: relative\"\n >\n <ng-container *ngFor=\"let tabbedItem of tabbedItems$ | async\">\n <div\n class=\"tabbed-tab pt-2 pb-2 pl-4 pr-4 bg-light text-nowrap\"\n [class.tab-dir-horizontal]=\"direction === 'horizontal'\"\n [class.tab-dir-vertical]=\"direction === 'vertical'\"\n (click)=\"onClickTab($event, tabbedItem)\"\n [class.active]=\"tabbedItem === (selectedTab$ | async)\"\n >\n <ng-template\n *ngIf=\"tabbedItem.tabbedTabTpl; else tabLabelTpl\"\n [ngTemplateOutlet]=\"tabbedItem.tabbedTabTpl\"\n ></ng-template>\n <ng-template #tabLabelTpl>{{ tabbedItem?.label }}</ng-template>\n </div>\n </ng-container>\n </div>\n\n <!-- Tabs Content -->\n <div class=\"tabbed-tabs-content bg-light\">\n <ng-container *ngIf=\"onlyRouteContent; else notOnlyRouteContent\">\n <router-outlet></router-outlet>\n </ng-container>\n <ng-template #notOnlyRouteContent>\n <ng-container *ngIf=\"selectedTab$ | async as selectedTab\">\n <seam-tabbed-content\n fxFlexFill\n [tabbedItem]=\"selectedTab\"\n ></seam-tabbed-content>\n </ng-container>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.tabbed-tab{box-sizing:border-box;font-weight:400;font-size:10pt;min-width:130px;transform:translateZ(0);overflow:hidden;border:1px solid #dee2e6}.tabbed-tab:not(.active){background-color:#fff!important}.tabbed-tab.active{font-weight:700;color:#357ebd}.tabbed-tab:hover{cursor:pointer}.tabbed-tab.tab-dir-horizontal{border-bottom:0}.tabbed-tab.tab-dir-horizontal:first-child{border-top-left-radius:.25rem}.tabbed-tab.tab-dir-horizontal:last-child{border-top-right-radius:.25rem}.tabbed-tab.tab-dir-horizontal:not(:last-child){border-right:0}.tabbed-tab.tab-dir-horizontal.active{margin-bottom:-2px}.tabbed-tab.tab-dir-vertical{border-right:0}.tabbed-tab.tab-dir-vertical:first-child{border-top-left-radius:.25rem}.tabbed-tab.tab-dir-vertical:last-child{border-bottom-left-radius:.25rem}.tabbed-tab.tab-dir-vertical:not(:last-child){border-bottom:0}.tabbed-tab.tab-dir-vertical.active{margin-right:-2px}.tabbed-tabs-content{display:block;flex:1 1 auto;overflow:hidden;border:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: TheSeamTabbedContentComponent, selector: "seam-tabbed-content", inputs: ["tabbedItem"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
231
231
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedComponent, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedComponent, decorators: [{
233
233
  type: Component,
234
234
  args: [{ selector: 'seam-tabbed', providers: [TheSeamTabbedService], imports: [
235
235
  NgIf,
@@ -255,8 +255,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
255
255
  }] } });
256
256
 
257
257
  class TheSeamTabbedModule {
258
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
259
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedModule, imports: [TheSeamTabbedComponent,
258
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
259
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedModule, imports: [TheSeamTabbedComponent,
260
260
  TheSeamTabbedTabContentDirective,
261
261
  TheSeamTabbedTabDirective,
262
262
  TheSeamTabbedItemComponent,
@@ -265,10 +265,10 @@ class TheSeamTabbedModule {
265
265
  TheSeamTabbedTabDirective,
266
266
  TheSeamTabbedItemComponent,
267
267
  TheSeamTabbedContentComponent] });
268
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedModule, imports: [TheSeamTabbedComponent,
268
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedModule, imports: [TheSeamTabbedComponent,
269
269
  TheSeamTabbedContentComponent] });
270
270
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTabbedModule, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTabbedModule, decorators: [{
272
272
  type: NgModule,
273
273
  args: [{
274
274
  imports: [
@@ -8,6 +8,34 @@ import { CommonModule } from '@angular/common';
8
8
  import { takeUntil } from 'rxjs/operators';
9
9
  import * as i1$1 from '@theseam/ui-common/dynamic';
10
10
 
11
+ function setColumnAlignDefaults(column) {
12
+ if (!Object.prototype.hasOwnProperty.call(column, 'align')) {
13
+ column.align = 'left';
14
+ }
15
+ if (!Object.prototype.hasOwnProperty.call(column, 'alignHeader')) {
16
+ column.alignHeader = column.align;
17
+ }
18
+ if (!Object.prototype.hasOwnProperty.call(column, 'alignCell')) {
19
+ column.alignCell = column.align;
20
+ }
21
+ if (!Object.prototype.hasOwnProperty.call(column, 'headerClass')) {
22
+ column.headerClass = `text-${column.alignHeader}`;
23
+ }
24
+ else if (typeof column.headerClass === 'string' &&
25
+ column.headerClass.length > 0 &&
26
+ !column.headerClass.includes('text-')) {
27
+ column.headerClass = `text-${column.alignHeader} ${column.headerClass}`;
28
+ }
29
+ if (!Object.prototype.hasOwnProperty.call(column, 'cellClass')) {
30
+ column.cellClass = `text-${column.alignCell}`;
31
+ }
32
+ else if (typeof column.cellClass === 'string' &&
33
+ column.cellClass.length > 0 &&
34
+ !column.cellClass.includes('text-')) {
35
+ column.cellClass = `text-${column.alignCell} ${column.cellClass}`;
36
+ }
37
+ }
38
+
11
39
  const TABLE_CELL_TYPE_MANIFEST = new InjectionToken('TABLE_CELL_TYPE_MANIFEST');
12
40
  const TABLE_CELL_DATA = new InjectionToken('TABLE_CELL_DATA');
13
41
 
@@ -87,8 +115,8 @@ class TableCellTypeSelectorComponent {
87
115
  }
88
116
  return false;
89
117
  }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TableCellTypeSelectorComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: TABLE_CELL_TYPE_MANIFEST, optional: true }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TableCellTypeSelectorComponent, isStandalone: false, selector: "seam-table-cell-type-selector", inputs: { type: "type", value: "value", rowIndex: "rowIndex", row: "row", colData: "colData" }, usesOnChanges: true, ngImport: i0, template: `
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TableCellTypeSelectorComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: TABLE_CELL_TYPE_MANIFEST, optional: true }], target: i0.ɵɵFactoryTarget.Component });
119
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TableCellTypeSelectorComponent, isStandalone: false, selector: "seam-table-cell-type-selector", inputs: { type: "type", value: "value", rowIndex: "rowIndex", row: "row", colData: "colData" }, usesOnChanges: true, ngImport: i0, template: `
92
120
  <ng-template
93
121
  *ngIf="componentPortal; else noPortal"
94
122
  [cdkPortalOutlet]="componentPortal"
@@ -96,7 +124,7 @@ class TableCellTypeSelectorComponent {
96
124
  <ng-template #noPortal>{{ value }}</ng-template>
97
125
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
98
126
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TableCellTypeSelectorComponent, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TableCellTypeSelectorComponent, decorators: [{
100
128
  type: Component,
101
129
  args: [{ selector: 'seam-table-cell-type-selector', template: `
102
130
  <ng-template
@@ -174,10 +202,10 @@ class TableCellTypesHelpersService {
174
202
  const context = this._resolveValueContext(contextOrContextFn);
175
203
  return from(this._dynamicActionHelper.exec(action, context));
176
204
  }
177
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TableCellTypesHelpersService, deps: [{ token: i1$1.DynamicActionHelperService }, { token: i1$1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
178
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TableCellTypesHelpersService, providedIn: 'root' });
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TableCellTypesHelpersService, deps: [{ token: i1$1.DynamicActionHelperService }, { token: i1$1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
206
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TableCellTypesHelpersService, providedIn: 'root' });
179
207
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TableCellTypesHelpersService, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TableCellTypesHelpersService, decorators: [{
181
209
  type: Injectable,
182
210
  args: [{
183
211
  providedIn: 'root',
@@ -185,11 +213,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
185
213
  }], ctorParameters: () => [{ type: i1$1.DynamicActionHelperService }, { type: i1$1.DynamicValueHelperService }] });
186
214
 
187
215
  class TheSeamTableCellTypeModule {
188
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTableCellTypeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
189
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTableCellTypeModule, declarations: [TableCellTypeSelectorComponent], imports: [CommonModule, PortalModule], exports: [TableCellTypeSelectorComponent] });
190
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTableCellTypeModule, imports: [CommonModule, PortalModule] });
216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTableCellTypeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
217
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTableCellTypeModule, declarations: [TableCellTypeSelectorComponent], imports: [CommonModule, PortalModule], exports: [TableCellTypeSelectorComponent] });
218
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTableCellTypeModule, imports: [CommonModule, PortalModule] });
191
219
  }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTableCellTypeModule, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTableCellTypeModule, decorators: [{
193
221
  type: NgModule,
194
222
  args: [{
195
223
  declarations: [TableCellTypeSelectorComponent],
@@ -203,5 +231,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
203
231
  * Generated bundle index. Do not edit.
204
232
  */
205
233
 
206
- export { TABLE_CELL_DATA, TABLE_CELL_TYPE_MANIFEST, TableCellTypeSelectorComponent, TableCellTypesHelpersService, TheSeamTableCellTypeModule };
234
+ export { TABLE_CELL_DATA, TABLE_CELL_TYPE_MANIFEST, TableCellTypeSelectorComponent, TableCellTypesHelpersService, TheSeamTableCellTypeModule, setColumnAlignDefaults };
207
235
  //# sourceMappingURL=theseam-ui-common-table-cell-type.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-table-cell-type.mjs","sources":["../../../projects/ui-common/table-cell-type/table-cell-type-tokens.ts","../../../projects/ui-common/table-cell-type/table-cell-type-selector.component.ts","../../../projects/ui-common/table-cell-type/services/table-cell-types-helpers.service.ts","../../../projects/ui-common/table-cell-type/table-cell-type.module.ts","../../../projects/ui-common/table-cell-type/theseam-ui-common-table-cell-type.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nimport { ITableCellTypeManifest, TableCellData } from './table-cell-type-models'\n\nexport const TABLE_CELL_TYPE_MANIFEST =\n new InjectionToken<ITableCellTypeManifest>('TABLE_CELL_TYPE_MANIFEST')\n\nexport const TABLE_CELL_DATA = new InjectionToken<TableCellData<any, any>>(\n 'TABLE_CELL_DATA',\n)\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentType } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n Input,\n isDevMode,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core'\nimport { Subject } from 'rxjs'\n\nimport { TableCellTypeConfig } from './table-cell-type-config'\nimport type { TheSeamTableColumn } from './table-cell-type-models'\nimport {\n ITableCellTypeManifest,\n TableCellData,\n TableCellDataChange,\n} from './table-cell-type-models'\nimport {\n TABLE_CELL_DATA,\n TABLE_CELL_TYPE_MANIFEST,\n} from './table-cell-type-tokens'\n\n@Component({\n selector: 'seam-table-cell-type-selector',\n template: `\n <ng-template\n *ngIf=\"componentPortal; else noPortal\"\n [cdkPortalOutlet]=\"componentPortal\"\n ></ng-template>\n <ng-template #noPortal>{{ value }}</ng-template>\n `,\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableCellTypeSelectorComponent<\n T extends string = any,\n D = any,\n V = any,\n >\n implements AfterViewInit, OnChanges\n{\n @Input() type: T | undefined | null\n @Input() value: V | undefined | null\n @Input() rowIndex: number | undefined | null\n @Input() row: D | undefined | null\n @Input() colData:\n | TheSeamTableColumn<T, TableCellTypeConfig<T>>\n | undefined\n | null\n\n public componentPortal?: ComponentPortal<unknown>\n\n private _data: TableCellData<T, TableCellTypeConfig<T>> | undefined\n private _dataChangeSubject?: Subject<\n TableCellDataChange<T, TableCellTypeConfig<T>>\n >\n private _manifests: ITableCellTypeManifest[]\n\n constructor(\n private _injector: Injector,\n private _ref: ChangeDetectorRef,\n @Optional()\n @Inject(TABLE_CELL_TYPE_MANIFEST)\n manifests?: ITableCellTypeManifest[],\n ) {\n this._manifests = manifests || []\n }\n\n ngAfterViewInit() {\n if (!this.type) {\n return\n }\n\n const comp = this._getComponent(this.type)\n if (comp) {\n this._dataChangeSubject = new Subject<\n TableCellDataChange<T, TableCellTypeConfig<T>>\n >()\n\n this._data = {\n row: this.row,\n rowIndex: this.rowIndex ?? -1,\n colData: this.colData ?? {},\n value: this.value,\n changed: this._dataChangeSubject.asObservable(),\n }\n\n this.componentPortal = new ComponentPortal(\n comp,\n null,\n this._createInjector(this._data),\n )\n this._ref.detectChanges()\n } else {\n if (isDevMode()) {\n throw new Error(`CellType '${this.type}' not found.`)\n } else {\n // TODO: Implement fallback\n }\n }\n }\n\n private _getComponent(name: string): ComponentType<unknown> | undefined {\n const manifest = this._manifests.find((m) => m.name === name)\n return manifest ? manifest.component : undefined\n }\n\n private _createInjector(\n cellData: TableCellData<T, TableCellTypeConfig<T>>,\n ): Injector {\n return Injector.create({\n parent: this._injector,\n providers: [{ provide: TABLE_CELL_DATA, useValue: cellData }],\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._data) {\n const dataChanged =\n [\n this._tryUpdateDataProp(changes, 'row'),\n this._tryUpdateDataProp(changes, 'rowIndex'),\n this._tryUpdateDataProp(changes, 'colData'),\n this._tryUpdateDataProp(changes, 'value'),\n ].findIndex((b) => b === true) !== -1\n\n if (dataChanged && this._dataChangeSubject) {\n this._dataChangeSubject.next({\n data: this._data,\n changes,\n })\n }\n }\n }\n\n private _tryUpdateDataProp(\n changes: SimpleChanges,\n prop: keyof Omit<TableCellData<T, TableCellTypeConfig<T>>, 'changed'>,\n ): boolean {\n if (this._data && Object.prototype.hasOwnProperty.call(changes, prop)) {\n this._data[prop] = changes[prop].currentValue\n return true\n }\n return false\n }\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable, Subject, Subscriber } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nimport {\n DynamicActionHelperService,\n DynamicActionModalDef,\n DynamicValueHelperService,\n} from '@theseam/ui-common/dynamic'\n\nimport { TableCellTypeConfig } from '../table-cell-type-config'\nimport {\n CaluclatedValueContextType,\n ICalucatedValueContext,\n TableCellData,\n} from '../table-cell-type-models'\nimport { TableCellTypeName } from '../table-cell-type-name'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TableCellTypesHelpersService {\n constructor(\n private _dynamicActionHelper: DynamicActionHelperService,\n private _valueHelper: DynamicValueHelperService,\n ) {}\n\n public parseValueProp(\n value: any,\n contextOrContextFn: CaluclatedValueContextType,\n ) {\n const context = this._resolveValueContext(contextOrContextFn)\n return this._valueHelper.evalSync(value, context)\n }\n\n public getValueContext<T extends TableCellTypeName>(\n value: any,\n data?: TableCellData<T, TableCellTypeConfig<T>>,\n ): ICalucatedValueContext {\n return {\n row: data && data.row,\n rowIndex: data && data.rowIndex,\n colData: data && data.colData,\n value,\n }\n }\n\n private _resolveValueContext(contextOrContextFn: CaluclatedValueContextType) {\n let context = contextOrContextFn\n if (typeof context === 'function') {\n context = context()\n }\n return context\n }\n\n public handleModalAction<R = any>(\n action: DynamicActionModalDef,\n contextOrContextFn: CaluclatedValueContextType,\n ) {\n // TODO: Try to simplify this observable. It seems fairly easy to read like\n // this, but seems like it is doing more than it needs to with the multiple\n // subjects.\n return new Observable((subscriber: Subscriber<R>) => {\n // Passed to helper function to emit results to subscriber.\n const resultSubject = new Subject<any>()\n // Used to stop observing.\n const stopSubject = new Subject<any>()\n\n // Observe results to emit to subscriber.\n resultSubject.pipe(takeUntil(stopSubject)).subscribe(\n (result) => subscriber.next(result),\n (err) => subscriber.error(err),\n () => stopSubject.complete(),\n )\n\n // Handle the potentially deep chain of actions.\n this._handleModalAction(action, contextOrContextFn, resultSubject)\n .pipe(takeUntil(stopSubject))\n .subscribe(\n () => {},\n (err) => subscriber.error(err),\n () => subscriber.complete(),\n )\n\n // Clean up on unsubscribe.\n return () => {\n stopSubject.next(undefined)\n stopSubject.complete()\n }\n })\n }\n\n private _handleModalAction(\n action: DynamicActionModalDef,\n contextOrContextFn: CaluclatedValueContextType,\n resultSubject: Subject<any>,\n ) {\n const context = this._resolveValueContext(contextOrContextFn)\n return from(this._dynamicActionHelper.exec(action, context))\n }\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TableCellTypeSelectorComponent } from './table-cell-type-selector.component'\n\n@NgModule({\n declarations: [TableCellTypeSelectorComponent],\n imports: [CommonModule, PortalModule],\n providers: [],\n exports: [TableCellTypeSelectorComponent],\n})\nexport class TheSeamTableCellTypeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-table-cell-type.mjs","sources":["../../../projects/ui-common/table-cell-type/table-cell-type-column-align.ts","../../../projects/ui-common/table-cell-type/table-cell-type-tokens.ts","../../../projects/ui-common/table-cell-type/table-cell-type-selector.component.ts","../../../projects/ui-common/table-cell-type/services/table-cell-types-helpers.service.ts","../../../projects/ui-common/table-cell-type/table-cell-type.module.ts","../../../projects/ui-common/table-cell-type/theseam-ui-common-table-cell-type.ts"],"sourcesContent":["export interface TheSeamTableCellTypeColumnAlign {\r\n /**\r\n * Alignment for header and cell content.\r\n *\r\n * Defaults to 'left'.\r\n */\r\n align?: 'left' | 'center' | 'right'\r\n\r\n /**\r\n * Alignment for header content.\r\n *\r\n * Defaults to `align` if not provided.\r\n */\r\n alignHeader?: 'left' | 'center' | 'right'\r\n\r\n /**\r\n * Alignment for cell content.\r\n *\r\n * Defaults to `align` if not provided.\r\n */\r\n alignCell?: 'left' | 'center' | 'right'\r\n}\r\n\r\nexport function setColumnAlignDefaults(\r\n column: TheSeamTableCellTypeColumnAlign & {\r\n headerClass?: string | null | ((data: any) => string | any)\r\n cellClass?: string | null | ((data: any) => string | any)\r\n },\r\n): void {\r\n if (!Object.prototype.hasOwnProperty.call(column, 'align')) {\r\n column.align = 'left'\r\n }\r\n\r\n if (!Object.prototype.hasOwnProperty.call(column, 'alignHeader')) {\r\n column.alignHeader = column.align\r\n }\r\n\r\n if (!Object.prototype.hasOwnProperty.call(column, 'alignCell')) {\r\n column.alignCell = column.align\r\n }\r\n\r\n if (!Object.prototype.hasOwnProperty.call(column, 'headerClass')) {\r\n column.headerClass = `text-${column.alignHeader}`\r\n } else if (\r\n typeof column.headerClass === 'string' &&\r\n column.headerClass.length > 0 &&\r\n !column.headerClass.includes('text-')\r\n ) {\r\n column.headerClass = `text-${column.alignHeader} ${column.headerClass}`\r\n }\r\n\r\n if (!Object.prototype.hasOwnProperty.call(column, 'cellClass')) {\r\n column.cellClass = `text-${column.alignCell}`\r\n } else if (\r\n typeof column.cellClass === 'string' &&\r\n column.cellClass.length > 0 &&\r\n !column.cellClass.includes('text-')\r\n ) {\r\n column.cellClass = `text-${column.alignCell} ${column.cellClass}`\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core'\n\nimport { ITableCellTypeManifest, TableCellData } from './table-cell-type-models'\n\nexport const TABLE_CELL_TYPE_MANIFEST =\n new InjectionToken<ITableCellTypeManifest>('TABLE_CELL_TYPE_MANIFEST')\n\nexport const TABLE_CELL_DATA = new InjectionToken<TableCellData<any, any>>(\n 'TABLE_CELL_DATA',\n)\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentType } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n Input,\n isDevMode,\n OnChanges,\n Optional,\n SimpleChanges,\n} from '@angular/core'\nimport { Subject } from 'rxjs'\n\nimport { TableCellTypeConfig } from './table-cell-type-config'\nimport type { TheSeamTableColumn } from './table-cell-type-models'\nimport {\n ITableCellTypeManifest,\n TableCellData,\n TableCellDataChange,\n} from './table-cell-type-models'\nimport {\n TABLE_CELL_DATA,\n TABLE_CELL_TYPE_MANIFEST,\n} from './table-cell-type-tokens'\n\n@Component({\n selector: 'seam-table-cell-type-selector',\n template: `\n <ng-template\n *ngIf=\"componentPortal; else noPortal\"\n [cdkPortalOutlet]=\"componentPortal\"\n ></ng-template>\n <ng-template #noPortal>{{ value }}</ng-template>\n `,\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableCellTypeSelectorComponent<\n T extends string = any,\n D = any,\n V = any,\n >\n implements AfterViewInit, OnChanges\n{\n @Input() type: T | undefined | null\n @Input() value: V | undefined | null\n @Input() rowIndex: number | undefined | null\n @Input() row: D | undefined | null\n @Input() colData:\n | TheSeamTableColumn<T, TableCellTypeConfig<T>>\n | undefined\n | null\n\n public componentPortal?: ComponentPortal<unknown>\n\n private _data: TableCellData<T, TableCellTypeConfig<T>> | undefined\n private _dataChangeSubject?: Subject<\n TableCellDataChange<T, TableCellTypeConfig<T>>\n >\n private _manifests: ITableCellTypeManifest[]\n\n constructor(\n private _injector: Injector,\n private _ref: ChangeDetectorRef,\n @Optional()\n @Inject(TABLE_CELL_TYPE_MANIFEST)\n manifests?: ITableCellTypeManifest[],\n ) {\n this._manifests = manifests || []\n }\n\n ngAfterViewInit() {\n if (!this.type) {\n return\n }\n\n const comp = this._getComponent(this.type)\n if (comp) {\n this._dataChangeSubject = new Subject<\n TableCellDataChange<T, TableCellTypeConfig<T>>\n >()\n\n this._data = {\n row: this.row,\n rowIndex: this.rowIndex ?? -1,\n colData: this.colData ?? {},\n value: this.value,\n changed: this._dataChangeSubject.asObservable(),\n }\n\n this.componentPortal = new ComponentPortal(\n comp,\n null,\n this._createInjector(this._data),\n )\n this._ref.detectChanges()\n } else {\n if (isDevMode()) {\n throw new Error(`CellType '${this.type}' not found.`)\n } else {\n // TODO: Implement fallback\n }\n }\n }\n\n private _getComponent(name: string): ComponentType<unknown> | undefined {\n const manifest = this._manifests.find((m) => m.name === name)\n return manifest ? manifest.component : undefined\n }\n\n private _createInjector(\n cellData: TableCellData<T, TableCellTypeConfig<T>>,\n ): Injector {\n return Injector.create({\n parent: this._injector,\n providers: [{ provide: TABLE_CELL_DATA, useValue: cellData }],\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._data) {\n const dataChanged =\n [\n this._tryUpdateDataProp(changes, 'row'),\n this._tryUpdateDataProp(changes, 'rowIndex'),\n this._tryUpdateDataProp(changes, 'colData'),\n this._tryUpdateDataProp(changes, 'value'),\n ].findIndex((b) => b === true) !== -1\n\n if (dataChanged && this._dataChangeSubject) {\n this._dataChangeSubject.next({\n data: this._data,\n changes,\n })\n }\n }\n }\n\n private _tryUpdateDataProp(\n changes: SimpleChanges,\n prop: keyof Omit<TableCellData<T, TableCellTypeConfig<T>>, 'changed'>,\n ): boolean {\n if (this._data && Object.prototype.hasOwnProperty.call(changes, prop)) {\n this._data[prop] = changes[prop].currentValue\n return true\n }\n return false\n }\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable, Subject, Subscriber } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nimport {\n DynamicActionHelperService,\n DynamicActionModalDef,\n DynamicValueHelperService,\n} from '@theseam/ui-common/dynamic'\n\nimport { TableCellTypeConfig } from '../table-cell-type-config'\nimport {\n CaluclatedValueContextType,\n ICalucatedValueContext,\n TableCellData,\n} from '../table-cell-type-models'\nimport { TableCellTypeName } from '../table-cell-type-name'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TableCellTypesHelpersService {\n constructor(\n private _dynamicActionHelper: DynamicActionHelperService,\n private _valueHelper: DynamicValueHelperService,\n ) {}\n\n public parseValueProp(\n value: any,\n contextOrContextFn: CaluclatedValueContextType,\n ) {\n const context = this._resolveValueContext(contextOrContextFn)\n return this._valueHelper.evalSync(value, context)\n }\n\n public getValueContext<T extends TableCellTypeName>(\n value: any,\n data?: TableCellData<T, TableCellTypeConfig<T>>,\n ): ICalucatedValueContext {\n return {\n row: data && data.row,\n rowIndex: data && data.rowIndex,\n colData: data && data.colData,\n value,\n }\n }\n\n private _resolveValueContext(contextOrContextFn: CaluclatedValueContextType) {\n let context = contextOrContextFn\n if (typeof context === 'function') {\n context = context()\n }\n return context\n }\n\n public handleModalAction<R = any>(\n action: DynamicActionModalDef,\n contextOrContextFn: CaluclatedValueContextType,\n ) {\n // TODO: Try to simplify this observable. It seems fairly easy to read like\n // this, but seems like it is doing more than it needs to with the multiple\n // subjects.\n return new Observable((subscriber: Subscriber<R>) => {\n // Passed to helper function to emit results to subscriber.\n const resultSubject = new Subject<any>()\n // Used to stop observing.\n const stopSubject = new Subject<any>()\n\n // Observe results to emit to subscriber.\n resultSubject.pipe(takeUntil(stopSubject)).subscribe(\n (result) => subscriber.next(result),\n (err) => subscriber.error(err),\n () => stopSubject.complete(),\n )\n\n // Handle the potentially deep chain of actions.\n this._handleModalAction(action, contextOrContextFn, resultSubject)\n .pipe(takeUntil(stopSubject))\n .subscribe(\n () => {},\n (err) => subscriber.error(err),\n () => subscriber.complete(),\n )\n\n // Clean up on unsubscribe.\n return () => {\n stopSubject.next(undefined)\n stopSubject.complete()\n }\n })\n }\n\n private _handleModalAction(\n action: DynamicActionModalDef,\n contextOrContextFn: CaluclatedValueContextType,\n resultSubject: Subject<any>,\n ) {\n const context = this._resolveValueContext(contextOrContextFn)\n return from(this._dynamicActionHelper.exec(action, context))\n }\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TableCellTypeSelectorComponent } from './table-cell-type-selector.component'\n\n@NgModule({\n declarations: [TableCellTypeSelectorComponent],\n imports: [CommonModule, PortalModule],\n providers: [],\n exports: [TableCellTypeSelectorComponent],\n})\nexport class TheSeamTableCellTypeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}