@theseam/ui-common 0.4.29 → 0.4.30

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 (616) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +61 -9
  3. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
  4. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
  5. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
  6. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
  7. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  8. package/datatable/datatable.module.d.ts +29 -20
  9. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
  10. package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
  11. package/datatable/models/action-item-column-position.d.ts +13 -0
  12. package/datatable/models/columns-data-filter.d.ts +57 -0
  13. package/datatable/models/columns-data-filters/models.d.ts +65 -0
  14. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
  15. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
  16. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
  17. package/datatable/models/columns-data-filters/utils.d.ts +15 -0
  18. package/datatable/models/datatable-config.d.ts +97 -0
  19. package/datatable/models/table-column.d.ts +22 -1
  20. package/datatable/public-api.d.ts +14 -0
  21. package/datatable/services/columns-filters.service.d.ts +29 -0
  22. package/datatable/services/columns-manager.service.d.ts +7 -0
  23. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
  25. package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
  31. package/esm2020/buttons/button/button.component.mjs +10 -10
  32. package/esm2020/buttons/buttons.module.mjs +5 -5
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
  35. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  36. package/esm2020/card/card-body/card-body.component.mjs +4 -4
  37. package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
  38. package/esm2020/card/card-header/card-header.component.mjs +4 -4
  39. package/esm2020/card/card.component.mjs +4 -4
  40. package/esm2020/card/card.module.mjs +5 -5
  41. package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
  42. package/esm2020/carousel/carousel.component.mjs +4 -4
  43. package/esm2020/carousel/carousel.module.mjs +5 -5
  44. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  45. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  46. package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
  47. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
  49. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
  50. package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
  51. package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
  52. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
  53. package/esm2020/data-filters/data-filters.module.mjs +5 -5
  54. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
  55. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
  56. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
  57. package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
  58. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
  59. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
  60. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
  61. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
  62. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
  63. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
  64. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
  78. package/esm2020/datatable/datatable.module.mjs +53 -11
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
  82. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
  83. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
  84. package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
  85. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
  86. package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
  87. package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
  88. package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
  89. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
  90. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
  91. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
  92. package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
  93. package/esm2020/datatable/models/datatable-config.mjs +3 -0
  94. package/esm2020/datatable/models/table-column.mjs +1 -1
  95. package/esm2020/datatable/public-api.mjs +15 -1
  96. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  97. package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
  98. package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
  99. package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
  100. package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
  101. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
  102. package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
  103. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
  104. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  105. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
  106. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
  107. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
  108. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
  109. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
  110. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
  111. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
  112. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
  113. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  114. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  115. package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
  116. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  117. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
  118. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
  119. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
  120. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
  121. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  122. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  123. package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
  124. package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
  125. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  126. package/esm2020/form-field/form-field.component.mjs +4 -4
  127. package/esm2020/form-field/form-field.module.mjs +5 -5
  128. package/esm2020/form-field/input.directive.mjs +4 -4
  129. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
  130. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  131. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
  132. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
  133. package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
  134. package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
  135. package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
  136. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
  137. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
  138. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
  139. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
  140. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
  141. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
  142. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
  143. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
  144. package/esm2020/framework/base-layout/index.mjs +2 -1
  145. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
  146. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
  147. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
  148. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
  149. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  150. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
  151. package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
  152. package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
  153. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  154. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
  155. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
  156. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
  157. package/esm2020/framework/nav/index.mjs +6 -0
  158. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
  159. package/esm2020/framework/nav/nav-utils.mjs +107 -0
  160. package/esm2020/framework/nav/nav.models.mjs +2 -0
  161. package/esm2020/framework/nav/nav.module.mjs +67 -0
  162. package/esm2020/framework/nav/nav.service.mjs +204 -0
  163. package/esm2020/framework/public-api.mjs +2 -1
  164. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
  165. package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
  166. package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
  167. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
  168. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
  169. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
  170. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
  171. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
  172. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
  174. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
  176. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
  177. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
  178. package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
  179. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  180. package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
  181. package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
  182. package/esm2020/framework/top-bar/index.mjs +3 -1
  183. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
  184. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
  185. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
  186. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
  187. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
  188. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
  189. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
  190. package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
  191. package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
  192. package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
  193. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
  194. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
  195. package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
  196. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
  197. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
  198. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
  199. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
  200. package/esm2020/google-maps/google-maps.module.mjs +5 -5
  201. package/esm2020/google-maps/google-maps.service.mjs +4 -4
  202. package/esm2020/google-maps/map-control.component.mjs +4 -4
  203. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  204. package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
  205. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  206. package/esm2020/graphql/datatable/index.mjs +4 -1
  207. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  208. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
  209. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
  210. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
  211. package/esm2020/icon/icon/icon.component.mjs +4 -4
  212. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
  213. package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
  214. package/esm2020/icon/icon.module.mjs +5 -5
  215. package/esm2020/layout/layout.module.mjs +5 -5
  216. package/esm2020/layout/layout.service.mjs +15 -5
  217. package/esm2020/loading/loading/loading.component.mjs +4 -4
  218. package/esm2020/loading/loading-overlay.service.mjs +4 -4
  219. package/esm2020/loading/loading.module.mjs +5 -5
  220. package/esm2020/menu/menu-divider.component.mjs +4 -4
  221. package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
  222. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  223. package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
  224. package/esm2020/menu/menu-item.component.mjs +4 -4
  225. package/esm2020/menu/menu-toggle.directive.mjs +9 -4
  226. package/esm2020/menu/menu.component.mjs +4 -4
  227. package/esm2020/menu/menu.module.mjs +5 -5
  228. package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
  229. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
  230. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
  231. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
  232. package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
  233. package/esm2020/modal/directives/modal.directive.mjs +4 -4
  234. package/esm2020/modal/modal/modal.component.mjs +4 -4
  235. package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
  236. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  237. package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
  238. package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
  239. package/esm2020/modal/modal.module.mjs +5 -5
  240. package/esm2020/modal/modal.service.mjs +4 -4
  241. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
  242. package/esm2020/navigation-reload/navigation-reload.service.mjs +4 -4
  243. package/esm2020/popover/popover/popover.component.mjs +9 -5
  244. package/esm2020/popover/popover.directive.mjs +8 -4
  245. package/esm2020/popover/popover.module.mjs +5 -5
  246. package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
  247. package/esm2020/progress/progress.module.mjs +5 -5
  248. package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
  249. package/esm2020/rich-text/rich-text.module.mjs +5 -5
  250. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
  251. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  252. package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
  253. package/esm2020/services/asset-loader.service.mjs +4 -4
  254. package/esm2020/services/font-loader.service.mjs +4 -4
  255. package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
  256. package/esm2020/services/router-helpers.service.mjs +4 -4
  257. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
  258. package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
  259. package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
  260. package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
  261. package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
  262. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  263. package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
  264. package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
  265. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
  266. package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
  267. package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
  268. package/esm2020/shared/shared.module.mjs +5 -5
  269. package/esm2020/storage/local-storage.service.mjs +4 -4
  270. package/esm2020/story-helpers/initial-route.service.mjs +4 -4
  271. package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
  272. package/esm2020/story-helpers/story-empty.component.mjs +4 -4
  273. package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
  274. package/esm2020/story-helpers/story-initial-route.mjs +5 -5
  275. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  276. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
  277. package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
  278. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
  279. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
  280. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
  281. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
  282. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  283. package/esm2020/tabbed/tabbed.module.mjs +5 -5
  284. package/esm2020/tabbed/tabbed.service.mjs +4 -4
  285. package/esm2020/table/public-api.mjs +4 -1
  286. package/esm2020/table/table/table.component.mjs +92 -7
  287. package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
  288. package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
  289. package/esm2020/table/table-column.component.mjs +68 -0
  290. package/esm2020/table/table.module.mjs +25 -9
  291. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
  292. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
  293. package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
  294. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
  295. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
  296. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
  297. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
  298. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
  299. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
  301. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
  302. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
  303. package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
  304. package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
  305. package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
  306. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  307. package/esm2020/tel-input/tel-input.module.mjs +5 -5
  308. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
  309. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
  310. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
  311. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
  312. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
  313. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
  314. package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
  315. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
  316. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
  317. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
  318. package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
  319. package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
  320. package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
  321. package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
  322. package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
  323. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
  324. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
  325. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
  326. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
  327. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  328. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  329. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  330. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  331. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  332. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  333. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
  334. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  335. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
  336. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
  337. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  338. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
  339. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
  340. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
  341. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
  342. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
  343. package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
  344. package/esm2020/widget/widget/widget.component.mjs +4 -4
  345. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
  346. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
  347. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
  348. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
  349. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
  350. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
  351. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
  352. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
  353. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
  354. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
  355. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
  356. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
  357. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
  358. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
  359. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
  360. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
  361. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
  362. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
  363. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
  364. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
  365. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
  366. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
  367. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
  368. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
  369. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
  370. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
  371. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
  372. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
  373. package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
  374. package/esm2020/widget/widget-registry.service.mjs +4 -4
  375. package/esm2020/widget/widget.module.mjs +5 -5
  376. package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
  377. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  378. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
  379. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  380. package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
  381. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  382. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  383. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  384. package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
  385. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  386. package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
  387. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
  389. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  390. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  391. package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
  392. package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
  393. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  394. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
  395. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
  397. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  399. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  401. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  403. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
  405. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
  407. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
  409. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
  411. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
  413. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-icon.mjs +13 -13
  415. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  416. package/fesm2015/theseam-ui-common-layout.mjs +18 -9
  417. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  419. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-menu.mjs +30 -25
  421. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-modal.mjs +43 -43
  423. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  424. package/fesm2015/theseam-ui-common-navigation-reload.mjs +3 -3
  425. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
  426. package/fesm2015/theseam-ui-common-popover.mjs +19 -11
  427. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  428. package/fesm2015/theseam-ui-common-progress.mjs +7 -7
  429. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  430. package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
  431. package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
  432. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
  433. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  434. package/fesm2015/theseam-ui-common-services.mjs +12 -12
  435. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  436. package/fesm2015/theseam-ui-common-shared.mjs +37 -37
  437. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  438. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  439. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  440. package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
  441. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  442. package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
  443. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  444. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  445. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  446. package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
  447. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  448. package/fesm2015/theseam-ui-common-table.mjs +207 -15
  449. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  450. package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
  451. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  452. package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
  453. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  454. package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
  455. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  456. package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
  457. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  458. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  459. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  460. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
  462. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
  464. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-widget.mjs +135 -135
  466. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
  468. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
  470. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  471. package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
  472. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  473. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  474. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  475. package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
  476. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  477. package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
  478. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  479. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
  480. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  481. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  482. package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
  483. package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
  484. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  485. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
  486. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  487. package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
  488. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  489. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  490. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  491. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  492. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  493. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  494. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  495. package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
  496. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  497. package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
  498. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  499. package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
  500. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  501. package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
  502. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  503. package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
  504. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  505. package/fesm2020/theseam-ui-common-icon.mjs +13 -13
  506. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  507. package/fesm2020/theseam-ui-common-layout.mjs +18 -9
  508. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  509. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  510. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  511. package/fesm2020/theseam-ui-common-menu.mjs +30 -25
  512. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  513. package/fesm2020/theseam-ui-common-modal.mjs +43 -43
  514. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-navigation-reload.mjs +3 -3
  516. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-popover.mjs +19 -11
  518. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-progress.mjs +7 -7
  520. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
  522. package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
  524. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-services.mjs +12 -12
  526. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-shared.mjs +37 -37
  528. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  530. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
  532. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
  534. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  536. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
  538. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-table.mjs +205 -15
  540. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
  542. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
  544. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
  546. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  552. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
  553. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  554. package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
  555. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  556. package/fesm2020/theseam-ui-common-widget.mjs +135 -135
  557. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  558. package/framework/base-layout/base-layout.component.d.ts +4 -2
  559. package/framework/base-layout/base-layout.component.scss +18 -10
  560. package/framework/base-layout/base-layout.module.d.ts +11 -10
  561. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
  562. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
  563. package/framework/base-layout/index.d.ts +1 -0
  564. package/framework/base-layout/styles/_variables.scss +21 -0
  565. package/framework/nav/_nav-theme.scss +4 -0
  566. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
  567. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
  568. package/framework/nav/index.d.ts +5 -0
  569. package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
  570. package/framework/nav/nav-item/nav-item.component.scss +203 -0
  571. package/framework/nav/nav-utils.d.ts +20 -0
  572. package/framework/nav/nav.models.d.ts +77 -0
  573. package/framework/nav/nav.module.d.ts +17 -0
  574. package/framework/nav/nav.service.d.ts +27 -0
  575. package/framework/nav/styles/_themes/light/_variables.scss +56 -0
  576. package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
  577. package/framework/nav/styles/_utilities.scss +3 -0
  578. package/framework/nav/styles/_variables.scss +2 -0
  579. package/framework/public-api.d.ts +1 -0
  580. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
  581. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
  582. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
  583. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
  584. package/framework/side-nav/side-nav.component.d.ts +13 -1
  585. package/framework/side-nav/side-nav.component.scss +0 -1
  586. package/framework/side-nav/side-nav.models.d.ts +7 -1
  587. package/framework/side-nav/side-nav.module.d.ts +1 -9
  588. package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
  589. package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
  590. package/framework/top-bar/index.d.ts +2 -0
  591. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
  592. package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
  593. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
  594. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
  595. package/framework/top-bar/top-bar.component.d.ts +25 -3
  596. package/framework/top-bar/top-bar.component.scss +7 -2
  597. package/framework/top-bar/top-bar.module.d.ts +10 -8
  598. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  599. package/graphql/datatable/index.d.ts +3 -0
  600. package/graphql/datatable/map-filter-states.d.ts +2 -2
  601. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
  602. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
  603. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
  604. package/layout/layout.service.d.ts +9 -1
  605. package/menu/menu-toggle.directive.d.ts +2 -1
  606. package/package.json +3 -3
  607. package/popover/popover/popover.component.d.ts +4 -1
  608. package/popover/popover.directive.d.ts +2 -1
  609. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
  610. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
  611. package/table/public-api.d.ts +3 -0
  612. package/table/table/table.component.d.ts +21 -3
  613. package/table/table-cell-tpl.directive.d.ts +7 -0
  614. package/table/table-column-header-tpl.directive.d.ts +7 -0
  615. package/table/table-column.component.d.ts +24 -0
  616. package/table/table.module.d.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-tel-input.mjs","sources":["../../../projects/ui-common/tel-input/intl-tel-input.ts","../../../projects/ui-common/tel-input/tel-input-constants.ts","../../../projects/ui-common/tel-input/utils/add-country-code.ts","../../../projects/ui-common/tel-input/models/tel-input-number-format-name.ts","../../../projects/ui-common/tel-input/utils/coerce-phone-number-format.ts","../../../projects/ui-common/tel-input/utils/get-country-code.ts","../../../projects/ui-common/tel-input/utils/get-dial-code.ts","../../../projects/ui-common/tel-input/utils/get-global-intl-tel-input-globals.ts","../../../projects/ui-common/tel-input/utils/get-global-intl-tel-input-utils.ts","../../../projects/ui-common/tel-input/utils/get-intl-tel-input-utils.ts","../../../projects/ui-common/tel-input/utils/get-validation-error-message.ts","../../../projects/ui-common/tel-input/utils/process-country-codes.ts","../../../projects/ui-common/tel-input/tel-input.directive.ts","../../../projects/ui-common/tel-input/tel-input/tel-input.component.ts","../../../projects/ui-common/tel-input/tel-input/tel-input.component.html","../../../projects/ui-common/tel-input/tel-input-validator.ts","../../../projects/ui-common/tel-input/phone-number.pipe.ts","../../../projects/ui-common/tel-input/tel-input.module.ts","../../../projects/ui-common/tel-input/testing/tel-input.harness.ts","../../../projects/ui-common/tel-input/theseam-ui-common-tel-input.ts"],"sourcesContent":["import intlTelInput from 'intl-tel-input'\n\n//\n// NOTE: These types are mainly for providing types to 'intl-tel-input', because\n// the only published types I could find were incomplete. Some types are\n// missing, because they were not necessary for this library. I don't indend\n// this to be a perfect types for 'intl-tel-input', so as long as they are\n// compatible they may be slightly altered or extended to fit this library\n// better.\n//\n\n/**\n * Partial types for intl-tel-input-utils\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace intlTelInputUtils {\n\n export interface CountryData {\n name: string\n iso2: string\n dialCode: string\n areaCodes: string[] | null\n priority: number\n }\n\n export enum numberFormat {\n E164 = 0,\n INTERNATIONAL = 1,\n NATIONAL = 2,\n RFC3966 = 3\n }\n\n export enum numberType {\n FIXED_LINE = 0,\n MOBILE = 1,\n FIXED_LINE_OR_MOBILE = 2,\n TOLL_FREE = 3,\n PREMIUM_RATE = 4,\n SHARED_COST = 5,\n VOIP = 6,\n PERSONAL_NUMBER = 7,\n PAGER = 8,\n UAN = 9,\n VOICEMAIL = 10,\n UNKNOWN = -1\n }\n\n export enum validationError {\n IS_POSSIBLE = 0,\n INVALID_COUNTRY_CODE = 1,\n TOO_SHORT = 2,\n TOO_LONG = 3,\n NOT_A_NUMBER = 4\n }\n\n export type placeholderNumberType =\n | 'FIXED_LINE_OR_MOBILE'\n | 'FIXED_LINE'\n | 'MOBILE'\n | 'PAGER'\n | 'PERSONAL_NUMBER'\n | 'PREMIUM_RATE'\n | 'SHARED_COST'\n | 'TOLL_FREE'\n | 'UAN'\n | 'UNKNOWN'\n | 'VOICEMAIL'\n | 'VOIP'\n\n}\n\n// NOTE: If one of the functions return -99, then it is most likely from a\n// problem in 'google-libphonenumber' that 'intl-tel-input' swallowed in int\n// wrapper.\n//\n// NOTE: The following functions do not exist until util script has loaded.\nexport interface IntlTelInputUtilsScript {\n numberFormat: intlTelInputUtils.numberFormat\n numberType: intlTelInputUtils.numberType\n validationError: intlTelInputUtils.validationError\n\n /**\n * Format the given number to the given format.\n */\n formatNumber(number: string, countryCode: string, format: intlTelInputUtils.numberFormat): string\n\n /**\n * Get an example number for the given country code.\n */\n getExampleNumber(countryCode: string, national: boolean, numberType: intlTelInputUtils.numberType): string\n\n /**\n * Get the extension from the given number.\n */\n getExtension(number: string, countryCode: string): string\n\n /**\n * Get the type of the given number e.g. fixed-line/mobile.\n */\n getNumberType(number: string, countryCode: string): intlTelInputUtils.numberType\n\n /**\n * Get more info if the validation has failed e.g. too long/too short.\n */\n getValidationError(number: string, countryCode: string): intlTelInputUtils.validationError\n\n /**\n * Check if given number is valid.\n */\n isValidNumber(number: string, countryCode: string): boolean\n}\n\n/**\n * Partial types for intl-tel-input\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace IntlTelInput {\n export interface Static {\n /**\n * Default options for all instances\n */\n defaults: Options\n\n /**\n * Get all of the plugin's country data - either to re-use elsewhere\n * e.g. to populate a country dropdown.\n */\n getCountryData(): intlTelInputUtils.CountryData[]\n\n /**\n * Load the utils.js script (included in the lib directory) to enable\n * formatting/validation etc.\n */\n loadUtils(path: string, utilsScriptDeferred?: boolean): Promise<void> /* | null | void */\n }\n\n export interface Plugin {\n promise: Promise<void>\n\n /**\n * Remove the plugin from the input, and unbind any event listeners.\n */\n destroy(): void\n\n /**\n * Get the extension from the current number.\n * Requires the utilsScript option.\n * e.g. if the input value was \"(702) 555-5555 ext. 1234\", this would\n * return \"1234\".\n */\n getExtension(): string\n\n /**\n * Get the current number in the given format (defaults to E.164 standard).\n * The different formats are available in the enum\n * intlTelInputUtils.numberFormat - taken from here.\n * Requires the utilsScript option.\n * Note that even if nationalMode is enabled, this can still return a full\n * international number.\n * @param numberFormat the format in which the number will be returned.\n */\n getNumber(numberFormat?: intlTelInputUtils.numberFormat): string\n\n /**\n * Get the type (fixed-line/mobile/toll-free etc) of the current number.\n * Requires the utilsScript option.\n * Returns an integer, which you can match against the various options in the\n * global enum intlTelInputUtils.numberType.\n * Note that in the US there's no way to differentiate between fixed-line and\n * mobile numbers, so instead it will return FIXED_LINE_OR_MOBILE.\n */\n getNumberType(): intlTelInputUtils.numberType\n\n /**\n * Get the country data for the currently selected flag.\n */\n getSelectedCountryData(): intlTelInputUtils.CountryData\n\n /**\n * Get more information about a validation error.\n * Requires the utilsScript option.\n * Returns an integer, which you can match against the various options in the\n * global enum ValidationError\n */\n getValidationError(): intlTelInputUtils.validationError\n\n /**\n * Validate the current number. Expects an internationally formatted number\n * (unless nationalMode is enabled). If validation fails, you can use\n * getValidationError to get more information.\n * Requires the utilsScript option.\n * Also see getNumberType if you want to make sure the user enters a certain\n * type of number e.g. a mobile number.\n */\n isValidNumber(): boolean\n\n /**\n * Change the country selection (e.g. when the user is entering their address).\n * @param countryCode country code of the country to be set.\n */\n setCountry(countryCode: string): void\n\n /**\n * Insert a number, and update the selected flag accordingly.\n * Note that by default, if nationalMode is enabled it will try to use\n * national formatting.\n * @param aNumber number to be set.\n */\n setNumber(aNumber: string): void\n\n /**\n * Set the type of the placeholder number\n * @param type Placeholder number type to be set\n */\n setPlaceholderNumberType(type: intlTelInputUtils.placeholderNumberType): void\n }\n\n export interface Options {\n /**\n * Whether or not to allow the dropdown. If disabled, there is no dropdown\n * arrow, and the selected flag is not clickable. Also we display the\n * selected flag on the right instead because it is just a marker of state.\n * Default = true\n */\n allowDropdown?: boolean\n\n /**\n * If there is just a dial code in the input: remove it on blur or submit,\n * and re-add it on focus. This is to prevent just a dial code getting\n * submitted with the form. Requires nationalMode to be set to false.\n * Default = true\n */\n autoHideDialCode?: boolean\n\n /**\n * Set the input's placeholder to an example number for the selected country, and update it if the country changes.\n * You can specify the number type using the placeholderNumberType option.\n * By default it is set to \"polite\", which means it will only set the placeholder if the input doesn't already have one.\n * You can also set it to \"aggressive\", which will replace any existing placeholder, or \"off\".\n * Requires the utilsScript option.\n * Default = \"polite\"\n */\n autoPlaceholder?: 'off' | 'polite' | 'aggressive'\n\n /**\n * Change the placeholder generated by autoPlaceholder. Must return a string.\n * Default = null\n */\n customPlaceholder?: (selectedCountryPlaceholder: string, selectedCountryData: intlTelInputUtils.CountryData) => string\n\n /**\n * Expects a node e.g. document.body. Instead of putting the country dropdown next to the input,\n * append it to the specified node, and it will then be positioned absolutely next to the input using JavaScript.\n * This is useful when the input is inside a container with overflow: hidden.\n * Note that the absolute positioning can be broken by scrolling, so it will automatically close on the window scroll event.\n * Default = null\n */\n dropdownContainer?: Node\n\n /**\n * In the dropdown, display all countries except the ones you specify here.\n * Default = null\n */\n excludeCountries?: string[]\n\n /**\n * Format the input value (according to the nationalMode option) during initialisation, and on setNumber.\n * Requires the utilsScript option.\n * Default = true\n */\n formatOnDisplay?: boolean\n\n /**\n * When setting initialCountry to \"auto\", you must use this option to\n * specify a custom function that looks up the user's location,\n * and then calls the success callback with the relevant country code.\n * Also note that when instantiating the plugin, if the Promise object is defined,\n * one of those is returned under the promise instance property, so you can\n * do something like iti.promise.then(callback) to know when initialisation requests like this have completed.\n * Default = null\n */\n geoIpLookup?: (callback: (countryCode: string) => void) => void\n\n /**\n * Add a hidden input with the given name (or if your input name\n * contains square brackets then it will give the hidden input the same\n * name, replacing the contents of the brackets with the given name). On\n * submit, populate it with the full international number (using\n * getNumber). This is a quick way for people using non-ajax forms to\n * get the full international number, even when nationalMode is enabled.\n * Note: requires the input to be inside a form element, as this feature\n * works by listening for the submit event on the closest form element.\n * Also note that since this uses getNumber internally, it expects a\n * valid number, and so should only be used after validation. Default =\n * \"\"\n */\n hiddenInput?: string\n\n /**\n * Set the initial country selection by specifying it's country code.\n * You can also set it to \"auto\", which will lookup the user's country based\n * on their IP address (requires the geoIpLookup option).\n * Note that the \"auto\" option will not update the country selection if the\n * input already contains a number. If you leave initialCountry blank,\n * it will default to the first country in the list.\n */\n initialCountry?: string\n\n /**\n * Allows to translate the countries by its given iso code e.g.: { 'de': 'Deutschland' }\n * Default = {}\n */\n localizedCountries?: object\n\n /**\n * Allow users to enter national numbers (and not have to think about\n * international dial codes). Formatting, validation and placeholders still\n * work. Then you can use getNumber to extract a full international number.\n * This option now defaults to true, and it is recommended that you leave it\n * that way as it provides a better experience for the user.\n * Default = true\n */\n nationalMode?: boolean\n\n /**\n * In the dropdown, display only the countries you specify.\n * Default = undefined\n */\n onlyCountries?: string[]\n\n /**\n * Specify one of the keys from the global enum intlTelInputUtils.numberType\n * e.g. \"FIXED_LINE\" to set the number type to use for the placeholder.\n * Default = MOBILE\n */\n placeholderNumberType?: intlTelInputUtils.placeholderNumberType\n\n /**\n * Specify the countries to appear at the top of the list.\n * Default = [\"us\", \"gb\"]\n */\n preferredCountries?: string[]\n\n /**\n * Display the country dial code next to the selected flag so it's not part\n * of the typed number. Note that this will disable nationalMode because\n * technically we are dealing with international numbers, but with the\n * dial code separated.\n * Default = false\n */\n separateDialCode?: boolean\n\n /**\n * Enable formatting/validation etc. by specifying the URL of the\n * included utils.js script (or alternatively just point it to the file\n * on cdnjs.com). The script is fetched when the page has finished\n * loading (on the window load event) to prevent blocking (the script is\n * ~215KB). When instantiating the plugin, if the Promise object is\n * defined, one of those is returned under the promise instance\n * property, so you can do something like iti.promise.then(callback) to\n * know when initialisation requests like this have finished. Note that\n * if you're lazy loading the plugin script itself (intlTelInput.js)\n * this will not work and you will need to use the loadUtils method\n * instead. Example: \"build/js/utils.js\" Default = \"\"\n */\n utilsScript?: string\n }\n}\n\n/**\n * Initialise the plugin with optional options.\n * @param options options that can be provided during initialization.\n */\nexport function IntlTelInputFn(node: Element, options?: IntlTelInput.Options): IntlTelInput.Plugin {\n return (intlTelInput as any)(node, options)\n}\n\nexport default IntlTelInputFn\n","export const TEL_INPUT_ASSETS_PATH = 'assets/vendor/intl-tel-input'\n\nexport const TEL_INPUT_STYLES = `\n .iti { width: 100%; }\n\n .iti__flag {background-image: url(\"${TEL_INPUT_ASSETS_PATH}/img/flags.png\");}\n\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n .iti__flag {background-image: url(\"${TEL_INPUT_ASSETS_PATH}/img/flags@2x.png\");}\n }\n\n .iti__country-list {\n /* There is a bug that is causing the 'z-index: 2' from ng-select to conflict with this dropdown container. */\n z-index: 3;\n }\n`\n\nexport const TEL_INPUT_STYLESHEET_PATH = `${TEL_INPUT_ASSETS_PATH}/css/intlTelInput.min.css`\n\nexport const TEL_INPUT_UTILS_PATH = `${TEL_INPUT_ASSETS_PATH}/js/utils.js`\n","import type { TelInputCountryData } from '../models/index'\n\n/**\n * Add a country code to this.countryCodes.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L197\n */\nexport function addCountryCode(data: TelInputCountryData, iso2: string, countryCode: string, priority?: number) {\n if (countryCode.length > data.countryCodeMaxLen) {\n data.countryCodeMaxLen = countryCode.length\n }\n if (!Object.prototype.hasOwnProperty.call(data.countryCodes, countryCode)) {\n data.countryCodes[countryCode] = []\n }\n // bail if we already have this country for this countryCode\n for (const code of data.countryCodes[countryCode]) {\n if (code === iso2) { return }\n }\n // check for undefined as 0 is falsy\n const index = (priority !== undefined) ? priority : data.countryCodes[countryCode].length\n data.countryCodes[countryCode][index] = iso2\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\n\nexport const TelInputNumberFormatName: { [name: string]: intlTelInputUtils.numberFormat } = {\n 'E164': intlTelInputUtils.numberFormat.E164,\n 'INTERNATIONAL': intlTelInputUtils.numberFormat.INTERNATIONAL,\n 'NATIONAL': intlTelInputUtils.numberFormat.NATIONAL,\n 'RFC3966': intlTelInputUtils.numberFormat.RFC3966\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\nimport { TelInputNumberFormatName } from '../models/index'\n\nexport const THESEAM_DEFAULT_PHONE_NUMBER_FORMAT = intlTelInputUtils.numberFormat.INTERNATIONAL\n\n/**\n * Types that should be acceptable in a template.\n */\nexport type TheSeamNumberFormatsInput =\n // Enum\n intlTelInputUtils.numberFormat\n // Strings matching enum\n | 'E164'\n | 'INTERNATIONAL'\n | 'NATIONAL'\n | 'RFC3966'\n // Strings matching enum in lower case, since it would be what a user will\n // most likely type if string is necessary.\n | 'e164'\n | 'international'\n | 'national'\n | 'rfc3966'\n\nexport function coercePhoneNumberFormat(\n format: TheSeamNumberFormatsInput,\n defaultFormat = THESEAM_DEFAULT_PHONE_NUMBER_FORMAT\n): intlTelInputUtils.numberFormat {\n let res = defaultFormat\n\n if (typeof format === 'string') {\n const _format = TelInputNumberFormatName[`${format}`.trim().toUpperCase()]\n res = (_format === undefined || _format === null) ? defaultFormat : _format\n } else if (typeof format === 'number') {\n // We could check for a number range, but I think it is safer to assume it's\n // valid if a number was provided. A number most likely means the value came\n // from using the enum and I don't want to accidentaly exclude a format that\n // we don't have documented.\n //\n // NOTE: We may want to limit it to specific numbers though and assume that\n // potentialy excluded formats are not intended to be used by this library.\n res = format\n }\n\n return res\n}\n","import type { TelInputCountryData } from '../models/index'\n\nfunction getNumeric(s: string): string {\n return s.replace(/\\D/g, '')\n}\n\nexport function getCountryCode(data: TelInputCountryData, dialCode: string) {\n const _countryCodes = data.countryCodes[getNumeric(dialCode)]\n // Refer to `_setInitialState` to get libraries default logic\n return (_countryCodes === undefined || _countryCodes === null || _countryCodes.length === 0) ? 'us' : _countryCodes[0]\n}\n","import type { TelInputCountryData } from '../models/index'\n\n/**\n * Try and extract a valid international dial code from a full telephone number.\n *\n * NOTE: returns the raw string inc plus character and any whitespace/dots etc.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L1161\n */\nexport function getDialCode(data: TelInputCountryData, number: string, includeAreaCode: boolean = false): string {\n // console.log('getDialCode', number, includeAreaCode)\n // const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData() as TelInputCountryData[])\n\n let dialCode = ''\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === '+') {\n let numericChars = ''\n // iterate over chars\n for (let i = 0; i < number.length; i++) {\n const c = number.charAt(i)\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (data.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1)\n }\n } else {\n if (data.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1)\n // if we're just looking for a dial code, we can break as soon as we find one\n break\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === data.countryCodeMaxLen) {\n break\n }\n }\n }\n }\n\n // console.log('getDialCode return', dialCode)\n return dialCode\n}\n","import type { IntlTelInput } from '../intl-tel-input'\n\nexport function globalIntlTelInputGlobals(): IntlTelInput.Static {\n return (window as any).intlTelInputGlobals\n}\n","import type { IntlTelInputUtilsScript } from '../intl-tel-input'\n\nexport function globalIntlTelInputUtils(): IntlTelInputUtilsScript {\n return (window as any).intlTelInputUtils\n}\n","import { notNullOrUndefined, waitOnConditionAsync } from '@theseam/ui-common/utils'\n\nimport type { IntlTelInputUtilsScript } from '../intl-tel-input'\nimport { TEL_INPUT_UTILS_PATH } from '../tel-input-constants'\nimport { globalIntlTelInputGlobals } from './get-global-intl-tel-input-globals'\nimport { globalIntlTelInputUtils } from './get-global-intl-tel-input-utils'\n\nexport function getIntlTelInputUtils(): Promise<IntlTelInputUtilsScript> {\n if (globalIntlTelInputUtils()) {\n return Promise.resolve(globalIntlTelInputUtils())\n }\n\n if ((globalIntlTelInputGlobals() as any).startedLoadingUtilsScript) {\n return waitOnConditionAsync(() => notNullOrUndefined(globalIntlTelInputUtils()), 5000)\n .then(() => globalIntlTelInputUtils())\n }\n\n return globalIntlTelInputGlobals().loadUtils(TEL_INPUT_UTILS_PATH)\n .then(() => waitOnConditionAsync(() => notNullOrUndefined(globalIntlTelInputUtils()), 5000))\n .then(() => globalIntlTelInputUtils())\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\n\nexport const VALIDATOR_CODE_MESSAGES: { [key: number]: string } = {\n [intlTelInputUtils.validationError.INVALID_COUNTRY_CODE]: 'Country code is invalid.',\n [intlTelInputUtils.validationError.TOO_SHORT]: 'Number is too short.',\n [intlTelInputUtils.validationError.TOO_LONG]: 'Number is too long.',\n [intlTelInputUtils.validationError.NOT_A_NUMBER]: 'Must be numbers only.'\n}\n\nexport function getValidationErrorMessage(code: intlTelInputUtils.validationError): string {\n const message = VALIDATOR_CODE_MESSAGES[code]\n return message ?? 'Invalid number.'\n}\n","import type { intlTelInputUtils } from '../intl-tel-input'\nimport type { TelInputCountryData } from '../models/index'\nimport { addCountryCode } from './add-country-code'\n\n/**\n * Process the countryCodes map.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L252\n */\nexport function processCountryCodes(countries: intlTelInputUtils.CountryData[]): TelInputCountryData {\n const data: TelInputCountryData = {\n countryCodeMaxLen: 0,\n // here we store just dial codes\n dialCodes: {},\n // here we store \"country codes\" (both dial codes and their area codes)\n countryCodes: {}\n }\n\n // first: add dial codes\n for (const c of countries) {\n if (!data.dialCodes[c.dialCode]) { data.dialCodes[c.dialCode] = true }\n addCountryCode(data, c.iso2, c.dialCode, c.priority)\n }\n\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (const c of countries) {\n // area codes\n if (c.areaCodes) {\n const rootCountryCode = data.countryCodes[c.dialCode][0]\n // for each area code\n for (const areaCode of c.areaCodes) {\n // for each digit in the area code to add all partial matches as well\n for (let k = 1; k < areaCode.length; k++) {\n const partialDialCode = c.dialCode + areaCode.substr(0, k)\n // start with the root country, as that also matches this dial code\n addCountryCode(data, rootCountryCode, partialDialCode)\n addCountryCode(data, c.iso2, partialDialCode)\n }\n // add the full area code\n addCountryCode(data, c.iso2, c.dialCode + areaCode)\n }\n }\n }\n\n return data\n}\n","import { DOCUMENT } from '@angular/common'\nimport { Directive, DoCheck, ElementRef, HostBinding, Inject, Input, NgZone, OnDestroy, OnInit, Optional, Self } from '@angular/core'\nimport { fromEvent, merge, Subject } from 'rxjs'\nimport { auditTime, last, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { AssetLoaderService, LoadedAssetRef } from '@theseam/ui-common/services'\nimport { getAttribute, hasAttribute, notNullOrUndefined, toggleAttribute } from '@theseam/ui-common/utils'\n\nimport { NgControl } from '@angular/forms'\nimport { IntlTelInputFn, intlTelInputUtils } from './intl-tel-input'\nimport type { IntlTelInput } from './intl-tel-input'\nimport { TEL_INPUT_STYLES, TEL_INPUT_STYLESHEET_PATH, TEL_INPUT_UTILS_PATH } from './tel-input-constants'\nimport { globalIntlTelInputUtils } from './utils/index'\n\n@Directive({\n selector: 'input[seamTelInput]',\n exportAs: 'seamTelInput',\n standalone: true,\n})\nexport class TheSeamTelInputDirective implements OnInit, OnDestroy, DoCheck {\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _instance: IntlTelInput.Plugin | undefined\n private _loadedAssetRefs: LoadedAssetRef<HTMLLinkElement | HTMLStyleElement>[] = []\n\n @HostBinding('attr.type') _attrType = 'tel'\n\n @Input()\n set value(v: string | undefined | null) {\n this._value = v\n if (this._instance) {\n this._instance.setNumber(notNullOrUndefined(v) ? v : '')\n this.updateValue()\n }\n }\n get value(): string | undefined | null {\n if (this._instance) {\n return this._instance?.getNumber()\n }\n return this._value\n }\n private _value: string | undefined | null\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLInputElement>,\n private readonly _assetLoader: AssetLoaderService,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) private readonly _document?: any,\n @Optional() @Self() private readonly _ngControl?: NgControl,\n ) { }\n\n ngOnInit(): void {\n this._elementRef.nativeElement.value = this._ngControl ? this._ngControl.value : this.value ?? ''\n this._elementRef.nativeElement.setAttribute('instance-loading', '')\n merge(\n this._assetLoader.loadStyleSheet(TEL_INPUT_STYLESHEET_PATH),\n this._assetLoader.loadStyle(TEL_INPUT_STYLES)\n ).pipe(\n tap(v => this._loadedAssetRefs.push(v)),\n last(),\n switchMap(() => {\n this._instance = IntlTelInputFn(this._elementRef.nativeElement, {\n utilsScript: TEL_INPUT_UTILS_PATH,\n preferredCountries: [ 'US' ],\n nationalMode: false,\n formatOnDisplay: true,\n autoPlaceholder: 'off',\n separateDialCode: false,\n autoHideDialCode: false,\n // TODO: Add initialCountry support.\n // initialCountry: 'auto'\n })\n\n this._tryUpdateDropdownAttributes()\n\n return this._instance.promise.then(v => {\n this._elementRef.nativeElement.removeAttribute('instance-loading')\n return v\n })\n }),\n tap(() => this._initDropdownListener()),\n tap(() => this.value = this._value),\n tap(this._formatIntlTelInput),\n switchMap(() => merge(\n fromEvent(this._elementRef.nativeElement, 'keyup'),\n fromEvent(this._elementRef.nativeElement, 'change')\n )),\n tap(this._formatIntlTelInput),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._instance?.destroy()\n for (const ref of this._loadedAssetRefs) {\n ref.destroy()\n }\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n this._tryUpdateDropdownAttributes()\n }\n\n private _tryUpdateDropdownAttributes() {\n const control = this._ngControl\n if (control) {\n const flagsContainer: HTMLElement | null | undefined = (this._instance as any)?.selectedFlag\n if (flagsContainer) {\n toggleAttribute(flagsContainer, 'aria-disabled', control.disabled ?? false)\n\n const disabled = control.disabled ?? false\n if (!disabled) {\n if (getAttribute(flagsContainer, 'tabindex') !== '0') {\n flagsContainer.setAttribute('tabindex', '0')\n }\n } else {\n if (hasAttribute(flagsContainer, 'tabindex')) {\n flagsContainer.removeAttribute('tabindex')\n }\n }\n }\n }\n }\n\n private _formatIntlTelInput = () => {\n // if (typeof intlTelInputUtils !== 'undefined') {\n // const currentText = this._instance?.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL)\n // console.log('currentText', currentText, this._instance?.getSelectedCountryData())\n // console.log(this._instance?.getValidationError())\n // if (typeof currentText === 'string') {\n // this._instance?.setNumber(currentText)\n // }\n // }\n\n this.updateValue()\n }\n\n public updateValue(): void {\n // console.log('%cupdateValue START', 'color:cyan', typeof intlTelInputUtils !== 'undefined')\n if (typeof globalIntlTelInputUtils() !== 'undefined') {\n const currentText = this._instance?.getNumber(intlTelInputUtils.numberFormat.E164)\n // console.log('currentText', currentText, this._instance?.getSelectedCountryData())\n // console.log('fullNumber', (this._instance as any)._getFullNumber())\n // console.log('E164', this._instance?.getNumber(intlTelInputUtils.numberFormat.E164))\n // console.log('INTERNATIONAL', this._instance?.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL))\n // console.log('NATIONAL', this._instance?.getNumber(intlTelInputUtils.numberFormat.NATIONAL))\n // console.log('RFC3966', this._instance?.getNumber(intlTelInputUtils.numberFormat.RFC3966))\n // console.log('getValidationError', this._instance?.getValidationError())\n if (typeof currentText === 'string') {\n this._instance?.setNumber(currentText)\n }\n }\n // console.log('%cupdateValue END', 'color:cyan')\n }\n\n public getFullNumber(): string | undefined | null {\n if (typeof globalIntlTelInputUtils() !== 'undefined' && this._instance) {\n // return (this._instance as any)._getFullNumber()\n return this._instance.getNumber(intlTelInputUtils.numberFormat.E164)\n }\n return this.value\n }\n\n private _initDropdownListener() {\n const doc = this._document\n if (!doc) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const openDropdown$ = fromEvent(this._elementRef.nativeElement, 'open:countrydropdown')\n const closeDropdown$ = fromEvent(this._elementRef.nativeElement, 'close:countrydropdown')\n const instance = this._instance as any\n openDropdown$.pipe(\n switchMap(() => {\n const pressDown$ = merge(\n fromEvent(doc, 'touchstart', { capture: true }),\n fromEvent(doc, 'mousedown', { capture: true })\n ).pipe(\n auditTime(0),\n tap((event: any) => {\n if (instance.countryList.contains(event.target) || instance.selectedFlag.contains(event.target)) {\n return\n }\n instance._closeDropdown()\n })\n )\n\n const flagBtnClick$ = fromEvent<MouseEvent>(instance.selectedFlag, 'click').pipe(\n tap((event: MouseEvent) => {\n if (!this.isDropdownVisible()) {\n return\n }\n\n event.preventDefault()\n instance._closeDropdown()\n })\n )\n\n return merge(pressDown$, flagBtnClick$).pipe(takeUntil(closeDropdown$))\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n\n const flagsContainer: HTMLElement | null | undefined = (this._instance as any)?.selectedFlag\n if (flagsContainer) {\n fromEvent(flagsContainer, 'keydown', { capture: true }).pipe(\n tap((e: any) => {\n const control = this._ngControl\n if (control) {\n const disabled = control.disabled ?? false\n if (disabled && ['ArrowUp', 'Up', 'ArrowDown', 'Down', ' ', 'Enter'].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault()\n // prevent event from being handled again by document\n e.stopPropagation()\n }\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n })\n }\n\n public isDropdownVisible() {\n if (!this._instance) {\n return false\n }\n\n const instance = this._instance as any\n return !instance.countryList.classList.contains('iti__hide')\n }\n\n /** Focuses the input. */\n public focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n public blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n public getHostElement(): HTMLInputElement {\n return this._elementRef.nativeElement\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n InjectFlags,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms'\nimport { defer, fromEvent, merge, Observable, of, Subject } from 'rxjs'\nimport { auditTime, map, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { InputDirective, TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\n\nimport { TheSeamTelInputDirective } from '../tel-input.directive'\nimport { CommonModule } from '@angular/common'\n\n// TODO: Fix focus\n// TODO: Fix disabled\n\n@Component({\n selector: 'seam-tel-input',\n templateUrl: './tel-input.component.html',\n styleUrls: ['./tel-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTelInputComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n TheSeamTelInputDirective,\n ],\n})\nexport class TheSeamTelInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject<void>()\n\n /** @ignore */\n readonly _control = new UntypedFormControl()\n\n private _focusOrigin: FocusOrigin = null\n\n _hasInvalidCss$: Observable<boolean>\n\n @Input() @InputBoolean() required = false\n\n @Input()\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (this._control.disabled !== newValue) {\n if (newValue) {\n this._control.disable()\n } else {\n this._control.enable()\n }\n }\n\n if (newValue !== this.disabled) {\n this._disabled = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _disabled = false\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) { this._tabIndex = coerceNumberProperty(value) }\n get tabIndex(): number { return this._tabIndex }\n private _tabIndex = -1\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | undefined | null = null\n\n /** The value attribute of the native input element */\n @Input() value: string | undefined | null\n\n /** Event emitted when the \"tel\" input value changes. */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | undefined | null>()\n\n /**\n * The telInput directive\n * @ignore\n */\n @ViewChild(TheSeamTelInputDirective, { static: true }) _telInputDirective?: TheSeamTelInputDirective\n\n /**\n * The telInput directive\n * @ignore\n */\n @ViewChild(InputDirective, { static: true }) _inputDirective?: InputDirective\n\n /**\n * The native `<input type=\"tel\">` element\n * @ignore\n */\n @ViewChild('input', { static: true }) _inputElementRef?: ElementRef<HTMLInputElement>\n\n @HostListener('focus', [ '$event' ])\n _onFocus() {\n this._telInputDirective?.focus()\n }\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @ignore\n */\n _onTouched: () => any = () => {}\n\n /** @ignore */\n private _controlValueAccessorChangeFn: (value: any) => void = () => {}\n\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _injector: Injector,\n private readonly _elementRef: ElementRef,\n private readonly _focusMonitor: FocusMonitor\n ) {\n const telInputBlurEvent$ = this._telInputDirective\n ? fromEvent(this._telInputDirective.getHostElement(), 'blur')\n : of<Event>()\n\n this._hasInvalidCss$ = defer(() => of((this._injector.get(NgControl, null, InjectFlags.Self)?.control) || undefined)).pipe(\n switchMap(control => {\n if (control) {\n return merge(\n control.valueChanges,\n control.statusChanges,\n telInputBlurEvent$\n ).pipe(\n auditTime(0),\n map(() => {\n const inputControl = this._inputDirective?.ngControl\n return control.invalid && (inputControl?.dirty as boolean || inputControl?.touched as boolean)\n })\n )\n }\n return of(false)\n })\n )\n }\n\n /** @ignore */\n ngOnInit(): void {\n this._focusMonitor.monitor(this._elementRef, true).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(origin => this._focusOrigin = origin)\n\n this._control.valueChanges.pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(v => {\n const value = this._telInputDirective?.getFullNumber()\n // console.log('valueChanges', v, value)\n this.value = value\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(value)\n this.change.emit(value)\n }\n })\n this._control.setValue(this.value ?? '')\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this._focusMonitor.stopMonitoring(this._elementRef)\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n writeValue(value: any) {\n // console.log('writeValue', value, this._telInputDirective?.getFullNumber(), this._control.value)\n this.value = value\n if (this._control.value !== value) {\n this._control.setValue(value)\n }\n if (this._telInputDirective) {\n this._telInputDirective.value = value\n this._telInputDirective.updateValue()\n }\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled\n }\n\n /** Focuses the input. */\n public focus(): void {\n this._telInputDirective?.focus()\n }\n\n /** Unfocuses the input. */\n public blur(): void {\n this._telInputDirective?.blur()\n }\n\n public hasFocus(): boolean {\n return this._focusOrigin !== null && this._focusOrigin !== undefined\n }\n\n}\n","<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\"\n [required]=\"required\"/>\n","import { UntypedFormControl } from '@angular/forms'\n\nimport {\n getCountryCode,\n getDialCode,\n getIntlTelInputUtils,\n getValidationErrorMessage,\n globalIntlTelInputGlobals,\n processCountryCodes\n} from './utils'\n\nexport function telInputValidator(control: UntypedFormControl) {\n const value = control.value\n\n // This validator doesn't need to do anything if there isn't a value.\n if (typeof value !== 'string' || value.length === 0) {\n return Promise.resolve(null)\n }\n\n return getIntlTelInputUtils().then(utils => {\n const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData())\n const dialCode = getDialCode(data, value)\n const countryCode = getCountryCode(data, dialCode)\n\n let number = value\n if (number.charAt(0) !== '+') {\n if (number.charAt(0) !== '1') { number = `1${number}` }\n number = `+${number}`\n }\n\n if (!utils.isValidNumber(number, countryCode)) {\n const code = utils.getValidationError(number, countryCode)\n const message = getValidationErrorMessage(code)\n return { 'telInput': { code, message } }\n }\n\n return null\n })\n}\n","import { ChangeDetectorRef, Pipe, PipeTransform } from '@angular/core'\n\nimport { intlTelInputUtils } from './intl-tel-input'\nimport { getCountryCode, getDialCode, getIntlTelInputUtils, globalIntlTelInputGlobals, processCountryCodes, TheSeamNumberFormatsInput } from './utils'\nimport { coercePhoneNumberFormat } from './utils'\n\n@Pipe({\n name: 'phoneNumber',\n pure: false\n})\nexport class TheSeamPhoneNumberPipe implements PipeTransform {\n\n private _latestPhoneNumber: string | undefined | null\n private _latestNumberFormat: TheSeamNumberFormatsInput | undefined | null\n private _latestValue: string | undefined | null\n\n constructor(private _cdr: ChangeDetectorRef) { }\n\n transform(\n phoneNumber: string,\n numberFormat: TheSeamNumberFormatsInput = intlTelInputUtils.numberFormat.INTERNATIONAL\n ): any {\n // console.log('transform', phoneNumber, numberFormat)\n if (this._latestPhoneNumber !== phoneNumber || this._latestNumberFormat !== numberFormat) {\n this._transform(phoneNumber, numberFormat)\n }\n this._latestPhoneNumber = phoneNumber\n this._latestNumberFormat = numberFormat\n\n // console.log('return', this._latestValue)\n return this._latestValue\n }\n\n async _transform(phoneNumber: string, numberFormat: TheSeamNumberFormatsInput) {\n // console.log('_transform', phoneNumber, numberFormat)\n const utils = await getIntlTelInputUtils()\n // console.log('utils', utils)\n\n const _format = coercePhoneNumberFormat(numberFormat)\n\n const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData())\n const dialCode = getDialCode(data, phoneNumber)\n const countryCode = getCountryCode(data, dialCode)\n\n const number = phoneNumber\n // if (number.charAt(0) !== '+') {\n // if (number.charAt(0) !== '1') { number = `1${number}` }\n // number = `+${number}`\n // }\n\n const n = utils.formatNumber(number, countryCode, _format)\n // console.log('n', n)\n this._latestValue = n\n // this._cdr.markForCheck()\n this._cdr.detectChanges()\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\n\nimport { TheSeamPhoneNumberPipe } from './phone-number.pipe'\nimport { TheSeamTelInputDirective } from './tel-input.directive'\nimport { TheSeamTelInputComponent } from './tel-input/tel-input.component'\n\n@NgModule({\n declarations: [\n TheSeamPhoneNumberPipe\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n TheSeamTelInputDirective,\n TheSeamTelInputComponent,\n ],\n exports: [\n TheSeamTelInputDirective,\n TheSeamTelInputComponent,\n TheSeamPhoneNumberPipe\n ]\n})\nexport class TheSeamTelInputModule { }\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\ninterface TheSeamTelInputHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the name of the field. */\n name?: string | RegExp\n}\n\nexport class TheSeamTelInputHarness extends ComponentHarness {\n static hostSelector = 'seam-tel-input'\n\n private readonly _input = this.locatorFor('input')\n\n /** Creates a `HarnessPredicate` used to locate a particular `TheSeamTelInputHarness`. */\n static with(options: TheSeamTelInputHarnessFilters): HarnessPredicate<TheSeamTelInputHarness> {\n return new HarnessPredicate(TheSeamTelInputHarness, options)\n .addOption('field name', options.name,\n (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n }\n\n public async getName(): Promise<string | null> {\n return (await this._input()).getAttribute('name')\n }\n\n public async getValue(): Promise<any> {\n return (await this._input()).getProperty('value')\n }\n\n public async isDisabled(): Promise<boolean> {\n return (await this._input()).getProperty('disabled')\n }\n\n public async isRequired(): Promise<boolean> {\n return (await this._input()).getProperty('required')\n }\n\n public async click(): Promise<void> {\n return (await this._input()).click()\n }\n\n public async setValue(value: any): Promise<void> {\n await this._waitOnInstance()\n // TODO: Find out why setInputValue() doesn't update the FormControl.\n // return (await this._input()).setInputValue(value)\n await (await this._input()).click()\n await this._input().then(x => x.setInputValue(''))\n return (await this._input()).sendKeys(value)\n }\n\n private async _waitOnInstance() {\n const input = document.querySelector('input')\n const isInstanceReady = () => {\n const instLoading = input?.getAttribute('instance-loading')\n return instLoading === null\n }\n if (isInstanceReady()) {\n return true\n }\n await waitOnConditionAsync(\n isInstanceReady, 10000\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1"],"mappings":";;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEG;AACH;AACM,IAAW,kBAsDhB;AAtDD,CAAA,UAAiB,iBAAiB,EAAA;AAUhC,IAAA,IAAY,YAKX,CAAA;AALD,IAAA,CAAA,UAAY,YAAY,EAAA;AACtB,QAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,QAAA,YAAA,CAAA,YAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;AACjB,QAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,QAAA,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACb,KAAC,EALW,YAAY,GAAZ,iBAAY,CAAA,YAAA,KAAZ,8BAAY,GAKvB,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,UAaX,CAAA;AAbD,IAAA,CAAA,UAAY,UAAU,EAAA;AACpB,QAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd,QAAA,UAAA,CAAA,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACV,QAAA,UAAA,CAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AACxB,QAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACb,QAAA,UAAA,CAAA,UAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;AAChB,QAAA,UAAA,CAAA,UAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,QAAA,UAAA,CAAA,UAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,QAAA,UAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB,CAAA;AACnB,QAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT,QAAA,UAAA,CAAA,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACP,QAAA,UAAA,CAAA,UAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc,CAAA;AACd,QAAA,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,SAAY,CAAA;AACd,KAAC,EAbW,UAAU,GAAV,iBAAU,CAAA,UAAA,KAAV,4BAAU,GAarB,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,eAMX,CAAA;AAND,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,eAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,QAAA,eAAA,CAAA,eAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AACxB,QAAA,eAAA,CAAA,eAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACb,QAAA,eAAA,CAAA,eAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,QAAA,eAAA,CAAA,eAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;AAClB,KAAC,EANW,eAAe,GAAf,iBAAe,CAAA,eAAA,KAAf,iCAAe,GAM1B,EAAA,CAAA,CAAA,CAAA;AAgBH,CAAC,EAtDgB,iBAAiB,KAAjB,iBAAiB,GAsDjC,EAAA,CAAA,CAAA,CAAA;AA4SD;;;AAGG;AACa,SAAA,cAAc,CAAC,IAAa,EAAE,OAA8B,EAAA;AAC1E,IAAA,OAAQ,YAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC7C;;ACvXO,MAAM,qBAAqB,GAAG,+BAA8B;AAEtD,MAAA,gBAAgB,GAAG,CAAA;;;uCAGO,qBAAqB,CAAA;;;yCAGnB,qBAAqB,CAAA;;;;;;;EAO7D;AAEY,MAAA,yBAAyB,GAAG,CAAG,EAAA,qBAAqB,4BAA2B;AAE/E,MAAA,oBAAoB,GAAG,CAAG,EAAA,qBAAqB;;ACjB5D;;;;AAIG;AACG,SAAU,cAAc,CAAC,IAAyB,EAAE,IAAY,EAAE,WAAmB,EAAE,QAAiB,EAAA;AAC5G,IAAA,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAC/C,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAA;AAC5C,KAAA;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;AACzE,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;AACpC,KAAA;;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACjD,IAAI,IAAI,KAAK,IAAI,EAAE;YAAE,OAAM;AAAE,SAAA;AAC9B,KAAA;;IAED,MAAM,KAAK,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;IACzF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;AAC9C;;ACnBa,MAAA,wBAAwB,GAAuD;AAC1F,IAAA,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC,IAAI;AAC3C,IAAA,eAAe,EAAE,iBAAiB,CAAC,YAAY,CAAC,aAAa;AAC7D,IAAA,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,QAAQ;AACnD,IAAA,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,OAAO;;;MCHtC,mCAAmC,GAAG,iBAAiB,CAAC,YAAY,CAAC,cAAa;SAoB/E,uBAAuB,CACrC,MAAiC,EACjC,aAAa,GAAG,mCAAmC,EAAA;IAEnD,IAAI,GAAG,GAAG,aAAa,CAAA;AAEvB,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,QAAA,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,MAAM,CAAA,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AAC1E,QAAA,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,aAAa,GAAG,OAAO,CAAA;AAC5E,KAAA;AAAM,SAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;;;;;;;;QAQrC,GAAG,GAAG,MAAM,CAAA;AACb,KAAA;AAED,IAAA,OAAO,GAAG,CAAA;AACZ;;AC1CA,SAAS,UAAU,CAAC,CAAS,EAAA;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC7B,CAAC;AAEe,SAAA,cAAc,CAAC,IAAyB,EAAE,QAAgB,EAAA;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;;IAE7D,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AACxH;;ACRA;;;;;;AAMG;AACG,SAAU,WAAW,CAAC,IAAyB,EAAE,MAAc,EAAE,kBAA2B,KAAK,EAAA;;;IAIrG,IAAI,QAAQ,GAAG,EAAE,CAAA;;IAEjB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC5B,IAAI,YAAY,GAAG,EAAE,CAAA;;AAErB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;;YAE1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;gBAC3B,YAAY,IAAI,CAAC,CAAA;;AAEjB,gBAAA,IAAI,eAAe,EAAE;AACnB,oBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;;wBAEnC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AACnC,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;wBAChC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;;wBAElC,MAAK;AACN,qBAAA;AACF,iBAAA;;AAED,gBAAA,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE;oBAClD,MAAK;AACN,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;;AAGD,IAAA,OAAO,QAAQ,CAAA;AACjB;;SC5CgB,yBAAyB,GAAA;IACvC,OAAQ,MAAc,CAAC,mBAAmB,CAAA;AAC5C;;SCFgB,uBAAuB,GAAA;IACrC,OAAQ,MAAc,CAAC,iBAAiB,CAAA;AAC1C;;SCGgB,oBAAoB,GAAA;IAClC,IAAI,uBAAuB,EAAE,EAAE;AAC7B,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAA;AAClD,KAAA;AAED,IAAA,IAAK,yBAAyB,EAAU,CAAC,yBAAyB,EAAE;AAClE,QAAA,OAAO,oBAAoB,CAAC,MAAM,kBAAkB,CAAC,uBAAuB,EAAE,CAAC,EAAE,IAAI,CAAC;AACnF,aAAA,IAAI,CAAC,MAAM,uBAAuB,EAAE,CAAC,CAAA;AACzC,KAAA;AAED,IAAA,OAAO,yBAAyB,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC/D,SAAA,IAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,kBAAkB,CAAC,uBAAuB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3F,SAAA,IAAI,CAAC,MAAM,uBAAuB,EAAE,CAAC,CAAA;AAC1C;;AClBa,MAAA,uBAAuB,GAA8B;AAChE,IAAA,CAAC,iBAAiB,CAAC,eAAe,CAAC,oBAAoB,GAAG,0BAA0B;AACpF,IAAA,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS,GAAG,sBAAsB;AACrE,IAAA,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,GAAG,qBAAqB;AACnE,IAAA,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,GAAG,uBAAuB;EAC1E;AAEK,SAAU,yBAAyB,CAAC,IAAuC,EAAA;AAC/E,IAAA,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC7C,OAAO,OAAO,IAAI,iBAAiB,CAAA;AACrC;;ACRA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,SAA0C,EAAA;AAC5E,IAAA,MAAM,IAAI,GAAwB;AAChC,QAAA,iBAAiB,EAAE,CAAC;;AAEpB,QAAA,SAAS,EAAE,EAAE;;AAEb,QAAA,YAAY,EAAE,EAAE;KACjB,CAAA;;AAGD,IAAA,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;AAAE,SAAA;AACtE,QAAA,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;AACrD,KAAA;;;;;AAMD,IAAA,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;;QAEzB,IAAI,CAAC,CAAC,SAAS,EAAE;AACf,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;;AAExD,YAAA,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE;;AAElC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,oBAAA,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;;AAE1D,oBAAA,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;oBACtD,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AAC9C,iBAAA;;AAED,gBAAA,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAA;AACpD,aAAA;AACF,SAAA;AACF,KAAA;AAED,IAAA,OAAO,IAAI,CAAA;AACb;;MC7Ba,wBAAwB,CAAA;IAQnC,IACI,KAAK,CAAC,CAA4B,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,WAAW,EAAE,CAAA;AACnB,SAAA;KACF;AACD,IAAA,IAAI,KAAK,GAAA;QACP,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAA;AACnC,SAAA;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;KACnB;IAGD,WACmB,CAAA,WAAyC,EACzC,YAAgC,EAChC,OAAe,EACe,SAAe,EACzB,UAAsB,EAAA;QAJ1C,IAAW,CAAA,WAAA,GAAX,WAAW,CAA8B;QACzC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAChC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACe,IAAS,CAAA,SAAA,GAAT,SAAS,CAAM;QACzB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AA5B5C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;QAG7C,IAAgB,CAAA,gBAAA,GAAyD,EAAE,CAAA;QAEzD,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;QAsGnC,IAAmB,CAAA,mBAAA,GAAG,MAAK;;;;;;;;;YAUjC,IAAI,CAAC,WAAW,EAAE,CAAA;AACpB,SAAC,CAAA;KAzFI;IAEL,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QACjG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;QACnE,KAAK,CACH,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAC3D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAC9C,CAAC,IAAI,CACJ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,IAAI,EAAE,EACN,SAAS,CAAC,MAAK;YACb,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AAC9D,gBAAA,WAAW,EAAE,oBAAoB;gBACjC,kBAAkB,EAAE,CAAE,IAAI,CAAE;AAC5B,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,gBAAgB,EAAE,KAAK;;;AAGxB,aAAA,CAAC,CAAA;YAEF,IAAI,CAAC,4BAA4B,EAAE,CAAA;YAEnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAG;gBACrC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;AAClE,gBAAA,OAAO,CAAC,CAAA;AACV,aAAC,CAAC,CAAA;AACJ,SAAC,CAAC,EACF,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,EACvC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EACnC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAC7B,SAAS,CAAC,MAAM,KAAK,CACnB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,EAClD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CACpD,CAAC,EACF,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAC7B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,EAAE,CAAA;KACd;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAA;AACzB,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvC,GAAG,CAAC,OAAO,EAAE,CAAA;AACd,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAED,SAAS,GAAA;QACP,IAAI,CAAC,4BAA4B,EAAE,CAAA;KACpC;IAEO,4BAA4B,GAAA;AAClC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;AAC/B,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,MAAM,cAAc,GAAoC,IAAI,CAAC,SAAiB,EAAE,YAAY,CAAA;AAC5F,YAAA,IAAI,cAAc,EAAE;gBAClB,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;AAE3E,gBAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAA;gBAC1C,IAAI,CAAC,QAAQ,EAAE;oBACb,IAAI,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,GAAG,EAAE;AACpD,wBAAA,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AAC7C,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE;AAC5C,wBAAA,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;AAC3C,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAeM,WAAW,GAAA;;AAEhB,QAAA,IAAI,OAAO,uBAAuB,EAAE,KAAK,WAAW,EAAE;AACpD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;;;;;;;;AAQlF,YAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACnC,gBAAA,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;AACvC,aAAA;AACF,SAAA;;KAEF;IAEM,aAAa,GAAA;QAClB,IAAI,OAAO,uBAAuB,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;;AAEtE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AACrE,SAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;KAClB;IAEO,qBAAqB,GAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1B,IAAI,CAAC,GAAG,EAAE;YACN,OAAM;AACT,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAA;AACvF,YAAA,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAA;AACzF,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAgB,CAAA;AACtC,YAAA,aAAa,CAAC,IAAI,CAChB,SAAS,CAAC,MAAK;AACb,gBAAA,MAAM,UAAU,GAAG,KAAK,CACtB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC/C,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC,IAAI,CACJ,SAAS,CAAC,CAAC,CAAC,EACZ,GAAG,CAAC,CAAC,KAAU,KAAI;oBACjB,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC/F,OAAM;AACP,qBAAA;oBACD,QAAQ,CAAC,cAAc,EAAE,CAAA;iBAC1B,CAAC,CACH,CAAA;AAED,gBAAA,MAAM,aAAa,GAAG,SAAS,CAAa,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAC9E,GAAG,CAAC,CAAC,KAAiB,KAAI;AACxB,oBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;wBAC7B,OAAM;AACP,qBAAA;oBAED,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,QAAQ,CAAC,cAAc,EAAE,CAAA;iBAC1B,CAAC,CACH,CAAA;AAED,gBAAA,OAAO,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;AACzE,aAAC,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,EAAE,CAAA;AAEb,YAAA,MAAM,cAAc,GAAoC,IAAI,CAAC,SAAiB,EAAE,YAAY,CAAA;AAC5F,YAAA,IAAI,cAAc,EAAE;AAClB,gBAAA,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC1D,GAAG,CAAC,CAAC,CAAM,KAAI;AACb,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;AAC/B,oBAAA,IAAI,OAAO,EAAE;AACX,wBAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAA;wBAC1C,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;;4BAE1F,CAAC,CAAC,cAAc,EAAE,CAAA;;4BAElB,CAAC,CAAC,eAAe,EAAE,CAAA;AACpB,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,EAAE,CAAA;AACd,aAAA;AACH,SAAC,CAAC,CAAA;KACH;IAEM,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,KAAK,CAAA;AACb,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAgB,CAAA;QACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;KAC7D;;IAGM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;KACvC;;IAGM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;KACtC;IAEM,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;AAtOU,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,oGA4Bb,QAAQ,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGA5BnB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;0BA6BI,QAAQ;;0BAAI,MAAM;2BAAC,QAAQ,CAAA;;0BAC3B,QAAQ;;0BAAI,IAAI;4CAvBO,SAAS,EAAA,CAAA;sBAAlC,WAAW;uBAAC,WAAW,CAAA;gBAGpB,KAAK,EAAA,CAAA;sBADR,KAAK;;;ACER;AACA;MAoBa,wBAAwB,CAAA;IAgBnC,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAA,EAAE;IACjD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAE7C,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACvC,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;AACxB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;AACvB,aAAA;AACF,SAAA;AAED,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAA;AACvC,SAAA;KACF;AAID;;;;AAIG;AACH,IAAA,IACI,QAAQ,CAAC,KAAa,EAAA,EAAI,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA,EAAE;IAC5E,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAA,EAAE;IAGhD,IACI,aAAa,GAAK,EAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAA,EAAE;IAEpD,IACI,aAAa,KAAK,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA,EAAE;IA+BxE,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAA;KACjC;AAWD,IAAA,WAAA,CACmB,kBAAqC,EACrC,SAAmB,EACnB,WAAuB,EACvB,aAA2B,EAAA;QAH3B,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QACnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;;AA9F7B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;;AAG5C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAA;QAEpC,IAAY,CAAA,YAAA,GAAgB,IAAI,CAAA;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;;QAqBjC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;QAUjB,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC,CAAA;;QASb,IAAI,CAAA,IAAA,GAA8B,IAAI,CAAA;;;AAO5B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA6B,CAAA;AAyBzE;;;AAGG;AACH,QAAA,IAAA,CAAA,UAAU,GAAc,MAAK,GAAG,CAAA;;AAGxB,QAAA,IAAA,CAAA,6BAA6B,GAAyB,MAAK,GAAG,CAAA;AAQpE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB;cAC9C,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC;cAC3D,EAAE,EAAS,CAAA;AAEf,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CACxH,SAAS,CAAC,OAAO,IAAG;AAClB,YAAA,IAAI,OAAO,EAAE;gBACX,OAAO,KAAK,CACV,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,aAAa,EACrB,kBAAkB,CACnB,CAAC,IAAI,CACJ,SAAS,CAAC,CAAC,CAAC,EACZ,GAAG,CAAC,MAAK;AACP,oBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAA;AACpD,oBAAA,OAAO,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,KAAgB,IAAI,YAAY,EAAE,OAAkB,CAAC,CAAA;iBAC/F,CAAC,CACH,CAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;SACjB,CAAC,CACH,CAAA;KACF;;IAGD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CACrD,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAA;AAEjD,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAC7B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,CAAC,CAAC,IAAG;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAA;;AAEtD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,IAAI,IAAI,CAAC,6BAA6B,EAAE;AACtC,gBAAA,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAA;AACzC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxB,aAAA;AACH,SAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;KACzC;;IAGD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAEnD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;;;AAID,IAAA,UAAU,CAAC,KAAU,EAAA;;AAEnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9B,SAAA;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,KAAK,CAAA;AACrC,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAA;AACtC,SAAA;KACF;;;AAID,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAA;KACxC;;;AAID,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;KACrB;;;AAID,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;KAC3B;;IAGM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAA;KACjC;;IAGM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAA;KAChC;IAEM,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAA;KACrE;;qHArMU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,4VAdxB,CAAC;AACV,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA,CAAC,EA6ES,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,wBAAwB,EAMxB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EC3H3B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8IAIA,EDwCI,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,maACtB,wBAAwB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AAiBD,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAd9B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAlBpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,aAGf,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA,CAAC,mBACe,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,sBAAsB;wBACtB,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,CAAA;qLAgBwB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBA2BF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAMF,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,eAAe,CAAA;gBAIxB,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,eAAe,CAAA;gBAInB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAIa,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAMgD,kBAAkB,EAAA,CAAA;sBAAxE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAMR,eAAe,EAAA,CAAA;sBAA3D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAML,gBAAgB,EAAA,CAAA;sBAArD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGpC,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,OAAO,EAAE,CAAE,QAAQ,CAAE,CAAA;;;AExH/B,SAAU,iBAAiB,CAAC,OAA2B,EAAA;AAC3D,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;;IAG3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACnD,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC7B,KAAA;AAED,IAAA,OAAO,oBAAoB,EAAE,CAAC,IAAI,CAAC,KAAK,IAAG;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,yBAAyB,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAElD,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAAE,gBAAA,MAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,CAAA;AAAE,aAAA;AACvD,YAAA,MAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,CAAA;AACtB,SAAA;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAC1D,YAAA,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;YAC/C,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAA;AACzC,SAAA;AAED,QAAA,OAAO,IAAI,CAAA;AACb,KAAC,CAAC,CAAA;AACJ;;MC5Ba,sBAAsB,CAAA;AAMjC,IAAA,WAAA,CAAoB,IAAuB,EAAA;QAAvB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;KAAK;IAEhD,SAAS,CACP,WAAmB,EACnB,YAAA,GAA0C,iBAAiB,CAAC,YAAY,CAAC,aAAa,EAAA;;QAGtF,IAAI,IAAI,CAAC,kBAAkB,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,KAAK,YAAY,EAAE;AACxF,YAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AAC3C,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAA;AACrC,QAAA,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAA;;QAGvC,OAAO,IAAI,CAAC,YAAY,CAAA;KACzB;AAED,IAAA,MAAM,UAAU,CAAC,WAAmB,EAAE,YAAuC,EAAA;;AAE3E,QAAA,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAA;;AAG1C,QAAA,MAAM,OAAO,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAA;QAErD,MAAM,IAAI,GAAG,mBAAmB,CAAC,yBAAyB,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAElD,MAAM,MAAM,GAAG,WAAW,CAAA;;;;;AAM1B,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;;AAE1D,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;;AAErB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;KAC1B;;mHA7CU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA,CAAA;;;MCkBY,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mHAArB,qBAAqB,EAAA,YAAA,EAAA,CAf9B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAGtB,YAAY;QACZ,mBAAmB;QACnB,sBAAsB;QACtB,wBAAwB;AACxB,QAAA,wBAAwB,aAGxB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAZ9B,YAAY;QACZ,mBAAmB;QACnB,sBAAsB;QAEtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;2FAQf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;ACjBK,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAA5D,IAAA,WAAA,GAAA;;AAGmB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;KAmDnD;;IAhDC,OAAO,IAAI,CAAC,OAAsC,EAAA;AAChD,QAAA,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,OAAO,CAAC;aACvD,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EACjC,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;KACpF;AAEM,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KAClD;AAEM,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;KAClD;AAEM,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;KACrD;AAEM,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;KACrD;AAEM,IAAA,MAAM,KAAK,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAA;KACrC;IAEM,MAAM,QAAQ,CAAC,KAAU,EAAA;AAC9B,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;;;QAG5B,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAA;AACnC,QAAA,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;AAClD,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC7C;AAEO,IAAA,MAAM,eAAe,GAAA;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,eAAe,GAAG,MAAK;YAC3B,MAAM,WAAW,GAAG,KAAK,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;YAC3D,OAAO,WAAW,KAAK,IAAI,CAAA;AAC7B,SAAC,CAAA;QACD,IAAI,eAAe,EAAE,EAAE;AACrB,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,MAAM,oBAAoB,CACxB,eAAe,EAAE,KAAK,CACvB,CAAA;KACF;;AApDM,sBAAY,CAAA,YAAA,GAAG,gBAAgB;;ACVxC;;AAEG;;;;"}
