@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
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-asset-reader.mjs","sources":["../../../projects/ui-common/asset-reader/encrypted-asset-reader.ts","../../../projects/ui-common/asset-reader/asset-reader-helper.service.ts","../../../projects/ui-common/asset-reader/encrypted-asset-link.directive.ts","../../../projects/ui-common/asset-reader/asset-reader.module.ts","../../../projects/ui-common/asset-reader/theseam-ui-common-asset-reader.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\n/**\n *\n * THIS SHOULD BE IMPLEMENTED AND PROVIDED BY APPLICATION USING 'ui-common'.\n *\n * Example:\n * ```\n * @NgModule({\n * imports: [ ... ],\n * declarations: [ ... ]\n * providers: [\n * ...,\n * { provide: IEncryptedAssetReaderService useClass: YourAssetService }\n * ]\n * }\n * ```\n *\n */\n\nexport abstract class EncryptedAssetReader {\n\n abstract getAssetBlobFromUrl(url: string, detectMimeFromContent: boolean): Observable<Blob | { blob: Blob, filename?: string }>\n\n}\n","import { Injectable, isDevMode, Optional } from '@angular/core'\nimport { from, Observable, of, throwError } from 'rxjs'\nimport { catchError, map, mapTo, switchMap, tap } from 'rxjs/operators'\n\nimport FileSaver from 'file-saver'\n\nimport { fileDataFromBuffer, openBlob, readFileAsync } from '@theseam/ui-common/utils'\n\nimport { EncryptedAssetReader } from './encrypted-asset-reader'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetReaderHelperService {\n\n constructor(\n @Optional() private _assetReader?: EncryptedAssetReader\n ) {\n if (isDevMode() && !this._assetReader) {\n console.warn(`[EncryptedAssetLinkDirective] Unable to get encrypted files unless an EncryptedAssetReader is provided.`)\n }\n }\n\n public openLink(\n url: string,\n detectMimeFromContent: boolean = true,\n download: boolean = true,\n target?: string\n ): Observable<boolean> {\n if (!(url === undefined || url === null)) {\n if (!this._assetReader) {\n // Fallback\n const win = window.open(url, target)\n // TODO: Consider if always setting opener to null is to restrictive\n // if (win && target && target.toLowerCase() === '_blank') {\n // win.opener = null\n // }\n return of(false)\n }\n\n const data$ = this._assetReader.getAssetBlobFromUrl(url, detectMimeFromContent)\n .pipe(\n switchMap(v => {\n const filename: string | undefined = v instanceof Blob ? undefined : v.filename\n const blob: Blob = v instanceof Blob ? v : v.blob\n return from(readFileAsync(blob))\n .pipe(\n switchMap(_buf => !!_buf\n ? from(fileDataFromBuffer(_buf))\n : throwError('Unable to read file.')\n ),\n map(data => ({ ...data, blob, filename }))\n )\n })\n )\n\n const open$ = data$\n .pipe(\n tap(data => {\n if (!data || !data.blob) { throw new Error('File unsuccessfully read.') }\n const filename = data.filename ? data.filename : `Untitled${data.ext ? `.${data.ext}` : ''}`\n if (download) {\n FileSaver.saveAs(data.blob, filename)\n } else {\n openBlob(data.blob, target, filename)\n }\n }),\n catchError(err => {\n if (isDevMode()) { console.error('err', err) }\n return of(false)\n }),\n mapTo(true)\n )\n\n return open$\n }\n\n return of(false)\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, HostBinding, HostListener, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLoadingOverlayService } from '@theseam/ui-common/loading'\n\nimport { AssetReaderHelperService } from './asset-reader-helper.service'\n\n// TODO: Add a dev warning or handle both `seamEncryptedAssetLink` and `attr.href` being set on a single element.\n\n// TODO: This can easily be used for non-encrypted assets, because the provided\n// reader can do whatever it wants. So, consider renaming to 'seamAssetLink'.\n\n@Directive({\n selector: '[seamEncryptedAssetLink]'\n})\nexport class EncryptedAssetLinkDirective {\n static ngAcceptInputType_seamShowLoadingOverlay: BooleanInput\n static ngAcceptInputType_seamDetectMimeFromContent: BooleanInput\n static ngAcceptInputType_seamDownloadAsset: BooleanInput\n\n @Input() seamEncryptedAssetLink: string | undefined | null\n @Input() @InputBoolean() seamShowLoadingOverlay = true\n @Input() @InputBoolean() seamDetectMimeFromContent = true\n @Input() @InputBoolean() seamDownloadAsset = false\n\n // TODO: Find out why I need this for buttons.\n @HostBinding('attr.href') get _attrHref() { return this.seamEncryptedAssetLink }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: MouseEvent) {\n if (!this.seamEncryptedAssetLink) { return }\n\n let open$ = this._assetReaderHelper.openLink(\n this.seamEncryptedAssetLink,\n this.seamDetectMimeFromContent,\n this.seamDownloadAsset,\n this._isAnchor() && this._hasTarget() ? this._getTarget() : undefined\n )\n if (this.seamShowLoadingOverlay) {\n open$ = this._loading.while(open$)\n }\n open$.subscribe()\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _assetReaderHelper: AssetReaderHelperService,\n private _loading: TheSeamLoadingOverlayService\n ) { }\n\n /** Determines if the component host is an anchor. */\n protected _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n protected _hasTarget(): boolean {\n const elem = this._elementRef.nativeElement as HTMLAnchorElement\n return !(elem.target === undefined || elem.target === null)\n }\n\n protected _getTarget(): string {\n return (this._elementRef.nativeElement as HTMLAnchorElement).target\n }\n\n}\n","import { NgModule } from '@angular/core'\n\nimport { EncryptedAssetLinkDirective } from './encrypted-asset-link.directive'\n\n@NgModule({\n declarations: [\n EncryptedAssetLinkDirective\n ],\n exports: [\n EncryptedAssetLinkDirective\n ]\n})\nexport class TheSeamAssetReaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EncryptedAssetReader","i1.AssetReaderHelperService"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-asset-reader.mjs","sources":["../../../projects/ui-common/asset-reader/encrypted-asset-reader.ts","../../../projects/ui-common/asset-reader/asset-reader-helper.service.ts","../../../projects/ui-common/asset-reader/encrypted-asset-link.directive.ts","../../../projects/ui-common/asset-reader/asset-reader.module.ts","../../../projects/ui-common/asset-reader/theseam-ui-common-asset-reader.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\n/**\n *\n * THIS SHOULD BE IMPLEMENTED AND PROVIDED BY APPLICATION USING 'ui-common'.\n *\n * Example:\n * ```\n * @NgModule({\n * imports: [ ... ],\n * declarations: [ ... ]\n * providers: [\n * ...,\n * { provide: IEncryptedAssetReaderService useClass: YourAssetService }\n * ]\n * }\n * ```\n *\n */\n\nexport abstract class EncryptedAssetReader {\n\n abstract getAssetBlobFromUrl(url: string, detectMimeFromContent: boolean): Observable<Blob | { blob: Blob, filename?: string }>\n\n}\n","import { Injectable, isDevMode, Optional } from '@angular/core'\nimport { from, Observable, of, throwError } from 'rxjs'\nimport { catchError, map, mapTo, switchMap, tap } from 'rxjs/operators'\n\nimport FileSaver from 'file-saver'\n\nimport { fileDataFromBuffer, openBlob, readFileAsync } from '@theseam/ui-common/utils'\n\nimport { EncryptedAssetReader } from './encrypted-asset-reader'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetReaderHelperService {\n\n constructor(\n @Optional() private _assetReader?: EncryptedAssetReader\n ) {\n if (isDevMode() && !this._assetReader) {\n // eslint-disable-next-line no-console\n console.warn(`[EncryptedAssetLinkDirective] Unable to get encrypted files unless an EncryptedAssetReader is provided.`)\n }\n }\n\n public openLink(\n url: string,\n detectMimeFromContent: boolean = true,\n download: boolean = true,\n target?: string\n ): Observable<boolean> {\n if (!(url === undefined || url === null)) {\n if (!this._assetReader) {\n // Fallback\n const win = window.open(url, target)\n // TODO: Consider if always setting opener to null is to restrictive\n // if (win && target && target.toLowerCase() === '_blank') {\n // win.opener = null\n // }\n return of(false)\n }\n\n const data$ = this._assetReader.getAssetBlobFromUrl(url, detectMimeFromContent)\n .pipe(\n switchMap(v => {\n const filename: string | undefined = v instanceof Blob ? undefined : v.filename\n const blob: Blob = v instanceof Blob ? v : v.blob\n return from(readFileAsync(blob))\n .pipe(\n switchMap(_buf => _buf\n ? from(fileDataFromBuffer(_buf))\n : throwError('Unable to read file.')\n ),\n map(data => ({ ...data, blob, filename }))\n )\n })\n )\n\n const open$ = data$\n .pipe(\n tap(data => {\n if (!data || !data.blob) { throw new Error('File unsuccessfully read.') }\n const filename = data.filename ? data.filename : `Untitled${data.ext ? `.${data.ext}` : ''}`\n if (download) {\n FileSaver.saveAs(data.blob, filename)\n } else {\n openBlob(data.blob, target, filename)\n }\n }),\n catchError(err => {\n // eslint-disable-next-line no-console\n if (isDevMode()) { console.error('err', err) }\n return of(false)\n }),\n mapTo(true)\n )\n\n return open$\n }\n\n return of(false)\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, HostBinding, HostListener, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamLoadingOverlayService } from '@theseam/ui-common/loading'\n\nimport { AssetReaderHelperService } from './asset-reader-helper.service'\n\n// TODO: Add a dev warning or handle both `seamEncryptedAssetLink` and `attr.href` being set on a single element.\n\n// TODO: This can easily be used for non-encrypted assets, because the provided\n// reader can do whatever it wants. So, consider renaming to 'seamAssetLink'.\n\n@Directive({\n selector: '[seamEncryptedAssetLink]'\n})\nexport class EncryptedAssetLinkDirective {\n static ngAcceptInputType_seamShowLoadingOverlay: BooleanInput\n static ngAcceptInputType_seamDetectMimeFromContent: BooleanInput\n static ngAcceptInputType_seamDownloadAsset: BooleanInput\n\n @Input() seamEncryptedAssetLink: string | undefined | null\n @Input() @InputBoolean() seamShowLoadingOverlay = true\n @Input() @InputBoolean() seamDetectMimeFromContent = true\n @Input() @InputBoolean() seamDownloadAsset = false\n\n // TODO: Find out why I need this for buttons.\n @HostBinding('attr.href') get _attrHref() { return this.seamEncryptedAssetLink }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: MouseEvent) {\n if (!this.seamEncryptedAssetLink) { return }\n\n let open$ = this._assetReaderHelper.openLink(\n this.seamEncryptedAssetLink,\n this.seamDetectMimeFromContent,\n this.seamDownloadAsset,\n this._isAnchor() && this._hasTarget() ? this._getTarget() : undefined\n )\n if (this.seamShowLoadingOverlay) {\n open$ = this._loading.while(open$)\n }\n open$.subscribe()\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _assetReaderHelper: AssetReaderHelperService,\n private _loading: TheSeamLoadingOverlayService\n ) { }\n\n /** Determines if the component host is an anchor. */\n protected _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n protected _hasTarget(): boolean {\n const elem = this._elementRef.nativeElement as HTMLAnchorElement\n return !(elem.target === undefined || elem.target === null)\n }\n\n protected _getTarget(): string {\n return (this._elementRef.nativeElement as HTMLAnchorElement).target\n }\n\n}\n","import { NgModule } from '@angular/core'\n\nimport { EncryptedAssetLinkDirective } from './encrypted-asset-link.directive'\n\n@NgModule({\n declarations: [\n EncryptedAssetLinkDirective\n ],\n exports: [\n EncryptedAssetLinkDirective\n ]\n})\nexport class TheSeamAssetReaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EncryptedAssetReader","i1.AssetReaderHelperService"],"mappings":"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"}
@@ -39,7 +39,7 @@ class TheSeamBreadcrumbsService {
39
39
  _breadcrumbData(activatedRoute) {
40
40
  return activatedRoute.data.pipe(map(data => {
41
41
  const bcData = {
42
- activatedRoute: activatedRoute,
42
+ activatedRoute,
43
43
  extrasPropRefs: []
44
44
  };
45
45
  let found = false;
@@ -88,7 +88,7 @@ class TheSeamBreadcrumbsService {
88
88
  return of(data);
89
89
  }
90
90
  return this._observeExtrasPropRefs(data.extrasPropRefs).pipe(map(extrasStr => {
91
- data.breadcrumb = data.breadcrumb + ' ' + extrasStr;
91
+ data.breadcrumb = `${data.breadcrumb} ${extrasStr}`;
92
92
  return data;
93
93
  }));
94
94
  }));
@@ -104,7 +104,7 @@ class TheSeamBreadcrumbsService {
104
104
  return [];
105
105
  }
106
106
  const propRefs = data.breadcrumbExtras.dataProps.map(prop => {
107
- return { prop: prop, value: this._getDataProp(data.activatedRoute, prop) };
107
+ return { prop, value: this._getDataProp(data.activatedRoute, prop) };
108
108
  });
109
109
  return this._filterExtrasPropRefs(propRefs);
110
110
  }
@@ -148,9 +148,9 @@ class TheSeamBreadcrumbsService {
148
148
  return breadcrumbs;
149
149
  }
150
150
  }
151
- TheSeamBreadcrumbsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
152
- TheSeamBreadcrumbsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsService, providedIn: 'root' });
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsService, decorators: [{
151
+ TheSeamBreadcrumbsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
152
+ TheSeamBreadcrumbsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsService, providedIn: 'root' });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsService, decorators: [{
154
154
  type: Injectable,
155
155
  args: [{
156
156
  providedIn: 'root'
@@ -162,23 +162,22 @@ class BreadcrumbsComponent {
162
162
  this._breadcrumbs = _breadcrumbs;
163
163
  this.crumbs$ = this._breadcrumbs.crumbs$;
164
164
  }
165
- ngOnInit() { }
166
165
  }
167
- BreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: TheSeamBreadcrumbsService }], target: i0.ɵɵFactoryTarget.Component });
168
- BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BreadcrumbsComponent, selector: "seam-breadcrumbs", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
166
+ BreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: TheSeamBreadcrumbsService }], target: i0.ɵɵFactoryTarget.Component });
167
+ BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BreadcrumbsComponent, selector: "seam-breadcrumbs", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
170
169
  type: Component,
