@theseam/ui-common 0.4.30 → 1.0.0-beta.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 (1895) hide show
  1. package/ai/index.d.ts +2 -0
  2. package/asset-reader/index.d.ts +67 -5
  3. package/breadcrumbs/index.d.ts +46 -5
  4. package/buttons/index.d.ts +220 -5
  5. package/card/index.d.ts +46 -5
  6. package/carousel/index.d.ts +100 -5
  7. package/checkbox/index.d.ts +200 -5
  8. package/confirm-dialog/index.d.ts +64 -5
  9. package/core/index.d.ts +139 -5
  10. package/data-exporter/index.d.ts +60 -5
  11. package/data-filters/index.d.ts +219 -5
  12. package/datatable/index.d.ts +1339 -5
  13. package/datatable-alterations-display/index.d.ts +101 -0
  14. package/datatable-dynamic/index.d.ts +548 -5
  15. package/dynamic/index.d.ts +469 -5
  16. package/dynamic-component-loader/index.d.ts +42 -5
  17. package/fesm2022/theseam-ui-common-ai.mjs +6 -0
  18. package/fesm2022/theseam-ui-common-ai.mjs.map +1 -0
  19. package/fesm2022/theseam-ui-common-asset-reader.mjs +193 -0
  20. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -0
  21. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +171 -0
  22. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -0
  23. package/fesm2022/theseam-ui-common-buttons.mjs +478 -0
  24. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -0
  25. package/fesm2022/theseam-ui-common-card.mjs +128 -0
  26. package/fesm2022/theseam-ui-common-card.mjs.map +1 -0
  27. package/fesm2022/theseam-ui-common-carousel.mjs +269 -0
  28. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -0
  29. package/fesm2022/theseam-ui-common-checkbox.mjs +393 -0
  30. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -0
  31. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +183 -0
  32. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -0
  33. package/fesm2022/theseam-ui-common-core.mjs +229 -0
  34. package/fesm2022/theseam-ui-common-core.mjs.map +1 -0
  35. package/fesm2022/theseam-ui-common-data-exporter.mjs +89 -0
  36. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -0
  37. package/fesm2022/theseam-ui-common-data-filters.mjs +516 -0
  38. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -0
  39. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +350 -0
  40. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -0
  41. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +1096 -0
  42. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -0
  43. package/fesm2022/theseam-ui-common-datatable.mjs +4263 -0
  44. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -0
  45. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +134 -0
  46. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -0
  47. package/fesm2022/theseam-ui-common-dynamic.mjs +699 -0
  48. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -0
  49. package/fesm2022/theseam-ui-common-footer-bar.mjs +38 -0
  50. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -0
  51. package/fesm2022/theseam-ui-common-form-field-error.mjs +494 -0
  52. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -0
  53. package/fesm2022/theseam-ui-common-form-field.mjs +675 -0
  54. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -0
  55. package/fesm2022/theseam-ui-common-framework.mjs +4018 -0
  56. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -0
  57. package/fesm2022/theseam-ui-common-google-maps.mjs +2191 -0
  58. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -0
  59. package/fesm2022/theseam-ui-common-graphql.mjs +1745 -0
  60. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -0
  61. package/fesm2022/theseam-ui-common-icon.mjs +646 -0
  62. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -0
  63. package/fesm2022/theseam-ui-common-layout.mjs +118 -0
  64. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -0
  65. package/fesm2022/theseam-ui-common-loading.mjs +130 -0
  66. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -0
  67. package/fesm2022/theseam-ui-common-menu.mjs +1322 -0
  68. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -0
  69. package/fesm2022/theseam-ui-common-modal.mjs +1447 -0
  70. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -0
  71. package/fesm2022/theseam-ui-common-models.mjs +55 -0
  72. package/fesm2022/theseam-ui-common-models.mjs.map +1 -0
  73. package/fesm2022/theseam-ui-common-navigation-reload.mjs +72 -0
  74. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -0
  75. package/fesm2022/theseam-ui-common-popover.mjs +520 -0
  76. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -0
  77. package/fesm2022/theseam-ui-common-progress.mjs +97 -0
  78. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -0
  79. package/fesm2022/theseam-ui-common-rich-text.mjs +782 -0
  80. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -0
  81. package/fesm2022/theseam-ui-common-scrollbar.mjs +158 -0
  82. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -0
  83. package/fesm2022/theseam-ui-common-services.mjs +281 -0
  84. package/fesm2022/theseam-ui-common-services.mjs.map +1 -0
  85. package/fesm2022/theseam-ui-common-shared.mjs +719 -0
  86. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -0
  87. package/fesm2022/theseam-ui-common-storage.mjs +146 -0
  88. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -0
  89. package/fesm2022/theseam-ui-common-story-helpers.mjs +512 -0
  90. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -0
  91. package/fesm2022/theseam-ui-common-tabbed.mjs +292 -0
  92. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -0
  93. package/fesm2022/theseam-ui-common-table-cell-type.mjs +211 -0
  94. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -0
  95. package/fesm2022/theseam-ui-common-table-cell-types.mjs +1207 -0
  96. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -0
  97. package/fesm2022/theseam-ui-common-table.mjs +341 -0
  98. package/fesm2022/theseam-ui-common-table.mjs.map +1 -0
  99. package/fesm2022/theseam-ui-common-tel-input.mjs +843 -0
  100. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -0
  101. package/fesm2022/theseam-ui-common-testing.mjs +315 -0
  102. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -0
  103. package/fesm2022/theseam-ui-common-tiled-select.mjs +584 -0
  104. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -0
  105. package/fesm2022/theseam-ui-common-toggle-edit.mjs +517 -0
  106. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -0
  107. package/fesm2022/theseam-ui-common-toggle-group.mjs +269 -0
  108. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -0
  109. package/fesm2022/theseam-ui-common-tooltip.mjs +592 -0
  110. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -0
  111. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +78 -0
  112. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -0
  113. package/fesm2022/theseam-ui-common-utils.mjs +1366 -0
  114. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -0
  115. package/fesm2022/theseam-ui-common-validators.mjs +94 -0
  116. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -0
  117. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +85 -0
  118. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  119. package/fesm2022/theseam-ui-common-viewers.mjs +566 -0
  120. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -0
  121. package/fesm2022/theseam-ui-common-widget.mjs +1466 -0
  122. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -0
  123. package/fesm2022/theseam-ui-common.mjs +7 -0
  124. package/fesm2022/theseam-ui-common.mjs.map +1 -0
  125. package/footer-bar/index.d.ts +15 -5
  126. package/form-field/index.d.ts +255 -5
  127. package/form-field-error/index.d.ts +102 -5
  128. package/framework/index.d.ts +1372 -5
  129. package/framework/nav/nav-item/nav-item.component.scss +3 -1
  130. package/framework/nav/styles/_themes/light/_variables.scss +6 -4
  131. package/framework/nav/styles/_themes/primary/_variables.scss +6 -4
  132. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +3 -1
  133. package/framework/side-nav/styles/_themes/light/_variables.scss +3 -1
  134. package/framework/side-nav/styles/_themes/primary/_variables.scss +7 -5
  135. package/google-maps/index.d.ts +657 -5
  136. package/graphql/index.d.ts +336 -5
  137. package/icon/index.d.ts +193 -5
  138. package/index.d.ts +2 -5
  139. package/layout/index.d.ts +61 -5
  140. package/loading/index.d.ts +42 -5
  141. package/menu/index.d.ts +437 -5
  142. package/modal/index.d.ts +531 -5
  143. package/models/index.d.ts +36 -5
  144. package/navigation-reload/index.d.ts +24 -5
  145. package/package.json +185 -316
  146. package/popover/index.d.ts +127 -5
  147. package/progress/index.d.ts +38 -5
  148. package/progress/progress-circle/styles/_variables.scss +5 -3
  149. package/rich-text/index.d.ts +537 -5
  150. package/scrollbar/index.d.ts +95 -5
  151. package/services/index.d.ts +129 -5
  152. package/shared/index.d.ts +229 -5
  153. package/storage/index.d.ts +35 -5
  154. package/story-helpers/index.d.ts +184 -5
  155. package/styles/bootstrap/_bs-variables.scss +5 -3
  156. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
  157. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +6 -4
  158. package/styles/vendor/quill/_quill.scss +2 -2
  159. package/tabbed/index.d.ts +108 -5
  160. package/table/index.d.ts +110 -5
  161. package/table-cell-type/index.d.ts +145 -5
  162. package/table-cell-types/index.d.ts +537 -5
  163. package/tel-input/index.d.ts +532 -5
  164. package/testing/index.d.ts +220 -5
  165. package/tiled-select/index.d.ts +179 -5
  166. package/toggle-edit/index.d.ts +160 -5
  167. package/toggle-group/index.d.ts +61 -5
  168. package/tooltip/index.d.ts +118 -0
  169. package/unsaved-changes-dialog/index.d.ts +24 -5
  170. package/utils/index.d.ts +434 -5
  171. package/validators/index.d.ts +49 -5
  172. package/vertical-list-filter/index.d.ts +31 -5
  173. package/viewers/index.d.ts +173 -5
  174. package/widget/index.d.ts +535 -5
  175. package/asset-reader/asset-reader-helper.service.d.ts +0 -10
  176. package/asset-reader/asset-reader.module.d.ts +0 -7
  177. package/asset-reader/encrypted-asset-link.directive.d.ts +0 -26
  178. package/asset-reader/encrypted-asset-reader.d.ts +0 -24
  179. package/asset-reader/public-api.d.ts +0 -4
  180. package/breadcrumbs/breadcrumb.d.ts +0 -11
  181. package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +0 -11
  182. package/breadcrumbs/breadcrumbs-resolver.d.ts +0 -5
  183. package/breadcrumbs/breadcrumbs.module.d.ts +0 -9
  184. package/breadcrumbs/breadcrumbs.service.d.ts +0 -23
  185. package/breadcrumbs/public-api.d.ts +0 -5
  186. package/buttons/badge-button/badge-button.component.d.ts +0 -23
  187. package/buttons/button/button.component.d.ts +0 -35
  188. package/buttons/buttons.module.d.ts +0 -12
  189. package/buttons/progress-circle-button/progress-circle-button.component.d.ts +0 -22
  190. package/buttons/public-api.d.ts +0 -6
  191. package/buttons/testing/anchor-badge-button.harness.d.ts +0 -16
  192. package/buttons/testing/anchor-button.harness.d.ts +0 -16
  193. package/buttons/testing/badge-button.harness.d.ts +0 -15
  194. package/buttons/testing/base-badge-button.harness.d.ts +0 -15
  195. package/buttons/testing/base-button.harness.d.ts +0 -19
  196. package/buttons/testing/button.harness.d.ts +0 -15
  197. package/buttons/testing/index.d.ts +0 -5
  198. package/buttons/testing/toggle-button.harness.d.ts +0 -21
  199. package/buttons/toggle-button/toggle-button.component.d.ts +0 -29
  200. package/card/card-action/card-action.component.d.ts +0 -12
  201. package/card/card-body/card-body.component.d.ts +0 -13
  202. package/card/card-footer/card-footer.component.d.ts +0 -5
  203. package/card/card-header/card-header.component.d.ts +0 -7
  204. package/card/card.component.d.ts +0 -6
  205. package/card/card.module.d.ts +0 -13
  206. package/card/public-api.d.ts +0 -6
  207. package/carousel/carousel-slide.directive.d.ts +0 -8
  208. package/carousel/carousel.component.d.ts +0 -85
  209. package/carousel/carousel.module.d.ts +0 -11
  210. package/carousel/public-api.d.ts +0 -3
  211. package/checkbox/checkbox.component.d.ts +0 -141
  212. package/checkbox/checkbox.module.d.ts +0 -8
  213. package/checkbox/public-api.d.ts +0 -3
  214. package/checkbox/testing/checkbox.harness.d.ts +0 -49
  215. package/checkbox/testing/index.d.ts +0 -1
  216. package/confirm-dialog/confirm-click.directive.d.ts +0 -31
  217. package/confirm-dialog/confirm-dialog.component.d.ts +0 -16
  218. package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
  219. package/confirm-dialog/confirm-dialog.service.d.ts +0 -18
  220. package/confirm-dialog/public-api.d.ts +0 -4
  221. package/core/common-behaviors/active.d.ts +0 -8
  222. package/core/common-behaviors/constructor.d.ts +0 -9
  223. package/core/common-behaviors/disabled.d.ts +0 -17
  224. package/core/common-behaviors/element-ref.d.ts +0 -4
  225. package/core/common-behaviors/index.d.ts +0 -9
  226. package/core/common-behaviors/initialized.d.ts +0 -30
  227. package/core/common-behaviors/renderer2.d.ts +0 -4
  228. package/core/common-behaviors/size.d.ts +0 -9
  229. package/core/common-behaviors/tabindex.d.ts +0 -18
  230. package/core/common-behaviors/theme.d.ts +0 -10
  231. package/core/input-decorators/index.d.ts +0 -2
  232. package/core/input-decorators/input-boolean.decorator.d.ts +0 -12
  233. package/core/input-decorators/input-number.decorator.d.ts +0 -12
  234. package/core/public-api.d.ts +0 -2
  235. package/data-exporter/data-exporter.d.ts +0 -30
  236. package/data-exporter/data-exporter.module.d.ts +0 -6
  237. package/data-exporter/exporters/csv-exporter.d.ts +0 -11
  238. package/data-exporter/exporters/xlsx-exporter.d.ts +0 -11
  239. package/data-exporter/public-api.d.ts +0 -4
  240. package/data-filters/data-filter-container.d.ts +0 -8
  241. package/data-filters/data-filter-def.d.ts +0 -10
  242. package/data-filters/data-filter.d.ts +0 -53
  243. package/data-filters/data-filters.module.d.ts +0 -15
  244. package/data-filters/filters/data-filter-search/data-filter-search.component.d.ts +0 -39
  245. package/data-filters/filters/data-filter-search/search-filter-options.d.ts +0 -2
  246. package/data-filters/filters/data-filter-text/data-filter-text.component.d.ts +0 -37
  247. package/data-filters/filters/data-filter-text/text-filter-options.d.ts +0 -25
  248. package/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.d.ts +0 -46
  249. package/data-filters/public-api.d.ts +0 -9
  250. package/datatable/datatable/datatable.component.d.ts +0 -266
  251. package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +0 -23
  252. package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +0 -33
  253. package/datatable/datatable-column/datatable-column.component.d.ts +0 -44
  254. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
  255. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
  256. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
  257. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
  258. package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +0 -18
  259. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +0 -13
  260. package/datatable/datatable-export-button/datatable-export-button.component.d.ts +0 -25
  261. package/datatable/datatable-footer/datatable-footer-tpl.directive.d.ts +0 -8
  262. package/datatable/datatable-footer/datatable-footer.directive.d.ts +0 -9
  263. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +0 -17
  264. package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +0 -5
  265. package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +0 -5
  266. package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +0 -5
  267. package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +0 -5
  268. package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +0 -11
  269. package/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.d.ts +0 -8
  270. package/datatable/datatable-row-detail/datatable-row-detail.directive.d.ts +0 -40
  271. package/datatable/datatable.module.d.ts +0 -56
  272. package/datatable/directives/datatable-action-menu-item.directive.d.ts +0 -36
  273. package/datatable/directives/datatable-action-menu-toggle.directive.d.ts +0 -30
  274. package/datatable/directives/datatable-cell-tpl.directive.d.ts +0 -8
  275. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
  276. package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
  277. package/datatable/directives/datatable-filter.directive.d.ts +0 -9
  278. package/datatable/directives/datatable-row-action-item.directive.d.ts +0 -8
  279. package/datatable/models/action-item-column-position.d.ts +0 -13
  280. package/datatable/models/columns-alteration.d.ts +0 -61
  281. package/datatable/models/columns-alterations/hide-column.columns-alteration.d.ts +0 -15
  282. package/datatable/models/columns-alterations/order.columns-alteration.d.ts +0 -20
  283. package/datatable/models/columns-alterations/sort.columns-alteration.d.ts +0 -14
  284. package/datatable/models/columns-alterations/width.columns-alteration.d.ts +0 -16
  285. package/datatable/models/columns-data-filter.d.ts +0 -57
  286. package/datatable/models/columns-data-filters/models.d.ts +0 -65
  287. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
  288. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
  289. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
  290. package/datatable/models/columns-data-filters/utils.d.ts +0 -15
  291. package/datatable/models/datatable-accessor.d.ts +0 -21
  292. package/datatable/models/datatable-config.d.ts +0 -97
  293. package/datatable/models/datatable-data-source.d.ts +0 -14
  294. package/datatable/models/datatable-gql-data-source.d.ts +0 -7
  295. package/datatable/models/internal-column-props.d.ts +0 -7
  296. package/datatable/models/menubar-item-data.d.ts +0 -3
  297. package/datatable/models/page-info.d.ts +0 -18
  298. package/datatable/models/preferences-accessor.d.ts +0 -3
  299. package/datatable/models/preferences.d.ts +0 -18
  300. package/datatable/models/sort-event.d.ts +0 -4
  301. package/datatable/models/sort-item.d.ts +0 -5
  302. package/datatable/models/table-column.d.ts +0 -35
  303. package/datatable/public-api.d.ts +0 -54
  304. package/datatable/services/columns-alterations-manager.service.d.ts +0 -42
  305. package/datatable/services/columns-filters.service.d.ts +0 -29
  306. package/datatable/services/columns-manager.service.d.ts +0 -65
  307. package/datatable/services/datatable-column-changes.service.d.ts +0 -9
  308. package/datatable/services/datatable-preferences.service.d.ts +0 -22
  309. package/datatable/services/datatable-scrollbar-helper.service.d.ts +0 -22
  310. package/datatable/tokens/datatable-accessor.d.ts +0 -3
  311. package/datatable/tokens/datatable-preferences-accessor.d.ts +0 -3
  312. package/datatable/tokens/menubar-item-data.d.ts +0 -3
  313. package/datatable/utils/create-action-menu-column.d.ts +0 -3
  314. package/datatable/utils/create-checkbox-column.d.ts +0 -3
  315. package/datatable/utils/get-column-prop.d.ts +0 -5
  316. package/datatable/utils/map-columns-alterations-states.d.ts +0 -2
  317. package/datatable/utils/remove-unused-diffs.d.ts +0 -7
  318. package/datatable/utils/set-column-defaults.d.ts +0 -2
  319. package/datatable/utils/translate-templates.d.ts +0 -2
  320. package/datatable/utils/with-stored-column-info.d.ts +0 -3
  321. package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +0 -33
  322. package/datatable-dynamic/datatable-dynamic-def.d.ts +0 -71
  323. package/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.d.ts +0 -18
  324. package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +0 -63
  325. package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +0 -16
  326. package/datatable-dynamic/datatable-dynamic-menu-bar-token.d.ts +0 -3
  327. package/datatable-dynamic/datatable-dynamic.component.d.ts +0 -89
  328. package/datatable-dynamic/datatable-dynamic.module.d.ts +0 -22
  329. package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +0 -75
  330. package/datatable-dynamic/dynamic-datatable-def.service.d.ts +0 -62
  331. package/datatable-dynamic/dynamic-datatable-row-actions.service.d.ts +0 -19
  332. package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +0 -17
  333. package/datatable-dynamic/models/dynamic-datatable-filter-menu-item.d.ts +0 -7
  334. package/datatable-dynamic/models/dynamic-datatable-menu-bar.d.ts +0 -63
  335. package/datatable-dynamic/models/dynamic-datatable-row-action-context.d.ts +0 -5
  336. package/datatable-dynamic/models/dynamic-datatable-row-action.d.ts +0 -17
  337. package/datatable-dynamic/models/index.d.ts +0 -5
  338. package/datatable-dynamic/public-api.d.ts +0 -13
  339. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.d.ts +0 -2
  340. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.d.ts +0 -2
  341. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.d.ts +0 -2
  342. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.d.ts +0 -2
  343. package/datatable-dynamic/utils/index.d.ts +0 -4
  344. package/dynamic/action/api/dynamic-action-api-def.d.ts +0 -35
  345. package/dynamic/action/api/dynamic-action-api-errors.d.ts +0 -1
  346. package/dynamic/action/api/dynamic-action-api.d.ts +0 -3
  347. package/dynamic/action/api/dynamic-action-api.service.d.ts +0 -33
  348. package/dynamic/action/dynamic-action-helper.service.d.ts +0 -39
  349. package/dynamic/action/index.d.ts +0 -10
  350. package/dynamic/action/link/dynamic-action-link-def.d.ts +0 -58
  351. package/dynamic/action/link/dynamic-action-link.d.ts +0 -3
  352. package/dynamic/action/link/dynamic-action-link.service.d.ts +0 -17
  353. package/dynamic/action/modal/dynamic-action-modal-def.d.ts +0 -10
  354. package/dynamic/action/modal/dynamic-action-modal.d.ts +0 -3
  355. package/dynamic/action/modal/dynamic-action-modal.service.d.ts +0 -32
  356. package/dynamic/dynamic-value-helper.service.d.ts +0 -38
  357. package/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.d.ts +0 -19
  358. package/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.d.ts +0 -8
  359. package/dynamic/evaluators/exporters-data-evaluator/index.d.ts +0 -2
  360. package/dynamic/evaluators/index.d.ts +0 -2
  361. package/dynamic/evaluators/jexl-evaluator/index.d.ts +0 -2
  362. package/dynamic/evaluators/jexl-evaluator/jexl-evaluator.d.ts +0 -13
  363. package/dynamic/evaluators/jexl-evaluator/jexl-value.d.ts +0 -11
  364. package/dynamic/models/dynamic-action-confirm-def.d.ts +0 -10
  365. package/dynamic/models/dynamic-action-context.d.ts +0 -2
  366. package/dynamic/models/dynamic-action-def.d.ts +0 -9
  367. package/dynamic/models/dynamic-action-ui-anchor-def.d.ts +0 -39
  368. package/dynamic/models/dynamic-action-ui-button-def.d.ts +0 -13
  369. package/dynamic/models/dynamic-action-ui-def.d.ts +0 -37
  370. package/dynamic/models/dynamic-action.d.ts +0 -11
  371. package/dynamic/models/dynamic-value-base-type.d.ts +0 -4
  372. package/dynamic/models/dynamic-value-evaluatable-type.d.ts +0 -3
  373. package/dynamic/models/dynamic-value-evaluator.d.ts +0 -6
  374. package/dynamic/models/dynamic-value-primitive.d.ts +0 -1
  375. package/dynamic/models/dynamic-value-type.d.ts +0 -4
  376. package/dynamic/models/dynamic-value.d.ts +0 -3
  377. package/dynamic/models/index.d.ts +0 -13
  378. package/dynamic/public-api.d.ts +0 -6
  379. package/dynamic/tokens/api-config.d.ts +0 -30
  380. package/dynamic/tokens/dynamic-action.d.ts +0 -3
  381. package/dynamic/tokens/dynamic-data.d.ts +0 -2
  382. package/dynamic/tokens/dynamic-value-evaluator.d.ts +0 -3
  383. package/dynamic/tokens/index.d.ts +0 -4
  384. package/dynamic/utils/index.d.ts +0 -1
  385. package/dynamic/utils/is-action-type.d.ts +0 -2
  386. package/dynamic-component-loader/dynamic-component-loader.module.d.ts +0 -11
  387. package/dynamic-component-loader/dynamic-component-loader.service.d.ts +0 -16
  388. package/dynamic-component-loader/dynamic-component-manifest.d.ts +0 -9
  389. package/dynamic-component-loader/dynamic-component-tokens.d.ts +0 -4
  390. package/dynamic-component-loader/public-api.d.ts +0 -4
  391. package/esm2020/asset-reader/asset-reader-helper.service.mjs +0 -70
  392. package/esm2020/asset-reader/asset-reader.module.mjs +0 -20
  393. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +0 -74
  394. package/esm2020/asset-reader/encrypted-asset-reader.mjs +0 -20
  395. package/esm2020/asset-reader/public-api.mjs +0 -5
  396. package/esm2020/asset-reader/theseam-ui-common-asset-reader.mjs +0 -5
  397. package/esm2020/breadcrumbs/breadcrumb.mjs +0 -2
  398. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +0 -18
  399. package/esm2020/breadcrumbs/breadcrumbs-resolver.mjs +0 -2
  400. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +0 -28
  401. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +0 -156
  402. package/esm2020/breadcrumbs/public-api.mjs +0 -6
  403. package/esm2020/breadcrumbs/theseam-ui-common-breadcrumbs.mjs +0 -5
  404. package/esm2020/buttons/badge-button/badge-button.component.mjs +0 -62
  405. package/esm2020/buttons/button/button.component.mjs +0 -85
  406. package/esm2020/buttons/buttons.module.mjs +0 -51
  407. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +0 -52
  408. package/esm2020/buttons/public-api.mjs +0 -7
  409. package/esm2020/buttons/testing/anchor-badge-button.harness.mjs +0 -18
  410. package/esm2020/buttons/testing/anchor-button.harness.mjs +0 -18
  411. package/esm2020/buttons/testing/badge-button.harness.mjs +0 -14
  412. package/esm2020/buttons/testing/base-badge-button.harness.mjs +0 -29
  413. package/esm2020/buttons/testing/base-button.harness.mjs +0 -41
  414. package/esm2020/buttons/testing/button.harness.mjs +0 -16
  415. package/esm2020/buttons/testing/index.mjs +0 -6
  416. package/esm2020/buttons/testing/toggle-button.harness.mjs +0 -25
  417. package/esm2020/buttons/theseam-ui-common-buttons.mjs +0 -5
  418. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +0 -79
  419. package/esm2020/card/card-action/card-action.component.mjs +0 -31
  420. package/esm2020/card/card-body/card-body.component.mjs +0 -32
  421. package/esm2020/card/card-footer/card-footer.component.mjs +0 -11
  422. package/esm2020/card/card-header/card-header.component.mjs +0 -21
  423. package/esm2020/card/card.component.mjs +0 -17
  424. package/esm2020/card/card.module.mjs +0 -48
  425. package/esm2020/card/public-api.mjs +0 -7
  426. package/esm2020/card/theseam-ui-common-card.mjs +0 -5
  427. package/esm2020/carousel/carousel-slide.directive.mjs +0 -16
  428. package/esm2020/carousel/carousel.component.mjs +0 -212
  429. package/esm2020/carousel/carousel.module.mjs +0 -38
  430. package/esm2020/carousel/public-api.mjs +0 -4
  431. package/esm2020/carousel/theseam-ui-common-carousel.mjs +0 -5
  432. package/esm2020/checkbox/checkbox.component.mjs +0 -285
  433. package/esm2020/checkbox/checkbox.module.mjs +0 -21
  434. package/esm2020/checkbox/public-api.mjs +0 -4
  435. package/esm2020/checkbox/testing/checkbox.harness.mjs +0 -63
  436. package/esm2020/checkbox/testing/index.mjs +0 -2
  437. package/esm2020/checkbox/theseam-ui-common-checkbox.mjs +0 -5
  438. package/esm2020/confirm-dialog/confirm-click.directive.mjs +0 -71
  439. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +0 -38
  440. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +0 -47
  441. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +0 -41
  442. package/esm2020/confirm-dialog/public-api.mjs +0 -5
  443. package/esm2020/confirm-dialog/theseam-ui-common-confirm-dialog.mjs +0 -5
  444. package/esm2020/core/common-behaviors/active.mjs +0 -14
  445. package/esm2020/core/common-behaviors/constructor.mjs +0 -9
  446. package/esm2020/core/common-behaviors/disabled.mjs +0 -21
  447. package/esm2020/core/common-behaviors/element-ref.mjs +0 -2
  448. package/esm2020/core/common-behaviors/index.mjs +0 -10
  449. package/esm2020/core/common-behaviors/initialized.mjs +0 -63
  450. package/esm2020/core/common-behaviors/renderer2.mjs +0 -2
  451. package/esm2020/core/common-behaviors/size.mjs +0 -24
  452. package/esm2020/core/common-behaviors/tabindex.mjs +0 -23
  453. package/esm2020/core/common-behaviors/theme.mjs +0 -24
  454. package/esm2020/core/input-decorators/index.mjs +0 -3
  455. package/esm2020/core/input-decorators/input-boolean.decorator.mjs +0 -26
  456. package/esm2020/core/input-decorators/input-number.decorator.mjs +0 -26
  457. package/esm2020/core/public-api.mjs +0 -3
  458. package/esm2020/core/theseam-ui-common-core.mjs +0 -5
  459. package/esm2020/data-exporter/data-exporter.mjs +0 -7
  460. package/esm2020/data-exporter/data-exporter.module.mjs +0 -25
  461. package/esm2020/data-exporter/exporters/csv-exporter.mjs +0 -35
  462. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +0 -33
  463. package/esm2020/data-exporter/public-api.mjs +0 -5
  464. package/esm2020/data-exporter/theseam-ui-common-data-exporter.mjs +0 -5
  465. package/esm2020/data-filters/data-filter-container.mjs +0 -3
  466. package/esm2020/data-filters/data-filter-def.mjs +0 -3
  467. package/esm2020/data-filters/data-filter.mjs +0 -25
  468. package/esm2020/data-filters/data-filters.module.mjs +0 -66
  469. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +0 -121
  470. package/esm2020/data-filters/filters/data-filter-search/search-filter-options.mjs +0 -2
  471. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +0 -148
  472. package/esm2020/data-filters/filters/data-filter-text/text-filter-options.mjs +0 -2
  473. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +0 -166
  474. package/esm2020/data-filters/public-api.mjs +0 -10
  475. package/esm2020/data-filters/theseam-ui-common-data-filters.mjs +0 -5
  476. package/esm2020/datatable/datatable/datatable.component.mjs +0 -879
  477. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +0 -112
  478. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +0 -50
  479. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +0 -107
  480. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
  481. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
  482. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
  483. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
  484. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +0 -67
  485. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +0 -51
  486. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +0 -106
  487. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +0 -16
  488. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +0 -24
  489. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +0 -49
  490. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +0 -11
  491. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +0 -11
  492. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +0 -11
  493. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +0 -11
  494. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +0 -30
  495. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +0 -16
  496. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +0 -77
  497. package/esm2020/datatable/datatable.module.mjs +0 -247
  498. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +0 -62
  499. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +0 -137
  500. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +0 -16
  501. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
  502. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
  503. package/esm2020/datatable/directives/datatable-filter.directive.mjs +0 -27
  504. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +0 -16
  505. package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
  506. package/esm2020/datatable/models/columns-alteration.mjs +0 -38
  507. package/esm2020/datatable/models/columns-alterations/hide-column.columns-alteration.mjs +0 -38
  508. package/esm2020/datatable/models/columns-alterations/order.columns-alteration.mjs +0 -83
  509. package/esm2020/datatable/models/columns-alterations/sort.columns-alteration.mjs +0 -33
  510. package/esm2020/datatable/models/columns-alterations/width.columns-alteration.mjs +0 -41
  511. package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
  512. package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
  513. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
  514. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
  515. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
  516. package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
  517. package/esm2020/datatable/models/datatable-accessor.mjs +0 -2
  518. package/esm2020/datatable/models/datatable-config.mjs +0 -3
  519. package/esm2020/datatable/models/datatable-data-source.mjs +0 -42
  520. package/esm2020/datatable/models/datatable-gql-data-source.mjs +0 -15
  521. package/esm2020/datatable/models/internal-column-props.mjs +0 -15
  522. package/esm2020/datatable/models/menubar-item-data.mjs +0 -2
  523. package/esm2020/datatable/models/page-info.mjs +0 -2
  524. package/esm2020/datatable/models/preferences-accessor.mjs +0 -2
  525. package/esm2020/datatable/models/preferences.mjs +0 -6
  526. package/esm2020/datatable/models/sort-event.mjs +0 -2
  527. package/esm2020/datatable/models/sort-item.mjs +0 -2
  528. package/esm2020/datatable/models/table-column.mjs +0 -2
  529. package/esm2020/datatable/public-api.mjs +0 -55
  530. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +0 -136
  531. package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
  532. package/esm2020/datatable/services/columns-manager.service.mjs +0 -286
  533. package/esm2020/datatable/services/datatable-column-changes.service.mjs +0 -20
  534. package/esm2020/datatable/services/datatable-preferences.service.mjs +0 -94
  535. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +0 -50
  536. package/esm2020/datatable/theseam-ui-common-datatable.mjs +0 -5
  537. package/esm2020/datatable/tokens/datatable-accessor.mjs +0 -3
  538. package/esm2020/datatable/tokens/datatable-preferences-accessor.mjs +0 -3
  539. package/esm2020/datatable/tokens/menubar-item-data.mjs +0 -3
  540. package/esm2020/datatable/utils/create-action-menu-column.mjs +0 -19
  541. package/esm2020/datatable/utils/create-checkbox-column.mjs +0 -15
  542. package/esm2020/datatable/utils/get-column-prop.mjs +0 -9
  543. package/esm2020/datatable/utils/map-columns-alterations-states.mjs +0 -42
  544. package/esm2020/datatable/utils/remove-unused-diffs.mjs +0 -9
  545. package/esm2020/datatable/utils/set-column-defaults.mjs +0 -10
  546. package/esm2020/datatable/utils/translate-templates.mjs +0 -12
  547. package/esm2020/datatable/utils/with-stored-column-info.mjs +0 -20
  548. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +0 -118
  549. package/esm2020/datatable-dynamic/datatable-dynamic-def.mjs +0 -2
  550. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +0 -50
  551. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +0 -148
  552. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.mjs +0 -2
  553. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-token.mjs +0 -3
  554. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +0 -75
  555. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +0 -80
  556. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +0 -400
  557. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +0 -88
  558. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +0 -46
  559. package/esm2020/datatable-dynamic/models/dynamic-datatable-action-menu-record.mjs +0 -2
  560. package/esm2020/datatable-dynamic/models/dynamic-datatable-filter-menu-item.mjs +0 -2
  561. package/esm2020/datatable-dynamic/models/dynamic-datatable-menu-bar.mjs +0 -2
  562. package/esm2020/datatable-dynamic/models/dynamic-datatable-row-action-context.mjs +0 -2
  563. package/esm2020/datatable-dynamic/models/dynamic-datatable-row-action.mjs +0 -2
  564. package/esm2020/datatable-dynamic/models/index.mjs +0 -6
  565. package/esm2020/datatable-dynamic/public-api.mjs +0 -14
  566. package/esm2020/datatable-dynamic/theseam-ui-common-datatable-dynamic.mjs +0 -5
  567. package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.mjs +0 -8
  568. package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.mjs +0 -13
  569. package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.mjs +0 -6
  570. package/esm2020/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.mjs +0 -6
  571. package/esm2020/datatable-dynamic/utils/index.mjs +0 -5
  572. package/esm2020/dynamic/action/api/dynamic-action-api-def.mjs +0 -2
  573. package/esm2020/dynamic/action/api/dynamic-action-api-errors.mjs +0 -4
  574. package/esm2020/dynamic/action/api/dynamic-action-api.mjs +0 -2
  575. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +0 -209
  576. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +0 -158
  577. package/esm2020/dynamic/action/index.mjs +0 -11
  578. package/esm2020/dynamic/action/link/dynamic-action-link-def.mjs +0 -2
  579. package/esm2020/dynamic/action/link/dynamic-action-link.mjs +0 -2
  580. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +0 -47
  581. package/esm2020/dynamic/action/modal/dynamic-action-modal-def.mjs +0 -2
  582. package/esm2020/dynamic/action/modal/dynamic-action-modal.mjs +0 -2
  583. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +0 -85
  584. package/esm2020/dynamic/dynamic-value-helper.service.mjs +0 -105
  585. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +0 -30
  586. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.mjs +0 -2
  587. package/esm2020/dynamic/evaluators/exporters-data-evaluator/index.mjs +0 -3
  588. package/esm2020/dynamic/evaluators/index.mjs +0 -3
  589. package/esm2020/dynamic/evaluators/jexl-evaluator/index.mjs +0 -3
  590. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +0 -32
  591. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-value.mjs +0 -2
  592. package/esm2020/dynamic/models/dynamic-action-confirm-def.mjs +0 -2
  593. package/esm2020/dynamic/models/dynamic-action-context.mjs +0 -2
  594. package/esm2020/dynamic/models/dynamic-action-def.mjs +0 -3
  595. package/esm2020/dynamic/models/dynamic-action-ui-anchor-def.mjs +0 -2
  596. package/esm2020/dynamic/models/dynamic-action-ui-button-def.mjs +0 -2
  597. package/esm2020/dynamic/models/dynamic-action-ui-def.mjs +0 -2
  598. package/esm2020/dynamic/models/dynamic-action.mjs +0 -2
  599. package/esm2020/dynamic/models/dynamic-value-base-type.mjs +0 -2
  600. package/esm2020/dynamic/models/dynamic-value-evaluatable-type.mjs +0 -2
  601. package/esm2020/dynamic/models/dynamic-value-evaluator.mjs +0 -2
  602. package/esm2020/dynamic/models/dynamic-value-primitive.mjs +0 -2
  603. package/esm2020/dynamic/models/dynamic-value-type.mjs +0 -2
  604. package/esm2020/dynamic/models/dynamic-value.mjs +0 -2
  605. package/esm2020/dynamic/models/index.mjs +0 -14
  606. package/esm2020/dynamic/public-api.mjs +0 -7
  607. package/esm2020/dynamic/theseam-ui-common-dynamic.mjs +0 -5
  608. package/esm2020/dynamic/tokens/api-config.mjs +0 -29
  609. package/esm2020/dynamic/tokens/dynamic-action.mjs +0 -3
  610. package/esm2020/dynamic/tokens/dynamic-data.mjs +0 -3
  611. package/esm2020/dynamic/tokens/dynamic-value-evaluator.mjs +0 -3
  612. package/esm2020/dynamic/tokens/index.mjs +0 -5
  613. package/esm2020/dynamic/utils/index.mjs +0 -2
  614. package/esm2020/dynamic/utils/is-action-type.mjs +0 -4
  615. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +0 -50
  616. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +0 -78
  617. package/esm2020/dynamic-component-loader/dynamic-component-manifest.mjs +0 -2
  618. package/esm2020/dynamic-component-loader/dynamic-component-tokens.mjs +0 -5
  619. package/esm2020/dynamic-component-loader/public-api.mjs +0 -5
  620. package/esm2020/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.mjs +0 -5
  621. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +0 -11
  622. package/esm2020/footer-bar/footer-bar.module.mjs +0 -20
  623. package/esm2020/footer-bar/public-api.mjs +0 -3
  624. package/esm2020/footer-bar/theseam-ui-common-footer-bar.mjs +0 -5
  625. package/esm2020/form-field/form-field-error.directive.mjs +0 -30
  626. package/esm2020/form-field/form-field-help-text.directive.mjs +0 -16
  627. package/esm2020/form-field/form-field-label-tpl.directive.mjs +0 -16
  628. package/esm2020/form-field/form-field-required-indicator.component.mjs +0 -61
  629. package/esm2020/form-field/form-field-tokens.mjs +0 -3
  630. package/esm2020/form-field/form-field.component.mjs +0 -221
  631. package/esm2020/form-field/form-field.module.mjs +0 -61
  632. package/esm2020/form-field/input.directive.mjs +0 -227
  633. package/esm2020/form-field/public-api.mjs +0 -10
  634. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +0 -8
  635. package/esm2020/form-field/testing/form-field.harness.mjs +0 -45
  636. package/esm2020/form-field/testing/index.mjs +0 -3
  637. package/esm2020/form-field/theseam-ui-common-form-field.mjs +0 -5
  638. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +0 -26
  639. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +0 -26
  640. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +0 -18
  641. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +0 -384
  642. package/esm2020/form-field-error/form-field-error.module.mjs +0 -39
  643. package/esm2020/form-field-error/public-api.mjs +0 -6
  644. package/esm2020/form-field-error/theseam-ui-common-form-field-error.mjs +0 -5
  645. package/esm2020/framework/base-layout/base-layout-action.mjs +0 -2
  646. package/esm2020/framework/base-layout/base-layout-nav.mjs +0 -2
  647. package/esm2020/framework/base-layout/base-layout-ref.mjs +0 -2
  648. package/esm2020/framework/base-layout/base-layout-tokens.mjs +0 -3
  649. package/esm2020/framework/base-layout/base-layout.component.mjs +0 -133
  650. package/esm2020/framework/base-layout/base-layout.module.mjs +0 -80
  651. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +0 -16
  652. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +0 -16
  653. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +0 -16
  654. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +0 -66
  655. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +0 -16
  656. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
  657. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +0 -16
  658. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +0 -16
  659. package/esm2020/framework/base-layout/index.mjs +0 -15
  660. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +0 -16
  661. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +0 -23
  662. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +0 -119
  663. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-item.mjs +0 -2
  664. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.mjs +0 -3
  665. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.mjs +0 -2
  666. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +0 -177
  667. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +0 -207
  668. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +0 -181
  669. package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +0 -3
  670. package/esm2020/framework/dashboard/dashboard.component.mjs +0 -24
  671. package/esm2020/framework/dashboard/dashboard.module.mjs +0 -60
  672. package/esm2020/framework/dashboard/index.mjs +0 -12
  673. package/esm2020/framework/dynamic-router/dynamic-route-def.mjs +0 -2
  674. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +0 -28
  675. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.mjs +0 -256
  676. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +0 -116
  677. package/esm2020/framework/dynamic-router/index.mjs +0 -6
  678. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +0 -26
  679. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
  680. package/esm2020/framework/nav/index.mjs +0 -6
  681. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
  682. package/esm2020/framework/nav/nav-utils.mjs +0 -107
  683. package/esm2020/framework/nav/nav.models.mjs +0 -2
  684. package/esm2020/framework/nav/nav.module.mjs +0 -67
  685. package/esm2020/framework/nav/nav.service.mjs +0 -204
  686. package/esm2020/framework/public-api.mjs +0 -8
  687. package/esm2020/framework/schema-form/index.mjs +0 -5
  688. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +0 -21
  689. package/esm2020/framework/schema-form/schema-form-framework.mjs +0 -85
  690. package/esm2020/framework/schema-form/schema-form-widget.mjs +0 -2
  691. package/esm2020/framework/schema-form/schema-form.module.mjs +0 -45
  692. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +0 -53
  693. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +0 -20
  694. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +0 -43
  695. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +0 -49
  696. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +0 -48
  697. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +0 -54
  698. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +0 -156
  699. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +0 -48
  700. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +0 -57
  701. package/esm2020/framework/side-nav/index.mjs +0 -8
  702. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +0 -186
  703. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +0 -40
  704. package/esm2020/framework/side-nav/side-nav-tokens.mjs +0 -7
  705. package/esm2020/framework/side-nav/side-nav-utils.mjs +0 -90
  706. package/esm2020/framework/side-nav/side-nav.component.mjs +0 -408
  707. package/esm2020/framework/side-nav/side-nav.models.mjs +0 -2
  708. package/esm2020/framework/side-nav/side-nav.module.mjs +0 -32
  709. package/esm2020/framework/side-nav/side-nav.service.mjs +0 -178
  710. package/esm2020/framework/theseam-ui-common-framework.mjs +0 -5
  711. package/esm2020/framework/top-bar/index.mjs +0 -10
  712. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
  713. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +0 -22
  714. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +0 -16
  715. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +0 -56
  716. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +0 -19
  717. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
  718. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +0 -17
  719. package/esm2020/framework/top-bar/top-bar.component.mjs +0 -141
  720. package/esm2020/framework/top-bar/top-bar.module.mjs +0 -83
  721. package/esm2020/google-maps/google-maps/google-maps.component.mjs +0 -333
  722. package/esm2020/google-maps/google-maps-api-loader/google-maps-api-loader.mjs +0 -3
  723. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +0 -104
  724. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +0 -25
  725. package/esm2020/google-maps/google-maps-contextmenu.mjs +0 -114
  726. package/esm2020/google-maps/google-maps-controls.service.mjs +0 -67
  727. package/esm2020/google-maps/google-maps-feature-helpers.mjs +0 -223
  728. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +0 -209
  729. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +0 -165
  730. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +0 -58
  731. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +0 -115
  732. package/esm2020/google-maps/google-maps.module.mjs +0 -72
  733. package/esm2020/google-maps/google-maps.service.mjs +0 -429
  734. package/esm2020/google-maps/map-control.component.mjs +0 -66
  735. package/esm2020/google-maps/map-controls-service.mjs +0 -4
  736. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +0 -128
  737. package/esm2020/google-maps/map-value-manager.service.mjs +0 -48
  738. package/esm2020/google-maps/public-api.mjs +0 -18
  739. package/esm2020/google-maps/theseam-ui-common-google-maps.mjs +0 -5
  740. package/esm2020/graphql/datatable/create-page-info-observable.mjs +0 -38
  741. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +0 -212
  742. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +0 -50
  743. package/esm2020/graphql/datatable/datatable-helpers.mjs +0 -175
  744. package/esm2020/graphql/datatable/get-page-info.mjs +0 -10
  745. package/esm2020/graphql/datatable/index.mjs +0 -10
  746. package/esm2020/graphql/datatable/map-filter-states.mjs +0 -63
  747. package/esm2020/graphql/datatable/map-page-info.mjs +0 -14
  748. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
  749. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
  750. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
  751. package/esm2020/graphql/datatable/mapper-context.mjs +0 -2
  752. package/esm2020/graphql/models/direction.mjs +0 -8
  753. package/esm2020/graphql/models/gql-datatable-accessor.mjs +0 -2
  754. package/esm2020/graphql/models/hint-definition.mjs +0 -2
  755. package/esm2020/graphql/models/hint-transform-operation.mjs +0 -2
  756. package/esm2020/graphql/models/hint-transformer.mjs +0 -2
  757. package/esm2020/graphql/models/hints-kind.mjs +0 -9
  758. package/esm2020/graphql/models/hints-token.mjs +0 -2
  759. package/esm2020/graphql/models/index.mjs +0 -10
  760. package/esm2020/graphql/models/query-processing-config.mjs +0 -2
  761. package/esm2020/graphql/models/variable.mjs +0 -7
  762. package/esm2020/graphql/public-api.mjs +0 -3
  763. package/esm2020/graphql/theseam-ui-common-graphql.mjs +0 -5
  764. package/esm2020/graphql/utils/contains-variable.mjs +0 -14
  765. package/esm2020/graphql/utils/gql-var.mjs +0 -4
  766. package/esm2020/graphql/utils/hints-tokens-containing-hint.mjs +0 -4
  767. package/esm2020/graphql/utils/index.mjs +0 -11
  768. package/esm2020/graphql/utils/inline-variables.mjs +0 -51
  769. package/esm2020/graphql/utils/parse-comments.mjs +0 -24
  770. package/esm2020/graphql/utils/parse-hints.mjs +0 -108
  771. package/esm2020/graphql/utils/remove-variable-definition.mjs +0 -14
  772. package/esm2020/graphql/utils/remove-variable-definitions-not-defined.mjs +0 -19
  773. package/esm2020/graphql/utils/remove-variable.mjs +0 -22
  774. package/esm2020/graphql/utils/to-gql.mjs +0 -40
  775. package/esm2020/icon/icon/icon.component.mjs +0 -139
  776. package/esm2020/icon/icon-btn/icon-btn.component.mjs +0 -183
  777. package/esm2020/icon/icon-notification/icon-notification.component.mjs +0 -124
  778. package/esm2020/icon/icon.mjs +0 -2
  779. package/esm2020/icon/icon.module.mjs +0 -38
  780. package/esm2020/icon/public-api.mjs +0 -7
  781. package/esm2020/icon/theseam-ui-common-icon.mjs +0 -5
  782. package/esm2020/icon/utils/file-extension-icon.mjs +0 -33
  783. package/esm2020/icon/utils/get-known-icon.mjs +0 -82
  784. package/esm2020/icon/utils/index.mjs +0 -3
  785. package/esm2020/layout/breakpoint-aliases.mjs +0 -11
  786. package/esm2020/layout/layout.module.mjs +0 -25
  787. package/esm2020/layout/layout.service.mjs +0 -32
  788. package/esm2020/layout/observe-media-query.mjs +0 -41
  789. package/esm2020/layout/public-api.mjs +0 -5
  790. package/esm2020/layout/theseam-ui-common-layout.mjs +0 -5
  791. package/esm2020/loading/loading/loading.component.mjs +0 -26
  792. package/esm2020/loading/loading-overlay.service.mjs +0 -58
  793. package/esm2020/loading/loading-themes.mjs +0 -18
  794. package/esm2020/loading/loading.models.mjs +0 -2
  795. package/esm2020/loading/loading.module.mjs +0 -41
  796. package/esm2020/loading/public-api.mjs +0 -6
  797. package/esm2020/loading/theseam-ui-common-loading.mjs +0 -5
  798. package/esm2020/menu/menu-animations.mjs +0 -58
  799. package/esm2020/menu/menu-divider.component.mjs +0 -13
  800. package/esm2020/menu/menu-footer/menu-footer.component.mjs +0 -32
  801. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +0 -54
  802. package/esm2020/menu/menu-header/menu-header.component.mjs +0 -32
  803. package/esm2020/menu/menu-item.component.mjs +0 -158
  804. package/esm2020/menu/menu-panel-token.mjs +0 -6
  805. package/esm2020/menu/menu-panel.mjs +0 -2
  806. package/esm2020/menu/menu-toggle.directive.mjs +0 -427
  807. package/esm2020/menu/menu.component.mjs +0 -200
  808. package/esm2020/menu/menu.module.mjs +0 -67
  809. package/esm2020/menu/public-api.mjs +0 -16
  810. package/esm2020/menu/testing/menu-footer.harness.mjs +0 -28
  811. package/esm2020/menu/testing/menu-header.harness.mjs +0 -23
  812. package/esm2020/menu/testing/menu-item.harness.mjs +0 -59
  813. package/esm2020/menu/testing/menu.harness.mjs +0 -163
  814. package/esm2020/menu/testing/utils.mjs +0 -13
  815. package/esm2020/menu/theseam-ui-common-menu.mjs +0 -5
  816. package/esm2020/modal/directives/modal-close.directive.mjs +0 -74
  817. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +0 -16
  818. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +0 -16
  819. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +0 -16
  820. package/esm2020/modal/directives/modal-title.directive.mjs +0 -20
  821. package/esm2020/modal/directives/modal.directive.mjs +0 -25
  822. package/esm2020/modal/modal/modal.component.mjs +0 -162
  823. package/esm2020/modal/modal-body/modal-body.component.mjs +0 -21
  824. package/esm2020/modal/modal-config.mjs +0 -47
  825. package/esm2020/modal/modal-container/modal-container.component.mjs +0 -245
  826. package/esm2020/modal/modal-footer/modal-footer.component.mjs +0 -17
  827. package/esm2020/modal/modal-header/modal-header.component.mjs +0 -28
  828. package/esm2020/modal/modal-injectors.mjs +0 -23
  829. package/esm2020/modal/modal-ref.mjs +0 -171
  830. package/esm2020/modal/modal-utils.mjs +0 -14
  831. package/esm2020/modal/modal.models.mjs +0 -3
  832. package/esm2020/modal/modal.module.mjs +0 -127
  833. package/esm2020/modal/modal.service.mjs +0 -352
  834. package/esm2020/modal/public-api.mjs +0 -20
  835. package/esm2020/modal/route-modal/route-modal.component.mjs +0 -62
  836. package/esm2020/modal/theseam-ui-common-modal.mjs +0 -5
  837. package/esm2020/models/component-type.mjs +0 -4
  838. package/esm2020/models/http-status-codes.mjs +0 -20
  839. package/esm2020/models/public-api.mjs +0 -8
  840. package/esm2020/models/size-prefixes.mjs +0 -2
  841. package/esm2020/models/size-types.mjs +0 -2
  842. package/esm2020/models/theme-names.mjs +0 -26
  843. package/esm2020/models/theme-prefixes.mjs +0 -2
  844. package/esm2020/models/theme-types.mjs +0 -2
  845. package/esm2020/models/theseam-ui-common-models.mjs +0 -5
  846. package/esm2020/navigation-reload/navigation-reload.config.mjs +0 -2
  847. package/esm2020/navigation-reload/navigation-reload.provider.mjs +0 -14
  848. package/esm2020/navigation-reload/navigation-reload.service.mjs +0 -54
  849. package/esm2020/navigation-reload/public-api.mjs +0 -4
  850. package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +0 -5
  851. package/esm2020/popover/popover/popover.component.mjs +0 -160
  852. package/esm2020/popover/popover-animations.mjs +0 -46
  853. package/esm2020/popover/popover.directive.mjs +0 -264
  854. package/esm2020/popover/popover.module.mjs +0 -40
  855. package/esm2020/popover/public-api.mjs +0 -5
  856. package/esm2020/popover/theseam-ui-common-popover.mjs +0 -5
  857. package/esm2020/progress/progress-circle/progress-circle.component.mjs +0 -65
  858. package/esm2020/progress/progress.module.mjs +0 -24
  859. package/esm2020/progress/public-api.mjs +0 -3
  860. package/esm2020/progress/theseam-ui-common-progress.mjs +0 -5
  861. package/esm2020/public_api.mjs +0 -2
  862. package/esm2020/rich-text/public-api.mjs +0 -5
  863. package/esm2020/rich-text/rich-text/rich-text.component.mjs +0 -594
  864. package/esm2020/rich-text/rich-text.module.mjs +0 -32
  865. package/esm2020/rich-text/theseam-ui-common-rich-text.mjs +0 -5
  866. package/esm2020/rich-text/utils/models.mjs +0 -24
  867. package/esm2020/rich-text/utils/utils.mjs +0 -123
  868. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +0 -60
  869. package/esm2020/scrollbar/overlay-scrollbars-config-model.mjs +0 -2
  870. package/esm2020/scrollbar/overlay-scrollbars-config.mjs +0 -13
  871. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +0 -83
  872. package/esm2020/scrollbar/public-api.mjs +0 -6
  873. package/esm2020/scrollbar/scrollbar.module.mjs +0 -30
  874. package/esm2020/scrollbar/theseam-ui-common-scrollbar.mjs +0 -5
  875. package/esm2020/services/asset-loader.service.mjs +0 -32
  876. package/esm2020/services/font-loader.service.mjs +0 -83
  877. package/esm2020/services/preferences/preferences-accessor.mjs +0 -2
  878. package/esm2020/services/preferences/preferences-manager.service.mjs +0 -69
  879. package/esm2020/services/preferences/preferences-record.mjs +0 -72
  880. package/esm2020/services/preferences/preferences.models.mjs +0 -2
  881. package/esm2020/services/public-api.mjs +0 -8
  882. package/esm2020/services/router-helpers.service.mjs +0 -25
  883. package/esm2020/services/theseam-ui-common-services.mjs +0 -5
  884. package/esm2020/shared/components/index.mjs +0 -2
  885. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +0 -49
  886. package/esm2020/shared/directives/auto-focus.directive.mjs +0 -54
  887. package/esm2020/shared/directives/click-outside.directive.mjs +0 -52
  888. package/esm2020/shared/directives/disable-control.directive.mjs +0 -27
  889. package/esm2020/shared/directives/elem-resized.directive.mjs +0 -28
  890. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +0 -88
  891. package/esm2020/shared/directives/hover-class.directive.mjs +0 -82
  892. package/esm2020/shared/directives/index.mjs +0 -9
  893. package/esm2020/shared/directives/ng-select-extra.directive.mjs +0 -184
  894. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +0 -61
  895. package/esm2020/shared/pipes/index.mjs +0 -3
  896. package/esm2020/shared/pipes/mask-chars.pipe.mjs +0 -25
  897. package/esm2020/shared/pipes/truncate.pipe.mjs +0 -23
  898. package/esm2020/shared/public-api.mjs +0 -5
  899. package/esm2020/shared/shared.module.mjs +0 -93
  900. package/esm2020/shared/theseam-ui-common-shared.mjs +0 -5
  901. package/esm2020/storage/local-storage.service.mjs +0 -78
  902. package/esm2020/storage/localstorage-memory.mjs +0 -64
  903. package/esm2020/storage/public-api.mjs +0 -2
  904. package/esm2020/storage/theseam-ui-common-storage.mjs +0 -5
  905. package/esm2020/story-helpers/arg-type-helpers.mjs +0 -31
  906. package/esm2020/story-helpers/args-to-tpl.mjs +0 -83
  907. package/esm2020/story-helpers/initial-route-factory.mjs +0 -4
  908. package/esm2020/story-helpers/initial-route.service.mjs +0 -27
  909. package/esm2020/story-helpers/on-story-bootstrapped-exec.mjs +0 -61
  910. package/esm2020/story-helpers/on-story-bootstrapped-trigger.mjs +0 -39
  911. package/esm2020/story-helpers/public-api.mjs +0 -16
  912. package/esm2020/story-helpers/route-button.mjs +0 -12
  913. package/esm2020/story-helpers/routes-arg-type.mjs +0 -19
  914. package/esm2020/story-helpers/story-empty-with-route.component.mjs +0 -12
  915. package/esm2020/story-helpers/story-empty.component.mjs +0 -11
  916. package/esm2020/story-helpers/story-helper-components.module.mjs +0 -42
  917. package/esm2020/story-helpers/story-initial-route.mjs +0 -28
  918. package/esm2020/story-helpers/story-modal-container.component.mjs +0 -90
  919. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +0 -34
  920. package/esm2020/story-helpers/story-toastr.service.mjs +0 -36
  921. package/esm2020/story-helpers/theseam-ui-common-story-helpers.mjs +0 -5
  922. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +0 -17
  923. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +0 -37
  924. package/esm2020/tabbed/public-api.mjs +0 -9
  925. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +0 -16
  926. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +0 -33
  927. package/esm2020/tabbed/tabbed-models.mjs +0 -2
  928. package/esm2020/tabbed/tabbed.component.mjs +0 -119
  929. package/esm2020/tabbed/tabbed.module.mjs +0 -54
  930. package/esm2020/tabbed/tabbed.service.mjs +0 -30
  931. package/esm2020/tabbed/theseam-ui-common-tabbed.mjs +0 -5
  932. package/esm2020/table/public-api.mjs +0 -6
  933. package/esm2020/table/table/table.component.mjs +0 -181
  934. package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
  935. package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
  936. package/esm2020/table/table-column.component.mjs +0 -68
  937. package/esm2020/table/table.module.mjs +0 -48
  938. package/esm2020/table/theseam-ui-common-table.mjs +0 -5
  939. package/esm2020/table-cell-type/public-api.mjs +0 -12
  940. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +0 -67
  941. package/esm2020/table-cell-type/table-cell-type-action.mjs +0 -2
  942. package/esm2020/table-cell-type/table-cell-type-column.mjs +0 -2
  943. package/esm2020/table-cell-type/table-cell-type-config.mjs +0 -2
  944. package/esm2020/table-cell-type/table-cell-type-export-props.mjs +0 -2
  945. package/esm2020/table-cell-type/table-cell-type-manifest-provider.mjs +0 -2
  946. package/esm2020/table-cell-type/table-cell-type-models.mjs +0 -2
  947. package/esm2020/table-cell-type/table-cell-type-name.mjs +0 -2
  948. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +0 -100
  949. package/esm2020/table-cell-type/table-cell-type-tokens.mjs +0 -4
  950. package/esm2020/table-cell-type/table-cell-type.module.mjs +0 -29
  951. package/esm2020/table-cell-type/theseam-ui-common-table-cell-type.mjs +0 -5
  952. package/esm2020/table-cell-types/public-api.mjs +0 -23
  953. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.mjs +0 -2
  954. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +0 -86
  955. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.mjs +0 -2
  956. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date-config.mjs +0 -2
  957. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +0 -52
  958. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.mjs +0 -2
  959. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.mjs +0 -2
  960. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +0 -84
  961. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.mjs +0 -2
  962. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.mjs +0 -2
  963. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +0 -175
  964. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.mjs +0 -2
  965. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +0 -82
  966. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.mjs +0 -2
  967. package/esm2020/table-cell-types/table-cell-type-manifests.mjs +0 -92
  968. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.mjs +0 -2
  969. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +0 -67
  970. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.mjs +0 -2
  971. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +0 -168
  972. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.mjs +0 -2
  973. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +0 -77
  974. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string-config.mjs +0 -2
  975. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +0 -197
  976. package/esm2020/table-cell-types/table-cell-types.module.mjs +0 -118
  977. package/esm2020/table-cell-types/theseam-ui-common-table-cell-types.mjs +0 -5
  978. package/esm2020/tel-input/intl-tel-input.mjs +0 -55
  979. package/esm2020/tel-input/models/index.mjs +0 -3
  980. package/esm2020/tel-input/models/tel-input-country-data.mjs +0 -2
  981. package/esm2020/tel-input/models/tel-input-number-format-name.mjs +0 -8
  982. package/esm2020/tel-input/phone-number.pipe.mjs +0 -49
  983. package/esm2020/tel-input/public-api.mjs +0 -11
  984. package/esm2020/tel-input/tel-input/tel-input.component.mjs +0 -198
  985. package/esm2020/tel-input/tel-input-constants.mjs +0 -18
  986. package/esm2020/tel-input/tel-input-validator.mjs +0 -27
  987. package/esm2020/tel-input/tel-input.directive.mjs +0 -209
  988. package/esm2020/tel-input/tel-input.module.mjs +0 -43
  989. package/esm2020/tel-input/testing/tel-input.harness.mjs +0 -49
  990. package/esm2020/tel-input/theseam-ui-common-tel-input.mjs +0 -5
  991. package/esm2020/tel-input/utils/add-country-code.mjs +0 -23
  992. package/esm2020/tel-input/utils/coerce-phone-number-format.mjs +0 -22
  993. package/esm2020/tel-input/utils/get-country-code.mjs +0 -9
  994. package/esm2020/tel-input/utils/get-dial-code.mjs +0 -45
  995. package/esm2020/tel-input/utils/get-global-intl-tel-input-globals.mjs +0 -4
  996. package/esm2020/tel-input/utils/get-global-intl-tel-input-utils.mjs +0 -4
  997. package/esm2020/tel-input/utils/get-intl-tel-input-utils.mjs +0 -17
  998. package/esm2020/tel-input/utils/get-validation-error-message.mjs +0 -12
  999. package/esm2020/tel-input/utils/index.mjs +0 -10
  1000. package/esm2020/tel-input/utils/process-country-codes.mjs +0 -46
  1001. package/esm2020/testing/current-tick-time.mjs +0 -16
  1002. package/esm2020/testing/fake-toastr.mjs +0 -29
  1003. package/esm2020/testing/get-harness.mjs +0 -19
  1004. package/esm2020/testing/harnesses/ng-select-dropdown.harness.mjs +0 -39
  1005. package/esm2020/testing/harnesses/ng-select-option.harness.mjs +0 -26
  1006. package/esm2020/testing/harnesses/ng-select.harness.mjs +0 -104
  1007. package/esm2020/testing/public-api.mjs +0 -10
  1008. package/esm2020/testing/render-story.mjs +0 -10
  1009. package/esm2020/testing/story-expect.mjs +0 -40
  1010. package/esm2020/testing/theseam-ui-common-testing.mjs +0 -5
  1011. package/esm2020/testing/tick-helper.mjs +0 -74
  1012. package/esm2020/theseam-ui-common.mjs +0 -5
  1013. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +0 -214
  1014. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +0 -159
  1015. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +0 -63
  1016. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +0 -17
  1017. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +0 -16
  1018. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +0 -19
  1019. package/esm2020/tiled-select/public-api.mjs +0 -10
  1020. package/esm2020/tiled-select/testing/index.mjs +0 -3
  1021. package/esm2020/tiled-select/testing/tiled-select-harness.mjs +0 -21
  1022. package/esm2020/tiled-select/testing/tiled-select-tile-harness.mjs +0 -23
  1023. package/esm2020/tiled-select/theseam-ui-common-tiled-select.mjs +0 -5
  1024. package/esm2020/tiled-select/tiled-select.models.mjs +0 -2
  1025. package/esm2020/tiled-select/tiled-select.module.mjs +0 -51
  1026. package/esm2020/toggle-edit/models/can-toggle-edit.mjs +0 -2
  1027. package/esm2020/toggle-edit/models/index.mjs +0 -3
  1028. package/esm2020/toggle-edit/models/toggle-edit-ref.mjs +0 -2
  1029. package/esm2020/toggle-edit/public-api.mjs +0 -7
  1030. package/esm2020/toggle-edit/theseam-ui-common-toggle-edit.mjs +0 -5
  1031. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +0 -11
  1032. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +0 -16
  1033. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +0 -57
  1034. package/esm2020/toggle-edit/toggle-edit.component.mjs +0 -414
  1035. package/esm2020/toggle-edit/toggle-edit.module.mjs +0 -64
  1036. package/esm2020/toggle-group/public-api.mjs +0 -4
  1037. package/esm2020/toggle-group/theseam-ui-common-toggle-group.mjs +0 -5
  1038. package/esm2020/toggle-group/toggle-group-option.directive.mjs +0 -47
  1039. package/esm2020/toggle-group/toggle-group.directive.mjs +0 -199
  1040. package/esm2020/toggle-group/toggle-group.module.mjs +0 -33
  1041. package/esm2020/unsaved-changes-dialog/public-api.mjs +0 -5
  1042. package/esm2020/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.mjs +0 -5
  1043. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +0 -30
  1044. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -21
  1045. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +0 -38
  1046. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -17
  1047. package/esm2020/utils/array-move.mjs +0 -62
  1048. package/esm2020/utils/calc-percentage.mjs +0 -4
  1049. package/esm2020/utils/cdk/get-closest-widget-cdk-drag.mjs +0 -18
  1050. package/esm2020/utils/create-padding.mjs +0 -17
  1051. package/esm2020/utils/file-utils.mjs +0 -49
  1052. package/esm2020/utils/form/get-control-name.mjs +0 -31
  1053. package/esm2020/utils/form/get-control-path.mjs +0 -38
  1054. package/esm2020/utils/form/has-required-control.mjs +0 -50
  1055. package/esm2020/utils/form/is-empty-input-value.mjs +0 -6
  1056. package/esm2020/utils/form/observe-control-is-different.mjs +0 -18
  1057. package/esm2020/utils/form/observe-control-status.mjs +0 -17
  1058. package/esm2020/utils/form/observe-control-valid.mjs +0 -30
  1059. package/esm2020/utils/form/observe-control-value-change.mjs +0 -10
  1060. package/esm2020/utils/form/observe-control-value.mjs +0 -11
  1061. package/esm2020/utils/form/wait-on-non-pending-status.mjs +0 -18
  1062. package/esm2020/utils/fractional-digits-count.mjs +0 -19
  1063. package/esm2020/utils/geo-json/close-polygons.mjs +0 -38
  1064. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +0 -44
  1065. package/esm2020/utils/geo-json/geo-json-to-area.mjs +0 -11
  1066. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +0 -21
  1067. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +0 -23
  1068. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +0 -32
  1069. package/esm2020/utils/geo-json/merge-polygons.mjs +0 -35
  1070. package/esm2020/utils/geo-json/min-max-points.validator.mjs +0 -56
  1071. package/esm2020/utils/geo-json/no-empty-feature-collection.validator.mjs +0 -24
  1072. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +0 -63
  1073. package/esm2020/utils/geo-json/no-kinks.validator.mjs +0 -39
  1074. package/esm2020/utils/geo-json/read-geo-file.mjs +0 -93
  1075. package/esm2020/utils/geo-json/split-multi-polygons.mjs +0 -29
  1076. package/esm2020/utils/get-attribute.mjs +0 -7
  1077. package/esm2020/utils/has-attribute.mjs +0 -7
  1078. package/esm2020/utils/has-property.mjs +0 -7
  1079. package/esm2020/utils/input-masks.mjs +0 -2
  1080. package/esm2020/utils/is-absolute-url.mjs +0 -17
  1081. package/esm2020/utils/is-null-or-undefined-or-empty.mjs +0 -4
  1082. package/esm2020/utils/is-null-or-undefined.mjs +0 -4
  1083. package/esm2020/utils/is-numeric.mjs +0 -4
  1084. package/esm2020/utils/load-style-sheet.mjs +0 -14
  1085. package/esm2020/utils/load-style.mjs +0 -13
  1086. package/esm2020/utils/not-null-or-undefined-or-empty.mjs +0 -4
  1087. package/esm2020/utils/not-null-or-undefined.mjs +0 -4
  1088. package/esm2020/utils/obj-utils.mjs +0 -26
  1089. package/esm2020/utils/observe-query-list.mjs +0 -5
  1090. package/esm2020/utils/operators/index.mjs +0 -3
  1091. package/esm2020/utils/operators/map-each.mjs +0 -6
  1092. package/esm2020/utils/operators/tap-first.mjs +0 -14
  1093. package/esm2020/utils/pad-end.mjs +0 -9
  1094. package/esm2020/utils/pad-start.mjs +0 -9
  1095. package/esm2020/utils/polling-ticker.mjs +0 -121
  1096. package/esm2020/utils/public-api.mjs +0 -54
  1097. package/esm2020/utils/refreshable.mjs +0 -65
  1098. package/esm2020/utils/router/index.mjs +0 -7
  1099. package/esm2020/utils/router/is-empty-url-route.mjs +0 -4
  1100. package/esm2020/utils/router/leaf-child-route.mjs +0 -8
  1101. package/esm2020/utils/router/operators/activated-routes-with-data-property.mjs +0 -11
  1102. package/esm2020/utils/router/route-snapshot-path-full.mjs +0 -5
  1103. package/esm2020/utils/router/route-snapshot-path-relative.mjs +0 -4
  1104. package/esm2020/utils/router/will-have-data-prop.mjs +0 -10
  1105. package/esm2020/utils/subscriber-count.mjs +0 -45
  1106. package/esm2020/utils/theseam-ui-common-utils.mjs +0 -5
  1107. package/esm2020/utils/toggle-attribute.mjs +0 -36
  1108. package/esm2020/utils/wait-on-condition-async.mjs +0 -30
  1109. package/esm2020/utils/wrap-into-observable.mjs +0 -8
  1110. package/esm2020/validators/decimal.validator.mjs +0 -25
  1111. package/esm2020/validators/email-exists.validator.mjs +0 -18
  1112. package/esm2020/validators/integer.validator.mjs +0 -25
  1113. package/esm2020/validators/phone-length.validator.mjs +0 -8
  1114. package/esm2020/validators/public-api.mjs +0 -6
  1115. package/esm2020/validators/tax-id.validator.mjs +0 -13
  1116. package/esm2020/validators/theseam-ui-common-validators.mjs +0 -5
  1117. package/esm2020/vertical-list-filter/public-api.mjs +0 -3
  1118. package/esm2020/vertical-list-filter/testing/index.mjs +0 -2
  1119. package/esm2020/vertical-list-filter/testing/vertical-list-filter.harness.mjs +0 -28
  1120. package/esm2020/vertical-list-filter/theseam-ui-common-vertical-list-filter.mjs +0 -5
  1121. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +0 -52
  1122. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +0 -219
  1123. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +0 -32
  1124. package/esm2020/viewers/html-template-viewer/index.mjs +0 -3
  1125. package/esm2020/viewers/pdf-viewer/index.mjs +0 -4
  1126. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +0 -143
  1127. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +0 -28
  1128. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -164
  1129. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +0 -33
  1130. package/esm2020/viewers/public-api.mjs +0 -3
  1131. package/esm2020/viewers/theseam-ui-common-viewers.mjs +0 -5
  1132. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +0 -150
  1133. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +0 -16
  1134. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +0 -16
  1135. package/esm2020/widget/preferences/widget-preferences.models.mjs +0 -5
  1136. package/esm2020/widget/preferences/widget-preferences.service.mjs +0 -78
  1137. package/esm2020/widget/preferences/widget-preferences.token.mjs +0 -3
  1138. package/esm2020/widget/public-api.mjs +0 -42
  1139. package/esm2020/widget/theseam-ui-common-widget.mjs +0 -5
  1140. package/esm2020/widget/widget/widget.component.mjs +0 -214
  1141. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +0 -11
  1142. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +0 -30
  1143. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +0 -11
  1144. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +0 -24
  1145. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +0 -11
  1146. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +0 -24
  1147. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +0 -39
  1148. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +0 -24
  1149. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +0 -11
  1150. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +0 -24
  1151. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +0 -11
  1152. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +0 -24
  1153. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +0 -22
  1154. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +0 -24
  1155. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +0 -17
  1156. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +0 -124
  1157. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +0 -14
  1158. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +0 -46
  1159. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +0 -38
  1160. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +0 -32
  1161. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +0 -13
  1162. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +0 -41
  1163. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +0 -11
  1164. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +0 -17
  1165. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +0 -122
  1166. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +0 -48
  1167. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +0 -11
  1168. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +0 -27
  1169. package/esm2020/widget/widget-footer/widget-footer.component.mjs +0 -11
  1170. package/esm2020/widget/widget-registry.models.mjs +0 -2
  1171. package/esm2020/widget/widget-registry.service.mjs +0 -56
  1172. package/esm2020/widget/widget-token.mjs +0 -5
  1173. package/esm2020/widget/widget.models.mjs +0 -2
  1174. package/esm2020/widget/widget.module.mjs +0 -125
  1175. package/fesm2015/theseam-ui-common-asset-reader.mjs +0 -186
  1176. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +0 -1
  1177. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +0 -201
  1178. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +0 -1
  1179. package/fesm2015/theseam-ui-common-buttons.mjs +0 -492
  1180. package/fesm2015/theseam-ui-common-buttons.mjs.map +0 -1
  1181. package/fesm2015/theseam-ui-common-card.mjs +0 -153
  1182. package/fesm2015/theseam-ui-common-card.mjs.map +0 -1
  1183. package/fesm2015/theseam-ui-common-carousel.mjs +0 -266
  1184. package/fesm2015/theseam-ui-common-carousel.mjs.map +0 -1
  1185. package/fesm2015/theseam-ui-common-checkbox.mjs +0 -391
  1186. package/fesm2015/theseam-ui-common-checkbox.mjs.map +0 -1
  1187. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +0 -192
  1188. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +0 -1
  1189. package/fesm2015/theseam-ui-common-core.mjs +0 -225
  1190. package/fesm2015/theseam-ui-common-core.mjs.map +0 -1
  1191. package/fesm2015/theseam-ui-common-data-exporter.mjs +0 -93
  1192. package/fesm2015/theseam-ui-common-data-exporter.mjs.map +0 -1
  1193. package/fesm2015/theseam-ui-common-data-filters.mjs +0 -508
  1194. package/fesm2015/theseam-ui-common-data-filters.mjs.map +0 -1
  1195. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +0 -998
  1196. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +0 -1
  1197. package/fesm2015/theseam-ui-common-datatable.mjs +0 -3685
  1198. package/fesm2015/theseam-ui-common-datatable.mjs.map +0 -1
  1199. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +0 -135
  1200. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +0 -1
  1201. package/fesm2015/theseam-ui-common-dynamic.mjs +0 -722
  1202. package/fesm2015/theseam-ui-common-dynamic.mjs.map +0 -1
  1203. package/fesm2015/theseam-ui-common-footer-bar.mjs +0 -35
  1204. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +0 -1
  1205. package/fesm2015/theseam-ui-common-form-field-error.mjs +0 -479
  1206. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +0 -1
  1207. package/fesm2015/theseam-ui-common-form-field.mjs +0 -670
  1208. package/fesm2015/theseam-ui-common-form-field.mjs.map +0 -1
  1209. package/fesm2015/theseam-ui-common-framework.mjs +0 -3891
  1210. package/fesm2015/theseam-ui-common-framework.mjs.map +0 -1
  1211. package/fesm2015/theseam-ui-common-google-maps.mjs +0 -2083
  1212. package/fesm2015/theseam-ui-common-google-maps.mjs.map +0 -1
  1213. package/fesm2015/theseam-ui-common-graphql.mjs +0 -1115
  1214. package/fesm2015/theseam-ui-common-graphql.mjs.map +0 -1
  1215. package/fesm2015/theseam-ui-common-icon.mjs +0 -587
  1216. package/fesm2015/theseam-ui-common-icon.mjs.map +0 -1
  1217. package/fesm2015/theseam-ui-common-layout.mjs +0 -101
  1218. package/fesm2015/theseam-ui-common-layout.mjs.map +0 -1
  1219. package/fesm2015/theseam-ui-common-loading.mjs +0 -139
  1220. package/fesm2015/theseam-ui-common-loading.mjs.map +0 -1
  1221. package/fesm2015/theseam-ui-common-menu.mjs +0 -1361
  1222. package/fesm2015/theseam-ui-common-menu.mjs.map +0 -1
  1223. package/fesm2015/theseam-ui-common-modal.mjs +0 -1378
  1224. package/fesm2015/theseam-ui-common-modal.mjs.map +0 -1
  1225. package/fesm2015/theseam-ui-common-models.mjs +0 -52
  1226. package/fesm2015/theseam-ui-common-models.mjs.map +0 -1
  1227. package/fesm2015/theseam-ui-common-navigation-reload.mjs +0 -75
  1228. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +0 -1
  1229. package/fesm2015/theseam-ui-common-popover.mjs +0 -506
  1230. package/fesm2015/theseam-ui-common-popover.mjs.map +0 -1
  1231. package/fesm2015/theseam-ui-common-progress.mjs +0 -93
  1232. package/fesm2015/theseam-ui-common-progress.mjs.map +0 -1
  1233. package/fesm2015/theseam-ui-common-rich-text.mjs +0 -767
  1234. package/fesm2015/theseam-ui-common-rich-text.mjs.map +0 -1
  1235. package/fesm2015/theseam-ui-common-scrollbar.mjs +0 -184
  1236. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +0 -1
  1237. package/fesm2015/theseam-ui-common-services.mjs +0 -273
  1238. package/fesm2015/theseam-ui-common-services.mjs.map +0 -1
  1239. package/fesm2015/theseam-ui-common-shared.mjs +0 -739
  1240. package/fesm2015/theseam-ui-common-shared.mjs.map +0 -1
  1241. package/fesm2015/theseam-ui-common-storage.mjs +0 -148
  1242. package/fesm2015/theseam-ui-common-storage.mjs.map +0 -1
  1243. package/fesm2015/theseam-ui-common-story-helpers.mjs +0 -514
  1244. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +0 -1
  1245. package/fesm2015/theseam-ui-common-tabbed.mjs +0 -288
  1246. package/fesm2015/theseam-ui-common-tabbed.mjs.map +0 -1
  1247. package/fesm2015/theseam-ui-common-table-cell-type.mjs +0 -201
  1248. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +0 -1
  1249. package/fesm2015/theseam-ui-common-table-cell-types.mjs +0 -1134
  1250. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +0 -1
  1251. package/fesm2015/theseam-ui-common-table.mjs +0 -320
  1252. package/fesm2015/theseam-ui-common-table.mjs.map +0 -1
  1253. package/fesm2015/theseam-ui-common-tel-input.mjs +0 -841
  1254. package/fesm2015/theseam-ui-common-tel-input.mjs.map +0 -1
  1255. package/fesm2015/theseam-ui-common-testing.mjs +0 -395
  1256. package/fesm2015/theseam-ui-common-testing.mjs.map +0 -1
  1257. package/fesm2015/theseam-ui-common-tiled-select.mjs +0 -571
  1258. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +0 -1
  1259. package/fesm2015/theseam-ui-common-toggle-edit.mjs +0 -560
  1260. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +0 -1
  1261. package/fesm2015/theseam-ui-common-toggle-group.mjs +0 -281
  1262. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +0 -1
  1263. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +0 -106
  1264. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +0 -1
  1265. package/fesm2015/theseam-ui-common-utils.mjs +0 -1387
  1266. package/fesm2015/theseam-ui-common-utils.mjs.map +0 -1
  1267. package/fesm2015/theseam-ui-common-validators.mjs +0 -94
  1268. package/fesm2015/theseam-ui-common-validators.mjs.map +0 -1
  1269. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +0 -96
  1270. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +0 -1
  1271. package/fesm2015/theseam-ui-common-viewers.mjs +0 -602
  1272. package/fesm2015/theseam-ui-common-viewers.mjs.map +0 -1
  1273. package/fesm2015/theseam-ui-common-widget.mjs +0 -1395
  1274. package/fesm2015/theseam-ui-common-widget.mjs.map +0 -1
  1275. package/fesm2015/theseam-ui-common.mjs +0 -6
  1276. package/fesm2015/theseam-ui-common.mjs.map +0 -1
  1277. package/fesm2020/theseam-ui-common-asset-reader.mjs +0 -184
  1278. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +0 -1
  1279. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +0 -201
  1280. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +0 -1
  1281. package/fesm2020/theseam-ui-common-buttons.mjs +0 -466
  1282. package/fesm2020/theseam-ui-common-buttons.mjs.map +0 -1
  1283. package/fesm2020/theseam-ui-common-card.mjs +0 -151
  1284. package/fesm2020/theseam-ui-common-card.mjs.map +0 -1
  1285. package/fesm2020/theseam-ui-common-carousel.mjs +0 -266
  1286. package/fesm2020/theseam-ui-common-carousel.mjs.map +0 -1
  1287. package/fesm2020/theseam-ui-common-checkbox.mjs +0 -373
  1288. package/fesm2020/theseam-ui-common-checkbox.mjs.map +0 -1
  1289. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +0 -192
  1290. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +0 -1
  1291. package/fesm2020/theseam-ui-common-core.mjs +0 -233
  1292. package/fesm2020/theseam-ui-common-core.mjs.map +0 -1
  1293. package/fesm2020/theseam-ui-common-data-exporter.mjs +0 -93
  1294. package/fesm2020/theseam-ui-common-data-exporter.mjs.map +0 -1
  1295. package/fesm2020/theseam-ui-common-data-filters.mjs +0 -500
  1296. package/fesm2020/theseam-ui-common-data-filters.mjs.map +0 -1
  1297. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +0 -986
  1298. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +0 -1
  1299. package/fesm2020/theseam-ui-common-datatable.mjs +0 -3662
  1300. package/fesm2020/theseam-ui-common-datatable.mjs.map +0 -1
  1301. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +0 -133
  1302. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +0 -1
  1303. package/fesm2020/theseam-ui-common-dynamic.mjs +0 -689
  1304. package/fesm2020/theseam-ui-common-dynamic.mjs.map +0 -1
  1305. package/fesm2020/theseam-ui-common-footer-bar.mjs +0 -35
  1306. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +0 -1
  1307. package/fesm2020/theseam-ui-common-form-field-error.mjs +0 -483
  1308. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +0 -1
  1309. package/fesm2020/theseam-ui-common-form-field.mjs +0 -659
  1310. package/fesm2020/theseam-ui-common-form-field.mjs.map +0 -1
  1311. package/fesm2020/theseam-ui-common-framework.mjs +0 -3883
  1312. package/fesm2020/theseam-ui-common-framework.mjs.map +0 -1
  1313. package/fesm2020/theseam-ui-common-google-maps.mjs +0 -2072
  1314. package/fesm2020/theseam-ui-common-google-maps.mjs.map +0 -1
  1315. package/fesm2020/theseam-ui-common-graphql.mjs +0 -1121
  1316. package/fesm2020/theseam-ui-common-graphql.mjs.map +0 -1
  1317. package/fesm2020/theseam-ui-common-icon.mjs +0 -587
  1318. package/fesm2020/theseam-ui-common-icon.mjs.map +0 -1
  1319. package/fesm2020/theseam-ui-common-layout.mjs +0 -111
  1320. package/fesm2020/theseam-ui-common-layout.mjs.map +0 -1
  1321. package/fesm2020/theseam-ui-common-loading.mjs +0 -138
  1322. package/fesm2020/theseam-ui-common-loading.mjs.map +0 -1
  1323. package/fesm2020/theseam-ui-common-menu.mjs +0 -1288
  1324. package/fesm2020/theseam-ui-common-menu.mjs.map +0 -1
  1325. package/fesm2020/theseam-ui-common-modal.mjs +0 -1370
  1326. package/fesm2020/theseam-ui-common-modal.mjs.map +0 -1
  1327. package/fesm2020/theseam-ui-common-models.mjs +0 -55
  1328. package/fesm2020/theseam-ui-common-models.mjs.map +0 -1
  1329. package/fesm2020/theseam-ui-common-navigation-reload.mjs +0 -74
  1330. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +0 -1
  1331. package/fesm2020/theseam-ui-common-popover.mjs +0 -503
  1332. package/fesm2020/theseam-ui-common-popover.mjs.map +0 -1
  1333. package/fesm2020/theseam-ui-common-progress.mjs +0 -93
  1334. package/fesm2020/theseam-ui-common-progress.mjs.map +0 -1
  1335. package/fesm2020/theseam-ui-common-rich-text.mjs +0 -773
  1336. package/fesm2020/theseam-ui-common-rich-text.mjs.map +0 -1
  1337. package/fesm2020/theseam-ui-common-scrollbar.mjs +0 -184
  1338. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +0 -1
  1339. package/fesm2020/theseam-ui-common-services.mjs +0 -274
  1340. package/fesm2020/theseam-ui-common-services.mjs.map +0 -1
  1341. package/fesm2020/theseam-ui-common-shared.mjs +0 -733
  1342. package/fesm2020/theseam-ui-common-shared.mjs.map +0 -1
  1343. package/fesm2020/theseam-ui-common-storage.mjs +0 -148
  1344. package/fesm2020/theseam-ui-common-storage.mjs.map +0 -1
  1345. package/fesm2020/theseam-ui-common-story-helpers.mjs +0 -512
  1346. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +0 -1
  1347. package/fesm2020/theseam-ui-common-tabbed.mjs +0 -286
  1348. package/fesm2020/theseam-ui-common-tabbed.mjs.map +0 -1
  1349. package/fesm2020/theseam-ui-common-table-cell-type.mjs +0 -198
  1350. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +0 -1
  1351. package/fesm2020/theseam-ui-common-table-cell-types.mjs +0 -1109
  1352. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +0 -1
  1353. package/fesm2020/theseam-ui-common-table.mjs +0 -322
  1354. package/fesm2020/theseam-ui-common-table.mjs.map +0 -1
  1355. package/fesm2020/theseam-ui-common-tel-input.mjs +0 -810
  1356. package/fesm2020/theseam-ui-common-tel-input.mjs.map +0 -1
  1357. package/fesm2020/theseam-ui-common-testing.mjs +0 -359
  1358. package/fesm2020/theseam-ui-common-testing.mjs.map +0 -1
  1359. package/fesm2020/theseam-ui-common-tiled-select.mjs +0 -557
  1360. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +0 -1
  1361. package/fesm2020/theseam-ui-common-toggle-edit.mjs +0 -553
  1362. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +0 -1
  1363. package/fesm2020/theseam-ui-common-toggle-group.mjs +0 -277
  1364. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +0 -1
  1365. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +0 -106
  1366. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +0 -1
  1367. package/fesm2020/theseam-ui-common-utils.mjs +0 -1364
  1368. package/fesm2020/theseam-ui-common-utils.mjs.map +0 -1
  1369. package/fesm2020/theseam-ui-common-validators.mjs +0 -94
  1370. package/fesm2020/theseam-ui-common-validators.mjs.map +0 -1
  1371. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +0 -87
  1372. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +0 -1
  1373. package/fesm2020/theseam-ui-common-viewers.mjs +0 -598
  1374. package/fesm2020/theseam-ui-common-viewers.mjs.map +0 -1
  1375. package/fesm2020/theseam-ui-common-widget.mjs +0 -1387
  1376. package/fesm2020/theseam-ui-common-widget.mjs.map +0 -1
  1377. package/fesm2020/theseam-ui-common.mjs +0 -6
  1378. package/fesm2020/theseam-ui-common.mjs.map +0 -1
  1379. package/footer-bar/footer-bar/footer-bar.component.d.ts +0 -5
  1380. package/footer-bar/footer-bar.module.d.ts +0 -8
  1381. package/footer-bar/public-api.d.ts +0 -2
  1382. package/form-field/form-field-error.directive.d.ts +0 -15
  1383. package/form-field/form-field-help-text.directive.d.ts +0 -8
  1384. package/form-field/form-field-label-tpl.directive.d.ts +0 -8
  1385. package/form-field/form-field-required-indicator.component.d.ts +0 -16
  1386. package/form-field/form-field-tokens.d.ts +0 -2
  1387. package/form-field/form-field.component.d.ts +0 -117
  1388. package/form-field/form-field.module.d.ts +0 -16
  1389. package/form-field/input.directive.d.ts +0 -70
  1390. package/form-field/public-api.d.ts +0 -9
  1391. package/form-field/testing/form-field-required-indicator.harness.d.ts +0 -5
  1392. package/form-field/testing/form-field.harness.d.ts +0 -14
  1393. package/form-field/testing/index.d.ts +0 -2
  1394. package/form-field-error/form-field-error/form-field-error.component.d.ts +0 -8
  1395. package/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.d.ts +0 -12
  1396. package/form-field-error/form-field-error-list/form-field-error-list-item.directive.d.ts +0 -9
  1397. package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +0 -65
  1398. package/form-field-error/form-field-error.module.d.ts +0 -11
  1399. package/form-field-error/public-api.d.ts +0 -5
  1400. package/framework/base-layout/base-layout-action.d.ts +0 -31
  1401. package/framework/base-layout/base-layout-nav.d.ts +0 -18
  1402. package/framework/base-layout/base-layout-ref.d.ts +0 -14
  1403. package/framework/base-layout/base-layout-tokens.d.ts +0 -3
  1404. package/framework/base-layout/base-layout.component.d.ts +0 -48
  1405. package/framework/base-layout/base-layout.module.d.ts +0 -20
  1406. package/framework/base-layout/directives/base-layout-content-footer.directive.d.ts +0 -9
  1407. package/framework/base-layout/directives/base-layout-content-header.directive.d.ts +0 -9
  1408. package/framework/base-layout/directives/base-layout-content.directive.d.ts +0 -9
  1409. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +0 -22
  1410. package/framework/base-layout/directives/base-layout-side-bar-footer.directive.d.ts +0 -9
  1411. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
  1412. package/framework/base-layout/directives/base-layout-side-bar.directive.d.ts +0 -9
  1413. package/framework/base-layout/directives/base-layout-top-bar.directive.d.ts +0 -9
  1414. package/framework/base-layout/index.d.ts +0 -14
  1415. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +0 -9
  1416. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +0 -13
  1417. package/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.d.ts +0 -50
  1418. package/framework/dashboard/dashboard-widgets/dashboard-widgets-item.d.ts +0 -43
  1419. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.d.ts +0 -3
  1420. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.d.ts +0 -15
  1421. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.d.ts +0 -30
  1422. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.d.ts +0 -62
  1423. package/framework/dashboard/dashboard-widgets/dashboard-widgets.service.d.ts +0 -37
  1424. package/framework/dashboard/dashboard-widgets-tokens.d.ts +0 -7
  1425. package/framework/dashboard/dashboard.component.d.ts +0 -10
  1426. package/framework/dashboard/dashboard.module.d.ts +0 -17
  1427. package/framework/dashboard/index.d.ts +0 -11
  1428. package/framework/dynamic-router/dynamic-route-def.d.ts +0 -8
  1429. package/framework/dynamic-router/dynamic-router.module.d.ts +0 -9
  1430. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.d.ts +0 -5
  1431. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +0 -25
  1432. package/framework/dynamic-router/index.d.ts +0 -5
  1433. package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +0 -9
  1434. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
  1435. package/framework/nav/index.d.ts +0 -5
  1436. package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
  1437. package/framework/nav/nav-utils.d.ts +0 -20
  1438. package/framework/nav/nav.models.d.ts +0 -77
  1439. package/framework/nav/nav.module.d.ts +0 -17
  1440. package/framework/nav/nav.service.d.ts +0 -27
  1441. package/framework/public-api.d.ts +0 -7
  1442. package/framework/schema-form/index.d.ts +0 -4
  1443. package/framework/schema-form/schema-form-framework.component.d.ts +0 -8
  1444. package/framework/schema-form/schema-form-framework.d.ts +0 -32
  1445. package/framework/schema-form/schema-form-widget.d.ts +0 -61
  1446. package/framework/schema-form/schema-form.module.d.ts +0 -9
  1447. package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +0 -25
  1448. package/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.d.ts +0 -12
  1449. package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +0 -23
  1450. package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +0 -26
  1451. package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +0 -24
  1452. package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +0 -22
  1453. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +0 -38
  1454. package/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.d.ts +0 -23
  1455. package/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.d.ts +0 -32
  1456. package/framework/side-nav/index.d.ts +0 -7
  1457. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +0 -70
  1458. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +0 -14
  1459. package/framework/side-nav/side-nav-tokens.d.ts +0 -14
  1460. package/framework/side-nav/side-nav-utils.d.ts +0 -24
  1461. package/framework/side-nav/side-nav.component.d.ts +0 -66
  1462. package/framework/side-nav/side-nav.models.d.ts +0 -93
  1463. package/framework/side-nav/side-nav.module.d.ts +0 -9
  1464. package/framework/side-nav/side-nav.service.d.ts +0 -24
  1465. package/framework/top-bar/index.d.ts +0 -9
  1466. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
  1467. package/framework/top-bar/top-bar-item.directive.d.ts +0 -11
  1468. package/framework/top-bar/top-bar-menu-btn-detail.directive.d.ts +0 -8
  1469. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +0 -26
  1470. package/framework/top-bar/top-bar-menu.directive.d.ts +0 -8
  1471. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
  1472. package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +0 -7
  1473. package/framework/top-bar/top-bar.component.d.ts +0 -85
  1474. package/framework/top-bar/top-bar.module.d.ts +0 -21
  1475. package/google-maps/google-maps/google-maps.component.d.ts +0 -105
  1476. package/google-maps/google-maps-api-loader/google-maps-api-loader.d.ts +0 -4
  1477. package/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.d.ts +0 -74
  1478. package/google-maps/google-maps-api-loader/noop-google-maps-api-loader.d.ts +0 -13
  1479. package/google-maps/google-maps-contextmenu.d.ts +0 -15
  1480. package/google-maps/google-maps-controls.service.d.ts +0 -26
  1481. package/google-maps/google-maps-feature-helpers.d.ts +0 -41
  1482. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -106
  1483. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -83
  1484. package/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.d.ts +0 -24
  1485. package/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.d.ts +0 -37
  1486. package/google-maps/google-maps.module.d.ts +0 -20
  1487. package/google-maps/google-maps.service.d.ts +0 -65
  1488. package/google-maps/map-control.component.d.ts +0 -23
  1489. package/google-maps/map-controls-service.d.ts +0 -13
  1490. package/google-maps/map-file-drop/map-file-drop.component.d.ts +0 -37
  1491. package/google-maps/map-value-manager.service.d.ts +0 -21
  1492. package/google-maps/public-api.d.ts +0 -17
  1493. package/graphql/datatable/create-page-info-observable.d.ts +0 -4
  1494. package/graphql/datatable/datatable-graphql-query-ref.d.ts +0 -64
  1495. package/graphql/datatable/datatable-graphql.service.d.ts +0 -29
  1496. package/graphql/datatable/datatable-helpers.d.ts +0 -12
  1497. package/graphql/datatable/get-page-info.d.ts +0 -4
  1498. package/graphql/datatable/index.d.ts +0 -9
  1499. package/graphql/datatable/map-filter-states.d.ts +0 -18
  1500. package/graphql/datatable/map-page-info.d.ts +0 -11
  1501. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
  1502. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
  1503. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
  1504. package/graphql/datatable/mapper-context.d.ts +0 -6
  1505. package/graphql/models/direction.d.ts +0 -6
  1506. package/graphql/models/gql-datatable-accessor.d.ts +0 -9
  1507. package/graphql/models/hint-definition.d.ts +0 -7
  1508. package/graphql/models/hint-transform-operation.d.ts +0 -5
  1509. package/graphql/models/hint-transformer.d.ts +0 -3
  1510. package/graphql/models/hints-kind.d.ts +0 -7
  1511. package/graphql/models/hints-token.d.ts +0 -7
  1512. package/graphql/models/index.d.ts +0 -9
  1513. package/graphql/models/query-processing-config.d.ts +0 -13
  1514. package/graphql/models/variable.d.ts +0 -5
  1515. package/graphql/public-api.d.ts +0 -2
  1516. package/graphql/utils/contains-variable.d.ts +0 -2
  1517. package/graphql/utils/gql-var.d.ts +0 -3
  1518. package/graphql/utils/hints-tokens-containing-hint.d.ts +0 -2
  1519. package/graphql/utils/index.d.ts +0 -10
  1520. package/graphql/utils/inline-variables.d.ts +0 -2
  1521. package/graphql/utils/parse-comments.d.ts +0 -2
  1522. package/graphql/utils/parse-hints.d.ts +0 -17
  1523. package/graphql/utils/remove-variable-definition.d.ts +0 -2
  1524. package/graphql/utils/remove-variable-definitions-not-defined.d.ts +0 -3
  1525. package/graphql/utils/remove-variable.d.ts +0 -2
  1526. package/graphql/utils/to-gql.d.ts +0 -1
  1527. package/icon/icon/icon.component.d.ts +0 -57
  1528. package/icon/icon-btn/icon-btn.component.d.ts +0 -76
  1529. package/icon/icon-notification/icon-notification.component.d.ts +0 -50
  1530. package/icon/icon.d.ts +0 -2
  1531. package/icon/icon.module.d.ts +0 -11
  1532. package/icon/public-api.d.ts +0 -6
  1533. package/icon/utils/file-extension-icon.d.ts +0 -3
  1534. package/icon/utils/get-known-icon.d.ts +0 -2
  1535. package/icon/utils/index.d.ts +0 -2
  1536. package/layout/breakpoint-aliases.d.ts +0 -20
  1537. package/layout/layout.module.d.ts +0 -8
  1538. package/layout/layout.service.d.ts +0 -23
  1539. package/layout/observe-media-query.d.ts +0 -8
  1540. package/layout/public-api.d.ts +0 -4
  1541. package/loading/loading/loading.component.d.ts +0 -9
  1542. package/loading/loading-overlay.service.d.ts +0 -16
  1543. package/loading/loading-themes.d.ts +0 -3
  1544. package/loading/loading.models.d.ts +0 -1
  1545. package/loading/loading.module.d.ts +0 -13
  1546. package/loading/public-api.d.ts +0 -5
  1547. package/menu/menu-animations.d.ts +0 -8
  1548. package/menu/menu-divider.component.d.ts +0 -5
  1549. package/menu/menu-footer/menu-footer.component.d.ts +0 -12
  1550. package/menu/menu-footer-action/menu-footer-action.component.d.ts +0 -22
  1551. package/menu/menu-header/menu-header.component.d.ts +0 -12
  1552. package/menu/menu-item.component.d.ts +0 -54
  1553. package/menu/menu-panel-token.d.ts +0 -6
  1554. package/menu/menu-panel.d.ts +0 -20
  1555. package/menu/menu-toggle.directive.d.ts +0 -83
  1556. package/menu/menu.component.d.ts +0 -79
  1557. package/menu/menu.module.d.ts +0 -16
  1558. package/menu/public-api.d.ts +0 -15
  1559. package/menu/testing/menu-footer.harness.d.ts +0 -22
  1560. package/menu/testing/menu-header.harness.d.ts +0 -18
  1561. package/menu/testing/menu-item.harness.d.ts +0 -37
  1562. package/menu/testing/menu.harness.d.ts +0 -74
  1563. package/menu/testing/utils.d.ts +0 -5
  1564. package/modal/directives/modal-close.directive.d.ts +0 -23
  1565. package/modal/directives/modal-footer-tpl.directive.d.ts +0 -8
  1566. package/modal/directives/modal-header-icon-tpl.directive.d.ts +0 -8
  1567. package/modal/directives/modal-header-title-tpl.directive.d.ts +0 -8
  1568. package/modal/directives/modal-title.directive.d.ts +0 -9
  1569. package/modal/directives/modal.directive.d.ts +0 -11
  1570. package/modal/modal/modal.component.d.ts +0 -58
  1571. package/modal/modal-body/modal-body.component.d.ts +0 -7
  1572. package/modal/modal-config.d.ts +0 -93
  1573. package/modal/modal-container/modal-container.component.d.ts +0 -81
  1574. package/modal/modal-footer/modal-footer.component.d.ts +0 -6
  1575. package/modal/modal-header/modal-header.component.d.ts +0 -11
  1576. package/modal/modal-injectors.d.ts +0 -23
  1577. package/modal/modal-ref.d.ts +0 -52
  1578. package/modal/modal-utils.d.ts +0 -8
  1579. package/modal/modal.models.d.ts +0 -24
  1580. package/modal/modal.module.d.ts +0 -25
  1581. package/modal/modal.service.d.ts +0 -98
  1582. package/modal/public-api.d.ts +0 -19
  1583. package/modal/route-modal/route-modal.component.d.ts +0 -18
  1584. package/models/component-type.d.ts +0 -2
  1585. package/models/http-status-codes.d.ts +0 -18
  1586. package/models/public-api.d.ts +0 -7
  1587. package/models/size-prefixes.d.ts +0 -1
  1588. package/models/size-types.d.ts +0 -1
  1589. package/models/theme-names.d.ts +0 -2
  1590. package/models/theme-prefixes.d.ts +0 -1
  1591. package/models/theme-types.d.ts +0 -2
  1592. package/navigation-reload/navigation-reload.config.d.ts +0 -5
  1593. package/navigation-reload/navigation-reload.provider.d.ts +0 -3
  1594. package/navigation-reload/navigation-reload.service.d.ts +0 -13
  1595. package/navigation-reload/public-api.d.ts +0 -3
  1596. package/popover/popover/popover.component.d.ts +0 -50
  1597. package/popover/popover-animations.d.ts +0 -4
  1598. package/popover/popover.directive.d.ts +0 -61
  1599. package/popover/popover.module.d.ts +0 -11
  1600. package/popover/public-api.d.ts +0 -4
  1601. package/progress/progress-circle/progress-circle.component.d.ts +0 -29
  1602. package/progress/progress.module.d.ts +0 -8
  1603. package/progress/public-api.d.ts +0 -2
  1604. package/public_api.d.ts +0 -2
  1605. package/rich-text/public-api.d.ts +0 -4
  1606. package/rich-text/rich-text/rich-text.component.d.ts +0 -194
  1607. package/rich-text/rich-text.module.d.ts +0 -10
  1608. package/rich-text/utils/models.d.ts +0 -343
  1609. package/rich-text/utils/utils.d.ts +0 -14
  1610. package/scrollbar/overlay-scrollbar.directive.d.ts +0 -23
  1611. package/scrollbar/overlay-scrollbars-config-model.d.ts +0 -2
  1612. package/scrollbar/overlay-scrollbars-config.d.ts +0 -51
  1613. package/scrollbar/overlay-scrollbars.service.d.ts +0 -23
  1614. package/scrollbar/public-api.d.ts +0 -5
  1615. package/scrollbar/scrollbar.module.d.ts +0 -8
  1616. package/services/asset-loader.service.d.ts +0 -15
  1617. package/services/font-loader.service.d.ts +0 -45
  1618. package/services/preferences/preferences-accessor.d.ts +0 -15
  1619. package/services/preferences/preferences-manager.service.d.ts +0 -15
  1620. package/services/preferences/preferences-record.d.ts +0 -28
  1621. package/services/preferences/preferences.models.d.ts +0 -3
  1622. package/services/public-api.d.ts +0 -7
  1623. package/services/router-helpers.service.d.ts +0 -10
  1624. package/shared/components/index.d.ts +0 -1
  1625. package/shared/components/password-input-reveal/password-input-reveal.component.d.ts +0 -17
  1626. package/shared/directives/auto-focus.directive.d.ts +0 -18
  1627. package/shared/directives/click-outside.directive.d.ts +0 -13
  1628. package/shared/directives/disable-control.directive.d.ts +0 -9
  1629. package/shared/directives/elem-resized.directive.d.ts +0 -20
  1630. package/shared/directives/hover-class-toggle.directive.d.ts +0 -36
  1631. package/shared/directives/hover-class.directive.d.ts +0 -31
  1632. package/shared/directives/index.d.ts +0 -8
  1633. package/shared/directives/ng-select-extra.directive.d.ts +0 -42
  1634. package/shared/directives/ngx-quill-extra.directive.d.ts +0 -23
  1635. package/shared/pipes/index.d.ts +0 -2
  1636. package/shared/pipes/mask-chars.pipe.d.ts +0 -7
  1637. package/shared/pipes/truncate.pipe.d.ts +0 -7
  1638. package/shared/public-api.d.ts +0 -4
  1639. package/shared/shared.module.d.ts +0 -22
  1640. package/storage/local-storage.service.d.ts +0 -31
  1641. package/storage/localstorage-memory.d.ts +0 -37
  1642. package/storage/public-api.d.ts +0 -1
  1643. package/story-helpers/arg-type-helpers.d.ts +0 -6
  1644. package/story-helpers/args-to-tpl.d.ts +0 -25
  1645. package/story-helpers/initial-route-factory.d.ts +0 -2
  1646. package/story-helpers/initial-route.service.d.ts +0 -10
  1647. package/story-helpers/on-story-bootstrapped-exec.d.ts +0 -24
  1648. package/story-helpers/on-story-bootstrapped-trigger.d.ts +0 -23
  1649. package/story-helpers/public-api.d.ts +0 -15
  1650. package/story-helpers/route-button.d.ts +0 -5
  1651. package/story-helpers/routes-arg-type.d.ts +0 -7
  1652. package/story-helpers/story-empty-with-route.component.d.ts +0 -5
  1653. package/story-helpers/story-empty.component.d.ts +0 -5
  1654. package/story-helpers/story-helper-components.module.d.ts +0 -12
  1655. package/story-helpers/story-initial-route.d.ts +0 -8
  1656. package/story-helpers/story-modal-container.component.d.ts +0 -23
  1657. package/story-helpers/story-preferences-accessor.service.d.ts +0 -19
  1658. package/story-helpers/story-toastr.service.d.ts +0 -33
  1659. package/tabbed/directives/tabbed-tab-content.directive.d.ts +0 -7
  1660. package/tabbed/directives/tabbed-tab.directive.d.ts +0 -13
  1661. package/tabbed/public-api.d.ts +0 -8
  1662. package/tabbed/tabbed-content/tabbed-content.component.d.ts +0 -7
  1663. package/tabbed/tabbed-item/tabbed-item.component.d.ts +0 -16
  1664. package/tabbed/tabbed-models.d.ts +0 -12
  1665. package/tabbed/tabbed.component.d.ts +0 -44
  1666. package/tabbed/tabbed.module.d.ts +0 -14
  1667. package/tabbed/tabbed.service.d.ts +0 -10
  1668. package/table/public-api.d.ts +0 -5
  1669. package/table/table/table.component.d.ts +0 -63
  1670. package/table/table-cell-tpl.directive.d.ts +0 -7
  1671. package/table/table-column-header-tpl.directive.d.ts +0 -7
  1672. package/table/table-column.component.d.ts +0 -24
  1673. package/table/table.module.d.ts +0 -13
  1674. package/table-cell-type/public-api.d.ts +0 -11
  1675. package/table-cell-type/services/table-cell-types-helpers.service.d.ts +0 -18
  1676. package/table-cell-type/table-cell-type-action.d.ts +0 -13
  1677. package/table-cell-type/table-cell-type-column.d.ts +0 -12
  1678. package/table-cell-type/table-cell-type-config.d.ts +0 -12
  1679. package/table-cell-type/table-cell-type-export-props.d.ts +0 -15
  1680. package/table-cell-type/table-cell-type-manifest-provider.d.ts +0 -7
  1681. package/table-cell-type/table-cell-type-models.d.ts +0 -39
  1682. package/table-cell-type/table-cell-type-name.d.ts +0 -1
  1683. package/table-cell-type/table-cell-type-selector.component.d.ts +0 -27
  1684. package/table-cell-type/table-cell-type-tokens.d.ts +0 -4
  1685. package/table-cell-type/table-cell-type.module.d.ts +0 -9
  1686. package/table-cell-types/public-api.d.ts +0 -22
  1687. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +0 -44
  1688. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +0 -21
  1689. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +0 -3
  1690. package/table-cell-types/table-cell-type-date/table-cell-type-date-config.d.ts +0 -9
  1691. package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +0 -14
  1692. package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +0 -3
  1693. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +0 -38
  1694. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +0 -21
  1695. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +0 -3
  1696. package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +0 -34
  1697. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +0 -55
  1698. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +0 -30
  1699. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +0 -21
  1700. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +0 -3
  1701. package/table-cell-types/table-cell-type-manifests.d.ts +0 -11
  1702. package/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.d.ts +0 -13
  1703. package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +0 -19
  1704. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +0 -29
  1705. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +0 -50
  1706. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +0 -49
  1707. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +0 -23
  1708. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +0 -18
  1709. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +0 -57
  1710. package/table-cell-types/table-cell-types.module.d.ts +0 -26
  1711. package/tel-input/intl-tel-input.d.ts +0 -300
  1712. package/tel-input/models/index.d.ts +0 -2
  1713. package/tel-input/models/tel-input-country-data.d.ts +0 -9
  1714. package/tel-input/models/tel-input-number-format-name.d.ts +0 -4
  1715. package/tel-input/phone-number.pipe.d.ts +0 -14
  1716. package/tel-input/public-api.d.ts +0 -10
  1717. package/tel-input/tel-input/tel-input.component.d.ts +0 -86
  1718. package/tel-input/tel-input-constants.d.ts +0 -4
  1719. package/tel-input/tel-input-validator.d.ts +0 -7
  1720. package/tel-input/tel-input.directive.d.ts +0 -35
  1721. package/tel-input/tel-input.module.d.ts +0 -12
  1722. package/tel-input/testing/tel-input.harness.d.ts +0 -19
  1723. package/tel-input/utils/add-country-code.d.ts +0 -7
  1724. package/tel-input/utils/coerce-phone-number-format.d.ts +0 -7
  1725. package/tel-input/utils/get-country-code.d.ts +0 -2
  1726. package/tel-input/utils/get-dial-code.d.ts +0 -9
  1727. package/tel-input/utils/get-global-intl-tel-input-globals.d.ts +0 -2
  1728. package/tel-input/utils/get-global-intl-tel-input-utils.d.ts +0 -2
  1729. package/tel-input/utils/get-intl-tel-input-utils.d.ts +0 -2
  1730. package/tel-input/utils/get-validation-error-message.d.ts +0 -5
  1731. package/tel-input/utils/index.d.ts +0 -9
  1732. package/tel-input/utils/process-country-codes.d.ts +0 -8
  1733. package/testing/current-tick-time.d.ts +0 -13
  1734. package/testing/fake-toastr.d.ts +0 -30
  1735. package/testing/get-harness.d.ts +0 -7
  1736. package/testing/harnesses/ng-select-dropdown.harness.d.ts +0 -23
  1737. package/testing/harnesses/ng-select-option.harness.d.ts +0 -18
  1738. package/testing/harnesses/ng-select.harness.d.ts +0 -50
  1739. package/testing/public-api.d.ts +0 -9
  1740. package/testing/render-story.d.ts +0 -2
  1741. package/testing/story-expect.d.ts +0 -6
  1742. package/testing/tick-helper.d.ts +0 -70
  1743. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +0 -56
  1744. package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +0 -45
  1745. package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +0 -26
  1746. package/tiled-select/directives/tiled-select-tile-icon-tpl.directive.d.ts +0 -8
  1747. package/tiled-select/directives/tiled-select-tile-label-tpl.directive.d.ts +0 -8
  1748. package/tiled-select/directives/tiled-select-tile-overlay.directive.d.ts +0 -10
  1749. package/tiled-select/public-api.d.ts +0 -9
  1750. package/tiled-select/testing/index.d.ts +0 -2
  1751. package/tiled-select/testing/tiled-select-harness.d.ts +0 -9
  1752. package/tiled-select/testing/tiled-select-tile-harness.d.ts +0 -17
  1753. package/tiled-select/tiled-select.models.d.ts +0 -13
  1754. package/tiled-select/tiled-select.module.d.ts +0 -14
  1755. package/toggle-edit/models/can-toggle-edit.d.ts +0 -7
  1756. package/toggle-edit/models/index.d.ts +0 -2
  1757. package/toggle-edit/models/toggle-edit-ref.d.ts +0 -30
  1758. package/toggle-edit/public-api.d.ts +0 -6
  1759. package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +0 -5
  1760. package/toggle-edit/toggle-edit-display-tpl.directive.d.ts +0 -8
  1761. package/toggle-edit/toggle-edit-keyboard-listener.service.d.ts +0 -17
  1762. package/toggle-edit/toggle-edit.component.d.ts +0 -93
  1763. package/toggle-edit/toggle-edit.module.d.ts +0 -18
  1764. package/toggle-group/public-api.d.ts +0 -3
  1765. package/toggle-group/toggle-group-option.directive.d.ts +0 -18
  1766. package/toggle-group/toggle-group.directive.d.ts +0 -38
  1767. package/toggle-group/toggle-group.module.d.ts +0 -10
  1768. package/unsaved-changes-dialog/public-api.d.ts +0 -4
  1769. package/unsaved-changes-dialog/unsaved-changes-can-deactivate.d.ts +0 -7
  1770. package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +0 -5
  1771. package/unsaved-changes-dialog/unsaved-changes-dialog.guard.d.ts +0 -11
  1772. package/unsaved-changes-dialog/unsaved-changes-dialog.module.d.ts +0 -7
  1773. package/utils/array-move.d.ts +0 -49
  1774. package/utils/calc-percentage.d.ts +0 -1
  1775. package/utils/cdk/get-closest-widget-cdk-drag.d.ts +0 -8
  1776. package/utils/create-padding.d.ts +0 -1
  1777. package/utils/file-utils.d.ts +0 -12
  1778. package/utils/form/get-control-name.d.ts +0 -22
  1779. package/utils/form/get-control-path.d.ts +0 -27
  1780. package/utils/form/has-required-control.d.ts +0 -31
  1781. package/utils/form/is-empty-input-value.d.ts +0 -1
  1782. package/utils/form/observe-control-is-different.d.ts +0 -13
  1783. package/utils/form/observe-control-status.d.ts +0 -7
  1784. package/utils/form/observe-control-valid.d.ts +0 -14
  1785. package/utils/form/observe-control-value-change.d.ts +0 -9
  1786. package/utils/form/observe-control-value.d.ts +0 -6
  1787. package/utils/form/wait-on-non-pending-status.d.ts +0 -12
  1788. package/utils/fractional-digits-count.d.ts +0 -8
  1789. package/utils/geo-json/close-polygons.d.ts +0 -9
  1790. package/utils/geo-json/coerce-feature-collection.d.ts +0 -2
  1791. package/utils/geo-json/geo-json-to-area.d.ts +0 -6
  1792. package/utils/geo-json/is-feature-collection.validator.d.ts +0 -3
  1793. package/utils/geo-json/is-only-geometry-types.d.ts +0 -5
  1794. package/utils/geo-json/is-only-geometry-types.validator.d.ts +0 -4
  1795. package/utils/geo-json/merge-polygons.d.ts +0 -9
  1796. package/utils/geo-json/min-max-points.validator.d.ts +0 -3
  1797. package/utils/geo-json/no-empty-feature-collection.validator.d.ts +0 -3
  1798. package/utils/geo-json/no-inner-rings.validator.d.ts +0 -10
  1799. package/utils/geo-json/no-kinks.validator.d.ts +0 -3
  1800. package/utils/geo-json/read-geo-file.d.ts +0 -7
  1801. package/utils/geo-json/split-multi-polygons.d.ts +0 -8
  1802. package/utils/get-attribute.d.ts +0 -4
  1803. package/utils/has-attribute.d.ts +0 -4
  1804. package/utils/has-property.d.ts +0 -1
  1805. package/utils/input-masks.d.ts +0 -1
  1806. package/utils/is-absolute-url.d.ts +0 -1
  1807. package/utils/is-null-or-undefined-or-empty.d.ts +0 -1
  1808. package/utils/is-null-or-undefined.d.ts +0 -1
  1809. package/utils/is-numeric.d.ts +0 -1
  1810. package/utils/load-style-sheet.d.ts +0 -1
  1811. package/utils/load-style.d.ts +0 -1
  1812. package/utils/not-null-or-undefined-or-empty.d.ts +0 -1
  1813. package/utils/not-null-or-undefined.d.ts +0 -1
  1814. package/utils/obj-utils.d.ts +0 -8
  1815. package/utils/observe-query-list.d.ts +0 -3
  1816. package/utils/operators/index.d.ts +0 -2
  1817. package/utils/operators/map-each.d.ts +0 -2
  1818. package/utils/operators/tap-first.d.ts +0 -5
  1819. package/utils/pad-end.d.ts +0 -1
  1820. package/utils/pad-start.d.ts +0 -1
  1821. package/utils/polling-ticker.d.ts +0 -13
  1822. package/utils/public-api.d.ts +0 -53
  1823. package/utils/refreshable.d.ts +0 -20
  1824. package/utils/router/index.d.ts +0 -6
  1825. package/utils/router/is-empty-url-route.d.ts +0 -2
  1826. package/utils/router/leaf-child-route.d.ts +0 -2
  1827. package/utils/router/operators/activated-routes-with-data-property.d.ts +0 -7
  1828. package/utils/router/route-snapshot-path-full.d.ts +0 -2
  1829. package/utils/router/route-snapshot-path-relative.d.ts +0 -2
  1830. package/utils/router/will-have-data-prop.d.ts +0 -2
  1831. package/utils/subscriber-count.d.ts +0 -13
  1832. package/utils/toggle-attribute.d.ts +0 -16
  1833. package/utils/wait-on-condition-async.d.ts +0 -1
  1834. package/utils/wrap-into-observable.d.ts +0 -2
  1835. package/validators/decimal.validator.d.ts +0 -9
  1836. package/validators/email-exists.validator.d.ts +0 -10
  1837. package/validators/integer.validator.d.ts +0 -9
  1838. package/validators/phone-length.validator.d.ts +0 -7
  1839. package/validators/public-api.d.ts +0 -5
  1840. package/validators/tax-id.validator.d.ts +0 -11
  1841. package/vertical-list-filter/public-api.d.ts +0 -2
  1842. package/vertical-list-filter/testing/index.d.ts +0 -1
  1843. package/vertical-list-filter/testing/vertical-list-filter.harness.d.ts +0 -9
  1844. package/vertical-list-filter/vertical-list-filter.component.d.ts +0 -17
  1845. package/viewers/html-template-viewer/html-template-viewer.component.d.ts +0 -70
  1846. package/viewers/html-template-viewer/html-template-viewer.module.d.ts +0 -10
  1847. package/viewers/html-template-viewer/index.d.ts +0 -2
  1848. package/viewers/pdf-viewer/index.d.ts +0 -3
  1849. package/viewers/pdf-viewer/pdf-page/pdf-page.component.d.ts +0 -42
  1850. package/viewers/pdf-viewer/pdf-renderer.service.d.ts +0 -9
  1851. package/viewers/pdf-viewer/pdf-viewer.component.d.ts +0 -62
  1852. package/viewers/pdf-viewer/pdf-viewer.module.d.ts +0 -10
  1853. package/viewers/public-api.d.ts +0 -2
  1854. package/widget/directives/widget-drag-handle.directive.d.ts +0 -56
  1855. package/widget/directives/widget-icon-tpl.directive.d.ts +0 -8
  1856. package/widget/directives/widget-title-tpl.directive.d.ts +0 -8
  1857. package/widget/preferences/widget-preferences.models.d.ts +0 -8
  1858. package/widget/preferences/widget-preferences.service.d.ts +0 -21
  1859. package/widget/preferences/widget-preferences.token.d.ts +0 -3
  1860. package/widget/public-api.d.ts +0 -41
  1861. package/widget/widget/widget.component.d.ts +0 -85
  1862. package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +0 -5
  1863. package/widget/widget-content-components/widget-button-group/widget-button-group.module.d.ts +0 -9
  1864. package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +0 -5
  1865. package/widget/widget-content-components/widget-content-header/widget-content-header.module.d.ts +0 -8
  1866. package/widget/widget-content-components/widget-description/widget-description.component.d.ts +0 -5
  1867. package/widget/widget-content-components/widget-description/widget-description.module.d.ts +0 -8
  1868. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +0 -17
  1869. package/widget/widget-content-components/widget-empty-label/widget-empty-label.module.d.ts +0 -8
  1870. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +0 -5
  1871. package/widget/widget-content-components/widget-footer-link/widget-footer-link.module.d.ts +0 -8
  1872. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +0 -5
  1873. package/widget/widget-content-components/widget-footer-text/widget-footer-text.module.d.ts +0 -8
  1874. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +0 -14
  1875. package/widget/widget-content-components/widget-header-badge/widget-header-badge.module.d.ts +0 -8
  1876. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.d.ts +0 -8
  1877. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +0 -65
  1878. package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +0 -5
  1879. package/widget/widget-content-components/widget-list-group/widget-list-group.module.d.ts +0 -11
  1880. package/widget/widget-content-components/widget-table/widget-table.component.d.ts +0 -16
  1881. package/widget/widget-content-components/widget-table/widget-table.module.d.ts +0 -10
  1882. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +0 -5
  1883. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +0 -17
  1884. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +0 -5
  1885. package/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.d.ts +0 -8
  1886. package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +0 -51
  1887. package/widget/widget-content-components/widget-tile/widget-tile.module.d.ts +0 -13
  1888. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +0 -5
  1889. package/widget/widget-content-components/widget-tile-list/widget-tile-list.module.d.ts +0 -9
  1890. package/widget/widget-footer/widget-footer.component.d.ts +0 -5
  1891. package/widget/widget-registry.models.d.ts +0 -20
  1892. package/widget/widget-registry.service.d.ts +0 -19
  1893. package/widget/widget-token.d.ts +0 -6
  1894. package/widget/widget.models.d.ts +0 -7
  1895. package/widget/widget.module.d.ts +0 -30
@@ -0,0 +1,4263 @@
1
+ import { __decorate } from 'tslib';
2
+ import { trigger, transition, style, animate } from '@angular/animations';
3
+ import { coerceArray } from '@angular/cdk/coercion';
4
+ import { DataSource, isDataSource } from '@angular/cdk/collections';
5
+ import * as i0 from '@angular/core';
6
+ import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ContentChildren, ViewChild, Directive, Injectable, TemplateRef, ContentChild, Self, Inject, forwardRef, InjectionToken, Optional, isDevMode, inject, ChangeDetectorRef, ElementRef, HostListener, HostBinding, NgModule } from '@angular/core';
7
+ import { Subject, BehaviorSubject, of, startWith as startWith$1, map as map$1, switchMap as switchMap$1, combineLatest, defer, EMPTY, debounceTime, tap as tap$1, Subscription, from, isObservable } from 'rxjs';
8
+ import { switchMap, map, startWith, auditTime, shareReplay, take, tap, distinctUntilChanged, takeUntil, concatMap, catchError } from 'rxjs/operators';
9
+ import { faEllipsisH, faChevronDown, faChevronRight, faSpinner, faFilter, faColumns, faFileDownload } from '@fortawesome/free-solid-svg-icons';
10
+ import * as i6 from '@marklb/ngx-datatable';
11
+ import { camelCase, setColumnDefaults as setColumnDefaults$1, translateTemplates, SelectionType, SortType, ColumnMode, DatatableComponent as DatatableComponent$1, DatatableRowDetailDirective, NgxDatatableModule, ScrollbarHelper } from '@marklb/ngx-datatable';
12
+ import { InputBoolean, InputNumber } from '@theseam/ui-common/core';
13
+ import { THESEAM_DATA_FILTER, THESEAM_DATA_FILTER_CONTAINER, composeDataFilterStates, composeDataFilters, TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters';
14
+ import { notNullOrUndefined, isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefinedOrEmpty, hasProperty, arrayMoveMutable, waitOnConditionAsync, observeControlValue } from '@theseam/ui-common/utils';
15
+ import * as i4 from '@theseam/ui-common/menu';
16
+ import { MenuComponent, TheSeamMenuModule } from '@theseam/ui-common/menu';
17
+ import * as i1 from '@theseam/ui-common/confirm-dialog';
18
+ import { TheSeamConfirmDialogModule } from '@theseam/ui-common/confirm-dialog';
19
+ import * as i2 from '@angular/router';
20
+ import { RouterModule } from '@angular/router';
21
+ import * as i2$1 from '@angular/common';
22
+ import { CommonModule } from '@angular/common';
23
+ import * as i5 from '@theseam/ui-common/icon';
24
+ import { TheSeamIconModule } from '@theseam/ui-common/icon';
25
+ import * as i4$1 from '@angular/forms';
26
+ import { FormGroup, FormControl, FormGroupDirective, ControlContainer, UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
27
+ import * as i1$1 from '@theseam/ui-common/services';
28
+ import * as i7 from '@fortawesome/angular-fontawesome';
29
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
30
+ import * as i2$2 from '@theseam/ui-common/shared';
31
+ import { TheSeamSharedModule } from '@theseam/ui-common/shared';
32
+ import * as i3$1 from '@theseam/ui-common/buttons';
33
+ import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
34
+ import * as i11 from '@theseam/ui-common/popover';
35
+ import { TheSeamPopoverModule } from '@theseam/ui-common/popover';
36
+ import * as i12 from '@theseam/ui-common/table-cell-type';
37
+ import { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type';
38
+ import * as i3 from '@theseam/ui-common/form-field';
39
+ import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
40
+ import * as i5$1 from '@ng-select/ng-select';
41
+ import { NgSelectModule } from '@ng-select/ng-select';
42
+ import * as i4$2 from '@theseam/ui-common/checkbox';
43
+ import { TheSeamCheckboxComponent } from '@theseam/ui-common/checkbox';
44
+ import * as i3$2 from '@theseam/ui-common/dynamic';
45
+ import { THESEAM_DYNAMIC_DATA } from '@theseam/ui-common/dynamic';
46
+ import * as i1$2 from 'ngx-toastr';
47
+ import { ToastrModule } from 'ngx-toastr';
48
+ import * as i2$3 from '@theseam/ui-common/loading';
49
+ import { TheSeamLoadingModule } from '@theseam/ui-common/loading';
50
+ import * as i1$3 from '@theseam/ui-common/modal';
51
+ import * as i2$4 from '@theseam/ui-common/dynamic-component-loader';
52
+ import * as i3$3 from '@angular/common/http';
53
+ import { ESCAPE } from '@angular/cdk/keycodes';
54
+ import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
55
+ import * as i1$4 from '@angular/cdk/overlay';
56
+ import { OverlayModule } from '@angular/cdk/overlay';
57
+ import * as i1$5 from '@theseam/ui-common/scrollbar';
58
+ import { A11yModule } from '@angular/cdk/a11y';
59
+ import { TheSeamToggleGroupModule } from '@theseam/ui-common/toggle-group';
60
+
61
+ class DatatableActionMenuItemComponent {
62
+ label;
63
+ // eslint-disable-next-line @angular-eslint/no-input-rename
64
+ href;
65
+ target;
66
+ // Allow routerLink inputs on menu item
67
+ queryParams;
68
+ fragment;
69
+ queryParamsHandling;
70
+ preserveFragment;
71
+ skipLocationChange;
72
+ replaceUrl;
73
+ state;
74
+ routerLink;
75
+ confirmDialog;
76
+ disabled;
77
+ subMenu;
78
+ // eslint-disable-next-line @angular-eslint/no-output-native
79
+ click = new EventEmitter();
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableActionMenuItemComponent, isStandalone: false, selector: "seam-datatable-action-menu-item", inputs: { label: "label", href: ["attr.href", "href"], target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", routerLink: "routerLink", confirmDialog: "confirmDialog", disabled: "disabled", subMenu: "subMenu" }, outputs: { click: "click" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuItemComponent, decorators: [{
84
+ type: Component,
85
+ args: [{
86
+ selector: 'seam-datatable-action-menu-item',
87
+ template: ``,
88
+ changeDetection: ChangeDetectionStrategy.OnPush,
89
+ standalone: false
90
+ }]
91
+ }], propDecorators: { label: [{
92
+ type: Input
93
+ }], href: [{
94
+ type: Input,
95
+ args: ['attr.href']
96
+ }], target: [{
97
+ type: Input
98
+ }], queryParams: [{
99
+ type: Input
100
+ }], fragment: [{
101
+ type: Input
102
+ }], queryParamsHandling: [{
103
+ type: Input
104
+ }], preserveFragment: [{
105
+ type: Input
106
+ }], skipLocationChange: [{
107
+ type: Input
108
+ }], replaceUrl: [{
109
+ type: Input
110
+ }], state: [{
111
+ type: Input
112
+ }], routerLink: [{
113
+ type: Input
114
+ }], confirmDialog: [{
115
+ type: Input
116
+ }], disabled: [{
117
+ type: Input
118
+ }], subMenu: [{
119
+ type: Input
120
+ }], click: [{
121
+ type: Output
122
+ }] } });
123
+
124
+ class DatatableActionMenuComponent {
125
+ _confirmDialog;
126
+ _router;
127
+ static ngAcceptInputType_isSubMenu;
128
+ faEllipsisH = faEllipsisH;
129
+ menu;
130
+ items;
131
+ /** @ignore */
132
+ _actionMenuPositions = [
133
+ {
134
+ originX: 'start',
135
+ originY: 'bottom',
136
+ overlayX: 'end',
137
+ overlayY: 'top',
138
+ },
139
+ {
140
+ originX: 'start',
141
+ originY: 'top',
142
+ overlayX: 'end',
143
+ overlayY: 'bottom',
144
+ },
145
+ {
146
+ originX: 'end',
147
+ originY: 'bottom',
148
+ overlayX: 'start',
149
+ overlayY: 'top',
150
+ },
151
+ {
152
+ originX: 'end',
153
+ originY: 'top',
154
+ overlayX: 'start',
155
+ overlayY: 'bottom',
156
+ },
157
+ ];
158
+ isSubMenu = false;
159
+ constructor(_confirmDialog, _router) {
160
+ this._confirmDialog = _confirmDialog;
161
+ this._router = _router;
162
+ }
163
+ activateItem(event, item) {
164
+ if (item.confirmDialog) {
165
+ this._confirmDialog.open(item.confirmDialog.message, item.confirmDialog.alert)
166
+ .afterClosed()
167
+ .subscribe(v => {
168
+ if (v === 'confirm') {
169
+ item.click.emit(event);
170
+ if (item.href) {
171
+ const win = window.open(item.href, item.target || undefined);
172
+ // TODO: Consider if always setting opener to null is to restrictive
173
+ // if (win && item.target && item.target.toLowerCase() === '_blank') {
174
+ // win.opener = null
175
+ // }
176
+ }
177
+ else {
178
+ const extras = {};
179
+ if (item.queryParams) {
180
+ extras.queryParams = item.queryParams;
181
+ }
182
+ if (item.fragment) {
183
+ extras.fragment = item.fragment;
184
+ }
185
+ if (item.queryParamsHandling) {
186
+ extras.queryParamsHandling = item.queryParamsHandling;
187
+ }
188
+ if (item.preserveFragment) {
189
+ extras.preserveFragment = item.preserveFragment;
190
+ }
191
+ if (item.skipLocationChange) {
192
+ extras.skipLocationChange = item.skipLocationChange;
193
+ }
194
+ if (item.replaceUrl) {
195
+ extras.replaceUrl = item.replaceUrl;
196
+ }
197
+ if (item.state) {
198
+ extras.state = item.state;
199
+ }
200
+ const commands = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];
201
+ this._router.navigate(commands, extras);
202
+ }
203
+ }
204
+ });
205
+ }
206
+ else {
207
+ item.click.emit(event);
208
+ }
209
+ }
210
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuComponent, deps: [{ token: i1.SeamConfirmDialogService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
211
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableActionMenuComponent, isStandalone: false, selector: "seam-datatable-action-menu", inputs: { isSubMenu: "isSubMenu" }, queries: [{ propertyName: "items", predicate: DatatableActionMenuItemComponent }], viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], exportAs: ["seamDatatableActionMenu"], ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;height:100%}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
212
+ }
213
+ __decorate([
214
+ InputBoolean()
215
+ ], DatatableActionMenuComponent.prototype, "isSubMenu", void 0);
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuComponent, decorators: [{
217
+ type: Component,
218
+ args: [{ selector: 'seam-datatable-action-menu', exportAs: 'seamDatatableActionMenu', standalone: false, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;height:100%}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
219
+ }], ctorParameters: () => [{ type: i1.SeamConfirmDialogService }, { type: i2.Router }], propDecorators: { menu: [{
220
+ type: ViewChild,
221
+ args: [MenuComponent, { static: true }]
222
+ }], items: [{
223
+ type: ContentChildren,
224
+ args: [DatatableActionMenuItemComponent]
225
+ }], isSubMenu: [{
226
+ type: Input
227
+ }] } });
228
+
229
+ class DatatableCellTplDirective {
230
+ template;
231
+ constructor(template) {
232
+ this.template = template;
233
+ }
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableCellTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
235
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableCellTplDirective, isStandalone: false, selector: "[seamDatatableCellTpl]", ngImport: i0 });
236
+ }
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableCellTplDirective, decorators: [{
238
+ type: Directive,
239
+ args: [{
240
+ selector: '[seamDatatableCellTpl]',
241
+ standalone: false
242
+ }]
243
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
244
+
245
+ class DatatableColumnChangesService {
246
+ columnInputChanges = new Subject();
247
+ get columnInputChanges$() {
248
+ return this.columnInputChanges.asObservable();
249
+ }
250
+ onInputChange() {
251
+ this.columnInputChanges.next(undefined);
252
+ }
253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
254
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnChangesService });
255
+ }
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnChangesService, decorators: [{
257
+ type: Injectable
258
+ }] });
259
+
260
+ // TODO: The column component should implement `ITheSeamDatatableColumn`, since
261
+ // providing some properties by input and some by template could be confusing.
262
+ class DatatableColumnComponent {
263
+ _columnChangesService;
264
+ name;
265
+ prop;
266
+ flexGrow;
267
+ minWidth;
268
+ maxWidth;
269
+ width;
270
+ resizeable;
271
+ sortable;
272
+ draggable;
273
+ canAutoResize;
274
+ comparator;
275
+ headerTemplate;
276
+ checkboxable;
277
+ headerCheckboxable;
278
+ headerClass;
279
+ cellClass;
280
+ frozenLeft;
281
+ frozenRight;
282
+ pipe;
283
+ isTreeColumn;
284
+ treeLevelIndent;
285
+ summaryFunc;
286
+ summaryTemplate;
287
+ hidden;
288
+ _isFirstChange = true;
289
+ cellTplDirective;
290
+ // eslint-disable-next-line @angular-eslint/no-input-rename
291
+ _cellTemplateInput;
292
+ _cellTemplateQuery;
293
+ get cellTemplate() {
294
+ return this._cellTemplateInput || this._cellTemplateQuery;
295
+ }
296
+ // @Input('headerTemplate')
297
+ // _headerTemplateInput: TemplateRef<any>;
298
+ // @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef, static: true })
299
+ // _headerTemplateQuery: TemplateRef<any>;
300
+ // get headerTemplate(): TemplateRef<any> {
301
+ // return this._headerTemplateInput || this._headerTemplateQuery;
302
+ // }
303
+ // @Input('treeToggleTemplate')
304
+ // _treeToggleTemplateInput: TemplateRef<any>;
305
+ // @ContentChild(DataTableColumnCellTreeToggle, { read: TemplateRef, static: true })
306
+ // _treeToggleTemplateQuery: TemplateRef<any>;
307
+ // get treeToggleTemplate(): TemplateRef<any> {
308
+ // return this._treeToggleTemplateInput || this._treeToggleTemplateQuery;
309
+ // }
310
+ constructor(_columnChangesService) {
311
+ this._columnChangesService = _columnChangesService;
312
+ }
313
+ ngOnChanges(changes) {
314
+ if (this._isFirstChange) {
315
+ this._isFirstChange = false;
316
+ }
317
+ else {
318
+ this._columnChangesService.onInputChange();
319
+ }
320
+ }
321
+ getCellDirective() {
322
+ if (this.cellTplDirective) {
323
+ return this.cellTplDirective;
324
+ }
325
+ return null;
326
+ }
327
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnComponent, deps: [{ token: DatatableColumnChangesService }], target: i0.ɵɵFactoryTarget.Component });
328
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnComponent, isStandalone: false, selector: "seam-datatable-column", inputs: { name: "name", prop: "prop", flexGrow: "flexGrow", minWidth: "minWidth", maxWidth: "maxWidth", width: "width", resizeable: "resizeable", sortable: "sortable", draggable: "draggable", canAutoResize: "canAutoResize", comparator: "comparator", headerTemplate: "headerTemplate", checkboxable: "checkboxable", headerCheckboxable: "headerCheckboxable", headerClass: "headerClass", cellClass: "cellClass", frozenLeft: "frozenLeft", frozenRight: "frozenRight", pipe: "pipe", isTreeColumn: "isTreeColumn", treeLevelIndent: "treeLevelIndent", summaryFunc: "summaryFunc", summaryTemplate: "summaryTemplate", hidden: "hidden", _cellTemplateInput: ["cellTemplate", "_cellTemplateInput"] }, queries: [{ propertyName: "cellTplDirective", first: true, predicate: DatatableCellTplDirective, descendants: true, static: true }, { propertyName: "_cellTemplateQuery", first: true, predicate: DatatableCellTplDirective, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<p>\n datatable-column works!\n</p>\n", styles: [""] });
329
+ }
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnComponent, decorators: [{
331
+ type: Component,
332
+ args: [{ selector: 'seam-datatable-column', standalone: false, template: "<p>\n datatable-column works!\n</p>\n" }]
333
+ }], ctorParameters: () => [{ type: DatatableColumnChangesService }], propDecorators: { name: [{
334
+ type: Input
335
+ }], prop: [{
336
+ type: Input
337
+ }], flexGrow: [{
338
+ type: Input
339
+ }], minWidth: [{
340
+ type: Input
341
+ }], maxWidth: [{
342
+ type: Input
343
+ }], width: [{
344
+ type: Input
345
+ }], resizeable: [{
346
+ type: Input
347
+ }], sortable: [{
348
+ type: Input
349
+ }], draggable: [{
350
+ type: Input
351
+ }], canAutoResize: [{
352
+ type: Input
353
+ }], comparator: [{
354
+ type: Input
355
+ }], headerTemplate: [{
356
+ type: Input
357
+ }], checkboxable: [{
358
+ type: Input
359
+ }], headerCheckboxable: [{
360
+ type: Input
361
+ }], headerClass: [{
362
+ type: Input
363
+ }], cellClass: [{
364
+ type: Input
365
+ }], frozenLeft: [{
366
+ type: Input
367
+ }], frozenRight: [{
368
+ type: Input
369
+ }], pipe: [{
370
+ type: Input
371
+ }], isTreeColumn: [{
372
+ type: Input
373
+ }], treeLevelIndent: [{
374
+ type: Input
375
+ }], summaryFunc: [{
376
+ type: Input
377
+ }], summaryTemplate: [{
378
+ type: Input
379
+ }], hidden: [{
380
+ type: Input
381
+ }], cellTplDirective: [{
382
+ type: ContentChild,
383
+ args: [DatatableCellTplDirective, { static: true }]
384
+ }], _cellTemplateInput: [{
385
+ type: Input,
386
+ args: ['cellTemplate']
387
+ }], _cellTemplateQuery: [{
388
+ type: ContentChild,
389
+ args: [DatatableCellTplDirective, { read: TemplateRef, static: true }]
390
+ }] } });
391
+
392
+ class DatatableFooterTplDirective {
393
+ template;
394
+ constructor(template) {
395
+ this.template = template;
396
+ }
397
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableFooterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
398
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableFooterTplDirective, isStandalone: false, selector: "[seamDatatableFooterTpl]", ngImport: i0 });
399
+ }
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableFooterTplDirective, decorators: [{
401
+ type: Directive,
402
+ args: [{
403
+ selector: '[seamDatatableFooterTpl]',
404
+ standalone: false
405
+ }]
406
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
407
+
408
+ class TheSeamDatatableFooterDirective {
409
+ // eslint-disable-next-line @angular-eslint/no-input-rename
410
+ _templateInput;
411
+ _templateQuery;
412
+ get template() {
413
+ return this._templateInput || this._templateQuery;
414
+ }
415
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
416
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: TheSeamDatatableFooterDirective, isStandalone: false, selector: "seam-datatable-footer", inputs: { _templateInput: ["template", "_templateInput"] }, queries: [{ propertyName: "_templateQuery", first: true, predicate: DatatableFooterTplDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
417
+ }
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableFooterDirective, decorators: [{
419
+ type: Directive,
420
+ args: [{
421
+ // eslint-disable-next-line @angular-eslint/directive-selector
422
+ selector: 'seam-datatable-footer',
423
+ standalone: false
424
+ }]
425
+ }], propDecorators: { _templateInput: [{
426
+ type: Input,
427
+ args: ['template']
428
+ }], _templateQuery: [{
429
+ type: ContentChild,
430
+ args: [DatatableFooterTplDirective, { read: TemplateRef, static: true }]
431
+ }] } });
432
+
433
+ class DatatableFilterDirective {
434
+ _filter;
435
+ constructor(dataFilters) {
436
+ if (dataFilters && dataFilters.length > 0) {
437
+ this._filter = dataFilters[0];
438
+ }
439
+ }
440
+ get filter() {
441
+ return this._filter;
442
+ }
443
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableFilterDirective, deps: [{ token: THESEAM_DATA_FILTER, self: true }], target: i0.ɵɵFactoryTarget.Directive });
444
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableFilterDirective, isStandalone: false, selector: "[seamDatatableFilter]", ngImport: i0 });
445
+ }
446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableFilterDirective, decorators: [{
447
+ type: Directive,
448
+ args: [{
449
+ selector: '[seamDatatableFilter]',
450
+ standalone: false
451
+ }]
452
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
453
+ type: Self
454
+ }, {
455
+ type: Inject,
456
+ args: [THESEAM_DATA_FILTER]
457
+ }] }] });
458
+
459
+ const _THESEAM_DATA_FILTER_CONTAINER = {
460
+ provide: THESEAM_DATA_FILTER_CONTAINER,
461
+ // tslint:disable-next-line:no-use-before-declare
462
+ useExisting: forwardRef(() => DatatableMenuBarComponent)
463
+ };
464
+ class DatatableMenuBarComponent {
465
+ get filterDirectives() {
466
+ return this._filterDirectives;
467
+ }
468
+ set filterDirectives(value) {
469
+ this._filterDirectives = value;
470
+ this.filtersChanged.emit(this.filters());
471
+ }
472
+ _filterDirectives;
473
+ _filtersArr = [];
474
+ filtersChanged = new EventEmitter();
475
+ filters() {
476
+ const fDirectives = this._filterDirectives
477
+ ? this._filterDirectives.map(f => f.filter).filter(notNullOrUndefined)
478
+ : [];
479
+ const fArr = this._filtersArr
480
+ .filter(f => fDirectives.findIndex(fd => fd.uid === f.uid) === -1);
481
+ return [...fArr, ...fDirectives];
482
+ }
483
+ addFilter(dataFilter) {
484
+ this._filtersArr.push(dataFilter);
485
+ this.filtersChanged.emit(this.filters());
486
+ }
487
+ removeFilter(dataFilter) {
488
+ this._filtersArr = this._filtersArr.filter(f => f !== dataFilter);
489
+ this.filtersChanged.emit(this.filters());
490
+ }
491
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
492
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarComponent, isStandalone: false, selector: "seam-datatable-menu-bar", providers: [_THESEAM_DATA_FILTER_CONTAINER], queries: [{ propertyName: "filterDirectives", predicate: DatatableFilterDirective }], ngImport: i0, template: "<div class=\"bg-light border rounded p-2\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"] });
493
+ }
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarComponent, decorators: [{
495
+ type: Component,
496
+ args: [{ selector: 'seam-datatable-menu-bar', providers: [_THESEAM_DATA_FILTER_CONTAINER], standalone: false, template: "<div class=\"bg-light border rounded p-2\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"] }]
497
+ }], propDecorators: { filterDirectives: [{
498
+ type: ContentChildren,
499
+ args: [DatatableFilterDirective]
500
+ }] } });
501
+
502
+ class DatatableRowDetailTplDirective {
503
+ template;
504
+ constructor(template) {
505
+ this.template = template;
506
+ }
507
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableRowDetailTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
508
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableRowDetailTplDirective, isStandalone: false, selector: "[seamDatatableRowDetailTpl]", ngImport: i0 });
509
+ }
510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableRowDetailTplDirective, decorators: [{
511
+ type: Directive,
512
+ args: [{
513
+ selector: '[seamDatatableRowDetailTpl]',
514
+ standalone: false
515
+ }]
516
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
517
+
518
+ class TheSeamDatatableRowDetailDirective {
519
+ /**
520
+ * The detail row height is required especially
521
+ * when virtual scroll is enabled.
522
+ */
523
+ rowHeight = 0;
524
+ // eslint-disable-next-line @angular-eslint/no-input-rename
525
+ _templateInput;
526
+ _templateQuery;
527
+ get template() {
528
+ return this._templateInput || this._templateQuery;
529
+ }
530
+ /**
531
+ * Row detail row visbility was toggled.
532
+ */
533
+ // NOTE: This will trigger from the internal ngx-datatable toggle event.
534
+ toggle = new EventEmitter();
535
+ /**
536
+ * Internal use for wrapper only.
537
+ *
538
+ * To avoid confusion with this directives output and the ngx-datatable
539
+ * directive being wrapped, this directive emits `_toggle` stream to the
540
+ * `ngx-datatable-row-detail` directive and emits it's `toggle` stream out to
541
+ * this directives `toggle` stream.
542
+ * @ignore
543
+ */
544
+ _toggle = new EventEmitter();
545
+ /**
546
+ * Toggle the expansion of the row
547
+ */
548
+ toggleExpandRow(row) {
549
+ this._toggle.emit({
550
+ type: 'row',
551
+ value: row
552
+ });
553
+ }
554
+ /**
555
+ * API method to expand all the rows.
556
+ */
557
+ expandAllRows() {
558
+ this._toggle.emit({
559
+ type: 'all',
560
+ value: true
561
+ });
562
+ }
563
+ /**
564
+ * API method to collapse all the rows.
565
+ */
566
+ collapseAllRows() {
567
+ this._toggle.emit({
568
+ type: 'all',
569
+ value: false
570
+ });
571
+ }
572
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableRowDetailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
573
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: TheSeamDatatableRowDetailDirective, isStandalone: false, selector: "seam-datatable-row-detail", inputs: { rowHeight: "rowHeight", _templateInput: ["template", "_templateInput"] }, outputs: { toggle: "toggle" }, queries: [{ propertyName: "_templateQuery", first: true, predicate: DatatableRowDetailTplDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
574
+ }
575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableRowDetailDirective, decorators: [{
576
+ type: Directive,
577
+ args: [{
578
+ // eslint-disable-next-line @angular-eslint/directive-selector
579
+ selector: 'seam-datatable-row-detail',
580
+ standalone: false
581
+ }]
582
+ }], propDecorators: { rowHeight: [{
583
+ type: Input
584
+ }], _templateInput: [{
585
+ type: Input,
586
+ args: ['template']
587
+ }], _templateQuery: [{
588
+ type: ContentChild,
589
+ args: [DatatableRowDetailTplDirective, { read: TemplateRef, static: true }]
590
+ }], toggle: [{
591
+ type: Output
592
+ }] } });
593
+
594
+ class DatatableRowActionItemDirective {
595
+ template;
596
+ constructor(template) {
597
+ this.template = template;
598
+ }
599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableRowActionItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
600
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableRowActionItemDirective, isStandalone: false, selector: "[seamDatatableRowActionItem]", ngImport: i0 });
601
+ }
602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableRowActionItemDirective, decorators: [{
603
+ type: Directive,
604
+ args: [{
605
+ selector: '[seamDatatableRowActionItem]',
606
+ standalone: false
607
+ }]
608
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
609
+
610
+ class DatatableDataSource extends DataSource {
611
+ _datatableSubject = new BehaviorSubject(undefined);
612
+ sorts$;
613
+ filterStates$;
614
+ page$;
615
+ constructor() {
616
+ super();
617
+ this.sorts$ = this._datatableSubject.pipe(switchMap(_datatable => {
618
+ if (!_datatable) {
619
+ return of([]);
620
+ }
621
+ return _datatable.sort.pipe(map(v => v.sorts), startWith(_datatable.sorts));
622
+ }));
623
+ this.filterStates$ = this._datatableSubject.pipe(switchMap(_datatable => {
624
+ if (!_datatable) {
625
+ return of([]);
626
+ }
627
+ return _datatable.filterStates;
628
+ }));
629
+ this.page$ = this._datatableSubject.pipe(switchMap(_datatable => {
630
+ if (!_datatable) {
631
+ return of({
632
+ offset: 0,
633
+ pageSize: 0,
634
+ limit: undefined,
635
+ count: 0
636
+ });
637
+ }
638
+ return _datatable.page.pipe(startWith(_datatable.pageInfo));
639
+ }));
640
+ }
641
+ // connect(): Observable<readonly TRow[]> {
642
+ // return this.
643
+ // }
644
+ // disconnect(): void {
645
+ // throw new Error('Method not implemented.')
646
+ // }
647
+ setDatatableAccessor(accessor) {
648
+ this._datatableSubject.next(accessor);
649
+ }
650
+ }
651
+
652
+ const ACTION_MENU_COLUMN_PROP = '$$__actionMenu__';
653
+ function createActionMenuColumn(cellTemplate, headerTemplate, frozenLeft, frozenRight) {
654
+ return {
655
+ prop: ACTION_MENU_COLUMN_PROP,
656
+ name: '',
657
+ width: 50,
658
+ minWidth: 50,
659
+ maxWidth: 50,
660
+ resizeable: false,
661
+ sortable: false,
662
+ draggable: false,
663
+ // TODO: Fix column auto sizing with fixed column and cell overlay before enabling.
664
+ frozenLeft: frozenLeft,
665
+ frozenRight: frozenRight,
666
+ cellTemplate,
667
+ headerTemplate,
668
+ };
669
+ }
670
+
671
+ const CHECKBOX_COLUMN_PROP = '$$__checkbox__';
672
+ function createCheckboxColumn() {
673
+ return {
674
+ prop: CHECKBOX_COLUMN_PROP,
675
+ name: '',
676
+ width: 40,
677
+ sortable: false,
678
+ canAutoResize: false,
679
+ draggable: false,
680
+ resizeable: false,
681
+ headerCheckboxable: true,
682
+ checkboxable: true,
683
+ };
684
+ }
685
+
686
+ function getColumnProp(col) {
687
+ if (!notNullOrUndefined(col.prop) && col.name) {
688
+ return camelCase(col.name);
689
+ }
690
+ return col.prop === null ? undefined : col.prop;
691
+ }
692
+
693
+ function setColumnDefaults(columns) {
694
+ for (const column of columns) {
695
+ if (!Object.prototype.hasOwnProperty.call(column, 'hidden')) {
696
+ column.hidden = false;
697
+ }
698
+ }
699
+ setColumnDefaults$1(columns);
700
+ }
701
+
702
+ // TODO: Replace with a `translateTemplates` function that fits the
703
+ // wrapper component better.
704
+ function translateTemplateColumns(v) {
705
+ const cols = translateTemplates(v);
706
+ for (const col of cols) {
707
+ col.prop = getColumnProp(col);
708
+ }
709
+ return cols;
710
+ }
711
+
712
+ class ColumnsDataFilter {
713
+ prop;
714
+ initialValue;
715
+ column;
716
+ constructor(prop, initialValue, column) {
717
+ this.prop = prop;
718
+ this.initialValue = initialValue;
719
+ this.column = column;
720
+ }
721
+ }
722
+ const THESEAM_COLUMNS_DATA_FILTER = new InjectionToken('ColumnsDataFilter');
723
+
724
+ const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME = 'search-date';
725
+ const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES = [
726
+ 'lt',
727
+ 'lte',
728
+ 'gt',
729
+ 'gte',
730
+ 'eq',
731
+ 'blank',
732
+ 'not-blank',
733
+ 'between',
734
+ 'not-between'
735
+ ];
736
+ const THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES = [
737
+ 'lt',
738
+ 'lte',
739
+ 'gt',
740
+ 'gte',
741
+ 'eq',
742
+ ];
743
+ const THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES = [
744
+ 'between',
745
+ 'not-between'
746
+ ];
747
+ const THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES = [
748
+ 'blank',
749
+ 'not-blank',
750
+ ];
751
+ const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME = 'search-numeric';
752
+ const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES = [
753
+ 'gt',
754
+ 'lt',
755
+ 'eq',
756
+ 'gte',
757
+ 'lte',
758
+ 'blank',
759
+ 'not-blank',
760
+ 'between',
761
+ 'not-between'
762
+ ];
763
+ const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES = [
764
+ 'gt',
765
+ 'lt',
766
+ 'eq',
767
+ 'gte',
768
+ 'lte',
769
+ ];
770
+ const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES = [
771
+ 'between',
772
+ 'not-between'
773
+ ];
774
+ const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES = [
775
+ 'blank',
776
+ 'not-blank',
777
+ ];
778
+ const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME = 'search-text';
779
+ const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES = [
780
+ 'contains',
781
+ 'ncontains',
782
+ 'eq',
783
+ 'neq',
784
+ 'blank',
785
+ 'not-blank'
786
+ ];
787
+ const THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES = [
788
+ 'contains',
789
+ 'ncontains',
790
+ 'eq',
791
+ 'neq',
792
+ ];
793
+ const THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES = [
794
+ 'blank',
795
+ 'not-blank'
796
+ ];
797
+
798
+ class SearchDateColumnsDataFilter extends ColumnsDataFilter {
799
+ name = THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME;
800
+ uid;
801
+ form;
802
+ filterStateChanges;
803
+ options;
804
+ _updateFilterValue = new Subject;
805
+ constructor(prop, initialValue, column) {
806
+ super(prop, initialValue, column);
807
+ this.form = new FormGroup({
808
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
809
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
810
+ fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
811
+ toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
812
+ });
813
+ this.uid = `${this.name}--${prop}`;
814
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.filterState()));
815
+ this.options = {
816
+ dateType: this.column.filterOptions?.dateType || 'date'
817
+ };
818
+ }
819
+ dataFilter(data, filterValue, options) {
820
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
821
+ return data;
822
+ }
823
+ return this._dateSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
824
+ }
825
+ _isInvalidDate(dateString) {
826
+ return isNullOrUndefinedOrEmpty(dateString) || isNaN(new Date(dateString).valueOf());
827
+ }
828
+ _isInvalidSearchTerm(searchText, fromText, toText, comparator) {
829
+ if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(comparator) && this._isInvalidDate(searchText)) {
830
+ return true;
831
+ }
832
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(comparator) && (this._isInvalidDate(fromText) || this._isInvalidDate(toText))) {
833
+ return true;
834
+ }
835
+ return false;
836
+ }
837
+ _dateSearchDataFilter(prop, data, text, fromText, toText, comparator) {
838
+ if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
839
+ console.warn('No filter applied - invalid options.');
840
+ return data;
841
+ }
842
+ if (this._isInvalidSearchTerm(text, fromText, toText, comparator)) {
843
+ console.warn('No filter applied - invalid search terms.');
844
+ return data;
845
+ }
846
+ const useLocalTime = this.column.filterOptions?.useLocalTime === true;
847
+ const textDate = getFormattedDateForComparison(text, this.options.dateType, true);
848
+ const fromTextDate = getFormattedDateForComparison(fromText, this.options.dateType, true);
849
+ const toTextDate = getFormattedDateForComparison(toText, this.options.dateType, true);
850
+ return data.filter(item => {
851
+ let propDate = getFormattedDateForComparison(item[prop], this.options.dateType, useLocalTime);
852
+ if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
853
+ (comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
854
+ (comparator === 'lt' && propDate.valueOf() < textDate.valueOf()) ||
855
+ (comparator === 'lte' && propDate.valueOf() <= textDate.valueOf()) ||
856
+ (comparator === 'gt' && propDate.valueOf() > textDate.valueOf()) ||
857
+ (comparator === 'gte' && propDate.valueOf() >= textDate.valueOf()) ||
858
+ (comparator === 'eq' && propDate.valueOf() === textDate.valueOf()) ||
859
+ (comparator === 'between' && propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()) ||
860
+ (comparator === 'not-between' && !(propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()))) {
861
+ return true;
862
+ }
863
+ return false;
864
+ });
865
+ }
866
+ filter(data) {
867
+ return this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.dataFilter(data, this.form.value, undefined)));
868
+ }
869
+ filterState() {
870
+ return {
871
+ name: this.name,
872
+ state: {
873
+ prop: this.prop,
874
+ formValue: this.form.value,
875
+ options: this.options
876
+ }
877
+ };
878
+ }
879
+ applyFilter() {
880
+ this._updateFilterValue.next();
881
+ }
882
+ clearFilter() {
883
+ this.form.setValue({
884
+ searchType: 'eq',
885
+ searchText: null,
886
+ fromText: null,
887
+ toText: null
888
+ });
889
+ this._updateFilterValue.next();
890
+ }
891
+ isDefault() {
892
+ const formValue = this.form.value;
893
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
894
+ return true;
895
+ }
896
+ if (THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
897
+ return false;
898
+ }
899
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
900
+ return false;
901
+ }
902
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
903
+ return false;
904
+ }
905
+ return true;
906
+ }
907
+ }
908
+
909
+ class SearchNumericColumnsDataFilter extends ColumnsDataFilter {
910
+ name = THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME;
911
+ uid;
912
+ form;
913
+ filterStateChanges;
914
+ options;
915
+ _updateFilterValue = new Subject;
916
+ constructor(prop, initialValue, column) {
917
+ super(prop, initialValue, column);
918
+ this.form = new FormGroup({
919
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
920
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
921
+ fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
922
+ toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
923
+ });
924
+ this.uid = `${this.name}--${prop}`;
925
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.filterState()));
926
+ }
927
+ dataFilter(data, filterValue, options) {
928
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
929
+ return data;
930
+ }
931
+ return this.numberSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
932
+ }
933
+ _isInvalidSearchTerm(searchText, fromText, toText, comparator) {
934
+ if (isNaN(searchText) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(comparator)) {
935
+ return true;
936
+ }
937
+ else if ((isNaN(fromText) || isNaN(toText)) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(comparator)) {
938
+ return true;
939
+ }
940
+ return false;
941
+ }
942
+ numberSearchDataFilter(prop, data, text, fromText, toText, comparator) {
943
+ if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
944
+ console.warn('No filter applied - invalid options.');
945
+ return data;
946
+ }
947
+ const textNumeric = notNullOrUndefinedOrEmpty(text) ? parseFloat(text) : NaN;
948
+ const toTextNumeric = notNullOrUndefinedOrEmpty(toText) ? parseFloat(toText) : NaN;
949
+ const fromTextNumeric = notNullOrUndefinedOrEmpty(fromText) ? parseFloat(fromText) : NaN;
950
+ if (this._isInvalidSearchTerm(textNumeric, fromTextNumeric, toTextNumeric, comparator)) {
951
+ console.warn('No filter applied - invalid search terms.');
952
+ return data;
953
+ }
954
+ return data.filter(item => {
955
+ let propNumeric = parseFloat(item[prop]);
956
+ if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
957
+ (comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
958
+ (comparator === 'lt' && propNumeric < textNumeric) ||
959
+ (comparator === 'lte' && propNumeric <= textNumeric) ||
960
+ (comparator === 'gt' && propNumeric > textNumeric) ||
961
+ (comparator === 'gte' && propNumeric >= textNumeric) ||
962
+ (comparator === 'eq' && propNumeric === textNumeric) ||
963
+ (comparator === 'between' && propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric) ||
964
+ (comparator === 'not-between' && !(propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric))) {
965
+ return true;
966
+ }
967
+ return false;
968
+ });
969
+ }
970
+ filter(data) {
971
+ return this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.dataFilter(data, this.form.value, undefined)));
972
+ }
973
+ filterState() {
974
+ return {
975
+ name: this.name,
976
+ state: {
977
+ prop: this.prop,
978
+ formValue: this.form.value
979
+ }
980
+ };
981
+ }
982
+ applyFilter() {
983
+ this._updateFilterValue.next();
984
+ }
985
+ clearFilter() {
986
+ this.form.setValue({
987
+ searchType: 'eq',
988
+ searchText: null,
989
+ fromText: null,
990
+ toText: null
991
+ });
992
+ this._updateFilterValue.next();
993
+ }
994
+ isDefault() {
995
+ const formValue = this.form.value;
996
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
997
+ return true;
998
+ }
999
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
1000
+ return false;
1001
+ }
1002
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
1003
+ return false;
1004
+ }
1005
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
1006
+ return false;
1007
+ }
1008
+ return true;
1009
+ }
1010
+ }
1011
+
1012
+ class SearchTextColumnsDataFilter extends ColumnsDataFilter {
1013
+ name = THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME;
1014
+ uid;
1015
+ form;
1016
+ filterStateChanges;
1017
+ options;
1018
+ _updateFilterValue = new Subject;
1019
+ constructor(prop, initialValue, column) {
1020
+ super(prop, initialValue, column);
1021
+ this.form = new FormGroup({
1022
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'contains'),
1023
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
1024
+ // caseSensitive: new FormControl<boolean | null>(notNullOrUndefined(initialValue) ? initialValue.caseSensitive : null),
1025
+ });
1026
+ this.uid = `${this.name}--${prop}`;
1027
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.filterState()));
1028
+ }
1029
+ dataFilter(data, filterValue, options) {
1030
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
1031
+ return data;
1032
+ }
1033
+ return this._textSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.searchType || null);
1034
+ }
1035
+ _textSearchDataFilter(prop, data, text, comparator) {
1036
+ if (!data || data.length < 0 || isNullOrUndefined(comparator)) {
1037
+ return data;
1038
+ }
1039
+ return data.filter(item => {
1040
+ let value1 = `${notNullOrUndefined(item[prop]) ? item[prop] : ''}`;
1041
+ let value2 = text || '';
1042
+ // if (!options.caseSensitive) {
1043
+ // value1 = value1.toLowerCase()
1044
+ // value2 = value2.toLowerCase()
1045
+ // }
1046
+ value1 = value1.toLowerCase();
1047
+ value2 = value2.toLowerCase();
1048
+ if ((comparator === 'eq' && value1 === value2) ||
1049
+ (comparator === 'neq' && value1 !== value2) ||
1050
+ (comparator === 'contains' && value1.indexOf(value2) !== -1) ||
1051
+ (comparator === 'ncontains' && value1.indexOf(value2) === -1) ||
1052
+ (comparator === 'blank' && isNullOrUndefinedOrEmpty(value1)) ||
1053
+ (comparator === 'not-blank' && notNullOrUndefinedOrEmpty(value1))) {
1054
+ return true;
1055
+ }
1056
+ return false;
1057
+ });
1058
+ }
1059
+ filter(data) {
1060
+ return this._updateFilterValue.pipe(startWith$1(undefined), map$1(() => this.dataFilter(data, this.form.value, undefined)));
1061
+ }
1062
+ filterState() {
1063
+ return {
1064
+ name: this.name,
1065
+ state: {
1066
+ prop: this.prop,
1067
+ formValue: this.form.value,
1068
+ }
1069
+ };
1070
+ }
1071
+ applyFilter() {
1072
+ this._updateFilterValue.next();
1073
+ }
1074
+ clearFilter() {
1075
+ this.form.setValue({
1076
+ searchType: 'contains',
1077
+ searchText: null,
1078
+ // caseSensitive: null
1079
+ });
1080
+ this._updateFilterValue.next();
1081
+ }
1082
+ isDefault() {
1083
+ const formValue = this.form.value;
1084
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
1085
+ return true;
1086
+ }
1087
+ else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
1088
+ return false;
1089
+ }
1090
+ else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
1091
+ return false;
1092
+ }
1093
+ return true;
1094
+ }
1095
+ }
1096
+
1097
+ const THESEAM_COLUMNS_DATA_FILTERS_DEFAULT = [
1098
+ { name: THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, class: SearchTextColumnsDataFilter },
1099
+ { name: THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, class: SearchNumericColumnsDataFilter },
1100
+ { name: THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, class: SearchDateColumnsDataFilter },
1101
+ ];
1102
+ const getFormattedDateForComparison = (date, dateType, setToLocalTime = false) => {
1103
+ const dateObj = new Date(notNullOrUndefined(date) ? date : '');
1104
+ if (dateType === 'datetime-local') {
1105
+ // reset seconds and ms, since they can't be specified from the search input
1106
+ dateObj.setSeconds(0);
1107
+ dateObj.setMilliseconds(0);
1108
+ }
1109
+ else if (dateType === 'date') {
1110
+ if (setToLocalTime) {
1111
+ // set date from input type="date" to current timezone, to match expected behavior
1112
+ dateObj.setMinutes(dateObj.getMinutes() + dateObj.getTimezoneOffset());
1113
+ }
1114
+ // reset hours/minutes/seconds/ms, since they can't be specified from the search input
1115
+ dateObj.setHours(0, 0, 0, 0);
1116
+ }
1117
+ return dateObj;
1118
+ };
1119
+
1120
+ class ColumnsFiltersService {
1121
+ _customColumnsDataFilters;
1122
+ _columnFilterTemplates = new BehaviorSubject([]);
1123
+ columnFilterTemplates$ = this._columnFilterTemplates.asObservable();
1124
+ _columns = new BehaviorSubject([]);
1125
+ columnsFilters$ = this._columns.pipe(map$1(columns => columns
1126
+ .map(col => col.$$filter)
1127
+ .filter(notNullOrUndefined)));
1128
+ columnActiveFilterProps$ = this.columnsFilters$.pipe(switchMap$1(filters => {
1129
+ if (!filters.length) {
1130
+ return of([]);
1131
+ }
1132
+ return combineLatest(filters.map(f => f.filterStateChanges.pipe(map$1((filterState) => !f.isDefault() ? filterState.state.prop : null))));
1133
+ }), map$1(props => props.filter(notNullOrUndefined)));
1134
+ constructor(_customColumnsDataFilters) {
1135
+ this._customColumnsDataFilters = _customColumnsDataFilters;
1136
+ }
1137
+ setFilterTemplates(tpls) {
1138
+ this._columnFilterTemplates.next(tpls);
1139
+ }
1140
+ createColumnDataFilter(column, initialValue) {
1141
+ const prop = this.getColumnFilterProp(column);
1142
+ if (isNullOrUndefined(prop)) {
1143
+ return null;
1144
+ }
1145
+ return this._getColumnsDataFilter(prop, column, initialValue);
1146
+ }
1147
+ _getColumnsDataFilter(prop, column, initialValue) {
1148
+ const filterClass = this._getColumnsDataFilterType(column);
1149
+ let filter;
1150
+ if (notNullOrUndefined(this._customColumnsDataFilters)) {
1151
+ filter = this._customColumnsDataFilters.find(x => x.name === filterClass);
1152
+ }
1153
+ if (isNullOrUndefined(filter)) {
1154
+ filter = THESEAM_COLUMNS_DATA_FILTERS_DEFAULT.find(x => x.name === filterClass);
1155
+ }
1156
+ if (notNullOrUndefined(filter)) {
1157
+ // eslint-disable-next-line new-cap
1158
+ return new filter.class(prop, initialValue, column);
1159
+ }
1160
+ return null;
1161
+ }
1162
+ _getColumnsDataFilterType(column) {
1163
+ if (notNullOrUndefined(column.filterOptions) && notNullOrUndefined(column.filterOptions.filterType)) {
1164
+ return column.filterOptions.filterType;
1165
+ }
1166
+ else if (notNullOrUndefined(column.cellType)) {
1167
+ switch (column.cellType) {
1168
+ case 'string':
1169
+ case 'phone':
1170
+ return THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME;
1171
+ case 'currency':
1172
+ case 'decimal':
1173
+ case 'integer':
1174
+ return THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME;
1175
+ case 'date':
1176
+ return THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME;
1177
+ }
1178
+ }
1179
+ return THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME;
1180
+ }
1181
+ getColumnFilterProp(column) {
1182
+ if (isNullOrUndefined(column)) {
1183
+ return null;
1184
+ }
1185
+ const prop = column.filterOptions?.filterProp || column.prop || (notNullOrUndefined(column.name) ? camelCase(column.name) : undefined);
1186
+ if (isNullOrUndefined(prop)) {
1187
+ return null;
1188
+ }
1189
+ return `${prop}`;
1190
+ }
1191
+ setColumns(columns) {
1192
+ this._columns.next(columns);
1193
+ }
1194
+ getColumnFilter(prop) {
1195
+ if (isNullOrUndefined(prop)) {
1196
+ return undefined;
1197
+ }
1198
+ const columns = this._columns.value;
1199
+ const column = columns.find(col => this.getColumnFilterProp(col) === prop);
1200
+ return column ? column.$$filter : undefined;
1201
+ }
1202
+ filters() {
1203
+ return this._columns.value
1204
+ .map(col => col.$$filter)
1205
+ .filter(notNullOrUndefined);
1206
+ }
1207
+ addFilter(filter) {
1208
+ // Filters are now managed through columns, so this method is deprecated
1209
+ console.warn('ColumnsFiltersService.addFilter is deprecated - filters are now managed through columns');
1210
+ }
1211
+ removeFilter(filter) {
1212
+ // Filters are now managed through columns, so this method is deprecated
1213
+ console.warn('ColumnsFiltersService.removeFilter is deprecated - filters are now managed through columns');
1214
+ }
1215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsFiltersService, deps: [{ token: THESEAM_COLUMNS_DATA_FILTER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1216
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsFiltersService });
1217
+ }
1218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsFiltersService, decorators: [{
1219
+ type: Injectable
1220
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1221
+ type: Optional
1222
+ }, {
1223
+ type: Inject,
1224
+ args: [THESEAM_COLUMNS_DATA_FILTER]
1225
+ }] }] });
1226
+
1227
+ var ColumnsTypes;
1228
+ (function (ColumnsTypes) {
1229
+ ColumnsTypes[ColumnsTypes["Input"] = 0] = "Input";
1230
+ ColumnsTypes[ColumnsTypes["Template"] = 1] = "Template";
1231
+ ColumnsTypes[ColumnsTypes["Result"] = 2] = "Result";
1232
+ })(ColumnsTypes || (ColumnsTypes = {}));
1233
+ class ColumnsManagerService {
1234
+ _differs;
1235
+ _columnChangesService;
1236
+ _columnsFilters;
1237
+ _updateColumns = new Subject();
1238
+ _inputColumns = new BehaviorSubject([]);
1239
+ _templateColumns = new BehaviorSubject([]);
1240
+ _inpColDiffersMap = new Map();
1241
+ _tplColDiffersMap = new Map();
1242
+ _resultColDiffersMap = new Map();
1243
+ _colPropsDiffer;
1244
+ _internalColumnsGetter;
1245
+ _selectionType;
1246
+ _rowActionItem;
1247
+ _actionMenuCellTpl;
1248
+ _actionItemColumnPosition;
1249
+ _blankHeaderTpl;
1250
+ _treeToggleTpl;
1251
+ _headerTpl;
1252
+ _cellTypeSelectorTpl;
1253
+ // TODO: Consider making this a columns changed obervable, to make changes more predictable.
1254
+ columns$;
1255
+ constructor(_differs, _columnChangesService, _columnsFilters) {
1256
+ this._differs = _differs;
1257
+ this._columnChangesService = _columnChangesService;
1258
+ this._columnsFilters = _columnsFilters;
1259
+ const templateColumns$ = this._columnChangesService.columnInputChanges$.pipe(startWith(undefined), switchMap(() => {
1260
+ return this._templateColumns.asObservable().pipe(map(translateTemplateColumns));
1261
+ }));
1262
+ this.columns$ = defer(() => {
1263
+ let isFirst = true;
1264
+ return combineLatest([
1265
+ this._inputColumns.asObservable(),
1266
+ templateColumns$,
1267
+ this._updateColumns.asObservable().pipe(auditTime(0), startWith(undefined))
1268
+ ]).pipe(switchMap(([inputColumns, templateColumns]) => {
1269
+ const cols = this._mergeColumns(inputColumns, templateColumns);
1270
+ const hasColumnsChanged = this._hasColumnsChanged(cols);
1271
+ // TODO: Look for columns added/removed and remove the removed columns
1272
+ // differs, not just changes to columns.
1273
+ const hasAddedOrRemovedColumns = this._hasAddedOrRemovedColumns(cols);
1274
+ // NOTE: Both checks need to be run, even though only one needs to be
1275
+ // true, because their differs need to be called.
1276
+ if (hasColumnsChanged || hasAddedOrRemovedColumns || isFirst) {
1277
+ isFirst = false;
1278
+ // Update the filters service with the new columns
1279
+ this._columnsFilters.setColumns(cols);
1280
+ return of(cols);
1281
+ }
1282
+ return EMPTY;
1283
+ }));
1284
+ }).pipe(shareReplay({ refCount: true, bufferSize: 1 }));
1285
+ }
1286
+ setInputColumns(columns) {
1287
+ this._inputColumns.next(columns);
1288
+ }
1289
+ setTemplateColumns(columns) {
1290
+ this._templateColumns.next(columns);
1291
+ }
1292
+ setInternalColumnsGetter(getter) {
1293
+ this._internalColumnsGetter = getter || undefined;
1294
+ this._updateColumns.next(undefined);
1295
+ }
1296
+ setSelectionType(selectionType) {
1297
+ const changed = this._selectionType !== selectionType;
1298
+ this._selectionType = selectionType;
1299
+ if (changed) {
1300
+ this._updateColumns.next(undefined);
1301
+ }
1302
+ }
1303
+ getSelectionType() {
1304
+ return this._selectionType;
1305
+ }
1306
+ setRowActionItem(rowActionItem) {
1307
+ const changed = this._rowActionItem !== rowActionItem;
1308
+ this._rowActionItem = rowActionItem;
1309
+ if (changed) {
1310
+ this._updateColumns.next(undefined);
1311
+ }
1312
+ }
1313
+ setActionItemColumnPosition(actionItemColumnPosition) {
1314
+ const changed = this._actionItemColumnPosition !== actionItemColumnPosition;
1315
+ this._actionItemColumnPosition = actionItemColumnPosition;
1316
+ if (changed) {
1317
+ this._updateColumns.next(undefined);
1318
+ }
1319
+ }
1320
+ setActionMenuCellTpl(actionMenuCellTpl) {
1321
+ const changed = this._actionMenuCellTpl !== actionMenuCellTpl;
1322
+ this._actionMenuCellTpl = actionMenuCellTpl;
1323
+ if (changed) {
1324
+ this._updateColumns.next(undefined);
1325
+ }
1326
+ }
1327
+ setBlankHeaderTpl(blankHeaderTpl) {
1328
+ const changed = this._blankHeaderTpl !== blankHeaderTpl;
1329
+ this._blankHeaderTpl = blankHeaderTpl;
1330
+ if (changed) {
1331
+ this._updateColumns.next(undefined);
1332
+ }
1333
+ }
1334
+ setTreeToggleTpl(treeToggleTpl) {
1335
+ const changed = this._treeToggleTpl !== treeToggleTpl;
1336
+ this._treeToggleTpl = treeToggleTpl;
1337
+ if (changed) {
1338
+ this._updateColumns.next(undefined);
1339
+ }
1340
+ }
1341
+ setHeaderTpl(headerTpl) {
1342
+ const changed = this._headerTpl !== headerTpl;
1343
+ this._headerTpl = headerTpl;
1344
+ if (changed) {
1345
+ this._updateColumns.next(undefined);
1346
+ }
1347
+ }
1348
+ setCellTypeSelectorTpl(cellTypeSelectorTpl) {
1349
+ const changed = this._cellTypeSelectorTpl !== cellTypeSelectorTpl;
1350
+ this._cellTypeSelectorTpl = cellTypeSelectorTpl;
1351
+ if (changed) {
1352
+ this._updateColumns.next(undefined);
1353
+ }
1354
+ }
1355
+ _mergeColumns(inputColumns, templateColumns) {
1356
+ const cols = [];
1357
+ // Add the first column checkbox if 'checkbox' selection is enabled.
1358
+ if (this._shouldAddCheckboxColumn()) {
1359
+ cols.push(createCheckboxColumn());
1360
+ }
1361
+ // Column needs to be provided in the inputColumns, so iterate the
1362
+ // inputColumns.
1363
+ for (const inpCol of inputColumns) {
1364
+ const prop = getColumnProp(inpCol);
1365
+ if (!notNullOrUndefined(prop)) {
1366
+ throw Error(`Column may have 'prop' or 'name' defined.`);
1367
+ }
1368
+ const internalCol = this._getInternalColumn(prop);
1369
+ const inpColDif = this._getColDif(inpCol, ColumnsTypes.Input);
1370
+ if (notNullOrUndefined(inpColDif)) {
1371
+ this._updateColDif(inpColDif, internalCol, inpCol);
1372
+ }
1373
+ const tplCol = this._findColumnByProp(prop, templateColumns);
1374
+ if (tplCol !== undefined) {
1375
+ const tplColDif = this._getColDif(tplCol, ColumnsTypes.Template);
1376
+ if (notNullOrUndefined(tplColDif)) {
1377
+ this._updateColDif(tplColDif, internalCol, tplCol);
1378
+ }
1379
+ }
1380
+ // Preserve or create filter for this column
1381
+ const existingFilter = this._getExistingFilter(internalCol, inpCol);
1382
+ const _col = {
1383
+ ...(internalCol || {}),
1384
+ ...inpCol,
1385
+ // TODO: Rethink this, because I don't know if this is correct.
1386
+ ...(tplCol || {}),
1387
+ // Store filter directly on column object
1388
+ $$filter: existingFilter || this._createColumnFilter(inpCol)
1389
+ };
1390
+ if (this._shouldAddTreeToggleColumn(_col)) {
1391
+ _col.treeToggleTemplate = this._treeToggleTpl;
1392
+ }
1393
+ if (this._shouldAddHeaderTemplate(_col)) {
1394
+ _col.headerTemplate = this._headerTpl; // TODO: Fix type
1395
+ }
1396
+ if (this._shouldAddCellTypeSelectorTpl(_col)) {
1397
+ _col.cellTemplate = this._cellTypeSelectorTpl; // TODO: Fix type
1398
+ }
1399
+ cols.push(_col);
1400
+ }
1401
+ if (this._shouldAddRowActionColumn()) {
1402
+ const actionMenuColumn = createActionMenuColumn(this._actionMenuCellTpl, this._blankHeaderTpl, this._rowActionColumnIsFrozenLeft(), this._rowActionColumnIsFrozenRight());
1403
+ if (this._rowActionColumnIsStaticLeft()) {
1404
+ cols.unshift(actionMenuColumn);
1405
+ }
1406
+ else {
1407
+ cols.push(actionMenuColumn);
1408
+ }
1409
+ }
1410
+ // Make sure the default for any missing props are set.
1411
+ // TODO: Determine if this should be done earlier, because I don't like
1412
+ // how this is done after dif checks.
1413
+ setColumnDefaults(cols);
1414
+ return cols;
1415
+ }
1416
+ _getInternalColumns() {
1417
+ if (this._internalColumnsGetter === undefined) {
1418
+ return undefined;
1419
+ }
1420
+ return this._internalColumnsGetter();
1421
+ }
1422
+ _getInternalColumn(prop) {
1423
+ const internalCols = this._getInternalColumns();
1424
+ if (internalCols === undefined) {
1425
+ return undefined;
1426
+ }
1427
+ return internalCols.find(c => getColumnProp(c) === prop);
1428
+ }
1429
+ _findColumnByProp(prop, columns) {
1430
+ return columns.find(c => getColumnProp(c) === prop);
1431
+ }
1432
+ _getDifMapForColumnsType(columnsType) {
1433
+ switch (columnsType) {
1434
+ case ColumnsTypes.Input: return this._inpColDiffersMap;
1435
+ case ColumnsTypes.Template: return this._tplColDiffersMap;
1436
+ case ColumnsTypes.Result: return this._resultColDiffersMap;
1437
+ }
1438
+ }
1439
+ _getColumnDiffer(prop, colsType) {
1440
+ const difMap = this._getDifMapForColumnsType(colsType);
1441
+ if (difMap === null) {
1442
+ throw Error(`Invalid columns type.`);
1443
+ }
1444
+ if (!difMap.has(prop)) {
1445
+ difMap.set(prop, this._differs.find({}).create());
1446
+ }
1447
+ const differ = difMap.get(prop);
1448
+ if (differ === undefined) {
1449
+ throw Error(`Differ not found. New differ should have been created.`);
1450
+ }
1451
+ return differ;
1452
+ }
1453
+ _getColDif(col, colsType) {
1454
+ const prop = getColumnProp(col);
1455
+ if (prop === undefined) {
1456
+ throw Error(`Column prop not found.`);
1457
+ }
1458
+ return this._getColumnDiffer(prop, colsType).diff(col);
1459
+ }
1460
+ _updateColDif(colDif, internalColumn, col) {
1461
+ colDif.forEachRemovedItem(r => {
1462
+ if (internalColumn && Object.prototype.hasOwnProperty.call(internalColumn, r.key)) {
1463
+ const k = r.key;
1464
+ delete internalColumn[k];
1465
+ }
1466
+ });
1467
+ colDif.forEachAddedItem(r => col[r.key] = r.currentValue);
1468
+ colDif.forEachChangedItem(r => col[r.key] = r.currentValue);
1469
+ }
1470
+ _hasAddedOrRemovedColumns(columns) {
1471
+ if (!this._colPropsDiffer) {
1472
+ this._colPropsDiffer = this._differs.find([]).create();
1473
+ }
1474
+ const props = columns.map(c => getColumnProp(c));
1475
+ return this._colPropsDiffer.diff(props) !== null;
1476
+ }
1477
+ _hasColumnsChanged(columns) {
1478
+ let colChanged = false;
1479
+ for (const col of columns) {
1480
+ const resultDif = this._getColDif(col, ColumnsTypes.Result);
1481
+ if (resultDif) {
1482
+ // NOTE: Can't return early, because the differs need to be updated.
1483
+ colChanged = true;
1484
+ }
1485
+ }
1486
+ return colChanged;
1487
+ }
1488
+ _shouldAddCheckboxColumn() {
1489
+ return this._selectionType === SelectionType.checkbox;
1490
+ }
1491
+ _shouldAddRowActionColumn() {
1492
+ return this._rowActionItem !== undefined;
1493
+ }
1494
+ _rowActionColumnIsFrozenLeft() {
1495
+ return this._actionItemColumnPosition === 'frozenLeft';
1496
+ }
1497
+ _rowActionColumnIsFrozenRight() {
1498
+ return this._actionItemColumnPosition === 'frozenRight';
1499
+ }
1500
+ _rowActionColumnIsStaticLeft() {
1501
+ return this._actionItemColumnPosition === 'staticLeft';
1502
+ }
1503
+ _rowActionColumnIsStaticRight() {
1504
+ return this._actionItemColumnPosition === 'staticRight';
1505
+ }
1506
+ _shouldAddTreeToggleColumn(column) {
1507
+ return column.isTreeColumn !== undefined && column.isTreeColumn &&
1508
+ (!hasProperty(column, 'treeToggleTemplate') || !notNullOrUndefined(column.treeToggleTemplate));
1509
+ }
1510
+ _shouldAddHeaderTemplate(column) {
1511
+ return !hasProperty(column, 'headerTemplate');
1512
+ }
1513
+ _shouldAddCellTypeSelectorTpl(column) {
1514
+ return hasProperty(column, 'cellType');
1515
+ }
1516
+ _getExistingFilter(internalCol, inputCol) {
1517
+ // Check if internal column has existing filter (from NgxDatatable)
1518
+ if (internalCol && internalCol.$$filter) {
1519
+ return internalCol.$$filter;
1520
+ }
1521
+ // Check if input column has existing filter (from previous merge)
1522
+ if (inputCol.$$filter) {
1523
+ return inputCol.$$filter;
1524
+ }
1525
+ return undefined;
1526
+ }
1527
+ _createColumnFilter(column) {
1528
+ if (!column.filterable) {
1529
+ return undefined;
1530
+ }
1531
+ return this._columnsFilters.createColumnDataFilter(column, null) || undefined;
1532
+ }
1533
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsManagerService, deps: [{ token: i0.KeyValueDiffers }, { token: DatatableColumnChangesService }, { token: ColumnsFiltersService }], target: i0.ɵɵFactoryTarget.Injectable });
1534
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsManagerService });
1535
+ }
1536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsManagerService, decorators: [{
1537
+ type: Injectable
1538
+ }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: DatatableColumnChangesService }, { type: ColumnsFiltersService }] });
1539
+
1540
+ const THESEAM_DATATABLE_ACCESSOR = new InjectionToken('TheSeamDatatableAccessor');
1541
+
1542
+ function removeUnusedDiffs(cols, colDiffersInp, colDiffersTpl) {
1543
+ const inpKeys = Object.keys(colDiffersInp);
1544
+ inpKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)
1545
+ .forEach(k => { delete colDiffersInp[k]; });
1546
+ const tplKeys = Object.keys(colDiffersTpl);
1547
+ tplKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)
1548
+ .forEach(k => { delete colDiffersTpl[k]; });
1549
+ }
1550
+
1551
+ /**
1552
+ * Alteration applied to a column or columns that can be persisted.
1553
+ *
1554
+ * Tracking if a column was altered by user or library code can be confusing.
1555
+ * This allows us to store a list of replayable alterations on columns. By
1556
+ * having a defined way to implement alterations, the datatable should be easier
1557
+ * to support external features that want to provide an alteration.
1558
+ *
1559
+ * NOTE: Current, to unapply an alteration you can create an alteration with
1560
+ * `persistent` set to false and the alteration will be removed after `apply()`
1561
+ * is called.
1562
+ */
1563
+ class ColumnsAlteration {
1564
+ state;
1565
+ persistent;
1566
+ constructor(
1567
+ /**
1568
+ * Persistable state.
1569
+ *
1570
+ * Returned value should be JSON stringifyable.
1571
+ */
1572
+ state,
1573
+ /**
1574
+ * If false, the state will not be persisted to a persistent storage and
1575
+ * will be removed after applied.
1576
+ */
1577
+ persistent) {
1578
+ this.state = state;
1579
+ this.persistent = persistent;
1580
+ this.state = state;
1581
+ }
1582
+ toJSON() {
1583
+ return {
1584
+ id: this.id,
1585
+ type: this.type,
1586
+ state: this.state
1587
+ };
1588
+ }
1589
+ }
1590
+
1591
+ class HideColumnColumnsAlteration extends ColumnsAlteration {
1592
+ id;
1593
+ type = 'hide-column';
1594
+ constructor(state, persistent) {
1595
+ super(state, persistent);
1596
+ if (!this._isValidState(state)) {
1597
+ throw Error(`Invalid state: ${JSON.stringify(state)}`);
1598
+ }
1599
+ this.id = `${this.type}--${state.columnProp}`;
1600
+ }
1601
+ apply(columns, datatable) {
1602
+ for (const col of columns) {
1603
+ const prop = getColumnProp(col);
1604
+ if (prop === this.state.columnProp) {
1605
+ col.hidden = this.state.hidden;
1606
+ }
1607
+ }
1608
+ }
1609
+ toDisplayItem() {
1610
+ const summary = this._createHideSummary();
1611
+ const details = this._createHideDetails();
1612
+ return {
1613
+ id: this.id,
1614
+ type: this.type,
1615
+ summary,
1616
+ details,
1617
+ sortOrder: this._getColumnSortOrder()
1618
+ };
1619
+ }
1620
+ getDisplaySortOrder() {
1621
+ return this._getColumnSortOrder();
1622
+ }
1623
+ _isValidState(state) {
1624
+ // NOTE: Checking null or undefined, even though the type doesn't allow,
1625
+ // because the state may have been loaded from an invalid persistant
1626
+ // storage.
1627
+ // TODO: Remove when state validation/migration is implemented to happen
1628
+ // when retrieved from storage.
1629
+ if (!notNullOrUndefined(state.columnProp)) {
1630
+ return false;
1631
+ }
1632
+ // TODO: Remove when state validation/migration is implemented to happen
1633
+ // when retrieved from storage.
1634
+ if (!notNullOrUndefined(state.hidden)) {
1635
+ return false;
1636
+ }
1637
+ return true;
1638
+ }
1639
+ _createHideSummary() {
1640
+ const action = this.state.hidden ? 'Hidden' : 'Shown';
1641
+ return `${action}: ${this.state.columnProp}`;
1642
+ }
1643
+ _createHideDetails() {
1644
+ const action = this.state.hidden ? 'hidden' : 'visible';
1645
+ return [`Column: ${this.state.columnProp}`, `Status: ${action}`];
1646
+ }
1647
+ _getColumnSortOrder() {
1648
+ // Sort by column name for consistent ordering
1649
+ return String(this.state.columnProp).charCodeAt(0);
1650
+ }
1651
+ }
1652
+
1653
+ class SortColumnsAlteration extends ColumnsAlteration {
1654
+ id;
1655
+ type = 'sort';
1656
+ constructor(state, persistent) {
1657
+ super(state, persistent);
1658
+ if (!this._isValidState(state)) {
1659
+ throw Error(`Invalid state: ${JSON.stringify(state)}`);
1660
+ }
1661
+ this.id = `${this.type}`;
1662
+ }
1663
+ apply(columns, datatable) {
1664
+ if (datatable.sortType === SortType.single) {
1665
+ datatable.sorts = this.state.sorts.length > 0 ? [this.state.sorts[0]] : [];
1666
+ }
1667
+ else {
1668
+ datatable.sorts = this.state.sorts;
1669
+ }
1670
+ }
1671
+ toDisplayItem() {
1672
+ const summary = this._createSortSummary();
1673
+ const details = this._createSortDetails();
1674
+ return {
1675
+ id: this.id,
1676
+ type: this.type,
1677
+ summary,
1678
+ details,
1679
+ sortOrder: 0
1680
+ };
1681
+ }
1682
+ getDisplaySortOrder() {
1683
+ return 0; // Only one sort alteration per table
1684
+ }
1685
+ _isValidState(state) {
1686
+ // NOTE: Checking null or undefined, even though the type doesn't allow,
1687
+ // because the state may have been loaded from an invalid persistant
1688
+ // storage.
1689
+ // TODO: Remove when state validation/migration is implemented to happen
1690
+ // when retrieved from storage.
1691
+ if (!notNullOrUndefined(state.sorts)) {
1692
+ return false;
1693
+ }
1694
+ return true;
1695
+ }
1696
+ _createSortSummary() {
1697
+ if (this.state.sorts.length === 0) {
1698
+ return 'No sorting';
1699
+ }
1700
+ const sortDescriptions = this.state.sorts.map(sort => {
1701
+ const direction = sort.dir === 'asc' ? '↑' : '↓';
1702
+ return `${sort.prop} ${direction}`;
1703
+ });
1704
+ return sortDescriptions.join(', ');
1705
+ }
1706
+ _createSortDetails() {
1707
+ if (this.state.sorts.length === 0) {
1708
+ return ['No columns are currently sorted'];
1709
+ }
1710
+ return this.state.sorts.map((sort, index) => {
1711
+ const direction = sort.dir === 'asc' ? 'Ascending' : 'Descending';
1712
+ const priority = this.state.sorts.length > 1 ? ` (Priority: ${index + 1})` : '';
1713
+ return `${sort.prop}: ${direction}${priority}`;
1714
+ });
1715
+ }
1716
+ }
1717
+
1718
+ class WidthColumnsAlteration extends ColumnsAlteration {
1719
+ id;
1720
+ type = 'width';
1721
+ constructor(state, persistent) {
1722
+ super(state, persistent);
1723
+ if (!this._isValidState(state)) {
1724
+ throw Error(`Invalid state: ${JSON.stringify(state)}`);
1725
+ }
1726
+ this.id = `${this.type}--${state.columnProp}`;
1727
+ }
1728
+ apply(columns, datatable) {
1729
+ for (const col of columns) {
1730
+ const prop = getColumnProp(col);
1731
+ if (prop === this.state.columnProp) {
1732
+ col.canAutoResize = this.state.canAutoResize;
1733
+ if (notNullOrUndefined(this.state.width)) {
1734
+ col.width = this.state.width;
1735
+ }
1736
+ }
1737
+ }
1738
+ }
1739
+ toDisplayItem() {
1740
+ const summary = this._createWidthSummary();
1741
+ const details = this._createWidthDetails();
1742
+ return {
1743
+ id: this.id,
1744
+ type: this.type,
1745
+ summary,
1746
+ details,
1747
+ sortOrder: this._getColumnSortOrder()
1748
+ };
1749
+ }
1750
+ getDisplaySortOrder() {
1751
+ return this._getColumnSortOrder();
1752
+ }
1753
+ _isValidState(state) {
1754
+ // NOTE: Checking null or undefined, even though the type doesn't allow,
1755
+ // because the state may have been loaded from an invalid persistant
1756
+ // storage.
1757
+ // TODO: Remove when state validation/migration is implemented to happen
1758
+ // when retrieved from storage.
1759
+ if (!notNullOrUndefined(state.columnProp)) {
1760
+ return false;
1761
+ }
1762
+ // TODO: Remove when state validation/migration is implemented to happen
1763
+ // when retrieved from storage.
1764
+ if (!notNullOrUndefined(state.canAutoResize)) {
1765
+ return false;
1766
+ }
1767
+ return true;
1768
+ }
1769
+ _createWidthSummary() {
1770
+ const widthText = notNullOrUndefined(this.state.width) ? `${this.state.width}px` : 'auto';
1771
+ return `${this.state.columnProp}: ${widthText}`;
1772
+ }
1773
+ _createWidthDetails() {
1774
+ const details = [`Column: ${this.state.columnProp}`];
1775
+ if (notNullOrUndefined(this.state.width)) {
1776
+ details.push(`Width: ${this.state.width}px`);
1777
+ }
1778
+ details.push(`Auto-resize: ${this.state.canAutoResize ? 'enabled' : 'disabled'}`);
1779
+ return details;
1780
+ }
1781
+ _getColumnSortOrder() {
1782
+ // Sort by column name for consistent ordering
1783
+ return String(this.state.columnProp).charCodeAt(0);
1784
+ }
1785
+ }
1786
+
1787
+ class ColumnsAlterationsManagerService {
1788
+ _changesSubject = new Subject();
1789
+ _alterations = [];
1790
+ changes;
1791
+ constructor() {
1792
+ this.changes = this._changesSubject.asObservable();
1793
+ }
1794
+ get() {
1795
+ return [...this._alterations];
1796
+ }
1797
+ /**
1798
+ * Adds alterations to be applied to columns.
1799
+ *
1800
+ * If an alteration with the same `id` already exists then the existing
1801
+ * alteration will be removed and the new one added.
1802
+ *
1803
+ * NOTE: When there is a duplicate alteration the old alteration is removed,
1804
+ * instead of updated, to maintain the order alterations are applied.
1805
+ */
1806
+ add(alterations, options) {
1807
+ // console.log('add', alterations)
1808
+ const removed = this.remove(alterations, { emitEvent: false });
1809
+ this._alterations = [...this._alterations, ...alterations];
1810
+ const changes = [
1811
+ ...removed,
1812
+ ...alterations.map(a => {
1813
+ const record = {
1814
+ type: 'added',
1815
+ alteration: a
1816
+ };
1817
+ return record;
1818
+ })
1819
+ ];
1820
+ if (notNullOrUndefined(options?.emitEvent) && !options?.emitEvent) {
1821
+ return changes;
1822
+ }
1823
+ this._emitChanges(changes);
1824
+ return changes;
1825
+ }
1826
+ remove(alterations, options) {
1827
+ // console.log('remove', alterations)
1828
+ const removed = [];
1829
+ this._alterations = this._alterations.filter(x => {
1830
+ const found = alterations.findIndex(y => y.id === x.id) !== -1;
1831
+ if (found) {
1832
+ const eventRecord = {
1833
+ type: 'removed',
1834
+ alteration: x
1835
+ };
1836
+ removed.push(eventRecord);
1837
+ }
1838
+ return !found;
1839
+ });
1840
+ // console.log('removed', removed, this._alterations)
1841
+ if (notNullOrUndefined(options?.emitEvent) && !options?.emitEvent) {
1842
+ return removed;
1843
+ }
1844
+ this._emitChanges(removed);
1845
+ return removed;
1846
+ }
1847
+ apply(columns, datatable) {
1848
+ for (const a of this._alterations) {
1849
+ a.apply(columns, datatable);
1850
+ }
1851
+ this._removeNonPersistant();
1852
+ }
1853
+ // TODO: Make aware of original column order and properties. This is tricky,
1854
+ // because the datatable does not deal with immutable column/row records and
1855
+ // it is hard to know where changes happened. Just serializing the columns
1856
+ // input is not enough, because the columns input is called anytime the user
1857
+ // makes a column change. We can probably come up with a mostly accurate
1858
+ // implementation, such as "reset original columns cache when preferencesKey
1859
+ // changes" or "number of columns change". There are issues with those rules,
1860
+ // but with some testing/experimenting I think there should be a "good enough"
1861
+ // solution.
1862
+ //
1863
+ // TODO: Find a generic way to clear alterations. I would like to add an
1864
+ // `unapply` method to `ColumnsAlteration`, but since the alterations
1865
+ // themselves are not too generic it may be tricky.
1866
+ clear(options) {
1867
+ const changes = [];
1868
+ for (const colAlt of this._alterations) {
1869
+ switch (colAlt.type) {
1870
+ case 'hide-column': {
1871
+ const alteration = new HideColumnColumnsAlteration({ columnProp: colAlt.state.columnProp, hidden: false }, false);
1872
+ changes.push(...this.add([alteration]));
1873
+ break;
1874
+ }
1875
+ case 'order': {
1876
+ changes.push(...this.remove([colAlt]));
1877
+ break;
1878
+ }
1879
+ case 'sort': {
1880
+ const alteration = new SortColumnsAlteration({ sorts: [] }, false);
1881
+ changes.push(...this.add([alteration]));
1882
+ break;
1883
+ }
1884
+ case 'width': {
1885
+ const alteration = new WidthColumnsAlteration({ columnProp: colAlt.state.columnProp, canAutoResize: true }, false);
1886
+ changes.push(...this.add([alteration]));
1887
+ break;
1888
+ }
1889
+ }
1890
+ }
1891
+ if (notNullOrUndefined(options?.emitEvent) && !options?.emitEvent) {
1892
+ return changes;
1893
+ }
1894
+ this._emitChanges(changes);
1895
+ return changes;
1896
+ }
1897
+ _removeNonPersistant() {
1898
+ const nonPersistent = this._alterations.filter(x => !x.persistent);
1899
+ this.remove(nonPersistent, { emitEvent: false });
1900
+ }
1901
+ _emitChanges(changes) {
1902
+ if (changes.length === 0) {
1903
+ return;
1904
+ }
1905
+ const event = {
1906
+ changes
1907
+ };
1908
+ this._changesSubject.next(event);
1909
+ }
1910
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsAlterationsManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1911
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsAlterationsManagerService });
1912
+ }
1913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ColumnsAlterationsManagerService, decorators: [{
1914
+ type: Injectable
1915
+ }], ctorParameters: () => [] });
1916
+
1917
+ class FilterColumnsAlteration extends ColumnsAlteration {
1918
+ id;
1919
+ type = 'filter';
1920
+ constructor(state, persistent) {
1921
+ super(state, persistent);
1922
+ if (!this._isValidState(state)) {
1923
+ throw Error(`Invalid filter alteration state: ${JSON.stringify(state)}`);
1924
+ }
1925
+ this.id = `${this.type}--${state.columnProp}`;
1926
+ }
1927
+ apply(columns, datatable) {
1928
+ // Get the columns filters service from the datatable
1929
+ const columnsFiltersService = datatable._columnsFilters;
1930
+ if (!columnsFiltersService) {
1931
+ throw new Error('ColumnsFiltersService not found on datatable');
1932
+ }
1933
+ // Find the filter for this column
1934
+ const filter = columnsFiltersService.getColumnFilter(this.state.columnProp);
1935
+ if (!filter) {
1936
+ throw new Error(`Filter not found for column: ${this.state.columnProp}`);
1937
+ }
1938
+ // Apply the filter based on the filter type
1939
+ this._applyFilterValues(filter);
1940
+ }
1941
+ _applyFilterValues(filter) {
1942
+ const { operation, value, fromValue, toValue } = this.state;
1943
+ // Create the form values based on the operation type
1944
+ const formValues = {
1945
+ searchType: operation,
1946
+ searchText: null,
1947
+ fromText: null,
1948
+ toText: null
1949
+ };
1950
+ // Set values based on operation type
1951
+ if (this._isRangeOperation(operation)) {
1952
+ if (!notNullOrUndefined(fromValue) || !notNullOrUndefined(toValue)) {
1953
+ throw new Error(`Range operation '${operation}' requires both fromValue and toValue`);
1954
+ }
1955
+ formValues.fromText = String(fromValue);
1956
+ formValues.toText = String(toValue);
1957
+ }
1958
+ else if (this._isValueOperation(operation)) {
1959
+ if (!notNullOrUndefined(value)) {
1960
+ throw new Error(`Operation '${operation}' requires a value`);
1961
+ }
1962
+ formValues.searchText = String(value);
1963
+ }
1964
+ // For 'blank' and 'not-blank' operations, no additional values are needed
1965
+ // Apply the values to the filter form
1966
+ filter.form.patchValue(formValues);
1967
+ }
1968
+ toDisplayItem() {
1969
+ const summary = this._createFilterSummary();
1970
+ const details = this._createFilterDetails();
1971
+ return {
1972
+ id: this.id,
1973
+ type: this.type,
1974
+ summary,
1975
+ details,
1976
+ sortOrder: this._getColumnSortOrder()
1977
+ };
1978
+ }
1979
+ getDisplaySortOrder() {
1980
+ return this._getColumnSortOrder();
1981
+ }
1982
+ _isRangeOperation(operation) {
1983
+ return operation === 'between' || operation === 'not-between';
1984
+ }
1985
+ _isValueOperation(operation) {
1986
+ const valueOperations = [
1987
+ 'contains', 'ncontains', 'eq', 'neq', // text
1988
+ 'gt', 'lt', 'gte', 'lte' // numeric/date
1989
+ ];
1990
+ return valueOperations.includes(operation);
1991
+ }
1992
+ _isValidState(state) {
1993
+ // Check required fields
1994
+ if (!notNullOrUndefined(state.columnProp)) {
1995
+ return false;
1996
+ }
1997
+ if (!notNullOrUndefined(state.filterType)) {
1998
+ return false;
1999
+ }
2000
+ if (!notNullOrUndefined(state.operation)) {
2001
+ return false;
2002
+ }
2003
+ // Validate operation is valid for filter type
2004
+ if (!this._isValidOperationForFilterType(state.operation, state.filterType)) {
2005
+ throw new Error(`Operation '${state.operation}' is not valid for filter type '${state.filterType}'`);
2006
+ }
2007
+ // Validate required values for operations
2008
+ if (this._isRangeOperation(state.operation)) {
2009
+ if (!notNullOrUndefined(state.fromValue) || !notNullOrUndefined(state.toValue)) {
2010
+ throw new Error(`Range operation '${state.operation}' requires both fromValue and toValue`);
2011
+ }
2012
+ }
2013
+ else if (this._isValueOperation(state.operation)) {
2014
+ if (!notNullOrUndefined(state.value)) {
2015
+ throw new Error(`Operation '${state.operation}' requires a value`);
2016
+ }
2017
+ }
2018
+ return true;
2019
+ }
2020
+ _isValidOperationForFilterType(operation, filterType) {
2021
+ const textOperations = ['contains', 'ncontains', 'eq', 'neq', 'blank', 'not-blank'];
2022
+ const numericOperations = ['gt', 'lt', 'eq', 'gte', 'lte', 'blank', 'not-blank', 'between', 'not-between'];
2023
+ const dateOperations = ['lt', 'lte', 'gt', 'gte', 'eq', 'blank', 'not-blank', 'between', 'not-between'];
2024
+ switch (filterType) {
2025
+ case 'text':
2026
+ return textOperations.includes(operation);
2027
+ case 'numeric':
2028
+ return numericOperations.includes(operation);
2029
+ case 'date':
2030
+ return dateOperations.includes(operation);
2031
+ default:
2032
+ return false;
2033
+ }
2034
+ }
2035
+ _createFilterSummary() {
2036
+ const { columnProp, operation, value, fromValue, toValue } = this.state;
2037
+ if (this._isRangeOperation(operation)) {
2038
+ return `${columnProp}: ${fromValue} to ${toValue}`;
2039
+ }
2040
+ else if (this._isValueOperation(operation)) {
2041
+ return `${columnProp} ${this._getOperationSymbol(operation)} ${value}`;
2042
+ }
2043
+ else {
2044
+ // blank or not-blank operations
2045
+ const operationText = operation === 'blank' ? 'is empty' : 'is not empty';
2046
+ return `${columnProp} ${operationText}`;
2047
+ }
2048
+ }
2049
+ _createFilterDetails() {
2050
+ const { columnProp, filterType, operation, value, fromValue, toValue } = this.state;
2051
+ const details = [
2052
+ `Column: ${columnProp}`,
2053
+ `Type: ${filterType}`,
2054
+ `Operation: ${this._getOperationDisplayName(operation)}`
2055
+ ];
2056
+ if (this._isRangeOperation(operation)) {
2057
+ details.push(`From: ${fromValue}`);
2058
+ details.push(`To: ${toValue}`);
2059
+ }
2060
+ else if (this._isValueOperation(operation)) {
2061
+ details.push(`Value: ${value}`);
2062
+ }
2063
+ return details;
2064
+ }
2065
+ _getOperationSymbol(operation) {
2066
+ const symbols = {
2067
+ 'contains': 'contains',
2068
+ 'ncontains': 'does not contain',
2069
+ 'eq': '=',
2070
+ 'neq': '≠',
2071
+ 'gt': '>',
2072
+ 'lt': '<',
2073
+ 'gte': '≥',
2074
+ 'lte': '≤'
2075
+ };
2076
+ return symbols[operation] || operation;
2077
+ }
2078
+ _getOperationDisplayName(operation) {
2079
+ const names = {
2080
+ 'contains': 'Contains',
2081
+ 'ncontains': 'Does not contain',
2082
+ 'eq': 'Equals',
2083
+ 'neq': 'Not equals',
2084
+ 'gt': 'Greater than',
2085
+ 'lt': 'Less than',
2086
+ 'gte': 'Greater than or equal',
2087
+ 'lte': 'Less than or equal',
2088
+ 'blank': 'Is blank',
2089
+ 'not-blank': 'Is not blank',
2090
+ 'between': 'Between',
2091
+ 'not-between': 'Not between'
2092
+ };
2093
+ return names[operation] || operation;
2094
+ }
2095
+ _getColumnSortOrder() {
2096
+ // Sort by column name for consistent ordering
2097
+ return String(this.state.columnProp).charCodeAt(0);
2098
+ }
2099
+ }
2100
+
2101
+ /**
2102
+ * Strings used for columns created and managed
2103
+ * by the datatable.
2104
+ */
2105
+ const INTERNAL_COLUMN_PROPS = [
2106
+ ACTION_MENU_COLUMN_PROP,
2107
+ CHECKBOX_COLUMN_PROP
2108
+ ];
2109
+ function isInternalColumn(column) {
2110
+ return INTERNAL_COLUMN_PROPS.findIndex(p => getColumnProp(column) === p) !== -1;
2111
+ }
2112
+
2113
+ class OrderColumnsAlteration extends ColumnsAlteration {
2114
+ id;
2115
+ type = 'order';
2116
+ constructor(state, persistent) {
2117
+ super(state, persistent);
2118
+ if (!this._isValidState(state)) {
2119
+ throw Error(`Invalid state: ${JSON.stringify(state)}`);
2120
+ }
2121
+ this.id = `${this.type}`;
2122
+ }
2123
+ apply(columns, datatable) {
2124
+ if (this.state.columns.length === 0) {
2125
+ return;
2126
+ }
2127
+ const stateColumns = this._stateColumns();
2128
+ // The internal columns are not intended for a user to be able to move them.
2129
+ // Store the internal columns current index, so it can be moved back ofter
2130
+ // sorting. This may not be the best way to do this, but it is easier than
2131
+ // making a sort that avoids them.
2132
+ //
2133
+ // NOTE: If we add an internal column that can be moved then this will need
2134
+ // to be changed.
2135
+ const internalColumns = columns
2136
+ .map((column, index) => ({ column, index }))
2137
+ .filter(x => isInternalColumn(x.column));
2138
+ for (const c of stateColumns) {
2139
+ const currentIndex = columns.findIndex(x => getColumnProp(x) === c.columnProp);
2140
+ if (currentIndex === c.index || currentIndex === -1) {
2141
+ // Skip if already at correct index.
2142
+ // Skip columns not found. It may be a column that was removed from the
2143
+ // table, but we still want to handle the other columns.
2144
+ continue;
2145
+ }
2146
+ arrayMoveMutable(columns, currentIndex, c.index);
2147
+ }
2148
+ for (const c of internalColumns) {
2149
+ const currentIndex = columns.findIndex(col => col === c.column);
2150
+ if (currentIndex !== -1) {
2151
+ arrayMoveMutable(columns, currentIndex, c.index);
2152
+ }
2153
+ else {
2154
+ if (isDevMode()) {
2155
+ // eslint-disable-next-line no-console
2156
+ console.warn(`Internal column could not be found after sorting. Was it lost during the sorting?`);
2157
+ }
2158
+ }
2159
+ }
2160
+ }
2161
+ toDisplayItem() {
2162
+ const summary = this._createOrderSummary();
2163
+ const details = this._createOrderDetails();
2164
+ return {
2165
+ id: this.id,
2166
+ type: this.type,
2167
+ summary,
2168
+ details,
2169
+ sortOrder: 0
2170
+ };
2171
+ }
2172
+ getDisplaySortOrder() {
2173
+ return 0; // Only one order alteration per table
2174
+ }
2175
+ _isValidState(state) {
2176
+ // NOTE: Checking null or undefined, even though the type doesn't allow,
2177
+ // because the state may have been loaded from an invalid persistant
2178
+ // storage.
2179
+ // TODO: Remove when state validation/migration is implemented to happen
2180
+ // when retrieved from storage.
2181
+ if (!notNullOrUndefined(state.columns)) {
2182
+ return false;
2183
+ }
2184
+ // NOTE: Didn't iterate each column record, because it is probably better to
2185
+ // just skip to invalid column records. It does prevent being able to
2186
+ // validate the whole state though.
2187
+ return true;
2188
+ }
2189
+ _isColumnOrderRecordValid(columnOrder) {
2190
+ return notNullOrUndefined(columnOrder.columnProp) && notNullOrUndefined(columnOrder.index);
2191
+ }
2192
+ _stateColumns() {
2193
+ return this.state.columns.filter(c => {
2194
+ if (!this._isColumnOrderRecordValid(c)) {
2195
+ if (isDevMode()) {
2196
+ // eslint-disable-next-line no-console
2197
+ console.warn('Invalid column order record', c);
2198
+ }
2199
+ return false;
2200
+ }
2201
+ return true;
2202
+ }).sort((a, b) => a.index === b.index ? 0 : a.index > b.index ? 1 : -1);
2203
+ }
2204
+ _createOrderSummary() {
2205
+ if (this.state.columns.length === 0) {
2206
+ return 'Default column order';
2207
+ }
2208
+ const reorderedCount = this.state.columns.length;
2209
+ return `${reorderedCount} column${reorderedCount === 1 ? '' : 's'} reordered`;
2210
+ }
2211
+ _createOrderDetails() {
2212
+ if (this.state.columns.length === 0) {
2213
+ return ['Columns are in their default order'];
2214
+ }
2215
+ const sortedColumns = this._stateColumns();
2216
+ return sortedColumns.map(col => `${col.columnProp}: Position ${col.index + 1}`);
2217
+ }
2218
+ }
2219
+
2220
+ function mapColumnsAlterationsStates(states) {
2221
+ const alterations = [];
2222
+ for (const state of states) {
2223
+ try {
2224
+ switch (state.type) {
2225
+ case 'filter':
2226
+ alterations.push(new FilterColumnsAlteration(state.state, true));
2227
+ break;
2228
+ case 'hide-column':
2229
+ alterations.push(new HideColumnColumnsAlteration(state.state, true));
2230
+ break;
2231
+ case 'width':
2232
+ alterations.push(new WidthColumnsAlteration(state.state, true));
2233
+ break;
2234
+ case 'order':
2235
+ alterations.push(new OrderColumnsAlteration(state.state, true));
2236
+ break;
2237
+ case 'sort':
2238
+ alterations.push(new SortColumnsAlteration(state.state, true));
2239
+ break;
2240
+ default: {
2241
+ if (isDevMode()) {
2242
+ // eslint-disable-next-line no-console
2243
+ console.warn('Unrecognized ColumnsAlteration state', state);
2244
+ }
2245
+ }
2246
+ }
2247
+ }
2248
+ catch (e) {
2249
+ if (isDevMode()) {
2250
+ // eslint-disable-next-line no-console
2251
+ console.warn('Unable to map ColumnsAlteration state', state);
2252
+ // eslint-disable-next-line no-console
2253
+ console.warn(e);
2254
+ }
2255
+ }
2256
+ }
2257
+ return alterations;
2258
+ }
2259
+
2260
+ const ActionItemColumnPosition = ['frozenLeft', 'frozenRight', 'staticLeft', 'staticRight'];
2261
+ function isActionItemColumnPosition(input) {
2262
+ return ActionItemColumnPosition.indexOf(input) != -1;
2263
+ }
2264
+
2265
+ const THESEAM_DATATABLE_CONFIG = new InjectionToken('TheSeamDatatableConfig');
2266
+
2267
+ class DatatableColumnFilterTplDirective {
2268
+ template;
2269
+ constructor(template) {
2270
+ this.template = template;
2271
+ }
2272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2273
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnFilterTplDirective, isStandalone: false, selector: "[seamDatatableColumnFilterTpl]", ngImport: i0 });
2274
+ }
2275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterTplDirective, decorators: [{
2276
+ type: Directive,
2277
+ args: [{
2278
+ selector: '[seamDatatableColumnFilterTpl]',
2279
+ standalone: false
2280
+ }]
2281
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
2282
+
2283
+ class TheSeamDatatableColumnFilterDirective {
2284
+ filterName;
2285
+ // eslint-disable-next-line @angular-eslint/no-input-rename
2286
+ _templateInput;
2287
+ _templateQuery;
2288
+ get template() {
2289
+ return this._templateInput || this._templateQuery;
2290
+ }
2291
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableColumnFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2292
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: TheSeamDatatableColumnFilterDirective, isStandalone: false, selector: "seam-datatable-column-filter", inputs: { filterName: "filterName", _templateInput: ["template", "_templateInput"] }, queries: [{ propertyName: "_templateQuery", first: true, predicate: DatatableColumnFilterTplDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
2293
+ }
2294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableColumnFilterDirective, decorators: [{
2295
+ type: Directive,
2296
+ args: [{
2297
+ // eslint-disable-next-line @angular-eslint/directive-selector
2298
+ selector: 'seam-datatable-column-filter',
2299
+ standalone: false
2300
+ }]
2301
+ }], propDecorators: { filterName: [{
2302
+ type: Input
2303
+ }], _templateInput: [{
2304
+ type: Input,
2305
+ args: ['template']
2306
+ }], _templateQuery: [{
2307
+ type: ContentChild,
2308
+ args: [DatatableColumnFilterTplDirective, { read: TemplateRef, static: true }]
2309
+ }] } });
2310
+
2311
+ const CURRENT_DATATABLE_PREFERENCES_VERSION = 2;
2312
+ const EMPTY_DATATABLE_PREFERENCES = {
2313
+ version: 2,
2314
+ alterations: []
2315
+ };
2316
+
2317
+ const THESEAM_DATATABLE_PREFERENCES_ACCESSOR = new InjectionToken('TheSeamDatatablePreferencesAccessor');
2318
+
2319
+ class DatatablePreferencesService {
2320
+ _preferencesManager;
2321
+ _prefsAccessor;
2322
+ // TODO: Remove the need for this internal pending flag. I only kept it for
2323
+ // backwards compatibility, until better tests are added to make sure if isn't
2324
+ // neccessary anymore.
2325
+ /**
2326
+ * Used to prevent multiple updates from happening at the same time, but it is not per key.
2327
+ */
2328
+ _pending = false;
2329
+ constructor(_preferencesManager, _prefsAccessor) {
2330
+ this._preferencesManager = _preferencesManager;
2331
+ this._prefsAccessor = _prefsAccessor;
2332
+ }
2333
+ isPending(preferenceKey) {
2334
+ return this._pending || this._preferencesManager.isPending(preferenceKey);
2335
+ }
2336
+ isLoaded(preferenceKey) {
2337
+ if (this._pending) {
2338
+ return false;
2339
+ }
2340
+ return this._preferencesManager.isLoaded(preferenceKey);
2341
+ }
2342
+ preferences(preferenceKey) {
2343
+ if (!this._prefsAccessor) {
2344
+ return of(JSON.parse(JSON.stringify(EMPTY_DATATABLE_PREFERENCES)));
2345
+ }
2346
+ return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_DATATABLE_PREFERENCES).pipe(map(prefs => {
2347
+ if (this._isValidDatatablePreferences(prefs)) {
2348
+ return prefs;
2349
+ }
2350
+ throw Error(`Preferences for key '${preferenceKey}' is not a valid datatable preferences.`);
2351
+ }));
2352
+ }
2353
+ refresh(preferenceKey) {
2354
+ this._preferencesManager.refresh(preferenceKey);
2355
+ }
2356
+ setAlterations(preferenceKey, alterations) {
2357
+ if (!this._prefsAccessor) {
2358
+ return;
2359
+ }
2360
+ this._pending = true;
2361
+ this.preferences(preferenceKey).pipe(map(prefs => {
2362
+ // Making the preferences immutable may not be necessary, but for now
2363
+ // this obj->str->obj will work as a naive clone.
2364
+ // const columns = JSON.parse(JSON.stringify(prefs.columns || []))
2365
+ // const _colPref = columns.find((c: any) => c.prop === column.prop)
2366
+ // // console.log('has', _colPref)
2367
+ // if (_colPref) {
2368
+ // // console.log('hasProperty(column, "width"))', hasProperty(column, 'width'))
2369
+ // if (hasProperty(column, 'width')) { _colPref.width = column.width }
2370
+ // if (hasProperty(column, 'canAutoResize')) { _colPref.canAutoResize = column.canAutoResize }
2371
+ // if (hasProperty(column, 'hidden')) { _colPref.hidden = column.hidden }
2372
+ // } else {
2373
+ // columns.push({ ...column })
2374
+ // }
2375
+ // const newPrefs: TheSeamDatatablePreferences = { ...prefs, columns }
2376
+ // return newPrefs
2377
+ const newPrefs = {
2378
+ ...EMPTY_DATATABLE_PREFERENCES,
2379
+ alterations
2380
+ };
2381
+ this._pending = false;
2382
+ return newPrefs;
2383
+ }),
2384
+ // tap(v => console.log('newPrefs', v)),
2385
+ take(1), switchMap(newPrefs => this._prefsAccessor
2386
+ ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))
2387
+ : of(newPrefs)), tap(() => this.refresh(preferenceKey)))
2388
+ .subscribe();
2389
+ }
2390
+ _isValidDatatablePreferences(prefs) {
2391
+ return prefs.version === CURRENT_DATATABLE_PREFERENCES_VERSION;
2392
+ }
2393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatablePreferencesService, deps: [{ token: i1$1.TheSeamPreferencesManagerService }, { token: THESEAM_DATATABLE_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2394
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatablePreferencesService, providedIn: 'root' });
2395
+ }
2396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatablePreferencesService, decorators: [{
2397
+ type: Injectable,
2398
+ args: [{
2399
+ providedIn: 'root'
2400
+ }]
2401
+ }], ctorParameters: () => [{ type: i1$1.TheSeamPreferencesManagerService }, { type: undefined, decorators: [{
2402
+ type: Optional
2403
+ }, {
2404
+ type: Inject,
2405
+ args: [THESEAM_DATATABLE_PREFERENCES_ACCESSOR]
2406
+ }] }] });
2407
+
2408
+ class DatatableColumnFilterSearchTextComponent {
2409
+ searchTypes = [
2410
+ { label: 'Contains', value: 'contains' },
2411
+ { label: 'Does not contain', value: 'ncontains' },
2412
+ { label: 'Matches exactly', value: 'eq' },
2413
+ { label: 'Does not match exactly', value: 'neq' },
2414
+ { label: 'Is blank', value: 'blank' },
2415
+ { label: 'Is not blank', value: 'not-blank' },
2416
+ ];
2417
+ filterForm;
2418
+ showTextbox$;
2419
+ ngOnInit() {
2420
+ this.showTextbox$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith$1(this.filterForm?.controls.searchType.value), map$1(value => THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES.includes(value || '')));
2421
+ }
2422
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2423
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnFilterSearchTextComponent, isStandalone: false, selector: "seam-datatable-column-filter-search-text", inputs: { filterForm: "filterForm" }, ngImport: i0, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n seamAutoFocus\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n <ng-container *ngIf=\"showTextbox$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n <!-- TODO: implement this? Does not work with current Seam GraphQL/SQL Server implementation. -->\n <!-- <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <seam-checkbox seamInput formControlName=\"caseSensitive\">Case Sensitive</seam-checkbox>\n </seam-form-field> -->\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "directive", type: i2$2.TheSeamNgSelectExtraDirective, selector: "ng-select", exportAs: ["seamNgSelectExtra"] }, { kind: "component", type: i3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], viewProviders: [
2424
+ {
2425
+ provide: ControlContainer,
2426
+ useExisting: FormGroupDirective
2427
+ }
2428
+ ] });
2429
+ }
2430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchTextComponent, decorators: [{
2431
+ type: Component,
2432
+ args: [{ selector: 'seam-datatable-column-filter-search-text', viewProviders: [
2433
+ {
2434
+ provide: ControlContainer,
2435
+ useExisting: FormGroupDirective
2436
+ }
2437
+ ], standalone: false, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n seamAutoFocus\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n <ng-container *ngIf=\"showTextbox$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n <!-- TODO: implement this? Does not work with current Seam GraphQL/SQL Server implementation. -->\n <!-- <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <seam-checkbox seamInput formControlName=\"caseSensitive\">Case Sensitive</seam-checkbox>\n </seam-form-field> -->\n </ng-container>\n</ng-container>\n" }]
2438
+ }], propDecorators: { filterForm: [{
2439
+ type: Input
2440
+ }] } });
2441
+
2442
+ class DatatableColumnFilterSearchNumericComponent {
2443
+ searchTypes = [
2444
+ { label: 'Less than (<)', value: 'lt' },
2445
+ { label: 'Less than or equal to (<=)', value: 'lte' },
2446
+ { label: 'Equal to (=)', value: 'eq' },
2447
+ { label: 'Greater than (>)', value: 'gt' },
2448
+ { label: 'Greater than or equal to (>=)', value: 'gte' },
2449
+ { label: 'Between', value: 'between' },
2450
+ { label: 'Not between', value: 'not-between' },
2451
+ { label: 'Blank', value: 'blank' },
2452
+ { label: 'Not blank', value: 'not-blank' },
2453
+ ];
2454
+ filterForm;
2455
+ showSearchInput$;
2456
+ showRangeInputs$;
2457
+ ngOnInit() {
2458
+ this.showSearchInput$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith$1(this.filterForm?.controls.searchType.value), map$1(searchType => THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(searchType || '')));
2459
+ this.showRangeInputs$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith$1(this.filterForm?.controls.searchType.value), map$1(searchType => THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(searchType || '')));
2460
+ }
2461
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchNumericComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2462
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnFilterSearchNumericComponent, isStandalone: false, selector: "seam-datatable-column-filter-search-numeric", inputs: { filterForm: "filterForm" }, ngImport: i0, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "directive", type: i2$2.TheSeamNgSelectExtraDirective, selector: "ng-select", exportAs: ["seamNgSelectExtra"] }, { kind: "component", type: i3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], viewProviders: [
2463
+ {
2464
+ provide: ControlContainer,
2465
+ useExisting: FormGroupDirective
2466
+ }
2467
+ ] });
2468
+ }
2469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchNumericComponent, decorators: [{
2470
+ type: Component,
2471
+ args: [{ selector: 'seam-datatable-column-filter-search-numeric', viewProviders: [
2472
+ {
2473
+ provide: ControlContainer,
2474
+ useExisting: FormGroupDirective
2475
+ }
2476
+ ], standalone: false, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n" }]
2477
+ }], propDecorators: { filterForm: [{
2478
+ type: Input
2479
+ }] } });
2480
+
2481
+ class DatatableColumnFilterSearchDateComponent {
2482
+ searchTypes = [
2483
+ { label: 'Before', value: 'lt' },
2484
+ { label: 'Before or on', value: 'lte' },
2485
+ { label: 'On', value: 'eq' },
2486
+ { label: 'After', value: 'gt' },
2487
+ { label: 'After or on', value: 'gte' },
2488
+ { label: 'Between', value: 'between' },
2489
+ { label: 'Not between', value: 'not-between' },
2490
+ { label: 'Blank', value: 'blank' },
2491
+ { label: 'Not blank', value: 'not-blank' },
2492
+ ];
2493
+ options;
2494
+ filterForm;
2495
+ dateFormat;
2496
+ showSearchInput$;
2497
+ showRangeInputs$;
2498
+ ngOnInit() {
2499
+ if (notNullOrUndefined(this.options?.dateType)) {
2500
+ this.dateFormat = this.options?.dateType;
2501
+ }
2502
+ this.showSearchInput$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith$1(this.filterForm?.controls.searchType.value), map$1(searchType => THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(searchType || '')));
2503
+ this.showRangeInputs$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith$1(this.filterForm?.controls.searchType.value), map$1(searchType => THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(searchType || '')));
2504
+ }
2505
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2506
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnFilterSearchDateComponent, isStandalone: false, selector: "seam-datatable-column-filter-search-date", inputs: { options: "options", filterForm: "filterForm" }, ngImport: i0, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "directive", type: i2$2.TheSeamNgSelectExtraDirective, selector: "ng-select", exportAs: ["seamNgSelectExtra"] }, { kind: "component", type: i3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], viewProviders: [
2507
+ {
2508
+ provide: ControlContainer,
2509
+ useExisting: FormGroupDirective
2510
+ }
2511
+ ] });
2512
+ }
2513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterSearchDateComponent, decorators: [{
2514
+ type: Component,
2515
+ args: [{ selector: 'seam-datatable-column-filter-search-date', viewProviders: [
2516
+ {
2517
+ provide: ControlContainer,
2518
+ useExisting: FormGroupDirective
2519
+ }
2520
+ ], standalone: false, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n" }]
2521
+ }], propDecorators: { options: [{
2522
+ type: Input
2523
+ }], filterForm: [{
2524
+ type: Input
2525
+ }] } });
2526
+
2527
+ class DatatableColumnFilterMenuComponent {
2528
+ _columnsFilters;
2529
+ _filterForm;
2530
+ column;
2531
+ updateMethod;
2532
+ debounce;
2533
+ columnFilterProp;
2534
+ columnFilter;
2535
+ customFilterTemplate$;
2536
+ closePopover = new EventEmitter();
2537
+ constructor(_columnsFilters) {
2538
+ this._columnsFilters = _columnsFilters;
2539
+ }
2540
+ ngOnInit() {
2541
+ this.columnFilterProp = this._columnsFilters.getColumnFilterProp(this.column);
2542
+ this.columnFilter = this._columnsFilters.getColumnFilter(this.columnFilterProp);
2543
+ if (notNullOrUndefined(this.columnFilter)) {
2544
+ this._filterForm = this.columnFilter.form;
2545
+ }
2546
+ this.customFilterTemplate$ = this._columnsFilters.columnFilterTemplates$.pipe(map$1(templates => templates.find(t => t.filterName === this.columnFilter?.name)));
2547
+ if (this.updateMethod === 'valueChanges' && notNullOrUndefined(this._filterForm)) {
2548
+ this._filterForm.valueChanges.pipe(debounceTime(this.debounce || 0), tap$1(() => this.columnFilter?.applyFilter())).subscribe();
2549
+ }
2550
+ }
2551
+ submit() {
2552
+ this.columnFilter?.applyFilter();
2553
+ this.closePopover.emit();
2554
+ }
2555
+ clearFilter() {
2556
+ this.columnFilter?.clearFilter();
2557
+ }
2558
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterMenuComponent, deps: [{ token: ColumnsFiltersService }], target: i0.ɵɵFactoryTarget.Component });
2559
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnFilterMenuComponent, isStandalone: false, selector: "seam-datatable-column-filter-menu", inputs: { column: "column", updateMethod: "updateMethod", debounce: "debounce" }, outputs: { closePopover: "closePopover" }, ngImport: i0, template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date [filterForm]=\"_filterForm\" [options]=\"columnFilter.options\"></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: _filterForm, filterForm: _filterForm, options: columnFilter.options, column: column, columnFilter: columnFilter }\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\">\n <div class=\"d-flex align-items-center\" [class.justify-content-between]=\"updateMethod === 'submit'\" [class.text-right]=\"updateMethod === 'valueChanges'\">\n <button seamButton size=\"sm\" class=\"text-primary p-0\" (click)=\"clearFilter()\" [disabled]=\"columnFilter?.isDefault() === true\">Clear</button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\">\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "directive", type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DatatableColumnFilterSearchTextComponent, selector: "seam-datatable-column-filter-search-text", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchNumericComponent, selector: "seam-datatable-column-filter-search-numeric", inputs: ["filterForm"] }, { kind: "component", type: DatatableColumnFilterSearchDateComponent, selector: "seam-datatable-column-filter-search-date", inputs: ["options", "filterForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }] });
2560
+ }
2561
+ __decorate([
2562
+ InputNumber()
2563
+ ], DatatableColumnFilterMenuComponent.prototype, "debounce", void 0);
2564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnFilterMenuComponent, decorators: [{
2565
+ type: Component,
2566
+ args: [{ selector: 'seam-datatable-column-filter-menu', standalone: false, template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date [filterForm]=\"_filterForm\" [options]=\"columnFilter.options\"></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: _filterForm, filterForm: _filterForm, options: columnFilter.options, column: column, columnFilter: columnFilter }\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\">\n <div class=\"d-flex align-items-center\" [class.justify-content-between]=\"updateMethod === 'submit'\" [class.text-right]=\"updateMethod === 'valueChanges'\">\n <button seamButton size=\"sm\" class=\"text-primary p-0\" (click)=\"clearFilter()\" [disabled]=\"columnFilter?.isDefault() === true\">Clear</button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\">\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n" }]
2567
+ }], ctorParameters: () => [{ type: ColumnsFiltersService }], propDecorators: { column: [{
2568
+ type: Input
2569
+ }], updateMethod: [{
2570
+ type: Input
2571
+ }], debounce: [{
2572
+ type: Input
2573
+ }], closePopover: [{
2574
+ type: Output
2575
+ }] } });
2576
+
2577
+ /**
2578
+ * Intended for internal classes declared by the `TheSeamDatatableModule`.
2579
+ */
2580
+ const THESEAM_DATATABLE = new InjectionToken('LibDatatable');
2581
+ const _THESEAM_DATATABLE = {
2582
+ provide: THESEAM_DATATABLE,
2583
+ useExisting: forwardRef(() => DatatableComponent)
2584
+ };
2585
+ const _THESEAM_DATATABLE_ACCESSOR = {
2586
+ provide: THESEAM_DATATABLE_ACCESSOR,
2587
+ // tslint:disable-next-line:no-use-before-declare
2588
+ useExisting: forwardRef(() => DatatableComponent)
2589
+ };
2590
+ class DatatableComponent {
2591
+ _preferences;
2592
+ _columnsManager;
2593
+ _columnsAlterationsManager;
2594
+ _columnsFilters;
2595
+ _config;
2596
+ static ngAcceptInputType_externalPaging;
2597
+ static ngAcceptInputType_externalSorting;
2598
+ static ngAcceptInputType_externalFiltering;
2599
+ static ngAcceptInputType_loadingIndicator;
2600
+ static ngAcceptInputType_reorderable;
2601
+ static ngAcceptInputType_swapColumns;
2602
+ static ngAcceptInputType_groupExpansionDefault;
2603
+ static ngAcceptInputType_selectAllRowsOnPage;
2604
+ static ngAcceptInputType_summaryRow;
2605
+ static ngAcceptInputType_virtualization;
2606
+ static ngAcceptInputType_scrollbarV;
2607
+ static ngAcceptInputType_scrollbarH;
2608
+ static ngAcceptInputType_limit;
2609
+ static ngAcceptInputType_count;
2610
+ static ngAcceptInputType_offset;
2611
+ static ngAcceptInputType_headerHeight;
2612
+ static ngAcceptInputType_rowHeight;
2613
+ static ngAcceptInputType_footerHeight;
2614
+ static ngAcceptInputType_summaryHeight;
2615
+ static ngAcceptInputType_columns;
2616
+ static ngAcceptInputType_sorts;
2617
+ _faChevronDown = faChevronDown;
2618
+ _faChevronRight = faChevronRight;
2619
+ _faSpinner = faSpinner;
2620
+ _cdr = inject(ChangeDetectorRef);
2621
+ _ngUnsubscribe = new Subject();
2622
+ _menuBarsFiltersSubject = new BehaviorSubject([]);
2623
+ _dataSourceSubject = new BehaviorSubject(undefined);
2624
+ _resizing = {};
2625
+ filterStates;
2626
+ get filters() {
2627
+ return [
2628
+ ...this._menuBarsFiltersSubject.value,
2629
+ ...this._columnsFilters.filters()
2630
+ ];
2631
+ }
2632
+ filters$;
2633
+ get preferencesKey() { return this._preferencesKey.value; }
2634
+ set preferencesKey(value) { this._preferencesKey.next(value || undefined); }
2635
+ _preferencesKey = new BehaviorSubject(undefined);
2636
+ targetMarkerTemplate;
2637
+ set columns(value) {
2638
+ this._columnsManager.setInputColumns(Array.isArray(value) ? value : []);
2639
+ }
2640
+ get rows() { return this._rows.value; }
2641
+ set rows(value) {
2642
+ this._rows.next(value || []);
2643
+ }
2644
+ _rows = new BehaviorSubject([]);
2645
+ rows$;
2646
+ columnMode = ColumnMode.force;
2647
+ groupRowsBy;
2648
+ groupedRows;
2649
+ selected = [];
2650
+ externalPaging = false;
2651
+ externalSorting = false;
2652
+ externalFiltering = false;
2653
+ limit;
2654
+ count = 0;
2655
+ offset = 0;
2656
+ loadingIndicator = false;
2657
+ get selectionType() { return this._columnsManager.getSelectionType(); }
2658
+ set selectionType(value) {
2659
+ this._columnsManager.setSelectionType(notNullOrUndefined(value) ? value : undefined);
2660
+ }
2661
+ reorderable = true;
2662
+ swapColumns = false;
2663
+ get sortType() { return this._sortType; }
2664
+ set sortType(value) {
2665
+ if (notNullOrUndefined(value) && (value === SortType.single || value === SortType.multi)) {
2666
+ this._sortType = value;
2667
+ }
2668
+ else {
2669
+ this._sortType = SortType.single;
2670
+ }
2671
+ }
2672
+ _sortType = SortType.single;
2673
+ get sorts() {
2674
+ return this.ngxDatatable ? this.ngxDatatable.sorts : this._sorts;
2675
+ }
2676
+ set sorts(value) {
2677
+ this._sorts = notNullOrUndefined(value) ? coerceArray(value) : [];
2678
+ }
2679
+ _sorts = [];
2680
+ get cssClasses() {
2681
+ return this._cssClasses;
2682
+ }
2683
+ set cssClasses(value) {
2684
+ if (notNullOrUndefined(value)) {
2685
+ this._cssClasses = value;
2686
+ }
2687
+ else if (notNullOrUndefined(this._config?.cssClasses)) {
2688
+ this._cssClasses = this._config?.cssClasses;
2689
+ }
2690
+ else {
2691
+ this._cssClasses = this._cssClassesDefault;
2692
+ }
2693
+ }
2694
+ _cssClassesDefault = {
2695
+ sortAscending: 'datatable-icon-up',
2696
+ sortDescending: 'datatable-icon-down',
2697
+ pagerLeftArrow: 'datatable-icon-left',
2698
+ pagerRightArrow: 'datatable-icon-right',
2699
+ pagerPrevious: 'datatable-icon-prev',
2700
+ pagerNext: 'datatable-icon-skip'
2701
+ };
2702
+ _cssClasses;
2703
+ get messages() {
2704
+ return this._messages;
2705
+ }
2706
+ set messages(value) {
2707
+ if (notNullOrUndefined(value)) {
2708
+ this._messages = value;
2709
+ }
2710
+ else if (notNullOrUndefined(this._config?.messages)) {
2711
+ this._messages = {
2712
+ ...this._messagesDefault,
2713
+ ...this._config?.messages
2714
+ };
2715
+ }
2716
+ else {
2717
+ this._messages = this._messagesDefault;
2718
+ }
2719
+ }
2720
+ _messagesDefault = {
2721
+ // Message to show when array is presented
2722
+ // but contains no values
2723
+ emptyMessage: 'No records found',
2724
+ // Footer total message
2725
+ totalMessage: 'total',
2726
+ // Footer selected message
2727
+ selectedMessage: 'selected'
2728
+ };
2729
+ _messages;
2730
+ rowIdentity = (x) => x;
2731
+ rowClass;
2732
+ selectCheck;
2733
+ displayCheck;
2734
+ groupExpansionDefault = false;
2735
+ trackByProp;
2736
+ selectAllRowsOnPage = false;
2737
+ treeFromRelation;
2738
+ treeToRelation;
2739
+ summaryRow = false;
2740
+ summaryHeight = 30;
2741
+ summaryPosition = 'top';
2742
+ virtualization = true;
2743
+ get headerHeight() {
2744
+ return this._headerHeight;
2745
+ }
2746
+ set headerHeight(value) {
2747
+ if (notNullOrUndefined(value)) {
2748
+ this._headerHeight = value;
2749
+ }
2750
+ else if (notNullOrUndefined(this._config?.headerHeight)) {
2751
+ this._headerHeight = this._config?.headerHeight;
2752
+ }
2753
+ else {
2754
+ this._headerHeight = this._headerHeightDefault;
2755
+ }
2756
+ }
2757
+ _headerHeightDefault = 50;
2758
+ _headerHeight;
2759
+ get rowHeight() {
2760
+ return this._rowHeight;
2761
+ }
2762
+ set rowHeight(value) {
2763
+ if (notNullOrUndefined(value)) {
2764
+ this._rowHeight = value;
2765
+ }
2766
+ else if (notNullOrUndefined(this._config?.rowHeight)) {
2767
+ this._rowHeight = this._config?.rowHeight;
2768
+ }
2769
+ else {
2770
+ this._rowHeight = this._rowHeightDefault;
2771
+ }
2772
+ }
2773
+ _rowHeightDefault = 50;
2774
+ _rowHeight;
2775
+ get footerHeight() {
2776
+ return this._footerHeight;
2777
+ }
2778
+ set footerHeight(value) {
2779
+ if (notNullOrUndefined(value)) {
2780
+ this._footerHeight = value;
2781
+ }
2782
+ else if (notNullOrUndefined(this._config?.footerHeight)) {
2783
+ this._footerHeight = this._config?.footerHeight;
2784
+ }
2785
+ else {
2786
+ this._footerHeight = this._footerHeightDefault;
2787
+ }
2788
+ }
2789
+ _footerHeightDefault = 40;
2790
+ _footerHeight;
2791
+ scrollbarV = true;
2792
+ scrollbarH = true;
2793
+ set dataSource(value) {
2794
+ if (value instanceof DatatableDataSource) {
2795
+ value.setDatatableAccessor(this);
2796
+ }
2797
+ this._dataSourceSubject.next(value || undefined);
2798
+ }
2799
+ /**
2800
+ * Sets position behavior for optional Action Menu Button column.
2801
+ *
2802
+ * Defaults to `frozenRight`.
2803
+ */
2804
+ get actionItemColumnPosition() { return this._actionItemColumnPosition; }
2805
+ set actionItemColumnPosition(value) {
2806
+ if (notNullOrUndefined(value) && isActionItemColumnPosition(value)) {
2807
+ this._actionItemColumnPosition = value;
2808
+ }
2809
+ else if (notNullOrUndefined(this._config?.actionItemColumnPosition) && isActionItemColumnPosition(this._config?.actionItemColumnPosition)) {
2810
+ this._actionItemColumnPosition = this._config?.actionItemColumnPosition;
2811
+ }
2812
+ else {
2813
+ this._actionItemColumnPosition = this._actionItemColumnPositionDefault;
2814
+ }
2815
+ this._columnsManager.setActionItemColumnPosition(this._actionItemColumnPosition);
2816
+ }
2817
+ _actionItemColumnPositionDefault = 'frozenRight';
2818
+ _actionItemColumnPosition;
2819
+ get columnFilterIcon() {
2820
+ return this._columnFilterIcon;
2821
+ }
2822
+ set columnFilterIcon(value) {
2823
+ if (notNullOrUndefined(value)) {
2824
+ this._columnFilterIcon = value;
2825
+ }
2826
+ else if (notNullOrUndefined(this._config?.columnFilterIcon)) {
2827
+ this._columnFilterIcon = this._config?.columnFilterIcon;
2828
+ }
2829
+ else {
2830
+ this._columnFilterIcon = this._columnFilterIconDefault;
2831
+ }
2832
+ }
2833
+ _columnFilterIconDefault = faFilter;
2834
+ _columnFilterIcon;
2835
+ get columnFilterUpdateMethod() {
2836
+ return this._columnFilterUpdateMethod;
2837
+ }
2838
+ set columnFilterUpdateMethod(value) {
2839
+ if (notNullOrUndefined(value)) {
2840
+ this._columnFilterUpdateMethod = value;
2841
+ }
2842
+ else if (notNullOrUndefined(this._config?.columnFilterUpdateMethod)) {
2843
+ this._columnFilterUpdateMethod = this._config?.columnFilterUpdateMethod;
2844
+ }
2845
+ else {
2846
+ this._columnFilterUpdateMethod = this._columnFilterUpdateMethodDefault;
2847
+ }
2848
+ }
2849
+ _columnFilterUpdateMethodDefault = 'valueChanges';
2850
+ _columnFilterUpdateMethod;
2851
+ get columnFilterUpdateDebounce() {
2852
+ return this._columnFilterUpdateDebounce;
2853
+ }
2854
+ set columnFilterUpdateDebounce(value) {
2855
+ if (notNullOrUndefined(value)) {
2856
+ this._columnFilterUpdateDebounce = value;
2857
+ }
2858
+ else if (notNullOrUndefined(this._config?.columnFilterUpdateDebounce)) {
2859
+ this._columnFilterUpdateDebounce = this._config?.columnFilterUpdateDebounce;
2860
+ }
2861
+ else {
2862
+ this._columnFilterUpdateDebounce = this._columnFilterUpdateDebounceDefault;
2863
+ }
2864
+ }
2865
+ _columnFilterUpdateDebounceDefault = 400;
2866
+ _columnFilterUpdateDebounce;
2867
+ // eslint-disable-next-line @angular-eslint/no-output-native
2868
+ scroll = new EventEmitter();
2869
+ activate = new EventEmitter();
2870
+ // eslint-disable-next-line @angular-eslint/no-output-native
2871
+ select = new EventEmitter();
2872
+ sort = new EventEmitter();
2873
+ page = new EventEmitter();
2874
+ reorder = new EventEmitter();
2875
+ // eslint-disable-next-line @angular-eslint/no-output-native
2876
+ resize = new EventEmitter();
2877
+ tableContextmenu = new EventEmitter(false);
2878
+ treeAction = new EventEmitter();
2879
+ actionRefreshRequest = new EventEmitter();
2880
+ hiddenColumnsChange = new EventEmitter();
2881
+ set columnComponents(value) {
2882
+ this._columnsManager.setTemplateColumns(translateTemplateColumns(value?.toArray() ?? []));
2883
+ }
2884
+ actionMenu;
2885
+ get rowActionItem() { return this._rowActionItem; }
2886
+ set rowActionItem(value) {
2887
+ this._rowActionItem = value;
2888
+ this._columnsManager.setRowActionItem(notNullOrUndefined(value) ? value : undefined);
2889
+ }
2890
+ _rowActionItem;
2891
+ rowDetail;
2892
+ footer;
2893
+ get menuBarComponent() { return this._menuBarComponent; }
2894
+ set menuBarComponent(value) {
2895
+ this._menuBarComponent = value;
2896
+ if (this._menuBarSub) {
2897
+ this._menuBarSub.unsubscribe();
2898
+ }
2899
+ if (value) {
2900
+ this._setMenuBarFilters(value.filters());
2901
+ this._menuBarSub = this._menuBarComponent?.filtersChanged
2902
+ .subscribe(() => { this._setMenuBarFilters(value.filters()); });
2903
+ }
2904
+ }
2905
+ _menuBarComponent;
2906
+ _menuBarSub;
2907
+ set columnFilterTemplates(value) {
2908
+ this._columnsFilters.setFilterTemplates(value?.toArray() ?? []);
2909
+ }
2910
+ ngxDatatable;
2911
+ ngxDatatableElement;
2912
+ ngxRowDetail;
2913
+ get actionMenuCellTpl() { return this._actionMenuCellTpl; }
2914
+ set actionMenuCellTpl(value) {
2915
+ this._actionMenuCellTpl = value;
2916
+ this._columnsManager.setActionMenuCellTpl(notNullOrUndefined(value) ? value : undefined);
2917
+ }
2918
+ _actionMenuCellTpl;
2919
+ get treeToggleTpl() { return this._treeToggleTpl; }
2920
+ set treeToggleTpl(value) {
2921
+ this._treeToggleTpl = value;
2922
+ this._columnsManager.setTreeToggleTpl(notNullOrUndefined(value) ? value : undefined);
2923
+ }
2924
+ _treeToggleTpl;
2925
+ get headerTpl() { return this._headerTpl; }
2926
+ set headerTpl(value) {
2927
+ this._headerTpl = value;
2928
+ this._columnsManager.setHeaderTpl(notNullOrUndefined(value) ? value : undefined);
2929
+ }
2930
+ _headerTpl;
2931
+ get blankHeaderTpl() { return this._blankHeaderTpl; }
2932
+ set blankHeaderTpl(value) {
2933
+ this._blankHeaderTpl = value;
2934
+ this._columnsManager.setBlankHeaderTpl(notNullOrUndefined(value) ? value : undefined);
2935
+ }
2936
+ _blankHeaderTpl;
2937
+ get cellTypeSelectorTpl() { return this._cellTypeSelectorTpl; }
2938
+ set cellTypeSelectorTpl(value) {
2939
+ this._cellTypeSelectorTpl = value;
2940
+ this._columnsManager.setCellTypeSelectorTpl(notNullOrUndefined(value) ? value : undefined);
2941
+ }
2942
+ _cellTypeSelectorTpl;
2943
+ columnComponents$;
2944
+ _colDiffersInp = {};
2945
+ _colDiffersTpl = {};
2946
+ columns$;
2947
+ displayColumns$;
2948
+ viewChange;
2949
+ _rowDetailToggleSubscription = Subscription.EMPTY;
2950
+ // TODO: Remove this DOM-dependent code when a way to property listen for
2951
+ // dblclick on the header reasize handles.
2952
+ _dblClick(event) {
2953
+ const isHandle = event.target.classList.contains('resize-handle');
2954
+ if (isHandle) {
2955
+ const isResizeable = event.target.parentElement?.classList.contains('resizeable');
2956
+ if (isResizeable) {
2957
+ event.stopPropagation();
2958
+ const id = event.target.parentElement
2959
+ ?.querySelector('.datatable-column-header-separator')
2960
+ ?.getAttribute('data-column-id');
2961
+ this._columnsManager.columns$.pipe(take(1)).subscribe(columns => {
2962
+ const column = columns.find(c => c.$$id === id);
2963
+ if (column) {
2964
+ const columnProp = getColumnProp(column);
2965
+ if (columnProp) {
2966
+ const alteration = new WidthColumnsAlteration({ columnProp, canAutoResize: true }, false);
2967
+ this._columnsAlterationsManager.add([alteration]);
2968
+ }
2969
+ }
2970
+ });
2971
+ }
2972
+ }
2973
+ }
2974
+ constructor(_preferences, _columnsManager, _columnsAlterationsManager, _columnsFilters, _config) {
2975
+ this._preferences = _preferences;
2976
+ this._columnsManager = _columnsManager;
2977
+ this._columnsAlterationsManager = _columnsAlterationsManager;
2978
+ this._columnsFilters = _columnsFilters;
2979
+ this._config = _config;
2980
+ this._preferencesKey.pipe(distinctUntilChanged(), switchMap(key => {
2981
+ if (!notNullOrUndefined(key) || key.length === 0) {
2982
+ return of(undefined);
2983
+ }
2984
+ return from(waitOnConditionAsync(() => this._preferences.isLoaded(key))).pipe(switchMap(() => this._columnsAlterationsManager.changes.pipe(startWith(undefined), tap(() => {
2985
+ console.log('%cSaving columns alterations to preferences', 'color: blue', this._columnsAlterationsManager.get());
2986
+ this._preferences.setAlterations(key, this._columnsAlterationsManager.get());
2987
+ }))));
2988
+ }), takeUntil(this._ngUnsubscribe)).subscribe();
2989
+ const applyPrefs = (cols) => this._columnsAlterationsManager.changes.pipe(startWith(undefined), map(() => {
2990
+ console.log('%cApplying columns alterations', 'color: blue', cols);
2991
+ this._columnsAlterationsManager.apply(cols, this);
2992
+ return cols;
2993
+ }));
2994
+ this._preferencesKey.pipe(distinctUntilChanged(), switchMap(prefsKey => {
2995
+ if (!notNullOrUndefined(prefsKey)) {
2996
+ return of(undefined);
2997
+ }
2998
+ return this._preferences.preferences(prefsKey).pipe(switchMap(async (preferences) => {
2999
+ await waitOnConditionAsync(() => this._preferences.isLoaded(prefsKey));
3000
+ return preferences;
3001
+ }), take(1), map(preferences => {
3002
+ let alterations = [];
3003
+ try {
3004
+ alterations = mapColumnsAlterationsStates(preferences.alterations);
3005
+ }
3006
+ catch (e) {
3007
+ if (isDevMode()) {
3008
+ // eslint-disable-next-line no-console
3009
+ console.warn('Unable to map columns alterations states');
3010
+ // eslint-disable-next-line no-console
3011
+ console.warn(e);
3012
+ }
3013
+ }
3014
+ console.log('%cSetting columns alterations from preferences', 'color: blue', alterations);
3015
+ this._columnsAlterationsManager.add(alterations);
3016
+ }));
3017
+ }), takeUntil(this._ngUnsubscribe)).subscribe();
3018
+ this.columns$ = combineLatest([this._columnsManager.columns$, this._columnsFilters.columnActiveFilterProps$]).pipe(map(([columns, columnActiveFilterProps]) => columns.map(col => ({
3019
+ ...col,
3020
+ filterActive: columnActiveFilterProps.includes(this._columnsFilters.getColumnFilterProp(col) || '')
3021
+ }))));
3022
+ this.displayColumns$ = this.columns$.pipe(switchMap(cols => applyPrefs(cols)), map(cols => cols.filter(c => !c.hidden)), tap(v => removeUnusedDiffs(v, this._colDiffersInp, this._colDiffersTpl)));
3023
+ this.filters$ = combineLatest([this._menuBarsFiltersSubject.asObservable(), this._columnsFilters.columnsFilters$]).pipe(map(([menuFilters, columnsFilters]) => [...menuFilters, ...columnsFilters]));
3024
+ this.filterStates = this.filters$.pipe(switchMap(filters => composeDataFilterStates(filters)));
3025
+ this.rows$ = this._dataSourceSubject.pipe(switchMap(dataSource => {
3026
+ // console.log('dataSource', dataSource)
3027
+ let dataStream;
3028
+ if (isDataSource(dataSource)) {
3029
+ // console.log('~datasource')
3030
+ dataStream = dataSource.connect(this);
3031
+ }
3032
+ else if (isObservable(dataSource)) {
3033
+ // console.log('~observable')
3034
+ dataStream = dataSource;
3035
+ }
3036
+ else if (Array.isArray(dataSource)) {
3037
+ // console.log('~array')
3038
+ dataStream = of(dataSource);
3039
+ }
3040
+ else {
3041
+ // console.log('~rows fallback')
3042
+ dataStream = this._rows.asObservable();
3043
+ // .pipe(tap(v => console.log('rows~', v)))
3044
+ }
3045
+ if (!this.externalFiltering) {
3046
+ // console.log('not using externalFiltering')
3047
+ dataStream = dataStream.pipe(switchMap(rows => this.filters$.pipe(
3048
+ // tap(v => console.log('filters', v)),
3049
+ concatMap(filters => of(rows).pipe(composeDataFilters(filters))))));
3050
+ // dataStream = this._filtersSubject.pipe(
3051
+ // tap(v => console.log('filters', v)),
3052
+ // concatMap(filters => dataStream.pipe(composeDataFilters(filters))),
3053
+ // tap(v => console.log('composed filters', v)),
3054
+ // )
3055
+ }
3056
+ return dataStream.pipe(
3057
+ // tap(v => console.log('stream', v)),
3058
+ takeUntil(this._ngUnsubscribe));
3059
+ }));
3060
+ // TODO: Implement viewChange for CollectionViewer.
3061
+ this.viewChange = this.page.pipe(map(p => ({ start: 0, end: p.count })));
3062
+ }
3063
+ ngOnInit() {
3064
+ if (this.rowDetail) {
3065
+ this._rowDetailToggleSubscription = this.rowDetail._toggle.subscribe(event => {
3066
+ if (this.ngxRowDetail) {
3067
+ this.ngxRowDetail.toggle.emit(event);
3068
+ }
3069
+ });
3070
+ }
3071
+ this._setDatatableConfigOrDefault();
3072
+ }
3073
+ /** Sets missing inputs from config */
3074
+ _setDatatableConfigOrDefault() {
3075
+ if (isNullOrUndefined(this.messages)) {
3076
+ this.messages = undefined;
3077
+ }
3078
+ if (isNullOrUndefined(this.headerHeight)) {
3079
+ this.headerHeight = undefined;
3080
+ }
3081
+ if (isNullOrUndefined(this.rowHeight)) {
3082
+ this.rowHeight = undefined;
3083
+ }
3084
+ if (isNullOrUndefined(this.footerHeight)) {
3085
+ this.footerHeight = undefined;
3086
+ }
3087
+ if (isNullOrUndefined(this.cssClasses)) {
3088
+ this.cssClasses = undefined;
3089
+ }
3090
+ if (isNullOrUndefined(this.columnFilterIcon)) {
3091
+ this.columnFilterIcon = undefined;
3092
+ }
3093
+ if (isNullOrUndefined(this.columnFilterUpdateMethod)) {
3094
+ this.columnFilterUpdateMethod = undefined;
3095
+ }
3096
+ if (isNullOrUndefined(this.columnFilterUpdateDebounce)) {
3097
+ this.columnFilterUpdateDebounce = undefined;
3098
+ }
3099
+ if (isNullOrUndefined(this.actionItemColumnPosition)) {
3100
+ this.actionItemColumnPosition = undefined;
3101
+ }
3102
+ }
3103
+ ngOnDestroy() {
3104
+ this._rowDetailToggleSubscription.unsubscribe();
3105
+ }
3106
+ _setMenuBarFilters(filters) {
3107
+ this._menuBarsFiltersSubject.next(filters || []);
3108
+ }
3109
+ getColumnComponent(propName) {
3110
+ if (!this.columnComponents || this.columnComponents.length === 0) {
3111
+ return null;
3112
+ }
3113
+ const tpl = this.columnComponents.find(t => t.prop === propName);
3114
+ if (tpl) {
3115
+ return tpl;
3116
+ }
3117
+ return null;
3118
+ }
3119
+ _columnData(col) {
3120
+ const comp = this.getColumnComponent(col.prop);
3121
+ return { col, comp };
3122
+ }
3123
+ _getRowExpanded(row) {
3124
+ if (this.ngxDatatable && this.ngxDatatable.bodyComponent) {
3125
+ return this.ngxDatatable.bodyComponent.getRowExpanded(row);
3126
+ }
3127
+ return false;
3128
+ }
3129
+ trackByFnColumn(index, item) {
3130
+ return item.prop;
3131
+ }
3132
+ onDatatableResize(event) {
3133
+ if (this.ngxDatatable && this.ngxDatatableElement && this.ngxDatatableElement.nativeElement) {
3134
+ // TODO: Consider integrating this into the ngx-datatable library to avoid
3135
+ // multiple resize calls when the table resizes itself.
3136
+ this.ngxDatatable.recalculate();
3137
+ }
3138
+ }
3139
+ _onResize(event) {
3140
+ this.resize.emit(event);
3141
+ if (!notNullOrUndefined(event.column)) {
3142
+ return;
3143
+ }
3144
+ const columnProp = getColumnProp(event.column);
3145
+ if (columnProp) {
3146
+ let addAlteration = false;
3147
+ if (!this._resizing[columnProp]) {
3148
+ this._resizing[columnProp] = true;
3149
+ addAlteration = true;
3150
+ }
3151
+ if (event.isDone) {
3152
+ this._resizing[columnProp] = false;
3153
+ addAlteration = true;
3154
+ }
3155
+ if (addAlteration) {
3156
+ const alteration = new WidthColumnsAlteration({
3157
+ columnProp,
3158
+ width: event.column.width,
3159
+ canAutoResize: false
3160
+ }, true);
3161
+ this._columnsAlterationsManager.add([alteration]);
3162
+ }
3163
+ }
3164
+ }
3165
+ _onReorder(event) {
3166
+ this.reorder.emit(event);
3167
+ const columnProp = getColumnProp(event.column);
3168
+ if (columnProp) {
3169
+ const currentOrderAlteration = this._columnsAlterationsManager.get().find(x => x.type === 'order');
3170
+ const state = {
3171
+ columns: [
3172
+ ...(currentOrderAlteration?.state.columns || []).filter((x) => x.columnProp !== columnProp),
3173
+ { columnProp, index: event.newValue }
3174
+ ]
3175
+ };
3176
+ const alteration = new OrderColumnsAlteration(state, true);
3177
+ this._columnsAlterationsManager.add([alteration]);
3178
+ }
3179
+ }
3180
+ _onSort(event) {
3181
+ this.sort.emit(event);
3182
+ const alteration = new SortColumnsAlteration({ sorts: event.sorts }, true);
3183
+ this._columnsAlterationsManager.add([alteration]);
3184
+ }
3185
+ _onTreeAction(event) {
3186
+ const index = event.rowIndex;
3187
+ const row = event.row;
3188
+ if (row.treeStatus === 'collapsed') {
3189
+ row.treeStatus = 'expanded';
3190
+ }
3191
+ else {
3192
+ row.treeStatus = 'collapsed';
3193
+ }
3194
+ this.rows = [...this.rows];
3195
+ }
3196
+ triggerActionRefreshRequest() {
3197
+ this.actionRefreshRequest.emit(undefined);
3198
+ }
3199
+ /**
3200
+ * Returns the page info from the wrapped NgxDatatable instance or defaults.
3201
+ */
3202
+ get pageInfo() {
3203
+ return {
3204
+ offset: this.ngxDatatable?.offset ?? 0,
3205
+ pageSize: this.ngxDatatable?.pageSize ?? 0,
3206
+ limit: this.ngxDatatable?.limit,
3207
+ count: this.ngxDatatable?.count ?? 0
3208
+ };
3209
+ }
3210
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableComponent, deps: [{ token: DatatablePreferencesService }, { token: ColumnsManagerService }, { token: ColumnsAlterationsManagerService }, { token: ColumnsFiltersService }, { token: THESEAM_DATATABLE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3211
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableComponent, isStandalone: false, selector: "seam-datatable", inputs: { preferencesKey: "preferencesKey", targetMarkerTemplate: "targetMarkerTemplate", columns: "columns", rows: "rows", columnMode: "columnMode", groupRowsBy: "groupRowsBy", groupedRows: "groupedRows", selected: "selected", externalPaging: "externalPaging", externalSorting: "externalSorting", externalFiltering: "externalFiltering", limit: "limit", count: "count", offset: "offset", loadingIndicator: "loadingIndicator", selectionType: "selectionType", reorderable: "reorderable", swapColumns: "swapColumns", sortType: "sortType", sorts: "sorts", cssClasses: "cssClasses", messages: "messages", rowIdentity: "rowIdentity", rowClass: "rowClass", selectCheck: "selectCheck", displayCheck: "displayCheck", groupExpansionDefault: "groupExpansionDefault", trackByProp: "trackByProp", selectAllRowsOnPage: "selectAllRowsOnPage", treeFromRelation: "treeFromRelation", treeToRelation: "treeToRelation", summaryRow: "summaryRow", summaryHeight: "summaryHeight", summaryPosition: "summaryPosition", virtualization: "virtualization", headerHeight: "headerHeight", rowHeight: "rowHeight", footerHeight: "footerHeight", scrollbarV: "scrollbarV", scrollbarH: "scrollbarH", dataSource: "dataSource", actionItemColumnPosition: "actionItemColumnPosition", columnFilterIcon: "columnFilterIcon", columnFilterUpdateMethod: "columnFilterUpdateMethod", columnFilterUpdateDebounce: "columnFilterUpdateDebounce" }, outputs: { scroll: "scroll", activate: "activate", select: "select", sort: "sort", page: "page", reorder: "reorder", resize: "resize", tableContextmenu: "tableContextmenu", treeAction: "treeAction", actionRefreshRequest: "actionRefreshRequest", hiddenColumnsChange: "hiddenColumnsChange" }, host: { listeners: { "dblclick": "_dblClick($event)" } }, providers: [
3212
+ _THESEAM_DATATABLE,
3213
+ DatatableColumnChangesService,
3214
+ _THESEAM_DATATABLE_ACCESSOR,
3215
+ ColumnsManagerService,
3216
+ ColumnsAlterationsManagerService,
3217
+ ColumnsFiltersService
3218
+ ], queries: [{ propertyName: "actionMenu", first: true, predicate: DatatableActionMenuComponent, descendants: true, static: true }, { propertyName: "rowActionItem", first: true, predicate: DatatableRowActionItemDirective, descendants: true }, { propertyName: "rowDetail", first: true, predicate: TheSeamDatatableRowDetailDirective, descendants: true, static: true }, { propertyName: "footer", first: true, predicate: TheSeamDatatableFooterDirective, descendants: true, static: true }, { propertyName: "menuBarComponent", first: true, predicate: DatatableMenuBarComponent, descendants: true }, { propertyName: "columnComponents", predicate: DatatableColumnComponent }, { propertyName: "columnFilterTemplates", predicate: TheSeamDatatableColumnFilterDirective }], viewQueries: [{ propertyName: "ngxDatatable", first: true, predicate: DatatableComponent$1, descendants: true }, { propertyName: "ngxDatatableElement", first: true, predicate: DatatableComponent$1, descendants: true, read: ElementRef }, { propertyName: "ngxRowDetail", first: true, predicate: DatatableRowDetailDirective, descendants: true }, { propertyName: "actionMenuCellTpl", first: true, predicate: ["actionMenuCellTpl"], descendants: true, static: true }, { propertyName: "treeToggleTpl", first: true, predicate: ["treeToggleTpl"], descendants: true, static: true }, { propertyName: "headerTpl", first: true, predicate: ["headerTpl"], descendants: true, static: true }, { propertyName: "blankHeaderTpl", first: true, predicate: ["blankHeaderTpl"], descendants: true, static: true }, { propertyName: "cellTypeSelectorTpl", first: true, predicate: ["cellTypeSelectorTpl"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"datatable-wrapper\">\n <ng-content select=\"seam-datatable-menu-bar\"></ng-content>\n <div class=\"datatable-table-wrapper\">\n <ng-container>\n <ngx-datatable\n [columnMode]=\"$any(columnMode)\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [virtualization]=\"virtualization\"\n [targetMarkerTemplate]=\"targetMarkerTemplate\"\n [groupRowsBy]=\"$any(groupRowsBy)\"\n [groupedRows]=\"$any(groupedRows)\"\n [selected]=\"$any(selected)\"\n [externalPaging]=\"externalPaging\"\n [externalSorting]=\"externalSorting\"\n [limit]=\"$any(limit)\"\n [count]=\"$any(count)\"\n [offset]=\"$any(offset)\"\n [loadingIndicator]=\"loadingIndicator\"\n [selectionType]=\"$any(selectionType)\"\n [reorderable]=\"reorderable\"\n [swapColumns]=\"swapColumns\"\n [sortType]=\"$any(sortType)\"\n [sorts]=\"$any(_sorts)\"\n [cssClasses]=\"$any(cssClasses)\"\n [messages]=\"$any(messages)\"\n [rowIdentity]=\"$any(rowIdentity)\"\n [rowClass]=\"rowClass\"\n [selectCheck]=\"selectCheck\"\n [displayCheck]=\"$any(displayCheck)\"\n [groupExpansionDefault]=\"groupExpansionDefault\"\n [trackByProp]=\"$any(trackByProp)\"\n [selectAllRowsOnPage]=\"selectAllRowsOnPage\"\n [treeFromRelation]=\"$any(treeFromRelation)\"\n [treeToRelation]=\"$any(treeToRelation)\"\n [summaryRow]=\"summaryRow\"\n [summaryHeight]=\"$any(summaryHeight)\"\n [summaryPosition]=\"$any(summaryPosition)\"\n [rows]=\"rows$ | async\"\n [columns]=\"$any(displayColumns$ | async)\"\n [headerHeight]=\"$any(headerHeight)\"\n [rowHeight]=\"$any(rowHeight)\"\n [footerHeight]=\"$any(footerHeight)\"\n (scroll)=\"scroll.emit($event)\"\n (activate)=\"activate.emit($event)\"\n (select)=\"select.emit($event)\"\n (sort)=\"_onSort($event)\"\n (page)=\"page.emit($event)\"\n (reorder)=\"_onReorder($event)\"\n (resize)=\"_onResize($event)\"\n (tableContextmenu)=\"tableContextmenu.emit($event)\"\n (treeAction)=\"treeAction.emit($event)\"\n (seamElemResized)=\"onDatatableResize($event)\"\n (treeAction)=\"_onTreeAction($event)\">\n\n <ngx-datatable-group-header [rowHeight]=\"50\" #myGroupHeader *ngIf=\"groupRowsBy\">\n <ng-template let-group=\"group\" let-expanded=\"expanded\" ngx-datatable-group-header-template>\n <div\n class=\"w-100 bg-light p-1\"\n [class.border-bottom]=\"!expanded\"\n [class.datatable-icon-right]=\"!expanded\"\n [class.datatable-icon-down]=\"expanded\"\n title=\"Expand/Collapse Group\"\n (click)=\"ngxDatatable?.groupHeader?.toggleExpandGroup(group)\">\n <!-- <b>Age: {{ group.age }}</b> -->\n </div>\n </ng-template>\n </ngx-datatable-group-header>\n\n <ngx-datatable-row-detail *ngIf=\"rowDetail && rowDetail.template\"\n [rowHeight]=\"rowDetail.rowHeight || 0\"\n [template]=\"$any(rowDetail.template)\"\n (toggle)=\"rowDetail.toggle.emit($event)\">\n </ngx-datatable-row-detail>\n\n <ngx-datatable-footer *ngIf=\"footer && footer.template\"\n [template]=\"$any(footer.template)\">\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n </div>\n</div>\n\n<ng-template #blankHeaderTpl ngx-datatable-header-template></ng-template>\n\n<ng-template\n #headerTpl\n ngx-datatable-header-template\n let-column=\"column\"\n let-sortFn=\"sortFn\"\n>\n <div class=\"d-inline-flex align-items-center\">\n <ng-container *ngIf=\"$any(column).filterable\">\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"$any(column).filterActive\"\n style=\"width: 1rem;\"\n title=\"Click to see filter options\"></button>\n </ng-container>\n <strong *ngIf=\"!column.sortable\" class=\"draggable\">{{column.name}}</strong>\n <button\n seamButton\n *ngIf=\"column.sortable\"\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()\"\n title=\"Click to sort\">\n <strong class=\"draggable\">{{column.name}}</strong>\n </button>\n <div class=\"datatable-column-header-separator\" [attr.data-column-id]=\"column.$$id\"></div>\n </div>\n <ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column\"\n [updateMethod]=\"columnFilterUpdateMethod\"\n [debounce]=\"columnFilterUpdateDebounce\"\n (closePopover)=\"popover?.closePopover()\"></seam-datatable-column-filter-menu>\n </ng-template>\n</ng-template>\n\n<ng-template #cellTypeSelectorTpl ngx-datatable-cell-template\n let-value=\"value\" let-rowIndex=\"rowIndex\" let-row=\"row\" let-column=\"column\">\n <seam-table-cell-type-selector *ngIf=\"row\"\n [type]=\"$any(column).cellType\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"column\">\n </seam-table-cell-type-selector>\n</ng-template>\n\n<ng-template #actionMenuCellTpl ngx-datatable-cell-template\n let-value=\"value\" let-rowIndex=\"rowIndex\" let-row=\"row\">\n\n <ng-container *ngIf=\"row && rowActionItem?.template\">\n <ng-template\n [ngTemplateOutlet]=\"$any(rowActionItem?.template)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, row: row, rowIndex: rowIndex }\">\n </ng-template>\n </ng-container>\n\n</ng-template>\n\n<ng-template #treeToggleTpl ngx-datatable-tree-toggle let-tree=\"cellContext\">\n <button\n class=\"p-0 bg-transparent border-0 btn\"\n [disabled]=\"tree.treeStatus==='disabled'\"\n (click)=\"tree.onTreeAction()\">\n <span *ngIf=\"tree.treeStatus==='loading'\">\n <fa-icon [icon]=\"_faSpinner\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='collapsed'\">\n <fa-icon [icon]=\"_faChevronRight\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='expanded'\">\n <fa-icon [icon]=\"_faChevronDown\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='disabled'\">\n <fa-icon [icon]=\"_faChevronRight\"></fa-icon>\n </span>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column}::ng-deep .seam-datatable-action-menu{min-width:auto!important}ngx-datatable{position:absolute!important;inset:0}.datatable-wrapper{display:flex;flex-direction:column;flex-grow:1}.datatable-wrapper .datatable-table-wrapper{position:relative;flex:1 1 100%}.datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}::ng-deep .ngx-datatable .datatable-body-row{position:relative}::ng-deep .ngx-datatable .datatable-row-right{position:absolute!important;top:0}::ng-deep .ngx-datatable .datatable-row-right{right:0}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarVDynamic", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "ghostLoadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "displayPageCount", "displayPager", "disableRowCheck", "rowDraggable", "enableClearingSortState", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction", "rowDragEvents"] }, { kind: "directive", type: i6.DatatableRowDetailDirective, selector: "ngx-datatable-row-detail", inputs: ["rowHeight", "template"], outputs: ["toggle"] }, { kind: "directive", type: i6.DatatableGroupHeaderDirective, selector: "ngx-datatable-group-header", inputs: ["rowHeight", "checkboxable", "template"], outputs: ["toggle"] }, { kind: "directive", type: i6.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i6.DataTableColumnCellTreeToggle, selector: "[ngx-datatable-tree-toggle]" }, { kind: "directive", type: i6.DatatableFooterDirective, selector: "ngx-datatable-footer", inputs: ["footerHeight", "totalMessage", "selectedMessage", "pagerLeftArrowIcon", "pagerRightArrowIcon", "pagerPreviousIcon", "pagerNextIcon", "template"] }, { kind: "directive", type: i6.DatatableGroupHeaderTemplateDirective, selector: "[ngx-datatable-group-header-template]" }, { kind: "component", type: i7.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i2$2.TheSeamElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"], exportAs: ["seamElemResized"] }, { kind: "component", type: i5.IconBtnComponent, selector: "button[seamIconBtn]", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "iconType", "btnTheme", "badgeTheme", "badgeText", "btnSize", "type", "role"] }, { kind: "component", type: i3$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "directive", type: i11.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "component", type: i12.TableCellTypeSelectorComponent, selector: "seam-table-cell-type-selector", inputs: ["type", "value", "rowIndex", "row", "colData"] }, { kind: "component", type: DatatableColumnFilterMenuComponent, selector: "seam-datatable-column-filter-menu", inputs: ["column", "updateMethod", "debounce"], outputs: ["closePopover"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], animations: [
3219
+ trigger('slideDown', [
3220
+ transition(':enter', [
3221
+ style({ transform: 'translateY(-20%)', opacity: '0' }),
3222
+ animate('250ms', style({ transform: 'translateY(0)', opacity: '1' })),
3223
+ ]),
3224
+ transition(':leave', [
3225
+ style({ transform: 'translateY(0)', opacity: '1' }),
3226
+ animate('250ms', style({ transform: 'translateY(-20%)', opacity: '0' })),
3227
+ ])
3228
+ ])
3229
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3230
+ }
3231
+ __decorate([
3232
+ InputBoolean()
3233
+ ], DatatableComponent.prototype, "externalPaging", void 0);
3234
+ __decorate([
3235
+ InputBoolean()
3236
+ ], DatatableComponent.prototype, "externalSorting", void 0);
3237
+ __decorate([
3238
+ InputBoolean()
3239
+ ], DatatableComponent.prototype, "externalFiltering", void 0);
3240
+ __decorate([
3241
+ InputNumber()
3242
+ ], DatatableComponent.prototype, "limit", void 0);
3243
+ __decorate([
3244
+ InputNumber(0)
3245
+ ], DatatableComponent.prototype, "count", void 0);
3246
+ __decorate([
3247
+ InputNumber(0)
3248
+ ], DatatableComponent.prototype, "offset", void 0);
3249
+ __decorate([
3250
+ InputBoolean()
3251
+ ], DatatableComponent.prototype, "loadingIndicator", void 0);
3252
+ __decorate([
3253
+ InputBoolean()
3254
+ ], DatatableComponent.prototype, "reorderable", void 0);
3255
+ __decorate([
3256
+ InputBoolean()
3257
+ ], DatatableComponent.prototype, "swapColumns", void 0);
3258
+ __decorate([
3259
+ InputBoolean()
3260
+ ], DatatableComponent.prototype, "groupExpansionDefault", void 0);
3261
+ __decorate([
3262
+ InputBoolean()
3263
+ ], DatatableComponent.prototype, "selectAllRowsOnPage", void 0);
3264
+ __decorate([
3265
+ InputBoolean()
3266
+ ], DatatableComponent.prototype, "summaryRow", void 0);
3267
+ __decorate([
3268
+ InputNumber()
3269
+ ], DatatableComponent.prototype, "summaryHeight", void 0);
3270
+ __decorate([
3271
+ InputBoolean()
3272
+ ], DatatableComponent.prototype, "virtualization", void 0);
3273
+ __decorate([
3274
+ InputNumber()
3275
+ ], DatatableComponent.prototype, "headerHeight", null);
3276
+ __decorate([
3277
+ InputNumber()
3278
+ ], DatatableComponent.prototype, "rowHeight", null);
3279
+ __decorate([
3280
+ InputNumber()
3281
+ ], DatatableComponent.prototype, "footerHeight", null);
3282
+ __decorate([
3283
+ InputBoolean()
3284
+ ], DatatableComponent.prototype, "scrollbarV", void 0);
3285
+ __decorate([
3286
+ InputBoolean()
3287
+ ], DatatableComponent.prototype, "scrollbarH", void 0);
3288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableComponent, decorators: [{
3289
+ type: Component,
3290
+ args: [{ selector: 'seam-datatable', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
3291
+ trigger('slideDown', [
3292
+ transition(':enter', [
3293
+ style({ transform: 'translateY(-20%)', opacity: '0' }),
3294
+ animate('250ms', style({ transform: 'translateY(0)', opacity: '1' })),
3295
+ ]),
3296
+ transition(':leave', [
3297
+ style({ transform: 'translateY(0)', opacity: '1' }),
3298
+ animate('250ms', style({ transform: 'translateY(-20%)', opacity: '0' })),
3299
+ ])
3300
+ ])
3301
+ ], providers: [
3302
+ _THESEAM_DATATABLE,
3303
+ DatatableColumnChangesService,
3304
+ _THESEAM_DATATABLE_ACCESSOR,
3305
+ ColumnsManagerService,
3306
+ ColumnsAlterationsManagerService,
3307
+ ColumnsFiltersService
3308
+ ], standalone: false, template: "<div class=\"datatable-wrapper\">\n <ng-content select=\"seam-datatable-menu-bar\"></ng-content>\n <div class=\"datatable-table-wrapper\">\n <ng-container>\n <ngx-datatable\n [columnMode]=\"$any(columnMode)\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [virtualization]=\"virtualization\"\n [targetMarkerTemplate]=\"targetMarkerTemplate\"\n [groupRowsBy]=\"$any(groupRowsBy)\"\n [groupedRows]=\"$any(groupedRows)\"\n [selected]=\"$any(selected)\"\n [externalPaging]=\"externalPaging\"\n [externalSorting]=\"externalSorting\"\n [limit]=\"$any(limit)\"\n [count]=\"$any(count)\"\n [offset]=\"$any(offset)\"\n [loadingIndicator]=\"loadingIndicator\"\n [selectionType]=\"$any(selectionType)\"\n [reorderable]=\"reorderable\"\n [swapColumns]=\"swapColumns\"\n [sortType]=\"$any(sortType)\"\n [sorts]=\"$any(_sorts)\"\n [cssClasses]=\"$any(cssClasses)\"\n [messages]=\"$any(messages)\"\n [rowIdentity]=\"$any(rowIdentity)\"\n [rowClass]=\"rowClass\"\n [selectCheck]=\"selectCheck\"\n [displayCheck]=\"$any(displayCheck)\"\n [groupExpansionDefault]=\"groupExpansionDefault\"\n [trackByProp]=\"$any(trackByProp)\"\n [selectAllRowsOnPage]=\"selectAllRowsOnPage\"\n [treeFromRelation]=\"$any(treeFromRelation)\"\n [treeToRelation]=\"$any(treeToRelation)\"\n [summaryRow]=\"summaryRow\"\n [summaryHeight]=\"$any(summaryHeight)\"\n [summaryPosition]=\"$any(summaryPosition)\"\n [rows]=\"rows$ | async\"\n [columns]=\"$any(displayColumns$ | async)\"\n [headerHeight]=\"$any(headerHeight)\"\n [rowHeight]=\"$any(rowHeight)\"\n [footerHeight]=\"$any(footerHeight)\"\n (scroll)=\"scroll.emit($event)\"\n (activate)=\"activate.emit($event)\"\n (select)=\"select.emit($event)\"\n (sort)=\"_onSort($event)\"\n (page)=\"page.emit($event)\"\n (reorder)=\"_onReorder($event)\"\n (resize)=\"_onResize($event)\"\n (tableContextmenu)=\"tableContextmenu.emit($event)\"\n (treeAction)=\"treeAction.emit($event)\"\n (seamElemResized)=\"onDatatableResize($event)\"\n (treeAction)=\"_onTreeAction($event)\">\n\n <ngx-datatable-group-header [rowHeight]=\"50\" #myGroupHeader *ngIf=\"groupRowsBy\">\n <ng-template let-group=\"group\" let-expanded=\"expanded\" ngx-datatable-group-header-template>\n <div\n class=\"w-100 bg-light p-1\"\n [class.border-bottom]=\"!expanded\"\n [class.datatable-icon-right]=\"!expanded\"\n [class.datatable-icon-down]=\"expanded\"\n title=\"Expand/Collapse Group\"\n (click)=\"ngxDatatable?.groupHeader?.toggleExpandGroup(group)\">\n <!-- <b>Age: {{ group.age }}</b> -->\n </div>\n </ng-template>\n </ngx-datatable-group-header>\n\n <ngx-datatable-row-detail *ngIf=\"rowDetail && rowDetail.template\"\n [rowHeight]=\"rowDetail.rowHeight || 0\"\n [template]=\"$any(rowDetail.template)\"\n (toggle)=\"rowDetail.toggle.emit($event)\">\n </ngx-datatable-row-detail>\n\n <ngx-datatable-footer *ngIf=\"footer && footer.template\"\n [template]=\"$any(footer.template)\">\n </ngx-datatable-footer>\n </ngx-datatable>\n </ng-container>\n </div>\n</div>\n\n<ng-template #blankHeaderTpl ngx-datatable-header-template></ng-template>\n\n<ng-template\n #headerTpl\n ngx-datatable-header-template\n let-column=\"column\"\n let-sortFn=\"sortFn\"\n>\n <div class=\"d-inline-flex align-items-center\">\n <ng-container *ngIf=\"$any(column).filterable\">\n <button\n seamIconBtn\n [icon]=\"columnFilterIcon\"\n size=\"sm\"\n [seamPopover]=\"filterMenu\"\n [seamPopoverBaseWidth]=\"300\"\n class=\"datatable-column-header-filter-button d-flex align-items-center mr-2\"\n [class.datatable-column-header-filter-button-active]=\"$any(column).filterActive\"\n style=\"width: 1rem;\"\n title=\"Click to see filter options\"></button>\n </ng-container>\n <strong *ngIf=\"!column.sortable\" class=\"draggable\">{{column.name}}</strong>\n <button\n seamButton\n *ngIf=\"column.sortable\"\n class=\"datatable-sort-target p-0\"\n (click)=\"sortFn()\"\n title=\"Click to sort\">\n <strong class=\"draggable\">{{column.name}}</strong>\n </button>\n <div class=\"datatable-column-header-separator\" [attr.data-column-id]=\"column.$$id\"></div>\n </div>\n <ng-template #filterMenu let-popover=\"popover\">\n <seam-datatable-column-filter-menu\n [column]=\"column\"\n [updateMethod]=\"columnFilterUpdateMethod\"\n [debounce]=\"columnFilterUpdateDebounce\"\n (closePopover)=\"popover?.closePopover()\"></seam-datatable-column-filter-menu>\n </ng-template>\n</ng-template>\n\n<ng-template #cellTypeSelectorTpl ngx-datatable-cell-template\n let-value=\"value\" let-rowIndex=\"rowIndex\" let-row=\"row\" let-column=\"column\">\n <seam-table-cell-type-selector *ngIf=\"row\"\n [type]=\"$any(column).cellType\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"column\">\n </seam-table-cell-type-selector>\n</ng-template>\n\n<ng-template #actionMenuCellTpl ngx-datatable-cell-template\n let-value=\"value\" let-rowIndex=\"rowIndex\" let-row=\"row\">\n\n <ng-container *ngIf=\"row && rowActionItem?.template\">\n <ng-template\n [ngTemplateOutlet]=\"$any(rowActionItem?.template)\"\n [ngTemplateOutletContext]=\"{ $implicit: row, row: row, rowIndex: rowIndex }\">\n </ng-template>\n </ng-container>\n\n</ng-template>\n\n<ng-template #treeToggleTpl ngx-datatable-tree-toggle let-tree=\"cellContext\">\n <button\n class=\"p-0 bg-transparent border-0 btn\"\n [disabled]=\"tree.treeStatus==='disabled'\"\n (click)=\"tree.onTreeAction()\">\n <span *ngIf=\"tree.treeStatus==='loading'\">\n <fa-icon [icon]=\"_faSpinner\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='collapsed'\">\n <fa-icon [icon]=\"_faChevronRight\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='expanded'\">\n <fa-icon [icon]=\"_faChevronDown\"></fa-icon>\n </span>\n <span *ngIf=\"tree.treeStatus==='disabled'\">\n <fa-icon [icon]=\"_faChevronRight\"></fa-icon>\n </span>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column}::ng-deep .seam-datatable-action-menu{min-width:auto!important}ngx-datatable{position:absolute!important;inset:0}.datatable-wrapper{display:flex;flex-direction:column;flex-grow:1}.datatable-wrapper .datatable-table-wrapper{position:relative;flex:1 1 100%}.datatable-column-header-separator{position:absolute}.datatable-sort-target{cursor:pointer}::ng-deep .ngx-datatable .datatable-body-row{position:relative}::ng-deep .ngx-datatable .datatable-row-right{position:absolute!important;top:0}::ng-deep .ngx-datatable .datatable-row-right{right:0}\n"] }]
3309
+ }], ctorParameters: () => [{ type: DatatablePreferencesService }, { type: ColumnsManagerService }, { type: ColumnsAlterationsManagerService }, { type: ColumnsFiltersService }, { type: undefined, decorators: [{
3310
+ type: Optional
3311
+ }, {
3312
+ type: Inject,
3313
+ args: [THESEAM_DATATABLE_CONFIG]
3314
+ }] }], propDecorators: { preferencesKey: [{
3315
+ type: Input
3316
+ }], targetMarkerTemplate: [{
3317
+ type: Input
3318
+ }], columns: [{
3319
+ type: Input
3320
+ }], rows: [{
3321
+ type: Input
3322
+ }], columnMode: [{
3323
+ type: Input
3324
+ }], groupRowsBy: [{
3325
+ type: Input
3326
+ }], groupedRows: [{
3327
+ type: Input
3328
+ }], selected: [{
3329
+ type: Input
3330
+ }], externalPaging: [{
3331
+ type: Input
3332
+ }], externalSorting: [{
3333
+ type: Input
3334
+ }], externalFiltering: [{
3335
+ type: Input
3336
+ }], limit: [{
3337
+ type: Input
3338
+ }], count: [{
3339
+ type: Input
3340
+ }], offset: [{
3341
+ type: Input
3342
+ }], loadingIndicator: [{
3343
+ type: Input
3344
+ }], selectionType: [{
3345
+ type: Input
3346
+ }], reorderable: [{
3347
+ type: Input
3348
+ }], swapColumns: [{
3349
+ type: Input
3350
+ }], sortType: [{
3351
+ type: Input
3352
+ }], sorts: [{
3353
+ type: Input
3354
+ }], cssClasses: [{
3355
+ type: Input
3356
+ }], messages: [{
3357
+ type: Input
3358
+ }], rowIdentity: [{
3359
+ type: Input
3360
+ }], rowClass: [{
3361
+ type: Input
3362
+ }], selectCheck: [{
3363
+ type: Input
3364
+ }], displayCheck: [{
3365
+ type: Input
3366
+ }], groupExpansionDefault: [{
3367
+ type: Input
3368
+ }], trackByProp: [{
3369
+ type: Input
3370
+ }], selectAllRowsOnPage: [{
3371
+ type: Input
3372
+ }], treeFromRelation: [{
3373
+ type: Input
3374
+ }], treeToRelation: [{
3375
+ type: Input
3376
+ }], summaryRow: [{
3377
+ type: Input
3378
+ }], summaryHeight: [{
3379
+ type: Input
3380
+ }], summaryPosition: [{
3381
+ type: Input
3382
+ }], virtualization: [{
3383
+ type: Input
3384
+ }], headerHeight: [{
3385
+ type: Input
3386
+ }], rowHeight: [{
3387
+ type: Input
3388
+ }], footerHeight: [{
3389
+ type: Input
3390
+ }], scrollbarV: [{
3391
+ type: Input
3392
+ }], scrollbarH: [{
3393
+ type: Input
3394
+ }], dataSource: [{
3395
+ type: Input
3396
+ }], actionItemColumnPosition: [{
3397
+ type: Input
3398
+ }], columnFilterIcon: [{
3399
+ type: Input
3400
+ }], columnFilterUpdateMethod: [{
3401
+ type: Input
3402
+ }], columnFilterUpdateDebounce: [{
3403
+ type: Input
3404
+ }], scroll: [{
3405
+ type: Output
3406
+ }], activate: [{
3407
+ type: Output
3408
+ }], select: [{
3409
+ type: Output
3410
+ }], sort: [{
3411
+ type: Output
3412
+ }], page: [{
3413
+ type: Output
3414
+ }], reorder: [{
3415
+ type: Output
3416
+ }], resize: [{
3417
+ type: Output
3418
+ }], tableContextmenu: [{
3419
+ type: Output
3420
+ }], treeAction: [{
3421
+ type: Output
3422
+ }], actionRefreshRequest: [{
3423
+ type: Output
3424
+ }], hiddenColumnsChange: [{
3425
+ type: Output
3426
+ }], columnComponents: [{
3427
+ type: ContentChildren,
3428
+ args: [DatatableColumnComponent]
3429
+ }], actionMenu: [{
3430
+ type: ContentChild,
3431
+ args: [DatatableActionMenuComponent, { static: true }]
3432
+ }], rowActionItem: [{
3433
+ type: ContentChild,
3434
+ args: [DatatableRowActionItemDirective]
3435
+ }], rowDetail: [{
3436
+ type: ContentChild,
3437
+ args: [TheSeamDatatableRowDetailDirective, { static: true }]
3438
+ }], footer: [{
3439
+ type: ContentChild,
3440
+ args: [TheSeamDatatableFooterDirective, { static: true }]
3441
+ }], menuBarComponent: [{
3442
+ type: ContentChild,
3443
+ args: [DatatableMenuBarComponent]
3444
+ }], columnFilterTemplates: [{
3445
+ type: ContentChildren,
3446
+ args: [TheSeamDatatableColumnFilterDirective]
3447
+ }], ngxDatatable: [{
3448
+ type: ViewChild,
3449
+ args: [DatatableComponent$1]
3450
+ }], ngxDatatableElement: [{
3451
+ type: ViewChild,
3452
+ args: [DatatableComponent$1, { read: ElementRef }]
3453
+ }], ngxRowDetail: [{
3454
+ type: ViewChild,
3455
+ args: [DatatableRowDetailDirective]
3456
+ }], actionMenuCellTpl: [{
3457
+ type: ViewChild,
3458
+ args: ['actionMenuCellTpl', { static: true }]
3459
+ }], treeToggleTpl: [{
3460
+ type: ViewChild,
3461
+ args: ['treeToggleTpl', { static: true }]
3462
+ }], headerTpl: [{
3463
+ type: ViewChild,
3464
+ args: ['headerTpl', { static: true }]
3465
+ }], blankHeaderTpl: [{
3466
+ type: ViewChild,
3467
+ args: ['blankHeaderTpl', { static: true }]
3468
+ }], cellTypeSelectorTpl: [{
3469
+ type: ViewChild,
3470
+ args: ['cellTypeSelectorTpl', { static: true }]
3471
+ }], _dblClick: [{
3472
+ type: HostListener,
3473
+ args: ['dblclick', ['$event']]
3474
+ }] } });
3475
+
3476
+ class DatatableColumnPreferencesComponent {
3477
+ _datatable;
3478
+ _columnsAlterationsManager;
3479
+ _columns$;
3480
+ _filterControl = new UntypedFormControl();
3481
+ constructor(_datatable, _columnsAlterationsManager) {
3482
+ this._datatable = _datatable;
3483
+ this._columnsAlterationsManager = _columnsAlterationsManager;
3484
+ this._columns$ = combineLatest([
3485
+ this._datatable.columns$ ?? of([]),
3486
+ observeControlValue(this._filterControl)
3487
+ ]).pipe(map(([columns, filter]) => {
3488
+ const _filter = (filter || '').trim().toLowerCase();
3489
+ return columns
3490
+ .filter(c => this._canToggleColumn(c, _filter));
3491
+ }));
3492
+ }
3493
+ _canToggleColumn(column, filter, omitInternalColumns = true) {
3494
+ if (omitInternalColumns && isInternalColumn(column)) {
3495
+ return false;
3496
+ }
3497
+ return this._columnMatchesFilter(column, filter);
3498
+ }
3499
+ _columnMatchesFilter(column, filter) {
3500
+ if (filter.length === 0) {
3501
+ return true;
3502
+ }
3503
+ return `${(getColumnProp(column) || '')}`.toLowerCase().indexOf(filter) !== -1;
3504
+ }
3505
+ _onChange(event, col) {
3506
+ const columnProp = getColumnProp(col);
3507
+ const hidden = !event.checked;
3508
+ if (!notNullOrUndefined(columnProp)) {
3509
+ throw Error(`Unable to get column prop.`);
3510
+ }
3511
+ const alteration = new HideColumnColumnsAlteration({
3512
+ columnProp,
3513
+ hidden
3514
+ }, hidden);
3515
+ this._columnsAlterationsManager.add([alteration]);
3516
+ }
3517
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnPreferencesComponent, deps: [{ token: THESEAM_DATATABLE }, { token: ColumnsAlterationsManagerService }], target: i0.ɵɵFactoryTarget.Component });
3518
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnPreferencesComponent, isStandalone: false, selector: "seam-datatable-column-preferences", ngImport: i0, template: "<h3>Columns</h3>\n\n<seam-form-field [numPaddingErrors]=\"0\" >\n <input seamInput [formControl]=\"_filterControl\" seamInputSize=\"sm\" placeholder=\"Search\" seamAutoFocus>\n</seam-form-field>\n\n<div seamOverlayScrollbar style=\"min-height: 200px; max-height: 600px; min-width: 250px;\" class=\"flex-grow-1 mb-2\">\n <div class=\"p-2\">\n <ng-container *ngFor=\"let col of _columns$ | async\">\n <seam-checkbox [checked]=\"!col.hidden\" (change)=\"_onChange($event, col)\">{{ col.name || col.prop }}</seam-checkbox>\n </ng-container>\n </div>\n\n</div>\n<div class=\"d-flex flex-row justify-content-end\">\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" (click)=\"_onCloseClick()\">Close</button> -->\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" class=\"mr-1\">Cancel</button>\n <button seamButton size=\"sm\" theme=\"success\">Done</button> -->\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "component", type: i4$2.TheSeamCheckboxComponent, selector: "seam-checkbox", inputs: ["tabIndex", "id", "aria-label", "aria-labelledby", "required", "checked", "disabled", "indeterminate", "name", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["seamCheckbox"] }, { kind: "component", type: i3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3519
+ }
3520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnPreferencesComponent, decorators: [{
3521
+ type: Component,
3522
+ args: [{ selector: 'seam-datatable-column-preferences', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h3>Columns</h3>\n\n<seam-form-field [numPaddingErrors]=\"0\" >\n <input seamInput [formControl]=\"_filterControl\" seamInputSize=\"sm\" placeholder=\"Search\" seamAutoFocus>\n</seam-form-field>\n\n<div seamOverlayScrollbar style=\"min-height: 200px; max-height: 600px; min-width: 250px;\" class=\"flex-grow-1 mb-2\">\n <div class=\"p-2\">\n <ng-container *ngFor=\"let col of _columns$ | async\">\n <seam-checkbox [checked]=\"!col.hidden\" (change)=\"_onChange($event, col)\">{{ col.name || col.prop }}</seam-checkbox>\n </ng-container>\n </div>\n\n</div>\n<div class=\"d-flex flex-row justify-content-end\">\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" (click)=\"_onCloseClick()\">Close</button> -->\n <!-- <button seamButton size=\"sm\" theme=\"lightgray\" class=\"mr-1\">Cancel</button>\n <button seamButton size=\"sm\" theme=\"success\">Done</button> -->\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
3523
+ }], ctorParameters: () => [{ type: DatatableComponent, decorators: [{
3524
+ type: Inject,
3525
+ args: [THESEAM_DATATABLE]
3526
+ }] }, { type: ColumnsAlterationsManagerService }] });
3527
+
3528
+ class DatatableColumnPreferencesButtonComponent {
3529
+ _columnsAlterationsManager;
3530
+ icon = faColumns;
3531
+ /** @ignore */
3532
+ _actionMenuPositions = [
3533
+ {
3534
+ originX: 'start',
3535
+ originY: 'bottom',
3536
+ overlayX: 'end',
3537
+ overlayY: 'top',
3538
+ },
3539
+ {
3540
+ originX: 'start',
3541
+ originY: 'top',
3542
+ overlayX: 'end',
3543
+ overlayY: 'bottom',
3544
+ },
3545
+ {
3546
+ originX: 'end',
3547
+ originY: 'bottom',
3548
+ overlayX: 'start',
3549
+ overlayY: 'top',
3550
+ },
3551
+ {
3552
+ originX: 'end',
3553
+ originY: 'top',
3554
+ overlayX: 'start',
3555
+ overlayY: 'bottom',
3556
+ },
3557
+ ];
3558
+ constructor(_columnsAlterationsManager) {
3559
+ this._columnsAlterationsManager = _columnsAlterationsManager;
3560
+ }
3561
+ _resetColumns(event) {
3562
+ this._columnsAlterationsManager.clear();
3563
+ }
3564
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, deps: [{ token: ColumnsAlterationsManagerService }], target: i0.ɵɵFactoryTarget.Component });
3565
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableColumnPreferencesButtonComponent, isStandalone: false, selector: "seam-datatable-column-preferences-button", ngImport: i0, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n", styles: [""], dependencies: [{ kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i11.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "component", type: DatatableColumnPreferencesComponent, selector: "seam-datatable-column-preferences" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3566
+ }
3567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, decorators: [{
3568
+ type: Component,
3569
+ args: [{ selector: 'seam-datatable-column-preferences-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n" }]
3570
+ }], ctorParameters: () => [{ type: ColumnsAlterationsManagerService }] });
3571
+
3572
+ class DatatableExportButtonComponent {
3573
+ _datatable;
3574
+ _toastr;
3575
+ _loading;
3576
+ _valueHelper;
3577
+ _data;
3578
+ icon = faFileDownload;
3579
+ exporters;
3580
+ get disabled() {
3581
+ return !(this.exporters && this.exporters.length > 0);
3582
+ }
3583
+ constructor(_datatable, _toastr, _loading, _valueHelper, _data) {
3584
+ this._datatable = _datatable;
3585
+ this._toastr = _toastr;
3586
+ this._loading = _loading;
3587
+ this._valueHelper = _valueHelper;
3588
+ this._data = _data;
3589
+ if (this._data && this._data.exporters) {
3590
+ this.exporters = this._data.exporters;
3591
+ }
3592
+ }
3593
+ _onExporterClicked(exporter) {
3594
+ if (!exporter.export) {
3595
+ const msg = isDevMode()
3596
+ ? `Exporter '${exporter.name}' is missing an export method.`
3597
+ : `${exporter.label} export is not available.`;
3598
+ this._toastr.error(msg, 'Data Export');
3599
+ }
3600
+ const export$ = combineLatest([
3601
+ this._datatable.rows$,
3602
+ this._datatable.columns$.pipe(map(cols => cols.filter(c => !isInternalColumn(c))))
3603
+ ]).pipe(take(1), map(([rows, columns]) => {
3604
+ if (exporter.skipDataMapping) {
3605
+ return rows;
3606
+ }
3607
+ return this._mapExportData(columns || [], rows);
3608
+ }), concatMap(data => exporter.export(data)), catchError(err => {
3609
+ // eslint-disable-next-line no-console
3610
+ console.error(err);
3611
+ return of(false);
3612
+ }), tap(success => {
3613
+ if (success) {
3614
+ this._toastr.success(`${exporter.label} export complete.`, 'Data Export');
3615
+ }
3616
+ else {
3617
+ this._toastr.error(`${exporter.label} export failed.`, 'Data Export');
3618
+ }
3619
+ }));
3620
+ this._loading.while(export$).subscribe();
3621
+ }
3622
+ _mapExportData(columns, rows) {
3623
+ const data = [];
3624
+ for (const row of rows) {
3625
+ const newRow = {};
3626
+ for (const col of columns) {
3627
+ if (!col.exportIgnore) {
3628
+ const colName = col.exportHeader || col.name || col.prop;
3629
+ if (colName) {
3630
+ newRow[colName] = this._rowValue(col, row);
3631
+ }
3632
+ }
3633
+ }
3634
+ data.push(newRow);
3635
+ }
3636
+ return data;
3637
+ }
3638
+ _rowValue(column, row) {
3639
+ if (hasProperty(column, 'exportValue')) {
3640
+ const context = { value: column.prop ? row[column.prop] : undefined, row };
3641
+ return this._valueHelper.evalSync(column.exportValue, context);
3642
+ }
3643
+ const colProp = column.prop;
3644
+ if (colProp) {
3645
+ return row[colProp];
3646
+ }
3647
+ return undefined;
3648
+ }
3649
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableExportButtonComponent, deps: [{ token: THESEAM_DATATABLE }, { token: i1$2.ToastrService }, { token: i2$3.TheSeamLoadingOverlayService }, { token: i3$2.DynamicValueHelperService }, { token: THESEAM_DYNAMIC_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3650
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableExportButtonComponent, isStandalone: false, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i3$1.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3651
+ }
3652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableExportButtonComponent, decorators: [{
3653
+ type: Component,
3654
+ args: [{ selector: 'seam-datatable-export-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"] }]
3655
+ }], ctorParameters: () => [{ type: DatatableComponent, decorators: [{
3656
+ type: Inject,
3657
+ args: [THESEAM_DATATABLE]
3658
+ }] }, { type: i1$2.ToastrService }, { type: i2$3.TheSeamLoadingOverlayService }, { type: i3$2.DynamicValueHelperService }, { type: undefined, decorators: [{
3659
+ type: Optional
3660
+ }, {
3661
+ type: Inject,
3662
+ args: [THESEAM_DYNAMIC_DATA]
3663
+ }] }], propDecorators: { exporters: [{
3664
+ type: Input
3665
+ }] } });
3666
+
3667
+ class DatatableMenuBarColumnCenterComponent {
3668
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3669
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarColumnCenterComponent, isStandalone: false, selector: "seam-datatable-menu-bar-column-center", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 auto;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3670
+ }
3671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnCenterComponent, decorators: [{
3672
+ type: Component,
3673
+ args: [{ selector: 'seam-datatable-menu-bar-column-center', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 auto;justify-content:center}\n"] }]
3674
+ }] });
3675
+
3676
+ class DatatableMenuBarColumnLeftComponent {
3677
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnLeftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3678
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarColumnLeftComponent, isStandalone: false, selector: "seam-datatable-menu-bar-column-left", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 0%;justify-content:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3679
+ }
3680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnLeftComponent, decorators: [{
3681
+ type: Component,
3682
+ args: [{ selector: 'seam-datatable-menu-bar-column-left', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 0%;justify-content:flex-start}\n"] }]
3683
+ }] });
3684
+
3685
+ class DatatableMenuBarColumnRightComponent {
3686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnRightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3687
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarColumnRightComponent, isStandalone: false, selector: "seam-datatable-menu-bar-column-right", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 0%;justify-content:flex-end}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3688
+ }
3689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarColumnRightComponent, decorators: [{
3690
+ type: Component,
3691
+ args: [{ selector: 'seam-datatable-menu-bar-column-right', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex:1 1 0%;justify-content:flex-end}\n"] }]
3692
+ }] });
3693
+
3694
+ class DatatableMenuBarRowComponent {
3695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3696
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarRowComponent, isStandalone: false, selector: "seam-datatable-menu-bar-row", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3697
+ }
3698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarRowComponent, decorators: [{
3699
+ type: Component,
3700
+ args: [{ selector: 'seam-datatable-menu-bar-row', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}\n"] }]
3701
+ }] });
3702
+
3703
+ const THESEAM_MENUBAR_ITEM_DATA = new InjectionToken('MenubarItemData');
3704
+
3705
+ class DatatableMenuBarTextComponent {
3706
+ _menuBar;
3707
+ _data;
3708
+ value;
3709
+ constructor(_menuBar, _data) {
3710
+ this._menuBar = _menuBar;
3711
+ this._data = _data;
3712
+ if (notNullOrUndefined(this._data)) {
3713
+ if (hasProperty(this._data, 'value')) {
3714
+ this.value = this._data.value;
3715
+ }
3716
+ }
3717
+ }
3718
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarTextComponent, deps: [{ token: DatatableMenuBarComponent }, { token: THESEAM_MENUBAR_ITEM_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3719
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: DatatableMenuBarTextComponent, isStandalone: false, selector: "seam-datatable-menu-bar-text", inputs: { value: "value" }, ngImport: i0, template: "{{ value }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3720
+ }
3721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableMenuBarTextComponent, decorators: [{
3722
+ type: Component,
3723
+ args: [{ selector: 'seam-datatable-menu-bar-text', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "{{ value }}\n" }]
3724
+ }], ctorParameters: () => [{ type: DatatableMenuBarComponent }, { type: undefined, decorators: [{
3725
+ type: Optional
3726
+ }, {
3727
+ type: Inject,
3728
+ args: [THESEAM_MENUBAR_ITEM_DATA]
3729
+ }] }], propDecorators: { value: [{
3730
+ type: Input
3731
+ }] } });
3732
+
3733
+ class DatatableActionMenuItemDirective {
3734
+ _modal;
3735
+ _dynamicComponentLoader;
3736
+ _http;
3737
+ _listGroupItem = true;
3738
+ _listGroupItemAction = true;
3739
+ label;
3740
+ // eslint-disable-next-line @angular-eslint/no-input-rename
3741
+ href;
3742
+ target;
3743
+ // Allow routerLink inputs on menu item
3744
+ queryParams;
3745
+ fragment;
3746
+ // @Input() queryParamsHandling: QueryParamsHandling
3747
+ queryParamsHandling;
3748
+ preserveFragment;
3749
+ skipLocationChange;
3750
+ replaceUrl;
3751
+ state;
3752
+ routerLink;
3753
+ confirmDialog;
3754
+ // @Input()
3755
+ // get endpointConfig(): IActionMenuItemEndpointConfig { return this._endpointConfig }
3756
+ // set endpointConfig(value: IActionMenuItemEndpointConfig) {
3757
+ // this._endpointConfig = value
3758
+ // if (value) {
3759
+ // // TODO: Handle this in a way that can be canceled.
3760
+ // this._endpointConfigSub = this.click
3761
+ // .pipe(untilDestroyed(this))
3762
+ // .subscribe(e => this._handleEndpointAction())
3763
+ // } else {
3764
+ // if (this._endpointConfigSub) {
3765
+ // this._endpointConfigSub.unsubscribe()
3766
+ // }
3767
+ // }
3768
+ // }
3769
+ // private _endpointConfig: IActionMenuItemEndpointConfig
3770
+ // private _endpointConfigSub: Subscription
3771
+ // @Input()
3772
+ // get modalConfig(): IActionMenuItemModalConfig { return this._modalConfig }
3773
+ // set modalConfig(value: IActionMenuItemModalConfig) {
3774
+ // this._modalConfig = value
3775
+ // if (value) {
3776
+ // // TODO: Handle this in a way that can be canceled.
3777
+ // this._modalConfigSub = this.click
3778
+ // .pipe(untilDestroyed(this))
3779
+ // .subscribe(e => this._handleModalAction())
3780
+ // } else {
3781
+ // if (this._modalConfigSub) {
3782
+ // this._modalConfigSub.unsubscribe()
3783
+ // }
3784
+ // }
3785
+ // }
3786
+ // private _modalConfig: IActionMenuItemModalConfig
3787
+ // private _modalConfigSub: Subscription
3788
+ row;
3789
+ // eslint-disable-next-line @angular-eslint/no-output-native
3790
+ click = new EventEmitter();
3791
+ constructor(_modal, _dynamicComponentLoader, _http) {
3792
+ this._modal = _modal;
3793
+ this._dynamicComponentLoader = _dynamicComponentLoader;
3794
+ this._http = _http;
3795
+ }
3796
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuItemDirective, deps: [{ token: i1$3.Modal }, { token: i2$4.TheSeamDynamicComponentLoader }, { token: i3$3.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3797
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableActionMenuItemDirective, isStandalone: false, selector: "[seamDatatableActionMenuItem]", inputs: { label: "label", href: ["attr.href", "href"], target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", preserveFragment: "preserveFragment", skipLocationChange: "skipLocationChange", replaceUrl: "replaceUrl", state: "state", routerLink: "routerLink", confirmDialog: "confirmDialog", row: "row" }, outputs: { click: "click" }, host: { properties: { "class.list-group-item": "this._listGroupItem", "class.list-group-item-action": "this._listGroupItemAction" } }, ngImport: i0 });
3798
+ }
3799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuItemDirective, decorators: [{
3800
+ type: Directive,
3801
+ args: [{
3802
+ selector: '[seamDatatableActionMenuItem]',
3803
+ standalone: false
3804
+ }]
3805
+ }], ctorParameters: () => [{ type: i1$3.Modal }, { type: i2$4.TheSeamDynamicComponentLoader }, { type: i3$3.HttpClient, decorators: [{
3806
+ type: Optional
3807
+ }] }], propDecorators: { _listGroupItem: [{
3808
+ type: HostBinding,
3809
+ args: ['class.list-group-item']
3810
+ }], _listGroupItemAction: [{
3811
+ type: HostBinding,
3812
+ args: ['class.list-group-item-action']
3813
+ }], label: [{
3814
+ type: Input
3815
+ }], href: [{
3816
+ type: Input,
3817
+ args: ['attr.href']
3818
+ }], target: [{
3819
+ type: Input
3820
+ }], queryParams: [{
3821
+ type: Input
3822
+ }], fragment: [{
3823
+ type: Input
3824
+ }], queryParamsHandling: [{
3825
+ type: Input
3826
+ }], preserveFragment: [{
3827
+ type: Input
3828
+ }], skipLocationChange: [{
3829
+ type: Input
3830
+ }], replaceUrl: [{
3831
+ type: Input
3832
+ }], state: [{
3833
+ type: Input
3834
+ }], routerLink: [{
3835
+ type: Input
3836
+ }], confirmDialog: [{
3837
+ type: Input
3838
+ }], row: [{
3839
+ type: Input
3840
+ }], click: [{
3841
+ type: Output
3842
+ }] } });
3843
+
3844
+ class DatatableActionMenuToggleDirective {
3845
+ _elementRef;
3846
+ _viewContainerRef;
3847
+ _overlay;
3848
+ seamDatatableActionMenuToggle;
3849
+ _active = false;
3850
+ _overlayRef;
3851
+ _actionDown = false;
3852
+ _onKeydown(event) {
3853
+ if (event.keyCode === ESCAPE) {
3854
+ this.disable();
3855
+ }
3856
+ }
3857
+ _onClick(event) {
3858
+ this.toggle();
3859
+ }
3860
+ _mouseDown(event) { this.onInputDown(event); }
3861
+ _pointerDown(event) { this.onInputDown(event); }
3862
+ _mouseUp(event) { this.onInputUp(event); }
3863
+ _pointerUp(event) { this.onInputUp(event); }
3864
+ constructor(_elementRef, _viewContainerRef, _overlay) {
3865
+ this._elementRef = _elementRef;
3866
+ this._viewContainerRef = _viewContainerRef;
3867
+ this._overlay = _overlay;
3868
+ }
3869
+ get active() { return this._active; }
3870
+ toggle() {
3871
+ if (this._active) {
3872
+ this.disable();
3873
+ }
3874
+ else {
3875
+ this.enable();
3876
+ }
3877
+ }
3878
+ enable() {
3879
+ if (this.active) {
3880
+ return;
3881
+ }
3882
+ if (!this.seamDatatableActionMenuToggle) {
3883
+ return;
3884
+ }
3885
+ this._overlayRef = this._overlay.create({
3886
+ hasBackdrop: false,
3887
+ positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),
3888
+ });
3889
+ this._overlayRef.attach(new TemplatePortal(this.seamDatatableActionMenuToggle, this._viewContainerRef));
3890
+ this._active = true;
3891
+ }
3892
+ disable() {
3893
+ if (!this.active) {
3894
+ return;
3895
+ }
3896
+ if (this._overlayRef?.hasAttached()) {
3897
+ this._overlayRef.detach();
3898
+ }
3899
+ this._active = false;
3900
+ }
3901
+ getOverlayPosition(origin) {
3902
+ const positionStrategy = this._overlay.position()
3903
+ .flexibleConnectedTo(origin)
3904
+ .withPositions(this.getPositions())
3905
+ .withFlexibleDimensions(false)
3906
+ .withPush(false);
3907
+ return positionStrategy;
3908
+ }
3909
+ getPositions() {
3910
+ return [
3911
+ {
3912
+ originX: 'start',
3913
+ originY: 'bottom',
3914
+ overlayX: 'end',
3915
+ overlayY: 'top',
3916
+ },
3917
+ {
3918
+ originX: 'start',
3919
+ originY: 'top',
3920
+ overlayX: 'end',
3921
+ overlayY: 'bottom',
3922
+ },
3923
+ {
3924
+ originX: 'end',
3925
+ originY: 'bottom',
3926
+ overlayX: 'start',
3927
+ overlayY: 'top',
3928
+ },
3929
+ {
3930
+ originX: 'end',
3931
+ originY: 'top',
3932
+ overlayX: 'start',
3933
+ overlayY: 'bottom',
3934
+ },
3935
+ ];
3936
+ }
3937
+ onFocusChangeOverlay(event) {
3938
+ if (event === null) {
3939
+ if (!this._actionDown) {
3940
+ // this.disable()
3941
+ }
3942
+ }
3943
+ }
3944
+ onInputDown(event) {
3945
+ this._actionDown = true;
3946
+ }
3947
+ onInputUp(event) {
3948
+ this._actionDown = false;
3949
+ }
3950
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1$4.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
3951
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: DatatableActionMenuToggleDirective, isStandalone: false, selector: "[seamDatatableActionMenuToggle]", inputs: { seamDatatableActionMenuToggle: "seamDatatableActionMenuToggle" }, host: { listeners: { "document:keydown": "_onKeydown($event)", "click": "_onClick($event)", "mousedown": "_mouseDown($event)", "pointerdown": "_pointerDown($event)", "mouseup": "_mouseUp($event)", "pointerup": "_pointerUp($event)" } }, exportAs: ["seamDatatableActionMenuToggle"], ngImport: i0 });
3952
+ }
3953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DatatableActionMenuToggleDirective, decorators: [{
3954
+ type: Directive,
3955
+ args: [{
3956
+ selector: '[seamDatatableActionMenuToggle]',
3957
+ exportAs: 'seamDatatableActionMenuToggle',
3958
+ standalone: false
3959
+ }]
3960
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1$4.Overlay }], propDecorators: { seamDatatableActionMenuToggle: [{
3961
+ type: Input
3962
+ }], _onKeydown: [{
3963
+ type: HostListener,
3964
+ args: ['document:keydown', ['$event']]
3965
+ }], _onClick: [{
3966
+ type: HostListener,
3967
+ args: ['click', ['$event']]
3968
+ }], _mouseDown: [{
3969
+ type: HostListener,
3970
+ args: ['mousedown', ['$event']]
3971
+ }], _pointerDown: [{
3972
+ type: HostListener,
3973
+ args: ['pointerdown', ['$event']]
3974
+ }], _mouseUp: [{
3975
+ type: HostListener,
3976
+ args: ['mouseup', ['$event']]
3977
+ }], _pointerUp: [{
3978
+ type: HostListener,
3979
+ args: ['pointerup', ['$event']]
3980
+ }] } });
3981
+
3982
+ class DatatableGqlDataSource extends DatatableDataSource {
3983
+ connect(collectionViewer) {
3984
+ throw new Error('Method not implemented.');
3985
+ // return combineLatest([
3986
+ // this.sorts$,
3987
+ // this.filterStates$,
3988
+ // this.page$
3989
+ // ]).pipe()
3990
+ }
3991
+ disconnect(collectionViewer) {
3992
+ throw new Error('Method not implemented.');
3993
+ }
3994
+ }
3995
+
3996
+ class TheSeamDatatableScrollbarHelperService {
3997
+ _ngZone;
3998
+ _scrollbars;
3999
+ width = 0;
4000
+ /**
4001
+ * Animates programmatic scrolling, such as switching pages.
4002
+ *
4003
+ * NOTE: Animating the scrolling works, but the datatable may need changes
4004
+ * before this is enabled, because it seems a little stuttery when it moves.
4005
+ */
4006
+ animatedScrolling = false;
4007
+ animatedScrollingTime = 250;
4008
+ constructor(_ngZone, _scrollbars) {
4009
+ this._ngZone = _ngZone;
4010
+ this._scrollbars = _scrollbars;
4011
+ }
4012
+ onInitScroller(scroller) {
4013
+ this._scrollbars.initializeInstance(scroller.parentElement, {
4014
+ callbacks: {
4015
+ onScroll: e => {
4016
+ this._ngZone.run(() => {
4017
+ scroller.onScrolled(e);
4018
+ });
4019
+ }
4020
+ }
4021
+ });
4022
+ }
4023
+ onDestroyScroller(scroller) {
4024
+ this._scrollbars.destroyInstance(scroller.parentElement);
4025
+ }
4026
+ setOffset(scroller, offsetY) {
4027
+ this._ngZone.runOutsideAngular(() => {
4028
+ if (this.animatedScrolling) {
4029
+ this._scrollbars.getInstance(scroller.parentElement)
4030
+ .scroll({ y: offsetY }, this.animatedScrollingTime);
4031
+ }
4032
+ else {
4033
+ this._scrollbars.getInstance(scroller.parentElement)
4034
+ .scroll({ y: offsetY });
4035
+ }
4036
+ });
4037
+ }
4038
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, deps: [{ token: i0.NgZone }, { token: i1$5.TheSeamOverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Injectable });
4039
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableScrollbarHelperService });
4040
+ }
4041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, decorators: [{
4042
+ type: Injectable
4043
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$5.TheSeamOverlayScrollbarsService }] });
4044
+
4045
+ function withStoredColumnInfo(columns, preferenceColumns) {
4046
+ const _columns = [];
4047
+ for (const col of columns) {
4048
+ const storedCol = preferenceColumns.find(v => v.prop === col.prop);
4049
+ if (storedCol) {
4050
+ const _col = { ...col };
4051
+ if (hasProperty(storedCol, 'width')) {
4052
+ _col.width = Math.max(storedCol.width, 0);
4053
+ }
4054
+ _col.canAutoResize = storedCol.canAutoResize;
4055
+ _columns.push(_col);
4056
+ }
4057
+ else {
4058
+ _columns.push(col);
4059
+ }
4060
+ }
4061
+ return _columns;
4062
+ }
4063
+
4064
+ class TheSeamDatatableModule {
4065
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4066
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableModule, declarations: [DatatableComponent,
4067
+ DatatableCellTplDirective,
4068
+ DatatableColumnComponent,
4069
+ DatatableActionMenuComponent,
4070
+ DatatableActionMenuToggleDirective,
4071
+ DatatableActionMenuItemComponent,
4072
+ DatatableMenuBarComponent,
4073
+ DatatableFilterDirective,
4074
+ DatatableRowActionItemDirective,
4075
+ DatatableExportButtonComponent,
4076
+ TheSeamDatatableRowDetailDirective,
4077
+ DatatableRowDetailTplDirective,
4078
+ TheSeamDatatableFooterDirective,
4079
+ DatatableFooterTplDirective,
4080
+ DatatableColumnPreferencesComponent,
4081
+ DatatableColumnPreferencesButtonComponent,
4082
+ DatatableActionMenuItemDirective,
4083
+ DatatableMenuBarRowComponent,
4084
+ DatatableMenuBarColumnLeftComponent,
4085
+ DatatableMenuBarColumnCenterComponent,
4086
+ DatatableMenuBarColumnRightComponent,
4087
+ DatatableMenuBarTextComponent,
4088
+ DatatableColumnFilterMenuComponent,
4089
+ DatatableColumnFilterSearchTextComponent,
4090
+ DatatableColumnFilterSearchNumericComponent,
4091
+ DatatableColumnFilterSearchDateComponent,
4092
+ DatatableColumnFilterTplDirective,
4093
+ TheSeamDatatableColumnFilterDirective], imports: [CommonModule,
4094
+ NgxDatatableModule,
4095
+ FontAwesomeModule,
4096
+ OverlayModule,
4097
+ A11yModule,
4098
+ TheSeamSharedModule,
4099
+ RouterModule,
4100
+ TheSeamMenuModule,
4101
+ TheSeamButtonsModule,
4102
+ TheSeamIconModule,
4103
+ ToastrModule,
4104
+ TheSeamLoadingModule,
4105
+ PortalModule,
4106
+ TheSeamConfirmDialogModule,
4107
+ TheSeamPopoverModule,
4108
+ TheSeamCheckboxComponent,
4109
+ TheSeamFormFieldModule,
4110
+ ReactiveFormsModule,
4111
+ TheSeamTableCellTypeModule,
4112
+ TheSeamDataFiltersModule,
4113
+ NgSelectModule,
4114
+ TheSeamToggleGroupModule], exports: [DatatableComponent,
4115
+ DatatableCellTplDirective,
4116
+ DatatableColumnComponent,
4117
+ DatatableActionMenuComponent,
4118
+ DatatableActionMenuItemComponent,
4119
+ DatatableMenuBarComponent,
4120
+ DatatableFilterDirective,
4121
+ DatatableRowActionItemDirective,
4122
+ DatatableExportButtonComponent,
4123
+ TheSeamDatatableRowDetailDirective,
4124
+ DatatableRowDetailTplDirective,
4125
+ TheSeamDatatableFooterDirective,
4126
+ DatatableFooterTplDirective,
4127
+ DatatableColumnPreferencesComponent,
4128
+ DatatableColumnPreferencesButtonComponent,
4129
+ DatatableActionMenuItemDirective,
4130
+ DatatableMenuBarRowComponent,
4131
+ DatatableMenuBarColumnLeftComponent,
4132
+ DatatableMenuBarColumnCenterComponent,
4133
+ DatatableMenuBarColumnRightComponent,
4134
+ DatatableMenuBarTextComponent,
4135
+ DatatableColumnFilterMenuComponent,
4136
+ DatatableColumnFilterSearchTextComponent,
4137
+ DatatableColumnFilterSearchNumericComponent,
4138
+ DatatableColumnFilterSearchDateComponent,
4139
+ DatatableColumnFilterTplDirective,
4140
+ TheSeamDatatableColumnFilterDirective] });
4141
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableModule, providers: [
4142
+ { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService },
4143
+ ], imports: [CommonModule,
4144
+ NgxDatatableModule,
4145
+ FontAwesomeModule,
4146
+ OverlayModule,
4147
+ A11yModule,
4148
+ TheSeamSharedModule,
4149
+ RouterModule,
4150
+ TheSeamMenuModule,
4151
+ TheSeamButtonsModule,
4152
+ TheSeamIconModule,
4153
+ ToastrModule,
4154
+ TheSeamLoadingModule,
4155
+ PortalModule,
4156
+ TheSeamConfirmDialogModule,
4157
+ TheSeamPopoverModule,
4158
+ TheSeamCheckboxComponent,
4159
+ TheSeamFormFieldModule,
4160
+ ReactiveFormsModule,
4161
+ TheSeamTableCellTypeModule,
4162
+ TheSeamDataFiltersModule,
4163
+ NgSelectModule,
4164
+ TheSeamToggleGroupModule] });
4165
+ }
4166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamDatatableModule, decorators: [{
4167
+ type: NgModule,
4168
+ args: [{
4169
+ declarations: [
4170
+ DatatableComponent,
4171
+ DatatableCellTplDirective,
4172
+ DatatableColumnComponent,
4173
+ DatatableActionMenuComponent,
4174
+ DatatableActionMenuToggleDirective,
4175
+ DatatableActionMenuItemComponent,
4176
+ DatatableMenuBarComponent,
4177
+ DatatableFilterDirective,
4178
+ DatatableRowActionItemDirective,
4179
+ DatatableExportButtonComponent,
4180
+ TheSeamDatatableRowDetailDirective,
4181
+ DatatableRowDetailTplDirective,
4182
+ TheSeamDatatableFooterDirective,
4183
+ DatatableFooterTplDirective,
4184
+ DatatableColumnPreferencesComponent,
4185
+ DatatableColumnPreferencesButtonComponent,
4186
+ DatatableActionMenuItemDirective,
4187
+ DatatableMenuBarRowComponent,
4188
+ DatatableMenuBarColumnLeftComponent,
4189
+ DatatableMenuBarColumnCenterComponent,
4190
+ DatatableMenuBarColumnRightComponent,
4191
+ DatatableMenuBarTextComponent,
4192
+ DatatableColumnFilterMenuComponent,
4193
+ DatatableColumnFilterSearchTextComponent,
4194
+ DatatableColumnFilterSearchNumericComponent,
4195
+ DatatableColumnFilterSearchDateComponent,
4196
+ DatatableColumnFilterTplDirective,
4197
+ TheSeamDatatableColumnFilterDirective,
4198
+ ],
4199
+ imports: [
4200
+ CommonModule,
4201
+ NgxDatatableModule,
4202
+ FontAwesomeModule,
4203
+ OverlayModule,
4204
+ A11yModule,
4205
+ TheSeamSharedModule,
4206
+ RouterModule,
4207
+ TheSeamMenuModule,
4208
+ TheSeamButtonsModule,
4209
+ TheSeamIconModule,
4210
+ ToastrModule,
4211
+ TheSeamLoadingModule,
4212
+ PortalModule,
4213
+ TheSeamConfirmDialogModule,
4214
+ TheSeamPopoverModule,
4215
+ TheSeamCheckboxComponent,
4216
+ TheSeamFormFieldModule,
4217
+ ReactiveFormsModule,
4218
+ TheSeamTableCellTypeModule,
4219
+ TheSeamDataFiltersModule,
4220
+ NgSelectModule,
4221
+ TheSeamToggleGroupModule,
4222
+ ],
4223
+ exports: [
4224
+ DatatableComponent,
4225
+ DatatableCellTplDirective,
4226
+ DatatableColumnComponent,
4227
+ DatatableActionMenuComponent,
4228
+ DatatableActionMenuItemComponent,
4229
+ DatatableMenuBarComponent,
4230
+ DatatableFilterDirective,
4231
+ DatatableRowActionItemDirective,
4232
+ DatatableExportButtonComponent,
4233
+ TheSeamDatatableRowDetailDirective,
4234
+ DatatableRowDetailTplDirective,
4235
+ TheSeamDatatableFooterDirective,
4236
+ DatatableFooterTplDirective,
4237
+ DatatableColumnPreferencesComponent,
4238
+ DatatableColumnPreferencesButtonComponent,
4239
+ DatatableActionMenuItemDirective,
4240
+ DatatableMenuBarRowComponent,
4241
+ DatatableMenuBarColumnLeftComponent,
4242
+ DatatableMenuBarColumnCenterComponent,
4243
+ DatatableMenuBarColumnRightComponent,
4244
+ DatatableMenuBarTextComponent,
4245
+ DatatableColumnFilterMenuComponent,
4246
+ DatatableColumnFilterSearchTextComponent,
4247
+ DatatableColumnFilterSearchNumericComponent,
4248
+ DatatableColumnFilterSearchDateComponent,
4249
+ DatatableColumnFilterTplDirective,
4250
+ TheSeamDatatableColumnFilterDirective,
4251
+ ],
4252
+ providers: [
4253
+ { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService },
4254
+ ],
4255
+ }]
4256
+ }] });
4257
+
4258
+ /**
4259
+ * Generated bundle index. Do not edit.
4260
+ */
4261
+
4262
+ export { CURRENT_DATATABLE_PREFERENCES_VERSION, ColumnsAlteration, ColumnsDataFilter, ColumnsFiltersService, DatatableActionMenuComponent, DatatableActionMenuItemComponent, DatatableActionMenuItemDirective, DatatableActionMenuToggleDirective, DatatableCellTplDirective, DatatableColumnChangesService, DatatableColumnComponent, DatatableColumnFilterMenuComponent, DatatableColumnFilterSearchDateComponent, DatatableColumnFilterSearchNumericComponent, DatatableColumnFilterSearchTextComponent, DatatableColumnFilterTplDirective, DatatableColumnPreferencesButtonComponent, DatatableColumnPreferencesComponent, DatatableComponent, DatatableDataSource, DatatableExportButtonComponent, DatatableFilterDirective, DatatableFooterTplDirective, DatatableGqlDataSource, DatatableMenuBarColumnCenterComponent, DatatableMenuBarColumnLeftComponent, DatatableMenuBarColumnRightComponent, DatatableMenuBarComponent, DatatableMenuBarRowComponent, DatatableMenuBarTextComponent, DatatablePreferencesService, DatatableRowActionItemDirective, DatatableRowDetailTplDirective, EMPTY_DATATABLE_PREFERENCES, SearchDateColumnsDataFilter, SearchNumericColumnsDataFilter, SearchTextColumnsDataFilter, THESEAM_COLUMNS_DATA_FILTER, THESEAM_COLUMNS_DATA_FILTERS_DEFAULT, THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES, THESEAM_DATATABLE, THESEAM_DATATABLE_CONFIG, THESEAM_DATATABLE_PREFERENCES_ACCESSOR, THESEAM_MENUBAR_ITEM_DATA, TheSeamDatatableColumnFilterDirective, TheSeamDatatableFooterDirective, TheSeamDatatableModule, TheSeamDatatableRowDetailDirective, TheSeamDatatableScrollbarHelperService, _THESEAM_DATATABLE, _THESEAM_DATATABLE_ACCESSOR, _THESEAM_DATA_FILTER_CONTAINER, getFormattedDateForComparison, mapColumnsAlterationsStates, withStoredColumnInfo };
4263
+ //# sourceMappingURL=theseam-ui-common-datatable.mjs.map