@theseam/ui-common 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1567) hide show
  1. package/asset-reader/asset-reader-helper.service.d.ts +7 -0
  2. package/asset-reader/asset-reader.module.d.ts +2 -0
  3. package/asset-reader/encrypted-asset-link.directive.d.ts +23 -0
  4. package/asset-reader/encrypted-asset-reader.d.ts +24 -0
  5. package/asset-reader/package.json +11 -0
  6. package/asset-reader/public-api.d.ts +4 -0
  7. package/asset-reader/theseam-ui-common-asset-reader.d.ts +4 -0
  8. package/asset-reader/theseam-ui-common-asset-reader.metadata.json +1 -0
  9. package/assets/.gitkeep +0 -0
  10. package/assets/vendor/intl-tel-input/css/intlTelInput.min.css +1 -0
  11. package/assets/vendor/intl-tel-input/img/flags.png +0 -0
  12. package/assets/vendor/intl-tel-input/img/flags@2x.png +0 -0
  13. package/assets/vendor/intl-tel-input/js/utils.js +501 -0
  14. package/breadcrumbs/breadcrumb.d.ts +11 -0
  15. package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +10 -0
  16. package/breadcrumbs/breadcrumbs-resolver.d.ts +5 -0
  17. package/breadcrumbs/breadcrumbs.module.d.ts +2 -0
  18. package/breadcrumbs/breadcrumbs.service.d.ts +20 -0
  19. package/breadcrumbs/package.json +11 -0
  20. package/breadcrumbs/public-api.d.ts +5 -0
  21. package/breadcrumbs/theseam-ui-common-breadcrumbs.d.ts +4 -0
  22. package/breadcrumbs/theseam-ui-common-breadcrumbs.metadata.json +1 -0
  23. package/bundles/theseam-ui-common-asset-reader.umd.js +533 -0
  24. package/bundles/theseam-ui-common-asset-reader.umd.js.map +1 -0
  25. package/bundles/theseam-ui-common-breadcrumbs.umd.js +587 -0
  26. package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -0
  27. package/bundles/theseam-ui-common-buttons.umd.js +719 -0
  28. package/bundles/theseam-ui-common-buttons.umd.js.map +1 -0
  29. package/bundles/theseam-ui-common-card.umd.js +480 -0
  30. package/bundles/theseam-ui-common-card.umd.js.map +1 -0
  31. package/bundles/theseam-ui-common-checkbox.umd.js +650 -0
  32. package/bundles/theseam-ui-common-checkbox.umd.js.map +1 -0
  33. package/bundles/theseam-ui-common-confirm-dialog.umd.js +491 -0
  34. package/bundles/theseam-ui-common-confirm-dialog.umd.js.map +1 -0
  35. package/bundles/theseam-ui-common-core.umd.js +604 -0
  36. package/bundles/theseam-ui-common-core.umd.js.map +1 -0
  37. package/bundles/theseam-ui-common-data-exporter.umd.js +96 -0
  38. package/bundles/theseam-ui-common-data-exporter.umd.js.map +1 -0
  39. package/bundles/theseam-ui-common-data-filters.umd.js +888 -0
  40. package/bundles/theseam-ui-common-data-filters.umd.js.map +1 -0
  41. package/bundles/theseam-ui-common-datatable-dynamic.umd.js +1499 -0
  42. package/bundles/theseam-ui-common-datatable-dynamic.umd.js.map +1 -0
  43. package/bundles/theseam-ui-common-datatable.umd.js +2247 -0
  44. package/bundles/theseam-ui-common-datatable.umd.js.map +1 -0
  45. package/bundles/theseam-ui-common-dynamic-component-loader.umd.js +180 -0
  46. package/bundles/theseam-ui-common-dynamic-component-loader.umd.js.map +1 -0
  47. package/bundles/theseam-ui-common-dynamic.umd.js +1253 -0
  48. package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -0
  49. package/bundles/theseam-ui-common-footer-bar.umd.js +49 -0
  50. package/bundles/theseam-ui-common-footer-bar.umd.js.map +1 -0
  51. package/bundles/theseam-ui-common-form-field-error.umd.js +884 -0
  52. package/bundles/theseam-ui-common-form-field-error.umd.js.map +1 -0
  53. package/bundles/theseam-ui-common-form-field.umd.js +914 -0
  54. package/bundles/theseam-ui-common-form-field.umd.js.map +1 -0
  55. package/bundles/theseam-ui-common-framework.umd.js +3344 -0
  56. package/bundles/theseam-ui-common-framework.umd.js.map +1 -0
  57. package/bundles/theseam-ui-common-graphql.umd.js +357 -0
  58. package/bundles/theseam-ui-common-graphql.umd.js.map +1 -0
  59. package/bundles/theseam-ui-common-icon.umd.js +890 -0
  60. package/bundles/theseam-ui-common-icon.umd.js.map +1 -0
  61. package/bundles/theseam-ui-common-layout.umd.js +119 -0
  62. package/bundles/theseam-ui-common-layout.umd.js.map +1 -0
  63. package/bundles/theseam-ui-common-loading.umd.js +152 -0
  64. package/bundles/theseam-ui-common-loading.umd.js.map +1 -0
  65. package/bundles/theseam-ui-common-menu.umd.js +1152 -0
  66. package/bundles/theseam-ui-common-menu.umd.js.map +1 -0
  67. package/bundles/theseam-ui-common-modal.umd.js +1669 -0
  68. package/bundles/theseam-ui-common-modal.umd.js.map +1 -0
  69. package/bundles/theseam-ui-common-models.umd.js +63 -0
  70. package/bundles/theseam-ui-common-models.umd.js.map +1 -0
  71. package/bundles/theseam-ui-common-popover.umd.js +504 -0
  72. package/bundles/theseam-ui-common-popover.umd.js.map +1 -0
  73. package/bundles/theseam-ui-common-progress.umd.js +420 -0
  74. package/bundles/theseam-ui-common-progress.umd.js.map +1 -0
  75. package/bundles/theseam-ui-common-scrollbar.umd.js +240 -0
  76. package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -0
  77. package/bundles/theseam-ui-common-services.umd.js +178 -0
  78. package/bundles/theseam-ui-common-services.umd.js.map +1 -0
  79. package/bundles/theseam-ui-common-shared.umd.js +1115 -0
  80. package/bundles/theseam-ui-common-shared.umd.js.map +1 -0
  81. package/bundles/theseam-ui-common-storage.umd.js +178 -0
  82. package/bundles/theseam-ui-common-storage.umd.js.map +1 -0
  83. package/bundles/theseam-ui-common-story-helpers.umd.js +795 -0
  84. package/bundles/theseam-ui-common-story-helpers.umd.js.map +1 -0
  85. package/bundles/theseam-ui-common-tabbed.umd.js +628 -0
  86. package/bundles/theseam-ui-common-tabbed.umd.js.map +1 -0
  87. package/bundles/theseam-ui-common-table-cell-type.umd.js +222 -0
  88. package/bundles/theseam-ui-common-table-cell-type.umd.js.map +1 -0
  89. package/bundles/theseam-ui-common-table-cell-types.umd.js +1174 -0
  90. package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -0
  91. package/bundles/theseam-ui-common-table.umd.js +475 -0
  92. package/bundles/theseam-ui-common-table.umd.js.map +1 -0
  93. package/bundles/theseam-ui-common-tel-input.umd.js +1055 -0
  94. package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -0
  95. package/bundles/theseam-ui-common-test-helpers.umd.js +94 -0
  96. package/bundles/theseam-ui-common-test-helpers.umd.js.map +1 -0
  97. package/bundles/theseam-ui-common-tiled-select.umd.js +849 -0
  98. package/bundles/theseam-ui-common-tiled-select.umd.js.map +1 -0
  99. package/bundles/theseam-ui-common-toggle-edit.umd.js +893 -0
  100. package/bundles/theseam-ui-common-toggle-edit.umd.js.map +1 -0
  101. package/bundles/theseam-ui-common-toggle-group.umd.js +629 -0
  102. package/bundles/theseam-ui-common-toggle-group.umd.js.map +1 -0
  103. package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js +136 -0
  104. package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js.map +1 -0
  105. package/bundles/theseam-ui-common-utils.umd.js +1245 -0
  106. package/bundles/theseam-ui-common-utils.umd.js.map +1 -0
  107. package/bundles/theseam-ui-common-validators.umd.js +105 -0
  108. package/bundles/theseam-ui-common-validators.umd.js.map +1 -0
  109. package/bundles/theseam-ui-common-viewers.umd.js +699 -0
  110. package/bundles/theseam-ui-common-viewers.umd.js.map +1 -0
  111. package/bundles/theseam-ui-common-widget.umd.js +1710 -0
  112. package/bundles/theseam-ui-common-widget.umd.js.map +1 -0
  113. package/bundles/theseam-ui-common.umd.js +54 -0
  114. package/bundles/theseam-ui-common.umd.js.map +1 -0
  115. package/buttons/badge-button/badge-button.component.d.ts +18 -0
  116. package/buttons/button/button.component.d.ts +28 -0
  117. package/buttons/buttons.module.d.ts +2 -0
  118. package/buttons/package.json +11 -0
  119. package/buttons/progress-circle-button/progress-circle-button.component.d.ts +19 -0
  120. package/buttons/public-api.d.ts +5 -0
  121. package/buttons/theseam-ui-common-buttons.d.ts +4 -0
  122. package/buttons/theseam-ui-common-buttons.metadata.json +1 -0
  123. package/buttons/toggle-button/toggle-button.component.d.ts +26 -0
  124. package/card/card-action/card-action.component.d.ts +9 -0
  125. package/card/card-body/card-body.component.d.ts +12 -0
  126. package/card/card-footer/card-footer.component.d.ts +5 -0
  127. package/card/card-header/card-header.component.d.ts +7 -0
  128. package/card/card.component.d.ts +6 -0
  129. package/card/card.module.d.ts +2 -0
  130. package/card/package.json +11 -0
  131. package/card/public-api.d.ts +6 -0
  132. package/card/theseam-ui-common-card.d.ts +4 -0
  133. package/card/theseam-ui-common-card.metadata.json +1 -0
  134. package/checkbox/checkbox.component.d.ts +140 -0
  135. package/checkbox/checkbox.module.d.ts +2 -0
  136. package/checkbox/package.json +11 -0
  137. package/checkbox/public-api.d.ts +2 -0
  138. package/checkbox/theseam-ui-common-checkbox.d.ts +4 -0
  139. package/checkbox/theseam-ui-common-checkbox.metadata.json +1 -0
  140. package/confirm-dialog/confirm-click.directive.d.ts +24 -0
  141. package/confirm-dialog/confirm-dialog.component.d.ts +6 -0
  142. package/confirm-dialog/confirm-dialog.module.d.ts +2 -0
  143. package/confirm-dialog/confirm-dialog.service.d.ts +11 -0
  144. package/confirm-dialog/package.json +11 -0
  145. package/confirm-dialog/public-api.d.ts +4 -0
  146. package/confirm-dialog/theseam-ui-common-confirm-dialog.d.ts +4 -0
  147. package/confirm-dialog/theseam-ui-common-confirm-dialog.metadata.json +1 -0
  148. package/core/common-behaviors/active.d.ts +8 -0
  149. package/core/common-behaviors/constructor.d.ts +9 -0
  150. package/core/common-behaviors/disabled.d.ts +17 -0
  151. package/core/common-behaviors/element-ref.d.ts +4 -0
  152. package/core/common-behaviors/index.d.ts +9 -0
  153. package/core/common-behaviors/initialized.d.ts +30 -0
  154. package/core/common-behaviors/renderer2.d.ts +4 -0
  155. package/core/common-behaviors/size.d.ts +9 -0
  156. package/core/common-behaviors/tabindex.d.ts +18 -0
  157. package/core/common-behaviors/theme.d.ts +10 -0
  158. package/core/input-decorators/index.d.ts +2 -0
  159. package/core/input-decorators/input-boolean.decorator.d.ts +12 -0
  160. package/core/input-decorators/input-number.decorator.d.ts +12 -0
  161. package/core/package.json +11 -0
  162. package/core/public-api.d.ts +2 -0
  163. package/core/theseam-ui-common-core.d.ts +4 -0
  164. package/core/theseam-ui-common-core.metadata.json +1 -0
  165. package/data-exporter/data-exporter.d.ts +30 -0
  166. package/data-exporter/data-exporter.module.d.ts +2 -0
  167. package/data-exporter/exporters/csv-exporter.d.ts +8 -0
  168. package/data-exporter/exporters/xlsx-exporter.d.ts +8 -0
  169. package/data-exporter/package.json +11 -0
  170. package/data-exporter/public-api.d.ts +4 -0
  171. package/data-exporter/theseam-ui-common-data-exporter.d.ts +4 -0
  172. package/data-exporter/theseam-ui-common-data-exporter.metadata.json +1 -0
  173. package/data-filters/data-filter-container.d.ts +8 -0
  174. package/data-filters/data-filter-def.d.ts +10 -0
  175. package/data-filters/data-filter.d.ts +49 -0
  176. package/data-filters/data-filters.module.d.ts +2 -0
  177. package/data-filters/filters/data-filter-search/data-filter-search.component.d.ts +36 -0
  178. package/data-filters/filters/data-filter-search/search-filter-options.d.ts +2 -0
  179. package/data-filters/filters/data-filter-text/data-filter-text.component.d.ts +34 -0
  180. package/data-filters/filters/data-filter-text/text-filter-options.d.ts +25 -0
  181. package/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.d.ts +43 -0
  182. package/data-filters/package.json +11 -0
  183. package/data-filters/public-api.d.ts +9 -0
  184. package/data-filters/theseam-ui-common-data-filters.d.ts +4 -0
  185. package/data-filters/theseam-ui-common-data-filters.metadata.json +1 -0
  186. package/datatable/datatable/datatable.component.d.ts +195 -0
  187. package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +15 -0
  188. package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +28 -0
  189. package/datatable/datatable-column/datatable-column.component.d.ts +41 -0
  190. package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +14 -0
  191. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +6 -0
  192. package/datatable/datatable-export-button/datatable-export-button.component.d.ts +24 -0
  193. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +17 -0
  194. package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +5 -0
  195. package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +5 -0
  196. package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +5 -0
  197. package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +5 -0
  198. package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +10 -0
  199. package/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.d.ts +5 -0
  200. package/datatable/datatable-row-detail/datatable-row-detail.directive.d.ts +37 -0
  201. package/datatable/datatable.module.d.ts +2 -0
  202. package/datatable/directives/datatable-action-menu-item.directive.d.ts +35 -0
  203. package/datatable/directives/datatable-action-menu-toggle.directive.d.ts +27 -0
  204. package/datatable/directives/datatable-cell-tpl.directive.d.ts +5 -0
  205. package/datatable/directives/datatable-filter.directive.d.ts +6 -0
  206. package/datatable/directives/datatable-row-action-item.directive.d.ts +5 -0
  207. package/datatable/models/datatable-accessor.d.ts +19 -0
  208. package/datatable/models/datatable-data-source.d.ts +14 -0
  209. package/datatable/models/datatable-gql-data-source.d.ts +7 -0
  210. package/datatable/models/menubar-item-data.d.ts +3 -0
  211. package/datatable/models/page-info.d.ts +6 -0
  212. package/datatable/models/preferences-accessor.d.ts +15 -0
  213. package/datatable/models/preferences.d.ts +9 -0
  214. package/datatable/models/sort-event.d.ts +4 -0
  215. package/datatable/models/sort-item.d.ts +4 -0
  216. package/datatable/models/table-column.d.ts +14 -0
  217. package/datatable/package.json +11 -0
  218. package/datatable/public-api.d.ts +38 -0
  219. package/datatable/services/datatable-column-changes.service.d.ts +6 -0
  220. package/datatable/services/datatable-preferences.service.d.ts +19 -0
  221. package/datatable/services/datatable-scrollbar-helper.service.d.ts +19 -0
  222. package/datatable/theseam-ui-common-datatable.d.ts +5 -0
  223. package/datatable/theseam-ui-common-datatable.metadata.json +1 -0
  224. package/datatable/tokens/datatable-accessor.d.ts +3 -0
  225. package/datatable/tokens/datatable-preferences-accessor.d.ts +3 -0
  226. package/datatable/tokens/menubar-item-data.d.ts +3 -0
  227. package/datatable/utils/with-stored-column-info.d.ts +3 -0
  228. package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +32 -0
  229. package/datatable-dynamic/datatable-dynamic-def.d.ts +71 -0
  230. package/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.d.ts +15 -0
  231. package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +61 -0
  232. package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +16 -0
  233. package/datatable-dynamic/datatable-dynamic-menu-bar-token.d.ts +3 -0
  234. package/datatable-dynamic/datatable-dynamic.component.d.ts +89 -0
  235. package/datatable-dynamic/datatable-dynamic.module.d.ts +2 -0
  236. package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +73 -0
  237. package/datatable-dynamic/dynamic-datatable-def.service.d.ts +59 -0
  238. package/datatable-dynamic/dynamic-datatable-row-actions.service.d.ts +16 -0
  239. package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +17 -0
  240. package/datatable-dynamic/models/dynamic-datatable-filter-menu-item.d.ts +7 -0
  241. package/datatable-dynamic/models/dynamic-datatable-menu-bar.d.ts +63 -0
  242. package/datatable-dynamic/models/dynamic-datatable-row-action-context.d.ts +5 -0
  243. package/datatable-dynamic/models/dynamic-datatable-row-action.d.ts +17 -0
  244. package/datatable-dynamic/models/index.d.ts +5 -0
  245. package/datatable-dynamic/package.json +11 -0
  246. package/datatable-dynamic/public-api.d.ts +13 -0
  247. package/datatable-dynamic/theseam-ui-common-datatable-dynamic.d.ts +4 -0
  248. package/datatable-dynamic/theseam-ui-common-datatable-dynamic.metadata.json +1 -0
  249. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.d.ts +2 -0
  250. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.d.ts +2 -0
  251. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.d.ts +2 -0
  252. package/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.d.ts +2 -0
  253. package/datatable-dynamic/utils/index.d.ts +4 -0
  254. package/dynamic/action/api/dynamic-action-api-def.d.ts +35 -0
  255. package/dynamic/action/api/dynamic-action-api-errors.d.ts +1 -0
  256. package/dynamic/action/api/dynamic-action-api.d.ts +3 -0
  257. package/dynamic/action/api/dynamic-action-api.service.d.ts +30 -0
  258. package/dynamic/action/dynamic-action-helper.service.d.ts +36 -0
  259. package/dynamic/action/index.d.ts +10 -0
  260. package/dynamic/action/link/dynamic-action-link-def.d.ts +58 -0
  261. package/dynamic/action/link/dynamic-action-link.d.ts +3 -0
  262. package/dynamic/action/link/dynamic-action-link.service.d.ts +14 -0
  263. package/dynamic/action/modal/dynamic-action-modal-def.d.ts +10 -0
  264. package/dynamic/action/modal/dynamic-action-modal.d.ts +3 -0
  265. package/dynamic/action/modal/dynamic-action-modal.service.d.ts +29 -0
  266. package/dynamic/dynamic-value-helper.service.d.ts +34 -0
  267. package/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.d.ts +16 -0
  268. package/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.d.ts +8 -0
  269. package/dynamic/evaluators/exporters-data-evaluator/index.d.ts +2 -0
  270. package/dynamic/evaluators/index.d.ts +2 -0
  271. package/dynamic/evaluators/jexl-evaluator/index.d.ts +2 -0
  272. package/dynamic/evaluators/jexl-evaluator/jexl-evaluator.d.ts +9 -0
  273. package/dynamic/evaluators/jexl-evaluator/jexl-value.d.ts +11 -0
  274. package/dynamic/models/dynamic-action-confirm-def.d.ts +10 -0
  275. package/dynamic/models/dynamic-action-context.d.ts +2 -0
  276. package/dynamic/models/dynamic-action-def.d.ts +9 -0
  277. package/dynamic/models/dynamic-action-ui-anchor-def.d.ts +39 -0
  278. package/dynamic/models/dynamic-action-ui-button-def.d.ts +13 -0
  279. package/dynamic/models/dynamic-action-ui-def.d.ts +37 -0
  280. package/dynamic/models/dynamic-action.d.ts +11 -0
  281. package/dynamic/models/dynamic-value-base-type.d.ts +4 -0
  282. package/dynamic/models/dynamic-value-evaluatable-type.d.ts +2 -0
  283. package/dynamic/models/dynamic-value-evaluator.d.ts +6 -0
  284. package/dynamic/models/dynamic-value-primitive.d.ts +1 -0
  285. package/dynamic/models/dynamic-value-type.d.ts +4 -0
  286. package/dynamic/models/dynamic-value.d.ts +3 -0
  287. package/dynamic/models/index.d.ts +13 -0
  288. package/dynamic/package.json +11 -0
  289. package/dynamic/public-api.d.ts +6 -0
  290. package/dynamic/theseam-ui-common-dynamic.d.ts +4 -0
  291. package/dynamic/theseam-ui-common-dynamic.metadata.json +1 -0
  292. package/dynamic/tokens/api-config.d.ts +30 -0
  293. package/dynamic/tokens/dynamic-action.d.ts +3 -0
  294. package/dynamic/tokens/dynamic-data.d.ts +2 -0
  295. package/dynamic/tokens/dynamic-value-evaluator.d.ts +3 -0
  296. package/dynamic/tokens/index.d.ts +4 -0
  297. package/dynamic/utils/index.d.ts +1 -0
  298. package/dynamic/utils/is-action-type.d.ts +2 -0
  299. package/dynamic-component-loader/dynamic-component-loader.module.d.ts +7 -0
  300. package/dynamic-component-loader/dynamic-component-loader.service.d.ts +15 -0
  301. package/dynamic-component-loader/dynamic-component-manifest.d.ts +9 -0
  302. package/dynamic-component-loader/dynamic-component-tokens.d.ts +4 -0
  303. package/dynamic-component-loader/package.json +11 -0
  304. package/dynamic-component-loader/public-api.d.ts +4 -0
  305. package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.d.ts +4 -0
  306. package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.metadata.json +1 -0
  307. package/esm2015/asset-reader/asset-reader-helper.service.js +68 -0
  308. package/esm2015/asset-reader/asset-reader.module.js +15 -0
  309. package/esm2015/asset-reader/encrypted-asset-link.directive.js +69 -0
  310. package/esm2015/asset-reader/encrypted-asset-reader.js +20 -0
  311. package/esm2015/asset-reader/public-api.js +5 -0
  312. package/esm2015/asset-reader/theseam-ui-common-asset-reader.js +5 -0
  313. package/esm2015/breadcrumbs/breadcrumb.js +2 -0
  314. package/esm2015/breadcrumbs/breadcrumbs/breadcrumbs.component.js +21 -0
  315. package/esm2015/breadcrumbs/breadcrumbs-resolver.js +2 -0
  316. package/esm2015/breadcrumbs/breadcrumbs.module.js +21 -0
  317. package/esm2015/breadcrumbs/breadcrumbs.service.js +158 -0
  318. package/esm2015/breadcrumbs/public-api.js +6 -0
  319. package/esm2015/breadcrumbs/theseam-ui-common-breadcrumbs.js +5 -0
  320. package/esm2015/buttons/badge-button/badge-button.component.js +79 -0
  321. package/esm2015/buttons/button/button.component.js +111 -0
  322. package/esm2015/buttons/buttons.module.js +34 -0
  323. package/esm2015/buttons/progress-circle-button/progress-circle-button.component.js +60 -0
  324. package/esm2015/buttons/public-api.js +6 -0
  325. package/esm2015/buttons/theseam-ui-common-buttons.js +5 -0
  326. package/esm2015/buttons/toggle-button/toggle-button.component.js +88 -0
  327. package/esm2015/card/card-action/card-action.component.js +27 -0
  328. package/esm2015/card/card-body/card-body.component.js +32 -0
  329. package/esm2015/card/card-footer/card-footer.component.js +15 -0
  330. package/esm2015/card/card-header/card-header.component.js +22 -0
  331. package/esm2015/card/card.component.js +20 -0
  332. package/esm2015/card/card.module.js +33 -0
  333. package/esm2015/card/public-api.js +7 -0
  334. package/esm2015/card/theseam-ui-common-card.js +5 -0
  335. package/esm2015/checkbox/checkbox.component.js +276 -0
  336. package/esm2015/checkbox/checkbox.module.js +21 -0
  337. package/esm2015/checkbox/public-api.js +3 -0
  338. package/esm2015/checkbox/theseam-ui-common-checkbox.js +5 -0
  339. package/esm2015/confirm-dialog/confirm-click.directive.js +62 -0
  340. package/esm2015/confirm-dialog/confirm-dialog.component.js +20 -0
  341. package/esm2015/confirm-dialog/confirm-dialog.module.js +35 -0
  342. package/esm2015/confirm-dialog/confirm-dialog.service.js +38 -0
  343. package/esm2015/confirm-dialog/public-api.js +5 -0
  344. package/esm2015/confirm-dialog/theseam-ui-common-confirm-dialog.js +5 -0
  345. package/esm2015/core/common-behaviors/active.js +13 -0
  346. package/esm2015/core/common-behaviors/constructor.js +9 -0
  347. package/esm2015/core/common-behaviors/disabled.js +20 -0
  348. package/esm2015/core/common-behaviors/element-ref.js +2 -0
  349. package/esm2015/core/common-behaviors/index.js +10 -0
  350. package/esm2015/core/common-behaviors/initialized.js +62 -0
  351. package/esm2015/core/common-behaviors/renderer2.js +2 -0
  352. package/esm2015/core/common-behaviors/size.js +24 -0
  353. package/esm2015/core/common-behaviors/tabindex.js +22 -0
  354. package/esm2015/core/common-behaviors/theme.js +24 -0
  355. package/esm2015/core/input-decorators/index.js +3 -0
  356. package/esm2015/core/input-decorators/input-boolean.decorator.js +27 -0
  357. package/esm2015/core/input-decorators/input-number.decorator.js +27 -0
  358. package/esm2015/core/public-api.js +3 -0
  359. package/esm2015/core/theseam-ui-common-core.js +5 -0
  360. package/esm2015/data-exporter/data-exporter.js +7 -0
  361. package/esm2015/data-exporter/data-exporter.module.js +17 -0
  362. package/esm2015/data-exporter/exporters/csv-exporter.js +32 -0
  363. package/esm2015/data-exporter/exporters/xlsx-exporter.js +30 -0
  364. package/esm2015/data-exporter/public-api.js +5 -0
  365. package/esm2015/data-exporter/theseam-ui-common-data-exporter.js +5 -0
  366. package/esm2015/data-filters/data-filter-container.js +3 -0
  367. package/esm2015/data-filters/data-filter-def.js +3 -0
  368. package/esm2015/data-filters/data-filter.js +22 -0
  369. package/esm2015/data-filters/data-filters.module.js +50 -0
  370. package/esm2015/data-filters/filters/data-filter-search/data-filter-search.component.js +110 -0
  371. package/esm2015/data-filters/filters/data-filter-search/search-filter-options.js +2 -0
  372. package/esm2015/data-filters/filters/data-filter-text/data-filter-text.component.js +138 -0
  373. package/esm2015/data-filters/filters/data-filter-text/text-filter-options.js +2 -0
  374. package/esm2015/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.js +151 -0
  375. package/esm2015/data-filters/public-api.js +10 -0
  376. package/esm2015/data-filters/theseam-ui-common-data-filters.js +5 -0
  377. package/esm2015/datatable/datatable/datatable.component.js +584 -0
  378. package/esm2015/datatable/datatable-action-menu/datatable-action-menu.component.js +101 -0
  379. package/esm2015/datatable/datatable-action-menu-item/datatable-action-menu-item.component.js +30 -0
  380. package/esm2015/datatable/datatable-column/datatable-column.component.js +83 -0
  381. package/esm2015/datatable/datatable-column-preferences/datatable-column-preferences.component.js +46 -0
  382. package/esm2015/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.js +18 -0
  383. package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +98 -0
  384. package/esm2015/datatable/datatable-menu-bar/datatable-menu-bar.component.js +55 -0
  385. package/esm2015/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.js +16 -0
  386. package/esm2015/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.js +16 -0
  387. package/esm2015/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.js +16 -0
  388. package/esm2015/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.js +16 -0
  389. package/esm2015/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.js +32 -0
  390. package/esm2015/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.js +15 -0
  391. package/esm2015/datatable/datatable-row-detail/datatable-row-detail.directive.js +69 -0
  392. package/esm2015/datatable/datatable.module.js +120 -0
  393. package/esm2015/datatable/directives/datatable-action-menu-item.directive.js +46 -0
  394. package/esm2015/datatable/directives/datatable-action-menu-toggle.directive.js +128 -0
  395. package/esm2015/datatable/directives/datatable-cell-tpl.directive.js +15 -0
  396. package/esm2015/datatable/directives/datatable-filter.directive.js +21 -0
  397. package/esm2015/datatable/directives/datatable-row-action-item.directive.js +15 -0
  398. package/esm2015/datatable/models/datatable-accessor.js +2 -0
  399. package/esm2015/datatable/models/datatable-data-source.js +42 -0
  400. package/esm2015/datatable/models/datatable-gql-data-source.js +15 -0
  401. package/esm2015/datatable/models/menubar-item-data.js +2 -0
  402. package/esm2015/datatable/models/page-info.js +2 -0
  403. package/esm2015/datatable/models/preferences-accessor.js +2 -0
  404. package/esm2015/datatable/models/preferences.js +2 -0
  405. package/esm2015/datatable/models/sort-event.js +2 -0
  406. package/esm2015/datatable/models/sort-item.js +2 -0
  407. package/esm2015/datatable/models/table-column.js +2 -0
  408. package/esm2015/datatable/public-api.js +39 -0
  409. package/esm2015/datatable/services/datatable-column-changes.service.js +17 -0
  410. package/esm2015/datatable/services/datatable-preferences.service.js +113 -0
  411. package/esm2015/datatable/services/datatable-scrollbar-helper.service.js +51 -0
  412. package/esm2015/datatable/theseam-ui-common-datatable.js +6 -0
  413. package/esm2015/datatable/tokens/datatable-accessor.js +3 -0
  414. package/esm2015/datatable/tokens/datatable-preferences-accessor.js +3 -0
  415. package/esm2015/datatable/tokens/menubar-item-data.js +3 -0
  416. package/esm2015/datatable/utils/with-stored-column-info.js +20 -0
  417. package/esm2015/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.js +119 -0
  418. package/esm2015/datatable-dynamic/datatable-dynamic-def.js +2 -0
  419. package/esm2015/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.js +53 -0
  420. package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.js +160 -0
  421. package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.js +2 -0
  422. package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-token.js +3 -0
  423. package/esm2015/datatable-dynamic/datatable-dynamic.component.js +75 -0
  424. package/esm2015/datatable-dynamic/datatable-dynamic.module.js +49 -0
  425. package/esm2015/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.js +408 -0
  426. package/esm2015/datatable-dynamic/dynamic-datatable-def.service.js +84 -0
  427. package/esm2015/datatable-dynamic/dynamic-datatable-row-actions.service.js +47 -0
  428. package/esm2015/datatable-dynamic/models/dynamic-datatable-action-menu-record.js +2 -0
  429. package/esm2015/datatable-dynamic/models/dynamic-datatable-filter-menu-item.js +2 -0
  430. package/esm2015/datatable-dynamic/models/dynamic-datatable-menu-bar.js +2 -0
  431. package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action-context.js +2 -0
  432. package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action.js +2 -0
  433. package/esm2015/datatable-dynamic/models/index.js +6 -0
  434. package/esm2015/datatable-dynamic/public-api.js +14 -0
  435. package/esm2015/datatable-dynamic/theseam-ui-common-datatable-dynamic.js +5 -0
  436. package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.js +8 -0
  437. package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.js +13 -0
  438. package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.js +6 -0
  439. package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.js +6 -0
  440. package/esm2015/datatable-dynamic/utils/index.js +5 -0
  441. package/esm2015/dynamic/action/api/dynamic-action-api-def.js +2 -0
  442. package/esm2015/dynamic/action/api/dynamic-action-api-errors.js +4 -0
  443. package/esm2015/dynamic/action/api/dynamic-action-api.js +2 -0
  444. package/esm2015/dynamic/action/api/dynamic-action-api.service.js +215 -0
  445. package/esm2015/dynamic/action/dynamic-action-helper.service.js +163 -0
  446. package/esm2015/dynamic/action/index.js +11 -0
  447. package/esm2015/dynamic/action/link/dynamic-action-link-def.js +2 -0
  448. package/esm2015/dynamic/action/link/dynamic-action-link.js +2 -0
  449. package/esm2015/dynamic/action/link/dynamic-action-link.service.js +50 -0
  450. package/esm2015/dynamic/action/modal/dynamic-action-modal-def.js +2 -0
  451. package/esm2015/dynamic/action/modal/dynamic-action-modal.js +2 -0
  452. package/esm2015/dynamic/action/modal/dynamic-action-modal.service.js +92 -0
  453. package/esm2015/dynamic/dynamic-value-helper.service.js +101 -0
  454. package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.js +33 -0
  455. package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.js +2 -0
  456. package/esm2015/dynamic/evaluators/exporters-data-evaluator/index.js +3 -0
  457. package/esm2015/dynamic/evaluators/index.js +3 -0
  458. package/esm2015/dynamic/evaluators/jexl-evaluator/index.js +3 -0
  459. package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-evaluator.js +29 -0
  460. package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-value.js +2 -0
  461. package/esm2015/dynamic/models/dynamic-action-confirm-def.js +2 -0
  462. package/esm2015/dynamic/models/dynamic-action-context.js +2 -0
  463. package/esm2015/dynamic/models/dynamic-action-def.js +3 -0
  464. package/esm2015/dynamic/models/dynamic-action-ui-anchor-def.js +2 -0
  465. package/esm2015/dynamic/models/dynamic-action-ui-button-def.js +2 -0
  466. package/esm2015/dynamic/models/dynamic-action-ui-def.js +2 -0
  467. package/esm2015/dynamic/models/dynamic-action.js +2 -0
  468. package/esm2015/dynamic/models/dynamic-value-base-type.js +2 -0
  469. package/esm2015/dynamic/models/dynamic-value-evaluatable-type.js +2 -0
  470. package/esm2015/dynamic/models/dynamic-value-evaluator.js +2 -0
  471. package/esm2015/dynamic/models/dynamic-value-primitive.js +2 -0
  472. package/esm2015/dynamic/models/dynamic-value-type.js +2 -0
  473. package/esm2015/dynamic/models/dynamic-value.js +2 -0
  474. package/esm2015/dynamic/models/index.js +14 -0
  475. package/esm2015/dynamic/public-api.js +7 -0
  476. package/esm2015/dynamic/theseam-ui-common-dynamic.js +5 -0
  477. package/esm2015/dynamic/tokens/api-config.js +29 -0
  478. package/esm2015/dynamic/tokens/dynamic-action.js +3 -0
  479. package/esm2015/dynamic/tokens/dynamic-data.js +3 -0
  480. package/esm2015/dynamic/tokens/dynamic-value-evaluator.js +3 -0
  481. package/esm2015/dynamic/tokens/index.js +5 -0
  482. package/esm2015/dynamic/utils/index.js +2 -0
  483. package/esm2015/dynamic/utils/is-action-type.js +4 -0
  484. package/esm2015/dynamic-component-loader/dynamic-component-loader.module.js +47 -0
  485. package/esm2015/dynamic-component-loader/dynamic-component-loader.service.js +91 -0
  486. package/esm2015/dynamic-component-loader/dynamic-component-manifest.js +2 -0
  487. package/esm2015/dynamic-component-loader/dynamic-component-tokens.js +5 -0
  488. package/esm2015/dynamic-component-loader/public-api.js +5 -0
  489. package/esm2015/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.js +5 -0
  490. package/esm2015/footer-bar/footer-bar/footer-bar.component.js +16 -0
  491. package/esm2015/footer-bar/footer-bar.module.js +15 -0
  492. package/esm2015/footer-bar/public-api.js +3 -0
  493. package/esm2015/footer-bar/theseam-ui-common-footer-bar.js +5 -0
  494. package/esm2015/form-field/form-field-error.directive.js +28 -0
  495. package/esm2015/form-field/form-field-help-text.directive.js +15 -0
  496. package/esm2015/form-field/form-field-label-tpl.directive.js +15 -0
  497. package/esm2015/form-field/form-field-required-indicator.component.js +38 -0
  498. package/esm2015/form-field/form-field.component.js +193 -0
  499. package/esm2015/form-field/form-field.module.js +40 -0
  500. package/esm2015/form-field/input.directive.js +195 -0
  501. package/esm2015/form-field/public-api.js +8 -0
  502. package/esm2015/form-field/theseam-ui-common-form-field.js +5 -0
  503. package/esm2015/form-field-error/form-field-error/form-field-error.component.js +27 -0
  504. package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.js +25 -0
  505. package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item.directive.js +18 -0
  506. package/esm2015/form-field-error/form-field-error-list/form-field-error-list.component.js +370 -0
  507. package/esm2015/form-field-error/form-field-error.module.js +28 -0
  508. package/esm2015/form-field-error/public-api.js +6 -0
  509. package/esm2015/form-field-error/theseam-ui-common-form-field-error.js +5 -0
  510. package/esm2015/framework/base-layout/base-layout-action.js +2 -0
  511. package/esm2015/framework/base-layout/base-layout-nav.js +2 -0
  512. package/esm2015/framework/base-layout/base-layout-ref.js +2 -0
  513. package/esm2015/framework/base-layout/base-layout-tokens.js +3 -0
  514. package/esm2015/framework/base-layout/base-layout.component.js +117 -0
  515. package/esm2015/framework/base-layout/base-layout.module.js +45 -0
  516. package/esm2015/framework/base-layout/directives/base-layout-content-footer.directive.js +15 -0
  517. package/esm2015/framework/base-layout/directives/base-layout-content-header.directive.js +15 -0
  518. package/esm2015/framework/base-layout/directives/base-layout-content.directive.js +15 -0
  519. package/esm2015/framework/base-layout/directives/base-layout-nav-toggle.directive.js +37 -0
  520. package/esm2015/framework/base-layout/directives/base-layout-side-bar.directive.js +15 -0
  521. package/esm2015/framework/base-layout/directives/base-layout-top-bar.directive.js +15 -0
  522. package/esm2015/framework/base-layout/index.js +13 -0
  523. package/esm2015/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.js +19 -0
  524. package/esm2015/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.js +25 -0
  525. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.js +121 -0
  526. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-item.js +2 -0
  527. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.js +3 -0
  528. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.js +2 -0
  529. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.js +173 -0
  530. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.component.js +176 -0
  531. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.service.js +165 -0
  532. package/esm2015/framework/dashboard/dashboard.component.js +25 -0
  533. package/esm2015/framework/dashboard/dashboard.module.js +39 -0
  534. package/esm2015/framework/dashboard/index.js +12 -0
  535. package/esm2015/framework/dynamic-router/dynamic-route-def.js +2 -0
  536. package/esm2015/framework/dynamic-router/dynamic-router.module.js +21 -0
  537. package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.js +256 -0
  538. package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.js +114 -0
  539. package/esm2015/framework/dynamic-router/index.js +6 -0
  540. package/esm2015/framework/dynamic-router/resolvers/hierarchy-level.resolver.js +26 -0
  541. package/esm2015/framework/public-api.js +7 -0
  542. package/esm2015/framework/schema-form/index.js +4 -0
  543. package/esm2015/framework/schema-form/schema-form-framework.component.js +16 -0
  544. package/esm2015/framework/schema-form/schema-form-framework.js +27 -0
  545. package/esm2015/framework/schema-form/schema-form.module.js +35 -0
  546. package/esm2015/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.js +41 -0
  547. package/esm2015/framework/schema-form-controls/schema-form-controls.module.js +50 -0
  548. package/esm2015/framework/schema-form-controls/schema-form-input/schema-form-input.component.js +34 -0
  549. package/esm2015/framework/schema-form-controls/schema-form-number/schema-form-number.component.js +40 -0
  550. package/esm2015/framework/schema-form-controls/schema-form-select/schema-form-select.component.js +36 -0
  551. package/esm2015/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.js +46 -0
  552. package/esm2015/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.js +142 -0
  553. package/esm2015/framework/side-nav/index.js +7 -0
  554. package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +151 -0
  555. package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +36 -0
  556. package/esm2015/framework/side-nav/side-nav-utils.js +81 -0
  557. package/esm2015/framework/side-nav/side-nav.component.js +195 -0
  558. package/esm2015/framework/side-nav/side-nav.models.js +2 -0
  559. package/esm2015/framework/side-nav/side-nav.module.js +37 -0
  560. package/esm2015/framework/side-nav/side-nav.service.js +174 -0
  561. package/esm2015/framework/theseam-ui-common-framework.js +13 -0
  562. package/esm2015/framework/top-bar/index.js +8 -0
  563. package/esm2015/framework/top-bar/top-bar-item.directive.js +15 -0
  564. package/esm2015/framework/top-bar/top-bar-menu-btn-detail.directive.js +15 -0
  565. package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +53 -0
  566. package/esm2015/framework/top-bar/top-bar-menu.directive.js +16 -0
  567. package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +19 -0
  568. package/esm2015/framework/top-bar/top-bar.component.js +82 -0
  569. package/esm2015/framework/top-bar/top-bar.module.js +46 -0
  570. package/esm2015/graphql/models/direction.js +8 -0
  571. package/esm2015/graphql/models/hint-definition.js +2 -0
  572. package/esm2015/graphql/models/hint-transform-operation.js +2 -0
  573. package/esm2015/graphql/models/hint-transformer.js +2 -0
  574. package/esm2015/graphql/models/hints-kind.js +9 -0
  575. package/esm2015/graphql/models/hints-token.js +2 -0
  576. package/esm2015/graphql/models/index.js +9 -0
  577. package/esm2015/graphql/models/query-processing-config.js +2 -0
  578. package/esm2015/graphql/models/variable.js +7 -0
  579. package/esm2015/graphql/public-api.js +2 -0
  580. package/esm2015/graphql/theseam-ui-common-graphql.js +5 -0
  581. package/esm2015/graphql/utils/contains-variable.js +14 -0
  582. package/esm2015/graphql/utils/gql-var.js +4 -0
  583. package/esm2015/graphql/utils/hints-tokens-containing-hint.js +4 -0
  584. package/esm2015/graphql/utils/index.js +11 -0
  585. package/esm2015/graphql/utils/inline-variables.js +50 -0
  586. package/esm2015/graphql/utils/parse-comments.js +24 -0
  587. package/esm2015/graphql/utils/parse-hints.js +116 -0
  588. package/esm2015/graphql/utils/remove-variable-definition.js +14 -0
  589. package/esm2015/graphql/utils/remove-variable-definitions-not-defined.js +19 -0
  590. package/esm2015/graphql/utils/remove-variable.js +22 -0
  591. package/esm2015/graphql/utils/to-gql.js +40 -0
  592. package/esm2015/icon/icon/icon.component.js +125 -0
  593. package/esm2015/icon/icon-btn/icon-btn.component.js +136 -0
  594. package/esm2015/icon/icon-notification/icon-notification.component.js +120 -0
  595. package/esm2015/icon/icon.js +2 -0
  596. package/esm2015/icon/icon.module.js +27 -0
  597. package/esm2015/icon/public-api.js +7 -0
  598. package/esm2015/icon/theseam-ui-common-icon.js +5 -0
  599. package/esm2015/icon/utils/file-extension-icon.js +33 -0
  600. package/esm2015/icon/utils/get-known-icon.js +82 -0
  601. package/esm2015/icon/utils/index.js +3 -0
  602. package/esm2015/layout/breakpoint-aliases.js +11 -0
  603. package/esm2015/layout/layout.module.js +18 -0
  604. package/esm2015/layout/layout.service.js +24 -0
  605. package/esm2015/layout/observe-media-query.js +41 -0
  606. package/esm2015/layout/public-api.js +5 -0
  607. package/esm2015/layout/theseam-ui-common-layout.js +5 -0
  608. package/esm2015/loading/loading/loading.component.js +28 -0
  609. package/esm2015/loading/loading-overlay.service.js +59 -0
  610. package/esm2015/loading/loading-themes.js +18 -0
  611. package/esm2015/loading/loading.models.js +2 -0
  612. package/esm2015/loading/loading.module.js +29 -0
  613. package/esm2015/loading/public-api.js +6 -0
  614. package/esm2015/loading/theseam-ui-common-loading.js +5 -0
  615. package/esm2015/menu/menu-animations.js +58 -0
  616. package/esm2015/menu/menu-divider.component.js +15 -0
  617. package/esm2015/menu/menu-footer/menu-footer.component.js +32 -0
  618. package/esm2015/menu/menu-footer-action/menu-footer-action.component.js +48 -0
  619. package/esm2015/menu/menu-header/menu-header.component.js +32 -0
  620. package/esm2015/menu/menu-item.component.js +127 -0
  621. package/esm2015/menu/menu-panel-token.js +6 -0
  622. package/esm2015/menu/menu-panel.js +2 -0
  623. package/esm2015/menu/menu-toggle.directive.js +248 -0
  624. package/esm2015/menu/menu.component.js +174 -0
  625. package/esm2015/menu/menu.module.js +43 -0
  626. package/esm2015/menu/public-api.js +12 -0
  627. package/esm2015/menu/theseam-ui-common-menu.js +5 -0
  628. package/esm2015/modal/directives/modal-close.directive.js +63 -0
  629. package/esm2015/modal/directives/modal-footer-tpl.directive.js +15 -0
  630. package/esm2015/modal/directives/modal-header-icon-tpl.directive.js +15 -0
  631. package/esm2015/modal/directives/modal-header-title-tpl.directive.js +15 -0
  632. package/esm2015/modal/directives/modal-title.directive.js +19 -0
  633. package/esm2015/modal/directives/modal.directive.js +25 -0
  634. package/esm2015/modal/modal/modal.component.js +149 -0
  635. package/esm2015/modal/modal-body/modal-body.component.js +22 -0
  636. package/esm2015/modal/modal-config.js +47 -0
  637. package/esm2015/modal/modal-container/modal-container.component.js +217 -0
  638. package/esm2015/modal/modal-footer/modal-footer.component.js +20 -0
  639. package/esm2015/modal/modal-header/modal-header.component.js +26 -0
  640. package/esm2015/modal/modal-injectors.js +23 -0
  641. package/esm2015/modal/modal-ref.js +126 -0
  642. package/esm2015/modal/modal-utils.js +14 -0
  643. package/esm2015/modal/modal.models.js +3 -0
  644. package/esm2015/modal/modal.module.js +83 -0
  645. package/esm2015/modal/modal.service.js +343 -0
  646. package/esm2015/modal/public-api.js +20 -0
  647. package/esm2015/modal/route-modal/route-modal.component.js +68 -0
  648. package/esm2015/modal/theseam-ui-common-modal.js +5 -0
  649. package/esm2015/models/component-type.js +4 -0
  650. package/esm2015/models/http-status-codes.js +20 -0
  651. package/esm2015/models/public-api.js +8 -0
  652. package/esm2015/models/size-prefixes.js +2 -0
  653. package/esm2015/models/size-types.js +2 -0
  654. package/esm2015/models/theme-names.js +26 -0
  655. package/esm2015/models/theme-prefixes.js +2 -0
  656. package/esm2015/models/theme-types.js +2 -0
  657. package/esm2015/models/theseam-ui-common-models.js +5 -0
  658. package/esm2015/popover/popover/popover.component.js +149 -0
  659. package/esm2015/popover/popover-animations.js +46 -0
  660. package/esm2015/popover/popover.directive.js +257 -0
  661. package/esm2015/popover/popover.module.js +30 -0
  662. package/esm2015/popover/public-api.js +5 -0
  663. package/esm2015/popover/theseam-ui-common-popover.js +5 -0
  664. package/esm2015/progress/progress-circle/progress-circle.component.js +63 -0
  665. package/esm2015/progress/progress.module.js +19 -0
  666. package/esm2015/progress/public-api.js +3 -0
  667. package/esm2015/progress/theseam-ui-common-progress.js +5 -0
  668. package/esm2015/public_api.js +43 -0
  669. package/esm2015/scrollbar/overlay-scrollbar.directive.js +61 -0
  670. package/esm2015/scrollbar/overlay-scrollbars-config-model.js +2 -0
  671. package/esm2015/scrollbar/overlay-scrollbars-config.js +13 -0
  672. package/esm2015/scrollbar/overlay-scrollbars.service.js +87 -0
  673. package/esm2015/scrollbar/public-api.js +6 -0
  674. package/esm2015/scrollbar/scrollbar.module.js +25 -0
  675. package/esm2015/scrollbar/theseam-ui-common-scrollbar.js +5 -0
  676. package/esm2015/services/asset-loader.service.js +33 -0
  677. package/esm2015/services/font-loader.service.js +81 -0
  678. package/esm2015/services/public-api.js +4 -0
  679. package/esm2015/services/router-helpers.service.js +26 -0
  680. package/esm2015/services/theseam-ui-common-services.js +5 -0
  681. package/esm2015/shared/components/index.js +2 -0
  682. package/esm2015/shared/components/password-input-reveal/password-input-reveal.component.js +71 -0
  683. package/esm2015/shared/directives/auto-focus.directive.js +53 -0
  684. package/esm2015/shared/directives/click-outside.directive.js +49 -0
  685. package/esm2015/shared/directives/disable-control.directive.js +27 -0
  686. package/esm2015/shared/directives/elem-resized.directive.js +29 -0
  687. package/esm2015/shared/directives/hover-class-toggle.directive.js +80 -0
  688. package/esm2015/shared/directives/hover-class.directive.js +74 -0
  689. package/esm2015/shared/directives/index.js +9 -0
  690. package/esm2015/shared/directives/ng-select-extra.directive.js +177 -0
  691. package/esm2015/shared/directives/ngx-quill-extra.directive.js +60 -0
  692. package/esm2015/shared/pipes/index.js +3 -0
  693. package/esm2015/shared/pipes/mask-chars.pipe.js +21 -0
  694. package/esm2015/shared/pipes/truncate.pipe.js +19 -0
  695. package/esm2015/shared/public-api.js +5 -0
  696. package/esm2015/shared/shared.module.js +58 -0
  697. package/esm2015/shared/theseam-ui-common-shared.js +5 -0
  698. package/esm2015/storage/local-storage.service.js +77 -0
  699. package/esm2015/storage/localstorage-memory.js +64 -0
  700. package/esm2015/storage/public-api.js +2 -0
  701. package/esm2015/storage/theseam-ui-common-storage.js +5 -0
  702. package/esm2015/story-helpers/arg-type-helpers.js +34 -0
  703. package/esm2015/story-helpers/args-to-tpl.js +76 -0
  704. package/esm2015/story-helpers/initial-route-factory.js +4 -0
  705. package/esm2015/story-helpers/initial-route.service.js +27 -0
  706. package/esm2015/story-helpers/on-story-bootstrapped-exec.js +64 -0
  707. package/esm2015/story-helpers/on-story-bootstrapped-trigger.js +38 -0
  708. package/esm2015/story-helpers/public-api.js +15 -0
  709. package/esm2015/story-helpers/route-button.js +12 -0
  710. package/esm2015/story-helpers/routes-arg-type.js +18 -0
  711. package/esm2015/story-helpers/story-empty-with-route.component.js +7 -0
  712. package/esm2015/story-helpers/story-empty.component.js +7 -0
  713. package/esm2015/story-helpers/story-helper-components.module.js +29 -0
  714. package/esm2015/story-helpers/story-initial-route.js +24 -0
  715. package/esm2015/story-helpers/story-modal-container.component.js +77 -0
  716. package/esm2015/story-helpers/story-toastr.service.js +33 -0
  717. package/esm2015/story-helpers/theseam-ui-common-story-helpers.js +5 -0
  718. package/esm2015/tabbed/directives/tabbed-tab-content.directive.js +14 -0
  719. package/esm2015/tabbed/directives/tabbed-tab.directive.js +36 -0
  720. package/esm2015/tabbed/public-api.js +8 -0
  721. package/esm2015/tabbed/tabbed-content/tabbed-content.component.js +17 -0
  722. package/esm2015/tabbed/tabbed-item/tabbed-item.component.js +30 -0
  723. package/esm2015/tabbed/tabbed.component.js +111 -0
  724. package/esm2015/tabbed/tabbed.module.js +36 -0
  725. package/esm2015/tabbed/tabbed.service.js +28 -0
  726. package/esm2015/tabbed/theseam-ui-common-tabbed.js +5 -0
  727. package/esm2015/table/public-api.js +3 -0
  728. package/esm2015/table/table/table.component.js +90 -0
  729. package/esm2015/table/table.module.js +23 -0
  730. package/esm2015/table/theseam-ui-common-table.js +5 -0
  731. package/esm2015/table-cell-type/public-api.js +12 -0
  732. package/esm2015/table-cell-type/services/table-cell-types-helpers.service.js +70 -0
  733. package/esm2015/table-cell-type/table-cell-type-action.js +2 -0
  734. package/esm2015/table-cell-type/table-cell-type-column.js +2 -0
  735. package/esm2015/table-cell-type/table-cell-type-config.js +2 -0
  736. package/esm2015/table-cell-type/table-cell-type-export-props.js +2 -0
  737. package/esm2015/table-cell-type/table-cell-type-manifest-provider.js +2 -0
  738. package/esm2015/table-cell-type/table-cell-type-models.js +2 -0
  739. package/esm2015/table-cell-type/table-cell-type-name.js +2 -0
  740. package/esm2015/table-cell-type/table-cell-type-selector.component.js +94 -0
  741. package/esm2015/table-cell-type/table-cell-type-tokens.js +4 -0
  742. package/esm2015/table-cell-type/table-cell-type.module.js +23 -0
  743. package/esm2015/table-cell-type/theseam-ui-common-table-cell-type.js +5 -0
  744. package/esm2015/table-cell-types/public-api.js +16 -0
  745. package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date-config.js +2 -0
  746. package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.component.js +55 -0
  747. package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.js +2 -0
  748. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.js +2 -0
  749. package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.js +2 -0
  750. package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.js +166 -0
  751. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.js +2 -0
  752. package/esm2015/table-cell-types/table-cell-type-manifests.js +91 -0
  753. package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.js +2 -0
  754. package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.js +66 -0
  755. package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.js +2 -0
  756. package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.js +160 -0
  757. package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.js +2 -0
  758. package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.js +78 -0
  759. package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string-config.js +2 -0
  760. package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string.component.js +150 -0
  761. package/esm2015/table-cell-types/table-cell-types.module.js +71 -0
  762. package/esm2015/table-cell-types/theseam-ui-common-table-cell-types.js +5 -0
  763. package/esm2015/tel-input/intl-tel-input.js +55 -0
  764. package/esm2015/tel-input/models/index.js +3 -0
  765. package/esm2015/tel-input/models/tel-input-country-data.js +2 -0
  766. package/esm2015/tel-input/models/tel-input-number-format-name.js +8 -0
  767. package/esm2015/tel-input/phone-number.pipe.js +51 -0
  768. package/esm2015/tel-input/public-api.js +10 -0
  769. package/esm2015/tel-input/tel-input/tel-input.component.js +167 -0
  770. package/esm2015/tel-input/tel-input-constants.js +18 -0
  771. package/esm2015/tel-input/tel-input-validator.js +27 -0
  772. package/esm2015/tel-input/tel-input.directive.js +164 -0
  773. package/esm2015/tel-input/tel-input.module.js +29 -0
  774. package/esm2015/tel-input/theseam-ui-common-tel-input.js +5 -0
  775. package/esm2015/tel-input/utils/add-country-code.js +23 -0
  776. package/esm2015/tel-input/utils/coerce-phone-number-format.js +22 -0
  777. package/esm2015/tel-input/utils/get-country-code.js +9 -0
  778. package/esm2015/tel-input/utils/get-dial-code.js +45 -0
  779. package/esm2015/tel-input/utils/get-global-intl-tel-input-globals.js +4 -0
  780. package/esm2015/tel-input/utils/get-global-intl-tel-input-utils.js +4 -0
  781. package/esm2015/tel-input/utils/get-intl-tel-input-utils.js +17 -0
  782. package/esm2015/tel-input/utils/get-validation-error-message.js +12 -0
  783. package/esm2015/tel-input/utils/index.js +10 -0
  784. package/esm2015/tel-input/utils/process-country-codes.js +49 -0
  785. package/esm2015/test-helpers/public-api.js +2 -0
  786. package/esm2015/test-helpers/theseam-ui-common-test-helpers.js +5 -0
  787. package/esm2015/test-helpers/tick-helper.js +74 -0
  788. package/esm2015/theseam-ui-common.js +5 -0
  789. package/esm2015/tiled-select/components/tiled-select/tiled-select.component.js +197 -0
  790. package/esm2015/tiled-select/components/tiled-select-tile/tiled-select-tile.component.js +125 -0
  791. package/esm2015/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.js +54 -0
  792. package/esm2015/tiled-select/directives/tiled-select-tile-icon-tpl.directive.js +16 -0
  793. package/esm2015/tiled-select/directives/tiled-select-tile-label-tpl.directive.js +15 -0
  794. package/esm2015/tiled-select/directives/tiled-select-tile-overlay.directive.js +19 -0
  795. package/esm2015/tiled-select/public-api.js +9 -0
  796. package/esm2015/tiled-select/theseam-ui-common-tiled-select.js +5 -0
  797. package/esm2015/tiled-select/tiled-select.models.js +2 -0
  798. package/esm2015/tiled-select/tiled-select.module.js +35 -0
  799. package/esm2015/toggle-edit/models/can-toggle-edit.js +2 -0
  800. package/esm2015/toggle-edit/models/index.js +3 -0
  801. package/esm2015/toggle-edit/models/toggle-edit-ref.js +2 -0
  802. package/esm2015/toggle-edit/public-api.js +7 -0
  803. package/esm2015/toggle-edit/theseam-ui-common-toggle-edit.js +5 -0
  804. package/esm2015/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.js +15 -0
  805. package/esm2015/toggle-edit/toggle-edit-display-tpl.directive.js +15 -0
  806. package/esm2015/toggle-edit/toggle-edit-keyboard-listener.service.js +56 -0
  807. package/esm2015/toggle-edit/toggle-edit.component.js +403 -0
  808. package/esm2015/toggle-edit/toggle-edit.module.js +40 -0
  809. package/esm2015/toggle-group/public-api.js +4 -0
  810. package/esm2015/toggle-group/theseam-ui-common-toggle-group.js +5 -0
  811. package/esm2015/toggle-group/toggle-group-option.directive.js +44 -0
  812. package/esm2015/toggle-group/toggle-group.directive.js +192 -0
  813. package/esm2015/toggle-group/toggle-group.module.js +24 -0
  814. package/esm2015/unsaved-changes-dialog/public-api.js +5 -0
  815. package/esm2015/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.js +5 -0
  816. package/esm2015/unsaved-changes-dialog/unsaved-changes-can-deactivate.js +27 -0
  817. package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.component.js +20 -0
  818. package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.guard.js +35 -0
  819. package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.module.js +12 -0
  820. package/esm2015/utils/calc-percentage.js +4 -0
  821. package/esm2015/utils/cdk/get-closest-widget-cdk-drag.js +18 -0
  822. package/esm2015/utils/create-padding.js +17 -0
  823. package/esm2015/utils/file-utils.js +68 -0
  824. package/esm2015/utils/form/get-control-name.js +31 -0
  825. package/esm2015/utils/form/get-control-path.js +37 -0
  826. package/esm2015/utils/form/has-required-control.js +50 -0
  827. package/esm2015/utils/form/is-empty-input-value.js +6 -0
  828. package/esm2015/utils/form/observe-control-is-different.js +18 -0
  829. package/esm2015/utils/form/observe-control-status.js +17 -0
  830. package/esm2015/utils/form/observe-control-valid.js +30 -0
  831. package/esm2015/utils/form/observe-control-value-change.js +10 -0
  832. package/esm2015/utils/form/observe-control-value.js +11 -0
  833. package/esm2015/utils/form/wait-on-non-pending-status.js +18 -0
  834. package/esm2015/utils/fractional-digits-count.js +19 -0
  835. package/esm2015/utils/get-attribute.js +7 -0
  836. package/esm2015/utils/has-attribute.js +7 -0
  837. package/esm2015/utils/has-property.js +7 -0
  838. package/esm2015/utils/input-masks.js +2 -0
  839. package/esm2015/utils/is-absolute-url.js +17 -0
  840. package/esm2015/utils/is-null-or-undefined.js +4 -0
  841. package/esm2015/utils/is-numeric.js +4 -0
  842. package/esm2015/utils/load-style-sheet.js +14 -0
  843. package/esm2015/utils/load-style.js +13 -0
  844. package/esm2015/utils/not-null-or-undefined.js +4 -0
  845. package/esm2015/utils/obj-utils.js +27 -0
  846. package/esm2015/utils/observe-query-list.js +5 -0
  847. package/esm2015/utils/operators/index.js +3 -0
  848. package/esm2015/utils/operators/map-each.js +6 -0
  849. package/esm2015/utils/operators/tap-first.js +14 -0
  850. package/esm2015/utils/pad-end.js +9 -0
  851. package/esm2015/utils/pad-start.js +9 -0
  852. package/esm2015/utils/polling-ticker.js +121 -0
  853. package/esm2015/utils/public-api.js +38 -0
  854. package/esm2015/utils/refreshable.js +65 -0
  855. package/esm2015/utils/router/index.js +7 -0
  856. package/esm2015/utils/router/is-empty-url-route.js +4 -0
  857. package/esm2015/utils/router/leaf-child-route.js +8 -0
  858. package/esm2015/utils/router/operators/activated-routes-with-data-property.js +11 -0
  859. package/esm2015/utils/router/route-snapshot-path-full.js +5 -0
  860. package/esm2015/utils/router/route-snapshot-path-relative.js +4 -0
  861. package/esm2015/utils/router/will-have-data-prop.js +10 -0
  862. package/esm2015/utils/subscriber-count.js +19 -0
  863. package/esm2015/utils/theseam-ui-common-utils.js +5 -0
  864. package/esm2015/utils/toggle-attribute.js +35 -0
  865. package/esm2015/utils/wait-on-condition-async.js +33 -0
  866. package/esm2015/utils/wrap-into-observable.js +8 -0
  867. package/esm2015/validators/decimal.validator.js +25 -0
  868. package/esm2015/validators/email-exists.validator.js +18 -0
  869. package/esm2015/validators/integer.validator.js +25 -0
  870. package/esm2015/validators/phone-length.validator.js +8 -0
  871. package/esm2015/validators/public-api.js +6 -0
  872. package/esm2015/validators/tax-id.validator.js +13 -0
  873. package/esm2015/validators/theseam-ui-common-validators.js +5 -0
  874. package/esm2015/viewers/pdf-viewer/index.js +4 -0
  875. package/esm2015/viewers/pdf-viewer/pdf-page/pdf-page.component.js +134 -0
  876. package/esm2015/viewers/pdf-viewer/pdf-renderer.service.js +27 -0
  877. package/esm2015/viewers/pdf-viewer/pdf-viewer.component.js +149 -0
  878. package/esm2015/viewers/pdf-viewer/pdf-viewer.module.js +24 -0
  879. package/esm2015/viewers/public-api.js +2 -0
  880. package/esm2015/viewers/theseam-ui-common-viewers.js +5 -0
  881. package/esm2015/widget/directives/widget-drag-handle.directive.js +146 -0
  882. package/esm2015/widget/directives/widget-icon-tpl.directive.js +15 -0
  883. package/esm2015/widget/directives/widget-title-tpl.directive.js +15 -0
  884. package/esm2015/widget/public-api.js +38 -0
  885. package/esm2015/widget/theseam-ui-common-widget.js +5 -0
  886. package/esm2015/widget/widget/widget.component.js +121 -0
  887. package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.component.js +16 -0
  888. package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.module.js +22 -0
  889. package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.component.js +16 -0
  890. package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.module.js +19 -0
  891. package/esm2015/widget/widget-content-components/widget-description/widget-description.component.js +12 -0
  892. package/esm2015/widget/widget-content-components/widget-description/widget-description.module.js +19 -0
  893. package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.component.js +39 -0
  894. package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.module.js +19 -0
  895. package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.component.js +16 -0
  896. package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.module.js +19 -0
  897. package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.component.js +16 -0
  898. package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.module.js +19 -0
  899. package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.component.js +31 -0
  900. package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.module.js +19 -0
  901. package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.js +16 -0
  902. package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.js +162 -0
  903. package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.component.js +19 -0
  904. package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.module.js +31 -0
  905. package/esm2015/widget/widget-content-components/widget-table/widget-table.component.js +35 -0
  906. package/esm2015/widget/widget-content-components/widget-table/widget-table.module.js +23 -0
  907. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.js +19 -0
  908. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.js +43 -0
  909. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.js +16 -0
  910. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.js +16 -0
  911. package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +108 -0
  912. package/esm2015/widget/widget-content-components/widget-tile/widget-tile.module.js +33 -0
  913. package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.component.js +15 -0
  914. package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.module.js +21 -0
  915. package/esm2015/widget/widget-footer/widget-footer.component.js +16 -0
  916. package/esm2015/widget/widget-registry.models.js +2 -0
  917. package/esm2015/widget/widget-registry.service.js +56 -0
  918. package/esm2015/widget/widget-token.js +3 -0
  919. package/esm2015/widget/widget.module.js +70 -0
  920. package/fesm2015/theseam-ui-common-asset-reader.js +173 -0
  921. package/fesm2015/theseam-ui-common-asset-reader.js.map +1 -0
  922. package/fesm2015/theseam-ui-common-breadcrumbs.js +202 -0
  923. package/fesm2015/theseam-ui-common-breadcrumbs.js.map +1 -0
  924. package/fesm2015/theseam-ui-common-buttons.js +362 -0
  925. package/fesm2015/theseam-ui-common-buttons.js.map +1 -0
  926. package/fesm2015/theseam-ui-common-card.js +145 -0
  927. package/fesm2015/theseam-ui-common-card.js.map +1 -0
  928. package/fesm2015/theseam-ui-common-checkbox.js +302 -0
  929. package/fesm2015/theseam-ui-common-checkbox.js.map +1 -0
  930. package/fesm2015/theseam-ui-common-confirm-dialog.js +153 -0
  931. package/fesm2015/theseam-ui-common-confirm-dialog.js.map +1 -0
  932. package/fesm2015/theseam-ui-common-core.js +231 -0
  933. package/fesm2015/theseam-ui-common-core.js.map +1 -0
  934. package/fesm2015/theseam-ui-common-data-exporter.js +81 -0
  935. package/fesm2015/theseam-ui-common-data-exporter.js.map +1 -0
  936. package/fesm2015/theseam-ui-common-data-filters.js +452 -0
  937. package/fesm2015/theseam-ui-common-data-filters.js.map +1 -0
  938. package/fesm2015/theseam-ui-common-datatable-dynamic.js +991 -0
  939. package/fesm2015/theseam-ui-common-datatable-dynamic.js.map +1 -0
  940. package/fesm2015/theseam-ui-common-datatable.js +1714 -0
  941. package/fesm2015/theseam-ui-common-datatable.js.map +1 -0
  942. package/fesm2015/theseam-ui-common-dynamic-component-loader.js +143 -0
  943. package/fesm2015/theseam-ui-common-dynamic-component-loader.js.map +1 -0
  944. package/fesm2015/theseam-ui-common-dynamic.js +699 -0
  945. package/fesm2015/theseam-ui-common-dynamic.js.map +1 -0
  946. package/fesm2015/theseam-ui-common-footer-bar.js +36 -0
  947. package/fesm2015/theseam-ui-common-footer-bar.js.map +1 -0
  948. package/fesm2015/theseam-ui-common-form-field-error.js +464 -0
  949. package/fesm2015/theseam-ui-common-form-field-error.js.map +1 -0
  950. package/fesm2015/theseam-ui-common-form-field.js +506 -0
  951. package/fesm2015/theseam-ui-common-form-field.js.map +1 -0
  952. package/fesm2015/theseam-ui-common-framework.js +2650 -0
  953. package/fesm2015/theseam-ui-common-framework.js.map +1 -0
  954. package/fesm2015/theseam-ui-common-graphql.js +331 -0
  955. package/fesm2015/theseam-ui-common-graphql.js.map +1 -0
  956. package/fesm2015/theseam-ui-common-icon.js +518 -0
  957. package/fesm2015/theseam-ui-common-icon.js.map +1 -0
  958. package/fesm2015/theseam-ui-common-layout.js +89 -0
  959. package/fesm2015/theseam-ui-common-layout.js.map +1 -0
  960. package/fesm2015/theseam-ui-common-loading.js +131 -0
  961. package/fesm2015/theseam-ui-common-loading.js.map +1 -0
  962. package/fesm2015/theseam-ui-common-menu.js +762 -0
  963. package/fesm2015/theseam-ui-common-menu.js.map +1 -0
  964. package/fesm2015/theseam-ui-common-modal.js +1234 -0
  965. package/fesm2015/theseam-ui-common-modal.js.map +1 -0
  966. package/fesm2015/theseam-ui-common-models.js +54 -0
  967. package/fesm2015/theseam-ui-common-models.js.map +1 -0
  968. package/fesm2015/theseam-ui-common-popover.js +476 -0
  969. package/fesm2015/theseam-ui-common-popover.js.map +1 -0
  970. package/fesm2015/theseam-ui-common-progress.js +87 -0
  971. package/fesm2015/theseam-ui-common-progress.js.map +1 -0
  972. package/fesm2015/theseam-ui-common-scrollbar.js +184 -0
  973. package/fesm2015/theseam-ui-common-scrollbar.js.map +1 -0
  974. package/fesm2015/theseam-ui-common-services.js +140 -0
  975. package/fesm2015/theseam-ui-common-services.js.map +1 -0
  976. package/fesm2015/theseam-ui-common-shared.js +696 -0
  977. package/fesm2015/theseam-ui-common-shared.js.map +1 -0
  978. package/fesm2015/theseam-ui-common-storage.js +147 -0
  979. package/fesm2015/theseam-ui-common-storage.js.map +1 -0
  980. package/fesm2015/theseam-ui-common-story-helpers.js +441 -0
  981. package/fesm2015/theseam-ui-common-story-helpers.js.map +1 -0
  982. package/fesm2015/theseam-ui-common-tabbed.js +262 -0
  983. package/fesm2015/theseam-ui-common-tabbed.js.map +1 -0
  984. package/fesm2015/theseam-ui-common-table-cell-type.js +191 -0
  985. package/fesm2015/theseam-ui-common-table-cell-type.js.map +1 -0
  986. package/fesm2015/theseam-ui-common-table-cell-types.js +799 -0
  987. package/fesm2015/theseam-ui-common-table-cell-types.js.map +1 -0
  988. package/fesm2015/theseam-ui-common-table.js +118 -0
  989. package/fesm2015/theseam-ui-common-table.js.map +1 -0
  990. package/fesm2015/theseam-ui-common-tel-input.js +681 -0
  991. package/fesm2015/theseam-ui-common-tel-input.js.map +1 -0
  992. package/fesm2015/theseam-ui-common-test-helpers.js +81 -0
  993. package/fesm2015/theseam-ui-common-test-helpers.js.map +1 -0
  994. package/fesm2015/theseam-ui-common-tiled-select.js +448 -0
  995. package/fesm2015/theseam-ui-common-tiled-select.js.map +1 -0
  996. package/fesm2015/theseam-ui-common-toggle-edit.js +521 -0
  997. package/fesm2015/theseam-ui-common-toggle-edit.js.map +1 -0
  998. package/fesm2015/theseam-ui-common-toggle-group.js +260 -0
  999. package/fesm2015/theseam-ui-common-toggle-group.js.map +1 -0
  1000. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js +97 -0
  1001. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js.map +1 -0
  1002. package/fesm2015/theseam-ui-common-utils.js +797 -0
  1003. package/fesm2015/theseam-ui-common-utils.js.map +1 -0
  1004. package/fesm2015/theseam-ui-common-validators.js +94 -0
  1005. package/fesm2015/theseam-ui-common-validators.js.map +1 -0
  1006. package/fesm2015/theseam-ui-common-viewers.js +328 -0
  1007. package/fesm2015/theseam-ui-common-viewers.js.map +1 -0
  1008. package/fesm2015/theseam-ui-common-widget.js +1187 -0
  1009. package/fesm2015/theseam-ui-common-widget.js.map +1 -0
  1010. package/fesm2015/theseam-ui-common.js +47 -0
  1011. package/fesm2015/theseam-ui-common.js.map +1 -0
  1012. package/footer-bar/footer-bar/footer-bar.component.d.ts +5 -0
  1013. package/footer-bar/footer-bar.module.d.ts +2 -0
  1014. package/footer-bar/package.json +11 -0
  1015. package/footer-bar/public-api.d.ts +2 -0
  1016. package/footer-bar/theseam-ui-common-footer-bar.d.ts +4 -0
  1017. package/footer-bar/theseam-ui-common-footer-bar.metadata.json +1 -0
  1018. package/form-field/form-field-error.directive.d.ts +12 -0
  1019. package/form-field/form-field-help-text.directive.d.ts +5 -0
  1020. package/form-field/form-field-label-tpl.directive.d.ts +5 -0
  1021. package/form-field/form-field-required-indicator.component.d.ts +9 -0
  1022. package/form-field/form-field.component.d.ts +114 -0
  1023. package/form-field/form-field.module.d.ts +2 -0
  1024. package/form-field/input.directive.d.ts +72 -0
  1025. package/form-field/package.json +11 -0
  1026. package/form-field/public-api.d.ts +7 -0
  1027. package/form-field/theseam-ui-common-form-field.d.ts +4 -0
  1028. package/form-field/theseam-ui-common-form-field.metadata.json +1 -0
  1029. package/form-field-error/form-field-error/form-field-error.component.d.ts +8 -0
  1030. package/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.d.ts +9 -0
  1031. package/form-field-error/form-field-error-list/form-field-error-list-item.directive.d.ts +6 -0
  1032. package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +63 -0
  1033. package/form-field-error/form-field-error.module.d.ts +2 -0
  1034. package/form-field-error/package.json +11 -0
  1035. package/form-field-error/public-api.d.ts +5 -0
  1036. package/form-field-error/theseam-ui-common-form-field-error.d.ts +4 -0
  1037. package/form-field-error/theseam-ui-common-form-field-error.metadata.json +1 -0
  1038. package/framework/base-layout/_base-layout-theme.scss +3 -0
  1039. package/framework/base-layout/base-layout-action.d.ts +31 -0
  1040. package/framework/base-layout/base-layout-nav.d.ts +18 -0
  1041. package/framework/base-layout/base-layout-ref.d.ts +14 -0
  1042. package/framework/base-layout/base-layout-tokens.d.ts +3 -0
  1043. package/framework/base-layout/base-layout.component.d.ts +43 -0
  1044. package/framework/base-layout/base-layout.component.scss +81 -0
  1045. package/framework/base-layout/base-layout.module.d.ts +2 -0
  1046. package/framework/base-layout/directives/base-layout-content-footer.directive.d.ts +6 -0
  1047. package/framework/base-layout/directives/base-layout-content-header.directive.d.ts +6 -0
  1048. package/framework/base-layout/directives/base-layout-content.directive.d.ts +6 -0
  1049. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +14 -0
  1050. package/framework/base-layout/directives/base-layout-side-bar.directive.d.ts +6 -0
  1051. package/framework/base-layout/directives/base-layout-top-bar.directive.d.ts +6 -0
  1052. package/framework/base-layout/index.d.ts +12 -0
  1053. package/framework/base-layout/styles/_utilities.scss +3 -0
  1054. package/framework/base-layout/styles/_variables.scss +9 -0
  1055. package/framework/dashboard/_dashboard-theme.scss +3 -0
  1056. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +8 -0
  1057. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.scss +0 -0
  1058. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +11 -0
  1059. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.scss +0 -0
  1060. package/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.d.ts +47 -0
  1061. package/framework/dashboard/dashboard-widgets/dashboard-widgets-item.d.ts +43 -0
  1062. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.d.ts +3 -0
  1063. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.d.ts +15 -0
  1064. package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.d.ts +27 -0
  1065. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.d.ts +58 -0
  1066. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +48 -0
  1067. package/framework/dashboard/dashboard-widgets/dashboard-widgets.service.d.ts +34 -0
  1068. package/framework/dashboard/dashboard.component.d.ts +8 -0
  1069. package/framework/dashboard/dashboard.component.scss +0 -0
  1070. package/framework/dashboard/dashboard.module.d.ts +2 -0
  1071. package/framework/dashboard/index.d.ts +11 -0
  1072. package/framework/dashboard/styles/_utilities.scss +3 -0
  1073. package/framework/dashboard/styles/_variables.scss +2 -0
  1074. package/framework/dynamic-router/dynamic-route-def.d.ts +8 -0
  1075. package/framework/dynamic-router/dynamic-router.module.d.ts +2 -0
  1076. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.d.ts +5 -0
  1077. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +23 -0
  1078. package/framework/dynamic-router/index.d.ts +5 -0
  1079. package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +7 -0
  1080. package/framework/package.json +11 -0
  1081. package/framework/public-api.d.ts +6 -0
  1082. package/framework/schema-form/index.d.ts +3 -0
  1083. package/framework/schema-form/schema-form-framework.component.d.ts +5 -0
  1084. package/framework/schema-form/schema-form-framework.d.ts +18 -0
  1085. package/framework/schema-form/schema-form.module.d.ts +2 -0
  1086. package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +21 -0
  1087. package/framework/schema-form-controls/schema-form-controls.module.d.ts +2 -0
  1088. package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +19 -0
  1089. package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +22 -0
  1090. package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +20 -0
  1091. package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +18 -0
  1092. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +34 -0
  1093. package/framework/side-nav/_side-nav-theme.scss +5 -0
  1094. package/framework/side-nav/index.d.ts +6 -0
  1095. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +65 -0
  1096. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +158 -0
  1097. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +11 -0
  1098. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +32 -0
  1099. package/framework/side-nav/side-nav-utils.d.ts +18 -0
  1100. package/framework/side-nav/side-nav.component.d.ts +40 -0
  1101. package/framework/side-nav/side-nav.component.scss +47 -0
  1102. package/framework/side-nav/side-nav.models.d.ts +64 -0
  1103. package/framework/side-nav/side-nav.module.d.ts +2 -0
  1104. package/framework/side-nav/side-nav.service.d.ts +21 -0
  1105. package/framework/side-nav/styles/_themes/light/_variables.scss +29 -0
  1106. package/framework/side-nav/styles/_themes/primary/_variables.scss +31 -0
  1107. package/framework/side-nav/styles/_utilities.scss +3 -0
  1108. package/framework/side-nav/styles/_variables.scss +2 -0
  1109. package/framework/theseam-ui-common-framework.d.ts +12 -0
  1110. package/framework/theseam-ui-common-framework.metadata.json +1 -0
  1111. package/framework/top-bar/index.d.ts +7 -0
  1112. package/framework/top-bar/top-bar-item.directive.d.ts +5 -0
  1113. package/framework/top-bar/top-bar-menu-btn-detail.directive.d.ts +5 -0
  1114. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +20 -0
  1115. package/framework/top-bar/top-bar-menu.directive.d.ts +5 -0
  1116. package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +7 -0
  1117. package/framework/top-bar/top-bar.component.d.ts +59 -0
  1118. package/framework/top-bar/top-bar.module.d.ts +2 -0
  1119. package/graphql/models/direction.d.ts +6 -0
  1120. package/graphql/models/hint-definition.d.ts +7 -0
  1121. package/graphql/models/hint-transform-operation.d.ts +5 -0
  1122. package/graphql/models/hint-transformer.d.ts +3 -0
  1123. package/graphql/models/hints-kind.d.ts +7 -0
  1124. package/graphql/models/hints-token.d.ts +7 -0
  1125. package/graphql/models/index.d.ts +8 -0
  1126. package/graphql/models/query-processing-config.d.ts +9 -0
  1127. package/graphql/models/variable.d.ts +5 -0
  1128. package/graphql/package.json +11 -0
  1129. package/graphql/public-api.d.ts +1 -0
  1130. package/graphql/theseam-ui-common-graphql.d.ts +4 -0
  1131. package/graphql/theseam-ui-common-graphql.metadata.json +1 -0
  1132. package/graphql/utils/contains-variable.d.ts +2 -0
  1133. package/graphql/utils/gql-var.d.ts +3 -0
  1134. package/graphql/utils/hints-tokens-containing-hint.d.ts +2 -0
  1135. package/graphql/utils/index.d.ts +10 -0
  1136. package/graphql/utils/inline-variables.d.ts +2 -0
  1137. package/graphql/utils/parse-comments.d.ts +2 -0
  1138. package/graphql/utils/parse-hints.d.ts +17 -0
  1139. package/graphql/utils/remove-variable-definition.d.ts +2 -0
  1140. package/graphql/utils/remove-variable-definitions-not-defined.d.ts +3 -0
  1141. package/graphql/utils/remove-variable.d.ts +2 -0
  1142. package/graphql/utils/to-gql.d.ts +1 -0
  1143. package/icon/icon/icon.component.d.ts +54 -0
  1144. package/icon/icon-btn/icon-btn.component.d.ts +74 -0
  1145. package/icon/icon-notification/icon-notification.component.d.ts +47 -0
  1146. package/icon/icon.d.ts +2 -0
  1147. package/icon/icon.module.d.ts +2 -0
  1148. package/icon/package.json +11 -0
  1149. package/icon/public-api.d.ts +6 -0
  1150. package/icon/theseam-ui-common-icon.d.ts +4 -0
  1151. package/icon/theseam-ui-common-icon.metadata.json +1 -0
  1152. package/icon/utils/file-extension-icon.d.ts +3 -0
  1153. package/icon/utils/get-known-icon.d.ts +2 -0
  1154. package/icon/utils/index.d.ts +2 -0
  1155. package/layout/breakpoint-aliases.d.ts +20 -0
  1156. package/layout/layout.module.d.ts +2 -0
  1157. package/layout/layout.service.d.ts +12 -0
  1158. package/layout/observe-media-query.d.ts +8 -0
  1159. package/layout/package.json +11 -0
  1160. package/layout/public-api.d.ts +4 -0
  1161. package/layout/theseam-ui-common-layout.d.ts +4 -0
  1162. package/layout/theseam-ui-common-layout.metadata.json +1 -0
  1163. package/loading/loading/loading.component.d.ts +9 -0
  1164. package/loading/loading-overlay.service.d.ts +13 -0
  1165. package/loading/loading-themes.d.ts +3 -0
  1166. package/loading/loading.models.d.ts +1 -0
  1167. package/loading/loading.module.d.ts +4 -0
  1168. package/loading/package.json +11 -0
  1169. package/loading/public-api.d.ts +5 -0
  1170. package/loading/theseam-ui-common-loading.d.ts +4 -0
  1171. package/loading/theseam-ui-common-loading.metadata.json +1 -0
  1172. package/menu/menu-animations.d.ts +8 -0
  1173. package/menu/menu-divider.component.d.ts +2 -0
  1174. package/menu/menu-footer/menu-footer.component.d.ts +9 -0
  1175. package/menu/menu-footer-action/menu-footer-action.component.d.ts +19 -0
  1176. package/menu/menu-header/menu-header.component.d.ts +9 -0
  1177. package/menu/menu-item.component.d.ts +41 -0
  1178. package/menu/menu-panel-token.d.ts +6 -0
  1179. package/menu/menu-panel.d.ts +20 -0
  1180. package/menu/menu-toggle.directive.d.ts +53 -0
  1181. package/menu/menu.component.d.ts +62 -0
  1182. package/menu/menu.module.d.ts +2 -0
  1183. package/menu/package.json +11 -0
  1184. package/menu/public-api.d.ts +11 -0
  1185. package/menu/theseam-ui-common-menu.d.ts +4 -0
  1186. package/menu/theseam-ui-common-menu.metadata.json +1 -0
  1187. package/modal/directives/modal-close.directive.d.ts +20 -0
  1188. package/modal/directives/modal-footer-tpl.directive.d.ts +5 -0
  1189. package/modal/directives/modal-header-icon-tpl.directive.d.ts +5 -0
  1190. package/modal/directives/modal-header-title-tpl.directive.d.ts +5 -0
  1191. package/modal/directives/modal-title.directive.d.ts +6 -0
  1192. package/modal/directives/modal.directive.d.ts +8 -0
  1193. package/modal/modal/modal.component.d.ts +56 -0
  1194. package/modal/modal-body/modal-body.component.d.ts +7 -0
  1195. package/modal/modal-config.d.ts +93 -0
  1196. package/modal/modal-container/modal-container.component.d.ts +77 -0
  1197. package/modal/modal-footer/modal-footer.component.d.ts +6 -0
  1198. package/modal/modal-header/modal-header.component.d.ts +11 -0
  1199. package/modal/modal-injectors.d.ts +23 -0
  1200. package/modal/modal-ref.d.ts +50 -0
  1201. package/modal/modal-utils.d.ts +8 -0
  1202. package/modal/modal.models.d.ts +24 -0
  1203. package/modal/modal.module.d.ts +2 -0
  1204. package/modal/modal.service.d.ts +95 -0
  1205. package/modal/package.json +11 -0
  1206. package/modal/public-api.d.ts +19 -0
  1207. package/modal/route-modal/route-modal.component.d.ts +16 -0
  1208. package/modal/theseam-ui-common-modal.d.ts +4 -0
  1209. package/modal/theseam-ui-common-modal.metadata.json +1 -0
  1210. package/models/component-type.d.ts +2 -0
  1211. package/models/http-status-codes.d.ts +18 -0
  1212. package/models/package.json +11 -0
  1213. package/models/public-api.d.ts +7 -0
  1214. package/models/size-prefixes.d.ts +1 -0
  1215. package/models/size-types.d.ts +1 -0
  1216. package/models/theme-names.d.ts +2 -0
  1217. package/models/theme-prefixes.d.ts +1 -0
  1218. package/models/theme-types.d.ts +2 -0
  1219. package/models/theseam-ui-common-models.d.ts +4 -0
  1220. package/models/theseam-ui-common-models.metadata.json +1 -0
  1221. package/package.json +61 -0
  1222. package/popover/package.json +11 -0
  1223. package/popover/popover/popover.component.d.ts +44 -0
  1224. package/popover/popover-animations.d.ts +4 -0
  1225. package/popover/popover.directive.d.ts +57 -0
  1226. package/popover/popover.module.d.ts +2 -0
  1227. package/popover/public-api.d.ts +4 -0
  1228. package/popover/theseam-ui-common-popover.d.ts +4 -0
  1229. package/popover/theseam-ui-common-popover.metadata.json +1 -0
  1230. package/progress/package.json +11 -0
  1231. package/progress/progress-circle/_progress-circle-theme.scss +3 -0
  1232. package/progress/progress-circle/progress-circle.component.d.ts +27 -0
  1233. package/progress/progress-circle/progress-circle.component.scss +105 -0
  1234. package/progress/progress-circle/styles/_utilities.scss +3 -0
  1235. package/progress/progress-circle/styles/_variables.scss +8 -0
  1236. package/progress/progress.module.d.ts +2 -0
  1237. package/progress/public-api.d.ts +2 -0
  1238. package/progress/theseam-ui-common-progress.d.ts +4 -0
  1239. package/progress/theseam-ui-common-progress.metadata.json +1 -0
  1240. package/public_api.d.ts +2 -0
  1241. package/scrollbar/overlay-scrollbar.directive.d.ts +21 -0
  1242. package/scrollbar/overlay-scrollbars-config-model.d.ts +2 -0
  1243. package/scrollbar/overlay-scrollbars-config.d.ts +51 -0
  1244. package/scrollbar/overlay-scrollbars.service.d.ts +20 -0
  1245. package/scrollbar/package.json +11 -0
  1246. package/scrollbar/public-api.d.ts +5 -0
  1247. package/scrollbar/scrollbar.module.d.ts +2 -0
  1248. package/scrollbar/theseam-ui-common-scrollbar.d.ts +4 -0
  1249. package/scrollbar/theseam-ui-common-scrollbar.metadata.json +1 -0
  1250. package/services/asset-loader.service.d.ts +13 -0
  1251. package/services/font-loader.service.d.ts +43 -0
  1252. package/services/package.json +11 -0
  1253. package/services/public-api.d.ts +3 -0
  1254. package/services/router-helpers.service.d.ts +7 -0
  1255. package/services/theseam-ui-common-services.d.ts +4 -0
  1256. package/services/theseam-ui-common-services.metadata.json +1 -0
  1257. package/shared/components/index.d.ts +1 -0
  1258. package/shared/components/password-input-reveal/password-input-reveal.component.d.ts +14 -0
  1259. package/shared/directives/auto-focus.directive.d.ts +15 -0
  1260. package/shared/directives/click-outside.directive.d.ts +10 -0
  1261. package/shared/directives/disable-control.directive.d.ts +6 -0
  1262. package/shared/directives/elem-resized.directive.d.ts +17 -0
  1263. package/shared/directives/hover-class-toggle.directive.d.ts +33 -0
  1264. package/shared/directives/hover-class.directive.d.ts +28 -0
  1265. package/shared/directives/index.d.ts +8 -0
  1266. package/shared/directives/ng-select-extra.directive.d.ts +39 -0
  1267. package/shared/directives/ngx-quill-extra.directive.d.ts +20 -0
  1268. package/shared/package.json +11 -0
  1269. package/shared/pipes/index.d.ts +2 -0
  1270. package/shared/pipes/mask-chars.pipe.d.ts +4 -0
  1271. package/shared/pipes/truncate.pipe.d.ts +4 -0
  1272. package/shared/public-api.d.ts +4 -0
  1273. package/shared/shared.module.d.ts +2 -0
  1274. package/shared/theseam-ui-common-shared.d.ts +4 -0
  1275. package/shared/theseam-ui-common-shared.metadata.json +1 -0
  1276. package/storage/local-storage.service.d.ts +28 -0
  1277. package/storage/localstorage-memory.d.ts +37 -0
  1278. package/storage/package.json +11 -0
  1279. package/storage/public-api.d.ts +1 -0
  1280. package/storage/theseam-ui-common-storage.d.ts +4 -0
  1281. package/storage/theseam-ui-common-storage.metadata.json +1 -0
  1282. package/story-helpers/arg-type-helpers.d.ts +5 -0
  1283. package/story-helpers/args-to-tpl.d.ts +24 -0
  1284. package/story-helpers/initial-route-factory.d.ts +2 -0
  1285. package/story-helpers/initial-route.service.d.ts +7 -0
  1286. package/story-helpers/on-story-bootstrapped-exec.d.ts +29 -0
  1287. package/story-helpers/on-story-bootstrapped-trigger.d.ts +23 -0
  1288. package/story-helpers/package.json +11 -0
  1289. package/story-helpers/public-api.d.ts +14 -0
  1290. package/story-helpers/route-button.d.ts +5 -0
  1291. package/story-helpers/routes-arg-type.d.ts +2 -0
  1292. package/story-helpers/story-empty-with-route.component.d.ts +2 -0
  1293. package/story-helpers/story-empty.component.d.ts +2 -0
  1294. package/story-helpers/story-helper-components.module.d.ts +2 -0
  1295. package/story-helpers/story-initial-route.d.ts +4 -0
  1296. package/story-helpers/story-modal-container.component.d.ts +20 -0
  1297. package/story-helpers/story-toastr.service.d.ts +30 -0
  1298. package/story-helpers/theseam-ui-common-story-helpers.d.ts +4 -0
  1299. package/story-helpers/theseam-ui-common-story-helpers.metadata.json +1 -0
  1300. package/styles/_storybook-fixes.scss +7 -0
  1301. package/styles/_variables.scss +0 -0
  1302. package/styles/bootstrap/_bootstrap.scss +45 -0
  1303. package/styles/bootstrap/_bs-styles.scss +105 -0
  1304. package/styles/bootstrap/_bs-utilities.scss +5 -0
  1305. package/styles/bootstrap/_bs-variables.scss +141 -0
  1306. package/styles/common/_forms.scss +15 -0
  1307. package/styles/common/_global.scss +9 -0
  1308. package/styles/common/_hacks.scss +14 -0
  1309. package/styles/common/_table.scss +124 -0
  1310. package/styles/common/_text.scss +1 -0
  1311. package/styles/theme.scss +19 -0
  1312. package/styles/utilities.scss +14 -0
  1313. package/styles/vendor/_vendor.scss +3 -0
  1314. package/styles/vendor/ng-select/_ng-select-bs4.scss +445 -0
  1315. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +108 -0
  1316. package/styles/vendor/quill/_quill.scss +26 -0
  1317. package/tabbed/directives/tabbed-tab-content.directive.d.ts +4 -0
  1318. package/tabbed/directives/tabbed-tab.directive.d.ts +9 -0
  1319. package/tabbed/package.json +11 -0
  1320. package/tabbed/public-api.d.ts +7 -0
  1321. package/tabbed/tabbed-content/tabbed-content.component.d.ts +7 -0
  1322. package/tabbed/tabbed-item/tabbed-item.component.d.ts +14 -0
  1323. package/tabbed/tabbed.component.d.ts +36 -0
  1324. package/tabbed/tabbed.module.d.ts +2 -0
  1325. package/tabbed/tabbed.service.d.ts +8 -0
  1326. package/tabbed/theseam-ui-common-tabbed.d.ts +4 -0
  1327. package/tabbed/theseam-ui-common-tabbed.metadata.json +1 -0
  1328. package/table/package.json +11 -0
  1329. package/table/public-api.d.ts +2 -0
  1330. package/table/table/table.component.d.ts +43 -0
  1331. package/table/table.module.d.ts +2 -0
  1332. package/table/theseam-ui-common-table.d.ts +4 -0
  1333. package/table/theseam-ui-common-table.metadata.json +1 -0
  1334. package/table-cell-type/package.json +11 -0
  1335. package/table-cell-type/public-api.d.ts +11 -0
  1336. package/table-cell-type/services/table-cell-types-helpers.service.d.ts +15 -0
  1337. package/table-cell-type/table-cell-type-action.d.ts +13 -0
  1338. package/table-cell-type/table-cell-type-column.d.ts +12 -0
  1339. package/table-cell-type/table-cell-type-config.d.ts +12 -0
  1340. package/table-cell-type/table-cell-type-export-props.d.ts +15 -0
  1341. package/table-cell-type/table-cell-type-manifest-provider.d.ts +7 -0
  1342. package/table-cell-type/table-cell-type-models.d.ts +39 -0
  1343. package/table-cell-type/table-cell-type-name.d.ts +1 -0
  1344. package/table-cell-type/table-cell-type-selector.component.d.ts +25 -0
  1345. package/table-cell-type/table-cell-type-tokens.d.ts +4 -0
  1346. package/table-cell-type/table-cell-type.module.d.ts +2 -0
  1347. package/table-cell-type/theseam-ui-common-table-cell-type.d.ts +4 -0
  1348. package/table-cell-type/theseam-ui-common-table-cell-type.metadata.json +1 -0
  1349. package/table-cell-types/package.json +11 -0
  1350. package/table-cell-types/public-api.d.ts +15 -0
  1351. package/table-cell-types/table-cell-type-date/table-cell-type-date-config.d.ts +9 -0
  1352. package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +12 -0
  1353. package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +3 -0
  1354. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +3 -0
  1355. package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +34 -0
  1356. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +53 -0
  1357. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +3 -0
  1358. package/table-cell-types/table-cell-type-manifests.d.ts +10 -0
  1359. package/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.d.ts +13 -0
  1360. package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +17 -0
  1361. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +29 -0
  1362. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +48 -0
  1363. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +49 -0
  1364. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +21 -0
  1365. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +10 -0
  1366. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +45 -0
  1367. package/table-cell-types/table-cell-types.module.d.ts +2 -0
  1368. package/table-cell-types/theseam-ui-common-table-cell-types.d.ts +6 -0
  1369. package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -0
  1370. package/tel-input/intl-tel-input.d.ts +300 -0
  1371. package/tel-input/models/index.d.ts +2 -0
  1372. package/tel-input/models/tel-input-country-data.d.ts +9 -0
  1373. package/tel-input/models/tel-input-number-format-name.d.ts +4 -0
  1374. package/tel-input/package.json +11 -0
  1375. package/tel-input/phone-number.pipe.d.ts +11 -0
  1376. package/tel-input/public-api.d.ts +9 -0
  1377. package/tel-input/tel-input/tel-input.component.d.ts +83 -0
  1378. package/tel-input/tel-input-constants.d.ts +4 -0
  1379. package/tel-input/tel-input-validator.d.ts +7 -0
  1380. package/tel-input/tel-input.directive.d.ts +28 -0
  1381. package/tel-input/tel-input.module.d.ts +2 -0
  1382. package/tel-input/theseam-ui-common-tel-input.d.ts +4 -0
  1383. package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -0
  1384. package/tel-input/utils/add-country-code.d.ts +7 -0
  1385. package/tel-input/utils/coerce-phone-number-format.d.ts +7 -0
  1386. package/tel-input/utils/get-country-code.d.ts +2 -0
  1387. package/tel-input/utils/get-dial-code.d.ts +9 -0
  1388. package/tel-input/utils/get-global-intl-tel-input-globals.d.ts +2 -0
  1389. package/tel-input/utils/get-global-intl-tel-input-utils.d.ts +2 -0
  1390. package/tel-input/utils/get-intl-tel-input-utils.d.ts +2 -0
  1391. package/tel-input/utils/get-validation-error-message.d.ts +5 -0
  1392. package/tel-input/utils/index.d.ts +9 -0
  1393. package/tel-input/utils/process-country-codes.d.ts +8 -0
  1394. package/test-helpers/package.json +11 -0
  1395. package/test-helpers/public-api.d.ts +1 -0
  1396. package/test-helpers/theseam-ui-common-test-helpers.d.ts +4 -0
  1397. package/test-helpers/theseam-ui-common-test-helpers.metadata.json +1 -0
  1398. package/test-helpers/tick-helper.d.ts +70 -0
  1399. package/theseam-ui-common.d.ts +4 -0
  1400. package/theseam-ui-common.metadata.json +1 -0
  1401. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +50 -0
  1402. package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +41 -0
  1403. package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +26 -0
  1404. package/tiled-select/directives/tiled-select-tile-icon-tpl.directive.d.ts +5 -0
  1405. package/tiled-select/directives/tiled-select-tile-label-tpl.directive.d.ts +5 -0
  1406. package/tiled-select/directives/tiled-select-tile-overlay.directive.d.ts +7 -0
  1407. package/tiled-select/package.json +11 -0
  1408. package/tiled-select/public-api.d.ts +8 -0
  1409. package/tiled-select/theseam-ui-common-tiled-select.d.ts +4 -0
  1410. package/tiled-select/theseam-ui-common-tiled-select.metadata.json +1 -0
  1411. package/tiled-select/tiled-select.models.d.ts +11 -0
  1412. package/tiled-select/tiled-select.module.d.ts +2 -0
  1413. package/toggle-edit/models/can-toggle-edit.d.ts +7 -0
  1414. package/toggle-edit/models/index.d.ts +2 -0
  1415. package/toggle-edit/models/toggle-edit-ref.d.ts +30 -0
  1416. package/toggle-edit/package.json +11 -0
  1417. package/toggle-edit/public-api.d.ts +6 -0
  1418. package/toggle-edit/theseam-ui-common-toggle-edit.d.ts +4 -0
  1419. package/toggle-edit/theseam-ui-common-toggle-edit.metadata.json +1 -0
  1420. package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +5 -0
  1421. package/toggle-edit/toggle-edit-display-tpl.directive.d.ts +5 -0
  1422. package/toggle-edit/toggle-edit-keyboard-listener.service.d.ts +14 -0
  1423. package/toggle-edit/toggle-edit.component.d.ts +90 -0
  1424. package/toggle-edit/toggle-edit.module.d.ts +2 -0
  1425. package/toggle-group/package.json +11 -0
  1426. package/toggle-group/public-api.d.ts +3 -0
  1427. package/toggle-group/theseam-ui-common-toggle-group.d.ts +4 -0
  1428. package/toggle-group/theseam-ui-common-toggle-group.metadata.json +1 -0
  1429. package/toggle-group/toggle-group-option.directive.d.ts +15 -0
  1430. package/toggle-group/toggle-group.directive.d.ts +36 -0
  1431. package/toggle-group/toggle-group.module.d.ts +2 -0
  1432. package/unsaved-changes-dialog/package.json +11 -0
  1433. package/unsaved-changes-dialog/public-api.d.ts +4 -0
  1434. package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.d.ts +4 -0
  1435. package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.metadata.json +1 -0
  1436. package/unsaved-changes-dialog/unsaved-changes-can-deactivate.d.ts +4 -0
  1437. package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +5 -0
  1438. package/unsaved-changes-dialog/unsaved-changes-dialog.guard.d.ts +8 -0
  1439. package/unsaved-changes-dialog/unsaved-changes-dialog.module.d.ts +2 -0
  1440. package/utils/calc-percentage.d.ts +1 -0
  1441. package/utils/cdk/get-closest-widget-cdk-drag.d.ts +8 -0
  1442. package/utils/create-padding.d.ts +1 -0
  1443. package/utils/file-utils.d.ts +12 -0
  1444. package/utils/form/get-control-name.d.ts +22 -0
  1445. package/utils/form/get-control-path.d.ts +27 -0
  1446. package/utils/form/has-required-control.d.ts +31 -0
  1447. package/utils/form/is-empty-input-value.d.ts +1 -0
  1448. package/utils/form/observe-control-is-different.d.ts +13 -0
  1449. package/utils/form/observe-control-status.d.ts +7 -0
  1450. package/utils/form/observe-control-valid.d.ts +14 -0
  1451. package/utils/form/observe-control-value-change.d.ts +9 -0
  1452. package/utils/form/observe-control-value.d.ts +6 -0
  1453. package/utils/form/wait-on-non-pending-status.d.ts +12 -0
  1454. package/utils/fractional-digits-count.d.ts +8 -0
  1455. package/utils/get-attribute.d.ts +4 -0
  1456. package/utils/has-attribute.d.ts +4 -0
  1457. package/utils/has-property.d.ts +1 -0
  1458. package/utils/input-masks.d.ts +1 -0
  1459. package/utils/is-absolute-url.d.ts +1 -0
  1460. package/utils/is-null-or-undefined.d.ts +1 -0
  1461. package/utils/is-numeric.d.ts +1 -0
  1462. package/utils/load-style-sheet.d.ts +1 -0
  1463. package/utils/load-style.d.ts +1 -0
  1464. package/utils/not-null-or-undefined.d.ts +1 -0
  1465. package/utils/obj-utils.d.ts +8 -0
  1466. package/utils/observe-query-list.d.ts +3 -0
  1467. package/utils/operators/index.d.ts +2 -0
  1468. package/utils/operators/map-each.d.ts +2 -0
  1469. package/utils/operators/tap-first.d.ts +5 -0
  1470. package/utils/package.json +11 -0
  1471. package/utils/pad-end.d.ts +1 -0
  1472. package/utils/pad-start.d.ts +1 -0
  1473. package/utils/polling-ticker.d.ts +13 -0
  1474. package/utils/public-api.d.ts +37 -0
  1475. package/utils/refreshable.d.ts +20 -0
  1476. package/utils/router/index.d.ts +6 -0
  1477. package/utils/router/is-empty-url-route.d.ts +2 -0
  1478. package/utils/router/leaf-child-route.d.ts +2 -0
  1479. package/utils/router/operators/activated-routes-with-data-property.d.ts +7 -0
  1480. package/utils/router/route-snapshot-path-full.d.ts +2 -0
  1481. package/utils/router/route-snapshot-path-relative.d.ts +2 -0
  1482. package/utils/router/will-have-data-prop.d.ts +2 -0
  1483. package/utils/subscriber-count.d.ts +1 -0
  1484. package/utils/theseam-ui-common-utils.d.ts +4 -0
  1485. package/utils/theseam-ui-common-utils.metadata.json +1 -0
  1486. package/utils/toggle-attribute.d.ts +16 -0
  1487. package/utils/wait-on-condition-async.d.ts +1 -0
  1488. package/utils/wrap-into-observable.d.ts +2 -0
  1489. package/validators/decimal.validator.d.ts +9 -0
  1490. package/validators/email-exists.validator.d.ts +10 -0
  1491. package/validators/integer.validator.d.ts +9 -0
  1492. package/validators/package.json +11 -0
  1493. package/validators/phone-length.validator.d.ts +7 -0
  1494. package/validators/public-api.d.ts +5 -0
  1495. package/validators/tax-id.validator.d.ts +11 -0
  1496. package/validators/theseam-ui-common-validators.d.ts +4 -0
  1497. package/validators/theseam-ui-common-validators.metadata.json +1 -0
  1498. package/viewers/package.json +11 -0
  1499. package/viewers/pdf-viewer/index.d.ts +3 -0
  1500. package/viewers/pdf-viewer/pdf-page/pdf-page.component.d.ts +39 -0
  1501. package/viewers/pdf-viewer/pdf-renderer.service.d.ts +6 -0
  1502. package/viewers/pdf-viewer/pdf-viewer.component.d.ts +59 -0
  1503. package/viewers/pdf-viewer/pdf-viewer.module.d.ts +2 -0
  1504. package/viewers/public-api.d.ts +1 -0
  1505. package/viewers/theseam-ui-common-viewers.d.ts +4 -0
  1506. package/viewers/theseam-ui-common-viewers.metadata.json +1 -0
  1507. package/widget/_widget-theme.scss +15 -0
  1508. package/widget/directives/widget-drag-handle.directive.d.ts +53 -0
  1509. package/widget/directives/widget-icon-tpl.directive.d.ts +5 -0
  1510. package/widget/directives/widget-title-tpl.directive.d.ts +5 -0
  1511. package/widget/package.json +11 -0
  1512. package/widget/public-api.d.ts +37 -0
  1513. package/widget/styles/_utilities.scss +3 -0
  1514. package/widget/styles/_variables.scss +27 -0
  1515. package/widget/theseam-ui-common-widget.d.ts +4 -0
  1516. package/widget/theseam-ui-common-widget.metadata.json +1 -0
  1517. package/widget/widget/widget.component.d.ts +78 -0
  1518. package/widget/widget/widget.component.scss +107 -0
  1519. package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +5 -0
  1520. package/widget/widget-content-components/widget-button-group/widget-button-group.component.scss +3 -0
  1521. package/widget/widget-content-components/widget-button-group/widget-button-group.module.d.ts +2 -0
  1522. package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +5 -0
  1523. package/widget/widget-content-components/widget-content-header/widget-content-header.component.scss +6 -0
  1524. package/widget/widget-content-components/widget-content-header/widget-content-header.module.d.ts +2 -0
  1525. package/widget/widget-content-components/widget-description/widget-description.component.d.ts +2 -0
  1526. package/widget/widget-content-components/widget-description/widget-description.component.scss +0 -0
  1527. package/widget/widget-content-components/widget-description/widget-description.module.d.ts +2 -0
  1528. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +15 -0
  1529. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.scss +9 -0
  1530. package/widget/widget-content-components/widget-empty-label/widget-empty-label.module.d.ts +2 -0
  1531. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +5 -0
  1532. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.scss +8 -0
  1533. package/widget/widget-content-components/widget-footer-link/widget-footer-link.module.d.ts +2 -0
  1534. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +5 -0
  1535. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.scss +7 -0
  1536. package/widget/widget-content-components/widget-footer-text/widget-footer-text.module.d.ts +2 -0
  1537. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +12 -0
  1538. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.scss +5 -0
  1539. package/widget/widget-content-components/widget-header-badge/widget-header-badge.module.d.ts +2 -0
  1540. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.d.ts +5 -0
  1541. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +57 -0
  1542. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.scss +0 -0
  1543. package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +5 -0
  1544. package/widget/widget-content-components/widget-list-group/widget-list-group.component.scss +0 -0
  1545. package/widget/widget-content-components/widget-list-group/widget-list-group.module.d.ts +2 -0
  1546. package/widget/widget-content-components/widget-table/widget-table.component.d.ts +14 -0
  1547. package/widget/widget-content-components/widget-table/widget-table.component.scss +0 -0
  1548. package/widget/widget-content-components/widget-table/widget-table.module.d.ts +2 -0
  1549. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +5 -0
  1550. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.scss +0 -0
  1551. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +15 -0
  1552. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.scss +5 -0
  1553. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +5 -0
  1554. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.scss +14 -0
  1555. package/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.d.ts +5 -0
  1556. package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +44 -0
  1557. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +70 -0
  1558. package/widget/widget-content-components/widget-tile/widget-tile.module.d.ts +2 -0
  1559. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +5 -0
  1560. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.scss +6 -0
  1561. package/widget/widget-content-components/widget-tile-list/widget-tile-list.module.d.ts +2 -0
  1562. package/widget/widget-footer/widget-footer.component.d.ts +5 -0
  1563. package/widget/widget-footer/widget-footer.component.scss +16 -0
  1564. package/widget/widget-registry.models.d.ts +20 -0
  1565. package/widget/widget-registry.service.d.ts +16 -0
  1566. package/widget/widget-token.d.ts +3 -0
  1567. package/widget/widget.module.d.ts +2 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLWRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUYWJsZUNvbHVtblByb3AgfSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5cbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4sIFRoZVNlYW1EYXRhdGFibGVSb3cgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YXRhYmxlJ1xuXG5pbXBvcnQgeyBEeW5hbWljVmFsdWUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IFRoZW1lVHlwZXMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbW9kZWxzJ1xuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZU5hbWUsIFRoZVNlYW1UYWJsZUNvbHVtbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbidcblxuZXhwb3J0IHR5cGUgRHluYW1pY0RhdGF0YWJsZUNvbHVtbjxUIGV4dGVuZHMgVGFibGVDZWxsVHlwZU5hbWUgPSBhbnksIEMgZXh0ZW5kcyBUYWJsZUNlbGxUeXBlQ29uZmlnPFQ+ID0gYW55PiA9XG4gIFRoZVNlYW1EYXRhdGFibGVDb2x1bW48VCwgQz4gfCBUaGVTZWFtVGFibGVDb2x1bW48VCwgQz5cblxuLy8gZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlQ29sdW1uPFQgZXh0ZW5kcyBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGUsIEMgZXh0ZW5kcyBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWc8VD4+IHtcbi8vICAgLyoqXG4vLyAgICAqIERlZmF1bHQ6ICdzdHJpbmcnXG4vLyAgICAqL1xuLy8gICBjZWxsVHlwZT86IFRcbi8vICAgLyoqXG4vLyAgICAqIENvbmZpZyBwYXNzZWQgdG8gdGhlIGNlbGwgdHlwZSBjb21wb25lbnQuXG4vLyAgICAqL1xuLy8gICBjZWxsVHlwZUNvbmZpZz86IENcbi8vICAgLyoqXG4vLyAgICAqIFN0cmluZyB0byBkaXNwbGF5IGlmIHRoZSBleHBvcnRlciB1c2VzIGEgaGVhZGVyLlxuLy8gICAgKi9cbi8vICAgZXhwb3J0SGVhZGVyPzogc3RyaW5nXG4vLyAgIC8qKlxuLy8gICAgKiBFeHByZXNzaW9uIHRvIGNhbGN1bGF0ZSBleHBvcnQgdmFsdWUuXG4vLyAgICAqIFRPRE86IEltcGxlbWVudC4gSmV4bCBpcyBtb3N0IGxpa2VseSBnb2luZyB0byBiZSB1c2VkLlxuLy8gICAgKiBAZGVwcmVjYXRlZFxuLy8gICAgKi9cbi8vICAgZXhwb3J0RXhwcj86IHN0cmluZ1xuLy8gICAvKipcbi8vICAgICogVmFsdWUgb3IgRHluYW1pY1ZhbHVlIG9iamVjdCB0byBjYWxjdWxhdGUgZXhwb3J0IHZhbHVlLlxuLy8gICAgKiBUT0RPOiBJbXBsZW1lbnQuXG4vLyAgICAqL1xuLy8gICBleHBvcnRWYWx1ZT86IER5bmFtaWNWYWx1ZTxzdHJpbmc+XG5cbi8vICAgLyoqXG4vLyAgICAqIERldGVybWluZXMgaWYgY29sdW1uIGlzIGNoZWNrYm94XG4vLyAgICAqL1xuLy8gICBjaGVja2JveGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBjb2x1bW4gaXMgZnJvemVuIHRvIHRoZSBsZWZ0XG4vLyAgICAqL1xuLy8gICBmcm96ZW5MZWZ0PzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29sdW1uIGlzIGZyb3plbiB0byB0aGUgcmlnaHRcbi8vICAgICovXG4vLyAgIGZyb3plblJpZ2h0PzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogVGhlIGdyb3cgZmFjdG9yIHJlbGF0aXZlIHRvIG90aGVyIGNvbHVtbnMuIFNhbWUgYXMgdGhlIGZsZXgtZ3Jvd1xuLy8gICAgKiBBUEkgZnJvbSBodHRwID0vL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94Ly4gQmFzaWNhbGx5O1xuLy8gICAgKiB0YWtlIGFueSBhdmFpbGFibGUgZXh0cmEgd2lkdGggYW5kIGRpc3RyaWJ1dGUgaXQgcHJvcG9ydGlvbmFsbHlcbi8vICAgICogYWNjb3JkaW5nIHRvIGFsbCBjb2x1bW5zJyBmbGV4R3JvdyB2YWx1ZXMuXG4vLyAgICAqL1xuLy8gICBmbGV4R3Jvdz86IG51bWJlclxuLy8gICAvKipcbi8vICAgICogTWluIHdpZHRoIG9mIHRoZSBjb2x1bW5cbi8vICAgICovXG4vLyAgIG1pbldpZHRoPzogbnVtYmVyXG4vLyAgIC8qKlxuLy8gICAgKiBNYXggd2lkdGggb2YgdGhlIGNvbHVtblxuLy8gICAgKi9cbi8vICAgbWF4V2lkdGg/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIFRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBjb2x1bW4sIGluIHBpeGVsc1xuLy8gICAgKi9cbi8vICAgd2lkdGg/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIENhbiB0aGUgY29sdW1uIGJlIHJlc2l6ZWRcbi8vICAgICovXG4vLyAgIHJlc2l6ZWFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDdXN0b20gc29ydCBjb21wYXJhdG9yXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGNvbXBhcmF0b3I/OiBhbnlcbi8vICAgLyoqXG4vLyAgICAqIEN1c3RvbSBwaXBlIHRyYW5zZm9ybXNcbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgcGlwZT86IFBpcGVUcmFuc2Zvcm1cbi8vICAgLyoqXG4vLyAgICAqIENhbiB0aGUgY29sdW1uIGJlIHNvcnRlZFxuLy8gICAgKi9cbi8vICAgc29ydGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDYW4gdGhlIGNvbHVtbiBiZSByZS1hcnJhbmdlZCBieSBkcmFnZ2luZ1xuLy8gICAgKi9cbi8vICAgZHJhZ2dhYmxlPzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogV2hldGhlciB0aGUgY29sdW1uIGNhbiBhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0byBmaWxsIHNwYWNlIGluIHRoZSB0YWJsZS5cbi8vICAgICovXG4vLyAgIGNhbkF1dG9SZXNpemU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDb2x1bW4gbmFtZSBvciBsYWJlbFxuLy8gICAgKi9cbi8vICAgbmFtZT86IHN0cmluZ1xuLy8gICAvKipcbi8vICAgICogUHJvcGVydHkgdG8gYmluZCB0byB0aGUgcm93LiBFeGFtcGxlOlxuLy8gICAgKlxuLy8gICAgKiBgc29tZUZpZWxkYCBvciBgc29tZS5maWVsZC5uZXN0ZWRgLCAwIChudW1lcmljKVxuLy8gICAgKlxuLy8gICAgKiBJZiBsZWZ0IGJsYW5rLCB3aWxsIHVzZSB0aGUgbmFtZSBhcyBjYW1lbCBjYXNlIGNvbnZlcnNpb25cbi8vICAgICovXG4vLyAgIHByb3A/OiBUYWJsZUNvbHVtblByb3Bcbi8vICAgLyoqXG4vLyAgICAqIENlbGwgdGVtcGxhdGUgcmVmXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGNlbGxUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogSGVhZGVyIHRlbXBsYXRlIHJlZlxuLy8gICAgKlxuLy8gICAgKiBOT1RFOiBOb3Qgc3VwcG9ydGVkIGluIEpTT04gZm9ybWF0XG4vLyAgICAqL1xuLy8gICBoZWFkZXJUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogVHJlZSB0b2dnbGUgdGVtcGxhdGUgcmVmXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIHRyZWVUb2dnbGVUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogQ1NTIENsYXNzZXMgZm9yIHRoZSBjZWxsXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IGBGdW5jdGlvbmAgdHlwZSBub3Qgc3VwcG9ydGVkIGluIEpTT04gZm9ybWF0XG4vLyAgICAqL1xuLy8gICBjZWxsQ2xhc3M/OiBzdHJpbmcgfCAoKGRhdGE6IGFueSkgPT4gc3RyaW5nIHwgYW55KVxuLy8gICAvKipcbi8vICAgICogQ1NTIGNsYXNzZXMgZm9yIHRoZSBoZWFkZXJcbi8vICAgICpcbi8vICAgICpcbi8vICAgICogTk9URTogYEZ1bmN0aW9uYCB0eXBlIG5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGhlYWRlckNsYXNzPzogc3RyaW5nIHwgKChkYXRhOiBhbnkpID0+IHN0cmluZyB8IGFueSlcbi8vICAgLyoqXG4vLyAgICAqIEhlYWRlciBjaGVja2JveCBlbmFibGVkXG4vLyAgICAqL1xuLy8gICBoZWFkZXJDaGVja2JveGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBJcyB0cmVlIGRpc3BsYXllZCBvbiB0aGlzIGNvbHVtblxuLy8gICAgKi9cbi8vICAgaXNUcmVlQ29sdW1uPzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogV2lkdGggb2YgdGhlIHRyZWUgbGV2ZWwgaW5kZW50XG4vLyAgICAqL1xuLy8gICB0cmVlTGV2ZWxJbmRlbnQ/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIFN1bW1hcnkgZnVuY3Rpb25cbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgc3VtbWFyeUZ1bmM/OiAoY2VsbHM6IGFueVtdKSA9PiBhbnlcbi8vICAgLyoqXG4vLyAgICAqIFN1bW1hcnkgY2VsbCB0ZW1wbGF0ZSByZWZcbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgc3VtbWFyeVRlbXBsYXRlPzogYW55XG4vLyB9XG5cbi8vIC8vIGV4cG9ydCB0eXBlIER5bmFtaWNEYXRhdGFibGVDb2x1bW5UeXBlID1cbi8vIC8vICAgRHluYW1pY0RhdGF0YWJsZUNvbHVtbjwnc3RyaW5nJywgRHluYW1pY0RhdGF0YWJsZUNlbGxUeXBlQ29uZmlnU3RyaW5nPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2ludGVnZXInLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdJbnRlZ2VyPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2RlY2ltYWwnLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2RhdGUnLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdEYXRlPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2ljb24nLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdJY29uPlxuXG5leHBvcnQgdHlwZSBEeW5hbWljRGF0YXRhYmxlUm93ID0gVGhlU2VhbURhdGF0YWJsZVJvd1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbURlZjxPID0gYW55PiB7XG5cbiAgLyoqICovXG4gIG5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUT0RPOiBSZWZhY3RvciBmaWx0ZXIgbWVudSBpdGVtcyB0byB1c2UgbG9jYXRpb25zIGluc3RlYWQgb2YgdHJ5aW5nIHRvXG4gICAqIG1haW50YWluIGEgbWl4IG9mIGdlbmVyaWMgYW5kIHNwZWNpZmljIHR5cGVzLlxuICAgKlxuICAgKiBEZWZhdWx0OiAnY29tbW9uJ1xuICAgKi9cbiAgdHlwZTogJ2NvbW1vbicgfCAnZnVsbC1zZWFyY2gnXG5cbiAgLyoqXG4gICAqIERlZmF1bHQ6IDBcbiAgICovXG4gIG9yZGVyPzogbnVtYmVyXG5cbiAgLyoqICovXG4gIG9wdGlvbnM/OiBPXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnUge1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0ICdkZWZhdWx0J1xuICAgKi9cbiAgc3RhdGU/OiAnaGlkZGVuJyB8ICdhbHdheXMtdmlzaWJsZScgfCAnZGVmYXVsdCdcblxuICAvKipcbiAgICpcbiAgICovXG4gIGZpbHRlcnM/OiBEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudUl0ZW1EZWZbXVxuXG4gIC8qKlxuICAgKlxuICAgKiBFeGFtcGxlOiBbICdleHBvcnRlcjpjc3YnLCAnZXhwb3J0ZXI6eGxzeCcgXVxuICAgKi9cbiAgZXhwb3J0ZXJzPzogc3RyaW5nW11cblxufVxuXG5leHBvcnQgdHlwZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW1UeXBlID0gJ2J1dHRvbicgfCAndGV4dCdcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW08VCA9IER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbVR5cGU+IHtcbiAgdHlwZTogVFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbUJ1dHRvbiBleHRlbmRzIER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbTwnYnV0dG9uJz4ge1xuICB0ZXh0OiBzdHJpbmdcbiAgdGhlbWU6IFRoZW1lVHlwZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW1UZXh0IGV4dGVuZHMgRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVJdGVtPCd0ZXh0Jz4ge1xuICB0ZXh0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgdmlydHVhbGl6YXRpb24/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnUge1xuICAvKipcbiAgICogRGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIHN0YXRlPzogJ2hpZGRlbicgfCAnYWx3YXlzLXZpc2libGUnIHwgJ2RlZmF1bHQnXG4gIGl0ZW1zPzogRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVJdGVtW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhdGFibGVEeW5hbWljRGVmIHtcbiAgcmVhZG9ubHkgbWVudUJhcj86IER5bmFtaWNEYXRhdGFibGVNZW51QmFyXG4gIHJlYWRvbmx5IGZpbHRlck1lbnU/OiBEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudVxuICByZWFkb25seSBjb2x1bW5zOiBEeW5hbWljRGF0YXRhYmxlQ29sdW1uPFRhYmxlQ2VsbFR5cGVOYW1lLCBUYWJsZUNlbGxUeXBlQ29uZmlnPFRhYmxlQ2VsbFR5cGVOYW1lPj5bXVxuICByZWFkb25seSByb3dzOiBEeW5hbWljRGF0YXRhYmxlUm93W11cbiAgcmVhZG9ubHkgcm93QWN0aW9ucz86IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25bXVxuICAvLyBmb290ZXJNZW51PzogRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVcbiAgcmVhZG9ubHkgb3B0aW9ucz86IER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