1
+ {"version":3,"file":"theseam-ui-common-tel-input.mjs","sources":["../../../projects/ui-common/tel-input/intl-tel-input.ts","../../../projects/ui-common/tel-input/tel-input-constants.ts","../../../projects/ui-common/tel-input/utils/add-country-code.ts","../../../projects/ui-common/tel-input/models/tel-input-number-format-name.ts","../../../projects/ui-common/tel-input/utils/coerce-phone-number-format.ts","../../../projects/ui-common/tel-input/utils/get-country-code.ts","../../../projects/ui-common/tel-input/utils/get-dial-code.ts","../../../projects/ui-common/tel-input/utils/get-global-intl-tel-input-globals.ts","../../../projects/ui-common/tel-input/utils/get-global-intl-tel-input-utils.ts","../../../projects/ui-common/tel-input/utils/get-intl-tel-input-utils.ts","../../../projects/ui-common/tel-input/utils/get-validation-error-message.ts","../../../projects/ui-common/tel-input/utils/process-country-codes.ts","../../../projects/ui-common/tel-input/tel-input.directive.ts","../../../projects/ui-common/tel-input/tel-input/tel-input.component.ts","../../../projects/ui-common/tel-input/tel-input/tel-input.component.html","../../../projects/ui-common/tel-input/tel-input-validator.ts","../../../projects/ui-common/tel-input/phone-number.pipe.ts","../../../projects/ui-common/tel-input/tel-input.module.ts","../../../projects/ui-common/tel-input/testing/tel-input.harness.ts","../../../projects/ui-common/tel-input/theseam-ui-common-tel-input.ts"],"sourcesContent":["import intlTelInput from 'intl-tel-input'\n\n//\n// NOTE: These types are mainly for providing types to 'intl-tel-input', because\n// the only published types I could find were incomplete. Some types are\n// missing, because they were not necessary for this library. I don't indend\n// this to be a perfect types for 'intl-tel-input', so as long as they are\n// compatible they may be slightly altered or extended to fit this library\n// better.\n//\n\n/**\n * Partial types for intl-tel-input-utils\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace intlTelInputUtils {\n\n export interface CountryData {\n name: string\n iso2: string\n dialCode: string\n areaCodes: string[] | null\n priority: number\n }\n\n export enum numberFormat {\n E164 = 0,\n INTERNATIONAL = 1,\n NATIONAL = 2,\n RFC3966 = 3\n }\n\n export enum numberType {\n FIXED_LINE = 0,\n MOBILE = 1,\n FIXED_LINE_OR_MOBILE = 2,\n TOLL_FREE = 3,\n PREMIUM_RATE = 4,\n SHARED_COST = 5,\n VOIP = 6,\n PERSONAL_NUMBER = 7,\n PAGER = 8,\n UAN = 9,\n VOICEMAIL = 10,\n UNKNOWN = -1\n }\n\n export enum validationError {\n IS_POSSIBLE = 0,\n INVALID_COUNTRY_CODE = 1,\n TOO_SHORT = 2,\n TOO_LONG = 3,\n NOT_A_NUMBER = 4\n }\n\n export type placeholderNumberType =\n | 'FIXED_LINE_OR_MOBILE'\n | 'FIXED_LINE'\n | 'MOBILE'\n | 'PAGER'\n | 'PERSONAL_NUMBER'\n | 'PREMIUM_RATE'\n | 'SHARED_COST'\n | 'TOLL_FREE'\n | 'UAN'\n | 'UNKNOWN'\n | 'VOICEMAIL'\n | 'VOIP'\n\n}\n\n// NOTE: If one of the functions return -99, then it is most likely from a\n// problem in 'google-libphonenumber' that 'intl-tel-input' swallowed in int\n// wrapper.\n//\n// NOTE: The following functions do not exist until util script has loaded.\nexport interface IntlTelInputUtilsScript {\n numberFormat: intlTelInputUtils.numberFormat\n numberType: intlTelInputUtils.numberType\n validationError: intlTelInputUtils.validationError\n\n /**\n * Format the given number to the given format.\n */\n formatNumber(number: string, countryCode: string, format: intlTelInputUtils.numberFormat): string\n\n /**\n * Get an example number for the given country code.\n */\n getExampleNumber(countryCode: string, national: boolean, numberType: intlTelInputUtils.numberType): string\n\n /**\n * Get the extension from the given number.\n */\n getExtension(number: string, countryCode: string): string\n\n /**\n * Get the type of the given number e.g. fixed-line/mobile.\n */\n getNumberType(number: string, countryCode: string): intlTelInputUtils.numberType\n\n /**\n * Get more info if the validation has failed e.g. too long/too short.\n */\n getValidationError(number: string, countryCode: string): intlTelInputUtils.validationError\n\n /**\n * Check if given number is valid.\n */\n isValidNumber(number: string, countryCode: string): boolean\n}\n\n/**\n * Partial types for intl-tel-input\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace IntlTelInput {\n export interface Static {\n /**\n * Default options for all instances\n */\n defaults: Options\n\n /**\n * Get all of the plugin's country data - either to re-use elsewhere\n * e.g. to populate a country dropdown.\n */\n getCountryData(): intlTelInputUtils.CountryData[]\n\n /**\n * Load the utils.js script (included in the lib directory) to enable\n * formatting/validation etc.\n */\n loadUtils(path: string, utilsScriptDeferred?: boolean): Promise<void> /* | null | void */\n }\n\n export interface Plugin {\n promise: Promise<void>\n\n /**\n * Remove the plugin from the input, and unbind any event listeners.\n */\n destroy(): void\n\n /**\n * Get the extension from the current number.\n * Requires the utilsScript option.\n * e.g. if the input value was \"(702) 555-5555 ext. 1234\", this would\n * return \"1234\".\n */\n getExtension(): string\n\n /**\n * Get the current number in the given format (defaults to E.164 standard).\n * The different formats are available in the enum\n * intlTelInputUtils.numberFormat - taken from here.\n * Requires the utilsScript option.\n * Note that even if nationalMode is enabled, this can still return a full\n * international number.\n * @param numberFormat the format in which the number will be returned.\n */\n getNumber(numberFormat?: intlTelInputUtils.numberFormat): string\n\n /**\n * Get the type (fixed-line/mobile/toll-free etc) of the current number.\n * Requires the utilsScript option.\n * Returns an integer, which you can match against the various options in the\n * global enum intlTelInputUtils.numberType.\n * Note that in the US there's no way to differentiate between fixed-line and\n * mobile numbers, so instead it will return FIXED_LINE_OR_MOBILE.\n */\n getNumberType(): intlTelInputUtils.numberType\n\n /**\n * Get the country data for the currently selected flag.\n */\n getSelectedCountryData(): intlTelInputUtils.CountryData\n\n /**\n * Get more information about a validation error.\n * Requires the utilsScript option.\n * Returns an integer, which you can match against the various options in the\n * global enum ValidationError\n */\n getValidationError(): intlTelInputUtils.validationError\n\n /**\n * Validate the current number. Expects an internationally formatted number\n * (unless nationalMode is enabled). If validation fails, you can use\n * getValidationError to get more information.\n * Requires the utilsScript option.\n * Also see getNumberType if you want to make sure the user enters a certain\n * type of number e.g. a mobile number.\n */\n isValidNumber(): boolean\n\n /**\n * Change the country selection (e.g. when the user is entering their address).\n * @param countryCode country code of the country to be set.\n */\n setCountry(countryCode: string): void\n\n /**\n * Insert a number, and update the selected flag accordingly.\n * Note that by default, if nationalMode is enabled it will try to use\n * national formatting.\n * @param aNumber number to be set.\n */\n setNumber(aNumber: string): void\n\n /**\n * Set the type of the placeholder number\n * @param type Placeholder number type to be set\n */\n setPlaceholderNumberType(type: intlTelInputUtils.placeholderNumberType): void\n }\n\n export interface Options {\n /**\n * Whether or not to allow the dropdown. If disabled, there is no dropdown\n * arrow, and the selected flag is not clickable. Also we display the\n * selected flag on the right instead because it is just a marker of state.\n * Default = true\n */\n allowDropdown?: boolean\n\n /**\n * If there is just a dial code in the input: remove it on blur or submit,\n * and re-add it on focus. This is to prevent just a dial code getting\n * submitted with the form. Requires nationalMode to be set to false.\n * Default = true\n */\n autoHideDialCode?: boolean\n\n /**\n * Set the input's placeholder to an example number for the selected country, and update it if the country changes.\n * You can specify the number type using the placeholderNumberType option.\n * By default it is set to \"polite\", which means it will only set the placeholder if the input doesn't already have one.\n * You can also set it to \"aggressive\", which will replace any existing placeholder, or \"off\".\n * Requires the utilsScript option.\n * Default = \"polite\"\n */\n autoPlaceholder?: 'off' | 'polite' | 'aggressive'\n\n /**\n * Change the placeholder generated by autoPlaceholder. Must return a string.\n * Default = null\n */\n customPlaceholder?: (selectedCountryPlaceholder: string, selectedCountryData: intlTelInputUtils.CountryData) => string\n\n /**\n * Expects a node e.g. document.body. Instead of putting the country dropdown next to the input,\n * append it to the specified node, and it will then be positioned absolutely next to the input using JavaScript.\n * This is useful when the input is inside a container with overflow: hidden.\n * Note that the absolute positioning can be broken by scrolling, so it will automatically close on the window scroll event.\n * Default = null\n */\n dropdownContainer?: Node\n\n /**\n * In the dropdown, display all countries except the ones you specify here.\n * Default = null\n */\n excludeCountries?: string[]\n\n /**\n * Format the input value (according to the nationalMode option) during initialisation, and on setNumber.\n * Requires the utilsScript option.\n * Default = true\n */\n formatOnDisplay?: boolean\n\n /**\n * When setting initialCountry to \"auto\", you must use this option to\n * specify a custom function that looks up the user's location,\n * and then calls the success callback with the relevant country code.\n * Also note that when instantiating the plugin, if the Promise object is defined,\n * one of those is returned under the promise instance property, so you can\n * do something like iti.promise.then(callback) to know when initialisation requests like this have completed.\n * Default = null\n */\n geoIpLookup?: (callback: (countryCode: string) => void) => void\n\n /**\n * Add a hidden input with the given name (or if your input name\n * contains square brackets then it will give the hidden input the same\n * name, replacing the contents of the brackets with the given name). On\n * submit, populate it with the full international number (using\n * getNumber). This is a quick way for people using non-ajax forms to\n * get the full international number, even when nationalMode is enabled.\n * Note: requires the input to be inside a form element, as this feature\n * works by listening for the submit event on the closest form element.\n * Also note that since this uses getNumber internally, it expects a\n * valid number, and so should only be used after validation. Default =\n * \"\"\n */\n hiddenInput?: string\n\n /**\n * Set the initial country selection by specifying it's country code.\n * You can also set it to \"auto\", which will lookup the user's country based\n * on their IP address (requires the geoIpLookup option).\n * Note that the \"auto\" option will not update the country selection if the\n * input already contains a number. If you leave initialCountry blank,\n * it will default to the first country in the list.\n */\n initialCountry?: string\n\n /**\n * Allows to translate the countries by its given iso code e.g.: { 'de': 'Deutschland' }\n * Default = {}\n */\n localizedCountries?: object\n\n /**\n * Allow users to enter national numbers (and not have to think about\n * international dial codes). Formatting, validation and placeholders still\n * work. Then you can use getNumber to extract a full international number.\n * This option now defaults to true, and it is recommended that you leave it\n * that way as it provides a better experience for the user.\n * Default = true\n */\n nationalMode?: boolean\n\n /**\n * In the dropdown, display only the countries you specify.\n * Default = undefined\n */\n onlyCountries?: string[]\n\n /**\n * Specify one of the keys from the global enum intlTelInputUtils.numberType\n * e.g. \"FIXED_LINE\" to set the number type to use for the placeholder.\n * Default = MOBILE\n */\n placeholderNumberType?: intlTelInputUtils.placeholderNumberType\n\n /**\n * Specify the countries to appear at the top of the list.\n * Default = [\"us\", \"gb\"]\n */\n preferredCountries?: string[]\n\n /**\n * Display the country dial code next to the selected flag so it's not part\n * of the typed number. Note that this will disable nationalMode because\n * technically we are dealing with international numbers, but with the\n * dial code separated.\n * Default = false\n */\n separateDialCode?: boolean\n\n /**\n * Enable formatting/validation etc. by specifying the URL of the\n * included utils.js script (or alternatively just point it to the file\n * on cdnjs.com). The script is fetched when the page has finished\n * loading (on the window load event) to prevent blocking (the script is\n * ~215KB). When instantiating the plugin, if the Promise object is\n * defined, one of those is returned under the promise instance\n * property, so you can do something like iti.promise.then(callback) to\n * know when initialisation requests like this have finished. Note that\n * if you're lazy loading the plugin script itself (intlTelInput.js)\n * this will not work and you will need to use the loadUtils method\n * instead. Example: \"build/js/utils.js\" Default = \"\"\n */\n utilsScript?: string\n }\n}\n\n/**\n * Initialise the plugin with optional options.\n * @param options options that can be provided during initialization.\n */\nexport function IntlTelInputFn(node: Element, options?: IntlTelInput.Options): IntlTelInput.Plugin {\n return (intlTelInput as any)(node, options)\n}\n\nexport default IntlTelInputFn\n","export const TEL_INPUT_ASSETS_PATH = 'assets/vendor/intl-tel-input'\n\nexport const TEL_INPUT_STYLES = `\n .iti { width: 100%; }\n\n .iti__flag {background-image: url(\"${TEL_INPUT_ASSETS_PATH}/img/flags.png\");}\n\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n .iti__flag {background-image: url(\"${TEL_INPUT_ASSETS_PATH}/img/flags@2x.png\");}\n }\n\n .iti__country-list {\n /* There is a bug that is causing the 'z-index: 2' from ng-select to conflict with this dropdown container. */\n z-index: 3;\n }\n`\n\nexport const TEL_INPUT_STYLESHEET_PATH = `${TEL_INPUT_ASSETS_PATH}/css/intlTelInput.min.css`\n\nexport const TEL_INPUT_UTILS_PATH = `${TEL_INPUT_ASSETS_PATH}/js/utils.js`\n","import type { TelInputCountryData } from '../models/index'\n\n/**\n * Add a country code to this.countryCodes.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L197\n */\nexport function addCountryCode(data: TelInputCountryData, iso2: string, countryCode: string, priority?: number) {\n if (countryCode.length > data.countryCodeMaxLen) {\n data.countryCodeMaxLen = countryCode.length\n }\n if (!Object.prototype.hasOwnProperty.call(data.countryCodes, countryCode)) {\n data.countryCodes[countryCode] = []\n }\n // bail if we already have this country for this countryCode\n for (const code of data.countryCodes[countryCode]) {\n if (code === iso2) { return }\n }\n // check for undefined as 0 is falsy\n const index = (priority !== undefined) ? priority : data.countryCodes[countryCode].length\n data.countryCodes[countryCode][index] = iso2\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\n\nexport const TelInputNumberFormatName: { [name: string]: intlTelInputUtils.numberFormat } = {\n 'E164': intlTelInputUtils.numberFormat.E164,\n 'INTERNATIONAL': intlTelInputUtils.numberFormat.INTERNATIONAL,\n 'NATIONAL': intlTelInputUtils.numberFormat.NATIONAL,\n 'RFC3966': intlTelInputUtils.numberFormat.RFC3966\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\nimport { TelInputNumberFormatName } from '../models/index'\n\nexport const THESEAM_DEFAULT_PHONE_NUMBER_FORMAT = intlTelInputUtils.numberFormat.INTERNATIONAL\n\n/**\n * Types that should be acceptable in a template.\n */\nexport type TheSeamNumberFormatsInput =\n // Enum\n intlTelInputUtils.numberFormat\n // Strings matching enum\n | 'E164'\n | 'INTERNATIONAL'\n | 'NATIONAL'\n | 'RFC3966'\n // Strings matching enum in lower case, since it would be what a user will\n // most likely type if string is necessary.\n | 'e164'\n | 'international'\n | 'national'\n | 'rfc3966'\n\nexport function coercePhoneNumberFormat(\n format: TheSeamNumberFormatsInput,\n defaultFormat = THESEAM_DEFAULT_PHONE_NUMBER_FORMAT\n): intlTelInputUtils.numberFormat {\n let res = defaultFormat\n\n if (typeof format === 'string') {\n const _format = TelInputNumberFormatName[`${format}`.trim().toUpperCase()]\n res = (_format === undefined || _format === null) ? defaultFormat : _format\n } else if (typeof format === 'number') {\n // We could check for a number range, but I think it is safer to assume it's\n // valid if a number was provided. A number most likely means the value came\n // from using the enum and I don't want to accidentaly exclude a format that\n // we don't have documented.\n //\n // NOTE: We may want to limit it to specific numbers though and assume that\n // potentialy excluded formats are not intended to be used by this library.\n res = format\n }\n\n return res\n}\n","import type { TelInputCountryData } from '../models/index'\n\nfunction getNumeric(s: string): string {\n return s.replace(/\\D/g, '')\n}\n\nexport function getCountryCode(data: TelInputCountryData, dialCode: string) {\n const _countryCodes = data.countryCodes[getNumeric(dialCode)]\n // Refer to `_setInitialState` to get libraries default logic\n return (_countryCodes === undefined || _countryCodes === null || _countryCodes.length === 0) ? 'us' : _countryCodes[0]\n}\n","import type { TelInputCountryData } from '../models/index'\n\n/**\n * Try and extract a valid international dial code from a full telephone number.\n *\n * NOTE: returns the raw string inc plus character and any whitespace/dots etc.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L1161\n */\nexport function getDialCode(data: TelInputCountryData, number: string, includeAreaCode: boolean = false): string {\n // console.log('getDialCode', number, includeAreaCode)\n // const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData() as TelInputCountryData[])\n\n let dialCode = ''\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === '+') {\n let numericChars = ''\n // iterate over chars\n for (let i = 0; i < number.length; i++) {\n const c = number.charAt(i)\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (data.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1)\n }\n } else {\n if (data.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1)\n // if we're just looking for a dial code, we can break as soon as we find one\n break\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === data.countryCodeMaxLen) {\n break\n }\n }\n }\n }\n\n // console.log('getDialCode return', dialCode)\n return dialCode\n}\n","import type { IntlTelInput } from '../intl-tel-input'\n\nexport function globalIntlTelInputGlobals(): IntlTelInput.Static {\n return (window as any).intlTelInputGlobals\n}\n","import type { IntlTelInputUtilsScript } from '../intl-tel-input'\n\nexport function globalIntlTelInputUtils(): IntlTelInputUtilsScript {\n return (window as any).intlTelInputUtils\n}\n","import { notNullOrUndefined, waitOnConditionAsync } from '@theseam/ui-common/utils'\n\nimport type { IntlTelInputUtilsScript } from '../intl-tel-input'\nimport { TEL_INPUT_UTILS_PATH } from '../tel-input-constants'\nimport { globalIntlTelInputGlobals } from './get-global-intl-tel-input-globals'\nimport { globalIntlTelInputUtils } from './get-global-intl-tel-input-utils'\n\nexport function getIntlTelInputUtils(): Promise<IntlTelInputUtilsScript> {\n if (globalIntlTelInputUtils()) {\n return Promise.resolve(globalIntlTelInputUtils())\n }\n\n if ((globalIntlTelInputGlobals() as any).startedLoadingUtilsScript) {\n return waitOnConditionAsync(() => notNullOrUndefined(globalIntlTelInputUtils()), 5000)\n .then(() => globalIntlTelInputUtils())\n }\n\n return globalIntlTelInputGlobals().loadUtils(TEL_INPUT_UTILS_PATH)\n .then(() => waitOnConditionAsync(() => notNullOrUndefined(globalIntlTelInputUtils()), 5000))\n .then(() => globalIntlTelInputUtils())\n}\n","import { intlTelInputUtils } from '../intl-tel-input'\n\nexport const VALIDATOR_CODE_MESSAGES: { [key: number]: string } = {\n [intlTelInputUtils.validationError.INVALID_COUNTRY_CODE]: 'Country code is invalid.',\n [intlTelInputUtils.validationError.TOO_SHORT]: 'Number is too short.',\n [intlTelInputUtils.validationError.TOO_LONG]: 'Number is too long.',\n [intlTelInputUtils.validationError.NOT_A_NUMBER]: 'Must be numbers only.'\n}\n\nexport function getValidationErrorMessage(code: intlTelInputUtils.validationError): string {\n const message = VALIDATOR_CODE_MESSAGES[code]\n return message ?? 'Invalid number.'\n}\n","import type { intlTelInputUtils } from '../intl-tel-input'\nimport type { TelInputCountryData } from '../models/index'\nimport { addCountryCode } from './add-country-code'\n\n/**\n * Process the countryCodes map.\n *\n * Based on: https://github.com/jackocnr/intl-tel-input/blob/4fe25fcf142c341a85b7b15cc307d66afb8573a3/src/js/intlTelInput.js#L252\n */\nexport function processCountryCodes(countries: intlTelInputUtils.CountryData[]): TelInputCountryData {\n const data: TelInputCountryData = {\n countryCodeMaxLen: 0,\n // here we store just dial codes\n dialCodes: {},\n // here we store \"country codes\" (both dial codes and their area codes)\n countryCodes: {}\n }\n\n // first: add dial codes\n for (const c of countries) {\n if (!data.dialCodes[c.dialCode]) { data.dialCodes[c.dialCode] = true }\n addCountryCode(data, c.iso2, c.dialCode, c.priority)\n }\n\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (const c of countries) {\n // area codes\n if (c.areaCodes) {\n const rootCountryCode = data.countryCodes[c.dialCode][0]\n // for each area code\n for (const areaCode of c.areaCodes) {\n // for each digit in the area code to add all partial matches as well\n for (let k = 1; k < areaCode.length; k++) {\n const partialDialCode = c.dialCode + areaCode.substr(0, k)\n // start with the root country, as that also matches this dial code\n addCountryCode(data, rootCountryCode, partialDialCode)\n addCountryCode(data, c.iso2, partialDialCode)\n }\n // add the full area code\n addCountryCode(data, c.iso2, c.dialCode + areaCode)\n }\n }\n }\n\n return data\n}\n","import { DOCUMENT } from '@angular/common'\nimport { Directive, DoCheck, ElementRef, HostBinding, Inject, Input, NgZone, OnDestroy, OnInit, Optional, Self } from '@angular/core'\nimport { fromEvent, merge, Subject } from 'rxjs'\nimport { auditTime, last, switchMap, takeUntil, tap } from 'rxjs/operators'\n\nimport { AssetLoaderService, LoadedAssetRef } from '@theseam/ui-common/services'\nimport { getAttribute, hasAttribute, notNullOrUndefined, toggleAttribute } from '@theseam/ui-common/utils'\n\nimport { NgControl } from '@angular/forms'\nimport { IntlTelInputFn, intlTelInputUtils } from './intl-tel-input'\nimport type { IntlTelInput } from './intl-tel-input'\nimport { TEL_INPUT_STYLES, TEL_INPUT_STYLESHEET_PATH, TEL_INPUT_UTILS_PATH } from './tel-input-constants'\nimport { globalIntlTelInputUtils } from './utils/index'\n\n@Directive({\n selector: 'input[seamTelInput]',\n exportAs: 'seamTelInput',\n standalone: true,\n})\nexport class TheSeamTelInputDirective implements OnInit, OnDestroy, DoCheck {\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _instance: IntlTelInput.Plugin | undefined\n private _loadedAssetRefs: LoadedAssetRef<HTMLLinkElement | HTMLStyleElement>[] = []\n\n @HostBinding('attr.type') _attrType = 'tel'\n\n @Input()\n set value(v: string | undefined | null) {\n this._value = v\n if (this._instance) {\n this._instance.setNumber(notNullOrUndefined(v) ? v : '')\n this.updateValue()\n }\n }\n get value(): string | undefined | null {\n if (this._instance) {\n return this._instance?.getNumber()\n }\n return this._value\n }\n private _value: string | undefined | null\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLInputElement>,\n private readonly _assetLoader: AssetLoaderService,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) private readonly _document?: any,\n @Optional() @Self() private readonly _ngControl?: NgControl,\n ) { }\n\n ngOnInit(): void {\n this._elementRef.nativeElement.value = this._ngControl ? this._ngControl.value : this.value ?? ''\n this._elementRef.nativeElement.setAttribute('instance-loading', '')\n merge(\n this._assetLoader.loadStyleSheet(TEL_INPUT_STYLESHEET_PATH),\n this._assetLoader.loadStyle(TEL_INPUT_STYLES)\n ).pipe(\n tap(v => this._loadedAssetRefs.push(v)),\n last(),\n switchMap(() => {\n this._instance = IntlTelInputFn(this._elementRef.nativeElement, {\n utilsScript: TEL_INPUT_UTILS_PATH,\n preferredCountries: [ 'US' ],\n nationalMode: false,\n formatOnDisplay: true,\n autoPlaceholder: 'off',\n separateDialCode: false,\n autoHideDialCode: false,\n // TODO: Add initialCountry support.\n // initialCountry: 'auto'\n })\n\n this._tryUpdateDropdownAttributes()\n\n return this._instance.promise.then(v => {\n this._elementRef.nativeElement.removeAttribute('instance-loading')\n return v\n })\n }),\n tap(() => this._initDropdownListener()),\n tap(() => this.value = this._value),\n tap(this._formatIntlTelInput),\n switchMap(() => merge(\n fromEvent(this._elementRef.nativeElement, 'keyup'),\n fromEvent(this._elementRef.nativeElement, 'change')\n )),\n tap(this._formatIntlTelInput),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._instance?.destroy()\n for (const ref of this._loadedAssetRefs) {\n ref.destroy()\n }\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n this._tryUpdateDropdownAttributes()\n }\n\n private _tryUpdateDropdownAttributes() {\n const control = this._ngControl\n if (control) {\n const flagsContainer: HTMLElement | null | undefined = (this._instance as any)?.selectedFlag\n if (flagsContainer) {\n toggleAttribute(flagsContainer, 'aria-disabled', control.disabled ?? false)\n\n const disabled = control.disabled ?? false\n if (!disabled) {\n if (getAttribute(flagsContainer, 'tabindex') !== '0') {\n flagsContainer.setAttribute('tabindex', '0')\n }\n } else {\n if (hasAttribute(flagsContainer, 'tabindex')) {\n flagsContainer.removeAttribute('tabindex')\n }\n }\n }\n }\n }\n\n private _formatIntlTelInput = () => {\n // if (typeof intlTelInputUtils !== 'undefined') {\n // const currentText = this._instance?.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL)\n // console.log('currentText', currentText, this._instance?.getSelectedCountryData())\n // console.log(this._instance?.getValidationError())\n // if (typeof currentText === 'string') {\n // this._instance?.setNumber(currentText)\n // }\n // }\n\n this.updateValue()\n }\n\n public updateValue(): void {\n // console.log('%cupdateValue START', 'color:cyan', typeof intlTelInputUtils !== 'undefined')\n if (typeof globalIntlTelInputUtils() !== 'undefined') {\n const currentText = this._instance?.getNumber(intlTelInputUtils.numberFormat.E164)\n // console.log('currentText', currentText, this._instance?.getSelectedCountryData())\n // console.log('fullNumber', (this._instance as any)._getFullNumber())\n // console.log('E164', this._instance?.getNumber(intlTelInputUtils.numberFormat.E164))\n // console.log('INTERNATIONAL', this._instance?.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL))\n // console.log('NATIONAL', this._instance?.getNumber(intlTelInputUtils.numberFormat.NATIONAL))\n // console.log('RFC3966', this._instance?.getNumber(intlTelInputUtils.numberFormat.RFC3966))\n // console.log('getValidationError', this._instance?.getValidationError())\n if (typeof currentText === 'string') {\n this._instance?.setNumber(currentText)\n }\n }\n // console.log('%cupdateValue END', 'color:cyan')\n }\n\n public getFullNumber(): string | undefined | null {\n if (typeof globalIntlTelInputUtils() !== 'undefined' && this._instance) {\n // return (this._instance as any)._getFullNumber()\n return this._instance.getNumber(intlTelInputUtils.numberFormat.E164)\n }\n return this.value\n }\n\n private _initDropdownListener() {\n const doc = this._document\n if (!doc) {\n return\n }\n\n this._ngZone.runOutsideAngular(() => {\n const openDropdown$ = fromEvent(this._elementRef.nativeElement, 'open:countrydropdown')\n const closeDropdown$ = fromEvent(this._elementRef.nativeElement, 'close:countrydropdown')\n const instance = this._instance as any\n openDropdown$.pipe(\n switchMap(() => {\n const pressDown$ = merge(\n fromEvent(doc, 'touchstart', { capture: true }),\n fromEvent(doc, 'mousedown', { capture: true })\n ).pipe(\n auditTime(0),\n tap((event: any) => {\n if (instance.countryList.contains(event.target) || instance.selectedFlag.contains(event.target)) {\n return\n }\n instance._closeDropdown()\n })\n )\n\n const flagBtnClick$ = fromEvent<MouseEvent>(instance.selectedFlag, 'click').pipe(\n tap((event: MouseEvent) => {\n if (!this.isDropdownVisible()) {\n return\n }\n\n event.preventDefault()\n instance._closeDropdown()\n })\n )\n\n return merge(pressDown$, flagBtnClick$).pipe(takeUntil(closeDropdown$))\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n\n const flagsContainer: HTMLElement | null | undefined = (this._instance as any)?.selectedFlag\n if (flagsContainer) {\n fromEvent(flagsContainer, 'keydown', { capture: true }).pipe(\n tap((e: any) => {\n const control = this._ngControl\n if (control) {\n const disabled = control.disabled ?? false\n if (disabled && ['ArrowUp', 'Up', 'ArrowDown', 'Down', ' ', 'Enter'].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault()\n // prevent event from being handled again by document\n e.stopPropagation()\n }\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n })\n }\n\n public isDropdownVisible() {\n if (!this._instance) {\n return false\n }\n\n const instance = this._instance as any\n return !instance.countryList.classList.contains('iti__hide')\n }\n\n /** Focuses the input. */\n public focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n public blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n public getHostElement(): HTMLInputElement {\n return this._elementRef.nativeElement\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n InjectFlags,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms'\nimport { defer, fromEvent, merge, Observable, of, Subject } from 'rxjs'\nimport { auditTime, map, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { InputDirective, TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\n\nimport { TheSeamTelInputDirective } from '../tel-input.directive'\nimport { CommonModule } from '@angular/common'\n\n// TODO: Fix focus\n// TODO: Fix disabled\n\n@Component({\n selector: 'seam-tel-input',\n templateUrl: './tel-input.component.html',\n styleUrls: ['./tel-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTelInputComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n TheSeamTelInputDirective,\n ],\n})\nexport class TheSeamTelInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n /** @ignore */\n private readonly _ngUnsubscribe = new Subject<void>()\n\n /** @ignore */\n readonly _control = new UntypedFormControl()\n\n private _focusOrigin: FocusOrigin = null\n\n _hasInvalidCss$: Observable<boolean>\n\n @Input() @InputBoolean() required = false\n\n @Input()\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (this._control.disabled !== newValue) {\n if (newValue) {\n this._control.disable()\n } else {\n this._control.enable()\n }\n }\n\n if (newValue !== this.disabled) {\n this._disabled = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _disabled = false\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) { this._tabIndex = coerceNumberProperty(value) }\n get tabIndex(): number { return this._tabIndex }\n private _tabIndex = -1\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | undefined | null = null\n\n /** The value attribute of the native input element */\n @Input() value: string | undefined | null\n\n /** Event emitted when the \"tel\" input value changes. */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | undefined | null>()\n\n /**\n * The telInput directive\n * @ignore\n */\n @ViewChild(TheSeamTelInputDirective, { static: true }) _telInputDirective?: TheSeamTelInputDirective\n\n /**\n * The telInput directive\n * @ignore\n */\n @ViewChild(InputDirective, { static: true }) _inputDirective?: InputDirective\n\n /**\n * The native `<input type=\"tel\">` element\n * @ignore\n */\n @ViewChild('input', { static: true }) _inputElementRef?: ElementRef<HTMLInputElement>\n\n @HostListener('focus', [ '$event' ])\n _onFocus() {\n this._telInputDirective?.focus()\n }\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @ignore\n */\n _onTouched: () => any = () => {}\n\n /** @ignore */\n private _controlValueAccessorChangeFn: (value: any) => void = () => {}\n\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _injector: Injector,\n private readonly _elementRef: ElementRef,\n private readonly _focusMonitor: FocusMonitor\n ) {\n const telInputBlurEvent$ = this._telInputDirective\n ? fromEvent(this._telInputDirective.getHostElement(), 'blur')\n : of<Event>()\n\n this._hasInvalidCss$ = defer(() => of((this._injector.get(NgControl, null, InjectFlags.Self)?.control) || undefined)).pipe(\n switchMap(control => {\n if (control) {\n return merge(\n control.valueChanges,\n control.statusChanges,\n telInputBlurEvent$\n ).pipe(\n auditTime(0),\n map(() => {\n const inputControl = this._inputDirective?.ngControl\n return control.invalid && (inputControl?.dirty as boolean || inputControl?.touched as boolean)\n })\n )\n }\n return of(false)\n })\n )\n }\n\n /** @ignore */\n ngOnInit(): void {\n this._focusMonitor.monitor(this._elementRef, true).pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(origin => this._focusOrigin = origin)\n\n this._control.valueChanges.pipe(\n takeUntil(this._ngUnsubscribe)\n ).subscribe(v => {\n const value = this._telInputDirective?.getFullNumber()\n // console.log('valueChanges', v, value)\n this.value = value\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(value)\n this.change.emit(value)\n }\n })\n this._control.setValue(this.value ?? '')\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this._focusMonitor.stopMonitoring(this._elementRef)\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n writeValue(value: any) {\n // console.log('writeValue', value, this._telInputDirective?.getFullNumber(), this._control.value)\n this.value = value\n if (this._control.value !== value) {\n this._control.setValue(value)\n }\n if (this._telInputDirective) {\n this._telInputDirective.value = value\n this._telInputDirective.updateValue()\n }\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled\n }\n\n /** Focuses the input. */\n public focus(): void {\n this._telInputDirective?.focus()\n }\n\n /** Unfocuses the input. */\n public blur(): void {\n this._telInputDirective?.blur()\n }\n\n public hasFocus(): boolean {\n return this._focusOrigin !== null && this._focusOrigin !== undefined\n }\n\n}\n","<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\"\n [required]=\"required\"/>\n","import { UntypedFormControl } from '@angular/forms'\n\nimport {\n getCountryCode,\n getDialCode,\n getIntlTelInputUtils,\n getValidationErrorMessage,\n globalIntlTelInputGlobals,\n processCountryCodes\n} from './utils'\n\nexport function telInputValidator(control: UntypedFormControl) {\n const value = control.value\n\n // This validator doesn't need to do anything if there isn't a value.\n if (typeof value !== 'string' || value.length === 0) {\n return Promise.resolve(null)\n }\n\n return getIntlTelInputUtils().then(utils => {\n const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData())\n const dialCode = getDialCode(data, value)\n const countryCode = getCountryCode(data, dialCode)\n\n let number = value\n if (number.charAt(0) !== '+') {\n if (number.charAt(0) !== '1') { number = `1${number}` }\n number = `+${number}`\n }\n\n if (!utils.isValidNumber(number, countryCode)) {\n const code = utils.getValidationError(number, countryCode)\n const message = getValidationErrorMessage(code)\n return { 'telInput': { code, message } }\n }\n\n return null\n })\n}\n","import { ChangeDetectorRef, Pipe, PipeTransform } from '@angular/core'\n\nimport { intlTelInputUtils } from './intl-tel-input'\nimport { getCountryCode, getDialCode, getIntlTelInputUtils, globalIntlTelInputGlobals, processCountryCodes, TheSeamNumberFormatsInput } from './utils'\nimport { coercePhoneNumberFormat } from './utils'\n\n@Pipe({\n name: 'phoneNumber',\n pure: false\n})\nexport class TheSeamPhoneNumberPipe implements PipeTransform {\n\n private _latestPhoneNumber: string | undefined | null\n private _latestNumberFormat: TheSeamNumberFormatsInput | undefined | null\n private _latestValue: string | undefined | null\n\n constructor(private _cdr: ChangeDetectorRef) { }\n\n transform(\n phoneNumber: string,\n numberFormat: TheSeamNumberFormatsInput = intlTelInputUtils.numberFormat.INTERNATIONAL\n ): any {\n // console.log('transform', phoneNumber, numberFormat)\n if (this._latestPhoneNumber !== phoneNumber || this._latestNumberFormat !== numberFormat) {\n this._transform(phoneNumber, numberFormat)\n }\n this._latestPhoneNumber = phoneNumber\n this._latestNumberFormat = numberFormat\n\n // console.log('return', this._latestValue)\n return this._latestValue\n }\n\n async _transform(phoneNumber: string, numberFormat: TheSeamNumberFormatsInput) {\n // console.log('_transform', phoneNumber, numberFormat)\n const utils = await getIntlTelInputUtils()\n // console.log('utils', utils)\n\n const _format = coercePhoneNumberFormat(numberFormat)\n\n const data = processCountryCodes(globalIntlTelInputGlobals().getCountryData())\n const dialCode = getDialCode(data, phoneNumber)\n const countryCode = getCountryCode(data, dialCode)\n\n const number = phoneNumber\n // if (number.charAt(0) !== '+') {\n // if (number.charAt(0) !== '1') { number = `1${number}` }\n // number = `+${number}`\n // }\n\n const n = utils.formatNumber(number, countryCode, _format)\n // console.log('n', n)\n this._latestValue = n\n // this._cdr.markForCheck()\n this._cdr.detectChanges()\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\n\nimport { TheSeamPhoneNumberPipe } from './phone-number.pipe'\nimport { TheSeamTelInputDirective } from './tel-input.directive'\nimport { TheSeamTelInputComponent } from './tel-input/tel-input.component'\n\n@NgModule({\n declarations: [\n TheSeamPhoneNumberPipe\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n TheSeamTelInputDirective,\n TheSeamTelInputComponent,\n ],\n exports: [\n TheSeamTelInputDirective,\n TheSeamTelInputComponent,\n TheSeamPhoneNumberPipe\n ]\n})\nexport class TheSeamTelInputModule { }\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { waitOnConditionAsync } from '@theseam/ui-common/utils'\n\ninterface TheSeamTelInputHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the name of the field. */\n name?: string | RegExp\n}\n\nexport class TheSeamTelInputHarness extends ComponentHarness {\n static hostSelector = 'seam-tel-input'\n\n private readonly _input = this.locatorFor('input')\n\n /** Creates a `HarnessPredicate` used to locate a particular `TheSeamTelInputHarness`. */\n static with(options: TheSeamTelInputHarnessFilters): HarnessPredicate<TheSeamTelInputHarness> {\n return new HarnessPredicate(TheSeamTelInputHarness, options)\n .addOption('field name', options.name,\n (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n }\n\n public async getName(): Promise<string | null> {\n return (await this._input()).getAttribute('name')\n }\n\n public async getValue(): Promise<any> {\n return (await this._input()).getProperty('value')\n }\n\n public async isDisabled(): Promise<boolean> {\n return (await this._input()).getProperty('disabled')\n }\n\n public async isRequired(): Promise<boolean> {\n return (await this._input()).getProperty('required')\n }\n\n public async click(): Promise<void> {\n return (await this._input()).click()\n }\n\n public async setValue(value: any): Promise<void> {\n await this._waitOnInstance()\n // TODO: Find out why setInputValue() doesn't update the FormControl.\n // return (await this._input()).setInputValue(value)\n await (await this._input()).click()\n await this._input().then(x => x.setInputValue(''))\n return (await this._input()).sendKeys(value)\n }\n\n private async _waitOnInstance() {\n const input = document.querySelector('input')\n const isInstanceReady = () => {\n const instLoading = input?.getAttribute('instance-loading')\n return instLoading === null\n }\n if (isInstanceReady()) {\n return true\n }\n await waitOnConditionAsync(\n isInstanceReady, 10000\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1"],"mappings":"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"}
@@ -59,9 +59,9 @@ class TiledSelectTileOverlayDirective {
59
59
  this.template = template;
60
60
  }
