@theseam/ui-common 1.0.0-beta.0 → 1.0.0-beta.10

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 (153) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +77 -39
  4. package/dynamic/index.d.ts +5 -5
  5. package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
  6. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
  8. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
  10. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-card.mjs +21 -21
  12. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
  14. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
  16. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
  18. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-core.mjs +31 -11
  20. package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
  22. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
  24. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
  26. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
  28. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
  30. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
  32. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
  34. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
  36. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
  38. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
  40. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-framework.mjs +669 -543
  42. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
  44. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
  46. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-icon.mjs +125 -89
  48. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-layout.mjs +18 -26
  50. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-loading.mjs +19 -28
  52. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-menu.mjs +124 -95
  54. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-modal.mjs +178 -129
  56. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-models.mjs +3 -3
  58. package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
  60. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-popover.mjs +81 -88
  62. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-progress.mjs +15 -19
  64. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
  66. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
  68. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-services.mjs +41 -26
  70. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-shared.mjs +149 -159
  72. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-storage.mjs +9 -6
  74. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
  76. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
  78. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
  80. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
  82. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-table.mjs +62 -41
  84. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
  86. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-testing.mjs +13 -10
  88. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
  90. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
  92. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
  94. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
  96. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  97. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
  98. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  99. package/fesm2022/theseam-ui-common-utils.mjs +113 -77
  100. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
  101. package/fesm2022/theseam-ui-common-validators.mjs +10 -9
  102. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
  103. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
  104. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  105. package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
  106. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  107. package/fesm2022/theseam-ui-common-widget.mjs +288 -314
  108. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  109. package/form-field/index.d.ts +1 -1
  110. package/framework/base-layout/base-layout.component.scss +9 -4
  111. package/framework/base-layout/styles/_variables.scss +4 -9
  112. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  113. package/framework/index.d.ts +6 -6
  114. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  115. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  116. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  117. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  118. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  119. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  120. package/graphql/index.d.ts +49 -7
  121. package/modal/README.md +5 -5
  122. package/modal/index.d.ts +1 -1
  123. package/models/index.d.ts +1 -1
  124. package/package.json +59 -60
  125. package/popover/index.d.ts +0 -2
  126. package/progress/progress-circle/styles/_variables.scss +15 -3
  127. package/shared/index.d.ts +0 -13
  128. package/story-helpers/index.d.ts +11 -1
  129. package/styles/bootstrap/_bootstrap.scss +34 -34
  130. package/styles/bootstrap/_bs-styles.scss +4 -8
  131. package/styles/bootstrap/_bs-utilities.scss +4 -4
  132. package/styles/bootstrap/_bs-variables.scss +65 -70
  133. package/styles/common/_forms.scss +9 -10
  134. package/styles/common/_global.scss +0 -1
  135. package/styles/common/_hacks.scss +1 -1
  136. package/styles/common/_table.scss +0 -1
  137. package/styles/common/_text.scss +3 -1
  138. package/styles/theme.scss +1 -1
  139. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  140. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  141. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  142. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  143. package/styles/vendor/quill/_quill.scss +15 -9
  144. package/table/index.d.ts +4 -1
  145. package/table-cell-type/index.d.ts +27 -2
  146. package/tel-input/README.md +27 -27
  147. package/utils/index.d.ts +3 -3
  148. package/viewers/index.d.ts +9 -2
  149. package/widget/_widget-theme.scss +1 -1
  150. package/widget/styles/_variables.scss +2 -2
  151. package/widget/widget/widget.component.scss +0 -2
  152. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  153. package/widget/widget-footer/widget-footer.component.scss +0 -1
