@theseam/ui-common 0.4.0-beta.6 → 0.4.2

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 (668) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +1 -3
  2. package/card/card-body/card-body.component.d.ts +2 -4
  3. package/card/card-footer/card-footer.component.d.ts +1 -4
  4. package/card/card-header/card-header.component.d.ts +1 -4
  5. package/card/card.component.d.ts +1 -4
  6. package/carousel/carousel-slide.directive.d.ts +8 -0
  7. package/carousel/carousel.component.d.ts +85 -0
  8. package/carousel/carousel.module.d.ts +11 -0
  9. package/carousel/index.d.ts +5 -0
  10. package/carousel/public-api.d.ts +3 -0
  11. package/checkbox/checkbox.component.d.ts +2 -4
  12. package/core/common-behaviors/active.d.ts +1 -1
  13. package/core/common-behaviors/disabled.d.ts +1 -1
  14. package/core/common-behaviors/initialized.d.ts +1 -1
  15. package/data-filters/data-filter.d.ts +1 -1
  16. package/datatable/datatable-column/datatable-column.component.d.ts +2 -3
  17. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +1 -3
  18. package/datatable/datatable-export-button/datatable-export-button.component.d.ts +1 -3
  19. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -5
  20. package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +1 -4
  21. package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +1 -4
  22. package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +1 -4
  23. package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +1 -4
  24. package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +1 -3
  25. package/datatable/directives/datatable-action-menu-item.directive.d.ts +2 -4
  26. package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +1 -3
  27. package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +3 -4
  28. package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +1 -1
  29. package/datatable-dynamic/datatable-dynamic.component.d.ts +1 -4
  30. package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +3 -4
  31. package/dynamic/action/modal/dynamic-action-modal-def.d.ts +1 -1
  32. package/esm2020/asset-reader/asset-reader-helper.service.mjs +7 -5
  33. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  34. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +3 -3
  35. package/esm2020/breadcrumbs/breadcrumb.mjs +1 -1
  36. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +4 -5
  37. package/esm2020/breadcrumbs/breadcrumbs-resolver.mjs +1 -1
  38. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  39. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +7 -7
  40. package/esm2020/buttons/badge-button/badge-button.component.mjs +9 -7
  41. package/esm2020/buttons/button/button.component.mjs +12 -10
  42. package/esm2020/buttons/buttons.module.mjs +4 -4
  43. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  44. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +6 -6
  45. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  46. package/esm2020/card/card-body/card-body.component.mjs +5 -6
  47. package/esm2020/card/card-footer/card-footer.component.mjs +5 -8
  48. package/esm2020/card/card-header/card-header.component.mjs +5 -7
  49. package/esm2020/card/card.component.mjs +5 -7
  50. package/esm2020/card/card.module.mjs +4 -4
  51. package/esm2020/carousel/carousel-slide.directive.mjs +16 -0
  52. package/esm2020/carousel/carousel.component.mjs +211 -0
  53. package/esm2020/carousel/carousel.module.mjs +38 -0
  54. package/esm2020/carousel/public-api.mjs +4 -0
  55. package/esm2020/carousel/theseam-ui-common-carousel.mjs +5 -0
  56. package/esm2020/checkbox/checkbox.component.mjs +5 -6
  57. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  58. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  59. package/esm2020/checkbox/testing/index.mjs +1 -1
  60. package/esm2020/confirm-dialog/confirm-click.directive.mjs +6 -6
  61. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  62. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  63. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  64. package/esm2020/core/common-behaviors/active.mjs +2 -1
  65. package/esm2020/core/common-behaviors/disabled.mjs +2 -1
  66. package/esm2020/core/common-behaviors/initialized.mjs +2 -1
  67. package/esm2020/core/common-behaviors/tabindex.mjs +2 -1
  68. package/esm2020/core/input-decorators/input-boolean.decorator.mjs +4 -5
  69. package/esm2020/core/input-decorators/input-number.decorator.mjs +4 -5
  70. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  71. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  72. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  73. package/esm2020/data-filters/data-filter.mjs +1 -1
  74. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  75. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +5 -5
  76. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +6 -6
  77. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -8
  78. package/esm2020/datatable/datatable/datatable.component.mjs +11 -6
  79. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  80. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +5 -4
  81. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -5
  82. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  83. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -5
  84. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +5 -5
  85. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  86. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +5 -5
  87. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +9 -13
  88. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +5 -8
  89. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +5 -8
  90. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +5 -8
  91. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +5 -8
  92. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -5
  93. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  94. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +5 -5
  95. package/esm2020/datatable/datatable.module.mjs +4 -4
  96. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +5 -6
  97. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +3 -3
  98. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  99. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  100. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  101. package/esm2020/datatable/models/columns-alteration.mjs +1 -1
  102. package/esm2020/datatable/models/columns-alterations/order.columns-alteration.mjs +3 -1
  103. package/esm2020/datatable/models/datatable-gql-data-source.mjs +1 -1
  104. package/esm2020/datatable/models/internal-column-props.mjs +1 -1
  105. package/esm2020/datatable/models/sort-item.mjs +1 -1
  106. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  107. package/esm2020/datatable/services/columns-manager.service.mjs +5 -5
  108. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  109. package/esm2020/datatable/services/datatable-preferences.service.mjs +5 -4
  110. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +5 -5
  111. package/esm2020/datatable/utils/map-columns-alterations-states.mjs +4 -1
  112. package/esm2020/datatable/utils/set-column-defaults.mjs +2 -2
  113. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +5 -6
  114. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  115. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -7
  116. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.mjs +1 -1
  117. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +4 -6
  118. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  119. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +6 -6
  120. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +7 -7
  121. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +6 -6
  122. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +11 -8
  123. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +6 -5
  124. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  125. package/esm2020/dynamic/action/modal/dynamic-action-modal-def.mjs +1 -1
  126. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  127. package/esm2020/dynamic/dynamic-value-helper.service.mjs +5 -4
  128. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  129. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +5 -5
  130. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  131. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +9 -9
  132. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +5 -8
  133. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  134. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  135. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  136. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  137. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  138. package/esm2020/form-field/form-field.component.mjs +5 -5
  139. package/esm2020/form-field/form-field.module.mjs +4 -4
  140. package/esm2020/form-field/input.directive.mjs +10 -9
  141. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  142. package/esm2020/form-field/testing/index.mjs +1 -1
  143. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +5 -7
  144. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  145. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  146. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +8 -8
  147. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  148. package/esm2020/framework/base-layout/base-layout.component.mjs +5 -4
  149. package/esm2020/framework/base-layout/base-layout.module.mjs +5 -5
  150. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  151. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  152. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  153. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +3 -3
  154. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  155. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  156. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  157. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +5 -7
  158. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -5
  159. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +7 -7
  160. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +6 -5
  161. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  162. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +7 -5
  163. package/esm2020/framework/dashboard/dashboard.component.mjs +5 -5
  164. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  165. package/esm2020/framework/dynamic-router/dynamic-route-def.mjs +1 -1
  166. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  167. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.mjs +1 -1
  168. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +5 -6
  169. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +5 -6
  170. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  171. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  172. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  174. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  176. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  177. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  178. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  179. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +5 -4
  180. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +5 -5
  181. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -6
  182. package/esm2020/framework/side-nav/side-nav-utils.mjs +2 -1
  183. package/esm2020/framework/side-nav/side-nav.component.mjs +6 -7
  184. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  185. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  186. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  187. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  188. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
  189. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  190. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +5 -7
  191. package/esm2020/framework/top-bar/top-bar.component.mjs +4 -6
  192. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  193. package/esm2020/google-maps/google-maps/google-maps.component.mjs +53 -32
  194. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +3 -3
  195. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +3 -3
  196. package/esm2020/google-maps/google-maps-contextmenu.mjs +9 -8
  197. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  198. package/esm2020/google-maps/google-maps-feature-helpers.mjs +13 -1
  199. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +9 -10
  200. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +9 -9
  201. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +6 -6
  202. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +6 -6
  203. package/esm2020/google-maps/google-maps.module.mjs +8 -6
  204. package/esm2020/google-maps/google-maps.service.mjs +103 -32
  205. package/esm2020/google-maps/map-control.component.mjs +3 -3
  206. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  207. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  208. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +1 -27
  209. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  210. package/esm2020/graphql/datatable/datatable-helpers.mjs +2 -2
  211. package/esm2020/graphql/datatable/map-filter-states.mjs +2 -1
  212. package/esm2020/graphql/utils/inline-variables.mjs +2 -1
  213. package/esm2020/graphql/utils/parse-hints.mjs +3 -3
  214. package/esm2020/graphql/utils/to-gql.mjs +3 -3
  215. package/esm2020/icon/icon/icon.component.mjs +5 -5
  216. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -5
  217. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  218. package/esm2020/icon/icon.module.mjs +4 -4
  219. package/esm2020/icon/utils/get-known-icon.mjs +71 -71
  220. package/esm2020/layout/breakpoint-aliases.mjs +1 -1
  221. package/esm2020/layout/layout.module.mjs +4 -4
  222. package/esm2020/layout/layout.service.mjs +3 -3
  223. package/esm2020/layout/observe-media-query.mjs +1 -1
  224. package/esm2020/loading/loading/loading.component.mjs +8 -9
  225. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  226. package/esm2020/loading/loading.module.mjs +4 -4
  227. package/esm2020/menu/menu-divider.component.mjs +3 -3
  228. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  229. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  230. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  231. package/esm2020/menu/menu-item.component.mjs +44 -17
  232. package/esm2020/menu/menu-toggle.directive.mjs +203 -44
  233. package/esm2020/menu/menu.component.mjs +39 -16
  234. package/esm2020/menu/menu.module.mjs +4 -4
  235. package/esm2020/modal/directives/modal-close.directive.mjs +3 -3
  236. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  237. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  238. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  239. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  240. package/esm2020/modal/directives/modal.directive.mjs +5 -5
  241. package/esm2020/modal/modal/modal.component.mjs +6 -7
  242. package/esm2020/modal/modal-body/modal-body.component.mjs +5 -7
  243. package/esm2020/modal/modal-config.mjs +1 -1
  244. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  245. package/esm2020/modal/modal-footer/modal-footer.component.mjs +5 -7
  246. package/esm2020/modal/modal-header/modal-header.component.mjs +5 -7
  247. package/esm2020/modal/modal-ref.mjs +1 -1
  248. package/esm2020/modal/modal.module.mjs +4 -4
  249. package/esm2020/modal/modal.service.mjs +26 -23
  250. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -5
  251. package/esm2020/popover/popover/popover.component.mjs +3 -3
  252. package/esm2020/popover/popover.directive.mjs +4 -4
  253. package/esm2020/popover/popover.module.mjs +5 -5
  254. package/esm2020/progress/progress-circle/progress-circle.component.mjs +10 -10
  255. package/esm2020/progress/progress.module.mjs +4 -4
  256. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -5
  257. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  258. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  259. package/esm2020/services/asset-loader.service.mjs +5 -6
  260. package/esm2020/services/font-loader.service.mjs +5 -6
  261. package/esm2020/services/router-helpers.service.mjs +3 -3
  262. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  263. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  264. package/esm2020/shared/directives/click-outside.directive.mjs +3 -3
  265. package/esm2020/shared/directives/disable-control.directive.mjs +3 -3
  266. package/esm2020/shared/directives/elem-resized.directive.mjs +5 -5
  267. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  268. package/esm2020/shared/directives/hover-class.directive.mjs +3 -3
  269. package/esm2020/shared/directives/ng-select-extra.directive.mjs +7 -7
  270. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +5 -5
  271. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  272. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  273. package/esm2020/shared/shared.module.mjs +4 -4
  274. package/esm2020/storage/local-storage.service.mjs +8 -8
  275. package/esm2020/storage/localstorage-memory.mjs +4 -4
  276. package/esm2020/story-helpers/arg-type-helpers.mjs +1 -1
  277. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  278. package/esm2020/story-helpers/on-story-bootstrapped-trigger.mjs +2 -1
  279. package/esm2020/story-helpers/public-api.mjs +2 -2
  280. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  281. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  282. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  283. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  284. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  285. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  286. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +5 -5
  287. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +5 -4
  288. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +5 -7
  289. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +5 -6
  290. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  291. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  292. package/esm2020/tabbed/tabbed.service.mjs +5 -5
  293. package/esm2020/table/table/table.component.mjs +5 -6
  294. package/esm2020/table/table.module.mjs +4 -4
  295. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +5 -5
  296. package/esm2020/table-cell-type/table-cell-type-export-props.mjs +1 -1
  297. package/esm2020/table-cell-type/table-cell-type-models.mjs +1 -1
  298. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +5 -6
  299. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +12 -12
  301. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +8 -12
  302. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +14 -14
  303. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +10 -10
  304. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +14 -14
  305. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -7
  306. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +11 -10
  307. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +7 -8
  308. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +11 -8
  309. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  310. package/esm2020/tel-input/intl-tel-input.mjs +2 -2
  311. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  312. package/esm2020/tel-input/tel-input/tel-input.component.mjs +5 -6
  313. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  314. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  315. package/esm2020/tel-input/utils/add-country-code.mjs +4 -4
  316. package/esm2020/tel-input/utils/process-country-codes.mjs +4 -7
  317. package/esm2020/testing/story-expect.mjs +2 -1
  318. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +5 -6
  319. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -5
  320. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +12 -13
  321. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  323. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  324. package/esm2020/tiled-select/testing/index.mjs +1 -1
  325. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  326. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +5 -8
  327. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  328. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  329. package/esm2020/toggle-edit/toggle-edit.component.mjs +7 -7
  330. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  331. package/esm2020/toggle-group/toggle-group-option.directive.mjs +3 -3
  332. package/esm2020/toggle-group/toggle-group.directive.mjs +6 -6
  333. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  334. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +5 -5
  335. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +5 -8
  336. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +5 -4
  337. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  338. package/esm2020/utils/array-move.mjs +1 -1
  339. package/esm2020/utils/cdk/get-closest-widget-cdk-drag.mjs +3 -3
  340. package/esm2020/utils/file-utils.mjs +2 -2
  341. package/esm2020/utils/form/get-control-path.mjs +6 -5
  342. package/esm2020/utils/geo-json/close-polygons.mjs +38 -0
  343. package/esm2020/utils/geo-json/geo-json-to-area.mjs +3 -3
  344. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  345. package/esm2020/utils/geo-json/min-max-points.validator.mjs +5 -5
  346. package/esm2020/utils/geo-json/read-geo-file.mjs +3 -2
  347. package/esm2020/utils/has-property.mjs +2 -2
  348. package/esm2020/utils/load-style-sheet.mjs +2 -2
  349. package/esm2020/utils/load-style.mjs +2 -2
  350. package/esm2020/utils/obj-utils.mjs +2 -2
  351. package/esm2020/utils/polling-ticker.mjs +2 -2
  352. package/esm2020/utils/public-api.mjs +2 -1
  353. package/esm2020/utils/router/operators/activated-routes-with-data-property.mjs +2 -2
  354. package/esm2020/utils/router/route-snapshot-path-full.mjs +2 -2
  355. package/esm2020/utils/router/route-snapshot-path-relative.mjs +2 -2
  356. package/esm2020/utils/router/will-have-data-prop.mjs +3 -3
  357. package/esm2020/utils/subscriber-count.mjs +2 -1
  358. package/esm2020/utils/toggle-attribute.mjs +6 -5
  359. package/esm2020/utils/wait-on-condition-async.mjs +5 -5
  360. package/esm2020/vertical-list-filter/public-api.mjs +3 -0
  361. package/esm2020/vertical-list-filter/testing/index.mjs +2 -0
  362. package/esm2020/vertical-list-filter/testing/vertical-list-filter.harness.mjs +28 -0
  363. package/esm2020/vertical-list-filter/theseam-ui-common-vertical-list-filter.mjs +5 -0
  364. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +52 -0
  365. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  366. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  367. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +5 -4
  368. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  369. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +5 -4
  370. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  371. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +7 -7
  372. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  373. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  374. package/esm2020/widget/widget/widget.component.mjs +56 -35
  375. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +5 -8
  376. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  377. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +5 -8
  378. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  379. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  380. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  381. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +6 -7
  382. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  383. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +5 -7
  384. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  385. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +5 -8
  386. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  387. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +5 -5
  388. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  389. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  390. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -19
  391. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +5 -7
  392. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  393. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +5 -5
  394. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  395. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +6 -9
  396. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +5 -6
  397. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +5 -8
  398. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +5 -5
  399. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +9 -8
  400. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +10 -10
  401. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +5 -8
  402. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  403. package/esm2020/widget/widget-footer/widget-footer.component.mjs +5 -7
  404. package/esm2020/widget/widget-registry.service.mjs +6 -5
  405. package/esm2020/widget/widget.module.mjs +7 -7
  406. package/fesm2015/theseam-ui-common-asset-reader.mjs +13 -11
  407. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +13 -14
  409. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-buttons.mjs +31 -27
  411. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-card.mjs +23 -31
  413. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-carousel.mjs +265 -0
  415. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -0
  416. package/fesm2015/theseam-ui-common-checkbox.mjs +8 -9
  417. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +15 -15
  419. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-core.mjs +10 -8
  421. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  423. package/fesm2015/theseam-ui-common-data-filters.mjs +23 -20
  424. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  425. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +34 -38
  426. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  427. package/fesm2015/theseam-ui-common-datatable.mjs +115 -123
  428. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  429. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  430. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  431. package/fesm2015/theseam-ui-common-dynamic.mjs +36 -26
  432. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  433. package/fesm2015/theseam-ui-common-footer-bar.mjs +8 -11
  434. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  435. package/fesm2015/theseam-ui-common-form-field-error.mjs +21 -23
  436. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  437. package/fesm2015/theseam-ui-common-form-field.mjs +29 -28
  438. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  439. package/fesm2015/theseam-ui-common-framework.mjs +153 -160
  440. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  441. package/fesm2015/theseam-ui-common-google-maps.mjs +221 -113
  442. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  443. package/fesm2015/theseam-ui-common-graphql.mjs +10 -34
  444. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  445. package/fesm2015/theseam-ui-common-icon.mjs +84 -85
  446. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  447. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  448. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  449. package/fesm2015/theseam-ui-common-loading.mjs +14 -15
  450. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2015/theseam-ui-common-menu.mjs +460 -247
  452. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2015/theseam-ui-common-modal.mjs +71 -76
  454. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2015/theseam-ui-common-popover.mjs +10 -10
  456. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2015/theseam-ui-common-progress.mjs +13 -13
  458. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -11
  460. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-services.mjs +11 -13
  462. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-shared.mjs +42 -42
  464. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-storage.mjs +10 -10
  466. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  467. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -100
  468. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  469. package/fesm2015/theseam-ui-common-tabbed.mjs +27 -29
  470. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  471. package/fesm2015/theseam-ui-common-table-cell-type.mjs +12 -13
  472. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  473. package/fesm2015/theseam-ui-common-table-cell-types.mjs +87 -89
  474. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  475. package/fesm2015/theseam-ui-common-table.mjs +8 -9
  476. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  477. package/fesm2015/theseam-ui-common-tel-input.mjs +21 -25
  478. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  479. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  480. package/fesm2015/theseam-ui-common-tiled-select.mjs +31 -34
  481. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  482. package/fesm2015/theseam-ui-common-toggle-edit.mjs +20 -23
  483. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  484. package/fesm2015/theseam-ui-common-toggle-group.mjs +12 -12
  485. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  486. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  487. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  488. package/fesm2015/theseam-ui-common-utils.mjs +75 -33
  489. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  490. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +96 -0
  491. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  492. package/fesm2015/theseam-ui-common-viewers.mjs +22 -20
  493. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  494. package/fesm2015/theseam-ui-common-widget.mjs +211 -217
  495. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  496. package/fesm2020/theseam-ui-common-asset-reader.mjs +13 -11
  497. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  498. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +13 -14
  499. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  500. package/fesm2020/theseam-ui-common-buttons.mjs +31 -27
  501. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  502. package/fesm2020/theseam-ui-common-card.mjs +23 -31
  503. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  504. package/fesm2020/theseam-ui-common-carousel.mjs +265 -0
  505. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -0
  506. package/fesm2020/theseam-ui-common-checkbox.mjs +8 -9
  507. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  508. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +15 -15
  509. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  510. package/fesm2020/theseam-ui-common-core.mjs +10 -8
  511. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  512. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  513. package/fesm2020/theseam-ui-common-data-filters.mjs +23 -20
  514. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +34 -38
  516. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-datatable.mjs +115 -123
  518. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  520. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-dynamic.mjs +36 -26
  522. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-footer-bar.mjs +8 -11
  524. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-form-field-error.mjs +21 -23
  526. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-form-field.mjs +29 -28
  528. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-framework.mjs +153 -160
  530. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-google-maps.mjs +223 -117
  532. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-graphql.mjs +10 -34
  534. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-icon.mjs +84 -85
  536. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-layout.mjs +16 -8
  538. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-loading.mjs +14 -15
  540. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-menu.mjs +450 -244
  542. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-modal.mjs +71 -76
  544. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-models.mjs +2 -1
  546. package/fesm2020/theseam-ui-common-models.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-popover.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-progress.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -11
  552. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  553. package/fesm2020/theseam-ui-common-services.mjs +11 -13
  554. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  555. package/fesm2020/theseam-ui-common-shared.mjs +42 -42
  556. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  557. package/fesm2020/theseam-ui-common-storage.mjs +10 -10
  558. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  559. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -96
  560. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  561. package/fesm2020/theseam-ui-common-tabbed.mjs +27 -29
  562. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  563. package/fesm2020/theseam-ui-common-table-cell-type.mjs +12 -13
  564. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  565. package/fesm2020/theseam-ui-common-table-cell-types.mjs +87 -89
  566. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  567. package/fesm2020/theseam-ui-common-table.mjs +8 -9
  568. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  569. package/fesm2020/theseam-ui-common-tel-input.mjs +21 -25
  570. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  571. package/fesm2020/theseam-ui-common-testing.mjs +1 -0
  572. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  573. package/fesm2020/theseam-ui-common-tiled-select.mjs +31 -34
  574. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  575. package/fesm2020/theseam-ui-common-toggle-edit.mjs +20 -23
  576. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  577. package/fesm2020/theseam-ui-common-toggle-group.mjs +12 -12
  578. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  579. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  580. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  581. package/fesm2020/theseam-ui-common-utils.mjs +75 -33
  582. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  583. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +87 -0
  584. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  585. package/fesm2020/theseam-ui-common-viewers.mjs +22 -20
  586. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  587. package/fesm2020/theseam-ui-common-widget.mjs +211 -217
  588. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  589. package/footer-bar/footer-bar/footer-bar.component.d.ts +1 -4
  590. package/form-field-error/form-field-error/form-field-error.component.d.ts +1 -4
  591. package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +2 -3
  592. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +2 -4
  593. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +2 -3
  594. package/framework/dashboard/dashboard.component.d.ts +0 -1
  595. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +2 -3
  596. package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +0 -1
  597. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +2 -4
  598. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +3 -5
  599. package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +1 -4
  600. package/framework/top-bar/top-bar.component.d.ts +2 -4
  601. package/google-maps/google-maps/google-maps.component.d.ts +11 -7
  602. package/google-maps/google-maps-feature-helpers.d.ts +3 -0
  603. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +2 -3
  604. package/google-maps/google-maps.module.d.ts +1 -1
  605. package/google-maps/google-maps.service.d.ts +7 -0
  606. package/graphql/datatable/datatable-graphql-query-ref.d.ts +0 -1
  607. package/icon/icon-btn/icon-btn.component.d.ts +2 -3
  608. package/loading/loading/loading.component.d.ts +1 -4
  609. package/menu/menu-item.component.d.ts +20 -10
  610. package/menu/menu-toggle.directive.d.ts +34 -11
  611. package/menu/menu.component.d.ts +16 -2
  612. package/modal/modal/modal.component.d.ts +3 -4
  613. package/modal/modal-body/modal-body.component.d.ts +1 -4
  614. package/modal/modal-footer/modal-footer.component.d.ts +1 -4
  615. package/modal/modal-header/modal-header.component.d.ts +1 -4
  616. package/modal/route-modal/route-modal.component.d.ts +2 -3
  617. package/package.json +17 -1
  618. package/progress/progress-circle/progress-circle.component.d.ts +0 -1
  619. package/scrollbar/overlay-scrollbar.directive.d.ts +2 -3
  620. package/services/asset-loader.service.d.ts +0 -1
  621. package/services/font-loader.service.d.ts +0 -1
  622. package/story-helpers/public-api.d.ts +0 -1
  623. package/tabbed/directives/tabbed-tab-content.directive.d.ts +0 -1
  624. package/tabbed/tabbed-content/tabbed-content.component.d.ts +1 -4
  625. package/tabbed/tabbed-item/tabbed-item.component.d.ts +2 -4
  626. package/tabbed/tabbed.service.d.ts +0 -1
  627. package/table/table/table.component.d.ts +2 -3
  628. package/table-cell-type/table-cell-type-models.d.ts +1 -1
  629. package/table-cell-type/table-cell-type-selector.component.d.ts +3 -4
  630. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +2 -3
  631. package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +2 -3
  632. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +2 -3
  633. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +2 -3
  634. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +2 -3
  635. package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +2 -3
  636. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +2 -3
  637. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +2 -3
  638. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +2 -3
  639. package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +1 -4
  640. package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +1 -4
  641. package/toggle-group/toggle-group.directive.d.ts +0 -1
  642. package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +1 -4
  643. package/utils/geo-json/close-polygons.d.ts +9 -0
  644. package/utils/obj-utils.d.ts +2 -2
  645. package/utils/public-api.d.ts +1 -0
  646. package/vertical-list-filter/index.d.ts +5 -0
  647. package/vertical-list-filter/public-api.d.ts +2 -0
  648. package/vertical-list-filter/testing/index.d.ts +1 -0
  649. package/vertical-list-filter/testing/vertical-list-filter.harness.d.ts +9 -0
  650. package/vertical-list-filter/vertical-list-filter.component.d.ts +17 -0
  651. package/widget/widget/widget.component.d.ts +10 -11
  652. package/widget/widget/widget.component.scss +12 -1
  653. package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +1 -4
  654. package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +1 -4
  655. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +2 -3
  656. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +1 -4
  657. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +1 -4
  658. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +2 -3
  659. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +4 -7
  660. package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +1 -4
  661. package/widget/widget-content-components/widget-table/widget-table.component.d.ts +0 -1
  662. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +1 -4
  663. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +2 -3
  664. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +1 -4
  665. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +1 -4
  666. package/widget/widget-footer/widget-footer.component.d.ts +1 -4
  667. package/esm2020/story-helpers/args-to-tpl.mjs +0 -72
  668. package/story-helpers/args-to-tpl.d.ts +0 -24
