@theseam/ui-common 0.4.3 → 0.4.5

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 (424) hide show
  1. package/datatable/models/preferences-accessor.d.ts +3 -15
  2. package/datatable/models/preferences.d.ts +2 -1
  3. package/datatable/services/datatable-preferences.service.d.ts +11 -14
  4. package/datatable/tokens/datatable-preferences-accessor.d.ts +2 -2
  5. package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
  6. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  7. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +3 -3
  8. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
  9. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
  10. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
  11. package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
  12. package/esm2020/buttons/button/button.component.mjs +9 -9
  13. package/esm2020/buttons/buttons.module.mjs +4 -4
  14. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
  15. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +3 -3
  16. package/esm2020/card/card-action/card-action.component.mjs +3 -3
  17. package/esm2020/card/card-body/card-body.component.mjs +3 -3
  18. package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
  19. package/esm2020/card/card-header/card-header.component.mjs +3 -3
  20. package/esm2020/card/card.component.mjs +3 -3
  21. package/esm2020/card/card.module.mjs +4 -4
  22. package/esm2020/carousel/carousel-slide.directive.mjs +3 -3
  23. package/esm2020/carousel/carousel.component.mjs +3 -3
  24. package/esm2020/carousel/carousel.module.mjs +4 -4
  25. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  26. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  27. package/esm2020/confirm-dialog/confirm-click.directive.mjs +3 -3
  28. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  29. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  30. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  31. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  32. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  33. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  34. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  35. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +3 -3
  36. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +3 -3
  37. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +3 -3
  38. package/esm2020/datatable/datatable/datatable.component.mjs +6 -6
  39. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  40. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
  41. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +3 -3
  42. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  43. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
  44. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +3 -3
  45. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  46. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
  47. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +3 -3
  48. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
  49. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
  50. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
  51. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
  52. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
  53. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  54. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
  55. package/esm2020/datatable/datatable.module.mjs +4 -4
  56. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
  57. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +3 -3
  58. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  59. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  60. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  61. package/esm2020/datatable/models/preferences-accessor.mjs +1 -1
  62. package/esm2020/datatable/models/preferences.mjs +1 -1
  63. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
  64. package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
  65. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  66. package/esm2020/datatable/services/datatable-preferences.service.mjs +36 -108
  67. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
  68. package/esm2020/datatable/tokens/datatable-preferences-accessor.mjs +1 -1
  69. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +3 -3
  70. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +3 -3
  71. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +3 -3
  72. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +3 -3
  73. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  74. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +3 -3
  75. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
  76. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
  77. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
  78. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
  79. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
  80. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
  81. package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
  82. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
  83. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
  84. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  85. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
  86. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
  87. package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
  88. package/esm2020/form-field/form-field-error.directive.mjs +3 -3
  89. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  90. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  91. package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
  92. package/esm2020/form-field/form-field.component.mjs +3 -3
  93. package/esm2020/form-field/form-field.module.mjs +4 -4
  94. package/esm2020/form-field/input.directive.mjs +3 -3
  95. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
  96. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
  97. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  98. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +3 -3
  99. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  100. package/esm2020/framework/base-layout/base-layout.component.mjs +3 -3
  101. package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
  102. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  103. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  104. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  105. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +3 -3
  106. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  107. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  108. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  109. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
  110. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
  111. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
  112. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
  113. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +3 -3
  114. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -6
  115. package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
  116. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  117. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
  118. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
  119. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
  120. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  121. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  122. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  123. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  124. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  125. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  126. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  127. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  128. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  129. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
  130. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +3 -3
  131. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
  132. package/esm2020/framework/side-nav/side-nav.component.mjs +3 -3
  133. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  134. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  135. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  136. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  137. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
  138. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  139. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
  140. package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
  141. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  142. package/esm2020/google-maps/google-maps/google-maps.component.mjs +3 -3
  143. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +3 -3
  144. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +3 -3
  145. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  146. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  147. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +3 -3
  148. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +3 -3
  149. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +3 -3
  150. package/esm2020/google-maps/google-maps.module.mjs +4 -4
  151. package/esm2020/google-maps/google-maps.service.mjs +3 -3
  152. package/esm2020/google-maps/map-control.component.mjs +3 -3
  153. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
  154. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  155. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
  156. package/esm2020/icon/icon/icon.component.mjs +3 -3
  157. package/esm2020/icon/icon-btn/icon-btn.component.mjs +3 -3
  158. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  159. package/esm2020/icon/icon.module.mjs +4 -4
  160. package/esm2020/layout/layout.module.mjs +4 -4
  161. package/esm2020/layout/layout.service.mjs +3 -3
  162. package/esm2020/loading/loading/loading.component.mjs +3 -3
  163. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  164. package/esm2020/loading/loading.module.mjs +4 -4
  165. package/esm2020/menu/menu-divider.component.mjs +3 -3
  166. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  167. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +3 -3
  168. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  169. package/esm2020/menu/menu-item.component.mjs +3 -3
  170. package/esm2020/menu/menu-toggle.directive.mjs +3 -3
  171. package/esm2020/menu/menu.component.mjs +3 -3
  172. package/esm2020/menu/menu.module.mjs +4 -4
  173. package/esm2020/modal/directives/modal-close.directive.mjs +3 -3
  174. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  175. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  176. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  177. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  178. package/esm2020/modal/directives/modal.directive.mjs +3 -3
  179. package/esm2020/modal/modal/modal.component.mjs +3 -3
  180. package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
  181. package/esm2020/modal/modal-container/modal-container.component.mjs +3 -3
  182. package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
  183. package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
  184. package/esm2020/modal/modal.module.mjs +4 -4
  185. package/esm2020/modal/modal.service.mjs +3 -3
  186. package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
  187. package/esm2020/popover/popover/popover.component.mjs +3 -3
  188. package/esm2020/popover/popover.directive.mjs +3 -3
  189. package/esm2020/popover/popover.module.mjs +4 -4
  190. package/esm2020/progress/progress-circle/progress-circle.component.mjs +3 -3
  191. package/esm2020/progress/progress.module.mjs +4 -4
  192. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +3 -3
  193. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
  194. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  195. package/esm2020/services/asset-loader.service.mjs +3 -3
  196. package/esm2020/services/font-loader.service.mjs +3 -3
  197. package/esm2020/services/preferences/preferences-accessor.mjs +2 -0
  198. package/esm2020/services/preferences/preferences-manager.service.mjs +69 -0
  199. package/esm2020/services/preferences/preferences-record.mjs +74 -0
  200. package/esm2020/services/preferences/preferences.models.mjs +2 -0
  201. package/esm2020/services/public-api.mjs +5 -1
  202. package/esm2020/services/router-helpers.service.mjs +3 -3
  203. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  204. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  205. package/esm2020/shared/directives/click-outside.directive.mjs +3 -3
  206. package/esm2020/shared/directives/disable-control.directive.mjs +3 -3
  207. package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
  208. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +3 -3
  209. package/esm2020/shared/directives/hover-class.directive.mjs +3 -3
  210. package/esm2020/shared/directives/ng-select-extra.directive.mjs +3 -3
  211. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +3 -3
  212. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  213. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  214. package/esm2020/shared/shared.module.mjs +4 -4
  215. package/esm2020/storage/local-storage.service.mjs +3 -3
  216. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  217. package/esm2020/story-helpers/public-api.mjs +2 -1
  218. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  219. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  220. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  221. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  222. package/esm2020/story-helpers/story-modal-container.component.mjs +3 -3
  223. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +34 -0
  224. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  225. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
  226. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
  227. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
  228. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
  229. package/esm2020/tabbed/tabbed.component.mjs +3 -3
  230. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  231. package/esm2020/tabbed/tabbed.service.mjs +3 -3
  232. package/esm2020/table/table/table.component.mjs +3 -3
  233. package/esm2020/table/table.module.mjs +4 -4
  234. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
  235. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
  236. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  237. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
  238. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
  239. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
  240. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +3 -3
  241. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
  242. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +3 -3
  243. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
  244. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
  245. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -3
  246. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  247. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  248. package/esm2020/tel-input/tel-input/tel-input.component.mjs +3 -3
  249. package/esm2020/tel-input/tel-input.directive.mjs +3 -3
  250. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  251. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +3 -3
  252. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +3 -3
  253. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +3 -3
  254. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  255. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  256. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  257. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  258. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
  259. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  260. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  261. package/esm2020/toggle-edit/toggle-edit.component.mjs +3 -3
  262. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  263. package/esm2020/toggle-group/toggle-group-option.directive.mjs +3 -3
  264. package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
  265. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  266. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
  267. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
  268. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
  269. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  270. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +3 -3
  271. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +3 -3
  272. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  273. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +3 -3
  274. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
  275. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +3 -3
  276. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  277. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +3 -3
  278. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  279. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  280. package/esm2020/widget/preferences/widget-preferences.models.mjs +5 -0
  281. package/esm2020/widget/preferences/widget-preferences.service.mjs +78 -0
  282. package/esm2020/widget/preferences/widget-preferences.token.mjs +3 -0
  283. package/esm2020/widget/widget/widget.component.mjs +69 -32
  284. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
  285. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  286. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
  287. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  288. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  289. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  290. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +3 -3
  291. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  292. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
  293. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  294. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
  295. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  296. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
  297. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  298. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  299. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
  300. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
  301. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  302. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
  303. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  304. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
  305. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +3 -3
  306. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
  307. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
  308. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +6 -6
  309. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
  310. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
  311. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  312. package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
  313. package/esm2020/widget/widget-registry.service.mjs +3 -3
  314. package/esm2020/widget/widget-token.mjs +2 -1
  315. package/esm2020/widget/widget.module.mjs +4 -4
  316. package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
  317. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
  318. package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
  319. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  320. package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
  321. package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
  322. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
  323. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  324. package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
  325. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +25 -25
  326. package/fesm2015/theseam-ui-common-datatable.mjs +124 -195
  327. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  328. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  329. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  330. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  331. package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
  332. package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
  333. package/fesm2015/theseam-ui-common-framework.mjs +142 -136
  334. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  335. package/fesm2015/theseam-ui-common-google-maps.mjs +40 -40
  336. package/fesm2015/theseam-ui-common-graphql.mjs +3 -3
  337. package/fesm2015/theseam-ui-common-icon.mjs +13 -13
  338. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  339. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  340. package/fesm2015/theseam-ui-common-menu.mjs +25 -25
  341. package/fesm2015/theseam-ui-common-modal.mjs +43 -43
  342. package/fesm2015/theseam-ui-common-popover.mjs +10 -10
  343. package/fesm2015/theseam-ui-common-progress.mjs +7 -7
  344. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
  345. package/fesm2015/theseam-ui-common-services.mjs +153 -17
  346. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  347. package/fesm2015/theseam-ui-common-shared.mjs +37 -37
  348. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  349. package/fesm2015/theseam-ui-common-story-helpers.mjs +55 -24
  350. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  351. package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
  352. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  353. package/fesm2015/theseam-ui-common-table-cell-types.mjs +31 -31
  354. package/fesm2015/theseam-ui-common-table.mjs +7 -7
  355. package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
  356. package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
  357. package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
  358. package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
  359. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  360. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
  361. package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
  362. package/fesm2015/theseam-ui-common-widget.mjs +281 -165
  363. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  364. package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
  365. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
  366. package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
  367. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  368. package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
  369. package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
  370. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
  371. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  372. package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
  373. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +25 -25
  374. package/fesm2020/theseam-ui-common-datatable.mjs +124 -195
  375. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  376. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  377. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  378. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  379. package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
  380. package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
  381. package/fesm2020/theseam-ui-common-framework.mjs +141 -136
  382. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  383. package/fesm2020/theseam-ui-common-google-maps.mjs +40 -40
  384. package/fesm2020/theseam-ui-common-graphql.mjs +3 -3
  385. package/fesm2020/theseam-ui-common-icon.mjs +13 -13
  386. package/fesm2020/theseam-ui-common-layout.mjs +7 -7
  387. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  388. package/fesm2020/theseam-ui-common-menu.mjs +25 -25
  389. package/fesm2020/theseam-ui-common-modal.mjs +43 -43
  390. package/fesm2020/theseam-ui-common-popover.mjs +10 -10
  391. package/fesm2020/theseam-ui-common-progress.mjs +7 -7
  392. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
  393. package/fesm2020/theseam-ui-common-services.mjs +153 -17
  394. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  395. package/fesm2020/theseam-ui-common-shared.mjs +37 -37
  396. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  397. package/fesm2020/theseam-ui-common-story-helpers.mjs +55 -24
  398. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  399. package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
  400. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  401. package/fesm2020/theseam-ui-common-table-cell-types.mjs +31 -31
  402. package/fesm2020/theseam-ui-common-table.mjs +7 -7
  403. package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
  404. package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
  405. package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
  406. package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
  407. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  408. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
  409. package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
  410. package/fesm2020/theseam-ui-common-widget.mjs +277 -165
  411. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  412. package/package.json +2 -2
  413. package/services/preferences/preferences-accessor.d.ts +15 -0
  414. package/services/preferences/preferences-manager.service.d.ts +15 -0
  415. package/services/preferences/preferences-record.d.ts +28 -0
  416. package/services/preferences/preferences.models.d.ts +3 -0
  417. package/services/public-api.d.ts +4 -0
  418. package/story-helpers/public-api.d.ts +1 -0
  419. package/story-helpers/story-preferences-accessor.service.d.ts +19 -0
  420. package/widget/preferences/widget-preferences.models.d.ts +8 -0
  421. package/widget/preferences/widget-preferences.service.d.ts +21 -0
  422. package/widget/preferences/widget-preferences.token.d.ts +3 -0
  423. package/widget/widget/widget.component.d.ts +10 -2
  424. package/widget/widget-token.d.ts +1 -0