171
170
  args: [{ selector: 'seam-breadcrumbs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color:inherit}\n"] }]
172
171
  }], ctorParameters: function () { return [{ type: TheSeamBreadcrumbsService }]; } });
173
172
 
174
173
  class TheSeamBreadcrumbsModule {
175
174
  }
176
- TheSeamBreadcrumbsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
177
- TheSeamBreadcrumbsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsModule, declarations: [BreadcrumbsComponent], imports: [CommonModule,
175
+ TheSeamBreadcrumbsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
176
+ TheSeamBreadcrumbsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsModule, declarations: [BreadcrumbsComponent], imports: [CommonModule,
178
177
  RouterModule], exports: [BreadcrumbsComponent] });
179
- TheSeamBreadcrumbsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsModule, imports: [CommonModule,
178
+ TheSeamBreadcrumbsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsModule, imports: [CommonModule,
180
179
  RouterModule] });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBreadcrumbsModule, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBreadcrumbsModule, decorators: [{
182
181
  type: NgModule,
183
182
  args: [{
184
183
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-breadcrumbs.mjs","sources":["../../../projects/ui-common/breadcrumbs/breadcrumbs.service.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.html","../../../projects/ui-common/breadcrumbs/breadcrumbs.module.ts","../../../projects/ui-common/breadcrumbs/theseam-ui-common-breadcrumbs.ts"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { filter, map, startWith, switchMap } from 'rxjs/operators'\n\nimport {\n activatedRoutesWithDataProperty,\n hasProperty,\n IActivatedRouteWithData,\n isEmptyUrlRoute,\n leafChildRoute,\n notNullOrUndefined,\n routeSnapshotPathFull,\n willHaveDataProp\n} from '@theseam/ui-common/utils'\n\nimport { TheSeamBreadcrumb } from './breadcrumb'\n\ninterface BreadcrumbDataExtras {\n dataProps?: string[]\n}\n\ninterface ExtrasPropRef {\n prop: string\n value: Observable<string>\n}\n\ninterface BreadcrumbData {\n breadcrumb?: string\n breadcrumbExtras?: BreadcrumbDataExtras\n\n activatedRoute: ActivatedRoute\n extrasPropRefs: ExtrasPropRef[]\n}\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamBreadcrumbsService {\n\n // public readonly breadcrumbDataKey = 'breadcrumb'\n\n private readonly dataProps: (keyof Omit<BreadcrumbData, 'activatedRoute'>)[] = [\n 'breadcrumb',\n 'breadcrumbExtras',\n ]\n\n public readonly crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private readonly _router: Router,\n private readonly _activatedRoute: ActivatedRoute\n ) {\n // this.crumbs$ = this._router.events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // map(_ => this._activatedRoute),\n // startWith(this._activatedRoute),\n // activatedRoutesWithDataProperty(this.breadcrumbDataKey, true),\n // switchMap(rwdArr => combineLatest(rwdArr.map(rwd => this._parseBreadcrumbData(rwd))))\n // )\n\n this.crumbs$ = this._crumbsFromRoute()\n }\n\n private _crumbsFromRoute(): Observable<TheSeamBreadcrumb[]> {\n return this._router.events.pipe(\n filter((event): event is NavigationEnd => event instanceof NavigationEnd),\n map(() => this._activatedRoute),\n startWith(this._activatedRoute),\n switchMap(activatedRoute => this._crumbsFromActivatedRoute(activatedRoute))\n )\n }\n\n private _crumbsFromActivatedRoute(activatedRoute: ActivatedRoute): Observable<TheSeamBreadcrumb[]> {\n return this._breadcrumbDatasFromRoot(activatedRoute).pipe(\n map(bcDatas => this._breadcrumbsFromData(bcDatas))\n )\n }\n\n private _breadcrumbDatasFromRoot(activatedRoute: ActivatedRoute): Observable<BreadcrumbData[]> {\n const bcDataObs = leafChildRoute(activatedRoute).pathFromRoot.map(r => this._breadcrumbData(r))\n return combineLatest(bcDataObs).pipe(\n map(v => v.filter(notNullOrUndefined)),\n switchMap(v => this._applyBreadcrumbExtras(v)),\n )\n }\n\n private _breadcrumbData(activatedRoute: ActivatedRoute): Observable<BreadcrumbData | null> {\n return activatedRoute.data.pipe(\n map(data => {\n const bcData: BreadcrumbData = {\n activatedRoute: activatedRoute,\n extrasPropRefs: []\n }\n\n let found = false\n for (const prop of this.dataProps) {\n if (prop === 'breadcrumb' && !willHaveDataProp(activatedRoute, prop)) {\n // Need to skip if the 'breadcrumb' data prop is not in the config,\n // because we will get duplicates if the data 'breadcrumb' prop is\n // inheritted from a parent route.\n continue\n }\n\n if (hasProperty(data, prop)) {\n bcData[prop] = data[prop]\n found = true\n }\n }\n\n if (!found) {\n return null\n }\n\n bcData.extrasPropRefs = this._getBreadcrumbExtrasDataProps(bcData)\n\n return bcData\n })\n )\n }\n\n private _applyBreadcrumbExtras(datas: BreadcrumbData[]): Observable<BreadcrumbData[]> {\n const newDatas: BreadcrumbData[] = []\n\n let pending: BreadcrumbData[] = []\n for (const data of datas) {\n if (!hasProperty(data, 'breadcrumb')) {\n pending.push(data)\n continue\n }\n\n newDatas.push(data)\n\n pending = []\n }\n\n if (newDatas.length === 0) {\n return of([])\n }\n\n if (pending.length > 0) {\n // add extras\n newDatas[newDatas.length - 1].extrasPropRefs = this._filterExtrasPropRefs([\n ...newDatas[newDatas.length - 1].extrasPropRefs,\n ...pending.map(p => p.extrasPropRefs).reduce((prev, curr) => [ ...prev, ...curr ], [])\n ])\n }\n\n return combineLatest(newDatas.map(data => {\n if (data.extrasPropRefs.length === 0) {\n return of(data)\n }\n\n return this._observeExtrasPropRefs(data.extrasPropRefs).pipe(\n map(extrasStr => {\n data.breadcrumb = data.breadcrumb + ' ' + extrasStr\n return data\n })\n )\n }))\n }\n\n private _observeExtrasPropRefs(propRefs: ExtrasPropRef[]): Observable<string> {\n return combineLatest(propRefs.map(pf => pf.value)).pipe(\n map(values => values.map(v => `(${v})`).join(' '))\n )\n }\n\n private _getBreadcrumbExtrasDataProps(data: BreadcrumbData): ExtrasPropRef[] {\n if (!hasProperty(data, 'breadcrumbExtras')) {\n return []\n }\n\n if (!hasProperty(data.breadcrumbExtras, 'dataProps')) {\n return []\n }\n\n const propRefs = data.breadcrumbExtras.dataProps.map(prop => {\n return { prop: prop, value: this._getDataProp(data.activatedRoute, prop) }\n })\n\n return this._filterExtrasPropRefs(propRefs)\n }\n\n private _filterExtrasPropRefs(propRefs: ExtrasPropRef[]): ExtrasPropRef[] {\n const seen: { [key: string]: boolean } = { }\n return propRefs.filter(propRef => {\n if (seen[propRef.prop]) {\n return false\n }\n seen[propRef.prop] = true\n return true\n })\n }\n\n private _getDataProp(activatedRoute: ActivatedRoute, prop: string): Observable<string> {\n if (activatedRoute.routeConfig !== null) {\n if (willHaveDataProp(activatedRoute, prop)) {\n return activatedRoute.data.pipe(map(d => d[prop]))\n }\n }\n\n let r = activatedRoute.parent\n while (r !== null) {\n if (willHaveDataProp(r, prop)) {\n return r.data.pipe(map(d => d[prop]))\n }\n\n r = r.parent\n }\n\n throw Error(`DataProp '${prop}' not found.`)\n }\n\n private _breadcrumbsFromData(datas: BreadcrumbData[]): TheSeamBreadcrumb[] {\n const breadcrumbs: TheSeamBreadcrumb[] = []\n\n for (const data of datas) {\n if (hasProperty(data, 'breadcrumb')) {\n const breadcrumb: TheSeamBreadcrumb = {\n value: data.breadcrumb,\n path: routeSnapshotPathFull(data.activatedRoute.snapshot),\n route: data.activatedRoute\n }\n breadcrumbs.push(breadcrumb)\n }\n }\n\n return breadcrumbs\n }\n\n // private _parseBreadcrumbData(routeWithData: IActivatedRouteWithData): Observable<TheSeamBreadcrumb> {\n // const crumbValue = routeWithData.data[this.breadcrumbDataKey]\n // const route = routeWithData.route\n // const path = routeSnapshotPathFull(route.snapshot)\n // let value = ''\n\n // if (typeof crumbValue === 'string') {\n // value = crumbValue\n // } else {\n // if (isDevMode()) {\n // console.warn(\n // '[TheSeamBreadcrumbsService] Only string breadcrumbs are supported currently. '\n // + 'Use a resolver if the value needs to be dynamically calculated.'\n // )\n // }\n // }\n\n // return of({ value, path, route })\n // }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core'\nimport { Observable } from 'rxjs'\n\nimport { TheSeamBreadcrumb } from '../breadcrumb'\nimport { TheSeamBreadcrumbsService } from '../breadcrumbs.service'\n\n@Component({\n selector: 'seam-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbsComponent implements OnInit {\n\n public crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private _breadcrumbs: TheSeamBreadcrumbsService\n ) {\n this.crumbs$ = this._breadcrumbs.crumbs$\n }\n\n ngOnInit() { }\n\n}\n","<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'\n\n\n@NgModule({\n declarations: [\n BreadcrumbsComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n BreadcrumbsComponent\n ]\n})\nexport class TheSeamBreadcrumbsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TheSeamBreadcrumbsService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-breadcrumbs.mjs","sources":["../../../projects/ui-common/breadcrumbs/breadcrumbs.service.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.html","../../../projects/ui-common/breadcrumbs/breadcrumbs.module.ts","../../../projects/ui-common/breadcrumbs/theseam-ui-common-breadcrumbs.ts"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { filter, map, startWith, switchMap } from 'rxjs/operators'\n\nimport {\n activatedRoutesWithDataProperty,\n hasProperty,\n IActivatedRouteWithData,\n isEmptyUrlRoute,\n leafChildRoute,\n notNullOrUndefined,\n routeSnapshotPathFull,\n willHaveDataProp\n} from '@theseam/ui-common/utils'\n\nimport { TheSeamBreadcrumb } from './breadcrumb'\n\ninterface BreadcrumbDataExtras {\n dataProps?: string[]\n}\n\ninterface ExtrasPropRef {\n prop: string\n value: Observable<string>\n}\n\ninterface BreadcrumbData {\n breadcrumb?: string\n breadcrumbExtras?: BreadcrumbDataExtras\n\n activatedRoute: ActivatedRoute\n extrasPropRefs: ExtrasPropRef[]\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamBreadcrumbsService {\n\n // public readonly breadcrumbDataKey = 'breadcrumb'\n\n private readonly dataProps: (keyof Omit<BreadcrumbData, 'activatedRoute'>)[] = [\n 'breadcrumb',\n 'breadcrumbExtras',\n ]\n\n public readonly crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private readonly _router: Router,\n private readonly _activatedRoute: ActivatedRoute\n ) {\n // this.crumbs$ = this._router.events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // map(_ => this._activatedRoute),\n // startWith(this._activatedRoute),\n // activatedRoutesWithDataProperty(this.breadcrumbDataKey, true),\n // switchMap(rwdArr => combineLatest(rwdArr.map(rwd => this._parseBreadcrumbData(rwd))))\n // )\n\n this.crumbs$ = this._crumbsFromRoute()\n }\n\n private _crumbsFromRoute(): Observable<TheSeamBreadcrumb[]> {\n return this._router.events.pipe(\n filter((event): event is NavigationEnd => event instanceof NavigationEnd),\n map(() => this._activatedRoute),\n startWith(this._activatedRoute),\n switchMap(activatedRoute => this._crumbsFromActivatedRoute(activatedRoute))\n )\n }\n\n private _crumbsFromActivatedRoute(activatedRoute: ActivatedRoute): Observable<TheSeamBreadcrumb[]> {\n return this._breadcrumbDatasFromRoot(activatedRoute).pipe(\n map(bcDatas => this._breadcrumbsFromData(bcDatas))\n )\n }\n\n private _breadcrumbDatasFromRoot(activatedRoute: ActivatedRoute): Observable<BreadcrumbData[]> {\n const bcDataObs = leafChildRoute(activatedRoute).pathFromRoot.map(r => this._breadcrumbData(r))\n return combineLatest(bcDataObs).pipe(\n map(v => v.filter(notNullOrUndefined)),\n switchMap(v => this._applyBreadcrumbExtras(v)),\n )\n }\n\n private _breadcrumbData(activatedRoute: ActivatedRoute): Observable<BreadcrumbData | null> {\n return activatedRoute.data.pipe(\n map(data => {\n const bcData: BreadcrumbData = {\n activatedRoute,\n extrasPropRefs: []\n }\n\n let found = false\n for (const prop of this.dataProps) {\n if (prop === 'breadcrumb' && !willHaveDataProp(activatedRoute, prop)) {\n // Need to skip if the 'breadcrumb' data prop is not in the config,\n // because we will get duplicates if the data 'breadcrumb' prop is\n // inheritted from a parent route.\n continue\n }\n\n if (hasProperty(data, prop)) {\n bcData[prop] = data[prop]\n found = true\n }\n }\n\n if (!found) {\n return null\n }\n\n bcData.extrasPropRefs = this._getBreadcrumbExtrasDataProps(bcData)\n\n return bcData\n })\n )\n }\n\n private _applyBreadcrumbExtras(datas: BreadcrumbData[]): Observable<BreadcrumbData[]> {\n const newDatas: BreadcrumbData[] = []\n\n let pending: BreadcrumbData[] = []\n for (const data of datas) {\n if (!hasProperty(data, 'breadcrumb')) {\n pending.push(data)\n continue\n }\n\n newDatas.push(data)\n\n pending = []\n }\n\n if (newDatas.length === 0) {\n return of([])\n }\n\n if (pending.length > 0) {\n // add extras\n newDatas[newDatas.length - 1].extrasPropRefs = this._filterExtrasPropRefs([\n ...newDatas[newDatas.length - 1].extrasPropRefs,\n ...pending.map(p => p.extrasPropRefs).reduce((prev, curr) => [ ...prev, ...curr ], [])\n ])\n }\n\n return combineLatest(newDatas.map(data => {\n if (data.extrasPropRefs.length === 0) {\n return of(data)\n }\n\n return this._observeExtrasPropRefs(data.extrasPropRefs).pipe(\n map(extrasStr => {\n data.breadcrumb = `${data.breadcrumb} ${extrasStr}`\n return data\n })\n )\n }))\n }\n\n private _observeExtrasPropRefs(propRefs: ExtrasPropRef[]): Observable<string> {\n return combineLatest(propRefs.map(pf => pf.value)).pipe(\n map(values => values.map(v => `(${v})`).join(' '))\n )\n }\n\n private _getBreadcrumbExtrasDataProps(data: BreadcrumbData): ExtrasPropRef[] {\n if (!hasProperty(data, 'breadcrumbExtras')) {\n return []\n }\n\n if (!hasProperty(data.breadcrumbExtras, 'dataProps')) {\n return []\n }\n\n const propRefs = data.breadcrumbExtras.dataProps.map(prop => {\n return { prop, value: this._getDataProp(data.activatedRoute, prop) }\n })\n\n return this._filterExtrasPropRefs(propRefs)\n }\n\n private _filterExtrasPropRefs(propRefs: ExtrasPropRef[]): ExtrasPropRef[] {\n const seen: { [key: string]: boolean } = { }\n return propRefs.filter(propRef => {\n if (seen[propRef.prop]) {\n return false\n }\n seen[propRef.prop] = true\n return true\n })\n }\n\n private _getDataProp(activatedRoute: ActivatedRoute, prop: string): Observable<string> {\n if (activatedRoute.routeConfig !== null) {\n if (willHaveDataProp(activatedRoute, prop)) {\n return activatedRoute.data.pipe(map(d => d[prop]))\n }\n }\n\n let r = activatedRoute.parent\n while (r !== null) {\n if (willHaveDataProp(r, prop)) {\n return r.data.pipe(map(d => d[prop]))\n }\n\n r = r.parent\n }\n\n throw Error(`DataProp '${prop}' not found.`)\n }\n\n private _breadcrumbsFromData(datas: BreadcrumbData[]): TheSeamBreadcrumb[] {\n const breadcrumbs: TheSeamBreadcrumb[] = []\n\n for (const data of datas) {\n if (hasProperty(data, 'breadcrumb')) {\n const breadcrumb: TheSeamBreadcrumb = {\n value: data.breadcrumb,\n path: routeSnapshotPathFull(data.activatedRoute.snapshot),\n route: data.activatedRoute\n }\n breadcrumbs.push(breadcrumb)\n }\n }\n\n return breadcrumbs\n }\n\n // private _parseBreadcrumbData(routeWithData: IActivatedRouteWithData): Observable<TheSeamBreadcrumb> {\n // const crumbValue = routeWithData.data[this.breadcrumbDataKey]\n // const route = routeWithData.route\n // const path = routeSnapshotPathFull(route.snapshot)\n // let value = ''\n\n // if (typeof crumbValue === 'string') {\n // value = crumbValue\n // } else {\n // if (isDevMode()) {\n // console.warn(\n // '[TheSeamBreadcrumbsService] Only string breadcrumbs are supported currently. '\n // + 'Use a resolver if the value needs to be dynamically calculated.'\n // )\n // }\n // }\n\n // return of({ value, path, route })\n // }\n\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\nimport { Observable } from 'rxjs'\n\nimport { TheSeamBreadcrumb } from '../breadcrumb'\nimport { TheSeamBreadcrumbsService } from '../breadcrumbs.service'\n\n@Component({\n selector: 'seam-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbsComponent {\n\n public crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private _breadcrumbs: TheSeamBreadcrumbsService\n ) {\n this.crumbs$ = this._breadcrumbs.crumbs$\n }\n\n}\n","<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'\n\n@NgModule({\n declarations: [\n BreadcrumbsComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n BreadcrumbsComponent\n ]\n})\nexport class TheSeamBreadcrumbsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TheSeamBreadcrumbsService","i3"],"mappings":";;;;;;;;;;MAsCa,yBAAyB,CAAA;IAWpC,WACmB,CAAA,OAAe,EACf,eAA+B,EAAA;;;;;;;;AAD/B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;;QATjC,IAAA,CAAA,SAAS,GAAqD;YAC7E,YAAY;YACZ,kBAAkB;SACnB,CAAA;AAgBC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;KACvC;IAEO,gBAAgB,GAAA;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAC7B,MAAM,CAAC,CAAC,KAAK,KAA6B,KAAK,YAAY,aAAa,CAAC,EACzE,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/B,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAC5E,CAAA;KACF;AAEO,IAAA,yBAAyB,CAAC,cAA8B,EAAA;QAC9D,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,IAAI,CACvD,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CACnD,CAAA;KACF;AAEO,IAAA,wBAAwB,CAAC,cAA8B,EAAA;QAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/F,QAAA,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EACtC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAA;KACF;AAEO,IAAA,eAAe,CAAC,cAA8B,EAAA;QACpD,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAC7B,GAAG,CAAC,IAAI,IAAG;AACT,YAAA,MAAM,MAAM,GAAmB;gBAC7B,cAAc;AACd,gBAAA,cAAc,EAAE,EAAE;aACnB,CAAA;YAED,IAAI,KAAK,GAAG,KAAK,CAAA;AACjB,YAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;gBACjC,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;;;;oBAIpE,SAAQ;AACT,iBAAA;AAED,gBAAA,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;oBACzB,KAAK,GAAG,IAAI,CAAA;AACb,iBAAA;AACF,aAAA;YAED,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,IAAI,CAAA;AACZ,aAAA;YAED,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAA;AAElE,YAAA,OAAO,MAAM,CAAA;SACd,CAAC,CACH,CAAA;KACF;AAEO,IAAA,sBAAsB,CAAC,KAAuB,EAAA;QACpD,MAAM,QAAQ,GAAqB,EAAE,CAAA;QAErC,IAAI,OAAO,GAAqB,EAAE,CAAA;AAClC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;AACpC,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,SAAQ;AACT,aAAA;AAED,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEnB,OAAO,GAAG,EAAE,CAAA;AACb,SAAA;AAED,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACd,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;;AAEtB,YAAA,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBACxE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc;AAC/C,gBAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAE,EAAE,EAAE,CAAC;AACvF,aAAA,CAAC,CAAA;AACH,SAAA;QAED,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAG;AACvC,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;AAChB,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAC1D,GAAG,CAAC,SAAS,IAAG;gBACd,IAAI,CAAC,UAAU,GAAG,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAA;AACnD,gBAAA,OAAO,IAAI,CAAA;aACZ,CAAC,CACH,CAAA;SACF,CAAC,CAAC,CAAA;KACJ;AAEO,IAAA,sBAAsB,CAAC,QAAyB,EAAA;AACtD,QAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACrD,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,CAAG,CAAA,CAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACnD,CAAA;KACF;AAEO,IAAA,6BAA6B,CAAC,IAAoB,EAAA;AACxD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE;AAC1C,YAAA,OAAO,EAAE,CAAA;AACV,SAAA;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE;AACpD,YAAA,OAAO,EAAE,CAAA;AACV,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAG;AAC1D,YAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAA;AACtE,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;KAC5C;AAEO,IAAA,qBAAqB,CAAC,QAAyB,EAAA;QACrD,MAAM,IAAI,GAA+B,EAAG,CAAA;AAC5C,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAG;AAC/B,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtB,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AACzB,YAAA,OAAO,IAAI,CAAA;AACb,SAAC,CAAC,CAAA;KACH;IAEO,YAAY,CAAC,cAA8B,EAAE,IAAY,EAAA;AAC/D,QAAA,IAAI,cAAc,CAAC,WAAW,KAAK,IAAI,EAAE;AACvC,YAAA,IAAI,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;AAC1C,gBAAA,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnD,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;QAC7B,OAAO,CAAC,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;AAC7B,gBAAA,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACtC,aAAA;AAED,YAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;AACb,SAAA;AAED,QAAA,MAAM,KAAK,CAAC,CAAA,UAAA,EAAa,IAAI,CAAA,YAAA,CAAc,CAAC,CAAA;KAC7C;AAEO,IAAA,oBAAoB,CAAC,KAAuB,EAAA;QAClD,MAAM,WAAW,GAAwB,EAAE,CAAA;AAE3C,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;AACnC,gBAAA,MAAM,UAAU,GAAsB;oBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzD,KAAK,EAAE,IAAI,CAAC,cAAc;iBAC3B,CAAA;AACD,gBAAA,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC7B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,WAAW,CAAA;KACnB;;sHA/LU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCxBY,oBAAoB,CAAA;AAI/B,IAAA,WAAA,CACU,YAAuC,EAAA;AAAvC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAA2B;QAE/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAA;KACzC;;iHARU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wDCbjC,kcAWA,EAAA,MAAA,EAAA,CAAA,uEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDEa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,iBAGb,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kcAAA,EAAA,MAAA,EAAA,CAAA,uEAAA,CAAA,EAAA,CAAA;;;MEOpC,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAVjC,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAGpB,YAAY;QACZ,YAAY,aAGZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGX,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAPjC,YAAY;QACZ,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;AACrB,qBAAA;iBACF,CAAA;;;ACjBD;;AAEG;;;;"}
@@ -27,14 +27,15 @@ class TheSeamButtonBase {
27
27
  return this._elementRef.nativeElement;
28
28
  }
29
29
  }
30
- TheSeamButtonBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
31
- TheSeamButtonBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamButtonBase, selector: "ng-component", ngImport: i0, template: '', isInline: true });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonBase, decorators: [{
30
+ TheSeamButtonBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
31
+ TheSeamButtonBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheSeamButtonBase, selector: "ng-component", ngImport: i0, template: '', isInline: true });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonBase, decorators: [{
33
33
  type: Component,
34
34
  args: [{ template: '' }]
35
35
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }]; } });
36
36
  const _TheSeamButtonMixinBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn');
37
37
  class ButtonComponent extends _TheSeamButtonMixinBase {
38
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
38
39
  constructor(_elementRef, _focusMonitor, _renderer) {
39
40
  super(_elementRef, _focusMonitor, _renderer);
40
41
  /** ARIA type for the button. */
@@ -42,9 +43,9 @@ class ButtonComponent extends _TheSeamButtonMixinBase {
42
43
  }
43
44
  ngOnDestroy() { super.ngOnDestroy(); }
44
45
  }
45
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
46
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: ButtonComponent, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ButtonComponent, decorators: [{
46
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
47
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, decorators: [{
48
49
  type: Component,
49
50
  args: [{ selector: 'button[seamButton]', exportAs: 'seamButton', inputs: ['disabled', 'theme', 'size'], host: {
50
51
  '[attr.type]': 'type',
@@ -62,6 +63,7 @@ class AnchorButtonComponent extends _TheSeamButtonMixinBase {
62
63
  // usage, so I am just adding this as a reminder to think about it.
63
64
  //
64
65
  // rel="noopener noreferrer"
66
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
65
67
  constructor(_elementRef, _focusMonitor, _renderer) { super(_elementRef, _focusMonitor, _renderer); }
66
68
  ngOnDestroy() { super.ngOnDestroy(); }
67
69
  _haltDisabledEvents(event) {
@@ -72,9 +74,9 @@ class AnchorButtonComponent extends _TheSeamButtonMixinBase {
72
74
  }
73
75
  }
74
76
  }
75
- AnchorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
76
- AnchorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: AnchorButtonComponent, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AnchorButtonComponent, decorators: [{
77
+ AnchorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
78
+ AnchorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AnchorButtonComponent, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnchorButtonComponent, decorators: [{
78
80
  type: Component,
79
81
  args: [{ selector: 'a[seamButton]', exportAs: 'seamButton,seamButtonBaseAnchor', inputs: ['disabled', 'theme', 'size'], host: {
80
82
  'class': 'btn',
@@ -88,6 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
88
90
  }] } });
89
91
 
90
92
  class BadgeButtonComponent extends ButtonComponent {
93
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
91
94
  constructor(_elementRef, _focusMonitor, _renderer) {
92
95
  super(_elementRef, _focusMonitor, _renderer);
93
96
  this._textNoWrap = true;
@@ -96,9 +99,9 @@ class BadgeButtonComponent extends ButtonComponent {
96
99
  }
97
100
  ngOnDestroy() { super.ngOnDestroy(); }
98
101
  }
99
- BadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
100
- BadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BadgeButtonComponent, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BadgeButtonComponent, decorators: [{
102
+ BadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
103
+ BadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BadgeButtonComponent, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BadgeButtonComponent, decorators: [{
102
105
  type: Component,
103
106
  args: [{ selector: 'button[seamBadgeButton]', exportAs: 'seamBadgeButton', inputs: ['disabled', 'theme', 'size'], host: {
104
107
  '[attr.type]': 'type',
@@ -115,6 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
115
118
  type: Input
116
119
  }] } });
117
120
  class AnchorBadgeButtonComponent extends AnchorButtonComponent {
121
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
118
122
  constructor(_elementRef, _focusMonitor, _renderer) {
119
123
  super(_elementRef, _focusMonitor, _renderer);
120
124
  this._textNoWrap = true;
@@ -123,9 +127,9 @@ class AnchorBadgeButtonComponent extends AnchorButtonComponent {
123
127
  }
124
128
  ngOnDestroy() { super.ngOnDestroy(); }
125
129
  }
126
- AnchorBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
127
- AnchorBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: AnchorBadgeButtonComponent, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AnchorBadgeButtonComponent, decorators: [{
130
+ AnchorBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
131
+ AnchorBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AnchorBadgeButtonComponent, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnchorBadgeButtonComponent, decorators: [{
129
133
  type: Component,
130
134
  args: [{ selector: 'a[seamBadgeButton]', exportAs: 'seamBadgeButton,seamBadgeButtonAnchor', inputs: ['disabled', 'theme', 'size'], host: {
131
135
  'class': 'btn',
@@ -156,8 +160,8 @@ class ProgressCircleButtonComponent extends ButtonComponent {
156
160
  }
157
161
  ngOnDestroy() { super.ngOnDestroy(); }
158
162
  }
159
- ProgressCircleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
160
- ProgressCircleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: ProgressCircleButtonComponent, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
163
+ ProgressCircleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
164
+ ProgressCircleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProgressCircleButtonComponent, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
161
165
  __decorate([
162
166
  InputBoolean()
163
167
  ], ProgressCircleButtonComponent.prototype, "fillBackground", void 0);
@@ -170,7 +174,7 @@ __decorate([
170
174
  __decorate([
171
175
  InputNumber(0)
172
176
  ], ProgressCircleButtonComponent.prototype, "percentage", void 0);
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ProgressCircleButtonComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressCircleButtonComponent, decorators: [{
174
178
  type: Component,
175
179
  args: [{ selector: 'button[seamProgressCircleButton]', exportAs: 'seamProgressCircleButton', inputs: ['disabled', 'theme', 'size'], host: {
176
180
  '[attr.type]': 'type',
@@ -190,7 +194,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
190
194
 
191
195
  const TOGGLE_BUTTON_VALUE_ACCESSOR = {
192
196
  provide: NG_VALUE_ACCESSOR,
193
- // tslint:disable-next-line:no-use-before-declare
194
197
  useExisting: forwardRef(() => ToggleButtonComponent),
195
198
  multi: true,
196
199
  };
@@ -201,8 +204,9 @@ class ToggleButtonComponent extends ButtonComponent {
201
204
  this._elementRef = _elementRef;
202
205
  this._focusMonitor = _focusMonitor;
203
206
  this._renderer = _renderer;
204
- // tslint:disable-next-line:no-input-rename
207
+ // eslint-disable-next-line @angular-eslint/no-input-rename
205
208
  this.val = false;
209
+ // eslint-disable-next-line @angular-eslint/no-output-native
206
210
  this.change = new EventEmitter();
207
211
  }
208
212
  ngOnDestroy() { super.ngOnDestroy(); }
@@ -235,12 +239,12 @@ class ToggleButtonComponent extends ButtonComponent {
235
239
  this.value = !this.value;
236
240
  }
237
241
  }
238
- ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
239
- ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: ToggleButtonComponent, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
242
+ ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
243
+ ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ToggleButtonComponent, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
240
244
  __decorate([
241
245
  InputBoolean()
242
246
  ], ToggleButtonComponent.prototype, "val", void 0);
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ToggleButtonComponent, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleButtonComponent, decorators: [{
244
248
  type: Component,
245
249
  args: [{ selector: 'button[seamToggleButton]', exportAs: 'seamToggleButton', inputs: ['disabled', 'theme', 'size'], host: {
246
250
  '[attr.type]': 'type',
@@ -261,8 +265,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
261
265
 
262
266
  class TheSeamButtonsModule {
263
267
  }
264
- TheSeamButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
265
- TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonsModule, declarations: [BadgeButtonComponent,
268
+ TheSeamButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
269
+ TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonsModule, declarations: [BadgeButtonComponent,
266
270
  ProgressCircleButtonComponent,
267
271
  ToggleButtonComponent,
268
272
  ButtonComponent,
@@ -274,9 +278,9 @@ TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
274
278
  ButtonComponent,
275
279
  AnchorButtonComponent,
276
280
  AnchorBadgeButtonComponent] });
277
- TheSeamButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule,
281
+ TheSeamButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule,
278
282
  TheSeamProgressModule] });
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
280
284
  type: NgModule,
281
285
  args: [{
282
286
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// tslint:disable-next-line: component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { AnchorButtonComponent, ButtonComponent } from '../button/button.component'\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class BadgeButtonComponent extends ButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class AnchorBadgeButtonComponent extends AnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class ProgressCircleButtonComponent extends ButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground: boolean = false\n @Input() @InputBoolean() showText: boolean = false\n @Input() @InputBoolean() hiddenOnEmpty: boolean = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'disabled', 'theme', 'size' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class ToggleButtonComponent extends ButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // tslint:disable-next-line:no-input-rename\n @Input('value') @InputBoolean() val: boolean = false\n\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false}\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { AnchorBadgeButtonComponent, BadgeButtonComponent } from './badge-button/badge-button.component'\nimport { AnchorButtonComponent, ButtonComponent } from './button/button.component'\nimport { ProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { AnchorButtonComponent, ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class BadgeButtonComponent extends ButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class AnchorBadgeButtonComponent extends AnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class ProgressCircleButtonComponent extends ButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class ToggleButtonComponent extends ButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { AnchorBadgeButtonComponent, BadgeButtonComponent } from './badge-button/badge-button.component'\nimport { AnchorButtonComponent, ButtonComponent } from './button/button.component'\nimport { ProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}