@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 @@
1
+ {"version":3,"file":"theseam-ui-common-framework.umd.js","sources":["../../../projects/ui-common/framework/base-layout/directives/base-layout-content-footer.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-content-header.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-content.directive.ts","../../../projects/ui-common/framework/base-layout/base-layout-tokens.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-nav-toggle.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-side-bar.directive.ts","../../../projects/ui-common/framework/base-layout/directives/base-layout-top-bar.directive.ts","../../../projects/ui-common/framework/base-layout/base-layout.component.ts","../../../projects/ui-common/framework/base-layout/base-layout.module.ts","../../../projects/ui-common/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets.service.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widgets.component.ts","../../../projects/ui-common/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.ts","../../../projects/ui-common/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.ts","../../../projects/ui-common/framework/dashboard/dashboard.component.ts","../../../projects/ui-common/framework/dashboard/dashboard.module.ts","../../../projects/ui-common/framework/side-nav/side-nav-utils.ts","../../../projects/ui-common/framework/side-nav/side-nav.service.ts","../../../projects/ui-common/framework/side-nav/side-nav.component.ts","../../../projects/ui-common/framework/side-nav/side-nav-item/side-nav-item.component.ts","../../../projects/ui-common/framework/side-nav/side-nav-toggle/side-nav-toggle.component.ts","../../../projects/ui-common/framework/side-nav/side-nav.module.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.ts","../../../projects/ui-common/framework/top-bar/top-bar-title/top-bar-title.component.ts","../../../projects/ui-common/framework/top-bar/top-bar-item.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu-btn-detail.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar-menu.directive.ts","../../../projects/ui-common/framework/top-bar/top-bar.component.ts","../../../projects/ui-common/framework/top-bar/top-bar.module.ts","../../../projects/ui-common/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.ts","../../../projects/ui-common/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.ts","../../../projects/ui-common/framework/dynamic-router/resolvers/hierarchy-level.resolver.ts","../../../projects/ui-common/framework/dynamic-router/dynamic-router.module.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-input/schema-form-input.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-number/schema-form-number.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-select/schema-form-select.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.ts","../../../projects/ui-common/framework/schema-form/schema-form-framework.component.ts","../../../projects/ui-common/framework/schema-form/schema-form-framework.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.ts","../../../projects/ui-common/framework/schema-form-controls/schema-form-controls.module.ts","../../../projects/ui-common/framework/schema-form/schema-form.module.ts","../../../projects/ui-common/framework/theseam-ui-common-framework.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContentFooter]'\n})\nexport class BaseLayoutContentFooterDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContentHeader]'\n})\nexport class BaseLayoutContentHeaderDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutContent]'\n})\nexport class BaseLayoutContentDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamBaseLayoutRef } from './base-layout-ref'\n\nexport const THESEAM_BASE_LAYOUT_REF = new InjectionToken<ITheSeamBaseLayoutRef>('seamBaseLayoutRef')\n","import { Directive, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core'\n\nimport type { ITheSeamBaseLayoutRef } from '../base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from '../base-layout-tokens'\n\n/**\n * Can be used to toggle the expand state of the registered nav.\n */\n@Directive({\n selector: 'button[seamBaseLayoutNavToggle]',\n exportAs: 'seamBaseLayoutNavToggle'\n})\nexport class BaseLayoutNavToggleDirective {\n\n public baseLayout: ITheSeamBaseLayoutRef | undefined\n\n @HostBinding('attr.type')\n get _attrType() { return this.type }\n\n @Input() type: string | undefined | null = 'button'\n\n @HostBinding('attr.aria-label')\n get _attrAriaLabel() { return this.ariaLabel || null }\n\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string | undefined | null = 'Navigation toggle'\n\n @HostListener('click')\n _onClick() {\n if (this.baseLayout && this.baseLayout.registeredNav) {\n this.baseLayout.registeredNav.toggle()\n }\n }\n\n constructor(\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) _baseLayout: ITheSeamBaseLayoutRef\n ) {\n this.baseLayout = _baseLayout\n }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutSideBar]'\n})\nexport class BaseLayoutSideBarDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef } from '@angular/core'\n\nimport { HasElementRef } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamBaseLayoutTopBar]'\n})\nexport class BaseLayoutTopBarDirective implements HasElementRef {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n","import { TemplatePortal } from '@angular/cdk/portal'\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n forwardRef,\n Input,\n isDevMode,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, from, isObservable, Observable } from 'rxjs'\n\nimport { faAngleDoubleLeft, faAngleDoubleRight } from '@fortawesome/free-solid-svg-icons'\n\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { BaseLayoutAction, IBaseLayoutActionButton } from './base-layout-action'\nimport { ITheSeamBaseLayoutNav } from './base-layout-nav'\nimport { ITheSeamBaseLayoutRef } from './base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from './base-layout-tokens'\nimport { BaseLayoutContentFooterDirective } from './directives/base-layout-content-footer.directive'\nimport { BaseLayoutContentHeaderDirective } from './directives/base-layout-content-header.directive'\nimport { BaseLayoutContentDirective } from './directives/base-layout-content.directive'\nimport { BaseLayoutSideBarDirective } from './directives/base-layout-side-bar.directive'\nimport { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.directive'\n\nexport const THE_SEAM_BASE_LAYOUT: any = {\n provide: THESEAM_BASE_LAYOUT_REF,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => TheSeamBaseLayoutComponent),\n multi: false,\n}\n\n@Component({\n selector: 'seam-base-layout',\n templateUrl: './base-layout.component.html',\n styleUrls: ['./base-layout.component.scss'],\n providers: [ THE_SEAM_BASE_LAYOUT ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TheSeamBaseLayoutComponent implements OnInit, ITheSeamBaseLayoutRef {\n\n faAngleDoubleRight = faAngleDoubleRight\n faAngleDoubleLeft = faAngleDoubleLeft\n\n @Input() overlayNav = false\n\n // TODO: Consider making the template queries not be dynamic. I can see this\n // potentially causing confusion or issues with potential layouts built with\n // this component.\n @ContentChild(BaseLayoutTopBarDirective, { static: true, read: TemplateRef }) _topBarTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutSideBarDirective, { static: true, read: TemplateRef }) _sideBarTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentDirective, { static: true, read: TemplateRef }) _contentTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentHeaderDirective, { static: true, read: TemplateRef }) _contentHeaderTpl?: TemplateRef<any> | null\n @ContentChild(BaseLayoutContentFooterDirective, { static: true, read: TemplateRef }) _contentFooterTpl?: TemplateRef<any> | null\n\n _topBarPortal?: TemplatePortal\n _sideBarPortal?: TemplatePortal\n _contentPortal?: TemplatePortal\n _contentHeaderPortal?: TemplatePortal\n _contentFooterPortal?: TemplatePortal\n\n private _hasSideBar = new BehaviorSubject<boolean>(false)\n\n public hasSideBar$: Observable<boolean>\n public isMobile$: Observable<boolean>\n\n get registeredNav() { return this._registeredNav.value }\n private _registeredNav = new BehaviorSubject<ITheSeamBaseLayoutNav | undefined>(undefined)\n public registeredNav$ = this._registeredNav.asObservable()\n\n get registeredActions() { return this._registeredActions.value }\n private _registeredActions = new BehaviorSubject<BaseLayoutAction[]>([])\n public registeredActions$: Observable<BaseLayoutAction[]>\n\n constructor(\n private _viewContainerRef: ViewContainerRef,\n private _layout: TheSeamLayoutService\n ) {\n this.registeredActions$ = this._registeredActions.asObservable()\n\n this.isMobile$ = this._layout.isMobile$\n this.hasSideBar$ = this._hasSideBar.asObservable()\n }\n\n ngOnInit() {\n if (this._topBarTpl) {\n this._topBarPortal = new TemplatePortal(this._topBarTpl, this._viewContainerRef)\n }\n\n if (this._sideBarTpl) {\n this._sideBarPortal = new TemplatePortal(this._sideBarTpl, this._viewContainerRef)\n this._hasSideBar.next(true)\n }\n\n if (this._contentTpl) {\n this._contentPortal = new TemplatePortal(this._contentTpl, this._viewContainerRef)\n }\n\n if (this._contentHeaderTpl) {\n this._contentHeaderPortal = new TemplatePortal(this._contentHeaderTpl, this._viewContainerRef)\n }\n\n if (this._contentFooterTpl) {\n this._contentFooterPortal = new TemplatePortal(this._contentFooterTpl, this._viewContainerRef)\n }\n }\n\n public registerNav(nav: ITheSeamBaseLayoutNav): void {\n // TODO: Allow multiple registered navs\n // if (this.registeredNav) {\n // throw new Error('[TheSeamBaseLayoutComponent] A nav is already registered.')\n // }\n // console.log('register nav', nav)\n this._registeredNav.next(nav)\n }\n\n public unregisterNav(nav: ITheSeamBaseLayoutNav): void {\n if (this.registeredNav === nav) {\n this._registeredNav.next(undefined)\n }\n }\n\n public registerAction(action: BaseLayoutAction): void {\n const actions = this._registeredActions.value\n if (actions.findIndex(a => a.name === action.name) !== -1) {\n if (isDevMode()) {\n console.warn(\n `[TheSeamBaseLayoutComponent] registerAction(): Action ${action.name} not ` +\n 'registered, because another action by that name is already registered.'\n )\n }\n return\n }\n actions.push(action)\n }\n\n public unregisterAction(action: BaseLayoutAction | string): void {\n const actionName = typeof action === 'string' ? action : action.name\n const actions = this._registeredActions.value\n this._registeredActions.next(actions.filter(f => f.name !== actionName))\n }\n\n public isActionRegistered(actionName: string): boolean {\n const actions = this._registeredActions.value\n const action = actions.find(f => f.name === actionName)\n return !!action\n }\n\n _handleButtonAction(action: IBaseLayoutActionButton): void {\n this._execButtonAction(action).subscribe()\n }\n\n _execButtonAction(action: IBaseLayoutActionButton): Observable<void> {\n const fnRes = action.exec()\n return isObservable(fnRes) ? fnRes : from(Promise.resolve(fnRes))\n }\n\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { TheSeamBaseLayoutComponent } from './base-layout.component'\nimport { BaseLayoutContentFooterDirective } from './directives/base-layout-content-footer.directive'\nimport { BaseLayoutContentHeaderDirective } from './directives/base-layout-content-header.directive'\nimport { BaseLayoutContentDirective } from './directives/base-layout-content.directive'\nimport { BaseLayoutNavToggleDirective } from './directives/base-layout-nav-toggle.directive'\nimport { BaseLayoutSideBarDirective } from './directives/base-layout-side-bar.directive'\nimport { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.directive'\n\n\n\n@NgModule({\n declarations: [\n TheSeamBaseLayoutComponent,\n BaseLayoutContentDirective,\n BaseLayoutSideBarDirective,\n BaseLayoutTopBarDirective,\n BaseLayoutNavToggleDirective,\n BaseLayoutContentHeaderDirective,\n BaseLayoutContentFooterDirective\n ],\n imports: [\n CommonModule,\n PortalModule,\n TheSeamScrollbarModule,\n TheSeamIconModule,\n TheSeamButtonsModule\n ],\n exports: [\n TheSeamBaseLayoutComponent,\n BaseLayoutContentDirective,\n BaseLayoutSideBarDirective,\n BaseLayoutTopBarDirective,\n BaseLayoutNavToggleDirective,\n BaseLayoutContentHeaderDirective,\n BaseLayoutContentFooterDirective\n ]\n})\nexport class TheSeamBaseLayoutModule { }\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core'\n\nimport type { IDashboardWidgetsItemDef } from '../dashboard-widgets/dashboard-widgets-item'\n\n@Component({\n selector: 'seam-dashboard-widget-container',\n templateUrl: './dashboard-widget-container.component.html',\n styleUrls: ['./dashboard-widget-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardWidgetContainerComponent implements OnInit {\n\n @Input() def: IDashboardWidgetsItemDef | undefined | null\n\n @ViewChild(TemplateRef) templateRef?: TemplateRef<any>\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamDashboardWidgetsPreferencesAccessor } from './dashboard-widgets-preferences-accessor'\n\nexport const THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR = new InjectionToken<ITheSeamDashboardWidgetsPreferencesAccessor>(\n 'ITheSeamDashboardWidgetsPreferencesAccessor'\n)\n","import { Inject, Injectable, isDevMode, Optional } from '@angular/core'\nimport { Observable, of, Subject } from 'rxjs'\nimport { auditTime, map, mapTo, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport {\n IDashboardWidgetItemLayout,\n IDashboardWidgetItemLayoutPreference,\n IDashboardWidgetsItem,\n IDashboardWidgetsItemDef,\n IDashboardWidgetsItemSerialized,\n IDashboardWidgetsPreferences\n} from './dashboard-widgets-item'\nimport type { ITheSeamDashboardWidgetsPreferencesAccessor } from './dashboard-widgets-preferences-accessor'\nimport { THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR } from './dashboard-widgets-preferences-accessor-token'\n\nexport interface IDashboardWidgetsPreferencesMapRecord {\n observable: Observable<IDashboardWidgetsPreferences>\n refresh: Subject<void>\n}\n\n// TODO: This needs a unit test to make sure it will not cause a race condition\n// if update is called faster than the previous can respond.\n//\n// The ideal approach I am thinking, without steping through the process too\n// thoroughly is to hold the new data emit until all pending updates are done.\n// Any pending updates other than the most recently requested will be ignored\n// and just wait on the most recent, and if already running it should be\n// canceled if possible. Also, incase something happens that causes the new data\n// emissions to get held up too long, there could be a threshold time that the\n// new data can be held up.\n\n\n/**\n * Manages anything dealing with retrieving and updating dashboard widget\n * preference data from the provided accessor.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardWidgetsPreferencesService {\n\n private readonly _tablePrefsMap = new Map<string, IDashboardWidgetsPreferencesMapRecord>()\n // private _pending = false\n\n // public get pending() { return this._pending }\n\n constructor(\n @Optional() @Inject(THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR) private _prefsAccessor?: ITheSeamDashboardWidgetsPreferencesAccessor\n ) { }\n\n public preferences(preferenceKey: string): Observable<IDashboardWidgetsPreferences> {\n let prefs = this._tablePrefsMap.get(preferenceKey)\n if (!prefs) {\n const refreshSubject = new Subject<void>()\n prefs = {\n observable: this._createObservable(refreshSubject, preferenceKey),\n refresh: refreshSubject\n }\n this._tablePrefsMap.set(preferenceKey, prefs)\n }\n return prefs.observable\n }\n\n private _createObservable(refreshSubject: Subject<void>, prefKey: string): Observable<IDashboardWidgetsPreferences> {\n if (!this._prefsAccessor) {\n return of({})\n }\n\n const accessor = (key: string): Observable<string> =>\n this._prefsAccessor ? this._prefsAccessor.get(key) : of('{}')\n\n return refreshSubject.pipe(\n startWith({}),\n // tap(() => console.log('Start requesting: ', prefKey)),\n switchMap(() => accessor(prefKey).pipe(\n map(v => {\n if (!v) {\n return null\n }\n\n // TODO: Add a schema validator and migration tool to avoid parsing issues.\n try {\n return JSON.parse(v) as IDashboardWidgetsPreferences\n } catch (error) {\n if (isDevMode()) {\n console.error(error)\n }\n return null\n }\n }),\n map(v => !!v ? v : {}),\n // tap(v => console.log('preferences$', v))\n // tap(v => this._pending = false)\n )),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public refresh(preferenceKey: string): Observable<void> {\n const prefs = this._tablePrefsMap.get(preferenceKey)\n if (prefs) {\n // this._pending = true\n // prefs.refresh.next()\n return prefs.observable.pipe(\n // tap(() => prefs.refresh.next()),\n tap(() => setTimeout(() => { prefs.refresh.next() }, 0)),\n mapTo(undefined),\n take(1),\n // tap(() => console.log('Done refreshing: ', preferenceKey)),\n )\n }\n\n return of(undefined)\n }\n\n public selectLayout(preferenceKey: string, layoutName: string): Observable<IDashboardWidgetItemLayoutPreference | undefined> {\n return this.preferences(preferenceKey).pipe(\n map(prefs => (prefs.layouts || []).find(l => l.name === layoutName))\n )\n }\n\n // TODO: Improve this updating to not be more generic, so we can quickly add\n // edits for different preference schema's.\n //\n // TODO: Decide if a send queue/merging of pending queue is needed to avoid\n // out of order updates. This shouldn't be an issue, with how fast preferences\n // will most likely be changing, but it could happen in situations, such as\n // network issues.\n public updateLayout(preferenceKey: string, layout: IDashboardWidgetItemLayout): Observable<void> {\n if (!this._prefsAccessor) {\n return of(undefined)\n }\n\n if (!hasProperty(layout, 'name')) {\n throw Error(`Unable to save layout preference. 'name' is required for a layout preference.`)\n }\n\n const _layout = this.toSerializeableLayout(layout)\n\n // this._pending = true\n return this.preferences(preferenceKey).pipe(\n map(prefs => {\n // Making the preferences immutable may not be necessary, but for now\n // this obj->str->obj will work as a naive clone.\n const layouts = JSON.parse(JSON.stringify(prefs.layouts || []))\n const _layoutPref = layouts.find((c: any) => c.name === _layout.name)\n // console.log('has', _layoutPref)\n if (_layoutPref) {\n if (hasProperty(_layout, 'name')) { _layoutPref.name = _layout.name }\n if (hasProperty(_layout, 'label')) { _layoutPref.label = _layout.label }\n if (hasProperty(_layout, 'items')) { _layoutPref.items = _layout.items }\n } else {\n layouts.push({ ..._layout })\n }\n const newPrefs: IDashboardWidgetsPreferences = { ...prefs, layouts }\n return newPrefs\n }),\n // tap(v => console.log('newPrefs', v)),\n take(1),\n switchMap(newPrefs => this._prefsAccessor\n ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))\n : of(newPrefs)\n ),\n switchMap(() => this.refresh(preferenceKey).pipe(mapTo(undefined)))\n )\n // .subscribe()\n }\n\n public toSerializeableLayout(layout: IDashboardWidgetItemLayout): IDashboardWidgetItemLayoutPreference {\n const serialized: IDashboardWidgetItemLayoutPreference = {\n name: layout.name,\n label: layout.label,\n items: this.toSerializeableItems(layout.items as any) || []\n }\n return serialized\n }\n\n // public toDeserializedLayout(layout: IDashboardWidgetItemLayoutSerialized): IDashboardWidgetItemLayoutDef {\n // // For now there is nothing to do. Eventually this should have at least\n // // validation on the deserialized object.\n // return layout\n // }\n\n /**\n * Returns the serializable widget items as objects that can be serialized to\n * a JSON string for storage.\n */\n public toSerializeableItems(widgets: IDashboardWidgetsItem[]): IDashboardWidgetsItemSerialized[] {\n const serialized: IDashboardWidgetsItemSerialized[] = []\n for (const w of widgets) {\n // if (!w.__itemDef.component || typeof w.__itemDef.component !== 'string') {\n // console.warn(`[DashboardWidgetsService] Widget item def must have a string 'component' property to be serialized.`, w)\n // continue\n // }\n // serialized.push({\n // widgetId: w.widgetId,\n // col: w.col,\n // order: w.order,\n // component: w.__itemDef.component\n // })\n\n // TODO: Remove this, it is only here for initial dev debugging.\n serialized.push({\n widgetId: w.widgetId,\n col: w.col,\n order: w.order,\n // component: w.__itemDef.component as string\n })\n }\n return serialized\n }\n\n // public toDeserializedItems(widgets: IDashboardWidgetsItemSerialized[]): IDashboardWidgetsItemDef[] {\n // const items: IDashboardWidgetsItemDef[] = []\n // for (const w of widgets) {\n // items.push({\n // widgetId: w.widgetId,\n // col: w.col,\n // order: w.order,\n // // component: w.component\n // })\n // }\n // return items\n // }\n\n}\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { Injectable, isDevMode, ViewContainerRef } from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs'\nimport { auditTime, map, mapTo, shareReplay, switchMap, take, tap } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport {\n IDashboardWidgetItemLayoutPreference,\n IDashboardWidgetsColumnRecord,\n IDashboardWidgetsItem,\n IDashboardWidgetsItemDef\n} from './dashboard-widgets-item'\nimport { DashboardWidgetsPreferencesService } from './dashboard-widgets-preferences.service'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardWidgetsService {\n\n public readonly preferenceKey: string = 'datatable-widgets'\n\n public readonly defaultNumColumns: number = 3\n\n /** Used for operations, such as 'addWidget', if the column is not specified. */\n public readonly defaultColumn: number = 0\n\n get widgets(): IDashboardWidgetsItemDef[] { return this._widgets.value }\n set widgets(value: IDashboardWidgetsItemDef[]) { this._widgets.next(value) }\n private _widgets = new BehaviorSubject<IDashboardWidgetsItemDef[]>([])\n\n get numColumns(): number { return this._numColumns.value }\n set numColumns(value: number) {\n if (value !== this._numColumns.value) {\n this._numColumns.next(value)\n }\n }\n private _numColumns = new BehaviorSubject<number>(this.defaultNumColumns)\n\n public readonly numColumns$: Observable<number>\n public readonly widgetItems$: Observable<IDashboardWidgetsItem[]>\n public readonly widgetColumns$: Observable<IDashboardWidgetsColumnRecord[]>\n\n private readonly _viewContainerRefSubject = new BehaviorSubject<ViewContainerRef | undefined>(undefined)\n\n constructor(\n private readonly _dynamicComponentLoaderModule: TheSeamDynamicComponentLoader,\n private readonly _preferences: DashboardWidgetsPreferencesService\n ) {\n this.numColumns$ = this._numColumns.asObservable()\n\n // Widget items without preferences\n const _widgetItems$ = combineLatest([ this._widgets, this._viewContainerRefSubject ])\n .pipe(switchMap(([ defs, vcr ]) => this.createWidgetItems(defs, vcr)))\n\n // Widget items with preferences\n this.widgetItems$ = combineLatest([ _widgetItems$, this.numColumns$ ])\n .pipe(\n // Wait until the current tick is done, incase both the widgets and\n // number of columns are set durring the same tick. Without the audit,\n // this would get called twice when the component is initialized with\n // both inputs set one after the other individually.\n auditTime(0),\n switchMap(([ items, numColumns ]) =>\n this._preferences.selectLayout(this.preferenceKey, this._layoutName(numColumns)).pipe(\n map(layout => layout ? this.withLayoutPreferences(items, layout) : items)\n )\n ),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.widgetColumns$ = this.widgetItems$\n .pipe(\n map(items => this.toColumnRecords(items)),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n private _layoutName(numColumns: number): string {\n return `columns-${numColumns}`\n }\n\n public setViewContainerRef(vcr: ViewContainerRef | undefined) {\n this._viewContainerRefSubject.next(vcr)\n }\n\n public createWidgetItems(defs: IDashboardWidgetsItemDef[], vcr?: ViewContainerRef): Observable<IDashboardWidgetsItem[]> {\n const _createObservables = (defs || []).map(d => this.createWidgetItem(d, vcr))\n const items$ = _createObservables.length > 0 ? combineLatest(_createObservables) : of([])\n return items$.pipe(\n map(items => items.filter(notNullOrUndefined)),\n tap(items => {\n if (isDevMode()) {\n const ids: string[] = items.map(v => v.widgetId)\n if ((new Set(ids)).size !== ids.length) {\n console.warn(`[DashboardWidgetsService] Duplicate widget's with the same 'widgetId' found.`)\n }\n }\n })\n )\n }\n\n public createWidgetItem(def: IDashboardWidgetsItemDef, vcr?: ViewContainerRef): Observable<IDashboardWidgetsItem | undefined> {\n if (!def.widgetId || typeof def.widgetId !== 'string' || def.widgetId.length < 1) {\n if (isDevMode()) {\n console.warn(`[DashboardWidgetsService] Widget ignored. All widgets must have a 'widgetId'.`, def)\n }\n return of(undefined)\n }\n\n return this.createWidgetPortal(def, vcr).pipe(\n map(portal => ({\n ...def,\n col: def.col || this.defaultColumn,\n order: def.order || 0,\n portal,\n __itemDef: def\n }))\n )\n }\n\n public createWidgetPortal(def: IDashboardWidgetsItemDef, vcr?: ViewContainerRef): Observable<ComponentPortal<any>> {\n if (typeof def.component === 'string') {\n return this._dynamicComponentLoaderModule\n .getComponentFactory(def.component)\n .pipe(\n map(componentFactory => {\n return new ComponentPortal(\n componentFactory.componentType,\n vcr,\n undefined,\n (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n )\n }),\n take(1)\n )\n }\n\n return def.componentFactoryResolver\n ? of(new ComponentPortal(def.component, vcr, undefined, def.componentFactoryResolver))\n : of(new ComponentPortal(def.component, vcr))\n }\n\n public updateOrder(): Observable<void> {\n return this.widgetColumns$\n .pipe(\n take(1),\n tap(columns => columns.forEach(col => {\n let i = 0\n col.items.forEach(itm => itm.order = i++)\n })),\n mapTo(undefined)\n )\n }\n\n public toColumnRecords(items: IDashboardWidgetsItem[]): IDashboardWidgetsColumnRecord[] {\n let columns: IDashboardWidgetsColumnRecord[] = []\n\n for (let i = 0; i < this.numColumns; i++) {\n columns.push({ column: i, items: [] })\n }\n\n const colNotFound: IDashboardWidgetsItem[] = []\n\n // Distribute items into columns\n for (const item of items) {\n const col: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === item.col)\n if (!col) {\n // columns.push({ column: item.col, items: [ item ] })\n // if (item.col < 0) {\n // const col0: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === 0)\n // if (col0) {\n // col0.items.push(item)\n // }\n // } else if (item.col > this.numColumns - 1) {\n // const colMax: IDashboardWidgetsColumnRecord | undefined = columns.find(c => c.column === this.numColumns - 1)\n // if (colMax) {\n // colMax.items.push(item)\n // }\n // }\n colNotFound.push(item)\n } else {\n col.items.push(item)\n }\n }\n\n for (let i = 0; i < colNotFound.length; i++) {\n const item = colNotFound[i]\n\n const col: IDashboardWidgetsColumnRecord | undefined = columns\n .find(c => c.column === i % this.numColumns)\n\n if (col) {\n col.items.push(item)\n }\n }\n\n // Sort columns\n columns = columns.sort((a, b) => a.column - b.column)\n\n // Sort columns items\n columns.forEach(col => col.items.sort((a, b) => a.order - b.order))\n\n return columns\n }\n\n public withLayoutPreferences(items: IDashboardWidgetsItem[], layout: IDashboardWidgetItemLayoutPreference): IDashboardWidgetsItem[] {\n const _items: IDashboardWidgetsItem[] = []\n\n for (const item of items) {\n const itemPref = layout.items.find(x => x.widgetId === item.widgetId)\n _items.push({\n ...item,\n ...(itemPref || {})\n })\n }\n\n return _items\n }\n\n public savePreferences(): Observable<void> {\n // Right now the items are moved between the column record arrays, but the\n // 'col' prop is not updated, so it is mapped to corrected items here from\n // the column records.\n const items$ = this.widgetColumns$.pipe(\n map(columns => ([] as IDashboardWidgetsItem[])\n .concat(...(columns.map(c => c.items.map(itm => ({ ...itm, col: c.column })))))\n ),\n )\n\n return combineLatest([ items$, this.numColumns$ ]).pipe(\n auditTime(0),\n take(1),\n switchMap(([ items, numColumns ]) => {\n return this._preferences.updateLayout(this.preferenceKey, {\n name: this._layoutName(numColumns),\n items\n })\n }),\n mapTo(undefined)\n )\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { auditTime, debounceTime, distinctUntilChanged, finalize, map, shareReplay, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faLock, faUnlock } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { IElementResizedEvent } from '@theseam/ui-common/shared'\nimport { THESEAM_WIDGET_ACCESSOR } from '@theseam/ui-common/widget'\n\nimport type { ITheSeamBaseLayoutRef } from '../../base-layout/base-layout-ref'\nimport { THESEAM_BASE_LAYOUT_REF } from '../../base-layout/base-layout-tokens'\nimport { DashboardWidgetContainerComponent } from '../dashboard-widget-container/dashboard-widget-container.component'\n\nimport type { IDashboardWidgetsColumnRecord, IDashboardWidgetsItem, IDashboardWidgetsItemDef } from './dashboard-widgets-item'\nimport { DashboardWidgetsService } from './dashboard-widgets.service'\n\n@Component({\n selector: 'seam-dashboard-widgets',\n templateUrl: './dashboard-widgets.component.html',\n styleUrls: ['./dashboard-widgets.component.scss'],\n providers: [\n {\n provide: THESEAM_WIDGET_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DashboardWidgetsComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DashboardWidgetsComponent implements OnInit, OnDestroy, AfterViewInit {\n static ngAcceptInputType_gapSize: NumberInput\n static ngAcceptInputType_numColumns: NumberInput\n static ngAcceptInputType_widgetsDraggable: BooleanInput\n static ngAcceptInputType_dragToggleVisible: BooleanInput\n static ngAcceptInputType_widgets: IDashboardWidgetsItemDef[] | undefined | null\n\n faLock = faLock\n faUnlock = faUnlock\n\n public readonly _actionWidgetDragToggleName = 'widget-drag-toggle'\n\n private readonly _ngUnsubscribe = new Subject()\n\n @Input()\n get gapSize(): number { return this._gapSize.value }\n set gapSize(val: number) {\n this._gapSize.next(coerceNumberProperty(val))\n }\n private readonly _gapSize = new BehaviorSubject<number>(30)\n\n @Input() @InputBoolean() widgetsDraggable: boolean = false\n\n @Input()\n get dragToggleVisible(): boolean { return this._dragToggleVisible.value }\n set dragToggleVisible(val: boolean) {\n this._dragToggleVisible.next(coerceBooleanProperty(val))\n }\n private _dragToggleVisible = new BehaviorSubject<boolean>(true)\n\n @Input()\n get numColumns(): number { return this._dashboardWidgets.numColumns }\n set numColumns(val: number) {\n this._dashboardWidgets.numColumns = coerceNumberProperty(val)\n }\n\n @Input()\n set widgets(value: IDashboardWidgetsItemDef[]) { this._dashboardWidgets.widgets = value || [] }\n get widgets(): IDashboardWidgetsItemDef[] { return this._dashboardWidgets.widgets }\n\n public widgetItems$: Observable<IDashboardWidgetsItem[]>\n public widgetColumns$: Observable<IDashboardWidgetsColumnRecord[]>\n public containers$: Observable<DashboardWidgetContainerComponent[]>\n\n readonly _gapStyleSize$: Observable<number>\n\n @ViewChildren(DashboardWidgetContainerComponent) containers?: QueryList<DashboardWidgetContainerComponent>\n @ViewChildren(CdkDrag) cdkDragDirectives?: QueryList<CdkDrag>\n\n @ViewChild('toggleBtnTpl', { static: true }) _toggleBtnTpl?: TemplateRef<any>\n\n private _containers = new BehaviorSubject<DashboardWidgetContainerComponent[]>([])\n private _layoutChange = new Subject<void>()\n\n @Output() widgetsChange = new EventEmitter<IDashboardWidgetsItem[]>()\n\n private readonly _widthChange = new Subject<number>()\n\n constructor(\n private _dashboardWidgets: DashboardWidgetsService,\n private _viewContainerRef: ViewContainerRef,\n private _cdr: ChangeDetectorRef,\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) private _baseLayoutRef?: ITheSeamBaseLayoutRef\n ) {\n this.containers$ = this._containers.asObservable()\n\n this._gapStyleSize$ = this._gapSize.pipe(\n auditTime(0),\n map(size => size / 2),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this._widthChange.pipe(\n debounceTime(30),\n tap(width => {\n if (width > 1300) {\n this.numColumns = 3\n } else if (width > 800) {\n this.numColumns = 2\n } else {\n this.numColumns = 1\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n\n this.widgetItems$ = this._dashboardWidgets.widgetItems$\n this.widgetColumns$ = this._dashboardWidgets.widgetColumns$\n }\n\n ngOnInit() {\n // this._dashboardWidgets.setViewContainerRef(this._viewContainerRef)\n\n this._layoutChange.pipe(\n switchMap(() => this.widgetItems$.pipe(\n take(1),\n tap(widgetItems => this.widgetsChange.emit(widgetItems)),\n // map(widgetItems => this._dashboardWidgets.toSerializeableItems(widgetItems)),\n // tap(v => console.log('serializable', v)),\n switchMap(() => this._dashboardWidgets.savePreferences())\n )),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n ngOnDestroy() {\n this._unregisterToggleAction()\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n if (this._baseLayoutRef) {\n this._dragToggleVisible.pipe(\n distinctUntilChanged(),\n tap(visible => {\n const isRegistered = this._isActionToggleActionRegistered()\n if (visible && !isRegistered) {\n this._registerToggleAction()\n } else if (!visible && isRegistered) {\n this._unregisterToggleAction()\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n this.containers?.changes.pipe(\n startWith(undefined),\n map(() => this.containers?.toArray() || []),\n takeUntil(this._ngUnsubscribe),\n finalize(() => this._containers.next([]))\n ).subscribe(v => this._containers.next(v))\n }\n\n private _registerToggleAction() {\n if (this._baseLayoutRef) {\n // This should probably use a component dynamically created from the\n // config and return a ref to it, instead of using a template.\n if (this._toggleBtnTpl) {\n this._baseLayoutRef.registerAction({\n // type: 'button',\n type: 'template',\n name: this._actionWidgetDragToggleName,\n label: 'Toggle Widget Dragging',\n // exec: () => {\n // console.log('toggle')\n // },\n template: this._toggleBtnTpl\n })\n }\n }\n }\n\n private _unregisterToggleAction() {\n if (this._baseLayoutRef) {\n this._baseLayoutRef.unregisterAction(this._actionWidgetDragToggleName)\n }\n }\n\n private _isActionToggleActionRegistered() {\n if (!this._baseLayoutRef) {\n return false\n }\n return this._baseLayoutRef.isActionRegistered(this._actionWidgetDragToggleName)\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex)\n this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next())\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n )\n this._dashboardWidgets.updateOrder().subscribe(() => this._layoutChange.next())\n }\n }\n\n _containerTrackByFn(index: number, item: IDashboardWidgetsItem) {\n return item.widgetId\n }\n\n _columnsTrackByFn(index: number, record: IDashboardWidgetsColumnRecord) {\n return record.column\n }\n\n toggleDragging() {\n this.widgetsDraggable = !this.widgetsDraggable\n this._cdr.detectChanges()\n }\n\n _resized(event: IElementResizedEvent) {\n this._widthChange.next(event.size.width)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, TemplateRef } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport type { IDashboardWidgetsItem } from '../dashboard-widgets/dashboard-widgets-item'\nimport { DashboardWidgetsComponent } from '../dashboard-widgets/dashboard-widgets.component'\n\n@Component({\n selector: 'seam-dashboard-widget-template-container',\n templateUrl: './dashboard-widget-template-container.component.html',\n styleUrls: ['./dashboard-widget-template-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardWidgetTemplateContainerComponent implements OnInit {\n\n @Input() item: IDashboardWidgetsItem | undefined | null\n\n public template$: Observable<TemplateRef<any> | undefined>\n\n constructor(\n private _dashboardWidgetsComponent: DashboardWidgetsComponent\n ) {\n this.template$ = this._dashboardWidgetsComponent.containers$.pipe(\n map(containers => containers.find((c: any) => c.def.widgetId === this.item?.widgetId)),\n map(container => container && container.templateRef)\n )\n }\n\n ngOnInit() { }\n\n}\n","import { BasePortalOutlet, CdkPortalOutletAttachedRef, ComponentPortal, Portal, TemplatePortal } from '@angular/cdk/portal'\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Output,\n ViewContainerRef\n} from '@angular/core'\n\n/**\n * Mostly copied from\n * `https://github.com/angular/components/blob/master/src/cdk/portal/portal-directives.ts`\n * until I can figure out how to hold off removing the DOM nodes with the\n * cdkPortalOutlet. When we update to Angular 9 I may be able to do this better\n * with the new DomPortal.\n *\n * Directive version of a PortalOutlet. Because the directive *is* a\n * PortalOutlet, portals can be directly attached to it, enabling declarative\n * use.\n *\n * Usage: `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n selector: '[seamDashboardWidgetPortalOutlet]',\n exportAs: 'seamDashboardWidgetPortalOutlet',\n inputs: ['portal: seamDashboardWidgetPortalOutlet']\n})\nexport class DashboardWidgetPortalOutletDirective extends BasePortalOutlet implements OnInit, OnDestroy {\n /** Whether the portal component is initialized. */\n private _isInitialized = false\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef?: CdkPortalOutletAttachedRef\n\n constructor(\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _viewContainerRef: ViewContainerRef,\n private readonly _elementRef: ElementRef\n ) {\n super()\n }\n\n /** Portal associated with the Portal outlet. */\n get portal(): Portal<any> | null {\n return this._attachedPortal\n }\n\n set portal(portal: Portal<any> | null) {\n // console.log('[DashboardWidgetPortalOutletDirective] set portal', portal, this.hasAttached())\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return\n }\n\n if (this.hasAttached()) {\n super.detach()\n }\n\n if (portal) {\n super.attach(portal)\n }\n\n this._attachedPortal = portal\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() attached: EventEmitter<CdkPortalOutletAttachedRef> =\n new EventEmitter<CdkPortalOutletAttachedRef>()\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef | undefined {\n return this._attachedRef\n }\n\n ngOnInit() {\n this._isInitialized = true\n }\n\n ngOnDestroy() {\n // console.log('[DashboardWidgetPortalOutletDirective] ngOnDestroy')\n\n // TODO: Figure out the right way to call dispose without messing up\n // animation. This setTimeout way assumes the transition is 500ms, but that\n // may not always be the case and isn't guaranteed to match the animation ms\n // duration, since setTimeout isn't really meant for accurate timing. It\n // also makes debugging animations difficult, because you can pause an\n // animation, but the timeout will still run.\n setTimeout(() => {\n super.dispose()\n this._attachedPortal = null\n this._attachedRef = null\n }, 500)\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n portal.setAttachedHost(this)\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef\n\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver\n const componentFactory = resolver.resolveComponentFactory(portal.component)\n const ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.injector)\n\n super.setDisposeFn(() => ref.destroy())\n this._attachedPortal = portal\n this._attachedRef = ref\n this.attached.emit(ref)\n\n return ref\n }\n\n /**\n * Attach the given TemplatePortal to this PortlHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n portal.setAttachedHost(this)\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context)\n super.setDisposeFn(() => this._viewContainerRef.clear())\n\n this._attachedPortal = portal\n this._attachedRef = viewRef\n this.attached.emit(viewRef)\n\n return viewRef\n }\n\n // static ngAcceptInputType_portal: Portal<any> | null | undefined | '';\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { IDashboardWidgetsItemDef } from './dashboard-widgets/dashboard-widgets-item'\n\n@Component({\n selector: 'seam-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardComponent {\n static ngAcceptInputType_val: BooleanInput\n\n @Input() widgets: IDashboardWidgetsItemDef[] | undefined | null\n @Input() @InputBoolean() widgetsDraggable: boolean = true\n\n constructor() { }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { DashboardWidgetContainerComponent } from './dashboard-widget-container/dashboard-widget-container.component'\nimport {\n DashboardWidgetTemplateContainerComponent\n} from './dashboard-widget-template-container/dashboard-widget-template-container.component'\nimport { DashboardWidgetPortalOutletDirective } from './dashboard-widgets/dashboard-widget-portal-outlet.directive'\nimport { DashboardWidgetsComponent } from './dashboard-widgets/dashboard-widgets.component'\nimport { DashboardComponent } from './dashboard.component'\n\n@NgModule({\n declarations: [\n DashboardComponent,\n DashboardWidgetsComponent,\n DashboardWidgetContainerComponent,\n DashboardWidgetTemplateContainerComponent,\n DashboardWidgetPortalOutletDirective\n ],\n imports: [\n CommonModule,\n PortalModule,\n DragDropModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n TheSeamSharedModule\n ],\n exports: [\n DashboardComponent,\n DashboardWidgetsComponent,\n DashboardWidgetPortalOutletDirective\n ]\n})\nexport class TheSeamDashboardModule { }\n","import { hasProperty } from '@theseam/ui-common/utils'\n\nimport {\n ISideNavBasic,\n ISideNavButton,\n ISideNavDivider,\n ISideNavItem,\n ISideNavItemState,\n ISideNavLink,\n ISideNavTitle,\n SideNavItemCanHaveChildren,\n SideNavItemCanHaveState\n} from './side-nav.models'\n\nexport function isNavItemType(item: ISideNavItem, type: 'title'): item is ISideNavTitle\nexport function isNavItemType(item: ISideNavItem, type: 'divider'): item is ISideNavDivider\nexport function isNavItemType(item: ISideNavItem, type: 'basic'): item is ISideNavBasic\nexport function isNavItemType(item: ISideNavItem, type: 'link'): item is ISideNavLink\nexport function isNavItemType(item: ISideNavItem, type: 'button'): item is ISideNavButton\nexport function isNavItemType(item: ISideNavItem, type: string): item is ISideNavItem {\n return item.itemType === type\n}\n\nexport function isNavItemActive(item: ISideNavItem): boolean {\n return item.__state?.active ?? false\n}\n\nexport function isExpanded(item: ISideNavItem): boolean {\n return item.__state?.expanded ?? false\n}\n\nexport function hasChildren(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) & Required<SideNavItemCanHaveChildren> {\n return canHaveChildren(item) && hasProperty(item, 'children') && item.children.length > 0\n}\n\nexport function canHaveChildren(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return isNavItemType(item, 'basic') || isNavItemType(item, 'link')\n}\n\nexport function hasActiveChild(item: ISideNavItem): boolean {\n if (!hasChildren(item)) {\n return false\n }\n\n for (const child of item.children) {\n if (getItemStateProp(child, 'active')) {\n return true\n }\n }\n\n return false\n}\n\nexport function hasExpandedChild(item: ISideNavItem): boolean {\n if (!hasChildren(item)) {\n return false\n }\n\n for (const child of item.children) {\n if (getItemStateProp(child, 'expanded')) {\n return true\n }\n }\n\n return false\n}\n\nexport function canBeActive(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return isNavItemType(item, 'basic') || isNavItemType(item, 'link')\n}\n\nexport function canExpand(item: ISideNavItem): item is (ISideNavBasic | ISideNavLink) {\n return canHaveChildren(item)\n}\n\nexport function findLinkItems(items: ISideNavItem[]): ISideNavLink[] {\n const linkItems: ISideNavLink[] = []\n\n const _fn = (_items: ISideNavItem[]) => {\n for (const item of _items) {\n if (isNavItemType(item, 'link')) {\n linkItems.push(item)\n }\n if (canHaveChildren(item) && hasProperty(item, 'children')) {\n _fn(item.children)\n }\n }\n }\n _fn(items)\n\n return linkItems\n}\n\nexport function setItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K, value: ISideNavItemState[K]): void {\n if (hasProperty(item, '__state')) {\n item.__state[prop] = value\n }\n}\n\nexport function getItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K): ISideNavItemState[K] {\n return setDefaultState(item).__state[prop]\n}\n\nexport function setDefaultState(item: ISideNavItem): ISideNavItem & Required<SideNavItemCanHaveState> {\n if (hasProperty(item, '__state')) {\n return item\n }\n\n item.__state = {\n active: false,\n expanded: false\n }\n\n // TODO: See if there is a nice way to fix the typing for this.\n return item as any\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRoute, IsActiveMatchOptions, NavigationEnd, Router, UrlCreationOptions } from '@angular/router'\nimport { BehaviorSubject, combineLatest, defer, Observable, of, Subject, Subscriber } from 'rxjs'\nimport { distinctUntilChanged, filter, map, shareReplay, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport {\n canExpand,\n findLinkItems,\n getItemStateProp,\n hasActiveChild,\n hasChildren,\n hasExpandedChild,\n isNavItemType,\n setDefaultState,\n setItemStateProp\n} from './side-nav-utils'\nimport { ISideNavItem, ISideNavItemState, ISideNavLink, SideNavItemStateChanged } from './side-nav.models'\n\n@Injectable()\nexport class TheSeamSideNavService {\n\n private readonly _updatingCount = new BehaviorSubject<number>(0)\n\n public readonly loading$: Observable<boolean>\n\n public readonly itemChanged = new Subject<SideNavItemStateChanged>()\n\n constructor(\n private readonly _router: Router\n ) {\n this.loading$ = this._updatingCount.pipe(\n map(count => count > 0),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n public createItemsObservable(items: ISideNavItem[]): Observable<ISideNavItem[]> {\n return defer(() => {\n this.updateItemsStates(items)\n return new Observable((subscriber: Subscriber<ISideNavItem[]>) => {\n const stateChangeSub = this.itemChanged.pipe(\n switchMap(() => this.loading$.pipe(filter(loading => !loading)))\n ).subscribe(() => {\n subscriber.next(items)\n })\n\n try {\n this.updateItemsStates(items)\n } catch (err) {\n subscriber.error(err)\n }\n\n // const linkItems = findLinkItems(items)\n\n const routeChangeSub = this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n // ).subscribe(() => linkItems.forEach(itm => this.updateItemState(itm)))\n ).subscribe(() => {\n try {\n this.updateItemsStates(items)\n } catch (err) {\n subscriber.error(err)\n }\n })\n\n return () => {\n stateChangeSub.unsubscribe()\n routeChangeSub.unsubscribe()\n }\n }).pipe(startWith(items))\n })\n }\n\n private _incUpdatingCount(): void {\n this._updatingCount.next(this._updatingCount.value + 1)\n }\n\n private _decrUpdatingCount(): void {\n this._updatingCount.next(this._updatingCount.value - 1)\n }\n\n public updateItemsStates(items: ISideNavItem[]): void {\n this._incUpdatingCount()\n\n try {\n for (const item of items) {\n if (hasChildren(item)) {\n this.updateItemsStates(item.children)\n }\n\n this.updateItemState(item)\n }\n\n this._decrUpdatingCount()\n } catch (err) {\n this._decrUpdatingCount()\n throw err\n }\n }\n\n public updateItemState(item: ISideNavItem): void {\n this._incUpdatingCount()\n\n try {\n setDefaultState(item)\n\n if (isNavItemType(item, 'link')) {\n const url = this._getUrl(item)\n if (notNullOrUndefined(url)) {\n const opts = this._getMatchOptions(item)\n this.setItemStateProp(item, 'active', this._router.isActive(url, opts))\n }\n }\n\n // TODO: Implement this in a more optimized way. Unless our apps start\n // having large side-navs constantly updating their state, this shouldn't\n // have much impact on performance.\n this._updateItemExpandedState(item)\n\n this._decrUpdatingCount()\n } catch (err) {\n this._decrUpdatingCount()\n throw err\n }\n }\n\n private _updateItemsExpandedState(items: ISideNavItem[]): void {\n for (const item of items) {\n if (hasChildren(item)) {\n this._updateItemsExpandedState(item.children)\n }\n this._updateItemExpandedState(item)\n }\n }\n\n private _updateItemExpandedState(item: ISideNavItem): void {\n if (!canExpand(item)) {\n if (getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', false)\n }\n return\n }\n\n if (hasChildren(item)) {\n this._updateItemsExpandedState(item.children)\n }\n\n if (hasActiveChild(item) || hasExpandedChild(item)) {\n if (!getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', true)\n }\n } else {\n if (getItemStateProp(item, 'expanded')) {\n this.setItemStateProp(item, 'expanded', false)\n }\n }\n }\n\n private _getNavExtras(item: ISideNavLink): UrlCreationOptions {\n const navigationExtras: UrlCreationOptions = { }\n if (hasProperty(item, 'queryParams')) {\n navigationExtras.queryParams = item.queryParams\n }\n if (hasProperty(item, 'fragment')) {\n navigationExtras.fragment = item.fragment\n }\n if (hasProperty(item, 'queryParamsHandling')) {\n navigationExtras.queryParamsHandling = item.queryParamsHandling\n }\n if (hasProperty(item, 'preserveFragment')) {\n navigationExtras.preserveFragment = item.preserveFragment\n }\n return navigationExtras\n }\n\n private _getUrl(item: ISideNavLink): string | null {\n const link = item.link\n\n if (typeof link === 'string') {\n return this._router.createUrlTree([ link ], this._getNavExtras(item)).toString()\n } else if (Array.isArray(link)) {\n return this._router.createUrlTree(link, this._getNavExtras(item)).toString()\n }\n\n return null\n }\n\n private _getMatchOptions(item: ISideNavLink): IsActiveMatchOptions {\n const defaultMatchOpts: IsActiveMatchOptions = {\n paths: 'subset',\n queryParams: 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored'\n }\n\n if (hasProperty(item, 'matchOptions')) {\n return {\n ...defaultMatchOpts,\n ...item.matchOptions\n }\n }\n\n return defaultMatchOpts\n }\n\n public setItemStateProp<K extends keyof ISideNavItemState>(item: ISideNavItem, prop: K, value: ISideNavItemState[K]): void {\n const currentValue = getItemStateProp(item, prop)\n if (currentValue !== value) {\n setItemStateProp(item, prop, value)\n\n const changed: SideNavItemStateChanged = {\n item,\n prop,\n prevValue: currentValue,\n newValue: value\n }\n this.itemChanged.next(changed)\n }\n }\n}\n","import {\n animate,\n animateChild,\n group,\n query,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, OnDestroy, OnInit, Optional, ViewEncapsulation } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, map, mapTo, pairwise, shareReplay, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { ITheSeamBaseLayoutNav, ITheSeamBaseLayoutRef, THESEAM_BASE_LAYOUT_REF } from '../base-layout/index'\n\nimport { ISideNavItem } from './side-nav.models'\nimport { TheSeamSideNavService } from './side-nav.service'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPANDED_OVERLAY_STATE = 'expanded-overlay'\nconst COLLAPSED_OVERLAY_STATE = 'collapsed-overlay'\n\nconst EXPANDED_STATES = [ EXPANDED_STATE, EXPANDED_OVERLAY_STATE ]\nconst COLLAPSED_STATES = [ COLLAPSED_STATE, COLLAPSED_OVERLAY_STATE ]\nconst EXPAND_STATES = [ ...EXPANDED_STATES, ...COLLAPSED_STATES ]\n\nexport function sideNavExpandStateChangeFn(fromState: string, toState: string) {\n // console.log({ fromState, toState })\n return fromState !== toState &&\n (\n // NOTE: The current way the side nav is being used it causes the\n // component to sometimes get placed in the wrong location initially. It\n // is fast enough to not be noticed without an initial animation usually,\n // so it is commented out below until the initial placement issue it\n // fixed.\n //\n // (\n // fromState === 'void' && EXPAND_STATES.indexOf(toState) !== -1\n // ||\n // toState === 'void' && EXPAND_STATES.indexOf(fromState) !== -1\n // )\n // ||\n (\n (EXPANDED_STATES.indexOf(fromState) !== -1 && COLLAPSED_STATES.indexOf(toState) !== -1)\n ||\n (EXPANDED_STATES.indexOf(toState) !== -1 && COLLAPSED_STATES.indexOf(fromState) !== -1)\n )\n )\n}\n\n@Component({\n selector: 'seam-side-nav',\n templateUrl: './side-nav.component.html',\n styleUrls: ['./side-nav.component.scss'],\n providers: [\n TheSeamSideNavService\n ],\n animations: [\n\n //\n // TODO: This animation code turned into a mess. Clean it up and make it\n // more smooth.\n //\n\n trigger('sideNavAnim', [\n transition(sideNavExpandStateChangeFn, [\n group([\n query('@sideNavBackdrop', animateChild(), { optional: true }),\n query('@sideNavExpand', animateChild(), { optional: true }),\n ]),\n ]),\n ]),\n\n trigger('sideNavBackdrop', [\n state(EXPANDED_OVERLAY_STATE, style({ opacity: '1' })),\n state(COLLAPSED_OVERLAY_STATE, style({ opacity: '0' })),\n\n // transition((fromState, toState, element, params) => {\n // console.log('sideNavBackdrop v', fromState, toState, element, params)\n // return false\n // }, []),\n\n transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),\n ]),\n\n trigger('sideNavExpand', [\n // TODO: Make width configurable.\n state(EXPANDED_STATE, style({ width: '260px' })),\n state(COLLAPSED_STATE, style({ width: '50px', 'overflow-x': 'hidden' })),\n\n state(EXPANDED_OVERLAY_STATE, style({\n position: 'absolute',\n top: 0,\n height: '100%',\n bottom: 0,\n left: 0,\n float: 'left',\n zIndex: '9999',\n width: 'calc(100vw - 50px)',\n transform: 'translateX(0)'\n })),\n state(COLLAPSED_OVERLAY_STATE, style({\n position: 'absolute',\n top: 0,\n height: '100%',\n bottom: 0,\n left: 0,\n float: 'left',\n zIndex: '9999',\n width: 'calc(100vw - 50px)',\n transform: 'translateX(calc(-100vw + 50px))',\n 'overflow-x': 'hidden'\n })),\n\n // transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n\n transition(sideNavExpandStateChangeFn, animate('0.2s ease-in-out')),\n\n // transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, [\n // // query(':leave', animateChild(), { optional: true }),\n // // query(':enter', animateChild(), { optional: true }),\n // group([\n // query(':leave', animateChild(), { optional: true }),\n // query(':enter', animateChild(), { optional: true }),\n // query('@compactAnim', animateChild(), { optional: true }),\n // animate('5.2s ease-in-out')\n // ])\n // ]),\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavComponent implements OnInit, OnDestroy, ITheSeamBaseLayoutNav {\n static ngAcceptInputType_hasHeaderToggle: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject()\n\n // @HostBinding('@sideNavExpand') _sideNavExpand = EXPANDED_STATE\n // _sideNavExpand = EXPANDED_STATE\n\n // @HostBinding('@sideNavAnim') _sideNavExpand = EXPANDED_STATE\n @HostBinding('@sideNavAnim') _sideNavExpand = 'initial'\n\n @Input() @InputBoolean() hasHeaderToggle = true\n\n @Input()\n get items(): ISideNavItem[] { return this._items.value }\n set items(value: ISideNavItem[]) { this._items.next(value) }\n private _items = new BehaviorSubject<ISideNavItem[]>([])\n public readonly items$: Observable<ISideNavItem[]>\n\n @Input()\n get expanded(): boolean { return this._expanded.value }\n set expanded(value: boolean) { this._expanded.next(coerceBooleanProperty(value)) }\n private _expanded = new BehaviorSubject<boolean>(true)\n public readonly expanded$ = this._expanded.asObservable()\n\n @Input()\n get overlay(): boolean { return this._overlay.value }\n set overlay(value: boolean) { this._overlay.next(coerceBooleanProperty(value)) }\n private _overlay = new BehaviorSubject<boolean>(false)\n public readonly overlay$ = this._overlay.asObservable()\n\n public readonly isMobile$: Observable<boolean>\n public readonly sideNavExpandedState$: Observable<string>\n public _backdropHidden = new BehaviorSubject<boolean>(true)\n\n constructor(\n private readonly _layout: TheSeamLayoutService,\n private readonly _sideNav: TheSeamSideNavService,\n @Optional() @Inject(THESEAM_BASE_LAYOUT_REF) private readonly _baseLayoutRef: ITheSeamBaseLayoutRef\n ) {\n this.items$ = this._items.asObservable().pipe(\n switchMap(items => this._sideNav.createItemsObservable(items)),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n\n this.isMobile$ = this._layout.isMobile$.pipe(\n tap(isMobile => isMobile && this.collapse())\n )\n\n this.sideNavExpandedState$ = combineLatest([ this.expanded$, this.overlay$ ]).pipe(\n map(([ expanded, overlay ]) => expanded\n ? overlay ? EXPANDED_OVERLAY_STATE : EXPANDED_STATE\n : overlay ? COLLAPSED_OVERLAY_STATE : COLLAPSED_STATE\n ),\n distinctUntilChanged()\n )\n }\n\n ngOnInit() {\n if (this._baseLayoutRef) { this._baseLayoutRef.registerNav(this) }\n\n this.isMobile$\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(b => this.overlay = b)\n\n this.sideNavExpandedState$\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(v => this._sideNavExpand = v)\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n if (this._baseLayoutRef) { this._baseLayoutRef.unregisterNav(this) }\n }\n\n public expand() {\n this.expanded = true\n }\n\n public collapse() {\n this.expanded = false\n }\n\n public toggle() {\n this.expanded = !this.expanded\n }\n\n public animateStart() {\n if (this.expanded) {\n this._backdropHidden.next(false)\n }\n }\n\n public animateEnd() {\n if (!this.expanded) {\n this._backdropHidden.next(true)\n }\n }\n\n}\n","import {\n animate,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations'\nimport { BooleanInput, coerceBooleanProperty, NumberInput } from '@angular/cdk/coercion'\nimport {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n SkipSelf,\n ViewEncapsulation\n} from '@angular/core'\nimport { BehaviorSubject, Observable, Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { faAngleLeft } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport type { SeamIcon } from '@theseam/ui-common/icon'\nimport type { ThemeTypes } from '@theseam/ui-common/models'\n\nimport { SideNavComponent } from '../side-nav.component'\nimport { ISideNavItem } from '../side-nav.models'\n\nexport interface SideNavItemBadgeTooltip {\n tooltip?: string\n class?: string\n placement?: string\n container?: string\n disabled?: boolean\n}\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst FULL_STATE = 'full'\nconst COMPACT_STATE = 'compact'\n\n@Component({\n selector: 'seam-side-nav-item',\n templateUrl: './side-nav-item.component.html',\n styleUrls: ['./side-nav-item.component.scss'],\n exportAs: 'seamSideNavItem',\n animations: [\n trigger('childGroupAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, 'overflow-y': 'hidden', visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n\n\n trigger('compactAnim', [\n // transition('* <=> *', [\n // query(':enter', [\n // style({ opacity: '0' }),\n // animate('5.2s ease-in-out', style({ opacity: '1' }))\n // ], { optional: true }),\n // query(':leave', [\n // style({ opacity: '1' }),\n // animate('5.2s ease-in-out', style({ opacity: '0' }))\n // ], { optional: true })\n // ])\n\n // state(FULL_STATE, style({ opacity: '1' })),\n // state(COMPACT_STATE, style({ opacity: '0' })),\n // transition(`${FULL_STATE} <=> ${COMPACT_STATE}`, animate('5.2s ease-in-out')),\n // transition(`${FULL_STATE} <=> ${COMPACT_STATE}`, [\n // transition('* <=> *', [\n // query(':leave', [\n // style({ opacity: '1' }),\n // animate('5.2s ease-in-out', style({ opacity: '0' }))\n // ], { optional: true })\n // ]),\n\n\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavItemComponent implements OnDestroy {\n static ngAcceptInputType_hierLevel: NumberInput\n static ngAcceptInputType_indentSize: NumberInput\n static ngAcceptInputType_expanded: BooleanInput\n static ngAcceptInputType_compact: BooleanInput\n static ngAcceptInputType_active: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject()\n\n readonly faAngleLeft = faAngleLeft\n\n @Input() itemType: 'divider' | 'basic' | 'link' | 'button' | 'title' | undefined | null\n\n @Input() icon: SeamIcon | undefined | null\n\n @Input() label: string | undefined | null\n\n @Input() @InputBoolean() active: boolean = false\n\n @Input()\n set link(value: string | undefined | null) { this._link.next(value) }\n get link() { return this._link.value }\n private readonly _link = new BehaviorSubject<string | undefined | null>(undefined)\n public readonly link$ = this._link.asObservable()\n\n @Input() queryParams: { [k: string]: any } | undefined | null\n\n @Input() children: ISideNavItem[] | undefined | null\n\n @Input() @InputNumber(0) hierLevel: number = 0\n\n @Input() @InputNumber(10) indentSize: number = 10\n\n @Input()\n set expanded(value: boolean) { this._expanded.next(coerceBooleanProperty(value)) }\n get expanded() { return this._expanded.value }\n private readonly _expanded = new BehaviorSubject<boolean>(false)\n public readonly expanded$ = this._expanded.asObservable()\n\n @Input()\n set compact(value: boolean) { this._compact.next(coerceBooleanProperty(value)) }\n get compact() { return this._compact.value }\n private readonly _compact = new BehaviorSubject<boolean>(false)\n public readonly compact$ = this._compact.asObservable()\n\n @Input() badgeText: string | undefined | null\n @Input() badgeTheme: ThemeTypes | undefined | null = 'danger'\n\n /**\n * Content to provide to assistive technology, such as screen readers.\n */\n @Input() badgeSrContent: string | undefined | null\n\n @Input()\n get badgeTooltip() { return this._badgeTooltip }\n set badgeTooltip(value: string | SideNavItemBadgeTooltip | undefined | null) {\n if (value !== null && value !== undefined) {\n if (typeof value === 'string') {\n this._badgeTooltip = {\n tooltip: value,\n placement: 'auto',\n disabled: false\n }\n } else {\n this._badgeTooltip = {\n ...value,\n placement: value.placement || 'auto',\n disabled: typeof value?.disabled === 'boolean'\n ? value.disabled\n : typeof value.tooltip === 'string' ? false : true\n }\n }\n } else {\n this._badgeTooltip = undefined\n }\n }\n private _badgeTooltip: SideNavItemBadgeTooltip | undefined | null\n\n @HostBinding('class.seam-side-nav-item--active') get _isActiveCssClass() { return this.active }\n\n @HostBinding('attr.data-hier-level') get _attrDataHierLevel() { return this.hierLevel }\n\n public readonly childGroupAnimState$: Observable<string>\n public readonly compactAnimState$: Observable<string>\n\n constructor(\n private readonly _sideNav: SideNavComponent,\n @Optional() @SkipSelf() @Host() private readonly _parent?: SideNavItemComponent\n ) {\n this.childGroupAnimState$ = this.expanded$\n .pipe(map(expanded => expanded ? EXPANDED_STATE : COLLAPSED_STATE))\n\n this.compactAnimState$ = this.compact$\n .pipe(map(compact => compact ? COMPACT_STATE : FULL_STATE))\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n get hasChildren() {\n return Array.isArray(this.children) && this.children.length > 0\n }\n\n public toggleChildren(): void {\n this.expanded = !this.expanded\n }\n\n _linkClicked() {\n // Close nav when link is clicked while in overlay state\n if (this._sideNav.overlay) {\n this._sideNav.collapse()\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core'\n\nimport { faBars } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-side-nav-toggle',\n templateUrl: './side-nav-toggle.component.html',\n styleUrls: ['./side-nav-toggle.component.scss'],\n host: {\n '[class.side-nav-toggle--compact]': '!expanded'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SideNavToggleComponent implements OnInit {\n static ngAcceptInputType_expanded: BooleanInput\n\n faBars = faBars\n\n @Input() @InputBoolean() expanded = false\n\n @Output() toggleExpand = new EventEmitter<void>()\n\n constructor() { }\n\n ngOnInit() { }\n\n toggle() {\n this.toggleExpand.emit()\n }\n\n}\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLayoutModule } from '@theseam/ui-common/layout'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { SideNavItemComponent } from './side-nav-item/side-nav-item.component'\nimport { SideNavToggleComponent } from './side-nav-toggle/side-nav-toggle.component'\nimport { SideNavComponent } from './side-nav.component'\n\n@NgModule({\n declarations: [\n SideNavItemComponent,\n SideNavComponent,\n SideNavToggleComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n TheSeamIconModule,\n A11yModule,\n TheSeamScrollbarModule,\n TheSeamLayoutModule,\n NgbTooltipModule\n ],\n exports: [\n SideNavItemComponent,\n SideNavComponent,\n SideNavToggleComponent\n ]\n})\nexport class TheSeamSideNavModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, OnDestroy, OnInit, TemplateRef } from '@angular/core'\n\nimport { faUserCircle } from '@fortawesome/free-regular-svg-icons'\nimport { faAngleDown } from '@fortawesome/free-solid-svg-icons'\n\nimport { CanDisableCtor, InputBoolean, mixinDisabled } from '@theseam/ui-common/core'\n\nclass TopBarMenuButtonBase {}\n\nconst _TopBarMenuButtonMixinBase: CanDisableCtor & typeof TopBarMenuButtonBase =\n mixinDisabled(TopBarMenuButtonBase)\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamTopBarMenuButton]',\n templateUrl: './top-bar-menu-button.component.html',\n styleUrls: ['./top-bar-menu-button.component.scss'],\n exportAs: 'seamButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'attr.type': 'button',\n 'class': 'btn border text-decoration-none py-0',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TopBarMenuButtonComponent extends _TopBarMenuButtonMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_compact: BooleanInput\n\n faAngleDown = faAngleDown\n profileIcon = faUserCircle\n\n @Input() detailTpl: TemplateRef<{}> | undefined | null\n\n @Input() @InputBoolean() compact: boolean = false\n\n @HostBinding('class.top-bar-menu-button--compact') get _hasCompactClass() { return this.compact }\n @HostBinding('class.p-0') get _hasPadding0Class() { return this.compact }\n @HostBinding('class.rounded') get _hasRoundedClass() { return this.compact }\n @HostBinding('class.btn-link') get _hasBtnLinkClass() { return !this.compact }\n\n ngOnInit() { }\n\n ngOnDestroy() { }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-top-bar-title',\n templateUrl: './top-bar-title.component.html',\n styleUrls: ['./top-bar-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TopBarTitleComponent implements OnInit {\n\n @Input() titleText: string | undefined | null\n @Input() subTitleText: string | undefined | null\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTopBarItem]'\n})\nexport class TopBarItemDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTopBarMenuBtnDetail]'\n})\nexport class TopBarMenuBtnDetailDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, Self } from '@angular/core'\n\nimport { MenuComponent } from '@theseam/ui-common/menu'\n\n@Directive({\n selector: 'seam-menu[seamTopBarMenu]'\n})\nexport class TopBarMenuDirective {\n\n constructor(\n @Self() public menu: MenuComponent\n ) { }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { Observable, Subject } from 'rxjs'\nimport { map, shareReplay, startWith, takeUntil } from 'rxjs/operators'\n\nimport { faBars } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLayoutService } from '@theseam/ui-common/layout'\n\nimport { TopBarItemDirective } from './top-bar-item.directive'\nimport { TopBarMenuBtnDetailDirective } from './top-bar-menu-btn-detail.directive'\nimport { TopBarMenuDirective } from './top-bar-menu.directive'\n\n/**\n * Top bar of an app.\n *\n * The top bar is fairly opinionated, so most parts are not intended to be\n * customized unless there is an input.\n *\n * > If you have to make a change and apply it externally with a css class or js\n * > make sure there is an issue to get the feature changed, so we don't have\n * > different modifications across our apps. Also, this will help make sure\n * > your change should have even been done.\n */\n@Component({\n selector: 'seam-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss'],\n exportAs: 'seamTopBar',\n host: {\n 'class': 'bg-white'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamTopBarComponent implements OnInit, OnDestroy, AfterContentInit {\n static ngAcceptInputType_hasTitle: BooleanInput\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject()\n\n /** @ignore */\n faBars = faBars\n\n /** @ignore */\n @ContentChild(TopBarMenuDirective, { static: true }) _topBarMenu?: TopBarMenuDirective | null\n /** @ignore */\n @ContentChildren(TopBarItemDirective) _topBarItems?: QueryList<TopBarItemDirective>\n /** @ignore */\n @ContentChild(TopBarMenuBtnDetailDirective) _topBarMenuBtnDetailTpl?: TopBarMenuBtnDetailDirective | null\n\n /** Logo displayed on the top bar. */\n @Input() logo: string | undefined | null\n /** Logo displayed on the top bar when a smaller logo is needed. */\n @Input() logoSm: string | undefined | null\n\n /** External url to link to when `logo` is clicked. */\n @Input() logoHref?: string | null\n\n /** Link target used when `logoHref` is specified. Defaults to `\"_blank\"` */\n @Input() logoHrefTarget: string = '_blank'\n\n /** Route to link to when `logo` is clicked. Defaults to `/`. */\n @Input() logoRoute: string = '/'\n\n /** Determines if the title should be displayed. */\n @Input() @InputBoolean() hasTitle: boolean = false\n\n /** Title text displayed when `hasTitle` is true. */\n @Input() titleText: string | undefined | null\n\n /** Sub Title text displayed when `hasTitle` is true. The sub title will be less prominent. */\n @Input() subTitleText: string | undefined | null\n\n /** @ignore */\n _items$?: Observable<TopBarItemDirective[]>\n\n /** @ignore */\n isMobile$: Observable<boolean>\n\n constructor(\n private _layout: TheSeamLayoutService\n ) {\n this.isMobile$ = this._layout.isMobile$\n }\n\n /** @ignore */\n ngOnInit() { }\n\n /** @ignore */\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._topBarItems) {\n this._items$ = this._topBarItems.changes.pipe(\n startWith(undefined),\n takeUntil(this._ngUnsubscribe),\n map(() => this._topBarItems?.toArray() || []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLayoutModule } from '@theseam/ui-common/layout'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamBaseLayoutModule } from '../base-layout/index'\n\nimport { TopBarItemDirective } from './top-bar-item.directive'\nimport { TopBarMenuBtnDetailDirective } from './top-bar-menu-btn-detail.directive'\nimport { TopBarMenuButtonComponent } from './top-bar-menu-button/top-bar-menu-button.component'\nimport { TopBarMenuDirective } from './top-bar-menu.directive'\nimport { TopBarTitleComponent } from './top-bar-title/top-bar-title.component'\nimport { TheSeamTopBarComponent } from './top-bar.component'\n\n@NgModule({\n declarations: [\n TheSeamTopBarComponent,\n TopBarTitleComponent,\n TopBarMenuButtonComponent,\n TopBarMenuDirective,\n TopBarItemDirective,\n TopBarMenuBtnDetailDirective\n ],\n imports: [\n CommonModule,\n TheSeamLayoutModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n TheSeamMenuModule,\n TheSeamBaseLayoutModule,\n RouterModule\n ],\n exports: [\n TheSeamTopBarComponent,\n TopBarMenuButtonComponent,\n TopBarMenuDirective,\n TheSeamMenuModule,\n TopBarItemDirective,\n TopBarMenuBtnDetailDirective\n ]\n})\nexport class TheSeamTopBarModule { }\n","import {\n animate,\n animateChild,\n group,\n keyframes,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations'\n\n\nexport const fader =\n trigger('routeAnimations', [\n transition('* <=> *', [\n // Set a default style for enter and leave\n query(':enter, :leave', [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n opacity: 0,\n transform: 'scale(0) translateY(100%)',\n }),\n ], { optional: true }),\n // Animate the new page in\n query(':enter', [\n animate('600ms ease', style({ opacity: 1, transform: 'scale(1) translateY(0)' })),\n ], { optional: true })\n ]),\n ])\n\n\n// function slideTo(direction) {\n// return [\n// query(':enter, :leave', [\n// style({\n// position: 'absolute',\n// top: 0,\n// [direction]: 0,\n// width: '100%'\n// })\n// ], { optional: true }),\n// query(':enter', [\n// style({ [direction]: '-100%'})\n// ], { optional: true }),\n// group([\n// query(':leave', [\n// animate('1000ms ease', style({ [direction]: '100%'}))\n// ], { optional: true }),\n// query(':enter', [\n// animate('1000ms ease', style({ [direction]: '0%'}))\n// ], { optional: true })\n// ]),\n// // Normalize the page style... Might not be necessary\n\n// // Required only if you have child animations on the page\n// query(':leave', animateChild(), { optional: true }),\n// query(':enter', animateChild(), { optional: true }),\n// ]\n// }\n\n// TODO: Refactor the slider animation, because AOT or ng-packagr, I haven't\n// looked into what exactly is preventing it, doesn't allow the function call.\n// export const slider =\n// trigger('routeAnimations', [\n// transition('* => isLeft', slideTo('left') ),\n// transition('* => isRight', slideTo('right') ),\n// transition('isRight => *', slideTo('left') ),\n// transition('isLeft => *', slideTo('right') )\n// ])\n\n// export const contentLeave =\n// trigger('contentLeave', [\n// transition(':leave', [\n\n// ])\n// ])\n\nexport const slider =\n trigger('routeAnimations', [\n transition('* => isLeft', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ left: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ left: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ left: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('* => isRight', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n right: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ right: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ right: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ right: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('isRight => *', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ left: '-100%'})\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n style({ left: '0%', position: 'absolute' })\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ left: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ left: '0%'}))\n ], { optional: true }),\n query('.hierarchy-router-outlet--content', [\n animate('1000ms ease', style({ left: '-100%'}))\n ], { optional: true }),\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ]),\n transition('isLeft => *', [\n query('.router-container :enter, .router-container :leave', [\n style({\n position: 'absolute',\n top: 0,\n right: 0,\n width: '100%'\n })\n ], { optional: true }),\n query('.router-container :enter', [\n style({ right: '-100%'})\n ], { optional: true }),\n group([\n query('.router-container :leave', [\n animate('1000ms ease', style({ right: '100%'}))\n ], { optional: true }),\n query('.router-container :enter', [\n animate('1000ms ease', style({ right: '0%'}))\n ], { optional: true })\n ]),\n // Normalize the page style... Might not be necessary\n\n // Required only if you have child animations on the page\n query('.router-container :leave', animateChild(), { optional: true }),\n query('.router-container :enter', animateChild(), { optional: true }),\n ])\n ])\n\n\nexport const transformer =\n trigger('routeAnimations', [\n transition('* => isLeft', transformTo({ x: -100, y: -100, rotate: -720 }) ),\n transition('* => isRight', transformTo({ x: 100, y: -100, rotate: 90 }) ),\n transition('isRight => *', transformTo({ x: -100, y: -100, rotate: 360 }) ),\n transition('isLeft => *', transformTo({ x: 100, y: -100, rotate: -360 }) )\n])\n\nfunction transformTo({x = 100, y = 0, rotate = 0}) {\n const optional = { optional: true }\n return [\n query(':enter, :leave', [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%'\n })\n ], optional),\n query(':enter', [\n style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)`})\n ], { optional: true }),\n group([\n query(':leave', [\n animate('600ms ease-out', style({ transform: `translate(${x}%, ${y}%) rotate(${rotate}deg)`}))\n ], optional),\n query(':enter', [\n animate('600ms ease-out', style({ transform: `translate(0, 0) rotate(0)`}))\n ], { optional: true })\n ]),\n ]\n}\n\n\nexport const stepper =\n trigger('routeAnimations', [\n transition('* <=> *', [\n query(':enter, :leave', [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n }),\n ], { optional: true }),\n group([\n query(':enter', [\n animate('2000ms ease', keyframes([\n style({ transform: 'scale(0) translateX(100%)', offset: 0 }),\n style({ transform: 'scale(0.5) translateX(25%)', offset: 0.3 }),\n style({ transform: 'scale(1) translateX(0%)', offset: 1 }),\n ])),\n ], { optional: true }),\n query(':leave', [\n animate('2000ms ease', keyframes([\n style({ transform: 'scale(1)', offset: 0 }),\n style({ transform: 'scale(0.5) translateX(-25%) rotate(0)', offset: 0.35 }),\n style({ opacity: 0, transform: 'translateX(-50%) rotate(-180deg) scale(6)', offset: 1 }),\n ])),\n ], { optional: true })\n ]),\n ])\n ])\n\n\nexport const sideToSide = trigger('routeAnimations', [\n transition('* => *', [\n style({\n position: 'fixed',\n width: '100%',\n transform: 'translateX(-100%)'\n }),\n animate('1000ms ease', style({ transform: 'translateX(0%)' }))\n ]),\n transition(':leave', [\n style({\n position: 'fixed',\n width: '100%',\n transform: 'translateX(0%)'\n }),\n animate('1000ms ease', style({ transform: 'translateX(-100%)' }))\n ])\n])\n","import { ChangeDetectionStrategy, Component, HostBinding, OnDestroy, OnInit } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, NavigationStart, Router, RouterOutlet } from '@angular/router'\nimport { combineLatest, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { fader, sideToSide, slider, stepper, transformer } from './hierarchy-route-animations'\n\nexport function routeChanges(router: Router) {\n return router.events.pipe(\n filter(event => event instanceof NavigationStart || event instanceof NavigationEnd),\n distinctUntilChanged((x: any, y: any) => x.id === y.id),\n map(event => ({ url: event.url }))\n )\n}\n\n\n//\n// TODO: Animation improvement: Try adding a full component animation that\n// queries the <ng-content> and <router-outlet> blocks. When the outlet\n// activates, set the animation state to a transition that moves both blocks\n// together.\n//\n\n\nlet _uid = 0\n\n@Component({\n selector: 'seam-hierarchy-router-outlet',\n templateUrl: './hierarchy-router-outlet.component.html',\n styleUrls: ['./hierarchy-router-outlet.component.scss'],\n animations: [\n // fader,\n slider,\n // transformer,\n // stepper,\n // sideToSide\n // contentLeave\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HierarchyRouterOutletComponent implements OnInit, OnDestroy {\n\n private _uid = _uid++\n\n private readonly _ngUnsubscribe = new Subject()\n\n animState = 'isRight'\n // animState = ''\n\n outletActive = false\n\n ngContentVisible = true\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router\n ) {\n this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n // tap(v => console.log(`_hasChildren()[${this._uid}]`, this._hasChildren())),\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe()\n\n // routeChanges(this._router)\n // .pipe(\n // untilDestroyed(this),\n // tap(() => {\n // // if (this._hasChildren()) {\n // // this.animState = 'isLeft'\n // // } else {\n // // this.animState = 'isRight'\n // // }\n // })\n // )\n // .subscribe(v => console.log(`routeChanges[${this._uid}]`, v))\n }\n\n ngOnInit() { }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n private _hasChildren() {\n const count = this._route.pathFromRoot.length - 1\n let countFull = 0\n if (this._router.parseUrl(this._router.url).root.children.primary) {\n countFull = this._router.parseUrl(this._router.url).root.children.primary.segments.length\n }\n // console.log(`_hasChildren[${this._uid}]`, { count, countFull })\n return countFull > count\n }\n\n prepareRoute(outlet: RouterOutlet) {\n // console.log(`outlet[${this._uid}]`, outlet, this.animState, this._hasChildren(), this.outletActive)\n if (outlet.isActivated) {\n // console.log(outlet.isActivated)\n // console.log(outlet.component)\n console.log(this.animState)\n return this.animState\n } else {\n return undefined\n }\n // console.log(`prepareRoute[${this._uid}]`, this.animState, this._hasChildren())\n // console.log('activatedRouteData', outlet && outlet.activatedRouteData)\n // if (outlet && outlet.isActivated) {\n // console.log('activatedRoute', outlet.activatedRoute && outlet.activatedRoute.snapshot.url)\n // }\n // return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation']\n // console.log('')\n // return this.animState\n }\n\n outletActivate(event: any) {\n // console.log(`outletActivate[${this._uid}]`, event)\n this.outletActive = true\n }\n\n outletDeactivate(event: any) {\n // console.log(`outletDeactivate[${this._uid}]`, event)\n this.outletActive = false\n }\n\n routeAnimationsStart(event: any) {\n // console.log('routeAnimationsStart', event)\n this.ngContentVisible = true\n }\n\n routeAnimationsDone(event: any) {\n // console.log('routeAnimationsDone', event)\n this.ngContentVisible = !this.outletActive\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'\nimport { Observable } from 'rxjs'\nimport { map, take } from 'rxjs/operators'\n\n@Injectable({ providedIn: 'root' })\nexport class HierarchyLevelResolver implements Resolve<number> {\n\n constructor() {}\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<number> | Promise<number> | number {\n // console.log('[HierarchyLevelResolver]', route)\n // console.log('[HierarchyLevelResolver]', state)\n return this._getMaxHierLevel(route)\n }\n\n private _getMaxHierLevel(route: ActivatedRouteSnapshot) {\n let curr = route\n while (curr.parent) {\n curr = curr.parent\n if (curr.data['hierLevel']) {\n return curr.data['hierLevel'] + 1\n }\n }\n\n return 0\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { HierarchyRouterOutletComponent } from './hierarchy-router-outlet/hierarchy-router-outlet.component'\n\n\n\n@NgModule({\n declarations: [\n HierarchyRouterOutletComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n HierarchyRouterOutletComponent\n ]\n})\nexport class TheSeamDynamicRouterModule { }\n","import { Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-checkbox',\n templateUrl: './schema-form-checkbox.component.html',\n styleUrls: ['./schema-form-checkbox.component.scss']\n})\nexport class TheSeamSchemaFormCheckboxComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n trueValue: any = true\n falseValue: any = false\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n }\n\n updateValue(event: any) {\n event.preventDefault()\n this.jsf.updateValue(this, event.target.checked ? this.trueValue : this.falseValue)\n }\n\n get isChecked() {\n return this.jsf.getFormControlValue(this) === this.trueValue\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-input',\n templateUrl: './schema-form-input.component.html',\n styleUrls: ['./schema-form-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormInputComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue?: string\n controlDisabled = false\n boundControl = false\n options: any\n autoCompleteList: string[] = []\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.target.value)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-number',\n templateUrl: './schema-form-number.component.html',\n styleUrls: ['./schema-form-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormNumberComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n allowNegative = true\n allowDecimal = true\n allowExponents = false\n lastValidNumber = ''\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (this.layoutNode.dataType === 'integer') { this.allowDecimal = false }\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.target.value)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { buildTitleMap, isArray, JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-select',\n templateUrl: './schema-form-select.component.html',\n styleUrls: ['./schema-form-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormSelectComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n selectList: any[] = []\n isArray = isArray\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.selectList = buildTitleMap(\n this.options.titleMap || this.options.enumNames,\n this.options.enum, !!this.options.required, !!this.options.flatList\n )\n\n this.jsf.initializeControl(this)\n }\n\n updateValue(event: any) {\n this.jsf.updateValue(this, event.value)\n }\n\n}\n","import { Component, Input, isDevMode, OnDestroy, OnInit } from '@angular/core'\nimport { AbstractControl, FormControl } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { buildTitleMap, hasOwn, JsonSchemaFormService, TitleMapItem } from '@ajsf/core'\n\nimport { observeControlStatus, observeControlValue } from '@theseam/ui-common/utils'\nimport { takeUntil } from 'rxjs/operators'\n\n// NOTE: This is aliasing TitleMapItem, because we may want to extend it's\n// options. For simplicity, I am letting this work similar to a 'select' widget.\nexport type TheSeamSchemaFormSubmitSplitItem = TitleMapItem\n\n// NOTE: This component is a little hacky, because I am basically creating a\n// data widget that acts like a data and 'submit' widget at the same time.\n//\n// TODO: Try and think of a nicer way to implement this, but still make sense\n// from a schema definition. The library may need to me forked to actually\n// support this in the way I expect, but maybe there is another way.\n@Component({\n selector: 'seam-schema-form-submit-split',\n templateUrl: './schema-form-submit-split.component.html',\n styleUrls: ['./schema-form-submit-split.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamSchemaFormSubmitSplitComponent implements OnInit, OnDestroy {\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject()\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n _buttonLabel = ''\n\n _dropdownObj: any\n _dropdownDisabled = false\n _selectList: TheSeamSchemaFormSubmitSplitItem[] = []\n _selectedItem?: TheSeamSchemaFormSubmitSplitItem\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n\n // NOTE: This is commented out, because there is a bug with submit widgets\n // manually defined in layout. All nodes initialized from the provided\n // layout have their options populated from the defaults and 'disabled' is\n // on of the default properties, so the 'disableInvalidSubmit' condition\n // never gets reached.\n //\n // My initial idea for fixing would be to check if the disabled property\n // exists and is a boolean, or possibly anything defined that can coerce\n // into a boolean. I can't think of a reason disabled should be anything\n // else, so that may be an acceptable fix, but I don't want to enable that\n // yet.\n //\n // if (hasOwn(this.options, 'disabled')) {\n // console.log('[TheSeamSchemaFormSubmitSplitComponent] hasDisabled', this.options.disabled)\n // this.controlDisabled = this.options.disabled\n // } else\n if (this.jsf.formOptions.disableInvalidSubmit) {\n this.controlDisabled = !this.jsf.isValid\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid)\n }\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n\n if (hasOwn(this.options, 'title')) {\n this._buttonLabel = this.options.title\n }\n\n this._initDropdown()\n\n // console.log('this', this)\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n updateValue(event: any) {\n if (typeof this.options.onClick === 'function') {\n this.options.onClick(event)\n } else {\n this.jsf.updateValue(this, event.target.value)\n }\n }\n\n private _initDropdown(): void {\n if (!hasOwn(this.layoutNode, 'items') || !(this.layoutNode.items || []).length) {\n return\n }\n\n if (isDevMode()) {\n if (this.layoutNode.items.length > 1) {\n console.warn(\n `TheSeamSchemaFormSubmitSplitComponent only supports one item.` +\n ` items after index 0 will be ignored.`\n )\n }\n }\n\n const idx = 0\n const item = this.layoutNode.items[idx]\n this._dropdownObj = {\n layoutNode: item,\n layoutIndex: (this.layoutIndex || []).concat(idx),\n dataIndex: this.layoutNode?.dataType === 'array' ? (this.dataIndex || []).concat(idx) : this.dataIndex,\n\n options: item.options || {}\n }\n\n this.jsf.initializeControl(this._dropdownObj)\n\n\n const items = buildTitleMap(\n this._dropdownObj.options.titleMap || this._dropdownObj.options.enumNames,\n this._dropdownObj.options.enum,\n !!this._dropdownObj.options.required,\n !!this._dropdownObj.options.flatList\n )\n\n this._selectList = items\n\n // TODO: Should this be checking if the control is bound?\n const dropdownControl = this._getDropdownControl()\n if (!dropdownControl) {\n return\n }\n\n observeControlValue(dropdownControl).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(value => {\n this._setSelectListCheckedProp(value)\n this._selectedItem = this._getSelectedItem()\n })\n\n observeControlStatus(dropdownControl).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(value => {\n this._dropdownDisabled = dropdownControl.disabled\n })\n }\n\n private _getDropdownControl(): FormControl | undefined {\n return this._dropdownObj.formControl as FormControl\n }\n\n private _setSelectListCheckedProp(value: any) {\n const items = this._selectList\n for (const item of items) {\n if (item.value === value) {\n item.checked = true\n } else if (item.checked) {\n item.checked = false\n }\n }\n this._selectList = [ ...items ]\n }\n\n private _getSelectedItem(): TheSeamSchemaFormSubmitSplitItem | undefined {\n return (this._selectList || []).find(x => x.checked === true)\n }\n\n _setDropdownValue(value: any) {\n const formControl = this._getDropdownControl()\n formControl?.setValue(value)\n }\n\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'seam-schema-form-framework',\n templateUrl: './schema-form-framework.component.html',\n styleUrls: ['./schema-form-framework.component.scss']\n})\nexport class TheSeamSchemaFormFrameworkComponent {\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n}\n","import { Injectable } from '@angular/core'\n\nimport { Framework } from '@ajsf/core'\n\nimport { TheSeamSchemaFormCheckboxComponent } from '../schema-form-controls/schema-form-checkbox/schema-form-checkbox.component'\nimport { TheSeamSchemaFormInputComponent } from '../schema-form-controls/schema-form-input/schema-form-input.component'\nimport { TheSeamSchemaFormNumberComponent } from '../schema-form-controls/schema-form-number/schema-form-number.component'\nimport { TheSeamSchemaFormSelectComponent } from '../schema-form-controls/schema-form-select/schema-form-select.component'\nimport { TheSeamSchemaFormSubmitSplitComponent } from '../schema-form-controls/schema-form-submit-split/schema-form-submit-split.component'\nimport { TheSeamSchemaFormSubmitComponent } from '../schema-form-controls/schema-form-submit/schema-form-submit.component'\n\nimport { TheSeamSchemaFormFrameworkComponent } from './schema-form-framework.component'\n\n@Injectable()\nexport class TheSeamFramework extends Framework {\n name = 'seam-framework'\n\n framework = TheSeamSchemaFormFrameworkComponent\n\n widgets = {\n 'checkbox': TheSeamSchemaFormCheckboxComponent,\n // 'submit': TheSeamSchemaFormSubmitComponent,\n 'submit': TheSeamSchemaFormSubmitSplitComponent,\n 'text': TheSeamSchemaFormInputComponent,\n 'number': TheSeamSchemaFormNumberComponent,\n 'select': TheSeamSchemaFormSelectComponent\n }\n}\n","import { Component, Input, OnInit } from '@angular/core'\nimport { AbstractControl } from '@angular/forms'\n\nimport { hasOwn, JsonSchemaFormService } from '@ajsf/core'\n\n@Component({\n selector: 'seam-schema-form-submit',\n templateUrl: './schema-form-submit.component.html',\n styles: []\n})\nexport class TheSeamSchemaFormSubmitComponent implements OnInit {\n\n formControl?: AbstractControl\n controlName?: string\n controlValue: any\n controlDisabled = false\n boundControl = false\n options: any\n\n @Input() layoutNode: any\n @Input() layoutIndex: number[] | undefined | null\n @Input() dataIndex: number[] | undefined | null\n\n constructor(\n private jsf: JsonSchemaFormService\n ) { }\n\n ngOnInit() {\n this.options = this.layoutNode.options || {}\n this.jsf.initializeControl(this)\n if (hasOwn(this.options, 'disabled')) {\n this.controlDisabled = this.options.disabled\n } else if (this.jsf.formOptions.disableInvalidSubmit) {\n this.controlDisabled = !this.jsf.isValid\n this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid)\n }\n if (this.controlValue === null || this.controlValue === undefined) {\n this.controlValue = this.options.title\n }\n }\n\n updateValue(event: any) {\n if (typeof this.options.onClick === 'function') {\n this.options.onClick(event)\n } else {\n this.jsf.updateValue(this, event.target.value)\n }\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { JsonSchemaFormModule } from '@ajsf/core'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamCheckboxModule } from '@theseam/ui-common/checkbox'\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\n\nimport { TheSeamSchemaFormCheckboxComponent } from './schema-form-checkbox/schema-form-checkbox.component'\nimport { TheSeamSchemaFormInputComponent } from './schema-form-input/schema-form-input.component'\nimport { TheSeamSchemaFormNumberComponent } from './schema-form-number/schema-form-number.component'\nimport { TheSeamSchemaFormSelectComponent } from './schema-form-select/schema-form-select.component'\nimport { TheSeamSchemaFormSubmitSplitComponent } from './schema-form-submit-split/schema-form-submit-split.component'\nimport { TheSeamSchemaFormSubmitComponent } from './schema-form-submit/schema-form-submit.component'\n\nconst controls = [\n TheSeamSchemaFormCheckboxComponent,\n TheSeamSchemaFormSubmitComponent,\n TheSeamSchemaFormSelectComponent,\n TheSeamSchemaFormInputComponent,\n TheSeamSchemaFormNumberComponent,\n TheSeamSchemaFormSubmitSplitComponent\n]\n\n@NgModule({\n declarations: [\n ...controls\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n JsonSchemaFormModule,\n TheSeamFormFieldModule,\n TheSeamCheckboxModule,\n TheSeamMenuModule,\n TheSeamButtonsModule,\n NgSelectModule\n ],\n exports: [\n ...controls,\n JsonSchemaFormModule\n ],\n entryComponents: [\n ...controls\n ]\n})\nexport class TheSeamSchemaFormControlsModule { }\n","import { CommonModule } from '@angular/common'\nimport { Directive, NgModule } from '@angular/core'\n\nimport {\n Framework,\n FrameworkLibraryService,\n JsonSchemaFormModule,\n JsonSchemaFormService,\n WidgetLibraryModule, WidgetLibraryService\n} from '@ajsf/core'\n\nimport { TheSeamSchemaFormControlsModule } from '../schema-form-controls/schema-form-controls.module'\nimport { TheSeamFramework } from './schema-form-framework'\nimport { TheSeamSchemaFormFrameworkComponent } from './schema-form-framework.component'\n\n@NgModule({\n declarations: [\n TheSeamSchemaFormFrameworkComponent\n ],\n imports: [\n CommonModule,\n JsonSchemaFormModule,\n TheSeamSchemaFormControlsModule,\n WidgetLibraryModule,\n ],\n providers: [\n JsonSchemaFormService,\n FrameworkLibraryService,\n WidgetLibraryService,\n { provide: Framework, useClass: TheSeamFramework, multi: true }\n ],\n exports: [\n TheSeamSchemaFormFrameworkComponent,\n JsonSchemaFormModule\n ],\n entryComponents: [\n TheSeamSchemaFormFrameworkComponent\n ]\n})\nexport class TheSeamSchemaFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TheSeamSchemaFormCheckboxComponent as ɵc} from './schema-form-controls/schema-form-checkbox/schema-form-checkbox.component';\nexport {TheSeamSchemaFormControlsModule as ɵb} from './schema-form-controls/schema-form-controls.module';\nexport {TheSeamSchemaFormInputComponent as ɵf} from './schema-form-controls/schema-form-input/schema-form-input.component';\nexport {TheSeamSchemaFormNumberComponent as ɵg} from './schema-form-controls/schema-form-number/schema-form-number.component';\nexport {TheSeamSchemaFormSelectComponent as ɵe} from './schema-form-controls/schema-form-select/schema-form-select.component';\nexport {TheSeamSchemaFormSubmitSplitComponent as ɵh} from './schema-form-controls/schema-form-submit-split/schema-form-submit-split.component';\nexport {TheSeamSchemaFormSubmitComponent as ɵd} from './schema-form-controls/schema-form-submit/schema-form-submit.component';\nexport {TheSeamSideNavService as ɵa} from './side-nav/side-nav.service';"],"names":["Directive","ElementRef","InjectionToken","Optional","Inject","HostBinding","Input","HostListener","forwardRef","faAngleDoubleRight","faAngleDoubleLeft","BehaviorSubject","TemplatePortal","isDevMode","isObservable","from","Component","ChangeDetectionStrategy","ViewEncapsulation","ViewContainerRef","TheSeamLayoutService","ContentChild","TemplateRef","NgModule","CommonModule","PortalModule","TheSeamScrollbarModule","TheSeamIconModule","TheSeamButtonsModule","ViewChild","Subject","of","startWith","switchMap","map","shareReplay","tap","mapTo","take","hasProperty","Injectable","combineLatest","auditTime","notNullOrUndefined","ComponentPortal","TheSeamDynamicComponentLoader","faLock","faUnlock","EventEmitter","debounceTime","takeUntil","coerceNumberProperty","coerceBooleanProperty","distinctUntilChanged","finalize","moveItemInArray","transferArrayItem","THESEAM_WIDGET_ACCESSOR","ChangeDetectorRef","ViewChildren","CdkDrag","Output","InputBoolean","BasePortalOutlet","ComponentFactoryResolver","DragDropModule","TheSeamSharedModule","defer","Observable","filter","NavigationEnd","Router","EXPANDED_STATE","COLLAPSED_STATE","trigger","transition","group","query","animateChild","state","style","animate","faAngleLeft","SkipSelf","Host","InputNumber","faBars","RouterModule","A11yModule","TheSeamLayoutModule","NgbTooltipModule","mixinDisabled","faAngleDown","faUserCircle","MenuComponent","Self","ContentChildren","TheSeamMenuModule","keyframes","router","NavigationStart","ActivatedRoute","JsonSchemaFormService","isArray","buildTitleMap","hasOwn","observeControlValue","observeControlStatus","Framework","ReactiveFormsModule","JsonSchemaFormModule","TheSeamFormFieldModule","TheSeamCheckboxModule","NgSelectModule","WidgetLibraryModule","FrameworkLibraryService","WidgetLibraryService"],"mappings":"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"}
@@ -0,0 +1,357 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('graphql/language'), require('@angular/core'), require('@theseam/ui-common/utils'), require('graphql')) :
3
+ typeof define === 'function' && define.amd ? define('@theseam/ui-common/graphql', ['exports', 'graphql/language', '@angular/core', '@theseam/ui-common/utils', 'graphql'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.theseam = global.theseam || {}, global.theseam['ui-common'] = global.theseam['ui-common'] || {}, global.theseam['ui-common'].graphql = {}), global.language, global.ng.core, global.theseam['ui-common'].utils, global.graphql));
5
+ }(this, (function (exports, language, core, utils, graphql) { 'use strict';
6
+
7
+ function containsVariable(node, variableName) {
8
+ var found = false;
9
+ language.visit(node, {
10
+ Variable: function (variable) {
11
+ if (variableName === variable.name.value) {
12
+ found = true;
13
+ return language.BREAK;
14
+ }
15
+ }
16
+ });
17
+ return found;
18
+ }
19
+
20
+ function gqlVar(varName) {
21
+ return { gqlVar: "$" + varName };
22
+ }
23
+
24
+ function inlineVariable(query, variableName, variableValue) {
25
+ // return visit(query, {
26
+ // VariableDefinition(node) {
27
+ // if (variableName === node.variable.name.value) {
28
+ // console.log(node)
29
+ // // found = true
30
+ // console.log('insert', variableValue)
31
+ // // return BREAK
32
+ // // node.defaultValue = variableValue
33
+ // return {
34
+ // ...node,
35
+ // defaultValue: variableValue
36
+ // }
37
+ // }
38
+ // }
39
+ // })
40
+ // console.log('~inlineVariable', variableName, variableValue)
41
+ // TODO: Decide if this is a good solution.
42
+ if (utils.hasProperty(variableValue, 'value') && variableValue.value === 'undefined') {
43
+ if (core.isDevMode()) {
44
+ console.warn("Ignoring attempt to inline '" + variableName + "', because it is undefined.");
45
+ }
46
+ return graphql.visit(query, {
47
+ SelectionSet: function (selectionSetNode) {
48
+ return graphql.visit(selectionSetNode, {
49
+ Variable: function (variableNode) {
50
+ if (variableName === variableNode.name.value) {
51
+ return null;
52
+ }
53
+ }
54
+ });
55
+ }
56
+ });
57
+ }
58
+ return graphql.visit(query, {
59
+ SelectionSet: function (selectionSetNode) {
60
+ return graphql.visit(selectionSetNode, {
61
+ Variable: function (variableNode) {
62
+ if (variableName === variableNode.name.value) {
63
+ return variableValue;
64
+ }
65
+ }
66
+ });
67
+ }
68
+ });
69
+ }
70
+
71
+ // Based on Prettier's comment parsing.
72
+ //
73
+ // Source: https://github.com/prettier/prettier/blob/4e46f92b8648c7f25de62bfaf4368aa3f2e588d9/src/language-graphql/parser-graphql.js#L6
74
+ function parseComments(ast) {
75
+ var comments = [];
76
+ if (ast.loc === undefined) {
77
+ return comments;
78
+ }
79
+ var startToken = ast.loc.startToken;
80
+ var next = startToken.next;
81
+ while (next !== null && next.kind !== '<EOF>') {
82
+ if (next.kind === 'Comment') {
83
+ Object.assign(next, {
84
+ // The Comment token's column starts _after_ the `#`,
85
+ // but we need to make sure the node captures the `#`
86
+ column: next.column - 1
87
+ });
88
+ comments.push(next);
89
+ }
90
+ next = next.next;
91
+ }
92
+ return comments;
93
+ }
94
+
95
+ var GQLDirection = /** @class */ (function () {
96
+ function GQLDirection(direction) {
97
+ this.direction = direction;
98
+ }
99
+ return GQLDirection;
100
+ }());
101
+ GQLDirection.ASC = new GQLDirection('ASC');
102
+ GQLDirection.DESC = new GQLDirection('DESC');
103
+
104
+ var HintsKind;
105
+ (function (HintsKind) {
106
+ HintsKind["OperationDefinition"] = "OperationDefinition";
107
+ HintsKind["Field"] = "Field";
108
+ HintsKind["VariableDefinition"] = "VariableDefinition";
109
+ HintsKind["Variable"] = "Variable";
110
+ HintsKind["Argument"] = "Argument";
111
+ })(HintsKind || (HintsKind = {}));
112
+
113
+ var DEFAULT_TO_REMOVE_ON_UNDEFINED = ['where', 'order'];
114
+
115
+ var GQLVariable = /** @class */ (function () {
116
+ function GQLVariable(name, type) {
117
+ this.name = name;
118
+ this.type = type;
119
+ }
120
+ return GQLVariable;
121
+ }());
122
+
123
+ var HINT_PREFIX_REGEX = /^\s*@gql-hint:.+/;
124
+ var HINT_NAMES_CAPTURE_REGEX = /^\s*@gql-hint:([a-zA-z-\d\s]+)$/;
125
+ /**
126
+ * If AST loc has startToken prop then return same AST else reparse with config
127
+ * to contain comments and loc at each node.
128
+ */
129
+ function parseAst(ast) {
130
+ if (ast.loc === undefined) {
131
+ throw Error("Expected AST to have loc.");
132
+ }
133
+ if (ast.loc.startToken !== undefined) {
134
+ return ast;
135
+ }
136
+ return graphql.parse(ast.loc.source, {
137
+ allowLegacySDLImplementsInterfaces: false,
138
+ experimentalFragmentVariables: true,
139
+ });
140
+ }
141
+ function isCommentToken(token) {
142
+ return token.kind === 'Comment';
143
+ }
144
+ function isHintToken(token) {
145
+ var _a, _b;
146
+ return isCommentToken(token) &&
147
+ (((_b = (_a = token.value) === null || _a === void 0 ? void 0 : _a.match(HINT_PREFIX_REGEX)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0 || false;
148
+ }
149
+ function isInlineComment(token) {
150
+ return isCommentToken(token) &&
151
+ token.prev !== null &&
152
+ token.prev.line === token.line;
153
+ }
154
+ function hintNamesFromHintToken(token) {
155
+ var _a;
156
+ var grp = (_a = token.value) === null || _a === void 0 ? void 0 : _a.match(HINT_NAMES_CAPTURE_REGEX);
157
+ if (grp === null || grp === undefined || grp.length === 0) {
158
+ return [];
159
+ }
160
+ return grp[1].split(' ').map(function (x) { return x.trim(); }).filter(function (x) { return x.length > 0; });
161
+ }
162
+ function getTokenAppliesTo(token) {
163
+ var _a;
164
+ if (isInlineComment(token)) {
165
+ return token.prev;
166
+ }
167
+ var t = token.next;
168
+ if ((t === null || t === void 0 ? void 0 : t.kind) === '$' && ((_a = t.next) === null || _a === void 0 ? void 0 : _a.kind) === 'Name') {
169
+ t = t.next;
170
+ }
171
+ return t;
172
+ }
173
+ function createHintsToken(token, node, kind) {
174
+ return {
175
+ node: node,
176
+ hints: hintNamesFromHintToken(token),
177
+ kind: kind
178
+ };
179
+ }
180
+ function getHintsToken(token, ast) {
181
+ console.log('getHintsToken', token);
182
+ var appliesTo = getTokenAppliesTo(token);
183
+ if (appliesTo === null) {
184
+ return null;
185
+ }
186
+ var appliesToNode = null;
187
+ graphql.visit(ast, {
188
+ OperationDefinition: function (node) {
189
+ var _a;
190
+ if (((_a = node.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
191
+ appliesToNode = createHintsToken(token, node, HintsKind.OperationDefinition);
192
+ return graphql.BREAK;
193
+ }
194
+ },
195
+ VariableDefinition: function (node) {
196
+ var _a;
197
+ if (((_a = node.variable.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
198
+ appliesToNode = createHintsToken(token, node, HintsKind.VariableDefinition);
199
+ return graphql.BREAK;
200
+ }
201
+ },
202
+ Variable: function (node) {
203
+ var _a;
204
+ if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
205
+ appliesToNode = createHintsToken(token, node, HintsKind.Variable);
206
+ return graphql.BREAK;
207
+ }
208
+ },
209
+ Argument: function (node) {
210
+ var _a;
211
+ if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
212
+ appliesToNode = createHintsToken(token, node, HintsKind.Argument);
213
+ return graphql.BREAK;
214
+ }
215
+ },
216
+ Field: function (node) {
217
+ var _a;
218
+ if (((_a = node.name.loc) === null || _a === void 0 ? void 0 : _a.start) === appliesTo.start) {
219
+ appliesToNode = createHintsToken(token, node, HintsKind.Field);
220
+ return graphql.BREAK;
221
+ }
222
+ }
223
+ });
224
+ return appliesToNode;
225
+ }
226
+ function parseHints(ast) {
227
+ var _ast = parseAst(ast);
228
+ console.log('_ast', _ast);
229
+ return parseComments(_ast)
230
+ .filter(isHintToken)
231
+ .map(function (r) { return getHintsToken(r, _ast); })
232
+ .filter(utils.notNullOrUndefined);
233
+ }
234
+
235
+ function removeVariableDefinition(query, variableName) {
236
+ return graphql.visit(query, {
237
+ VariableDefinition: {
238
+ enter: function (variable) {
239
+ var name = variable.variable.name.value;
240
+ if (name === variableName) {
241
+ return null;
242
+ }
243
+ }
244
+ }
245
+ });
246
+ }
247
+
248
+ function removeVariableDefinitionsNotDefined(query, node, variables) {
249
+ return graphql.visit(query, {
250
+ OperationDefinition: function (opDef) {
251
+ if (opDef === node) {
252
+ return graphql.visit(opDef, {
253
+ VariableDefinition: function (varDef) {
254
+ var name = varDef.variable.name.value;
255
+ if (utils.isNullOrUndefined(variables[name])) {
256
+ return null;
257
+ }
258
+ }
259
+ });
260
+ }
261
+ }
262
+ });
263
+ }
264
+
265
+ function removeVariable(query, variableName) {
266
+ return graphql.visit(query, {
267
+ VariableDefinition: {
268
+ enter: function (variable) {
269
+ var name = variable.variable.name.value;
270
+ if (name === variableName) {
271
+ return null;
272
+ }
273
+ }
274
+ },
275
+ Argument: {
276
+ enter: function (variable) {
277
+ var name = variable.name.value;
278
+ if (name === variableName) {
279
+ return null;
280
+ }
281
+ }
282
+ }
283
+ });
284
+ }
285
+
286
+ // Naive initial implementation. This is intended for dynamic values, such as
287
+ // sorting and filtering. If you are defining a schema, use the gql template
288
+ // function from 'apollo-angular'.
289
+ //
290
+ // TODO: Try to find a maintained library that will handle this. Ideally a
291
+ // type-safe one, but that is becoming surprisingly harder to find than I
292
+ // expected for GraphQL.
293
+ function toGQL(json) {
294
+ var props = Object.keys(json).map(function (prop) {
295
+ var value = json[prop];
296
+ var resultValue;
297
+ if (typeof value === 'string') {
298
+ resultValue = "\"" + value + "\"";
299
+ }
300
+ else if (value instanceof GQLDirection) {
301
+ resultValue = "" + value.direction;
302
+ }
303
+ else if (Array.isArray(value)) {
304
+ resultValue = "[" + value.map(function (v) { return toGQL(v); }).join(',') + "]";
305
+ }
306
+ else if (typeof value === 'object') {
307
+ if (value.hasOwnProperty('gqlVar')) {
308
+ resultValue = "" + value.gqlVar;
309
+ }
310
+ else {
311
+ resultValue = toGQL(value);
312
+ }
313
+ }
314
+ else {
315
+ resultValue = "" + value;
316
+ }
317
+ if (typeof resultValue !== 'string') {
318
+ throw Error("Unexpected value.");
319
+ }
320
+ return prop + ": " + resultValue;
321
+ });
322
+ return "{" + props.join(', ') + "}";
323
+ }
324
+
325
+ function hintsTokensContainingHint(hintsTokens, hint) {
326
+ return hintsTokens.filter(function (r) { return r.hints.indexOf(hint) !== -1; });
327
+ }
328
+
329
+ /**
330
+ * Generated bundle index. Do not edit.
331
+ */
332
+
333
+ exports.HINT_NAMES_CAPTURE_REGEX = HINT_NAMES_CAPTURE_REGEX;
334
+ exports.HINT_PREFIX_REGEX = HINT_PREFIX_REGEX;
335
+ exports.containsVariable = containsVariable;
336
+ exports.createHintsToken = createHintsToken;
337
+ exports.getHintsToken = getHintsToken;
338
+ exports.getTokenAppliesTo = getTokenAppliesTo;
339
+ exports.gqlVar = gqlVar;
340
+ exports.hintNamesFromHintToken = hintNamesFromHintToken;
341
+ exports.hintsTokensContainingHint = hintsTokensContainingHint;
342
+ exports.inlineVariable = inlineVariable;
343
+ exports.isCommentToken = isCommentToken;
344
+ exports.isHintToken = isHintToken;
345
+ exports.isInlineComment = isInlineComment;
346
+ exports.parseAst = parseAst;
347
+ exports.parseComments = parseComments;
348
+ exports.parseHints = parseHints;
349
+ exports.removeVariable = removeVariable;
350
+ exports.removeVariableDefinition = removeVariableDefinition;
351
+ exports.removeVariableDefinitionsNotDefined = removeVariableDefinitionsNotDefined;
352
+ exports.toGQL = toGQL;
353
+
354
+ Object.defineProperty(exports, '__esModule', { value: true });
355
+
356
+ })));
357
+ //# sourceMappingURL=theseam-ui-common-graphql.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theseam-ui-common-graphql.umd.js","sources":["../../../projects/ui-common/graphql/utils/contains-variable.ts","../../../projects/ui-common/graphql/utils/gql-var.ts","../../../projects/ui-common/graphql/utils/inline-variables.ts","../../../projects/ui-common/graphql/utils/parse-comments.ts","../../../projects/ui-common/graphql/models/direction.ts","../../../projects/ui-common/graphql/models/hints-kind.ts","../../../projects/ui-common/graphql/models/query-processing-config.ts","../../../projects/ui-common/graphql/models/variable.ts","../../../projects/ui-common/graphql/utils/parse-hints.ts","../../../projects/ui-common/graphql/utils/remove-variable-definition.ts","../../../projects/ui-common/graphql/utils/remove-variable-definitions-not-defined.ts","../../../projects/ui-common/graphql/utils/remove-variable.ts","../../../projects/ui-common/graphql/utils/to-gql.ts","../../../projects/ui-common/graphql/utils/hints-tokens-containing-hint.ts","../../../projects/ui-common/graphql/theseam-ui-common-graphql.ts"],"sourcesContent":["import { BREAK, DocumentNode, ValueNode, visit } from 'graphql/language'\n\nexport function containsVariable(node: DocumentNode | ValueNode, variableName: string) {\n let found = false\n\n visit(node, {\n Variable(variable) {\n if (variableName === variable.name.value) {\n found = true\n return BREAK\n }\n }\n })\n\n return found\n}\n","\nexport function gqlVar(varName: string): { gqlVar: string } {\n return { gqlVar: `$${varName}` }\n}\n","import { isDevMode } from '@angular/core'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\nimport { BREAK, DocumentNode, ValueNode, visit } from 'graphql'\n\nexport function inlineVariable(query: DocumentNode, variableName: string, variableValue: ValueNode): DocumentNode {\n // return visit(query, {\n // VariableDefinition(node) {\n // if (variableName === node.variable.name.value) {\n // console.log(node)\n // // found = true\n // console.log('insert', variableValue)\n // // return BREAK\n\n // // node.defaultValue = variableValue\n // return {\n // ...node,\n // defaultValue: variableValue\n // }\n // }\n // }\n // })\n\n\n // console.log('~inlineVariable', variableName, variableValue)\n\n // TODO: Decide if this is a good solution.\n if (hasProperty(variableValue as any, 'value') && (variableValue as any).value === 'undefined') {\n if (isDevMode()) {\n console.warn(`Ignoring attempt to inline '${variableName}', because it is undefined.`)\n }\n return visit(query, {\n SelectionSet(selectionSetNode) {\n return visit(selectionSetNode, {\n Variable(variableNode) {\n if (variableName === variableNode.name.value) {\n return null\n }\n }\n })\n }\n })\n }\n\n\n return visit(query, {\n SelectionSet(selectionSetNode) {\n return visit(selectionSetNode, {\n Variable(variableNode) {\n if (variableName === variableNode.name.value) {\n return variableValue\n }\n }\n })\n }\n })\n}\n","import { DocumentNode, Token } from 'graphql/language'\n\n// Based on Prettier's comment parsing.\n//\n// Source: https://github.com/prettier/prettier/blob/4e46f92b8648c7f25de62bfaf4368aa3f2e588d9/src/language-graphql/parser-graphql.js#L6\nexport function parseComments(ast: DocumentNode): Token[] {\n const comments: Token[] = []\n\n if (ast.loc === undefined) {\n return comments\n }\n\n const startToken = ast.loc.startToken\n let next = startToken.next\n while (next !== null && next.kind !== '<EOF>') {\n if (next.kind === 'Comment') {\n Object.assign(next, {\n // The Comment token's column starts _after_ the `#`,\n // but we need to make sure the node captures the `#`\n column: next.column - 1\n })\n comments.push(next)\n }\n next = next.next\n }\n\n return comments\n}\n","export class GQLDirection {\n constructor(public readonly direction: string) { }\n public static readonly ASC = new GQLDirection('ASC')\n public static readonly DESC = new GQLDirection('DESC')\n}\n","export enum HintsKind {\n OperationDefinition = 'OperationDefinition',\n Field = 'Field',\n VariableDefinition = 'VariableDefinition',\n Variable = 'Variable',\n Argument = 'Argument'\n}\n","export const DEFAULT_TO_REMOVE_ON_UNDEFINED = [ 'where', 'order' ]\n\nexport interface QueryProcessingVariablesConfig {\n removeIfNotDefined?: string[]\n removeIfNotUsed?: string[]\n inline?: string[]\n}\n\nexport interface QueryProcessingConfig {\n variables: QueryProcessingVariablesConfig\n}\n","export class GQLVariable {\n constructor(\n public readonly name: string,\n public readonly type: string\n ) {}\n}\n","import {\n ArgumentNode,\n BREAK,\n DocumentNode,\n FieldNode,\n OperationDefinitionNode,\n parse,\n Token,\n VariableDefinitionNode,\n VariableNode,\n visit\n} from 'graphql'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { HintsKind, HintsToken } from '../models'\nimport { parseComments } from './parse-comments'\n\nexport const HINT_PREFIX_REGEX = /^\\s*@gql-hint:.+/\nexport const HINT_NAMES_CAPTURE_REGEX = /^\\s*@gql-hint:([a-zA-z-\\d\\s]+)$/\n\n/**\n * If AST loc has startToken prop then return same AST else reparse with config\n * to contain comments and loc at each node.\n */\nexport function parseAst(ast: DocumentNode): DocumentNode {\n if (ast.loc === undefined) {\n throw Error(`Expected AST to have loc.`)\n }\n\n if (ast.loc.startToken !== undefined) {\n return ast\n }\n\n return parse(ast.loc.source, {\n allowLegacySDLImplementsInterfaces: false,\n experimentalFragmentVariables: true,\n })\n}\n\nexport function isCommentToken(token: Token): boolean {\n return token.kind === 'Comment'\n}\n\nexport function isHintToken(token: Token): boolean {\n return isCommentToken(token) &&\n (token.value?.match(HINT_PREFIX_REGEX)?.length || 0) > 0 || false\n}\n\nexport function isInlineComment(token: Token): boolean {\n return isCommentToken(token) &&\n token.prev !== null &&\n token.prev.line === token.line\n}\n\nexport function hintNamesFromHintToken(token: Token): string[] {\n const grp = token.value?.match(HINT_NAMES_CAPTURE_REGEX)\n if (grp === null || grp === undefined || grp.length === 0) {\n return []\n }\n return grp[1].split(' ').map(x => x.trim()).filter(x => x.length > 0)\n}\n\nexport function getTokenAppliesTo(token: Token): Token | null {\n if (isInlineComment(token)) {\n return token.prev\n }\n\n let t = token.next\n if (t?.kind === '$' && t.next?.kind === 'Name') {\n t = t.next\n }\n return t\n}\n\nexport function createHintsToken(token: Token, node: HintsToken['node'], kind: HintsKind): HintsToken {\n return {\n node,\n hints: hintNamesFromHintToken(token),\n kind\n }\n}\n\nexport function getHintsToken(token: Token, ast: DocumentNode): HintsToken | null {\n console.log('getHintsToken', token)\n const appliesTo = getTokenAppliesTo(token)\n if (appliesTo === null) {\n return null\n }\n\n let appliesToNode: HintsToken | null = null\n visit(ast, {\n OperationDefinition(node: OperationDefinitionNode) {\n if (node.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.OperationDefinition)\n return BREAK\n }\n },\n VariableDefinition(node: VariableDefinitionNode) {\n if (node.variable.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.VariableDefinition)\n return BREAK\n }\n },\n Variable(node: VariableNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Variable)\n return BREAK\n }\n },\n Argument(node: ArgumentNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Argument)\n return BREAK\n }\n },\n Field(node: FieldNode) {\n if (node.name.loc?.start === appliesTo.start) {\n appliesToNode = createHintsToken(token, node, HintsKind.Field)\n return BREAK\n }\n }\n })\n return appliesToNode\n}\n\nexport function parseHints(ast: DocumentNode): HintsToken[] {\n const _ast = parseAst(ast)\n console.log('_ast', _ast)\n return parseComments(_ast)\n .filter(isHintToken)\n .map(r => getHintsToken(r, _ast))\n .filter(notNullOrUndefined)\n}\n","import { DocumentNode, visit } from 'graphql'\n\nexport function removeVariableDefinition(query: DocumentNode, variableName: string): DocumentNode {\n return visit(query, {\n VariableDefinition: {\n enter(variable) {\n const name = variable.variable.name.value\n if (name === variableName) {\n return null\n }\n }\n }\n })\n}\n","import { Operation } from '@apollo/client'\nimport { DocumentNode, OperationDefinitionNode, visit } from 'graphql'\n\nimport { isNullOrUndefined } from '@theseam/ui-common/utils'\n\nexport function removeVariableDefinitionsNotDefined(\n query: DocumentNode,\n node: OperationDefinitionNode,\n variables: Operation['variables']\n) {\n return visit(query, {\n OperationDefinition(opDef) {\n if (opDef === node) {\n return visit(opDef, {\n VariableDefinition(varDef) {\n const name = varDef.variable.name.value\n if (isNullOrUndefined(variables[name])) {\n return null\n }\n }\n })\n }\n }\n })\n}\n","import { DocumentNode, visit } from 'graphql'\n\nexport function removeVariable(query: DocumentNode, variableName: string): DocumentNode {\n return visit(query, {\n VariableDefinition: {\n enter(variable) {\n const name = variable.variable.name.value\n if (name === variableName) {\n return null\n }\n }\n },\n Argument: {\n enter(variable) {\n const name = variable.name.value\n if (name === variableName) {\n return null\n }\n }\n }\n })\n}\n","import { GQLDirection } from '../models'\n\n// Naive initial implementation. This is intended for dynamic values, such as\n// sorting and filtering. If you are defining a schema, use the gql template\n// function from 'apollo-angular'.\n//\n// TODO: Try to find a maintained library that will handle this. Ideally a\n// type-safe one, but that is becoming surprisingly harder to find than I\n// expected for GraphQL.\nexport function toGQL(json: any): string {\n const props: string[] = Object.keys(json).map(prop => {\n const value = json[prop]\n let resultValue: string | undefined\n if (typeof value === 'string') {\n resultValue = `\\\"${value}\\\"`\n } else if (value instanceof GQLDirection) {\n resultValue = `${value.direction}`\n } else if (Array.isArray(value)) {\n resultValue = `[${value.map(v => toGQL(v)).join(',')}]`\n } else if (typeof value === 'object') {\n if (value.hasOwnProperty('gqlVar')) {\n resultValue = `${value.gqlVar}`\n } else {\n resultValue = toGQL(value)\n }\n } else {\n resultValue = `${value}`\n }\n if (typeof resultValue !== 'string') {\n throw Error(`Unexpected value.`)\n }\n return `${prop}: ${resultValue}`\n })\n return `{${props.join(', ')}}`\n}\n","import { HintsToken } from '../models'\n\nexport function hintsTokensContainingHint(hintsTokens: HintsToken[], hint: string): HintsToken[] {\n return hintsTokens.filter(r => r.hints.indexOf(hint) !== -1)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["visit","BREAK","hasProperty","isDevMode","parse","notNullOrUndefined","isNullOrUndefined"],"mappings":"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"}
@@ -0,0 +1,890 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@fortawesome/angular-fontawesome'), require('@theseam/ui-common/core'), require('@angular/animations'), require('@fortawesome/free-solid-svg-icons'), require('@angular/cdk/coercion'), require('@fortawesome/free-regular-svg-icons')) :
3
+ typeof define === 'function' && define.amd ? define('@theseam/ui-common/icon', ['exports', '@angular/common', '@angular/core', '@fortawesome/angular-fontawesome', '@theseam/ui-common/core', '@angular/animations', '@fortawesome/free-solid-svg-icons', '@angular/cdk/coercion', '@fortawesome/free-regular-svg-icons'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.theseam = global.theseam || {}, global.theseam['ui-common'] = global.theseam['ui-common'] || {}, global.theseam['ui-common'].icon = {}), global.ng.common, global.ng.core, global.angularFontawesome, global.theseam['ui-common'].core, global.ng.animations, global.freeSolidSvgIcons, global.ng.cdk.coercion, global.freeRegularSvgIcons));
5
+ }(this, (function (exports, common, core, angularFontawesome, core$1, animations, freeSolidSvgIcons, coercion, freeRegularSvgIcons) { 'use strict';
6
+
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (Object.prototype.hasOwnProperty.call(b, p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
33
+ extendStatics(d, b);
34
+ function __() { this.constructor = d; }
35
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
36
+ }
37
+ var __assign = function () {
38
+ __assign = Object.assign || function __assign(t) {
39
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
40
+ s = arguments[i];
41
+ for (var p in s)
42
+ if (Object.prototype.hasOwnProperty.call(s, p))
43
+ t[p] = s[p];
44
+ }
45
+ return t;
46
+ };
47
+ return __assign.apply(this, arguments);
48
+ };
49
+ function __rest(s, e) {
50
+ var t = {};
51
+ for (var p in s)
52
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53
+ t[p] = s[p];
54
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
55
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57
+ t[p[i]] = s[p[i]];
58
+ }
59
+ return t;
60
+ }
61
+ function __decorate(decorators, target, key, desc) {
62
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
64
+ r = Reflect.decorate(decorators, target, key, desc);
65
+ else
66
+ for (var i = decorators.length - 1; i >= 0; i--)
67
+ if (d = decorators[i])
68
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
70
+ }
71
+ function __param(paramIndex, decorator) {
72
+ return function (target, key) { decorator(target, key, paramIndex); };
73
+ }
74
+ function __metadata(metadataKey, metadataValue) {
75
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
76
+ return Reflect.metadata(metadataKey, metadataValue);
77
+ }
78
+ function __awaiter(thisArg, _arguments, P, generator) {
79
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
80
+ return new (P || (P = Promise))(function (resolve, reject) {
81
+ function fulfilled(value) { try {
82
+ step(generator.next(value));
83
+ }
84
+ catch (e) {
85
+ reject(e);
86
+ } }
87
+ function rejected(value) { try {
88
+ step(generator["throw"](value));
89
+ }
90
+ catch (e) {
91
+ reject(e);
92
+ } }
93
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
94
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
95
+ });
96
+ }
97
+ function __generator(thisArg, body) {
98
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
99
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
100
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
101
+ function verb(n) { return function (v) { return step([n, v]); }; }
102
+ function step(op) {
103
+ if (f)
104
+ throw new TypeError("Generator is already executing.");
105
+ while (_)
106
+ try {
107
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
108
+ return t;
109
+ if (y = 0, t)
110
+ op = [op[0] & 2, t.value];
111
+ switch (op[0]) {
112
+ case 0:
113
+ case 1:
114
+ t = op;
115
+ break;
116
+ case 4:
117
+ _.label++;
118
+ return { value: op[1], done: false };
119
+ case 5:
120
+ _.label++;
121
+ y = op[1];
122
+ op = [0];
123
+ continue;
124
+ case 7:
125
+ op = _.ops.pop();
126
+ _.trys.pop();
127
+ continue;
128
+ default:
129
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
130
+ _ = 0;
131
+ continue;
132
+ }
133
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
134
+ _.label = op[1];
135
+ break;
136
+ }
137
+ if (op[0] === 6 && _.label < t[1]) {
138
+ _.label = t[1];
139
+ t = op;
140
+ break;
141
+ }
142
+ if (t && _.label < t[2]) {
143
+ _.label = t[2];
144
+ _.ops.push(op);
145
+ break;
146
+ }
147
+ if (t[2])
148
+ _.ops.pop();
149
+ _.trys.pop();
150
+ continue;
151
+ }
152
+ op = body.call(thisArg, _);
153
+ }
154
+ catch (e) {
155
+ op = [6, e];
156
+ y = 0;
157
+ }
158
+ finally {
159
+ f = t = 0;
160
+ }
161
+ if (op[0] & 5)
162
+ throw op[1];
163
+ return { value: op[0] ? op[1] : void 0, done: true };
164
+ }
165
+ }
166
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
167
+ if (k2 === undefined)
168
+ k2 = k;
169
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
170
+ }) : (function (o, m, k, k2) {
171
+ if (k2 === undefined)
172
+ k2 = k;
173
+ o[k2] = m[k];
174
+ });
175
+ function __exportStar(m, o) {
176
+ for (var p in m)
177
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
178
+ __createBinding(o, m, p);
179
+ }
180
+ function __values(o) {
181
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
182
+ if (m)
183
+ return m.call(o);
184
+ if (o && typeof o.length === "number")
185
+ return {
186
+ next: function () {
187
+ if (o && i >= o.length)
188
+ o = void 0;
189
+ return { value: o && o[i++], done: !o };
190
+ }
191
+ };
192
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
193
+ }
194
+ function __read(o, n) {
195
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
196
+ if (!m)
197
+ return o;
198
+ var i = m.call(o), r, ar = [], e;
199
+ try {
200
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
201
+ ar.push(r.value);
202
+ }
203
+ catch (error) {
204
+ e = { error: error };
205
+ }
206
+ finally {
207
+ try {
208
+ if (r && !r.done && (m = i["return"]))
209
+ m.call(i);
210
+ }
211
+ finally {
212
+ if (e)
213
+ throw e.error;
214
+ }
215
+ }
216
+ return ar;
217
+ }
218
+ /** @deprecated */
219
+ function __spread() {
220
+ for (var ar = [], i = 0; i < arguments.length; i++)
221
+ ar = ar.concat(__read(arguments[i]));
222
+ return ar;
223
+ }
224
+ /** @deprecated */
225
+ function __spreadArrays() {
226
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
227
+ s += arguments[i].length;
228
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
229
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
230
+ r[k] = a[j];
231
+ return r;
232
+ }
233
+ function __spreadArray(to, from, pack) {
234
+ if (pack || arguments.length === 2)
235
+ for (var i = 0, l = from.length, ar; i < l; i++) {
236
+ if (ar || !(i in from)) {
237
+ if (!ar)
238
+ ar = Array.prototype.slice.call(from, 0, i);
239
+ ar[i] = from[i];
240
+ }
241
+ }
242
+ return to.concat(ar || from);
243
+ }
244
+ function __await(v) {
245
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
246
+ }
247
+ function __asyncGenerator(thisArg, _arguments, generator) {
248
+ if (!Symbol.asyncIterator)
249
+ throw new TypeError("Symbol.asyncIterator is not defined.");
250
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
251
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
252
+ function verb(n) { if (g[n])
253
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
254
+ function resume(n, v) { try {
255
+ step(g[n](v));
256
+ }
257
+ catch (e) {
258
+ settle(q[0][3], e);
259
+ } }
260
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
261
+ function fulfill(value) { resume("next", value); }
262
+ function reject(value) { resume("throw", value); }
263
+ function settle(f, v) { if (f(v), q.shift(), q.length)
264
+ resume(q[0][0], q[0][1]); }
265
+ }
266
+ function __asyncDelegator(o) {
267
+ var i, p;
268
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
269
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
270
+ }
271
+ function __asyncValues(o) {
272
+ if (!Symbol.asyncIterator)
273
+ throw new TypeError("Symbol.asyncIterator is not defined.");
274
+ var m = o[Symbol.asyncIterator], i;
275
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
276
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
277
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
278
+ }
279
+ function __makeTemplateObject(cooked, raw) {
280
+ if (Object.defineProperty) {
281
+ Object.defineProperty(cooked, "raw", { value: raw });
282
+ }
283
+ else {
284
+ cooked.raw = raw;
285
+ }
286
+ return cooked;
287
+ }
288
+ ;
289
+ var __setModuleDefault = Object.create ? (function (o, v) {
290
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
291
+ }) : function (o, v) {
292
+ o["default"] = v;
293
+ };
294
+ function __importStar(mod) {
295
+ if (mod && mod.__esModule)
296
+ return mod;
297
+ var result = {};
298
+ if (mod != null)
299
+ for (var k in mod)
300
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
301
+ __createBinding(result, mod, k);
302
+ __setModuleDefault(result, mod);
303
+ return result;
304
+ }
305
+ function __importDefault(mod) {
306
+ return (mod && mod.__esModule) ? mod : { default: mod };
307
+ }
308
+ function __classPrivateFieldGet(receiver, state, kind, f) {
309
+ if (kind === "a" && !f)
310
+ throw new TypeError("Private accessor was defined without a getter");
311
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
312
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
313
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
314
+ }
315
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
316
+ if (kind === "m")
317
+ throw new TypeError("Private method is not writable");
318
+ if (kind === "a" && !f)
319
+ throw new TypeError("Private accessor was defined without a setter");
320
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
321
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
322
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
323
+ }
324
+
325
+ var IconBtnComponent = /** @class */ (function () {
326
+ function IconBtnComponent(_elementRef, _renderer) {
327
+ this._elementRef = _elementRef;
328
+ this._renderer = _renderer;
329
+ /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
330
+ this.grayscaleOnDisable = true;
331
+ /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
332
+ this.disabled = false;
333
+ /**
334
+ * Toggles whether an image that has thrown the `onerror` event should show
335
+ * the `defaultIcon` instead.
336
+ */
337
+ this.showDefaultOnError = false;
338
+ /**
339
+ * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.
340
+ *
341
+ * NOTE: Not supported for icon-btn yet.
342
+ */
343
+ // @Input() defaultIcon: SeamIcon
344
+ this.iconType = 'image-fill';
345
+ this._cssPadding0 = true;
346
+ this._btn = true;
347
+ this._textNoWrap = true;
348
+ this.btnTheme = 'default';
349
+ this.badgeTheme = 'light';
350
+ this.badgeText = '';
351
+ }
352
+ Object.defineProperty(IconBtnComponent.prototype, "_btnDefault", {
353
+ get: function () { return this.isBtnTheme('default'); },
354
+ enumerable: false,
355
+ configurable: true
356
+ });
357
+ Object.defineProperty(IconBtnComponent.prototype, "_btnPrimary", {
358
+ get: function () { return this.isBtnTheme('primary'); },
359
+ enumerable: false,
360
+ configurable: true
361
+ });
362
+ Object.defineProperty(IconBtnComponent.prototype, "_btnSecondary", {
363
+ get: function () { return this.isBtnTheme('secondary'); },
364
+ enumerable: false,
365
+ configurable: true
366
+ });
367
+ Object.defineProperty(IconBtnComponent.prototype, "_btnSuccess", {
368
+ get: function () { return this.isBtnTheme('success'); },
369
+ enumerable: false,
370
+ configurable: true
371
+ });
372
+ Object.defineProperty(IconBtnComponent.prototype, "_btnDanger", {
373
+ get: function () { return this.isBtnTheme('danger'); },
374
+ enumerable: false,
375
+ configurable: true
376
+ });
377
+ Object.defineProperty(IconBtnComponent.prototype, "_btnWarning", {
378
+ get: function () { return this.isBtnTheme('warning'); },
379
+ enumerable: false,
380
+ configurable: true
381
+ });
382
+ Object.defineProperty(IconBtnComponent.prototype, "_btnInfo", {
383
+ get: function () { return this.isBtnTheme('info'); },
384
+ enumerable: false,
385
+ configurable: true
386
+ });
387
+ Object.defineProperty(IconBtnComponent.prototype, "_btnLight", {
388
+ get: function () { return this.isBtnTheme('light'); },
389
+ enumerable: false,
390
+ configurable: true
391
+ });
392
+ Object.defineProperty(IconBtnComponent.prototype, "_btnDark", {
393
+ get: function () { return this.isBtnTheme('dark'); },
394
+ enumerable: false,
395
+ configurable: true
396
+ });
397
+ Object.defineProperty(IconBtnComponent.prototype, "_btnLightGray", {
398
+ get: function () { return this.isBtnTheme('lightgray'); },
399
+ enumerable: false,
400
+ configurable: true
401
+ });
402
+ Object.defineProperty(IconBtnComponent.prototype, "_btnSizeSm", {
403
+ get: function () { return this.btnSize === 'sm'; },
404
+ enumerable: false,
405
+ configurable: true
406
+ });
407
+ Object.defineProperty(IconBtnComponent.prototype, "_btnSizeLg", {
408
+ get: function () { return this.btnSize === 'lg'; },
409
+ enumerable: false,
410
+ configurable: true
411
+ });
412
+ Object.defineProperty(IconBtnComponent.prototype, "type", {
413
+ get: function () { return this._type; },
414
+ set: function (value) {
415
+ this._type = value;
416
+ },
417
+ enumerable: false,
418
+ configurable: true
419
+ });
420
+ Object.defineProperty(IconBtnComponent.prototype, "role", {
421
+ get: function () { return this._role; },
422
+ set: function (value) {
423
+ this._role = value;
424
+ },
425
+ enumerable: false,
426
+ configurable: true
427
+ });
428
+ IconBtnComponent.prototype.ngOnInit = function () { };
429
+ IconBtnComponent.prototype.ngDoCheck = function () {
430
+ if (this._isButton()) {
431
+ this._renderer.setAttribute(this._elementRef.nativeElement, 'type', this._type || 'button');
432
+ }
433
+ else if (this._isAnchor()) {
434
+ this._renderer.setAttribute(this._elementRef.nativeElement, 'role', this._role || 'button');
435
+ }
436
+ };
437
+ IconBtnComponent.prototype.isBtnTheme = function (type) {
438
+ return this.btnTheme === type;
439
+ };
440
+ IconBtnComponent.prototype._isButton = function () {
441
+ return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button';
442
+ };
443
+ IconBtnComponent.prototype._isAnchor = function () {
444
+ return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button';
445
+ };
446
+ return IconBtnComponent;
447
+ }());
448
+ IconBtnComponent.decorators = [
449
+ { type: core.Component, args: [{
450
+ // tslint:disable-next-line:component-selector
451
+ selector: 'button[seamIconBtn]',
452
+ template: "\n <seam-icon *ngIf=\"icon\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n ",
453
+ // tslint:disable-next-line:use-host-property-decorator
454
+ host: {
455
+ '[attr.aria-disabled]': 'disabled.toString()',
456
+ '[attr.disabled]': 'disabled || null',
457
+ }
458
+ },] }
459
+ ];
460
+ IconBtnComponent.ctorParameters = function () { return [
461
+ { type: core.ElementRef },
462
+ { type: core.Renderer2 }
463
+ ]; };
464
+ IconBtnComponent.propDecorators = {
465
+ grayscaleOnDisable: [{ type: core.Input }],
466
+ disabled: [{ type: core.Input }],
467
+ iconClass: [{ type: core.Input }],
468
+ icon: [{ type: core.Input }],
469
+ size: [{ type: core.Input }],
470
+ showDefaultOnError: [{ type: core.Input }],
471
+ iconType: [{ type: core.Input }],
472
+ _cssPadding0: [{ type: core.HostBinding, args: ['class.p-0',] }],
473
+ _btn: [{ type: core.HostBinding, args: ['class.btn',] }],
474
+ _textNoWrap: [{ type: core.HostBinding, args: ['class.text-nowrap',] }],
475
+ _btnDefault: [{ type: core.HostBinding, args: ['class.btn-default',] }],
476
+ _btnPrimary: [{ type: core.HostBinding, args: ['class.btn-primary',] }],
477
+ _btnSecondary: [{ type: core.HostBinding, args: ['class.btn-secondary',] }],
478
+ _btnSuccess: [{ type: core.HostBinding, args: ['class.btn-success',] }],
479
+ _btnDanger: [{ type: core.HostBinding, args: ['class.btn-danger',] }],
480
+ _btnWarning: [{ type: core.HostBinding, args: ['class.btn-warning',] }],
481
+ _btnInfo: [{ type: core.HostBinding, args: ['class.btn-info',] }],
482
+ _btnLight: [{ type: core.HostBinding, args: ['class.btn-light',] }],
483
+ _btnDark: [{ type: core.HostBinding, args: ['class.btn-dark',] }],
484
+ _btnLightGray: [{ type: core.HostBinding, args: ['class.btn-lightgray',] }],
485
+ _btnSizeSm: [{ type: core.HostBinding, args: ['class.btn-sm',] }],
486
+ _btnSizeLg: [{ type: core.HostBinding, args: ['class.btn-lg',] }],
487
+ btnTheme: [{ type: core.Input }],
488
+ badgeTheme: [{ type: core.Input }],
489
+ badgeText: [{ type: core.Input }],
490
+ btnSize: [{ type: core.Input }],
491
+ type: [{ type: core.Input }],
492
+ role: [{ type: core.Input }]
493
+ };
494
+ __decorate([
495
+ core$1.InputBoolean()
496
+ ], IconBtnComponent.prototype, "grayscaleOnDisable", void 0);
497
+ __decorate([
498
+ core$1.InputBoolean()
499
+ ], IconBtnComponent.prototype, "disabled", void 0);
500
+ __decorate([
501
+ core$1.InputBoolean()
502
+ ], IconBtnComponent.prototype, "showDefaultOnError", void 0);
503
+
504
+ var pulseAnimation = animations.animation([
505
+ animations.style({ transform: 'scale(1)' }),
506
+ animations.animate('{{ timings }}', animations.keyframes([
507
+ animations.style({ transform: 'scale(1)', offset: 0 }),
508
+ animations.style({ transform: 'scale({{ scale }})', offset: 0.5 }),
509
+ animations.style({ transform: 'scale(1)', offset: 1 })
510
+ ]))
511
+ ]);
512
+ var IconNotificationComponent = /** @class */ (function () {
513
+ function IconNotificationComponent(_elementRef) {
514
+ this._elementRef = _elementRef;
515
+ this.hidden = false;
516
+ /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
517
+ this.grayscaleOnDisable = true;
518
+ /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
519
+ this.disabled = false;
520
+ /**
521
+ * The icon to display.
522
+ *
523
+ * If the input icon is a string an `img` element will be used with icon as `src`.
524
+ * If the input is not a string it will be assumed to be a font-awesome IconProp object.
525
+ */
526
+ this.icon = freeSolidSvgIcons.faCircle;
527
+ /**
528
+ * Toggles whether an image that has thrown the `onerror` event should show
529
+ * the `defaultIcon` instead.
530
+ */
531
+ this.showDefaultOnError = false;
532
+ this.iconType = 'image-fill';
533
+ }
534
+ IconNotificationComponent.prototype.ngOnInit = function () {
535
+ if (this._elementRef && this._elementRef.nativeElement && this._elementRef.nativeElement.parentElement) {
536
+ this._elementRef.nativeElement.parentElement.style.position = 'relative';
537
+ }
538
+ };
539
+ return IconNotificationComponent;
540
+ }());
541
+ IconNotificationComponent.decorators = [
542
+ { type: core.Component, args: [{
543
+ selector: 'seam-icon-notification',
544
+ template: "\n <seam-icon *ngIf=\"icon && !hidden\" [@counterChange]=\"count\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n [iconClass]=\"iconClass\"\n [icon]=\"icon\"\n [size]=\"size\"\n [showDefaultOnError]=\"showDefaultOnError\"\n [iconType]=\"iconType\">\n </seam-icon>\n <ng-content select=\".sr-only\"></ng-content>\n ",
545
+ // tslint:disable-next-line:use-host-property-decorator
546
+ host: {
547
+ '[attr.aria-disabled]': 'disabled.toString()',
548
+ '[attr.disabled]': 'disabled || null',
549
+ },
550
+ animations: [
551
+ animations.trigger('counterChange', [
552
+ animations.transition(':increment', animations.useAnimation(pulseAnimation, {
553
+ params: {
554
+ timings: '400ms ease-in-out',
555
+ scale: 1.2
556
+ }
557
+ }))
558
+ ])
559
+ ],
560
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
561
+ styles: ["\n :host {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n }\n\n seam-icon {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 25% !important;\n height: 25% !important;\n min-width: 15px;\n min-height: 15px;\n }\n "]
562
+ },] }
563
+ ];
564
+ IconNotificationComponent.ctorParameters = function () { return [
565
+ { type: core.ElementRef }
566
+ ]; };
567
+ IconNotificationComponent.propDecorators = {
568
+ count: [{ type: core.Input }],
569
+ hidden: [{ type: core.Input }],
570
+ grayscaleOnDisable: [{ type: core.Input }],
571
+ disabled: [{ type: core.Input }],
572
+ iconClass: [{ type: core.Input }],
573
+ icon: [{ type: core.Input }],
574
+ showDefaultOnError: [{ type: core.Input }],
575
+ size: [{ type: core.Input }],
576
+ iconType: [{ type: core.Input }]
577
+ };
578
+ __decorate([
579
+ core$1.InputBoolean()
580
+ ], IconNotificationComponent.prototype, "hidden", void 0);
581
+ __decorate([
582
+ core$1.InputBoolean()
583
+ ], IconNotificationComponent.prototype, "grayscaleOnDisable", void 0);
584
+ __decorate([
585
+ core$1.InputBoolean()
586
+ ], IconNotificationComponent.prototype, "disabled", void 0);
587
+ __decorate([
588
+ core$1.InputBoolean()
589
+ ], IconNotificationComponent.prototype, "showDefaultOnError", void 0);
590
+
591
+ //
592
+ // TODO: Ensure all inputs correctly update the state whenever changed, not just
593
+ // on initial load.
594
+ //
595
+ // Browsers that do not support css grayscale filter.
596
+ var needToFix = /(MSIE 10)|(Trident.*rv:11\.0)|( Edge\/[\d\.]+$)/.test(navigator.userAgent);
597
+ var IconComponent = /** @class */ (function () {
598
+ function IconComponent() {
599
+ this.needToFix = needToFix;
600
+ /** Toggles whether the img/icon will attempt to be grayscale when disabled is true. */
601
+ this.grayscaleOnDisable = true;
602
+ /** Toggles the img/icon to grayscale if `grayscaleOnDisable` is true. */
603
+ this.disabled = false;
604
+ this._showDefaultOnError = false;
605
+ this._hasError = false;
606
+ }
607
+ Object.defineProperty(IconComponent.prototype, "icon", {
608
+ /**
609
+ * The icon to display.
610
+ *
611
+ * If the input icon is a string an `img` element will be used with icon as `src`.
612
+ * If the input is not a string it will be assumed to be a font-awesome IconProp object.
613
+ */
614
+ get: function () { return this._iconUrl || this._iconObj; },
615
+ set: function (value) {
616
+ if (typeof value === 'string') {
617
+ this._iconUrl = value;
618
+ this._iconObj = undefined;
619
+ }
620
+ else {
621
+ this._iconUrl = undefined;
622
+ this._iconObj = value;
623
+ }
624
+ this._iconUrlBeforeError = undefined;
625
+ this._iconObjBeforeError = undefined;
626
+ if (!this._iconUrl && !this._iconObj) {
627
+ this._iconUrl = this._defaultIconUrl;
628
+ this._iconObj = this._defaultIconObj;
629
+ }
630
+ },
631
+ enumerable: false,
632
+ configurable: true
633
+ });
634
+ Object.defineProperty(IconComponent.prototype, "showDefaultOnError", {
635
+ /**
636
+ * Toggles whether an image that has thrown the `onerror` event should show
637
+ * the `defaultIcon` instead.
638
+ */
639
+ get: function () { return this._showDefaultOnError; },
640
+ set: function (value) {
641
+ this._showDefaultOnError = coercion.coerceBooleanProperty(value);
642
+ if (this._hasError) {
643
+ if (this._iconUrlBeforeError || this._iconObjBeforeError) {
644
+ this._iconUrl = this._iconUrlBeforeError;
645
+ this._iconObj = this._iconObjBeforeError;
646
+ this._iconUrlBeforeError = undefined;
647
+ this._iconObjBeforeError = undefined;
648
+ }
649
+ else if (this._showDefaultOnError) {
650
+ this._iconUrl = this._defaultIconUrl;
651
+ this._iconObj = this._defaultIconObj;
652
+ }
653
+ }
654
+ },
655
+ enumerable: false,
656
+ configurable: true
657
+ });
658
+ Object.defineProperty(IconComponent.prototype, "defaultIcon", {
659
+ /**
660
+ * Shown if icon is not set or if showDefaultOnError is true and img has thrown an error.
661
+ */
662
+ get: function () { return this._defaultIconUrl || this._defaultIconObj; },
663
+ set: function (value) {
664
+ if (typeof value === 'string') {
665
+ this._defaultIconUrl = value;
666
+ this._defaultIconObj = undefined;
667
+ }
668
+ else {
669
+ this._defaultIconUrl = undefined;
670
+ this._defaultIconObj = value;
671
+ }
672
+ if (!this._defaultIconUrl && !this._defaultIconObj) {
673
+ this._iconUrl = this._iconUrlBeforeError;
674
+ this._iconObj = this._iconObjBeforeError;
675
+ }
676
+ if (!this._iconUrl && !this._iconObj) {
677
+ this._iconUrl = this._defaultIconUrl;
678
+ this._iconObj = this._defaultIconObj;
679
+ }
680
+ },
681
+ enumerable: false,
682
+ configurable: true
683
+ });
684
+ Object.defineProperty(IconComponent.prototype, "_iconTypeAttr", {
685
+ get: function () { return this.iconType; },
686
+ enumerable: false,
687
+ configurable: true
688
+ });
689
+ IconComponent.prototype._imgError = function (event) {
690
+ this._hasError = true;
691
+ if (this._showDefaultOnError && (this._defaultIconUrl || this._defaultIconObj)) {
692
+ this._iconUrlBeforeError = this._iconUrl;
693
+ this._iconObjBeforeError = this._iconObj;
694
+ this._iconUrl = this._defaultIconUrl;
695
+ this._iconObj = this._defaultIconObj;
696
+ }
697
+ };
698
+ Object.defineProperty(IconComponent.prototype, "_cssDisabled", {
699
+ get: function () { return this.disabled || null; },
700
+ enumerable: false,
701
+ configurable: true
702
+ });
703
+ Object.defineProperty(IconComponent.prototype, "_cssNoGreyscale", {
704
+ get: function () { return !this.grayscaleOnDisable; },
705
+ enumerable: false,
706
+ configurable: true
707
+ });
708
+ return IconComponent;
709
+ }());
710
+ IconComponent.decorators = [
711
+ { type: core.Component, args: [{
712
+ selector: 'seam-icon',
713
+ template: "<fa-icon *ngIf=\"_iconObj\"\n class=\"seam-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n [size]=\"size || undefined\">\n</fa-icon>\n\n<ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"seam-icon--img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\" (error)=\"_imgError($event)\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"seam-icon--img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\" (error)=\"_imgError($event)\">\n </ng-container>\n</ng-container>\n\n<ng-content select=\".sr-only,seam-icon-notification\"></ng-content>\n",
714
+ styles: [":host{display:inline-block}:host.disabled:not(.no-grayscale),:host:disabled:not(.no-grayscale){filter:grayscale(1)}:host[icon-type=styled-square]{border:1px solid #dee2e6;border-radius:8px}:host[icon-type=borderless-styled-square],:host[icon-type=styled-square]{-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:inline-flex;vertical-align:top}:host[icon-type=borderless-styled-square] img,:host[icon-type=styled-square] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=borderless-styled-square] .seam-icon--fa,:host[icon-type=styled-square] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}:host[icon-type=borderless-styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa,:host[icon-type=styled-square] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}:host[icon-type=image-fill]{max-height:100%;max-width:100%;width:100%;height:100%}:host[icon-type=image-fill] img{max-width:100%;max-height:100%;margin:0 auto}:host[icon-type=image-fill] .seam-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%}:host[icon-type=image-fill] .seam-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}.grey-fix{visibility:hidden;display:block}"]
715
+ },] }
716
+ ];
717
+ IconComponent.propDecorators = {
718
+ grayscaleOnDisable: [{ type: core.Input }],
719
+ disabled: [{ type: core.Input }],
720
+ iconClass: [{ type: core.Input }],
721
+ icon: [{ type: core.Input }],
722
+ size: [{ type: core.Input }],
723
+ showDefaultOnError: [{ type: core.Input }],
724
+ defaultIcon: [{ type: core.Input }],
725
+ iconType: [{ type: core.Input }],
726
+ _iconTypeAttr: [{ type: core.HostBinding, args: ['attr.icon-type',] }],
727
+ _cssDisabled: [{ type: core.HostBinding, args: ['class.disabled',] }],
728
+ _cssNoGreyscale: [{ type: core.HostBinding, args: ['class.no-grayscale',] }]
729
+ };
730
+ __decorate([
731
+ core$1.InputBoolean()
732
+ ], IconComponent.prototype, "grayscaleOnDisable", void 0);
733
+ __decorate([
734
+ core$1.InputBoolean()
735
+ ], IconComponent.prototype, "disabled", void 0);
736
+
737
+ var TheSeamIconModule = /** @class */ (function () {
738
+ function TheSeamIconModule() {
739
+ }
740
+ return TheSeamIconModule;
741
+ }());
742
+ TheSeamIconModule.decorators = [
743
+ { type: core.NgModule, args: [{
744
+ declarations: [
745
+ IconComponent,
746
+ IconBtnComponent,
747
+ IconNotificationComponent
748
+ ],
749
+ imports: [
750
+ common.CommonModule,
751
+ angularFontawesome.FontAwesomeModule
752
+ ],
753
+ exports: [
754
+ IconComponent,
755
+ IconBtnComponent,
756
+ IconNotificationComponent
757
+ ]
758
+ },] }
759
+ ];
760
+
761
+ var FILE_EXTENSION_ICONS = {
762
+ 'pdf': freeRegularSvgIcons.faFilePdf,
763
+ 'doc': freeRegularSvgIcons.faFileWord,
764
+ 'docx': freeRegularSvgIcons.faFileWord,
765
+ 'xls': freeRegularSvgIcons.faFileExcel,
766
+ 'xlsx': freeRegularSvgIcons.faFileExcel,
767
+ 'gif': freeRegularSvgIcons.faFileImage,
768
+ 'jpg': freeRegularSvgIcons.faFileImage,
769
+ 'jpeg': freeRegularSvgIcons.faFileImage,
770
+ 'png': freeRegularSvgIcons.faFileImage,
771
+ 'zip': freeRegularSvgIcons.faFileArchive,
772
+ 'ppt': freeRegularSvgIcons.faFilePowerpoint,
773
+ 'pptx': freeRegularSvgIcons.faFilePowerpoint,
774
+ 'txt': freeRegularSvgIcons.faFileAlt,
775
+ 'json': freeRegularSvgIcons.faFileAlt
776
+ };
777
+ var DEFAULT_FILE_EXTENSION_ICON = freeRegularSvgIcons.faFile;
778
+ function fileExtensionIcon(extension, defaultIfNotFound) {
779
+ if (defaultIfNotFound === void 0) { defaultIfNotFound = true; }
780
+ if (!extension) {
781
+ return defaultIfNotFound ? DEFAULT_FILE_EXTENSION_ICON : undefined;
782
+ }
783
+ var ext = extension;
784
+ if (ext.charAt(0) === '.') {
785
+ ext = ext.substr(1);
786
+ }
787
+ var icon = FILE_EXTENSION_ICONS[ext];
788
+ if (!icon && defaultIfNotFound) {
789
+ return DEFAULT_FILE_EXTENSION_ICON;
790
+ }
791
+ return icon;
792
+ }
793
+
794
+ // TODO: Decide a good way to do this, so that we don't have to import full icon
795
+ // libraries, but still provide icon choices to use from a string. One way could
796
+ // be to define a dictionary of app icons that we can use that map a unique
797
+ // string to an icon definition.
798
+ var knownIcons = {
799
+ 'faAddressCard': freeRegularSvgIcons.faAddressCard,
800
+ 'faBan': freeSolidSvgIcons.faBan,
801
+ 'faBell': freeRegularSvgIcons.faBell,
802
+ 'faBookmark': freeRegularSvgIcons.faBookmark,
803
+ 'faChartLine': freeSolidSvgIcons.faChartLine,
804
+ 'faChartArea': freeSolidSvgIcons.faChartArea,
805
+ 'faChartBar': freeSolidSvgIcons.faChartBar,
806
+ 'faCheck': freeSolidSvgIcons.faCheck,
807
+ 'faCheckCircle': freeRegularSvgIcons.faCheckCircle,
808
+ 'faClock': freeRegularSvgIcons.faClock,
809
+ 'faCloudUploadAlt': freeSolidSvgIcons.faCloudUploadAlt,
810
+ 'faComment': freeRegularSvgIcons.faComment,
811
+ 'faCog': freeSolidSvgIcons.faCog,
812
+ 'faEdit': freeSolidSvgIcons.faEdit,
813
+ 'faEnvelope': freeRegularSvgIcons.faEnvelope,
814
+ 'faEnvelopeOpen': freeRegularSvgIcons.faEnvelopeOpen,
815
+ 'faExclamation': freeSolidSvgIcons.faExclamation,
816
+ 'faExclamationCircle': freeSolidSvgIcons.faExclamationCircle,
817
+ 'faExclamationTriangle': freeSolidSvgIcons.faExclamationTriangle,
818
+ 'faExternalLinkSquareAlt': freeSolidSvgIcons.faExternalLinkSquareAlt,
819
+ 'faFile': freeRegularSvgIcons.faFile,
820
+ 'faFileAlt': freeRegularSvgIcons.faFileAlt,
821
+ 'faFileArchive': freeRegularSvgIcons.faFileArchive,
822
+ 'faFileAudio': freeRegularSvgIcons.faFileAudio,
823
+ 'faFileCode': freeRegularSvgIcons.faFileCode,
824
+ 'faFileContract': freeSolidSvgIcons.faFileContract,
825
+ 'faFileCsv': freeSolidSvgIcons.faFileCsv,
826
+ 'faFileDownload': freeSolidSvgIcons.faFileDownload,
827
+ 'faFileExcel': freeRegularSvgIcons.faFileExcel,
828
+ 'faFileExport': freeSolidSvgIcons.faFileExport,
829
+ 'faFileImage': freeRegularSvgIcons.faFileImage,
830
+ 'faFileImport': freeSolidSvgIcons.faFileImport,
831
+ 'faFileInvoice': freeSolidSvgIcons.faFileInvoice,
832
+ 'faFileInvoiceDollar': freeSolidSvgIcons.faFileInvoiceDollar,
833
+ 'faFileMedical': freeSolidSvgIcons.faFileMedical,
834
+ 'faFileMedicalAlt': freeSolidSvgIcons.faFileMedicalAlt,
835
+ 'faFilePdf': freeRegularSvgIcons.faFilePdf,
836
+ 'faFilePowerpoint': freeRegularSvgIcons.faFilePowerpoint,
837
+ 'faFilePrescription': freeSolidSvgIcons.faFilePrescription,
838
+ 'faFileSignature': freeSolidSvgIcons.faFileSignature,
839
+ 'faFileUpload': freeSolidSvgIcons.faFileUpload,
840
+ 'faFileVideo': freeRegularSvgIcons.faFileVideo,
841
+ 'faFileWord': freeRegularSvgIcons.faFileWord,
842
+ 'faFolder': freeRegularSvgIcons.faFolder,
843
+ 'faFolderOpen': freeRegularSvgIcons.faFolderOpen,
844
+ 'faImage': freeRegularSvgIcons.faImage,
845
+ 'faImages': freeRegularSvgIcons.faImages,
846
+ 'faInbox': freeSolidSvgIcons.faInbox,
847
+ 'faInfoCircle': freeSolidSvgIcons.faInfoCircle,
848
+ 'faLock': freeSolidSvgIcons.faLock,
849
+ 'faLockOpen': freeSolidSvgIcons.faLockOpen,
850
+ 'faPrint': freeSolidSvgIcons.faPrint,
851
+ 'faQuestionCircle': freeRegularSvgIcons.faQuestionCircle,
852
+ 'faReceipt': freeSolidSvgIcons.faReceipt,
853
+ 'faReply': freeSolidSvgIcons.faReply,
854
+ 'faSave': freeRegularSvgIcons.faSave,
855
+ 'faShare': freeSolidSvgIcons.faShare,
856
+ 'faSignature': freeSolidSvgIcons.faSignature,
857
+ 'faStickyNote': freeRegularSvgIcons.faStickyNote,
858
+ 'faTimes': freeSolidSvgIcons.faTimes,
859
+ 'faTimesCircle': freeRegularSvgIcons.faTimesCircle,
860
+ 'faTrash': freeSolidSvgIcons.faTrash,
861
+ 'faTrashAlt': freeRegularSvgIcons.faTrashAlt,
862
+ 'faUser': freeRegularSvgIcons.faUser,
863
+ 'faUserCheck': freeSolidSvgIcons.faUserCheck,
864
+ 'faUserCircle': freeRegularSvgIcons.faUserCircle,
865
+ 'faUserEdit': freeSolidSvgIcons.faUserEdit,
866
+ 'faUserTimes': freeSolidSvgIcons.faUserTimes,
867
+ 'faUsers': freeSolidSvgIcons.faUsers,
868
+ 'faUserPlus': freeSolidSvgIcons.faUserPlus
869
+ };
870
+ function getKnownIcon(iconStr) {
871
+ return knownIcons[iconStr];
872
+ }
873
+
874
+ /**
875
+ * Generated bundle index. Do not edit.
876
+ */
877
+
878
+ exports.DEFAULT_FILE_EXTENSION_ICON = DEFAULT_FILE_EXTENSION_ICON;
879
+ exports.IconBtnComponent = IconBtnComponent;
880
+ exports.IconComponent = IconComponent;
881
+ exports.IconNotificationComponent = IconNotificationComponent;
882
+ exports.TheSeamIconModule = TheSeamIconModule;
883
+ exports.fileExtensionIcon = fileExtensionIcon;
884
+ exports.getKnownIcon = getKnownIcon;
885
+ exports.pulseAnimation = pulseAnimation;
886
+
887
+ Object.defineProperty(exports, '__esModule', { value: true });
888
+
889
+ })));
890
+ //# sourceMappingURL=theseam-ui-common-icon.umd.js.map