2
+ import { ChangeDetectionStrategy, Component, Injector, Input } from '@angular/core';
3
+ import { THESEAM_DATA_FILTER_OPTIONS } from '@theseam/ui-common/data-filters';
4
+ export class DatatableDynamicFilterContainerComponent {
5
+ constructor(_injector) {
6
+ this._injector = _injector;
7
+ this._portal = null;
8
+ }
9
+ set filterComponent(value) {
10
+ this._filterComponent = value;
11
+ // if (this._filterComponent !== value) {
12
+ // this._setPortal(value)
13
+ // }
14
+ }
15
+ get filterComponent() { return this._filterComponent; }
16
+ ngOnInit() {
17
+ if (this.filterComponent) {
18
+ this._setPortal(this.filterComponent);
19
+ }
20
+ }
21
+ _setPortal(component) {
22
+ if (this._portal) {
23
+ this._portal = null;
24
+ }
25
+ if (component) {
26
+ this._portal = new ComponentPortal(component, undefined, this._createInjector());
27
+ }
28
+ else {
29
+ this._portal = null;
30
+ }
31
+ }
32
+ _createInjector() {
33
+ return new PortalInjector(this._injector, new WeakMap([
34
+ [THESEAM_DATA_FILTER_OPTIONS, this.options]
35
+ ]));
36
+ }
37
+ }
38
+ DatatableDynamicFilterContainerComponent.decorators = [
39
+ { type: Component, args: [{
40
+ selector: 'seam-datatable-dynamic-filter-container',
41
+ template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n",
42
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
+ styles: [":host{display:block}"]
44
+ },] }
45
+ ];
46
+ DatatableDynamicFilterContainerComponent.ctorParameters = () => [
47
+ { type: Injector }
48
+ ];
49
+ DatatableDynamicFilterContainerComponent.propDecorators = {
50
+ filterComponent: [{ type: Input }],
51
+ options: [{ type: Input }]
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQVM3RSxNQUFNLE9BQU8sd0NBQXdDO0lBZ0JuRCxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFIN0IsWUFBTyxHQUE4QixJQUFJLENBQUE7SUFJckMsQ0FBQztJQWhCTCxJQUNJLGVBQWUsQ0FBQyxLQUEwQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBO1FBQzdCLHlDQUF5QztRQUN6QywyQkFBMkI7UUFDM0IsSUFBSTtJQUNOLENBQUM7SUFDRCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFDLENBQUM7SUFXdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsU0FBMkI7UUFDNUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFhO1lBQ2hFLENBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7OztZQWhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsdUVBQWtFO2dCQUVsRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQVY0QyxRQUFROzs7OEJBYWxELEtBQUs7c0JBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFfRklMVEVSX09QVElPTlMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNGaWx0ZXJDb250YWluZXJDb21wb25lbnQ8Qz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBmaWx0ZXJDb21wb25lbnQodmFsdWU6IENvbXBvbmVudFR5cGU8Qz4gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29tcG9uZW50ID0gdmFsdWVcbiAgICAvLyBpZiAodGhpcy5fZmlsdGVyQ29tcG9uZW50ICE9PSB2YWx1ZSkge1xuICAgIC8vICAgdGhpcy5fc2V0UG9ydGFsKHZhbHVlKVxuICAgIC8vIH1cbiAgfVxuICBnZXQgZmlsdGVyQ29tcG9uZW50KCkgeyByZXR1cm4gdGhpcy5fZmlsdGVyQ29tcG9uZW50IH1cbiAgcHJpdmF0ZSBfZmlsdGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVxuXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDPiB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9zZXRQb3J0YWwodGhpcy5maWx0ZXJDb21wb25lbnQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9ydGFsKGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPikge1xuICAgIGlmICh0aGlzLl9wb3J0YWwpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgdW5kZWZpbmVkLCB0aGlzLl9jcmVhdGVJbmplY3RvcigpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IoKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG5ldyBXZWFrTWFwIDxhbnksIGFueT4gKFtcbiAgICAgIFsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TLCB0aGlzLm9wdGlvbnMgXVxuICAgIF0pKVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,160 @@
1
+ import { __awaiter } from "tslib";
2
+ import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
3
+ import { ChangeDetectionStrategy, Component, Inject, Injector, Input, Optional } from '@angular/core';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { map, switchMap } from 'rxjs/operators';
6
+ import { DynamicValueHelperService } from '@theseam/ui-common/dynamic';
7
+ import { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader';
8
+ import { hasProperty } from '@theseam/ui-common/utils';
9
+ import { THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM } from '../datatable-dynamic-menu-bar-token';
10
+ export class DatatableDynamicMenuBarContentComponent {
11
+ constructor(_valueHelper, _dynamicComponentLoader, _injector, _menuBarItemManifests) {
12
+ this._valueHelper = _valueHelper;
13
+ this._dynamicComponentLoader = _dynamicComponentLoader;
14
+ this._injector = _injector;
15
+ this._menuBarItemManifests = _menuBarItemManifests;
16
+ this._def = new BehaviorSubject(undefined);
17
+ this.def$ = this._def.asObservable();
18
+ // .pipe(tap(v => console.log('def$', v)))
19
+ this._rows$ = this.def$.pipe(switchMap(def => this._mapRows(def && def.rows || [])));
20
+ // .pipe(tap(v => console.log('_rows$', v)))
21
+ }
22
+ set def(value) { this._def.next(value); }
23
+ get def() { return this._def.value; }
24
+ ngOnInit() { }
25
+ _mapRows(rows) {
26
+ return Promise.all(rows.map(r => this._mapRow(r)));
27
+ }
28
+ _mapRow(row) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const result = {};
31
+ const context = this._createRowContext(row);
32
+ if (hasProperty(row, 'styles')) {
33
+ result.styles = yield this._valueHelper.eval(row.styles, context);
34
+ }
35
+ if (hasProperty(row, 'cssClass')) {
36
+ result.cssClass = yield this._valueHelper.eval(row.cssClass, context);
37
+ }
38
+ if (hasProperty(row, 'priority')) {
39
+ result.priority = yield this._valueHelper.eval(row.priority, context);
40
+ }
41
+ result.layoutType = row.layout.type;
42
+ result.layout = yield this._mapRowLayout(row.layout, row);
43
+ return result;
44
+ });
45
+ }
46
+ _mapRowLayout(layout, row) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const result = {};
49
+ if (hasProperty(layout, 'columnLeft')) {
50
+ result.columnLeft = yield this._mapColumn(layout.columnLeft, row);
51
+ }
52
+ if (hasProperty(layout, 'columnCenter')) {
53
+ result.columnCenter = yield this._mapColumn(layout.columnCenter, row);
54
+ }
55
+ if (hasProperty(layout, 'columnRight')) {
56
+ result.columnRight = yield this._mapColumn(layout.columnRight, row);
57
+ }
58
+ return result;
59
+ });
60
+ }
61
+ _mapColumn(column, row) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const result = {};
64
+ const context = this._createColumnContext(column, row);
65
+ if (hasProperty(column, 'styles')) {
66
+ result.styles = yield this._valueHelper.eval(column.styles, context);
67
+ }
68
+ if (hasProperty(column, 'cssClass')) {
69
+ result.cssClass = yield this._valueHelper.eval(column.cssClass, context);
70
+ }
71
+ result.items = yield Promise.all(column.items.map(v => this._mapItem(v, row, column)));
72
+ return result;
73
+ });
74
+ }
75
+ _mapItem(item, row, column) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const result = {};
78
+ const context = this._createItemContext(item, row, column);
79
+ // if (hasProperty(item, 'styles')) {
80
+ // result.styles = await this._valueHelper.eval(item.styles, context)
81
+ // }
82
+ // if (hasProperty(item, 'cssClass')) {
83
+ // result.cssClass = await this._valueHelper.eval(item.cssClass, context)
84
+ // }
85
+ if (hasProperty(item, 'component')) {
86
+ // result.component = await this._valueHelper.eval(item.component, context)
87
+ const component = yield this._valueHelper.eval(item.component, context);
88
+ let data;
89
+ if (hasProperty(item, 'data')) {
90
+ // result.data = await this._valueHelper.eval(item.data, context)
91
+ // console.log('%cdata', 'color:cyan', item.data)
92
+ data = yield this._valueHelper.eval(item.data, context);
93
+ // console.log('%cdata', 'color:limegreen', data)
94
+ }
95
+ result.portal = yield this._getComponentPortal(component, data);
96
+ }
97
+ return result;
98
+ });
99
+ }
100
+ _createRowContext(row) {
101
+ return {
102
+ row
103
+ };
104
+ }
105
+ _createColumnContext(column, row) {
106
+ return {
107
+ row,
108
+ column
109
+ };
110
+ }
111
+ _createItemContext(item, row, column) {
112
+ return {
113
+ item,
114
+ row,
115
+ column
116
+ };
117
+ }
118
+ _getComponentPortal(component, data) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const manifest = (this._menuBarItemManifests || []).find(m => m.name === component);
121
+ if (!manifest) {
122
+ // TODO: Make sure the component is skipped instead of erroring outside of dev mode.
123
+ throw Error(`MenuBar manifest for '${component}' not found.`);
124
+ }
125
+ // TODO: Create a new injector with the data injected
126
+ let injector = this._injector;
127
+ if (manifest.dataToken) {
128
+ injector = new PortalInjector(this._injector, new WeakMap([
129
+ [manifest.dataToken, data]
130
+ ]));
131
+ }
132
+ if (typeof manifest.component === 'string') {
133
+ this._dynamicComponentLoader.getComponentFactory(manifest.component).pipe(map(componentFactory => {
134
+ return new ComponentPortal(componentFactory.componentType, null, injector, componentFactory.ngModule.componentFactoryResolver);
135
+ })).toPromise();
136
+ }
137
+ else {
138
+ return new ComponentPortal(manifest.component, null, injector, null);
139
+ }
140
+ });
141
+ }
142
+ }
143
+ DatatableDynamicMenuBarContentComponent.decorators = [
144
+ { type: Component, args: [{
145
+ selector: 'seam-datatable-dynamic-menu-bar-content',
146
+ template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n",
147
+ changeDetection: ChangeDetectionStrategy.OnPush,
148
+ styles: [""]
149
+ },] }
150
+ ];
151
+ DatatableDynamicMenuBarContentComponent.ctorParameters = () => [
152
+ { type: DynamicValueHelperService },
153
+ { type: TheSeamDynamicComponentLoader },
154
+ { type: Injector },
155
+ { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM,] }] }
156
+ ];
157
+ DatatableDynamicMenuBarContentComponent.propDecorators = {
158
+ def: [{ type: Input }]
159
+ };
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBR3RELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBMEQ1RixNQUFNLE9BQU8sdUNBQXVDO0lBWWxELFlBQ21CLFlBQXVDLEVBQ3ZDLHVCQUFzRCxFQUN0RCxTQUFtQixFQUVuQixxQkFBOEQ7UUFKOUQsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBK0I7UUFDdEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUVuQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXlDO1FBZmhFLFNBQUksR0FBRyxJQUFJLGVBQWUs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TSxTQUFDLHNDQUFzQzs7O2tCQVozRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljJ1xuaW1wb3J0IHsgVGhlU2VhbUR5bmFtaWNDb21wb25lbnRMb2FkZXIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYy1jb21wb25lbnQtbG9hZGVyJ1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdCB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWl0ZW0tbWFuaWZlc3QnXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLXRva2VuJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXIsXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uLFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93LFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd0xheW91dFRyaUNvbHVtblxufSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0ge1xuICAvLyBzdHlsZXM/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICAvLyBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHBvcnRhbD86IENvbXBvbmVudFBvcnRhbDx7fT5cbiAgLy8gY29tcG9uZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZTx7fT5cbiAgLy8gY29uZmlnPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgaXRlbXM/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0xheW91dFRyaUNvbHVtbiB7XG4gIGNvbHVtbkxlZnQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG4gIGNvbHVtbkNlbnRlcj86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uUmlnaHQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvdyB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcHJpb3JpdHk/OiBudW1iZXJcbiAgbGF5b3V0VHlwZT86IHN0cmluZ1xuICBsYXlvdXQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0NvbnRleHQge1xuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW1cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKVxuICBzZXQgZGVmKHZhbHVlOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZCkgeyB0aGlzLl9kZWYubmV4dCh2YWx1ZSkgfVxuICBnZXQgZGVmKCk6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZSB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZiQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+XG5cbiAgcmVhZG9ubHkgX3Jvd3MkOiBPYnNlcnZhYmxlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dbXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50TG9hZGVyOiBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QmFySXRlbU1hbmlmZXN0cz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdFtdXG4gICkge1xuICAgIHRoaXMuZGVmJCA9IHRoaXMuX2RlZi5hc09ic2VydmFibGUoKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ2RlZiQnLCB2KSkpXG5cbiAgICB0aGlzLl9yb3dzJCA9IHRoaXMuZGVmJC5waXBlKHN3aXRjaE1hcChkZWYgPT4gdGhpcy5fbWFwUm93cyhkZWYgJiYgZGVmLnJvd3MgfHwgW10pKSlcbiAgICAgIC8vIC5waXBlKHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfcm93cyQnLCB2KSkpXG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIHByaXZhdGUgX21hcFJvd3Mocm93czogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dbXSk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJvd3MubWFwKHIgPT4gdGhpcy5fbWFwUm93KHIpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvdyhyb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93KTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93PiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93ID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZVJvd0NvbnRleHQocm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cuc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAncHJpb3JpdHknKSkge1xuICAgICAgcmVzdWx0LnByaW9yaXR5ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cucHJpb3JpdHksIGNvbnRleHQpXG4gICAgfVxuXG4gICAgcmVzdWx0LmxheW91dFR5cGUgPSByb3cubGF5b3V0LnR5cGVcbiAgICByZXN1bHQubGF5b3V0ID0gYXdhaXQgdGhpcy5fbWFwUm93TGF5b3V0KHJvdy5sYXlvdXQsIHJvdylcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvd0xheW91dChcbiAgICBsYXlvdXQ6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uID0geyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uTGVmdCcpKSB7XG4gICAgICByZXN1bHQuY29sdW1uTGVmdCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uTGVmdCwgcm93KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5DZW50ZXInKSkge1xuICAgICAgcmVzdWx0LmNvbHVtbkNlbnRlciA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uQ2VudGVyLCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtblJpZ2h0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5SaWdodCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uUmlnaHQsIHJvdylcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBDb2x1bW4oXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbj4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiA9IHsgfVxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9jcmVhdGVDb2x1bW5Db250ZXh0KGNvbHVtbiwgcm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChjb2x1bW4uc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQuaXRlbXMgPSBhd2FpdCBQcm9taXNlLmFsbChjb2x1bW4uaXRlbXMubWFwKHYgPT4gdGhpcy5fbWFwSXRlbSh2LCByb3csIGNvbHVtbikpKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwSXRlbShcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUl0ZW1Db250ZXh0KGl0ZW0sIHJvdywgY29sdW1uKVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdzdHlsZXMnKSkge1xuICAgIC8vICAgcmVzdWx0LnN0eWxlcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5zdHlsZXMsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjc3NDbGFzcycpKSB7XG4gICAgLy8gICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY3NzQ2xhc3MsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjb21wb25lbnQnKSkge1xuICAgICAgLy8gcmVzdWx0LmNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG4gICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY29tcG9uZW50LCBjb250ZXh0KVxuXG4gICAgICBsZXQgZGF0YTogYW55XG4gICAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2RhdGEnKSkge1xuICAgICAgICAvLyByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmN5YW4nLCBpdGVtLmRhdGEpXG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uZGF0YSwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJyVjZGF0YScsICdjb2xvcjpsaW1lZ3JlZW4nLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQucG9ydGFsID0gYXdhaXQgdGhpcy5fZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgZGF0YSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVSb3dDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbHVtbkNvbnRleHQoXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbUNvbnRleHQoXG4gICAgaXRlbTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJJdGVtLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtblxuICApOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudDogc3RyaW5nLCBkYXRhPzogYW55KTogUHJvbWlzZTxDb21wb25lbnRQb3J0YWw8e30+IHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSAodGhpcy5fbWVudUJhckl0ZW1NYW5pZmVzdHMgfHwgW10pLmZpbmQobSA9PiBtLm5hbWUgPT09IGNvbXBvbmVudClcblxuICAgIGlmICghbWFuaWZlc3QpIHtcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB0aGUgY29tcG9uZW50IGlzIHNraXBwZWQgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXRzaWRlIG9mIGRldiBtb2RlLlxuICAgICAgdGhyb3cgRXJyb3IoYE1lbnVCYXIgbWFuaWZlc3QgZm9yICcke2NvbXBvbmVudH0nIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIC8vIFRPRE86IENyZWF0ZSBhIG5ldyBpbmplY3RvciB3aXRoIHRoZSBkYXRhIGluamVjdGVkXG4gICAgbGV0IGluamVjdG9yID0gdGhpcy5faW5qZWN0b3JcbiAgICBpZiAobWFuaWZlc3QuZGF0YVRva2VuKSB7XG4gICAgICBpbmplY3RvciA9IG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgbmV3IFdlYWtNYXAoW1xuICAgICAgICBbbWFuaWZlc3QuZGF0YVRva2VuLCBkYXRhXVxuICAgICAgXSkpXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYW5pZmVzdC5jb21wb25lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9keW5hbWljQ29tcG9uZW50TG9hZGVyLmdldENvbXBvbmVudEZhY3Rvcnk8e30+KG1hbmlmZXN0LmNvbXBvbmVudCkucGlwZShcbiAgICAgICAgbWFwKGNvbXBvbmVudEZhY3RvcnkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeS5jb21wb25lbnRUeXBlLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAgKDxhbnkgLyogQ29tcG9uZW50RmFjdG9yeUJvdW5kVG9Nb2R1bGUgKi8+Y29tcG9uZW50RmFjdG9yeSkubmdNb2R1bGUuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuICAgICAgKS50b1Byb21pc2UoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChtYW5pZmVzdC5jb21wb25lbnQsIG51bGwsIGluamVjdG9yLCBudWxsKVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1pdGVtLW1hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJJdGVtTWFuaWZlc3Q8VCA9IGFueT4ge1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgbmFtZSB0byByZXByZXNlbnQgdGhpcyBpdGVtIGluIEpTT04gZGVmLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCB0byByZW5kZXIgZm9yIHRoaXMgaXRlbS5cbiAgICovXG4gIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx7fT4gfCBzdHJpbmdcblxuICAvKipcbiAgICogSW5qZWN0aW9uVG9rZW4gdG8gaW5qZWN0IGRhdGEgYXMuXG4gICAqL1xuICBkYXRhVG9rZW4/OiBJbmplY3Rpb25Ub2tlbjxUPlxufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM = new InjectionToken('IDatatableDynamicMenuBarItemManifest');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUk5QyxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxJQUFJLGNBQWMsQ0FDdEUsc0NBQXNDLENBQ3ZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdCdcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNID0gbmV3IEluamVjdGlvblRva2VuPElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdD4oXG4gICdJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJJdGVtTWFuaWZlc3QnXG4pXG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { DynamicDatatableDefService } from './dynamic-datatable-def.service';
4
+ import { DynamicDatatableRowActionsService } from './dynamic-datatable-row-actions.service';
5
+ /**
6
+ * # EXPERIMENTAL
7
+ *
8
+ * NOTE: This component is still experimental. When stable all standard
9
+ * datatables must use this component, unless there is a good reason not to, in
10
+ * our apps.
11
+ *
12
+ * ----------------------------------------------------------------------------
13
+ *
14
+ * Datatable that is built from a json definition.
15
+ *
16
+ * All standard datatables in our apps must use this component, unless there is
17
+ * a good reason not to. If a standard datatable does not use this component
18
+ * then an explaination comment needs to be clearly provided in the code to
19
+ * avoid getting migrated to this component.
20
+ *
21
+ * A few reasons this component should to be used:
22
+ * - We can, more easily, control what a datatable in our app does by requiring
23
+ * the definition follow a json schema, instead of having full scripting
24
+ * access available to the developer.
25
+ * + By using json we can maintain the tables from any external app/language
26
+ * that can produce a json string.
27
+ * + More scripting access often leads to different hacks across the tables
28
+ * that should have just been supported by this component if it is a feature
29
+ * a datatable should be able to do in an app of ours.
30
+ * - We can allow any of our tables to be configured by the server.
31
+ * + By supporting configuration on the server we can change the tables
32
+ * without a new build and do things like allowing non-developers/clients to
33
+ * maintain the tables functionality.
34
+ */
35
+ export class DatatableDynamicComponent {
36
+ constructor(_dynamicDef) {
37
+ this._dynamicDef = _dynamicDef;
38
+ this._hasDef$ = this._dynamicDef.def$.pipe(map(def => !!def));
39
+ this.menuBar$ = this._dynamicDef.menuBar$;
40
+ this._exporters$ = this._dynamicDef.exporters$;
41
+ this._commonFilterMenuItems$ = this._dynamicDef.filterMenuItems$
42
+ .pipe(map(f => f.filter(_f => _f.type === 'common')));
43
+ this._hasFullSearch$ = this._dynamicDef.filterMenuItems$
44
+ .pipe(map(f => !!f.find(_f => _f.type === 'full-search')));
45
+ this._hasFilterMenu$ = this._dynamicDef.hasFilterMenu$;
46
+ this._options$ = this._dynamicDef.options$;
47
+ this._tmp_columns$ = this._dynamicDef.def$.pipe(map(def => def ? def.columns : []));
48
+ this._tmp_rows$ = this._dynamicDef.def$.pipe(map(def => def ? def.rows : []));
49
+ }
50
+ /** The `DatatableDynamicDef` that defines the datatable. */
51
+ set def(value) {
52
+ this._dynamicDef.setDef(value || undefined);
53
+ }
54
+ /** @ignore */
55
+ ngOnInit() { }
56
+ }
57
+ DatatableDynamicComponent.decorators = [
58
+ { type: Component, args: [{
59
+ selector: 'seam-datatable-dynamic',
60
+ template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n",
61
+ providers: [
62
+ DynamicDatatableDefService,
63
+ DynamicDatatableRowActionsService
64
+ ],
65
+ changeDetection: ChangeDetectionStrategy.OnPush,
66
+ styles: [":host{display:flex;flex-direction:column}"]
67
+ },] }
68
+ ];
69
+ DatatableDynamicComponent.ctorParameters = () => [
70
+ { type: DynamicDatatableDefService }
71
+ ];
72
+ DatatableDynamicComponent.propDecorators = {
73
+ def: [{ type: Input }]
74
+ };
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQTREcEMsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQztJQXJGRCw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFvRkQsY0FBYztJQUNkLFFBQVEsS0FBSyxDQUFDOzs7WUFwR2YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDRxREFBaUQ7Z0JBRWpELFNBQVMsRUFBRTtvQkFDVCwwQkFBMEI7b0JBQzFCLGlDQUFpQztpQkFDbEM7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUE1Q1EsMEJBQTBCOzs7a0JBZ0RoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBJRGF0YUV4cG9ydGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5cbmltcG9ydCB7XG4gIERhdGF0YWJsZUR5bmFtaWNEZWYsXG4gIER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZGVmJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLWRlZi5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9ucy5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtZmlsdGVyLW1lbnUtaXRlbSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbi8qKlxuICogIyBFWFBFUklNRU5UQUxcbiAqXG4gKiBOT1RFOiBUaGlzIGNvbXBvbmVudCBpcyBzdGlsbCBleHBlcmltZW50YWwuIFdoZW4gc3RhYmxlIGFsbCBzdGFuZGFyZFxuICogZGF0YXRhYmxlcyBtdXN0IHVzZSB0aGlzIGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCBpblxuICogb3VyIGFwcHMuXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIERhdGF0YWJsZSB0aGF0IGlzIGJ1aWx0IGZyb20gYSBqc29uIGRlZmluaXRpb24uXG4gKlxuICogQWxsIHN0YW5kYXJkIGRhdGF0YWJsZXMgaW4gb3VyIGFwcHMgbXVzdCB1c2UgdGhpcyBjb21wb25lbnQsIHVubGVzcyB0aGVyZSBpc1xuICogYSBnb29kIHJlYXNvbiBub3QgdG8uIElmIGEgc3RhbmRhcmQgZGF0YXRhYmxlIGRvZXMgbm90IHVzZSB0aGlzIGNvbXBvbmVudFxuICogdGhlbiBhbiBleHBsYWluYXRpb24gY29tbWVudCBuZWVkcyB0byBiZSBjbGVhcmx5IHByb3ZpZGVkIGluIHRoZSBjb2RlIHRvXG4gKiBhdm9pZCBnZXR0aW5nIG1pZ3JhdGVkIHRvIHRoaXMgY29tcG9uZW50LlxuICpcbiAqIEEgZmV3IHJlYXNvbnMgdGhpcyBjb21wb25lbnQgc2hvdWxkIHRvIGJlIHVzZWQ6XG4gKiAtIFdlIGNhbiwgbW9yZSBlYXNpbHksIGNvbnRyb2wgd2hhdCBhIGRhdGF0YWJsZSBpbiBvdXIgYXBwIGRvZXMgYnkgcmVxdWlyaW5nXG4gKiAgIHRoZSBkZWZpbml0aW9uIGZvbGxvdyBhIGpzb24gc2NoZW1hLCBpbnN0ZWFkIG9mIGhhdmluZyBmdWxsIHNjcmlwdGluZ1xuICogICBhY2Nlc3MgYXZhaWxhYmxlIHRvIHRoZSBkZXZlbG9wZXIuXG4gKiAgICsgQnkgdXNpbmcganNvbiB3ZSBjYW4gbWFpbnRhaW4gdGhlIHRhYmxlcyBmcm9tIGFueSBleHRlcm5hbCBhcHAvbGFuZ3VhZ2VcbiAqICAgICB0aGF0IGNhbiBwcm9kdWNlIGEganNvbiBzdHJpbmcuXG4gKiAgICsgTW9yZSBzY3JpcHRpbmcgYWNjZXNzIG9mdGVuIGxlYWRzIHRvIGRpZmZlcmVudCBoYWNrcyBhY3Jvc3MgdGhlIHRhYmxlc1xuICogICAgIHRoYXQgc2hvdWxkIGhhdmUganVzdCBiZWVuIHN1cHBvcnRlZCBieSB0aGlzIGNvbXBvbmVudCBpZiBpdCBpcyBhIGZlYXR1cmVcbiAqICAgICBhIGRhdGF0YWJsZSBzaG91bGQgYmUgYWJsZSB0byBkbyBpbiBhbiBhcHAgb2Ygb3Vycy5cbiAqIC0gV2UgY2FuIGFsbG93IGFueSBvZiBvdXIgdGFibGVzIHRvIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIHNlcnZlci5cbiAqICAgKyBCeSBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb24gdGhlIHNlcnZlciB3ZSBjYW4gY2hhbmdlIHRoZSB0YWJsZXNcbiAqICAgICB3aXRob3V0IGEgbmV3IGJ1aWxkIGFuZCBkbyB0aGluZ3MgbGlrZSBhbGxvd2luZyBub24tZGV2ZWxvcGVycy9jbGllbnRzIHRvXG4gKiAgICAgbWFpbnRhaW4gdGhlIHRhYmxlcyBmdW5jdGlvbmFsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UsXG4gICAgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKiBUaGUgYERhdGF0YWJsZUR5bmFtaWNEZWZgIHRoYXQgZGVmaW5lcyB0aGUgZGF0YXRhYmxlLiAqL1xuICBASW5wdXQoKSBzZXQgZGVmKHZhbHVlOiBEYXRhdGFibGVEeW5hbWljRGVmIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2R5bmFtaWNEZWYuc2V0RGVmKHZhbHVlIHx8IHVuZGVmaW5lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZGVmLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRGVmJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgbWVudSBiYXIuXG4gICAqL1xuICBtZW51QmFyJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlTWVudUJhciAgfCB1bmRlZmluZWQ+XG5cbiAgLyoqXG4gICAqIFRoZSBhdmFpbGFibGUgZXhwb3J0ZXJzLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfZXhwb3J0ZXJzJDogT2JzZXJ2YWJsZTxJRGF0YUV4cG9ydGVyW10+XG5cbiAgLyoqXG4gICAqIFRoZSAnY29tbW9uJyB0eXBlIGZpbHRlciBtZW51IGl0ZW1zLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfY29tbW9uRmlsdGVyTWVudUl0ZW1zJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudUl0ZW1bXT5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhICdmdWxsLXNlYXJjaCcgbWVudSBpdGVtLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRnVsbFNlYXJjaCQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhIGZpbHRlciBtZW51LlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRmlsdGVyTWVudSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgZGF0YXRhYmxlIG9wdGlvbnMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9vcHRpb25zJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZD5cblxuICAvKipcbiAgICogVE9ETzogSW1wbGVtZW50IGRlZiBjb2x1bW5zIHBhcnNlci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX3RtcF9jb2x1bW5zJDogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgLyoqXG4gICAqIFRPRE86IEltcGxlbWVudCBkZWYgcm93cyBwYXJzZXIuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF90bXBfcm93cyQ6IE9ic2VydmFibGU8YW55PlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNEZWY6IER5bmFtaWNEYXRhdGFibGVEZWZTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX2hhc0RlZiQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShtYXAoZGVmID0+ICEhZGVmKSlcblxuICAgIHRoaXMubWVudUJhciQgPSB0aGlzLl9keW5hbWljRGVmLm1lbnVCYXIkXG5cbiAgICB0aGlzLl9leHBvcnRlcnMkID0gdGhpcy5fZHluYW1pY0RlZi5leHBvcnRlcnMkXG5cbiAgICB0aGlzLl9jb21tb25GaWx0ZXJNZW51SXRlbXMkID0gdGhpcy5fZHluYW1pY0RlZi5maWx0ZXJNZW51SXRlbXMkXG4gICAgICAucGlwZShtYXAoZiA9PiBmLmZpbHRlcihfZiA9PiBfZi50eXBlID09PSAnY29tbW9uJykpKVxuXG4gICAgdGhpcy5faGFzRnVsbFNlYXJjaCQgPSB0aGlzLl9keW5hbWljRGVmLmZpbHRlck1lbnVJdGVtcyRcbiAgICAgIC5waXBlKG1hcChmID0+ICEhZi5maW5kKF9mID0+IF9mLnR5cGUgPT09ICdmdWxsLXNlYXJjaCcpKSlcblxuICAgIHRoaXMuX2hhc0ZpbHRlck1lbnUkID0gdGhpcy5fZHluYW1pY0RlZi5oYXNGaWx0ZXJNZW51JFxuXG4gICAgdGhpcy5fb3B0aW9ucyQgPSB0aGlzLl9keW5hbWljRGVmLm9wdGlvbnMkXG5cbiAgICB0aGlzLl90bXBfY29sdW1ucyQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShcbiAgICAgIG1hcChkZWYgPT4gZGVmID8gZGVmLmNvbHVtbnMgOiBbXSlcbiAgICApXG5cbiAgICB0aGlzLl90bXBfcm93cyQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShcbiAgICAgIG1hcChkZWYgPT4gZGVmID8gZGVmLnJvd3MgOiBbXSksXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygnX3RtcF9yb3dzJCcsIHYpKVxuICAgIClcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25Jbml0KCkgeyB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { PortalModule } from '@angular/cdk/portal';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { RouterModule } from '@angular/router';
5
+ import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
6
+ import { TheSeamDataExporterModule } from '@theseam/ui-common/data-exporter';
7
+ import { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters';
8
+ import { TheSeamDatatableModule } from '@theseam/ui-common/datatable';
9
+ import { TheSeamIconModule } from '@theseam/ui-common/icon';
10
+ import { TheSeamMenuModule } from '@theseam/ui-common/menu';
11
+ import { TheSeamSharedModule } from '@theseam/ui-common/shared';
12
+ import { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types';
13
+ import { DatatableDynamicActionMenuComponent } from './datatable-dynamic-action-menu/datatable-dynamic-action-menu.component';
14
+ import { DatatableDynamicFilterContainerComponent } from './datatable-dynamic-filter-container/datatable-dynamic-filter-container.component';
15
+ import { DatatableDynamicMenuBarContentComponent } from './datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component';
16
+ import { DatatableDynamicComponent } from './datatable-dynamic.component';
17
+ import { DatatableDynamicActionMenuItemDirective } from './directives/datatable-dynamic-action-menu-item.directive';
18
+ export class TheSeamDatatableDynamicModule {
19
+ }
20
+ TheSeamDatatableDynamicModule.decorators = [
21
+ { type: NgModule, args: [{
22
+ declarations: [
23
+ DatatableDynamicComponent,
24
+ DatatableDynamicFilterContainerComponent,
25
+ DatatableDynamicActionMenuComponent,
26
+ DatatableDynamicActionMenuItemDirective,
27
+ DatatableDynamicMenuBarContentComponent,
28
+ ],
29
+ imports: [
30
+ CommonModule,
31
+ TheSeamSharedModule,
32
+ TheSeamDatatableModule,
33
+ TheSeamTableCellTypesModule,
34
+ TheSeamDataExporterModule,
35
+ TheSeamDataFiltersModule,
36
+ TheSeamIconModule,
37
+ PortalModule,
38
+ RouterModule,
39
+ TheSeamMenuModule,
40
+ TheSeamButtonsModule
41
+ ],
42
+ exports: [
43
+ DatatableDynamicComponent,
44
+ TheSeamDatatableModule,
45
+ DatatableDynamicActionMenuItemDirective
46
+ ]
47
+ },] }
48
+ ];
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRWpGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFBO0FBQzdILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzVJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzNJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBNkJuSCxNQUFNLE9BQU8sNkJBQTZCOzs7WUEzQnpDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO29CQUN6Qix3Q0FBd0M7b0JBQ3hDLG1DQUFtQztvQkFDbkMsdUNBQXVDO29CQUN2Qyx1Q0FBdUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0QiwyQkFBMkI7b0JBQzNCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixpQkFBaUI7b0JBQ2pCLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtvQkFDekIsc0JBQXNCO29CQUN0Qix1Q0FBdUM7aUJBQ3hDO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGFFeHBvcnRlck1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhLWV4cG9ydGVyJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YXRhYmxlJ1xuaW1wb3J0IHsgVGhlU2VhbUljb25Nb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vaWNvbidcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3NoYXJlZCdcbmltcG9ydCB7IFRoZVNlYW1UYWJsZUNlbGxUeXBlc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGVzJ1xuXG5pbXBvcnQgeyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUvZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0ZpbHRlckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGF0YXRhYmxlRHluYW1pY0NvbXBvbmVudCxcbiAgICBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGhlU2VhbVNoYXJlZE1vZHVsZSxcbiAgICBUaGVTZWFtRGF0YXRhYmxlTW9kdWxlLFxuICAgIFRoZVNlYW1UYWJsZUNlbGxUeXBlc01vZHVsZSxcbiAgICBUaGVTZWFtRGF0YUV4cG9ydGVyTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhRmlsdGVyc01vZHVsZSxcbiAgICBUaGVTZWFtSWNvbk1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRoZVNlYW1NZW51TW9kdWxlLFxuICAgIFRoZVNlYW1CdXR0b25zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRhdGFibGVEeW5hbWljQ29tcG9uZW50LFxuICAgIFRoZVNlYW1EYXRhdGFibGVNb2R1bGUsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbURhdGF0YWJsZUR5bmFtaWNNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,408 @@
1
+ import { LocationStrategy } from '@angular/common';
2
+ import { Attribute, Directive, ElementRef, Input, isDevMode, Renderer2 } from '@angular/core';
3
+ import { ActivatedRoute, Router, RouterLink, RouterLinkWithHref } from '@angular/router';
4
+ import { from, fromEvent, of, ReplaySubject, Subscription } from 'rxjs';
5
+ import { catchError, mapTo, switchMap, tap } from 'rxjs/operators';
6
+ import { AssetReaderHelperService } from '@theseam/ui-common/asset-reader';
7
+ import { DynamicActionHelperService, DynamicValueHelperService } from '@theseam/ui-common/dynamic';
8
+ import { getAttribute, hasProperty, toggleAttribute } from '@theseam/ui-common/utils';
9
+ /**
10
+ * Class to act as a substitute to `routerLink` directive until the menu items
11
+ * can be dynamically built in a clean way with or without `routerLink`.
12
+ */
13
+ export class DatatableDynamicActionMenuItemRouterLink {
14
+ constructor(router, route, tabIndex, renderer, el, locationStrategy) {
15
+ this.router = router;
16
+ this.route = route;
17
+ this.renderer = renderer;
18
+ this.el = el;
19
+ this.locationStrategy = locationStrategy;
20
+ if (el.nativeElement.nodeName.toLowerCase() === 'a') {
21
+ this._rLinkWithHref = new RouterLinkWithHref(router, route, locationStrategy);
22
+ // console.log('rLinkWithHref', this.rLinkWithHref)
23
+ this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', (event) => {
24
+ // console.log('this._rLinkWithHref', this._rLinkWithHref, this._rLinkWithHref && this._rLinkWithHref.href)
25
+ if (this._rLinkWithHref) {
26
+ return this._rLinkWithHref.onClick(event.button, event.ctrlKey, event.shiftKey, event.altKey, event.metaKey);
27
+ }
28
+ });
29
+ }
30
+ else {
31
+ this._rLink = new RouterLink(router, route, tabIndex, renderer, el);
32
+ // console.log('rLink', this.rLink)
33
+ this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', () => {
34
+ // console.log('this._rLink', this._rLink && this._rLink.urlTree)
35
+ if (this._rLink) {
36
+ return this._rLink.onClick();
37
+ }
38
+ });
39
+ // this._clickSubscription = fromEvent(el.nativeElement, 'click')
40
+ // .subscribe(() => {
41
+ // if (this._rLink) {
42
+ // this._rLink.onClick()
43
+ // } else {
44
+ // if (this._clickSubscription && !this._clickSubscription.closed) {
45
+ // this._clickSubscription.unsubscribe()
46
+ // }
47
+ // }
48
+ // })
49
+ }
50
+ }
51
+ get routerLink() { return this._rLink; }
52
+ get routerLinkWithHref() { return this._rLinkWithHref; }
53
+ set routerLinkInput(commands) {
54
+ if (this._rLink) {
55
+ this._rLink.routerLink = commands;
56
+ }
57
+ else if (this._rLinkWithHref) {
58
+ this._rLinkWithHref.routerLink = commands;
59
+ }
60
+ }
61
+ set queryParams(value) {
62
+ if (this._rLink) {
63
+ this._rLink.queryParams = value;
64
+ }
65
+ else if (this._rLinkWithHref) {
66
+ this._rLinkWithHref.queryParams = value;
67
+ }
68
+ }
69
+ set fragment(value) {
70
+ if (this._rLink) {
71
+ this._rLink.fragment = value;
72
+ }
73
+ else if (this._rLinkWithHref) {
74
+ this._rLinkWithHref.fragment = value;
75
+ }
76
+ }
77
+ set queryParamsHandling(value) {
78
+ if (this._rLink) {
79
+ this._rLink.queryParamsHandling = value;
80
+ }
81
+ else if (this._rLinkWithHref) {
82
+ this._rLinkWithHref.queryParamsHandling = value;
83
+ }
84
+ }
85
+ set preserveFragment(value) {
86
+ if (this._rLink) {
87
+ this._rLink.preserveFragment = value;
88
+ }
89
+ else if (this._rLinkWithHref) {
90
+ this._rLinkWithHref.preserveFragment = value;
91
+ }
92
+ }
93
+ set skipLocationChange(value) {
94
+ if (this._rLink) {
95
+ this._rLink.skipLocationChange = value;
96
+ }
97
+ else if (this._rLinkWithHref) {
98
+ this._rLinkWithHref.skipLocationChange = value;
99
+ }
100
+ }
101
+ set replaceUrl(value) {
102
+ if (this._rLink) {
103
+ this._rLink.replaceUrl = value;
104
+ }
105
+ else if (this._rLinkWithHref) {
106
+ this._rLinkWithHref.replaceUrl = value;
107
+ }
108
+ }
109
+ set state(value) {
110
+ if (this._rLink) {
111
+ this._rLink.state = value;
112
+ }
113
+ else if (this._rLinkWithHref) {
114
+ this._rLinkWithHref.state = value;
115
+ }
116
+ }
117
+ set target(value) {
118
+ if (this._rLinkWithHref) {
119
+ this._rLinkWithHref.target = value;
120
+ if (value) {
121
+ this.renderer.setAttribute(this.el.nativeElement, 'target', value);
122
+ }
123
+ else {
124
+ toggleAttribute(this.el.nativeElement, 'target', false);
125
+ }
126
+ }
127
+ }
128
+ destroy() {
129
+ // if (this._clickSubscription && !this._clickSubscription.closed) {
130
+ // this._clickSubscription.unsubscribe()
131
+ // }
132
+ if (this._rLinkClickEventListener) {
133
+ this.el.nativeElement.removeEventListener('click', this._rLinkClickEventListener);
134
+ this._rLinkClickEventListener = null;
135
+ }
136
+ if (this._rLinkWithHref && this._rLinkWithHref.ngOnDestroy) {
137
+ this._rLinkWithHref.ngOnDestroy();
138
+ }
139
+ }
140
+ }
141
+ DatatableDynamicActionMenuItemRouterLink.ctorParameters = () => [
142
+ { type: Router },
143
+ { type: ActivatedRoute },
144
+ { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
145
+ { type: Renderer2 },
146
+ { type: ElementRef },
147
+ { type: LocationStrategy }
148
+ ];
149
+ // TODO: Refactor this directive. It got way more complex instead of more
150
+ // simplified like it was supposed to be.
151
+ export class DatatableDynamicActionMenuItemDirective {
152
+ constructor(_elementRef, _renderer, _valueHelper, _actionHelper, _assetReaderHelper, _router, _route, _locationStrategy) {
153
+ this._elementRef = _elementRef;
154
+ this._renderer = _renderer;
155
+ this._valueHelper = _valueHelper;
156
+ this._actionHelper = _actionHelper;
157
+ this._assetReaderHelper = _assetReaderHelper;
158
+ this._router = _router;
159
+ this._route = _route;
160
+ this._locationStrategy = _locationStrategy;
161
+ this._record = new ReplaySubject(1);
162
+ this._recordSubscription = Subscription.EMPTY;
163
+ this._recordSubscription = this._record.pipe(
164
+ // tap(v => console.log('record', v)),
165
+ switchMap(record => this._update(record)), tap(() => { this._setInvalidActionState(false); }), catchError(error => {
166
+ if (isDevMode()) {
167
+ console.error(error);
168
+ }
169
+ this._setInvalidActionState(true);
170
+ return of(undefined);
171
+ })).subscribe();
172
+ }
173
+ set seamDatatableDynamicActionMenuItem(value) {
174
+ this._record.next(value);
175
+ }
176
+ ngOnInit() { }
177
+ ngOnDestroy() {
178
+ this._recordSubscription.unsubscribe();
179
+ this._unsubClick();
180
+ if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {
181
+ this._menuRouterLink.routerLinkWithHref.ngOnDestroy();
182
+ }
183
+ }
184
+ ngOnChanges(changes) {
185
+ // console.log('ngOnChanges', changes, this, this._menuRouterLink)
186
+ if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {
187
+ this._menuRouterLink.routerLinkWithHref.ngOnChanges({});
188
+ if (this._menuRouterLink.routerLinkWithHref.href) {
189
+ if (getAttribute(this._elementRef.nativeElement, 'href') !== this._menuRouterLink.routerLinkWithHref.href) {
190
+ this._renderer.setAttribute(this._elementRef.nativeElement, 'href', this._menuRouterLink.routerLinkWithHref.href);
191
+ }
192
+ }
193
+ else {
194
+ toggleAttribute(this._elementRef.nativeElement, 'href', false);
195
+ }
196
+ }
197
+ }
198
+ _update(record) {
199
+ this._unsubClick();
200
+ return from(this._getUiProps(record)).pipe(switchMap(uiProps => this._isAnchor()
201
+ ? this._updateAnchorElement(record, uiProps)
202
+ : this._updateButtonElement(record, uiProps)));
203
+ }
204
+ _updateAnchorElement(record, uiProps) {
205
+ const _stream = of(undefined);
206
+ switch (uiProps.triggerType) {
207
+ case 'link': {
208
+ // console.log('Handle "link" triggerType.', uiProps)
209
+ // this._tryInitTabIndex()
210
+ this._tryInitBlockClick(record, uiProps);
211
+ this._initMenuItemRouterLink(record, uiProps);
212
+ break;
213
+ }
214
+ case 'link-external': {
215
+ // console.log('Handle "link-external" triggerType.', uiProps)
216
+ // this._tryInitTabIndex()
217
+ this._tryInitBlockClick(record, uiProps);
218
+ if (hasProperty(uiProps, 'linkUrl')) {
219
+ this._setAttr('href', uiProps.linkUrl);
220
+ }
221
+ if (hasProperty(uiProps, 'linkExtras')) {
222
+ if (hasProperty(uiProps.linkExtras, 'target')) {
223
+ this._setAttr('target', uiProps.linkExtras.target);
224
+ }
225
+ }
226
+ // TODO: Consider making the ItemRouterLink work with external urls.
227
+ // this._initMenuItemRouterLink(record, uiProps)
228
+ break;
229
+ }
230
+ // TODO: Unless we decide to add a route for openning assets, this would
231
+ // be confusing to a user.
232
+ // case 'link-asset': {
233
+ // console.log('Handle "link-asset" triggerType.', uiProps)
234
+ // // this._tryInitTabIndex()
235
+ // this._tryInitBlockClick(record, uiProps)
236
+ // break
237
+ // }
238
+ default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +
239
+ `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`);
240
+ }
241
+ return _stream; // .pipe(mapTo(undefined))
242
+ }
243
+ _updateButtonElement(record, uiProps) {
244
+ let _stream = of(undefined);
245
+ // this._updateClickElement(record, uiProps as DynamicActionUiButtonDef)
246
+ switch (uiProps.triggerType) {
247
+ case 'link-asset': {
248
+ // console.log('Handle "link-asset" triggerType.', uiProps)
249
+ // this._tryInitTabIndex()
250
+ this._tryInitBlockClick(record, uiProps);
251
+ _stream = _stream.pipe(switchMap(() => this._updateAssetElement(record, uiProps)));
252
+ break;
253
+ }
254
+ case 'click': {
255
+ // console.log('Handle "click" triggerType.', uiProps)
256
+ this._tryInitBlockClick(record, uiProps);
257
+ _stream = _stream.pipe(switchMap(() => this._updateClickElement(record, uiProps)));
258
+ break;
259
+ }
260
+ default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +
261
+ `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`);
262
+ }
263
+ return _stream; // .pipe(mapTo(undefined))
264
+ }
265
+ _updateAssetElement(record, uiProps) {
266
+ // console.log('_updateAssetElement')
267
+ // return of(undefined)
268
+ // console.log('this._elementRef.nativeElement', this._elementRef.nativeElement)
269
+ const t = fromEvent(this._elementRef.nativeElement, 'click').pipe(tap(event => {
270
+ // const _context = this._getContext(record._row, record.rowAction)
271
+ // const context = { ..._context, event, uiProps }
272
+ // const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)
273
+ // console.log(record, uiProps)
274
+ // console.log('_updateClickElement click', (<any>event).button, event)
275
+ if (this._assetReaderHelper) {
276
+ if (uiProps.triggerType === 'link-asset' && hasProperty(uiProps, 'linkUrl')) {
277
+ const url = uiProps.linkUrl;
278
+ let target;
279
+ if (hasProperty(uiProps, 'linkExtras') && hasProperty(uiProps.linkExtras, 'target')) {
280
+ target = uiProps.linkExtras.target;
281
+ }
282
+ this._assetReaderHelper.openLink(url, true, true, target);
283
+ }
284
+ }
285
+ // if (!result) {
286
+ // event.preventDefault()
287
+ // event.stopPropagation()
288
+ // }
289
+ }), mapTo(undefined));
290
+ return of(undefined).pipe(
291
+ // tap(() => console.log('starting _updateButtonElement')),
292
+ switchMap(() => t));
293
+ }
294
+ _updateClickElement(record, uiProps) {
295
+ // console.log('_updateClickElement', record, uiProps)
296
+ // return of(undefined)
297
+ return fromEvent(this._elementRef.nativeElement, 'click').pipe(switchMap(event => {
298
+ const _context = this._getContext(record._row, record.rowAction);
299
+ const context = Object.assign(Object.assign({}, _context), { event, uiProps });
300
+ // console.log('click', (<any>event).button, event)
301
+ // if (!result) {
302
+ // event.preventDefault()
303
+ // event.stopPropagation()
304
+ // }
305
+ return this._actionHelper.exec(uiProps._actionDef, context);
306
+ }), mapTo(undefined));
307
+ }
308
+ _unsubClick() {
309
+ if (this._clickSubscription && !this._clickSubscription.closed) {
310
+ this._clickSubscription.unsubscribe();
311
+ }
312
+ }
313
+ _setAttr(attr, value) {
314
+ this._renderer.setAttribute(this._elementRef.nativeElement, attr, value);
315
+ }
316
+ _tryInitTabIndex() {
317
+ if (getAttribute(this._elementRef.nativeElement, 'tabindex') === null) {
318
+ this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '0');
319
+ }
320
+ }
321
+ _tryInitBlockClick(record, uiProps) {
322
+ this._unsubClick();
323
+ if (hasProperty(uiProps, 'blockClickExpr')) {
324
+ this._clickSubscription = this._blockClickExprObservable(uiProps, record).subscribe();
325
+ }
326
+ }
327
+ _blockClickExprObservable(uiProps, record) {
328
+ return fromEvent(this._elementRef.nativeElement, 'click').pipe(tap(event => {
329
+ const _context = this._getContext(record._row, record.rowAction);
330
+ const context = Object.assign(Object.assign({}, _context), { event, uiProps });
331
+ const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context);
332
+ // console.log('click', result, (<any>event).button, event)
333
+ if (!result) {
334
+ event.preventDefault();
335
+ event.stopPropagation();
336
+ }
337
+ }), mapTo(undefined));
338
+ }
339
+ _initMenuItemRouterLink(record, uiProps) {
340
+ this._menuRouterLink = new DatatableDynamicActionMenuItemRouterLink(this._router, this._route, getAttribute(this._elementRef.nativeElement, 'tabindex'), this._renderer, this._elementRef, this._locationStrategy);
341
+ // console.log(this._menuRouterLink)
342
+ this._menuRouterLink.routerLinkInput = uiProps.linkUrl;
343
+ if (hasProperty(uiProps, 'linkExtras')) {
344
+ if (hasProperty(uiProps.linkExtras, 'target')) {
345
+ this._menuRouterLink.target = uiProps.linkExtras.target;
346
+ }
347
+ if (hasProperty(uiProps.linkExtras, 'queryParams')) {
348
+ this._menuRouterLink.queryParams = uiProps.linkExtras.queryParams;
349
+ }
350
+ if (hasProperty(uiProps.linkExtras, 'fragment')) {
351
+ this._menuRouterLink.fragment = uiProps.linkExtras.fragment;
352
+ }
353
+ if (hasProperty(uiProps.linkExtras, 'queryParamsHandling')) {
354
+ this._menuRouterLink.queryParamsHandling = uiProps.linkExtras.queryParamsHandling;
355
+ }
356
+ if (hasProperty(uiProps.linkExtras, 'preserveFragment')) {
357
+ this._menuRouterLink.preserveFragment = uiProps.linkExtras.preserveFragment;
358
+ }
359
+ if (hasProperty(uiProps.linkExtras, 'skipLocationChange')) {
360
+ this._menuRouterLink.skipLocationChange = uiProps.linkExtras.skipLocationChange;
361
+ }
362
+ if (hasProperty(uiProps.linkExtras, 'replaceUrl')) {
363
+ this._menuRouterLink.replaceUrl = uiProps.linkExtras.replaceUrl;
364
+ }
365
+ if (hasProperty(uiProps.linkExtras, 'state')) {
366
+ this._menuRouterLink.state = uiProps.linkExtras.state;
367
+ }
368
+ }
369
+ this.ngOnChanges({});
370
+ }
371
+ _isAnchor() {
372
+ return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a';
373
+ }
374
+ _getUiProps(record) {
375
+ const context = this._getContext(record._row, record.rowAction);
376
+ return this._actionHelper.getUiProps(record.rowAction.action, context);
377
+ }
378
+ /** @ignore */
379
+ _getContext(row, rowActionDef) {
380
+ return {
381
+ row
382
+ };
383
+ }
384
+ _setInvalidActionState(invalid = false) {
385
+ const element = this._elementRef.nativeElement;
386
+ toggleAttribute(element, 'disabled', invalid);
387
+ }
388
+ }
389
+ DatatableDynamicActionMenuItemDirective.decorators = [
390
+ { type: Directive, args: [{
391
+ selector: '[seamDatatableDynamicActionMenuItem]',
392
+ exportAs: 'seamDatatableDynamicActionMenuItem'
393
+ },] }
394
+ ];
395
+ DatatableDynamicActionMenuItemDirective.ctorParameters = () => [
396
+ { type: ElementRef },
397
+ { type: Renderer2 },
398
+ { type: DynamicValueHelperService },
399
+ { type: DynamicActionHelperService },
400
+ { type: AssetReaderHelperService },
401
+ { type: Router },
402
+ { type: ActivatedRoute },
403
+ { type: LocationStrategy }
404
+ ];
405
+ DatatableDynamicActionMenuItemDirective.propDecorators = {
406
+ seamDatatableDynamicActionMenuItem: [{ type: Input }]
407
+ };
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFJVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMxRSxPQUFPLEVBQ0wsMEJBQTBCLEVBSTFCLHlCQUF5QixFQUMxQixNQUFNLDRCQUE0QixDQUFBO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBT3JGOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3Q0FBd0M7SUFRbkQsWUFDVSxNQUFjLEVBQ2QsS0FBcUIsRUFDTixRQUF1QixFQUN0QyxRQUFtQixFQUNuQixFQUFjLEVBQ2QsZ0JBQWtDO1FBTGxDLFdBQU0sR0FBTixNQUFNLENBQVE7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RSxDQUFDO0lBRUQsY0FBYztJQUNOLFdBQVcsQ0FBQyxHQUF3QixFQUFHLFlBQXVDO1FBQ3BGLE9BQU87WUFDTCxHQUFHO1NBQ0osQ0FBQTtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUFtQixLQUFLO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFBO1FBQzlDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7OztZQWhVRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQsUUFBUSxFQUFFLG9DQUFvQzthQUMvQzs7O1lBN0xDLFVBQVU7WUFNVixTQUFTO1lBWVQseUJBQXlCO1lBSnpCLDBCQUEwQjtZQUZuQix3QkFBd0I7WUFKYSxNQUFNO1lBQTNDLGNBQWM7WUFaZCxnQkFBZ0I7OztpREFvTXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcFRvLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYXNzZXQtcmVhZGVyJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZixcbiAgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmLFxuICBEeW5hbWljQWN0aW9uVWlEZWYsXG4gIER5bmFtaWNWYWx1ZUhlbHBlclNlcnZpY2Vcbn0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGUsIGhhc1Byb3BlcnR5LCB0b2dnbGVBdHRyaWJ1dGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3cgfSBmcm9tICcuLi9kYXRhdGFibGUtZHluYW1pYy1kZWYnXG5pbXBvcnQgdHlwZSB7IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkIH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLWFjdGlvbi1tZW51LXJlY29yZCdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbidcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb24tY29udGV4dCdcblxuLyoqXG4gKiBDbGFzcyB0byBhY3QgYXMgYSBzdWJzdGl0dXRlIHRvIGByb3V0ZXJMaW5rYCBkaXJlY3RpdmUgdW50aWwgdGhlIG1lbnUgaXRlbXNcbiAqIGNhbiBiZSBkeW5hbWljYWxseSBidWlsdCBpbiBhIGNsZWFuIHdheSB3aXRoIG9yIHdpdGhvdXQgYHJvdXRlckxpbmtgLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayB7XG5cbiAgcHJpdmF0ZSBfckxpbms/OiBSb3V0ZXJMaW5rXG4gIHByaXZhdGUgX3JMaW5rV2l0aEhyZWY/OiBSb3V0ZXJMaW5rV2l0aEhyZWZcblxuICAvLyBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcj86IGFueVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleDogc3RyaW5nIHwgbnVsbCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgaWYgKGVsLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmID0gbmV3IFJvdXRlckxpbmtXaXRoSHJlZihcbiAgICAgICAgcm91dGVyLFxuICAgICAgICByb3V0ZSxcbiAgICAgICAgbG9jYXRpb25TdHJhdGVneVxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rV2l0aEhyZWYnLCB0aGlzLnJMaW5rV2l0aEhyZWYpXG5cbiAgICAgIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGlua1dpdGhIcmVmJywgdGhpcy5fckxpbmtXaXRoSHJlZiwgdGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYub25DbGljayhldmVudC5idXR0b24sIGV2ZW50LmN0cmxLZXksIGV2ZW50LnNoaWZ0S2V5LCBldmVudC5hbHRLZXksIGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JMaW5rID0gbmV3IFJvdXRlckxpbmsoXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHRhYkluZGV4IGFzIHN0cmluZyxcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsXG4gICAgICApXG4gICAgICAvLyBjb25zb2xlLmxvZygnckxpbmsnLCB0aGlzLnJMaW5rKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX3JMaW5rJywgdGhpcy5fckxpbmsgJiYgdGhpcy5fckxpbmsudXJsVHJlZSlcbiAgICAgICAgaWYgKHRoaXMuX3JMaW5rKSB7IHJldHVybiB0aGlzLl9yTGluay5vbkNsaWNrKCkgfVxuICAgICAgfSlcblxuICAgICAgLy8gdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyAgICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICAvLyAgICAgICB0aGlzLl9yTGluay5vbkNsaWNrKClcbiAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIC8vICAgICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgcm91dGVyTGluaygpOiBSb3V0ZXJMaW5rIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rIH1cbiAgZ2V0IHJvdXRlckxpbmtXaXRoSHJlZigpOiBSb3V0ZXJMaW5rV2l0aEhyZWYgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fckxpbmtXaXRoSHJlZiB9XG5cbiAgc2V0IHJvdXRlckxpbmtJbnB1dChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJvdXRlckxpbmsgPSBjb21tYW5kc1xuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9XG4gIH1cblxuICBzZXQgcXVlcnlQYXJhbXModmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgZnJhZ21lbnQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5mcmFnbWVudCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zSGFuZGxpbmcodmFsdWU6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgcHJlc2VydmVGcmFnbWVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBza2lwTG9jYXRpb25DaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHJlcGxhY2VVcmwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJlcGxhY2VVcmwgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc3RhdGUodmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5zdGF0ZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi50YXJnZXQgPSB2YWx1ZSBhcyBzdHJpbmdcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIHZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIC8vIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgLy8gICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUT0RPOiBSZWZhY3RvciB0aGlzIGRpcmVjdGl2ZS4gSXQgZ290IHdheSBtb3JlIGNvbXBsZXggaW5zdGVhZCBvZiBtb3JlXG4vLyBzaW1wbGlmaWVkIGxpa2UgaXQgd2FzIHN1cHBvc2VkIHRvIGJlLlxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICAvLyBnZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSgpOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCB7IHJldHVybiB0aGlzLl9yZWNvcmQgfVxuICBzZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSh2YWx1ZTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpIHtcbiAgICB0aGlzLl9yZWNvcmQubmV4dCh2YWx1ZSlcbiAgfVxuICBwcml2YXRlIF9yZWNvcmQgPSBuZXcgUmVwbGF5U3ViamVjdDxEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZD4oMSlcblxuICBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9tZW51Um91dGVyTGluaz86IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbVJvdXRlckxpbmtcblxuICBwcml2YXRlIF9yZWNvcmRTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX3ZhbHVlSGVscGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2FjdGlvbkhlbHBlcjogRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfYXNzZXRSZWFkZXJIZWxwZXI6IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICB0aGlzLl9yZWNvcmRTdWJzY3JpcHRpb24gPSB0aGlzLl9yZWNvcmQucGlwZShcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQnLCB2KSksXG4gICAgICBzd2l0Y2hNYXAocmVjb3JkID0+IHRoaXMuX3VwZGF0ZShyZWNvcmQpKSxcbiAgICAgIHRhcCgoKSA9PiB7IHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZShmYWxzZSkgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7IGNvbnNvbGUuZXJyb3IoZXJyb3IpIH1cbiAgICAgICAgdGhpcy5fc2V0SW52YWxpZEFjdGlvblN0YXRlKHRydWUpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQgRE9ORScsIHYpKVxuICAgICkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAodGhpcy5fbWVudVJvdXRlckxpbmsgJiYgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYubmdPbkRlc3Ryb3koKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHt9KSB7XG4gICAgLy8gY29uc29sZS5sb2coJ25nT25DaGFuZ2VzJywgY2hhbmdlcywgdGhpcywgdGhpcy5fbWVudVJvdXRlckxpbmspXG4gICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rICYmIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLm5nT25DaGFuZ2VzKHt9KVxuICAgICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKSB7XG4gICAgICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicpICE9PSB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvZ2dsZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgZmFsc2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF91cGRhdGUocmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuXG4gICAgcmV0dXJuIGZyb20odGhpcy5fZ2V0VWlQcm9wcyhyZWNvcmQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHVpUHJvcHMgPT4gdGhpcy5faXNBbmNob3IoKVxuICAgICAgICA/IHRoaXMuX3VwZGF0ZUFuY2hvckVsZW1lbnQocmVjb3JkLCB1aVByb3BzIGFzIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZilcbiAgICAgICAgOiB0aGlzLl91cGRhdGVCdXR0b25FbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQW5jaG9yRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG5cbiAgICBzd2l0Y2ggKHVpUHJvcHMudHJpZ2dlclR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmsnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl9pbml0TWVudUl0ZW1Sb3V0ZXJMaW5rKHJlY29yZCwgdWlQcm9wcylcblxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnbGluay1leHRlcm5hbCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstZXh0ZXJuYWxcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgdGhpcy5fc2V0QXR0cignaHJlZicsIHVpUHJvcHMubGlua1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXR0cigndGFyZ2V0JywgdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoZSBJdGVtUm91dGVyTGluayB3b3JrIHdpdGggZXh0ZXJuYWwgdXJscy5cbiAgICAgICAgLy8gdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IFVubGVzcyB3ZSBkZWNpZGUgdG8gYWRkIGEgcm91dGUgZm9yIG9wZW5uaW5nIGFzc2V0cywgdGhpcyB3b3VsZFxuICAgICAgLy8gYmUgY29uZnVzaW5nIHRvIGEgdXNlci5cbiAgICAgIC8vIGNhc2UgJ2xpbmstYXNzZXQnOiB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWFzc2V0XCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgIC8vICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgIC8vICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgLy8gICBicmVha1xuICAgICAgLy8gfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVCdXR0b25FbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG4gICAgLy8gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQXNzZXRFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnY2xpY2snOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJjbGlja1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBc3NldEVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYgfCBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVBc3NldEVsZW1lbnQnKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCcsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICBjb25zdCB0ID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIC8vIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgLy8gY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgLy8gY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2cocmVjb3JkLCB1aVByb3BzKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCBjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICBpZiAodGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIpIHtcbiAgICAgICAgICBpZiAodWlQcm9wcy50cmlnZ2VyVHlwZSA9PT0gJ2xpbmstYXNzZXQnICYmIGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rVXJsJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHVpUHJvcHMubGlua1VybFxuICAgICAgICAgICAgbGV0IHRhcmdldDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgICB0YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9hc3NldFJlYWRlckhlbHBlci5vcGVuTGluayh1cmwsIHRydWUsIHRydWUsIHRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIC8vIHRhcCgoKSA9PiBjb25zb2xlLmxvZygnc3RhcnRpbmcgX3VwZGF0ZUJ1dHRvbkVsZW1lbnQnKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdCksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2xpY2tFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQ2xpY2tFbGVtZW50JywgcmVjb3JkLCB1aVByb3BzKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICAvLyBpZiAoIXJlc3VsdCkge1xuICAgICAgICAvLyAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgLy8gICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGlvbkhlbHBlci5leGVjKHVpUHJvcHMuX2FjdGlvbkRlZiwgY29udGV4dClcbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3Vuc3ViQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRBdHRyKGF0dHI6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGF0dHIsIHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfdHJ5SW5pdFRhYkluZGV4KCkge1xuICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJzAnKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRCbG9ja0NsaWNrKFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmXG4gICkge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnYmxvY2tDbGlja0V4cHInKSkge1xuICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSB0aGlzLl9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUodWlQcm9wcywgcmVjb3JkKS5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Jsb2NrQ2xpY2tFeHByT2JzZXJ2YWJsZShcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlEZWYsXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZFxuICApIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NsaWNrJywgcmVzdWx0LCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE1lbnVJdGVtUm91dGVyTGluayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApIHtcbiAgICB0aGlzLl9tZW51Um91dGVyTGluayA9IG5ldyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rKFxuICAgICAgdGhpcy5fcm91dGVyLFxuICAgICAgdGhpcy5fcm91dGUsXG4gICAgICBnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSxcbiAgICAgIHRoaXMuX3JlbmRlcmVyLFxuICAgICAgdGhpcy5fZWxlbWVudFJlZixcbiAgICAgIHRoaXMuX2xvY2F0aW9uU3RyYXRlZ3lcbiAgICApXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5fbWVudVJvdXRlckxpbmspXG5cbiAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rSW5wdXQgPSB1aVByb3BzLmxpbmtVcmwgYXMgc3RyaW5nXG5cbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3RhcmdldCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnRhcmdldCA9IHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtcycpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnZnJhZ21lbnQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5mcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5mcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3F1ZXJ5UGFyYW1zSGFuZGxpbmcnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdwcmVzZXJ2ZUZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5wcmVzZXJ2ZUZyYWdtZW50XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc2tpcExvY2F0aW9uQ2hhbmdlJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuc2tpcExvY2F0aW9uQ2hhbmdlID0gdWlQcm9wcy5saW5rRXh0cmFzLnNraXBMb2NhdGlvbkNoYW5nZVxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3JlcGxhY2VVcmwnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yZXBsYWNlVXJsID0gdWlQcm9wcy5saW5rRXh0cmFzLnJlcGxhY2VVcmxcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdzdGF0ZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnN0YXRlID0gdWlQcm9wcy5saW5rRXh0cmFzLnN0YXRlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5uZ09uQ2hhbmdlcyh7fSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzQW5jaG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnXG4gIH1cblxuICBwcml2YXRlIF9nZXRVaVByb3BzKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBQcm9taXNlPER5bmFtaWNBY3Rpb25VaURlZj4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZ2V0VWlQcm9wcyhyZWNvcmQucm93QWN0aW9uLmFjdGlvbiwgY29udGV4dClcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2dldENvbnRleHQocm93OiBEeW5hbWljRGF0YXRhYmxlUm93LCAgcm93QWN0aW9uRGVmOiBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uKTogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3dcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRvZ2dsZUF0dHJpYnV0ZShlbGVtZW50LCAnZGlzYWJsZWQnLCBpbnZhbGlkKVxuICB9XG5cbn1cbiJdfQ==