@@ -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 = new InjectionToken<ITableCellTypeManifest>('TABLE_CELL_TYPE_MANIFEST')\n\nexport const TABLE_CELL_DATA = new InjectionToken<TableCellData<any, any>>('TABLE_CELL_DATA')\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 { ITableCellTypeManifest, TableCellData, TableCellDataChange } from './table-cell-type-models'\nimport { TABLE_CELL_DATA, TABLE_CELL_TYPE_MANIFEST } from './table-cell-type-tokens'\n\n@Component({\n selector: 'seam-table-cell-type-selector',\n template: `\n <ng-template *ngIf=\"componentPortal; else noPortal\" [cdkPortalOutlet]=\"componentPortal\"></ng-template>\n <ng-template #noPortal>{{ value }}</ng-template>\n `,\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class TableCellTypeSelectorComponent<T extends string = any, D = any, V = any> 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: TheSeamTableColumn<T, TableCellTypeConfig<T>> | undefined | null\n\n public componentPortal?: ComponentPortal<unknown>\n\n private _data: TableCellData<T, TableCellTypeConfig<T>> | undefined\n private _dataChangeSubject?: Subject<TableCellDataChange<T, TableCellTypeConfig<T>>>\n private _manifests: ITableCellTypeManifest[]\n\n constructor(\n private _injector: Injector,\n private _ref: ChangeDetectorRef,\n @Optional() @Inject(TABLE_CELL_TYPE_MANIFEST) manifests?: ITableCellTypeManifest[]\n ) { this._manifests = manifests || [] }\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<TableCellDataChange<T, TableCellTypeConfig<T>>>()\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(comp, null, this._createInjector(this._data))\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(cellData: TableCellData<T, TableCellTypeConfig<T>>): Injector {\n return Injector.create({ parent: this._injector, providers: [\n { provide: TABLE_CELL_DATA, useValue: cellData },\n ] })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._data) {\n const dataChanged = [\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(changes: SimpleChanges, prop: keyof Omit<TableCellData<T, TableCellTypeConfig<T>>, 'changed'>): 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}\n","import { Injectable } from '@angular/core'\nimport { from, Observable, Subject, Subscriber } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nimport { DynamicActionHelperService, DynamicActionModalDef, DynamicValueHelperService } from '@theseam/ui-common/dynamic'\n\nimport { TableCellTypeConfig } from '../table-cell-type-config'\nimport { CaluclatedValueContextType, ICalucatedValueContext, TableCellData } from '../table-cell-type-models'\nimport { TableCellTypeName } from '../table-cell-type-name'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableCellTypesHelpersService {\n\n constructor(\n private _dynamicActionHelper: DynamicActionHelperService,\n private _valueHelper: DynamicValueHelperService\n ) { }\n\n public parseValueProp(value: any, contextOrContextFn: CaluclatedValueContextType) {\n const context = this._resolveValueContext(contextOrContextFn)\n return this._valueHelper.evalSync(value, context)\n }\n\n public getValueContext<T extends TableCellTypeName>(value: any, data?: TableCellData<T, TableCellTypeConfig<T>>): 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\n .pipe(takeUntil(stopSubject))\n .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: [\n TableCellTypeSelectorComponent\n ],\n imports: [\n CommonModule,\n PortalModule\n ],\n providers: [],\n exports: [\n TableCellTypeSelectorComponent\n ]\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 {\n /**\n * Alignment for header and cell content.\n *\n * Defaults to 'left'.\n */\n align?: 'left' | 'center' | 'right'\n\n /**\n * Alignment for header content.\n *\n * Defaults to `align` if not provided.\n */\n alignHeader?: 'left' | 'center' | 'right'\n\n /**\n * Alignment for cell content.\n *\n * Defaults to `align` if not provided.\n */\n alignCell?: 'left' | 'center' | 'right'\n}\n\nexport function setColumnAlignDefaults(\n column: TheSeamTableCellTypeColumnAlign & {\n headerClass?: string | null | ((data: any) => string | any)\n cellClass?: string | null | ((data: any) => string | any)\n },\n): void {\n if (!Object.prototype.hasOwnProperty.call(column, 'align')) {\n column.align = 'left'\n }\n\n if (!Object.prototype.hasOwnProperty.call(column, 'alignHeader')) {\n column.alignHeader = column.align\n }\n\n if (!Object.prototype.hasOwnProperty.call(column, 'alignCell')) {\n column.alignCell = column.align\n }\n\n if (!Object.prototype.hasOwnProperty.call(column, 'headerClass')) {\n column.headerClass = `text-${column.alignHeader}`\n } else if (\n typeof column.headerClass === 'string' &&\n column.headerClass.length > 0 &&\n !column.headerClass.includes('text-')\n ) {\n column.headerClass = `text-${column.alignHeader} ${column.headerClass}`\n }\n\n if (!Object.prototype.hasOwnProperty.call(column, 'cellClass')) {\n column.cellClass = `text-${column.alignCell}`\n } else if (\n typeof column.cellClass === 'string' &&\n column.cellClass.length > 0 &&\n !column.cellClass.includes('text-')\n ) {\n column.cellClass = `text-${column.alignCell} ${column.cellClass}`\n }\n}\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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"}