@@ -86,9 +86,9 @@ class OverlayScrollbarsService {
86
86
  return element.nodeName.toLowerCase() === 'textarea';
87
87
  }
88
88
  }
89
- OverlayScrollbarsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverlayScrollbarsService, deps: [{ token: i0.NgZone }, { token: i0.Injector }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
90
- OverlayScrollbarsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverlayScrollbarsService, providedIn: 'root' });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverlayScrollbarsService, decorators: [{
89
+ OverlayScrollbarsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OverlayScrollbarsService, deps: [{ token: i0.NgZone }, { token: i0.Injector }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
90
+ OverlayScrollbarsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OverlayScrollbarsService, providedIn: 'root' });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OverlayScrollbarsService, decorators: [{
92
92
  type: Injectable,
93
93
  args: [{
94
94
  providedIn: 'root'
@@ -137,9 +137,9 @@ class OverlayScrollbarDirective {
137
137
  return this._scrollbars.getInstance(this._ref.nativeElement);
138
138
  }
139
139
  }
140
- OverlayScrollbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverlayScrollbarDirective, deps: [{ token: i0.ElementRef }, { token: OverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Directive });
141
- OverlayScrollbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: { seamOverlayScrollbar: "seamOverlayScrollbar", overlayScrollbarEnabled: "overlayScrollbarEnabled" }, exportAs: ["seamOverlayScrollbar"], ngImport: i0 });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverlayScrollbarDirective, decorators: [{
140
+ OverlayScrollbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OverlayScrollbarDirective, deps: [{ token: i0.ElementRef }, { token: OverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Directive });
141
+ OverlayScrollbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: { seamOverlayScrollbar: "seamOverlayScrollbar", overlayScrollbarEnabled: "overlayScrollbarEnabled" }, exportAs: ["seamOverlayScrollbar"], ngImport: i0 });
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OverlayScrollbarDirective, decorators: [{
143
143
  type: Directive,
144
144
  args: [{
145
145
  selector: '[seamOverlayScrollbar]',
@@ -153,12 +153,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
153
153
 
154
154
  class TheSeamScrollbarModule {
155
155
  }
156
- TheSeamScrollbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
157
- TheSeamScrollbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamScrollbarModule, declarations: [OverlayScrollbarDirective], imports: [PlatformModule], exports: [OverlayScrollbarDirective] });
158
- TheSeamScrollbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamScrollbarModule, providers: [
156
+ TheSeamScrollbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
157
+ TheSeamScrollbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamScrollbarModule, declarations: [OverlayScrollbarDirective], imports: [PlatformModule], exports: [OverlayScrollbarDirective] });
158
+ TheSeamScrollbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamScrollbarModule, providers: [
159
159
  { provide: LIB_OVERLAY_SCROLLBARS_CONFIG, useValue: _OverlayScrollbarDefaults }
160
160
  ], imports: [PlatformModule] });
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamScrollbarModule, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamScrollbarModule, decorators: [{
162
162
  type: NgModule,
163
163
  args: [{
164
164
  declarations: [
@@ -1,12 +1,148 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
- import { defer, Observable } from 'rxjs';
4
- import { map, filter, startWith } from 'rxjs/operators';
5
- import { loadStyleSheet, loadStyle, hasProperty } from '@theseam/ui-common/utils';
2
+ import { isDevMode, Injectable } from '@angular/core';
3
+ import { Subject, of, startWith, switchMap, map, tap, shareReplay, defer, Observable } from 'rxjs';
4
+ import { notNullOrUndefined, loadStyleSheet, loadStyle, hasProperty } from '@theseam/ui-common/utils';
5
+ import { map as map$1, filter, startWith as startWith$1 } from 'rxjs/operators';
6
6
  import * as i1 from '@angular/router';
7
7
  import { NavigationEnd } from '@angular/router';
8
8
  import WebFont from 'webfontloader';
9
9
 
10
+ class TheSeamPreferencesMapRecord {
11
+ constructor(_key, _accessor, _emptyPrefs) {
12
+ this._key = _key;
13
+ this._accessor = _accessor;
14
+ this._emptyPrefs = _emptyPrefs;
15
+ this._refreshSubject = new Subject();
16
+ this._statusChangeSubject = new Subject();
17
+ this._status = 'pending';
18
+ this.observable = this._createObservable();
19
+ this.statusChange = this._statusChangeSubject.asObservable();
20
+ }
21
+ _createObservable() {
22
+ if (!this._accessor) {
23
+ return of(this._emptyPrefs);
24
+ }
25
+ const accessor = (key) => this._accessor ? this._accessor.get(key) : of(JSON.stringify(this._emptyPrefs));
26
+ return this._refreshSubject.pipe(startWith(undefined), switchMap(() => accessor(this._key).pipe(map(v => {
27
+ if (!v) {
28
+ return null;
29
+ }
30
+ // TODO: Add a schema validator and migration tool to avoid parsing issues.
31
+ try {
32
+ return this._descerializePreferences(v);
33
+ }
34
+ catch (error) {
35
+ if (isDevMode()) {
36
+ // eslint-disable-next-line no-console
37
+ console.error(error);
38
+ }
39
+ return null;
40
+ }
41
+ }), map(v => notNullOrUndefined(v) ? v : this._emptyPrefs),
42
+ // tap(v => console.log('preferences$', v)),
43
+ tap(() => {
44
+ this._setStatus('loaded');
45
+ }))), shareReplay({ bufferSize: 1, refCount: true }));
46
+ }
47
+ update(value) {
48
+ this._accessor.update(this._key, JSON.stringify(value));
49
+ }
50
+ delete() {
51
+ this._accessor.delete(this._key);
52
+ }
53
+ refresh() {
54
+ this._setStatus('pending');
55
+ this._refreshSubject.next();
56
+ }
57
+ isSameAccessor(accessor) {
58
+ return this._accessor === accessor;
59
+ }
60
+ isSameEmptyPrefs(emptyPrefs) {
61
+ return JSON.stringify(this._emptyPrefs) === JSON.stringify(emptyPrefs);
62
+ }
63
+ get status() {
64
+ return this._status;
65
+ }
66
+ _setStatus(status) {
67
+ if (this._status === status) {
68
+ return;
69
+ }
70
+ const prev = this._status;
71
+ this._status = status;
72
+ this._statusChangeSubject.next({ previous: prev, current: status });
73
+ }
74
+ _descerializePreferences(serialized) {
75
+ const prefs = JSON.parse(serialized);
76
+ // TODO: Implement migration
77
+ return prefs;
78
+ }
79
+ }
80
+
81
+ class TheSeamPreferencesManagerService {
82
+ constructor() {
83
+ this._tablePrefsMap = new Map();
84
+ }
85
+ preferences(preferenceKey, accessor, emptyPrefs) {
86
+ let prefs = this._tablePrefsMap.get(preferenceKey);
87
+ if (prefs && !prefs.isSameAccessor(accessor)) {
88
+ throw Error(`Preferences accessor mismatch for key '${preferenceKey}'. Changing the accessor is not supported.`);
89
+ }
90
+ if (prefs && !prefs.isSameEmptyPrefs(emptyPrefs)) {
91
+ throw Error(`Preferences emptyPrefs mismatch for key '${preferenceKey}'. Changing the emptyPrefs is not supported.`);
92
+ }
93
+ if (!prefs) {
94
+ prefs = new TheSeamPreferencesMapRecord(preferenceKey, accessor, emptyPrefs);
95
+ this._tablePrefsMap.set(preferenceKey, prefs);
96
+ }
97
+ return prefs.observable.pipe(map(v => {
98
+ // This is for assuming the accessor returned an empty object, as a
99
+ // default for a missing preference. Instead of throwing an error, we
100
+ // return a valid empty preferences.
101
+ //
102
+ // NOTE: May remove this, when a more generic preferences implementation
103
+ // is finished.
104
+ if (Object.keys(v).length === 0) {
105
+ return emptyPrefs;
106
+ }
107
+ return v;
108
+ }));
109
+ }
110
+ update(preferenceKey, value) {
111
+ const prefs = this._tablePrefsMap.get(preferenceKey);
112
+ if (prefs) {
113
+ prefs.update(value);
114
+ }
115
+ }
116
+ delete(preferenceKey) {
117
+ const prefs = this._tablePrefsMap.get(preferenceKey);
118
+ if (prefs) {
119
+ prefs.delete();
120
+ }
121
+ }
122
+ refresh(preferenceKey) {
123
+ const prefs = this._tablePrefsMap.get(preferenceKey);
124
+ if (prefs) {
125
+ prefs.refresh();
126
+ }
127
+ }
128
+ isPending(preferenceKey) {
129
+ const prefs = this._tablePrefsMap.get(preferenceKey);
130
+ return prefs ? prefs.status === 'pending' : false;
131
+ }
132
+ isLoaded(preferenceKey) {
133
+ const prefs = this._tablePrefsMap.get(preferenceKey);
134
+ return prefs ? prefs.status === 'loaded' : false;
135
+ }
136
+ }
137
+ TheSeamPreferencesManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamPreferencesManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
138
+ TheSeamPreferencesManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamPreferencesManagerService, providedIn: 'root' });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamPreferencesManagerService, decorators: [{
140
+ type: Injectable,
141
+ args: [{
142
+ providedIn: 'root'
143
+ }]
144
+ }] });
145
+
10
146
  class LoadedAssetRef {
11
147
  constructor(nativeElement, path, content) {
12
148
  this.nativeElement = nativeElement;
@@ -20,15 +156,15 @@ class LoadedAssetRef {
20
156
  }
21
157
  class AssetLoaderService {
22
158
  loadStyleSheet(path) {
23
- return defer(() => loadStyleSheet(path)).pipe(map(v => new LoadedAssetRef(v, path)));
159
+ return defer(() => loadStyleSheet(path)).pipe(map$1(v => new LoadedAssetRef(v, path)));
24
160
  }
25
161
  loadStyle(content) {
26
- return defer(() => loadStyle(content)).pipe(map(v => new LoadedAssetRef(v, undefined, content)));
162
+ return defer(() => loadStyle(content)).pipe(map$1(v => new LoadedAssetRef(v, undefined, content)));
27
163
  }
28
164
  }
29
- AssetLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- AssetLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetLoaderService, providedIn: 'root' });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetLoaderService, decorators: [{
165
+ AssetLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AssetLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
+ AssetLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AssetLoaderService, providedIn: 'root' });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AssetLoaderService, decorators: [{
32
168
  type: Injectable,
33
169
  args: [{
34
170
  providedIn: 'root'
@@ -43,12 +179,12 @@ class RouterHelpersService {
43
179
  const opts = exact
44
180
  ? { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }
45
181
  : { paths: 'subset', queryParams: 'subset', fragment: 'ignored', matrixParams: 'ignored' };
46
- return this._router.events.pipe(filter(event => event instanceof NavigationEnd), map(event => this._router.isActive(url, opts)), startWith(this._router.isActive(url, opts)));
182
+ return this._router.events.pipe(filter(event => event instanceof NavigationEnd), map$1(event => this._router.isActive(url, opts)), startWith$1(this._router.isActive(url, opts)));
47
183
  }
48
184
  }
49
- RouterHelpersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RouterHelpersService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
50
- RouterHelpersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RouterHelpersService, providedIn: 'root' });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RouterHelpersService, decorators: [{
185
+ RouterHelpersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RouterHelpersService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
186
+ RouterHelpersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RouterHelpersService, providedIn: 'root' });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RouterHelpersService, decorators: [{
52
188
  type: Injectable,
53
189
  args: [{
54
190
  providedIn: 'root'
@@ -122,9 +258,9 @@ class TheSeamFontLoaderService {
122
258
  });
123
259
  }
124
260
  }
125
- TheSeamFontLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFontLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
- TheSeamFontLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFontLoaderService, providedIn: 'root' });
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFontLoaderService, decorators: [{
261
+ TheSeamFontLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamFontLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
262
+ TheSeamFontLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamFontLoaderService, providedIn: 'root' });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamFontLoaderService, decorators: [{
128
264
  type: Injectable,
129
265
  args: [{
130
266
  providedIn: 'root'
@@ -135,5 +271,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
135
271
  * Generated bundle index. Do not edit.
136
272
  */
137
273
 
138
- export { AssetLoaderService, LoadedAssetRef, RouterHelpersService, TheSeamFontLoaderService };
274
+ export { AssetLoaderService, LoadedAssetRef, RouterHelpersService, TheSeamFontLoaderService, TheSeamPreferencesManagerService, TheSeamPreferencesMapRecord };
139
275
  //# sourceMappingURL=theseam-ui-common-services.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-services.mjs","sources":["../../../projects/ui-common/services/asset-loader.service.ts","../../../projects/ui-common/services/router-helpers.service.ts","../../../projects/ui-common/services/font-loader.service.ts","../../../projects/ui-common/services/theseam-ui-common-services.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { defer, Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { loadStyle, loadStyleSheet } from '@theseam/ui-common/utils'\n\nexport class LoadedAssetRef<T extends HTMLLinkElement | HTMLScriptElement | HTMLStyleElement> {\n\n constructor(\n public readonly nativeElement: T,\n public readonly path?: string,\n public readonly content?: string\n ) {\n\n }\n\n public destroy(): void {\n this.nativeElement.parentElement?.removeChild(this.nativeElement)\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetLoaderService {\n\n public loadStyleSheet(path: string): Observable<LoadedAssetRef<HTMLLinkElement>> {\n return defer(() => loadStyleSheet(path)).pipe(map(v => new LoadedAssetRef(v, path)))\n }\n\n public loadStyle(content: string): Observable<LoadedAssetRef<HTMLStyleElement>> {\n return defer(() => loadStyle(content)).pipe(map(v => new LoadedAssetRef(v, undefined, content)))\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { IsActiveMatchOptions, NavigationEnd, Router, UrlTree } from '@angular/router'\nimport { Observable } from 'rxjs'\nimport { filter, map, startWith } from 'rxjs/operators'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouterHelpersService {\n\n constructor(\n private _router: Router\n ) { }\n\n public isActive(url: string | UrlTree, exact: boolean): Observable<boolean> {\n const opts: IsActiveMatchOptions = exact\n ? { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }\n : { paths: 'subset', queryParams: 'subset', fragment: 'ignored', matrixParams: 'ignored' }\n\n return this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(event => this._router.isActive(url, opts)),\n startWith(this._router.isActive(url, opts))\n )\n }\n}\n","import { Injectable } from '@angular/core'\n\nimport { Observable, Subscriber } from 'rxjs'\nimport WebFont from 'webfontloader'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nexport type TheSeamFontEvents =\n { type: 'loading' } |\n { type: 'active' } |\n { type: 'inactive' } |\n { type: 'fontloading', familyName: string, fvd: string } |\n { type: 'fontactive', familyName: string, fvd: string } |\n { type: 'fontinactive', familyName: string, fvd: string }\n\n/**\n * Service to help loading fonts.\n *\n * Currently this is just a wrapper for the parts of webfontloader that we need.\n * Eventually this should be generic enough that we can switch loaders without\n * config differences being confusing.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamFontLoaderService {\n\n /**\n * Since this method is just a wrapper for webfontloader right now it accepts\n * anything webfontloader's config accepts, so the event callbacks can still\n * be used, but you should us the emitted objects instead. If we decide to\n * support other font loaders then the event callbacks will most likely be\n * removed.\n *\n * NOTE: If you need to use the events callbacks for some reason, this\n * method's returned observable will still need to be subscribed to, because\n * it doesn't start till subscribed to.\n */\n public load(config: WebFont.Config): Observable<TheSeamFontEvents> {\n return new Observable((subscriber: Subscriber<TheSeamFontEvents>) => {\n WebFont.load({\n ...config,\n /** This event is triggered when all fonts have been requested. */\n loading: () => {\n if (hasProperty(config, 'loading')) {\n config.loading()\n }\n subscriber.next({ type: 'loading' })\n },\n /** This event is triggered when the fonts have rendered. */\n active: () => {\n if (hasProperty(config, 'active')) {\n config.active()\n }\n subscriber.next({ type: 'active' })\n },\n /** This event is triggered when the browser does not support linked fonts or if none of the fonts could be loaded. */\n inactive: () => {\n if (hasProperty(config, 'inactive')) {\n config.inactive()\n }\n subscriber.next({ type: 'inactive' })\n },\n /** This event is triggered once for each font that's loaded. */\n fontloading: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontloading')) {\n config.fontloading(familyName, fvd)\n }\n subscriber.next({ type: 'fontloading', familyName, fvd })\n },\n /** This event is triggered once for each font that renders. */\n fontactive: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontactive')) {\n config.fontactive(familyName, fvd)\n }\n subscriber.next({ type: 'fontactive', familyName, fvd })\n },\n /** This event is triggered if the font can't be loaded. */\n fontinactive: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontinactive')) {\n config.fontinactive(familyName, fvd)\n }\n subscriber.next({ type: 'fontinactive', familyName, fvd })\n },\n })\n })\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-services.mjs","sources":["../../../projects/ui-common/services/preferences/preferences-record.ts","../../../projects/ui-common/services/preferences/preferences-manager.service.ts","../../../projects/ui-common/services/asset-loader.service.ts","../../../projects/ui-common/services/router-helpers.service.ts","../../../projects/ui-common/services/font-loader.service.ts","../../../projects/ui-common/services/theseam-ui-common-services.ts"],"sourcesContent":["import { isDevMode } from '@angular/core'\r\nimport { map, Observable, of, shareReplay, startWith, Subject, switchMap, tap } from 'rxjs'\r\n\r\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\r\n\r\nimport { TheSeamPreferencesAccessor } from './preferences-accessor'\r\nimport { TheSeamPreferencesBase } from './preferences.models'\r\n\r\nexport type TheSeamPreferencesRecordStatus = 'pending' | 'loaded'\r\n\r\nexport interface TheSeamPreferencesRecordStatusChange {\r\n previous: TheSeamPreferencesRecordStatus\r\n current: TheSeamPreferencesRecordStatus\r\n}\r\n\r\nexport class TheSeamPreferencesMapRecord {\r\n\r\n private readonly _refreshSubject = new Subject<void>()\r\n private readonly _statusChangeSubject = new Subject<TheSeamPreferencesRecordStatusChange>()\r\n\r\n private _status: TheSeamPreferencesRecordStatus = 'pending'\r\n\r\n public readonly observable: Observable<TheSeamPreferencesBase>\r\n public readonly statusChange: Observable<TheSeamPreferencesRecordStatusChange>\r\n\r\n constructor(\r\n private readonly _key: string,\r\n private readonly _accessor: TheSeamPreferencesAccessor,\r\n private readonly _emptyPrefs: TheSeamPreferencesBase,\r\n ) {\r\n this.observable = this._createObservable()\r\n this.statusChange = this._statusChangeSubject.asObservable()\r\n }\r\n\r\n private _createObservable(): Observable<TheSeamPreferencesBase> {\r\n if (!this._accessor) {\r\n return of(this._emptyPrefs)\r\n }\r\n\r\n const accessor = (key: string): Observable<string> =>\r\n this._accessor ? this._accessor.get(key) : of(JSON.stringify(this._emptyPrefs))\r\n\r\n return this._refreshSubject.pipe(\r\n startWith(undefined),\r\n switchMap(() => accessor(this._key).pipe(\r\n map(v => {\r\n if (!v) {\r\n return null\r\n }\r\n\r\n // TODO: Add a schema validator and migration tool to avoid parsing issues.\r\n try {\r\n return this._descerializePreferences(v)\r\n } catch (error) {\r\n if (isDevMode()) {\r\n // eslint-disable-next-line no-console\r\n console.error(error)\r\n }\r\n return null\r\n }\r\n }),\r\n map(v => notNullOrUndefined(v) ? v : this._emptyPrefs),\r\n // tap(v => console.log('preferences$', v)),\r\n tap(() => {\r\n this._setStatus('loaded')\r\n })\r\n )),\r\n shareReplay({ bufferSize: 1, refCount: true }),\r\n )\r\n }\r\n\r\n public update(value: TheSeamPreferencesBase): void {\r\n this._accessor.update(this._key, JSON.stringify(value))\r\n }\r\n\r\n public delete(): void {\r\n this._accessor.delete(this._key)\r\n }\r\n\r\n public refresh(): void {\r\n this._setStatus('pending')\r\n this._refreshSubject.next()\r\n }\r\n\r\n public isSameAccessor(accessor: TheSeamPreferencesAccessor): boolean {\r\n return this._accessor === accessor\r\n }\r\n\r\n public isSameEmptyPrefs(emptyPrefs: TheSeamPreferencesBase): boolean {\r\n return JSON.stringify(this._emptyPrefs) === JSON.stringify(emptyPrefs)\r\n }\r\n\r\n get status(): TheSeamPreferencesRecordStatus {\r\n return this._status\r\n }\r\n\r\n private _setStatus(status: TheSeamPreferencesRecordStatus): void {\r\n if (this._status === status) {\r\n return\r\n }\r\n const prev = this._status\r\n this._status = status\r\n this._statusChangeSubject.next({ previous: prev, current: status })\r\n }\r\n\r\n private _descerializePreferences(serialized: string): TheSeamPreferencesBase {\r\n const prefs = JSON.parse(serialized)\r\n\r\n // TODO: Implement migration\r\n\r\n return prefs\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { map, Observable } from 'rxjs'\r\n\r\nimport { TheSeamPreferencesBase } from './preferences.models'\r\nimport { TheSeamPreferencesAccessor } from './preferences-accessor'\r\nimport { TheSeamPreferencesMapRecord } from './preferences-record'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TheSeamPreferencesManagerService {\r\n\r\n private readonly _tablePrefsMap = new Map<string, TheSeamPreferencesMapRecord>()\r\n\r\n public preferences(\r\n preferenceKey: string,\r\n accessor: TheSeamPreferencesAccessor,\r\n emptyPrefs: TheSeamPreferencesBase,\r\n ): Observable<TheSeamPreferencesBase> {\r\n let prefs = this._tablePrefsMap.get(preferenceKey)\r\n\r\n if (prefs && !prefs.isSameAccessor(accessor)) {\r\n throw Error(`Preferences accessor mismatch for key '${preferenceKey}'. Changing the accessor is not supported.`)\r\n }\r\n\r\n if (prefs && !prefs.isSameEmptyPrefs(emptyPrefs)) {\r\n throw Error(`Preferences emptyPrefs mismatch for key '${preferenceKey}'. Changing the emptyPrefs is not supported.`)\r\n }\r\n\r\n if (!prefs) {\r\n prefs = new TheSeamPreferencesMapRecord(preferenceKey, accessor, emptyPrefs)\r\n this._tablePrefsMap.set(preferenceKey, prefs)\r\n }\r\n return prefs.observable.pipe(\r\n map(v => {\r\n // This is for assuming the accessor returned an empty object, as a\r\n // default for a missing preference. Instead of throwing an error, we\r\n // return a valid empty preferences.\r\n //\r\n // NOTE: May remove this, when a more generic preferences implementation\r\n // is finished.\r\n if (Object.keys(v).length === 0) {\r\n return emptyPrefs\r\n }\r\n\r\n return v\r\n }),\r\n )\r\n }\r\n\r\n public update(preferenceKey: string, value: TheSeamPreferencesBase): void {\r\n const prefs = this._tablePrefsMap.get(preferenceKey)\r\n if (prefs) {\r\n prefs.update(value)\r\n }\r\n }\r\n\r\n public delete(preferenceKey: string): void {\r\n const prefs = this._tablePrefsMap.get(preferenceKey)\r\n if (prefs) {\r\n prefs.delete()\r\n }\r\n }\r\n\r\n public refresh(preferenceKey: string): void {\r\n const prefs = this._tablePrefsMap.get(preferenceKey)\r\n if (prefs) {\r\n prefs.refresh()\r\n }\r\n }\r\n\r\n public isPending(preferenceKey: string): boolean {\r\n const prefs = this._tablePrefsMap.get(preferenceKey)\r\n return prefs ? prefs.status === 'pending' : false\r\n }\r\n\r\n public isLoaded(preferenceKey: string): boolean {\r\n const prefs = this._tablePrefsMap.get(preferenceKey)\r\n return prefs ? prefs.status === 'loaded' : false\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\nimport { defer, Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { loadStyle, loadStyleSheet } from '@theseam/ui-common/utils'\n\nexport class LoadedAssetRef<T extends HTMLLinkElement | HTMLScriptElement | HTMLStyleElement> {\n\n constructor(\n public readonly nativeElement: T,\n public readonly path?: string,\n public readonly content?: string\n ) {\n\n }\n\n public destroy(): void {\n this.nativeElement.parentElement?.removeChild(this.nativeElement)\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetLoaderService {\n\n public loadStyleSheet(path: string): Observable<LoadedAssetRef<HTMLLinkElement>> {\n return defer(() => loadStyleSheet(path)).pipe(map(v => new LoadedAssetRef(v, path)))\n }\n\n public loadStyle(content: string): Observable<LoadedAssetRef<HTMLStyleElement>> {\n return defer(() => loadStyle(content)).pipe(map(v => new LoadedAssetRef(v, undefined, content)))\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { IsActiveMatchOptions, NavigationEnd, Router, UrlTree } from '@angular/router'\nimport { Observable } from 'rxjs'\nimport { filter, map, startWith } from 'rxjs/operators'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouterHelpersService {\n\n constructor(\n private _router: Router\n ) { }\n\n public isActive(url: string | UrlTree, exact: boolean): Observable<boolean> {\n const opts: IsActiveMatchOptions = exact\n ? { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' }\n : { paths: 'subset', queryParams: 'subset', fragment: 'ignored', matrixParams: 'ignored' }\n\n return this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(event => this._router.isActive(url, opts)),\n startWith(this._router.isActive(url, opts))\n )\n }\n}\n","import { Injectable } from '@angular/core'\n\nimport { Observable, Subscriber } from 'rxjs'\nimport WebFont from 'webfontloader'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nexport type TheSeamFontEvents =\n { type: 'loading' } |\n { type: 'active' } |\n { type: 'inactive' } |\n { type: 'fontloading', familyName: string, fvd: string } |\n { type: 'fontactive', familyName: string, fvd: string } |\n { type: 'fontinactive', familyName: string, fvd: string }\n\n/**\n * Service to help loading fonts.\n *\n * Currently this is just a wrapper for the parts of webfontloader that we need.\n * Eventually this should be generic enough that we can switch loaders without\n * config differences being confusing.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamFontLoaderService {\n\n /**\n * Since this method is just a wrapper for webfontloader right now it accepts\n * anything webfontloader's config accepts, so the event callbacks can still\n * be used, but you should us the emitted objects instead. If we decide to\n * support other font loaders then the event callbacks will most likely be\n * removed.\n *\n * NOTE: If you need to use the events callbacks for some reason, this\n * method's returned observable will still need to be subscribed to, because\n * it doesn't start till subscribed to.\n */\n public load(config: WebFont.Config): Observable<TheSeamFontEvents> {\n return new Observable((subscriber: Subscriber<TheSeamFontEvents>) => {\n WebFont.load({\n ...config,\n /** This event is triggered when all fonts have been requested. */\n loading: () => {\n if (hasProperty(config, 'loading')) {\n config.loading()\n }\n subscriber.next({ type: 'loading' })\n },\n /** This event is triggered when the fonts have rendered. */\n active: () => {\n if (hasProperty(config, 'active')) {\n config.active()\n }\n subscriber.next({ type: 'active' })\n },\n /** This event is triggered when the browser does not support linked fonts or if none of the fonts could be loaded. */\n inactive: () => {\n if (hasProperty(config, 'inactive')) {\n config.inactive()\n }\n subscriber.next({ type: 'inactive' })\n },\n /** This event is triggered once for each font that's loaded. */\n fontloading: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontloading')) {\n config.fontloading(familyName, fvd)\n }\n subscriber.next({ type: 'fontloading', familyName, fvd })\n },\n /** This event is triggered once for each font that renders. */\n fontactive: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontactive')) {\n config.fontactive(familyName, fvd)\n }\n subscriber.next({ type: 'fontactive', familyName, fvd })\n },\n /** This event is triggered if the font can't be loaded. */\n fontinactive: (familyName: string, fvd: string) => {\n if (hasProperty(config, 'fontinactive')) {\n config.fontinactive(familyName, fvd)\n }\n subscriber.next({ type: 'fontinactive', familyName, fvd })\n },\n })\n })\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map","startWith"],"mappings":"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"}
@@ -46,11 +46,11 @@ class PasswordInputRevealComponent {
46
46
  this.passwordVisible = !this.passwordVisible;
47
47
  }
48
48
  }
49
- PasswordInputRevealComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PasswordInputRevealComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- PasswordInputRevealComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PasswordInputRevealComponent, selector: "seam-password-input-reveal", inputs: { inputRef: "inputRef", passwordVisible: "passwordVisible" }, ngImport: i0, template: `
49
+ PasswordInputRevealComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PasswordInputRevealComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ PasswordInputRevealComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: PasswordInputRevealComponent, selector: "seam-password-input-reveal", inputs: { inputRef: "inputRef", passwordVisible: "passwordVisible" }, ngImport: i0, template: `
51
51
  <fa-icon [icon]="passwordVisible ? faEyeSlash : faEye" class="password-reveal-icon" (click)="revealPassword()"></fa-icon>
52
52
  `, isInline: true, styles: [":host{display:flex;align-items:center;position:absolute;top:0;right:0;bottom:0;width:30px;transform:translateZ(0);z-index:50}:host fa-icon{opacity:1;color:#bababa;margin-top:3px;cursor:pointer}:host fa-icon ::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PasswordInputRevealComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PasswordInputRevealComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: 'seam-password-input-reveal', template: `
56
56
  <fa-icon [icon]="passwordVisible ? faEyeSlash : faEye" class="password-reveal-icon" (click)="revealPassword()"></fa-icon>
@@ -96,9 +96,9 @@ class AutoFocusDirective {
96
96
  this._elementRef.nativeElement.focus();
97
97
  }
98
98
  }
99
- AutoFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.Modal }, { token: i1$1.ModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
100
- AutoFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AutoFocusDirective, selector: "[seamAutoFocus]", inputs: { seamAutoFocus: "seamAutoFocus" }, exportAs: ["seamAutoFocus"], ngImport: i0 });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutoFocusDirective, decorators: [{
99
+ AutoFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.Modal }, { token: i1$1.ModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
100
+ AutoFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: AutoFocusDirective, selector: "[seamAutoFocus]", inputs: { seamAutoFocus: "seamAutoFocus" }, exportAs: ["seamAutoFocus"], ngImport: i0 });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AutoFocusDirective, decorators: [{
102
102
  type: Directive,
103
103
  args: [{
104
104
  selector: '[seamAutoFocus]',
@@ -146,9 +146,9 @@ class ClickOutsideDirective {
146
146
  this.seamClickOutside = new EventEmitter();
147
147
  }
148
148
  }
149
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
150
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ClickOutsideDirective, selector: "[seamClickOutside]", inputs: { seamClickOutsideActive: "seamClickOutsideActive" }, outputs: { seamClickOutside: "seamClickOutside" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0 });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClickOutsideDirective, decorators: [{
149
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
150
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ClickOutsideDirective, selector: "[seamClickOutside]", inputs: { seamClickOutsideActive: "seamClickOutsideActive" }, outputs: { seamClickOutside: "seamClickOutside" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0 });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ClickOutsideDirective, decorators: [{
152
152
  type: Directive,
153
153
  args: [{
154
154
  selector: '[seamClickOutside]'
@@ -175,9 +175,9 @@ class DisableControlDirective {
175
175
  this.ngControl = ngControl;
176
176
  }
177
177
  }
178
- DisableControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DisableControlDirective, deps: [{ token: i1$2.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
179
- DisableControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DisableControlDirective, selector: "[seamDisableControl]", inputs: { seamDisableControl: "seamDisableControl" }, ngImport: i0 });
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DisableControlDirective, decorators: [{
178
+ DisableControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DisableControlDirective, deps: [{ token: i1$2.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
179
+ DisableControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: DisableControlDirective, selector: "[seamDisableControl]", inputs: { seamDisableControl: "seamDisableControl" }, ngImport: i0 });
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DisableControlDirective, decorators: [{
181
181
  type: Directive,
182
182
  args: [{
183
183
  selector: '[seamDisableControl]'
@@ -201,9 +201,9 @@ class ElemResizedDirective {
201
201
  (_a = this.sensor) === null || _a === void 0 ? void 0 : _a.detach();
202
202
  }
203
203
  }
204
- ElemResizedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElemResizedDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
205
- ElemResizedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ElemResizedDirective, selector: "[seamElemResized]", outputs: { seamElemResized: "seamElemResized" }, ngImport: i0 });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElemResizedDirective, decorators: [{
204
+ ElemResizedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElemResizedDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
205
+ ElemResizedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: ElemResizedDirective, selector: "[seamElemResized]", outputs: { seamElemResized: "seamElemResized" }, ngImport: i0 });
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElemResizedDirective, decorators: [{
207
207
  type: Directive,
208
208
  args: [{
209
209
  selector: '[seamElemResized]'
@@ -275,9 +275,9 @@ class HoverClassToggleDirective {
275
275
  this._element.nativeElement.classList.remove(c);
276
276
  }
277
277
  }
278
- HoverClassToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoverClassToggleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
279
- HoverClassToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: HoverClassToggleDirective, selector: "[seamHoverClassToggle]", inputs: { seamHoverClassToggle: "seamHoverClassToggle" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, ngImport: i0 });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoverClassToggleDirective, decorators: [{
278
+ HoverClassToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HoverClassToggleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
279
+ HoverClassToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: HoverClassToggleDirective, selector: "[seamHoverClassToggle]", inputs: { seamHoverClassToggle: "seamHoverClassToggle" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, ngImport: i0 });
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HoverClassToggleDirective, decorators: [{
281
281
  type: Directive,
282
282
  args: [{
283
283
  selector: '[seamHoverClassToggle]'
@@ -355,9 +355,9 @@ class HoverClassDirective {
355
355
  this._element.nativeElement.classList.remove(c);
356
356
  }
357
357
  }
358
- HoverClassDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoverClassDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
359
- HoverClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: HoverClassDirective, selector: "[seamHoverClass]", inputs: { seamHoverClass: "seamHoverClass" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, ngImport: i0 });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoverClassDirective, decorators: [{
358
+ HoverClassDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HoverClassDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
359
+ HoverClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: HoverClassDirective, selector: "[seamHoverClass]", inputs: { seamHoverClass: "seamHoverClass" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, ngImport: i0 });
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HoverClassDirective, decorators: [{
361
361
  type: Directive,
362
362
  args: [{
363
363
  selector: '[seamHoverClass]'
@@ -530,9 +530,9 @@ class NgSelectExtraDirective {
530
530
  }
531
531
  }
532
532
  }
533
- NgSelectExtraDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgSelectExtraDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$3.NgSelectComponent }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
534
- NgSelectExtraDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NgSelectExtraDirective, selector: "ng-select", host: { listeners: { "focus": "onFocus($event)" }, properties: { "attr.tabIndex": "this._tabIndex", "class.is-invalid": "this._isInvalid", "class.ng-empty-string-value": "this._isEmptyStringValue" } }, ngImport: i0 });
535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgSelectExtraDirective, decorators: [{
533
+ NgSelectExtraDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgSelectExtraDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$3.NgSelectComponent }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
534
+ NgSelectExtraDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: NgSelectExtraDirective, selector: "ng-select", host: { listeners: { "focus": "onFocus($event)" }, properties: { "attr.tabIndex": "this._tabIndex", "class.is-invalid": "this._isInvalid", "class.ng-empty-string-value": "this._isEmptyStringValue" } }, ngImport: i0 });
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgSelectExtraDirective, decorators: [{
536
536
  type: Directive,
537
537
  args: [{
538
538
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -598,9 +598,9 @@ class NgxQuillExtraDirective {
598
598
  return findElem(this._elementRef.nativeElement);
599
599
  }
600
600
  }
601
- NgxQuillExtraDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgxQuillExtraDirective, deps: [{ token: i0.ElementRef }, { token: i1$4.QuillEditorComponent }], target: i0.ɵɵFactoryTarget.Directive });
602
- NgxQuillExtraDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NgxQuillExtraDirective, selector: "quill-editor", inputs: { tabIndex: "tabIndex" }, host: { properties: { "attr.tabindex": "this._attrTabIndex" } }, ngImport: i0 });
603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NgxQuillExtraDirective, decorators: [{
601
+ NgxQuillExtraDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxQuillExtraDirective, deps: [{ token: i0.ElementRef }, { token: i1$4.QuillEditorComponent }], target: i0.ɵɵFactoryTarget.Directive });
602
+ NgxQuillExtraDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: NgxQuillExtraDirective, selector: "quill-editor", inputs: { tabIndex: "tabIndex" }, host: { properties: { "attr.tabindex": "this._attrTabIndex" } }, ngImport: i0 });
603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxQuillExtraDirective, decorators: [{
604
604
  type: Directive,
605
605
  args: [{
606
606
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -626,9 +626,9 @@ class MaskCharsPipe {
626
626
  return value;
627
627
  }
628
628
  }
629
- MaskCharsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaskCharsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
630
- MaskCharsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MaskCharsPipe, name: "maskChars" });
631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaskCharsPipe, decorators: [{
629
+ MaskCharsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: MaskCharsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
630
+ MaskCharsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: MaskCharsPipe, name: "maskChars" });
631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: MaskCharsPipe, decorators: [{
632
632
  type: Pipe,
633
633
  args: [{
634
634
  name: 'maskChars'
@@ -647,9 +647,9 @@ class TruncatePipe {
647
647
  return val;
648
648
  }
649
649
  }
650
- TruncatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
651
- TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TruncatePipe, name: "truncate" });
652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TruncatePipe, decorators: [{
650
+ TruncatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
651
+ TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TruncatePipe, name: "truncate" });
652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TruncatePipe, decorators: [{
653
653
  type: Pipe,
654
654
  args: [{
655
655
  name: 'truncate'
@@ -658,8 +658,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
658
658
 
659
659
  class TheSeamSharedModule {
660
660
  }
661
- TheSeamSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
662
- TheSeamSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSharedModule, declarations: [AutoFocusDirective,
661
+ TheSeamSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
662
+ TheSeamSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSharedModule, declarations: [AutoFocusDirective,
663
663
  ElemResizedDirective,
664
664
  PasswordInputRevealComponent,
665
665
  NgSelectExtraDirective,
@@ -685,13 +685,13 @@ TheSeamSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
685
685
  NgxQuillExtraDirective,
686
686
  // Exporting scrollbars here for backwards compatibility for now.
687
687
  TheSeamScrollbarModule] });
688
- TheSeamSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSharedModule, imports: [CommonModule,
688
+ TheSeamSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSharedModule, imports: [CommonModule,
689
689
  FontAwesomeModule,
690
690
  TheSeamModalModule,
691
691
  TheSeamLoadingModule,
692
692
  // Exporting scrollbars here for backwards compatibility for now.
693
693
  TheSeamScrollbarModule] });
694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSharedModule, decorators: [{
694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSharedModule, decorators: [{
695
695
  type: NgModule,
696
696
  args: [{
697
697
  imports: [
@@ -131,9 +131,9 @@ class LocalStorageService {
131
131
  }
132
132
  }
133
133
  }
134
- LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, decorators: [{
134
+ LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
+ LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: LocalStorageService, decorators: [{
137
137
  type: Injectable,
138
138
  args: [{
139
139
  providedIn: 'root'