61
61
  }
62
- TiledSelectTileOverlayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileOverlayDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
63
- TiledSelectTileOverlayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TiledSelectTileOverlayDirective, selector: "[seamTiledSelectTileOverlay]", inputs: { record: "record" }, exportAs: ["seamTiledSelectTileOverlay"], ngImport: i0 });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileOverlayDirective, decorators: [{
62
+ TiledSelectTileOverlayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileOverlayDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
63
+ TiledSelectTileOverlayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TiledSelectTileOverlayDirective, selector: "[seamTiledSelectTileOverlay]", inputs: { record: "record" }, exportAs: ["seamTiledSelectTileOverlay"], ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileOverlayDirective, decorators: [{
65
65
  type: Directive,
66
66
  args: [{
67
67
  selector: '[seamTiledSelectTileOverlay]',
@@ -76,9 +76,9 @@ class TiledSelectTileLabelTplDirective {
76
76
  this.template = template;
77
77
  }
78
78
  }
79
- TiledSelectTileLabelTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileLabelTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
80
- TiledSelectTileLabelTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TiledSelectTileLabelTplDirective, selector: "[seamTiledSelectTileLabelTpl]", ngImport: i0 });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileLabelTplDirective, decorators: [{
79
+ TiledSelectTileLabelTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileLabelTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
80
+ TiledSelectTileLabelTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TiledSelectTileLabelTplDirective, selector: "[seamTiledSelectTileLabelTpl]", ngImport: i0 });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileLabelTplDirective, decorators: [{
82
82
  type: Directive,
83
83
  args: [{
84
84
  selector: '[seamTiledSelectTileLabelTpl]'
@@ -90,9 +90,9 @@ class TiledSelectTileIconTplDirective {
90
90
  this.template = template;
91
91
  }
92
92
  }
93
- TiledSelectTileIconTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileIconTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
94
- TiledSelectTileIconTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TiledSelectTileIconTplDirective, selector: "[seamTiledSelectTileIconTpl]", exportAs: ["seamTiledSelectTileIconTpl"], ngImport: i0 });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileIconTplDirective, decorators: [{
93
+ TiledSelectTileIconTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileIconTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
94
+ TiledSelectTileIconTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TiledSelectTileIconTplDirective, selector: "[seamTiledSelectTileIconTpl]", exportAs: ["seamTiledSelectTileIconTpl"], ngImport: i0 });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileIconTplDirective, decorators: [{
96
96
  type: Directive,
97
97
  args: [{
98
98
  selector: '[seamTiledSelectTileIconTpl]',
@@ -124,15 +124,15 @@ class TiledSelectTileIconComponent {
124
124
  }
125
125
  }
126
126
  }
127
- TiledSelectTileIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
128
- TiledSelectTileIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TiledSelectTileIconComponent, selector: "seam-tiled-select-tile-icon", inputs: { layout: "layout", grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon" }, host: { properties: { "class.grid": "this._cssClassGrid", "class.list": "this._cssClassList" } }, queries: [{ propertyName: "iconTpl", first: true, predicate: TiledSelectTileIconTplDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n\n <fa-icon *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
127
+ TiledSelectTileIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
128
+ TiledSelectTileIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TiledSelectTileIconComponent, selector: "seam-tiled-select-tile-icon", inputs: { layout: "layout", grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon" }, host: { properties: { "class.grid": "this._cssClassGrid", "class.list": "this._cssClassList" } }, queries: [{ propertyName: "iconTpl", first: true, predicate: TiledSelectTileIconTplDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n\n <fa-icon *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
129
129
  __decorate([
130
130
  InputBoolean()
131
131
  ], TiledSelectTileIconComponent.prototype, "grayscaleOnDisable", void 0);
132
132
  __decorate([
133
133
  InputBoolean()
134
134
  ], TiledSelectTileIconComponent.prototype, "disabled", void 0);
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileIconComponent, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileIconComponent, decorators: [{
136
136
  type: Component,
137
137
  args: [{ selector: 'seam-tiled-select-tile-icon', template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n\n <fa-icon *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url(&quot;#gray&quot;)\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"] }]
138
138
  }], propDecorators: { _cssClassGrid: [{
@@ -210,8 +210,8 @@ class TiledSelectTileComponent {
210
210
  }, 750);
211
211
  }
212
212
  }
213
- TiledSelectTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
214
- TiledSelectTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TiledSelectTileComponent, selector: "seam-tiled-select-tile", inputs: { layout: "layout", name: "name", label: "label", icon: "icon", disabled: "disabled", selected: "selected", tileBackdrop: "tileBackdrop", selectable: "selectable", grayscaleOnDisable: "grayscaleOnDisable", showLabel: "showLabel", showSelectedIcon: "showSelectedIcon", iconClass: "iconClass", overlayTpl: "overlayTpl" }, outputs: { activated: "activated" }, host: { properties: { "@pulse": "this.pulseAnimationState", "attr.data-tile-name": "this._tileNameAttr" } }, queries: [{ propertyName: "labelTpl", first: true, predicate: TiledSelectTileLabelTplDirective, descendants: true, static: true }], ngImport: i0, template: "<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\">\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\">\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{ label }}</span>\n <ng-template *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\">\n </ng-template>\n </div>\n <div *ngIf=\"tileBackdrop\" class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\">\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n", styles: [":host{display:block}.tiled-select-tile-panel{width:100%;height:100%;box-sizing:border-box;border:1px solid rgb(230,230,230);background-color:#fff;color:#505050;position:relative;overflow:hidden}.tiled-select-tile-panel:disabled:not(.no-grayscale){filter:grayscale(1)}.tiled-select-tile-panel .grey-fix{visibility:hidden;display:block}.tiled-select-tile-panel.selected{border:1px solid rgb(60,150,200)}.tiled-select-tile-panel.selectable:hover:not(:disabled){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.tiled-select-tile-panel.selectable:focus:not(:disabled){outline:none}.tiled-select-tile-panel:not(.selectable){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.tiled-select-tile-panel .tiled-select-tile-panel--content{display:flex;height:100%;width:100%}.tiled-select-tile-panel .tiled-select-tile-panel--content .tiled-select-tile-panel--selected{position:absolute;top:4px;right:4px}.tiled-select-tile-panel .tiled-select-tile-panel--content .selected-backdrop{opacity:.2;position:absolute;inset:0;border-radius:15px;transition:ease-in-out .2s background-color;pointer-events:none}.tiled-select-tile-panel .tiled-select-tile-panel--overlay{position:absolute;inset:0}.tiled-select-tile-panel.grid{border-radius:15px;padding:0;margin:0}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content{flex-direction:column}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content .selected-backdrop{border-radius:15px}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{flex:0 0 auto;height:2.5em;line-height:1em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{display:block;font-size:90%;padding:0 1em;white-space:initial}@media screen and (max-width: 600px){.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:2rem;line-height:.9em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{font-size:13px;padding:0 .7em}}.tiled-select-tile-panel.list{border-radius:10px;padding:4px}.tiled-select-tile-panel.list .tiled-select-tile-panel--content{flex-direction:row}.tiled-select-tile-panel.list .tiled-select-tile-panel--content .selected-backdrop{border-radius:10px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container{display:flex;max-height:100%;flex-direction:column;padding-right:40px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{padding:0 6px;text-align:left;margin:auto 0;font-size:80%;white-space:initial}.tiled-select-tile-panel.list .tiled-select-tile-panel--selected ::ng-deep .svg-inline--fa{height:39px}:host(.other-org) .tiled-select-tile-panel.grid{border:0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled){box-shadow:0 0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled) .tiled-select-tile-panel--label-container{text-decoration:underline}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--icon,:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--selected.text-success{display:none}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:auto;color:#357ebd}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label{padding:.5rem 1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: TiledSelectTileIconComponent, selector: "seam-tiled-select-tile-icon", inputs: ["layout", "grayscaleOnDisable", "disabled", "iconClass", "icon"] }], animations: [
213
+ TiledSelectTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
214
+ TiledSelectTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TiledSelectTileComponent, selector: "seam-tiled-select-tile", inputs: { layout: "layout", name: "name", label: "label", icon: "icon", disabled: "disabled", selected: "selected", tileBackdrop: "tileBackdrop", selectable: "selectable", grayscaleOnDisable: "grayscaleOnDisable", showLabel: "showLabel", showSelectedIcon: "showSelectedIcon", iconClass: "iconClass", overlayTpl: "overlayTpl" }, outputs: { activated: "activated" }, host: { properties: { "@pulse": "this.pulseAnimationState", "attr.data-tile-name": "this._tileNameAttr" } }, queries: [{ propertyName: "labelTpl", first: true, predicate: TiledSelectTileLabelTplDirective, descendants: true, static: true }], ngImport: i0, template: "<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\">\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\">\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{ label }}</span>\n <ng-template *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\">\n </ng-template>\n </div>\n <div *ngIf=\"tileBackdrop\" class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\">\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n", styles: [":host{display:block}.tiled-select-tile-panel{width:100%;height:100%;box-sizing:border-box;border:1px solid rgb(230,230,230);background-color:#fff;color:#505050;position:relative;overflow:hidden}.tiled-select-tile-panel:disabled:not(.no-grayscale){filter:grayscale(1)}.tiled-select-tile-panel .grey-fix{visibility:hidden;display:block}.tiled-select-tile-panel.selected{border:1px solid rgb(60,150,200)}.tiled-select-tile-panel.selectable:hover:not(:disabled){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.tiled-select-tile-panel.selectable:focus:not(:disabled){outline:none}.tiled-select-tile-panel:not(.selectable){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.tiled-select-tile-panel .tiled-select-tile-panel--content{display:flex;height:100%;width:100%}.tiled-select-tile-panel .tiled-select-tile-panel--content .tiled-select-tile-panel--selected{position:absolute;top:4px;right:4px}.tiled-select-tile-panel .tiled-select-tile-panel--content .selected-backdrop{opacity:.2;position:absolute;inset:0;border-radius:15px;transition:ease-in-out .2s background-color;pointer-events:none}.tiled-select-tile-panel .tiled-select-tile-panel--overlay{position:absolute;inset:0}.tiled-select-tile-panel.grid{border-radius:15px;padding:0;margin:0}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content{flex-direction:column}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content .selected-backdrop{border-radius:15px}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{flex:0 0 auto;height:2.5em;line-height:1em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{display:block;font-size:90%;padding:0 1em;white-space:initial}@media screen and (max-width: 600px){.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:2rem;line-height:.9em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{font-size:13px;padding:0 .7em}}.tiled-select-tile-panel.list{border-radius:10px;padding:4px}.tiled-select-tile-panel.list .tiled-select-tile-panel--content{flex-direction:row}.tiled-select-tile-panel.list .tiled-select-tile-panel--content .selected-backdrop{border-radius:10px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container{display:flex;max-height:100%;flex-direction:column;padding-right:40px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{padding:0 6px;text-align:left;margin:auto 0;font-size:80%;white-space:initial}.tiled-select-tile-panel.list .tiled-select-tile-panel--selected ::ng-deep .svg-inline--fa{height:39px}:host(.other-org) .tiled-select-tile-panel.grid{border:0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled){box-shadow:0 0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled) .tiled-select-tile-panel--label-container{text-decoration:underline}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--icon,:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--selected.text-success{display:none}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:auto;color:#357ebd}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label{padding:.5rem 1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: TiledSelectTileIconComponent, selector: "seam-tiled-select-tile-icon", inputs: ["layout", "grayscaleOnDisable", "disabled", "iconClass", "icon"] }], animations: [
215
215
  trigger('pulse', [
216
216
  transition('false => true', [
217
217
  useAnimation(tilePulse)
@@ -248,7 +248,7 @@ __decorate([
248
248
  __decorate([
249
249
  InputBoolean()
250
250
  ], TiledSelectTileComponent.prototype, "showSelectedIcon", void 0);
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TiledSelectTileComponent, decorators: [{
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TiledSelectTileComponent, decorators: [{
252
252
  type: Component,
253
253
  args: [{ selector: 'seam-tiled-select-tile', animations: [
254
254
  trigger('pulse', [
@@ -445,8 +445,8 @@ class TheSeamTiledSelectComponent {
445
445
  return (this.overlayTpls || []).find(t => t.record?.name === tile.name);
446
446
  }
447
447
  }
448
- TheSeamTiledSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectComponent, deps: [{ token: i1$1.Platform }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
449
- TheSeamTiledSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamTiledSelectComponent, selector: "seam-tiled-select", inputs: { layout: "layout", tiles: "tiles", val: ["value", "val"], disabled: "disabled", multiple: "multiple", selectionToggleable: "selectionToggleable", tileBackdrop: "tileBackdrop", showSelectedIcon: "showSelectedIcon", animationsDisabled: "animationsDisabled" }, outputs: { change: "change" }, host: { properties: { "attr.data-testid": "\"tiled-select\"" } }, providers: [TILED_SELECT_VALUE_ACCESSOR], queries: [{ propertyName: "overlayTpls", predicate: TiledSelectTileOverlayDirective }], ngImport: i0, template: "<div class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\">\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\">\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.tiled-select--container{display:flex;flex-wrap:wrap;justify-content:center}.tiled-select--container.grid{flex-direction:row}.tiled-select--container.grid .tile-wrapper{padding:12px;width:200px;height:180px}.tiled-select--container.grid .tile-wrapper .tiled-select-tile{height:100%}.tiled-select--container.grid .tile-wrapper.other-org{width:auto;height:auto}@media screen and (max-width: 600px){.tiled-select--container.grid .tile-wrapper{padding:6px;width:150px;height:135px}}.tiled-select--container.list{flex-direction:column}.tiled-select--container.list .tile-wrapper{width:100%;height:50px}.tiled-select--container.list .tile-wrapper:not(:last-child){margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TiledSelectTileComponent, selector: "seam-tiled-select-tile", inputs: ["layout", "name", "label", "icon", "disabled", "selected", "tileBackdrop", "selectable", "grayscaleOnDisable", "showLabel", "showSelectedIcon", "iconClass", "overlayTpl"], outputs: ["activated"] }], animations: [
448
+ TheSeamTiledSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectComponent, deps: [{ token: i1$1.Platform }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
449
+ TheSeamTiledSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TheSeamTiledSelectComponent, selector: "seam-tiled-select", inputs: { layout: "layout", tiles: "tiles", val: ["value", "val"], disabled: "disabled", multiple: "multiple", selectionToggleable: "selectionToggleable", tileBackdrop: "tileBackdrop", showSelectedIcon: "showSelectedIcon", animationsDisabled: "animationsDisabled" }, outputs: { change: "change" }, host: { properties: { "attr.data-testid": "\"tiled-select\"" } }, providers: [TILED_SELECT_VALUE_ACCESSOR], queries: [{ propertyName: "overlayTpls", predicate: TiledSelectTileOverlayDirective }], ngImport: i0, template: "<div class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\">\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\">\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.tiled-select--container{display:flex;flex-wrap:wrap;justify-content:center}.tiled-select--container.grid{flex-direction:row}.tiled-select--container.grid .tile-wrapper{padding:12px;width:200px;height:180px}.tiled-select--container.grid .tile-wrapper .tiled-select-tile{height:100%}.tiled-select--container.grid .tile-wrapper.other-org{width:auto;height:auto}@media screen and (max-width: 600px){.tiled-select--container.grid .tile-wrapper{padding:6px;width:150px;height:135px}}.tiled-select--container.list{flex-direction:column}.tiled-select--container.list .tile-wrapper{width:100%;height:50px}.tiled-select--container.list .tile-wrapper:not(:last-child){margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TiledSelectTileComponent, selector: "seam-tiled-select-tile", inputs: ["layout", "name", "label", "icon", "disabled", "selected", "tileBackdrop", "selectable", "grayscaleOnDisable", "showLabel", "showSelectedIcon", "iconClass", "overlayTpl"], outputs: ["activated"] }], animations: [
450
450
  trigger('tiles', [
451
451
  transition('* => *', [
452
452
  query(':enter', useAnimation(slideEnterAnimation), { optional: true })
@@ -471,7 +471,7 @@ __decorate([
471
471
  __decorate([
472
472
  InputBoolean()
473
473
  ], TheSeamTiledSelectComponent.prototype, "animationsDisabled", void 0);
474
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectComponent, decorators: [{
474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectComponent, decorators: [{
475
475
  type: Component,
476
476
  args: [{ selector: 'seam-tiled-select', providers: [TILED_SELECT_VALUE_ACCESSOR], host: {
477
477
  '[attr.data-testid]': '"tiled-select"'
@@ -510,8 +510,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
510
510
 
511
511
  class TheSeamTiledSelectModule {
512
512
  }
513
- TheSeamTiledSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
514
- TheSeamTiledSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectModule, declarations: [TheSeamTiledSelectComponent,
513
+ TheSeamTiledSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
514
+ TheSeamTiledSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectModule, declarations: [TheSeamTiledSelectComponent,
515
515
  TiledSelectTileComponent,
516
516
  TiledSelectTileOverlayDirective,
517
517
  TiledSelectTileIconComponent,
@@ -522,9 +522,9 @@ TheSeamTiledSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0"
522
522
  TiledSelectTileOverlayDirective,
523
523
  TiledSelectTileIconTplDirective,
524
524
  TiledSelectTileLabelTplDirective] });
525
- TheSeamTiledSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectModule, imports: [CommonModule,
525
+ TheSeamTiledSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectModule, imports: [CommonModule,
526
526
  FontAwesomeModule] });
527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTiledSelectModule, decorators: [{
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TheSeamTiledSelectModule, decorators: [{
528
528
  type: NgModule,
529
529
  args: [{
530
530
  imports: [