@@ -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.6", ngImport: i0, type: PasswordInputRevealComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- PasswordInputRevealComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", 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.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: `
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.6", ngImport: i0, type: PasswordInputRevealComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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.6", 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.6", type: AutoFocusDirective, selector: "[seamAutoFocus]", inputs: { seamAutoFocus: "seamAutoFocus" }, exportAs: ["seamAutoFocus"], ngImport: i0 });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AutoFocusDirective, decorators: [{
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: [{
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.6", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
150
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", 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.6", ngImport: i0, type: ClickOutsideDirective, decorators: [{
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: [{
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.6", 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.6", type: DisableControlDirective, selector: "[seamDisableControl]", inputs: { seamDisableControl: "seamDisableControl" }, ngImport: i0 });
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DisableControlDirective, decorators: [{
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: [{
181
181
  type: Directive,
182
182
  args: [{
183
183
  selector: '[seamDisableControl]'
@@ -192,7 +192,7 @@ class ElemResizedDirective {
192
192
  this.seamElemResized = new EventEmitter();
193
193
  }
194
194
  ngAfterViewInit() {
195
- this.sensor = new ResizeSensor(this.elementRef.nativeElement, (event) => {
195
+ this.sensor = new ResizeSensor(this.elementRef.nativeElement, event => {
196
196
  this.seamElemResized.emit({ element: this.elementRef.nativeElement, size: event });
197
197
  });
198
198
  }
@@ -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.6", ngImport: i0, type: ElemResizedDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
205
- ElemResizedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ElemResizedDirective, selector: "[seamElemResized]", outputs: { seamElemResized: "seamElemResized" }, ngImport: i0 });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ElemResizedDirective, decorators: [{
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: [{
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.6", ngImport: i0, type: HoverClassToggleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
279
- HoverClassToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", 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.6", ngImport: i0, type: HoverClassToggleDirective, decorators: [{
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: [{
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.6", ngImport: i0, type: HoverClassDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
359
- HoverClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", 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.6", ngImport: i0, type: HoverClassDirective, decorators: [{
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: [{
361
361
  type: Directive,
362
362
  args: [{
363
363
  selector: '[seamHoverClass]'
@@ -406,7 +406,7 @@ class NgSelectExtraDirective {
406
406
  return this.ngControl ? this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched) : false;
407
407
  }
408
408
  get _isEmptyStringValue() {
409
- return this.ngControl ? this.ngControl.value === '' ? true : false : false;
409
+ return this.ngControl ? this.ngControl.value === '' : false;
410
410
  }
411
411
  constructor(elementRef, _ngZone, ngSelect, ngControl) {
412
412
  this.elementRef = elementRef;
@@ -470,7 +470,7 @@ class NgSelectExtraDirective {
470
470
  }
471
471
  }
472
472
  this._checkMarked = false;
473
- this._resizeSensor = new ResizeSensor(this.elementRef.nativeElement, (event) => {
473
+ this._resizeSensor = new ResizeSensor(this.elementRef.nativeElement, event => {
474
474
  this._resizedEvent.emit({ element: this.elementRef.nativeElement, size: event });
475
475
  });
476
476
  }
@@ -530,12 +530,12 @@ class NgSelectExtraDirective {
530
530
  }
531
531
  }
532
532
  }
533
- NgSelectExtraDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", 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.6", 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.6", ngImport: i0, type: NgSelectExtraDirective, decorators: [{
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: [{
536
536
  type: Directive,
537
537
  args: [{
538
- // tslint:disable-next-line:directive-selector
538
+ // eslint-disable-next-line @angular-eslint/directive-selector
539
539
  selector: 'ng-select'
540
540
  }]
541
541
  }], ctorParameters: function () {
@@ -598,12 +598,12 @@ 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.6", 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.6", 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.6", ngImport: i0, type: NgxQuillExtraDirective, decorators: [{
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: [{
604
604
  type: Directive,
605
605
  args: [{
606
- // tslint:disable-next-line:directive-selector
606
+ // eslint-disable-next-line @angular-eslint/directive-selector
607
607
  selector: 'quill-editor'
608
608
  }]
609
609
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$4.QuillEditorComponent }]; }, propDecorators: { tabIndex: [{
@@ -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.6", ngImport: i0, type: MaskCharsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
630
- MaskCharsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: MaskCharsPipe, name: "maskChars" });
631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MaskCharsPipe, decorators: [{
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: [{
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.6", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
651
- TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TruncatePipe, name: "truncate" });
652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TruncatePipe, decorators: [{
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: [{
653
653
  type: Pipe,
654
654
  args: [{
655
655
  name: 'truncate'
@@ -658,8 +658,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
658
658
 
659
659
  class TheSeamSharedModule {
660
660
  }
661
- TheSeamSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
662
- TheSeamSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamSharedModule, declarations: [AutoFocusDirective,
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,
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.6", ngImport: i0, type: TheSeamSharedModule, imports: [CommonModule,
688
+ TheSeamSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", 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.6", ngImport: i0, type: TheSeamSharedModule, decorators: [{
694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamSharedModule, decorators: [{
695
695
  type: NgModule,
696
696
  args: [{
697
697
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-shared.mjs","sources":["../../../projects/ui-common/shared/components/password-input-reveal/password-input-reveal.component.ts","../../../projects/ui-common/shared/directives/auto-focus.directive.ts","../../../projects/ui-common/shared/directives/click-outside.directive.ts","../../../projects/ui-common/shared/directives/disable-control.directive.ts","../../../projects/ui-common/shared/directives/elem-resized.directive.ts","../../../projects/ui-common/shared/directives/hover-class-toggle.directive.ts","../../../projects/ui-common/shared/directives/hover-class.directive.ts","../../../projects/ui-common/shared/directives/ng-select-extra.directive.ts","../../../projects/ui-common/shared/directives/ngx-quill-extra.directive.ts","../../../projects/ui-common/shared/pipes/mask-chars.pipe.ts","../../../projects/ui-common/shared/pipes/truncate.pipe.ts","../../../projects/ui-common/shared/shared.module.ts","../../../projects/ui-common/shared/theseam-ui-common-shared.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\n\nimport { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'\n\n@Component({\n selector: 'seam-password-input-reveal',\n template: `\n <fa-icon [icon]=\"passwordVisible ? faEyeSlash : faEye\" class=\"password-reveal-icon\" (click)=\"revealPassword()\"></fa-icon>\n `,\n styles: [\n `\n :host {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 30px;\n transform: translateZ(0);\n z-index: 50;\n }\n\n :host fa-icon {\n opacity: 1;\n color: #bababa;\n margin-top: 3px;\n cursor: pointer;\n }\n\n :host fa-icon ::ng-deep .svg-inline--fa {\n vertical-align: middle;\n }\n `\n ]\n})\nexport class PasswordInputRevealComponent {\n static ngAcceptInputType_passwordVisible: BooleanInput\n\n faEye = faEye\n faEyeSlash = faEyeSlash\n\n @Input()\n get inputRef(): HTMLInputElement | undefined | null { return this._passwordInput }\n set inputRef(value: HTMLInputElement | undefined | null) {\n this._passwordInput = value\n this.updateRevealState()\n if (this._passwordInput) {\n this._passwordInput.style.paddingRight = '40px'\n this._passwordInput.classList.add('no-native-eye')\n }\n }\n private _passwordInput: HTMLInputElement | undefined | null\n\n @Input()\n get passwordVisible() { return this._passwordVisible }\n set passwordVisible(value: boolean) {\n this._passwordVisible = coerceBooleanProperty(value)\n this.updateRevealState()\n }\n public _passwordVisible = false\n\n public updateRevealState(): void {\n if (this._passwordInput) {\n this._passwordInput.type = this.passwordVisible ? 'text' : 'password'\n }\n }\n\n public revealPassword(): void {\n this.passwordVisible = !this.passwordVisible\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, Input, OnInit, Optional } from '@angular/core'\n\nimport { getClosestModal, Modal, ModalRef } from '@theseam/ui-common/modal'\n\n@Directive({\n selector: '[seamAutoFocus]',\n exportAs: 'seamAutoFocus'\n})\nexport class AutoFocusDirective implements OnInit {\n static ngAcceptInputType_seamAutoFocus: BooleanInput\n\n private _focus = true\n\n public modalRef: ModalRef<any> | undefined | null\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _modal: Modal,\n @Optional() private _modalRef: ModalRef<any>\n ) {\n this.modalRef = _modalRef\n }\n\n ngOnInit() {\n if (!this.modalRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.modalRef = getClosestModal(this._elementRef, this._modal.openDialogs)\n }\n\n if (!this.modalRef) {\n if (this._focus) {\n setTimeout(() => { this.focus() })\n }\n } else {\n this.modalRef.afterOpened().subscribe(() => {\n setTimeout(() => { this.focus() })\n })\n }\n }\n\n @Input()\n set seamAutoFocus(condition: boolean) {\n this._focus = coerceBooleanProperty(condition) !== false\n }\n\n public focus() {\n this._elementRef.nativeElement.focus()\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Directive({\n selector: '[seamClickOutside]'\n})\nexport class ClickOutsideDirective {\n\n @Input()\n get seamClickOutsideActive(): boolean {\n return this._active\n }\n set seamClickOutsideActive(value: boolean) {\n if (this._active === value) { return }\n\n if (value) {\n // `setTimeout` is used to avoid the click event triggering when the value\n // changes if the value was changed with a click.\n setTimeout(() => { this._active = value })\n } else {\n this._active = value\n }\n }\n private _active = true\n\n @Output() seamClickOutside = new EventEmitter<MouseEvent>()\n\n // NOTE: This should probably be changed from a `HostListener` to allow the\n // subscription to be unsubscribed.\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (this._active) {\n const targetElement = event.target as HTMLElement\n // Check if the click was outside the element\n if (targetElement && !this.elementRef.nativeElement.contains(targetElement)) {\n this.seamClickOutside.emit(event)\n }\n }\n }\n\n constructor(private elementRef: ElementRef) { }\n\n}\n","import { Directive, Input } from '@angular/core'\nimport { NgControl } from '@angular/forms'\n\n// Source: https://netbasal.com/disabling-form-controls-when-working-with-reactive-forms-in-angular-549dd7b42110\n\n@Directive({\n selector: '[seamDisableControl]'\n})\nexport class DisableControlDirective {\n\n @Input() set seamDisableControl(condition: boolean) {\n const action = condition ? 'disable' : 'enable'\n const control = this.ngControl.control\n if (control) {\n control[action]()\n }\n }\n\n constructor(private ngControl: NgControl) { }\n\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, OnDestroy, Output } from '@angular/core'\n\nimport { ResizeSensor } from 'css-element-queries'\n\nexport interface IElementResizedEvent {\n element: HTMLElement\n size: { width: number, height: number }\n}\n\n@Directive({\n selector: '[seamElemResized]'\n})\nexport class ElemResizedDirective implements OnDestroy, AfterViewInit {\n\n @Output() seamElemResized = new EventEmitter<IElementResizedEvent>()\n\n sensor?: ResizeSensor\n\n constructor(private elementRef: ElementRef) { }\n\n ngAfterViewInit() {\n this.sensor = new ResizeSensor(this.elementRef.nativeElement, (event) => {\n this.seamElemResized.emit({ element: this.elementRef.nativeElement, size: event })\n })\n }\n\n ngOnDestroy() {\n this.sensor?.detach()\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\nexport interface IHoverClassToggleRecord {\n default: string\n hover: string\n}\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClassToggle]'\n})\nexport class HoverClassToggleDirective {\n\n private _hovered = false\n private _defaultClasses: string[] = []\n private _hoverClasses: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver($event: _PointerEvent) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClassToggle(value: IHoverClassToggleRecord) {\n if (value) {\n if (value.default) {\n this._defaultClasses = value.default.split(' ').filter(c => c.length > 0)\n }\n if (value.hover) {\n this._hoverClasses = value.hover.split(' ').filter(c => c.length > 0)\n }\n }\n\n this._hoverClasses = this._hoverClasses.filter(v => !this._defaultClasses.find(_v => _v === v))\n\n this._update()\n }\n\n constructor(\n private readonly _element: ElementRef\n ) { }\n\n private _update(): void {\n for (const c of this._defaultClasses) {\n this._hovered ? this._removeClass(c) : this._addClass(c)\n }\n for (const c of this._hoverClasses) {\n this._hovered ? this._addClass(c) : this._removeClass(c)\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._element.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._element.nativeElement.classList.remove(c)\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClass]'\n})\nexport class HoverClassDirective {\n\n private _hovered = false\n private _classes: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver($event: _PointerEvent) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClass(classList: string) {\n const newClasses = classList.split(' ').filter(c => c.length > 0)\n for (const c of this._classes) {\n if (newClasses.indexOf(c) !== 0) {\n this._removeClass(c)\n }\n }\n this._classes = newClasses\n this._update()\n }\n\n constructor(\n private readonly _element: ElementRef\n ) { }\n\n private _update(): void {\n for (const c of this._classes) {\n this._hovered ? this._addClass(c) : this._removeClass(c)\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._element.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._element.nativeElement.classList.remove(c)\n }\n\n}\n","import { AfterViewChecked, Directive, ElementRef, EventEmitter, HostBinding,\n HostListener, NgZone, OnDestroy, OnInit, Optional, Self } from '@angular/core'\nimport { NgControl } from '@angular/forms'\nimport { Subject, Subscription } from 'rxjs'\nimport { filter, takeUntil } from 'rxjs/operators'\n\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select'\nimport { ResizeSensor } from 'css-element-queries'\n\nimport { IElementResizedEvent } from './elem-resized.directive'\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: 'ng-select'\n})\nexport class NgSelectExtraDirective implements OnInit, AfterViewChecked, OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _markedItem: NgOption | null = null\n private _checkMarked = false\n private _keyPressWorkaroundSub: Subscription | null = null\n\n private _resizedEvent = new EventEmitter<IElementResizedEvent>()\n private _resizeSensor?: ResizeSensor\n\n /**\n * Set the tab index to `-1` to allow the root element of the ng-select\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @HostBinding('attr.tabIndex')\n get _tabIndex() { return this.ngSelect.disabled ? undefined : -1 }\n\n /**\n * Listening for focus event on root of component to allow javascript\n * `focus()` function to trigger the components focus.\n */\n @HostListener('focus', ['$event']) onFocus($event: FocusEvent) {\n const target = $event.target as HTMLElement\n if (target === this.elementRef.nativeElement && !this.ngSelect.disabled) {\n this.ngSelect.focus()\n }\n\n // ng-select has an input `labelForId` that sets the autocomplete attribute\n // in ngOnInit. I am not positive that it is wrong by doing that, but this\n // hack makes it set the attributes again on focus, because that gives the\n // result I was expecting, since we don't manually set the `labelForId`\n // input.\n const _ngSelect = this.ngSelect as any\n _ngSelect._setInputAttributes()\n }\n\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl ? this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched) : false\n }\n\n @HostBinding('class.ng-empty-string-value') get _isEmptyStringValue() {\n return this.ngControl ? this.ngControl.value === '' ? true : false : false\n }\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly _ngZone: NgZone,\n private readonly ngSelect: NgSelectComponent,\n @Optional() @Self() public readonly ngControl: NgControl\n ) { }\n\n ngOnInit() {\n this.ngSelect.focusEvent\n .subscribe(v => this._enableKeyPressWorkaround())\n\n this.ngSelect.blurEvent\n .subscribe(v => this._disableKeyPressWorkaround())\n\n window.addEventListener('scroll', this._onScroll, true)\n\n // When the input is allowed to change its height the position doesn't update itself.\n // this._resizedEvent.pipe(\n // auditTime(30)\n // ).subscribe(event => {\n // if (this.elementRef && this.elementRef.nativeElement) {\n // if (this.elementRef.nativeElement.classList.contains('ng-select-value-grow-h')) {\n // if (this.ngSelect.isOpen && this.ngSelect.dropdownPanel) {\n // this.ngSelect.dropdownPanel.updateDropdownPosition()\n // }\n // } else {\n // this.elementRef.nativeElement.classList.remove('ng-select-value-grow-h')\n // }\n // }\n // })\n\n // this._patch_ngSelect_open()\n }\n\n ngOnDestroy() {\n this._resizeSensor?.detach()\n\n window.removeEventListener('scroll', this._onScroll, true)\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewChecked() {\n if (this.ngSelect.dropdownPanel) {\n if (this._checkMarked) {\n if (this.ngSelect.dropdownPanel && this._markedItem !== null) {\n if (this._markedItem.index !== this.ngSelect.dropdownPanel.markedItem.index) {\n this.ngSelect.dropdownPanel.scrollTo(this.ngSelect.dropdownPanel.markedItem)\n }\n }\n }\n }\n this._checkMarked = false\n\n this._resizeSensor = new ResizeSensor(this.elementRef.nativeElement, (event) => {\n this._resizedEvent.emit({ element: this.elementRef.nativeElement, size: event })\n })\n }\n\n private _onScroll = (event: any) => {\n if (this.ngSelect && this.ngSelect.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string).indexOf('ng-dropdown-panel-items') !== -1\n const isInSensor = (event.target.className as string).indexOf('resize-sensor-shrink') !== -1 ||\n (event.target.className as string).indexOf('os-resize-observer-host') !== -1\n if (isScrollingInScrollHost || isInSensor) { return }\n this.ngSelect.close()\n }\n}\n\n /**\n * Temp fix for: https://github.com/ng-select/ng-select/issues/1122\n */\n // private _patch_ngSelect_open() {\n // const original = this.ngSelect.open\n // const _self = this\n // this.ngSelect.open = function() {\n // original.apply(this, arguments)\n // _self._patch_ngSelectDropdownPanel_updateDropdownPosition()\n // }\n // }\n\n /** Should ONLY be called by `_patch_ngSelect_open`. */\n // private _patch_ngSelectDropdownPanel_updateDropdownPosition() {\n // if (!this.ngSelect.dropdownPanel) { return }\n // const drop: any = this.ngSelect.dropdownPanel\n // // Only needed once, to update the position before the timeout in\n // // `updateDropdownPosition()`. So, using this variable to check if I already called\n // // `_updateAppendedDropdownPosition()`.\n // if (!drop.__libPatched) {\n // drop.__libPatched = 'patched'\n // const original = drop.updateDropdownPosition\n // const _self = this\n // drop.updateDropdownPosition = function() {\n // original.apply(this, arguments)\n // if (!!_self.ngSelect.appendTo) {\n // drop._updateAppendedDropdownPosition()\n // }\n // }\n // }\n // }\n\n private _enableKeyPressWorkaround() {\n if (this._keyPressWorkaroundSub) { return }\n const _ngSelect = <any>this.ngSelect\n\n this._keyPressWorkaroundSub = _ngSelect._keyPress$\n .pipe(takeUntil(this._ngUnsubscribe))\n .pipe(filter(() => !this.ngSelect.searchable))\n .subscribe(() => {\n this._ngZone.runOutsideAngular(() => {\n window.requestAnimationFrame(() => {\n if (this.ngSelect.dropdownPanel) {\n this._markedItem = this.ngSelect.dropdownPanel.markedItem\n }\n this._checkMarked = true\n })\n })\n })\n }\n\n private _disableKeyPressWorkaround() {\n if (this._keyPressWorkaroundSub) {\n this._keyPressWorkaroundSub.unsubscribe()\n this._keyPressWorkaroundSub = null\n }\n }\n\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core'\nimport { fromEvent, Subject } from 'rxjs'\nimport { filter, takeUntil, tap } from 'rxjs/operators'\n\nimport { QuillEditorComponent } from 'ngx-quill'\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: 'quill-editor'\n})\nexport class NgxQuillExtraDirective implements OnDestroy, AfterViewInit {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _tabIndex = -1\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) { this._tabIndex = coerceNumberProperty(value) }\n get tabIndex(): number { return this._tabIndex }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this._quillEditor.disabled ? -1 : (this.tabIndex || 0) }\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _quillEditor: QuillEditorComponent\n ) { }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n const parent = this._getParentElementForLabelFocusIssue()\n if (parent) {\n // NOTE: This is a hack to avoid an issue letting a label with \"for\"\n // attribute focus the control.\n fromEvent(parent, 'click').pipe(\n takeUntil(this._ngUnsubscribe),\n filter(e => (e.target as HTMLElement)?.getAttribute('for') === this._elementRef.nativeElement.id),\n tap(() => this._quillEditor.quillEditor.focus())\n ).subscribe()\n }\n }\n\n private _getParentElementForLabelFocusIssue(): HTMLElement | undefined {\n const findElem = (elem: HTMLElement): any => {\n if (elem.nodeName.toLowerCase() === 'seam-form-field') {\n return elem\n }\n\n if (elem.parentElement) {\n return findElem(elem.parentElement)\n }\n\n return elem\n }\n\n return findElem(this._elementRef.nativeElement)\n }\n\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { padEnd, padStart } from '@theseam/ui-common/utils'\n\n@Pipe({\n name: 'maskChars'\n})\nexport class MaskCharsPipe implements PipeTransform {\n\n transform(value: string, replacementChar: string = '*', ignoreCount: number = 0, ignoreFrom: 'left' | 'right' = 'right'): string {\n if (ignoreFrom === 'right') {\n const s = value || ''\n return padStart(s.substring(s.length - ignoreCount, s.length), s.length, replacementChar)\n } else if (ignoreFrom === 'left') {\n const s = value || ''\n return padEnd(s.substring(0, ignoreCount), s.length, replacementChar)\n }\n\n return value\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n\n transform(value: string, length: number = 30, appendEllipsis: boolean = true): string {\n let val = value\n\n if (value && typeof value === 'string' && value.length > length) {\n val = value.substr(0, length)\n if (appendEllipsis) {\n val += '...'\n }\n }\n\n return val\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamModalModule } from '@theseam/ui-common/modal'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { AutoFocusDirective } from './directives/auto-focus.directive'\nimport { ClickOutsideDirective } from './directives/click-outside.directive'\nimport { DisableControlDirective } from './directives/disable-control.directive'\nimport { ElemResizedDirective } from './directives/elem-resized.directive'\nimport { HoverClassToggleDirective } from './directives/hover-class-toggle.directive'\nimport { HoverClassDirective } from './directives/hover-class.directive'\nimport { NgSelectExtraDirective } from './directives/ng-select-extra.directive'\nimport { NgxQuillExtraDirective } from './directives/ngx-quill-extra.directive'\n\nimport { MaskCharsPipe } from './pipes/mask-chars.pipe'\nimport { TruncatePipe } from './pipes/truncate.pipe'\n\nimport { PasswordInputRevealComponent } from './components/password-input-reveal/password-input-reveal.component'\n\n@NgModule({\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamModalModule,\n TheSeamLoadingModule\n ],\n declarations: [\n AutoFocusDirective,\n ElemResizedDirective,\n PasswordInputRevealComponent,\n NgSelectExtraDirective,\n HoverClassDirective,\n HoverClassToggleDirective,\n ClickOutsideDirective,\n DisableControlDirective,\n MaskCharsPipe,\n TruncatePipe,\n NgxQuillExtraDirective\n ],\n exports: [\n AutoFocusDirective,\n ElemResizedDirective,\n PasswordInputRevealComponent,\n NgSelectExtraDirective,\n HoverClassDirective,\n HoverClassToggleDirective,\n ClickOutsideDirective,\n DisableControlDirective,\n MaskCharsPipe,\n TruncatePipe,\n NgxQuillExtraDirective,\n\n // Exporting scrollbars here for backwards compatibility for now.\n TheSeamScrollbarModule\n ]\n})\nexport class TheSeamSharedModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-shared.mjs","sources":["../../../projects/ui-common/shared/components/password-input-reveal/password-input-reveal.component.ts","../../../projects/ui-common/shared/directives/auto-focus.directive.ts","../../../projects/ui-common/shared/directives/click-outside.directive.ts","../../../projects/ui-common/shared/directives/disable-control.directive.ts","../../../projects/ui-common/shared/directives/elem-resized.directive.ts","../../../projects/ui-common/shared/directives/hover-class-toggle.directive.ts","../../../projects/ui-common/shared/directives/hover-class.directive.ts","../../../projects/ui-common/shared/directives/ng-select-extra.directive.ts","../../../projects/ui-common/shared/directives/ngx-quill-extra.directive.ts","../../../projects/ui-common/shared/pipes/mask-chars.pipe.ts","../../../projects/ui-common/shared/pipes/truncate.pipe.ts","../../../projects/ui-common/shared/shared.module.ts","../../../projects/ui-common/shared/theseam-ui-common-shared.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\n\nimport { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'\n\n@Component({\n selector: 'seam-password-input-reveal',\n template: `\n <fa-icon [icon]=\"passwordVisible ? faEyeSlash : faEye\" class=\"password-reveal-icon\" (click)=\"revealPassword()\"></fa-icon>\n `,\n styles: [\n `\n :host {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 30px;\n transform: translateZ(0);\n z-index: 50;\n }\n\n :host fa-icon {\n opacity: 1;\n color: #bababa;\n margin-top: 3px;\n cursor: pointer;\n }\n\n :host fa-icon ::ng-deep .svg-inline--fa {\n vertical-align: middle;\n }\n `\n ]\n})\nexport class PasswordInputRevealComponent {\n static ngAcceptInputType_passwordVisible: BooleanInput\n\n faEye = faEye\n faEyeSlash = faEyeSlash\n\n @Input()\n get inputRef(): HTMLInputElement | undefined | null { return this._passwordInput }\n set inputRef(value: HTMLInputElement | undefined | null) {\n this._passwordInput = value\n this.updateRevealState()\n if (this._passwordInput) {\n this._passwordInput.style.paddingRight = '40px'\n this._passwordInput.classList.add('no-native-eye')\n }\n }\n private _passwordInput: HTMLInputElement | undefined | null\n\n @Input()\n get passwordVisible() { return this._passwordVisible }\n set passwordVisible(value: boolean) {\n this._passwordVisible = coerceBooleanProperty(value)\n this.updateRevealState()\n }\n public _passwordVisible = false\n\n public updateRevealState(): void {\n if (this._passwordInput) {\n this._passwordInput.type = this.passwordVisible ? 'text' : 'password'\n }\n }\n\n public revealPassword(): void {\n this.passwordVisible = !this.passwordVisible\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, Input, OnInit, Optional } from '@angular/core'\n\nimport { getClosestModal, Modal, ModalRef } from '@theseam/ui-common/modal'\n\n@Directive({\n selector: '[seamAutoFocus]',\n exportAs: 'seamAutoFocus'\n})\nexport class AutoFocusDirective implements OnInit {\n static ngAcceptInputType_seamAutoFocus: BooleanInput\n\n private _focus = true\n\n public modalRef: ModalRef<any> | undefined | null\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _modal: Modal,\n @Optional() private _modalRef: ModalRef<any>\n ) {\n this.modalRef = _modalRef\n }\n\n ngOnInit() {\n if (!this.modalRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.modalRef = getClosestModal(this._elementRef, this._modal.openDialogs)\n }\n\n if (!this.modalRef) {\n if (this._focus) {\n setTimeout(() => { this.focus() })\n }\n } else {\n this.modalRef.afterOpened().subscribe(() => {\n setTimeout(() => { this.focus() })\n })\n }\n }\n\n @Input()\n set seamAutoFocus(condition: boolean) {\n this._focus = coerceBooleanProperty(condition) !== false\n }\n\n public focus() {\n this._elementRef.nativeElement.focus()\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Directive({\n selector: '[seamClickOutside]'\n})\nexport class ClickOutsideDirective {\n\n @Input()\n get seamClickOutsideActive(): boolean {\n return this._active\n }\n set seamClickOutsideActive(value: boolean) {\n if (this._active === value) { return }\n\n if (value) {\n // `setTimeout` is used to avoid the click event triggering when the value\n // changes if the value was changed with a click.\n setTimeout(() => { this._active = value })\n } else {\n this._active = value\n }\n }\n private _active = true\n\n @Output() seamClickOutside = new EventEmitter<MouseEvent>()\n\n // NOTE: This should probably be changed from a `HostListener` to allow the\n // subscription to be unsubscribed.\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (this._active) {\n const targetElement = event.target as HTMLElement\n // Check if the click was outside the element\n if (targetElement && !this.elementRef.nativeElement.contains(targetElement)) {\n this.seamClickOutside.emit(event)\n }\n }\n }\n\n constructor(private elementRef: ElementRef) { }\n\n}\n","import { Directive, Input } from '@angular/core'\nimport { NgControl } from '@angular/forms'\n\n// Source: https://netbasal.com/disabling-form-controls-when-working-with-reactive-forms-in-angular-549dd7b42110\n\n@Directive({\n selector: '[seamDisableControl]'\n})\nexport class DisableControlDirective {\n\n @Input() set seamDisableControl(condition: boolean) {\n const action = condition ? 'disable' : 'enable'\n const control = this.ngControl.control\n if (control) {\n control[action]()\n }\n }\n\n constructor(private ngControl: NgControl) { }\n\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, OnDestroy, Output } from '@angular/core'\n\nimport { ResizeSensor } from 'css-element-queries'\n\nexport interface IElementResizedEvent {\n element: HTMLElement\n size: { width: number, height: number }\n}\n\n@Directive({\n selector: '[seamElemResized]'\n})\nexport class ElemResizedDirective implements OnDestroy, AfterViewInit {\n\n @Output() seamElemResized = new EventEmitter<IElementResizedEvent>()\n\n sensor?: ResizeSensor\n\n constructor(private elementRef: ElementRef) { }\n\n ngAfterViewInit() {\n this.sensor = new ResizeSensor(this.elementRef.nativeElement, event => {\n this.seamElemResized.emit({ element: this.elementRef.nativeElement, size: event })\n })\n }\n\n ngOnDestroy() {\n this.sensor?.detach()\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\nexport interface IHoverClassToggleRecord {\n default: string\n hover: string\n}\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClassToggle]'\n})\nexport class HoverClassToggleDirective {\n\n private _hovered = false\n private _defaultClasses: string[] = []\n private _hoverClasses: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver($event: _PointerEvent) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClassToggle(value: IHoverClassToggleRecord) {\n if (value) {\n if (value.default) {\n this._defaultClasses = value.default.split(' ').filter(c => c.length > 0)\n }\n if (value.hover) {\n this._hoverClasses = value.hover.split(' ').filter(c => c.length > 0)\n }\n }\n\n this._hoverClasses = this._hoverClasses.filter(v => !this._defaultClasses.find(_v => _v === v))\n\n this._update()\n }\n\n constructor(\n private readonly _element: ElementRef\n ) { }\n\n private _update(): void {\n for (const c of this._defaultClasses) {\n this._hovered ? this._removeClass(c) : this._addClass(c)\n }\n for (const c of this._hoverClasses) {\n this._hovered ? this._addClass(c) : this._removeClass(c)\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._element.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._element.nativeElement.classList.remove(c)\n }\n\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClass]'\n})\nexport class HoverClassDirective {\n\n private _hovered = false\n private _classes: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver($event: _PointerEvent) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClass(classList: string) {\n const newClasses = classList.split(' ').filter(c => c.length > 0)\n for (const c of this._classes) {\n if (newClasses.indexOf(c) !== 0) {\n this._removeClass(c)\n }\n }\n this._classes = newClasses\n this._update()\n }\n\n constructor(\n private readonly _element: ElementRef\n ) { }\n\n private _update(): void {\n for (const c of this._classes) {\n this._hovered ? this._addClass(c) : this._removeClass(c)\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._element.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._element.nativeElement.classList.remove(c)\n }\n\n}\n","import { AfterViewChecked, Directive, ElementRef, EventEmitter, HostBinding,\n HostListener, NgZone, OnDestroy, OnInit, Optional, Self } from '@angular/core'\nimport { NgControl } from '@angular/forms'\nimport { Subject, Subscription } from 'rxjs'\nimport { filter, takeUntil } from 'rxjs/operators'\n\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select'\nimport { ResizeSensor } from 'css-element-queries'\n\nimport { IElementResizedEvent } from './elem-resized.directive'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select'\n})\nexport class NgSelectExtraDirective implements OnInit, AfterViewChecked, OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _markedItem: NgOption | null = null\n private _checkMarked = false\n private _keyPressWorkaroundSub: Subscription | null = null\n\n private _resizedEvent = new EventEmitter<IElementResizedEvent>()\n private _resizeSensor?: ResizeSensor\n\n /**\n * Set the tab index to `-1` to allow the root element of the ng-select\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @HostBinding('attr.tabIndex')\n get _tabIndex() { return this.ngSelect.disabled ? undefined : -1 }\n\n /**\n * Listening for focus event on root of component to allow javascript\n * `focus()` function to trigger the components focus.\n */\n @HostListener('focus', ['$event']) onFocus($event: FocusEvent) {\n const target = $event.target as HTMLElement\n if (target === this.elementRef.nativeElement && !this.ngSelect.disabled) {\n this.ngSelect.focus()\n }\n\n // ng-select has an input `labelForId` that sets the autocomplete attribute\n // in ngOnInit. I am not positive that it is wrong by doing that, but this\n // hack makes it set the attributes again on focus, because that gives the\n // result I was expecting, since we don't manually set the `labelForId`\n // input.\n const _ngSelect = this.ngSelect as any\n _ngSelect._setInputAttributes()\n }\n\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl ? this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched) : false\n }\n\n @HostBinding('class.ng-empty-string-value') get _isEmptyStringValue() {\n return this.ngControl ? this.ngControl.value === '' : false\n }\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly _ngZone: NgZone,\n private readonly ngSelect: NgSelectComponent,\n @Optional() @Self() public readonly ngControl: NgControl\n ) { }\n\n ngOnInit() {\n this.ngSelect.focusEvent\n .subscribe(v => this._enableKeyPressWorkaround())\n\n this.ngSelect.blurEvent\n .subscribe(v => this._disableKeyPressWorkaround())\n\n window.addEventListener('scroll', this._onScroll, true)\n\n // When the input is allowed to change its height the position doesn't update itself.\n // this._resizedEvent.pipe(\n // auditTime(30)\n // ).subscribe(event => {\n // if (this.elementRef && this.elementRef.nativeElement) {\n // if (this.elementRef.nativeElement.classList.contains('ng-select-value-grow-h')) {\n // if (this.ngSelect.isOpen && this.ngSelect.dropdownPanel) {\n // this.ngSelect.dropdownPanel.updateDropdownPosition()\n // }\n // } else {\n // this.elementRef.nativeElement.classList.remove('ng-select-value-grow-h')\n // }\n // }\n // })\n\n // this._patch_ngSelect_open()\n }\n\n ngOnDestroy() {\n this._resizeSensor?.detach()\n\n window.removeEventListener('scroll', this._onScroll, true)\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewChecked() {\n if (this.ngSelect.dropdownPanel) {\n if (this._checkMarked) {\n if (this.ngSelect.dropdownPanel && this._markedItem !== null) {\n if (this._markedItem.index !== this.ngSelect.dropdownPanel.markedItem.index) {\n this.ngSelect.dropdownPanel.scrollTo(this.ngSelect.dropdownPanel.markedItem)\n }\n }\n }\n }\n this._checkMarked = false\n\n this._resizeSensor = new ResizeSensor(this.elementRef.nativeElement, event => {\n this._resizedEvent.emit({ element: this.elementRef.nativeElement, size: event })\n })\n }\n\n private _onScroll = (event: any) => {\n if (this.ngSelect && this.ngSelect.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string).indexOf('ng-dropdown-panel-items') !== -1\n const isInSensor = (event.target.className as string).indexOf('resize-sensor-shrink') !== -1 ||\n (event.target.className as string).indexOf('os-resize-observer-host') !== -1\n if (isScrollingInScrollHost || isInSensor) { return }\n this.ngSelect.close()\n }\n}\n\n /**\n * Temp fix for: https://github.com/ng-select/ng-select/issues/1122\n */\n // private _patch_ngSelect_open() {\n // const original = this.ngSelect.open\n // const _self = this\n // this.ngSelect.open = function() {\n // original.apply(this, arguments)\n // _self._patch_ngSelectDropdownPanel_updateDropdownPosition()\n // }\n // }\n\n /** Should ONLY be called by `_patch_ngSelect_open`. */\n // private _patch_ngSelectDropdownPanel_updateDropdownPosition() {\n // if (!this.ngSelect.dropdownPanel) { return }\n // const drop: any = this.ngSelect.dropdownPanel\n // // Only needed once, to update the position before the timeout in\n // // `updateDropdownPosition()`. So, using this variable to check if I already called\n // // `_updateAppendedDropdownPosition()`.\n // if (!drop.__libPatched) {\n // drop.__libPatched = 'patched'\n // const original = drop.updateDropdownPosition\n // const _self = this\n // drop.updateDropdownPosition = function() {\n // original.apply(this, arguments)\n // if (!!_self.ngSelect.appendTo) {\n // drop._updateAppendedDropdownPosition()\n // }\n // }\n // }\n // }\n\n private _enableKeyPressWorkaround() {\n if (this._keyPressWorkaroundSub) { return }\n const _ngSelect = this.ngSelect as any\n\n this._keyPressWorkaroundSub = _ngSelect._keyPress$\n .pipe(takeUntil(this._ngUnsubscribe))\n .pipe(filter(() => !this.ngSelect.searchable))\n .subscribe(() => {\n this._ngZone.runOutsideAngular(() => {\n window.requestAnimationFrame(() => {\n if (this.ngSelect.dropdownPanel) {\n this._markedItem = this.ngSelect.dropdownPanel.markedItem\n }\n this._checkMarked = true\n })\n })\n })\n }\n\n private _disableKeyPressWorkaround() {\n if (this._keyPressWorkaroundSub) {\n this._keyPressWorkaroundSub.unsubscribe()\n this._keyPressWorkaroundSub = null\n }\n }\n\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core'\nimport { fromEvent, Subject } from 'rxjs'\nimport { filter, takeUntil, tap } from 'rxjs/operators'\n\nimport { QuillEditorComponent } from 'ngx-quill'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'quill-editor'\n})\nexport class NgxQuillExtraDirective implements OnDestroy, AfterViewInit {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _tabIndex = -1\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) { this._tabIndex = coerceNumberProperty(value) }\n get tabIndex(): number { return this._tabIndex }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this._quillEditor.disabled ? -1 : (this.tabIndex || 0) }\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _quillEditor: QuillEditorComponent\n ) { }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n const parent = this._getParentElementForLabelFocusIssue()\n if (parent) {\n // NOTE: This is a hack to avoid an issue letting a label with \"for\"\n // attribute focus the control.\n fromEvent(parent, 'click').pipe(\n takeUntil(this._ngUnsubscribe),\n filter(e => (e.target as HTMLElement)?.getAttribute('for') === this._elementRef.nativeElement.id),\n tap(() => this._quillEditor.quillEditor.focus())\n ).subscribe()\n }\n }\n\n private _getParentElementForLabelFocusIssue(): HTMLElement | undefined {\n const findElem = (elem: HTMLElement): any => {\n if (elem.nodeName.toLowerCase() === 'seam-form-field') {\n return elem\n }\n\n if (elem.parentElement) {\n return findElem(elem.parentElement)\n }\n\n return elem\n }\n\n return findElem(this._elementRef.nativeElement)\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { padEnd, padStart } from '@theseam/ui-common/utils'\n\n@Pipe({\n name: 'maskChars'\n})\nexport class MaskCharsPipe implements PipeTransform {\n\n transform(value: string, replacementChar: string = '*', ignoreCount: number = 0, ignoreFrom: 'left' | 'right' = 'right'): string {\n if (ignoreFrom === 'right') {\n const s = value || ''\n return padStart(s.substring(s.length - ignoreCount, s.length), s.length, replacementChar)\n } else if (ignoreFrom === 'left') {\n const s = value || ''\n return padEnd(s.substring(0, ignoreCount), s.length, replacementChar)\n }\n\n return value\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n\n transform(value: string, length: number = 30, appendEllipsis: boolean = true): string {\n let val = value\n\n if (value && typeof value === 'string' && value.length > length) {\n val = value.substr(0, length)\n if (appendEllipsis) {\n val += '...'\n }\n }\n\n return val\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamModalModule } from '@theseam/ui-common/modal'\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { AutoFocusDirective } from './directives/auto-focus.directive'\nimport { ClickOutsideDirective } from './directives/click-outside.directive'\nimport { DisableControlDirective } from './directives/disable-control.directive'\nimport { ElemResizedDirective } from './directives/elem-resized.directive'\nimport { HoverClassToggleDirective } from './directives/hover-class-toggle.directive'\nimport { HoverClassDirective } from './directives/hover-class.directive'\nimport { NgSelectExtraDirective } from './directives/ng-select-extra.directive'\nimport { NgxQuillExtraDirective } from './directives/ngx-quill-extra.directive'\n\nimport { MaskCharsPipe } from './pipes/mask-chars.pipe'\nimport { TruncatePipe } from './pipes/truncate.pipe'\n\nimport { PasswordInputRevealComponent } from './components/password-input-reveal/password-input-reveal.component'\n\n@NgModule({\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamModalModule,\n TheSeamLoadingModule\n ],\n declarations: [\n AutoFocusDirective,\n ElemResizedDirective,\n PasswordInputRevealComponent,\n NgSelectExtraDirective,\n HoverClassDirective,\n HoverClassToggleDirective,\n ClickOutsideDirective,\n DisableControlDirective,\n MaskCharsPipe,\n TruncatePipe,\n NgxQuillExtraDirective\n ],\n exports: [\n AutoFocusDirective,\n ElemResizedDirective,\n PasswordInputRevealComponent,\n NgSelectExtraDirective,\n HoverClassDirective,\n HoverClassToggleDirective,\n ClickOutsideDirective,\n DisableControlDirective,\n MaskCharsPipe,\n TruncatePipe,\n NgxQuillExtraDirective,\n\n // Exporting scrollbars here for backwards compatibility for now.\n TheSeamScrollbarModule\n ]\n})\nexport class TheSeamSharedModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
@@ -44,7 +44,7 @@ class LocalStorageMemory {
44
44
  * @param key name of item to be removed.
45
45
  */
46
46
  removeItem(key) {
47
- if (this._cache.hasOwnProperty(key)) {
47
+ if (Object.prototype.hasOwnProperty.call(this._cache, key)) {
48
48
  delete this._cache[key];
49
49
  this.length--;
50
50
  }
@@ -60,10 +60,10 @@ class LocalStorageMemory {
60
60
  this.removeItem(key);
61
61
  }
62
62
  else {
63
- if (!this._cache.hasOwnProperty(key)) {
63
+ if (!Object.prototype.hasOwnProperty.call(this._cache, key)) {
64
64
  this.length++;
65
65
  }
66
- this._cache[key] = '' + value;
66
+ this._cache[key] = `${value}`;
67
67
  }
68
68
  }
69
69
  }
@@ -96,7 +96,7 @@ class LocalStorageService {
96
96
  * class instance.
97
97
  */
98
98
  select(key, defaultValue = null) {
99
- if (this.subjects.hasOwnProperty(key)) {
99
+ if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {
100
100
  return this.subjects[key];
101
101
  }
102
102
  if (!this._localStorage.getItem(key) && defaultValue) {
@@ -107,7 +107,7 @@ class LocalStorageService {
107
107
  }
108
108
  /** Get a localStorage item. */
109
109
  get(key, defaultValue = null) {
110
- if (this.subjects.hasOwnProperty(key)) {
110
+ if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {
111
111
  return this.subjects[key].value;
112
112
  }
113
113
  if (!this._localStorage.getItem(key) && defaultValue) {
@@ -119,21 +119,21 @@ class LocalStorageService {
119
119
  /** Set a localStorage item. */
120
120
  set(key, value) {
121
121
  this._localStorage.setItem(key, value);
122
- if (this.subjects.hasOwnProperty(key)) {
122
+ if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {
123
123
  this.subjects[key].next(value);
124
124
  }
125
125
  }
126
126
  /** Remove a localStorage item. */
127
127
  remove(key) {
128
128
  this._localStorage.removeItem(key);
129
- if (this.subjects.hasOwnProperty(key)) {
129
+ if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {
130
130
  this.subjects[key].next(null);
131
131
  }
132
132
  }
133
133
  }
134
- LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: LocalStorageService, decorators: [{
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: [{
137
137
  type: Injectable,
138
138
  args: [{
139
139
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-storage.mjs","sources":["../../../projects/ui-common/storage/localstorage-memory.ts","../../../projects/ui-common/storage/local-storage.service.ts","../../../projects/ui-common/storage/theseam-ui-common-storage.ts"],"sourcesContent":["\nexport class LocalStorageMemory implements Storage {\n [name: string]: any\n\n private _cache: { [key: string]: string } = {}\n\n /**\n * Number of stored items.\n */\n public length: number = 0\n\n /**\n * Removes all stored items and sets length to 0.\n */\n public clear(): void {\n this._cache = {}\n this.length = 0\n }\n\n /**\n * Returns item for passed key, or null.\n *\n * @param key name of item to be returned.\n */\n public getItem(key: string): string | null {\n if (key in this._cache) {\n return this._cache[key]\n }\n\n return null\n }\n\n /**\n * Returns name of key at passed index.\n *\n * @param index position for key to be returned (starts at 0).\n */\n public key(index: number): string | null {\n return Object.keys(this._cache)[index] || null\n }\n\n /**\n * Removes item for passed key.\n *\n * @param key name of item to be removed.\n */\n public removeItem(key: string): void {\n if (this._cache.hasOwnProperty(key)) {\n delete this._cache[key]\n this.length--\n }\n }\n\n /**\n * Sets item for key to passed value, as string.\n *\n * @param key name of item to be set.\n * @param value value, will always be turned into a string.\n */\n public setItem(key: string, value: string): void {\n if (typeof value === 'undefined') {\n this.removeItem(key)\n } else {\n if (!this._cache.hasOwnProperty(key)) {\n this.length++\n }\n\n this._cache[key] = '' + value\n }\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs'\nimport { filter, map, tap } from 'rxjs/operators'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { LocalStorageMemory } from './localstorage-memory'\n\n// NOTE: Temporary localStorage polyfill just to get the app running without localStorage for now.\nconst localStorage: Storage = 'localStorage' in window && window.localStorage != null ? window.localStorage : new LocalStorageMemory()\n\nexport interface ILocalStorageService {\n select(key: string, defaultValue: string | null): Observable<string | null>\n get(key: string, defaultValue: string | null): string | null\n set(key: string, value: string): void\n remove(key: string): void\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService implements ILocalStorageService {\n protected readonly subjects: { [key: string]: BehaviorSubject<string | null> } = {}\n\n /** This is only here for testing/debugging. */\n private readonly _localStorage = localStorage\n\n constructor() {\n fromEvent<StorageEvent>(window, 'storage').pipe(\n map(e => e.key),\n filter(notNullOrUndefined),\n tap(key => {\n const subjectValue = this.get(key)\n const storedValue = this._localStorage.getItem(key)\n if (subjectValue !== storedValue) {\n if (storedValue) {\n this.set(key, storedValue)\n } else {\n this.remove(key)\n }\n }\n }),\n )\n .subscribe()\n }\n\n /**\n * Observe a localStorage item.\n *\n * NOTE: Only emits changes if the item is changed with the set method of this\n * class instance.\n */\n public select(key: string, defaultValue: string | null = null): Observable<string | null> {\n if (this.subjects.hasOwnProperty(key)) {\n return this.subjects[key]\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value))\n }\n\n /** Get a localStorage item. */\n public get(key: string, defaultValue: string | null = null): string | null {\n if (this.subjects.hasOwnProperty(key)) {\n return this.subjects[key].value\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value)).value\n }\n\n /** Set a localStorage item. */\n public set(key: string, value: string): void {\n this._localStorage.setItem(key, value)\n\n if (this.subjects.hasOwnProperty(key)) {\n this.subjects[key].next(value)\n }\n }\n\n /** Remove a localStorage item. */\n public remove(key: string): void {\n this._localStorage.removeItem(key)\n\n if (this.subjects.hasOwnProperty(key)) {\n this.subjects[key].next(null)\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MACa,kBAAkB,CAAA;AAA/B,IAAA,WAAA,GAAA;AAGU,QAAA,IAAM,CAAA,MAAA,GAA8B,EAAE,CAAA;AAE9C;;AAEG;AACI,QAAA,IAAM,CAAA,MAAA,GAAW,CAAC,CAAA;KA8D1B;AA5DC;;AAEG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;KAChB;AAED;;;;AAIG;AACI,IAAA,OAAO,CAAC,GAAW,EAAA;AACxB,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;AACtB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACxB,SAAA;AAED,QAAA,OAAO,IAAI,CAAA;KACZ;AAED;;;;AAIG;AACI,IAAA,GAAG,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;KAC/C;AAED;;;;AAIG;AACI,IAAA,UAAU,CAAC,GAAW,EAAA;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,CAAC,MAAM,EAAE,CAAA;AACd,SAAA;KACF;AAED;;;;;AAKG;IACI,OAAO,CAAC,GAAW,EAAE,KAAa,EAAA;AACvC,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACrB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACpC,IAAI,CAAC,MAAM,EAAE,CAAA;AACd,aAAA;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAC9B,SAAA;KACF;AAEF;;AC/DD;AACA,MAAM,YAAY,GAAY,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAA;MAYzH,mBAAmB,CAAA;AAM9B,IAAA,WAAA,GAAA;AALmB,QAAA,IAAQ,CAAA,QAAA,GAAsD,EAAE,CAAA;;AAGlE,QAAA,IAAa,CAAA,aAAA,GAAG,YAAY,CAAA;AAG3C,QAAA,SAAS,CAAe,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAC7C,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EACf,MAAM,CAAC,kBAAkB,CAAC,EAC1B,GAAG,CAAC,GAAG,IAAG;YACR,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACnD,IAAI,YAAY,KAAK,WAAW,EAAE;AAChC,gBAAA,IAAI,WAAW,EAAE;AACf,oBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAC3B,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACjB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CACH;AACA,aAAA,SAAS,EAAE,CAAA;KACb;AAED;;;;;AAKG;AACI,IAAA,MAAM,CAAC,GAAW,EAAE,YAAA,GAA8B,IAAI,EAAA;QAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC1B,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE;YACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;AAC9C,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,CAAA;AAE7D,QAAA,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,EAAC;KACzD;;AAGM,IAAA,GAAG,CAAC,GAAW,EAAE,YAAA,GAA8B,IAAI,EAAA;QACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;AAChC,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE;YACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;AAC9C,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,CAAA;AAE7D,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAC/D;;IAGM,GAAG,CAAC,GAAW,EAAE,KAAa,EAAA;QACnC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,SAAA;KACF;;AAGM,IAAA,MAAM,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,SAAA;KACF;;gHA5EU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACpBD;;AAEG;;;;"}
1
+ {"version":3,"file":"theseam-ui-common-storage.mjs","sources":["../../../projects/ui-common/storage/localstorage-memory.ts","../../../projects/ui-common/storage/local-storage.service.ts","../../../projects/ui-common/storage/theseam-ui-common-storage.ts"],"sourcesContent":["\nexport class LocalStorageMemory implements Storage {\n [name: string]: any\n\n private _cache: { [key: string]: string } = {}\n\n /**\n * Number of stored items.\n */\n public length = 0\n\n /**\n * Removes all stored items and sets length to 0.\n */\n public clear(): void {\n this._cache = {}\n this.length = 0\n }\n\n /**\n * Returns item for passed key, or null.\n *\n * @param key name of item to be returned.\n */\n public getItem(key: string): string | null {\n if (key in this._cache) {\n return this._cache[key]\n }\n\n return null\n }\n\n /**\n * Returns name of key at passed index.\n *\n * @param index position for key to be returned (starts at 0).\n */\n public key(index: number): string | null {\n return Object.keys(this._cache)[index] || null\n }\n\n /**\n * Removes item for passed key.\n *\n * @param key name of item to be removed.\n */\n public removeItem(key: string): void {\n if (Object.prototype.hasOwnProperty.call(this._cache, key)) {\n delete this._cache[key]\n this.length--\n }\n }\n\n /**\n * Sets item for key to passed value, as string.\n *\n * @param key name of item to be set.\n * @param value value, will always be turned into a string.\n */\n public setItem(key: string, value: string): void {\n if (typeof value === 'undefined') {\n this.removeItem(key)\n } else {\n if (!Object.prototype.hasOwnProperty.call(this._cache, key)) {\n this.length++\n }\n\n this._cache[key] = `${value}`\n }\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs'\nimport { filter, map, tap } from 'rxjs/operators'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { LocalStorageMemory } from './localstorage-memory'\n\n// NOTE: Temporary localStorage polyfill just to get the app running without localStorage for now.\nconst localStorage: Storage = 'localStorage' in window && window.localStorage != null ? window.localStorage : new LocalStorageMemory()\n\nexport interface ILocalStorageService {\n select(key: string, defaultValue: string | null): Observable<string | null>\n get(key: string, defaultValue: string | null): string | null\n set(key: string, value: string): void\n remove(key: string): void\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService implements ILocalStorageService {\n protected readonly subjects: { [key: string]: BehaviorSubject<string | null> } = {}\n\n /** This is only here for testing/debugging. */\n private readonly _localStorage = localStorage\n\n constructor() {\n fromEvent<StorageEvent>(window, 'storage').pipe(\n map(e => e.key),\n filter(notNullOrUndefined),\n tap(key => {\n const subjectValue = this.get(key)\n const storedValue = this._localStorage.getItem(key)\n if (subjectValue !== storedValue) {\n if (storedValue) {\n this.set(key, storedValue)\n } else {\n this.remove(key)\n }\n }\n }),\n )\n .subscribe()\n }\n\n /**\n * Observe a localStorage item.\n *\n * NOTE: Only emits changes if the item is changed with the set method of this\n * class instance.\n */\n public select(key: string, defaultValue: string | null = null): Observable<string | null> {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key]\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value))\n }\n\n /** Get a localStorage item. */\n public get(key: string, defaultValue: string | null = null): string | null {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key].value\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value)).value\n }\n\n /** Set a localStorage item. */\n public set(key: string, value: string): void {\n this._localStorage.setItem(key, value)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(value)\n }\n }\n\n /** Remove a localStorage item. */\n public remove(key: string): void {\n this._localStorage.removeItem(key)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(null)\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}