@bravobit/bb-foundation 0.15.4 → 0.16.1

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 (377) hide show
  1. package/auth/lib/auth.interceptor.d.ts +1 -1
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/package.json +5 -5
  4. package/collections/package.json +5 -5
  5. package/controls/bravobit-bb-foundation-controls.d.ts +5 -0
  6. package/controls/lib/checkbox/checkbox.component.d.ts +27 -0
  7. package/controls/lib/checkbox/checkbox.module.d.ts +9 -0
  8. package/controls/lib/controls.module.d.ts +7 -0
  9. package/controls/package.json +10 -0
  10. package/controls/public_api.d.ts +3 -0
  11. package/dashboard/package.json +5 -5
  12. package/dialog/package.json +5 -5
  13. package/elements/package.json +5 -5
  14. package/{esm2015/auth/bravobit-bb-foundation-auth.js → esm2020/auth/bravobit-bb-foundation-auth.mjs} +0 -0
  15. package/esm2020/auth/lib/auth.interceptor.mjs +94 -0
  16. package/{esm2015/auth/lib/auth.module.js → esm2020/auth/lib/auth.module.mjs} +5 -5
  17. package/esm2020/auth/lib/auth.service.mjs +276 -0
  18. package/esm2020/auth/lib/auth.session.mjs +131 -0
  19. package/{esm2015/auth/lib/directives/authenticated.directive.js → esm2020/auth/lib/directives/authenticated.directive.mjs} +5 -6
  20. package/esm2020/auth/lib/directives/permission.directive.mjs +80 -0
  21. package/esm2020/auth/lib/directives/role.directive.mjs +37 -0
  22. package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -0
  23. package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -0
  24. package/{esm2015/auth/lib/helpers/jwt.helper.js → esm2020/auth/lib/helpers/jwt.helper.mjs} +3 -3
  25. package/{esm2015/auth/lib/helpers/mapper.helper.js → esm2020/auth/lib/helpers/mapper.helper.mjs} +4 -4
  26. package/{esm2015/auth/lib/interfaces/config.interface.js → esm2020/auth/lib/interfaces/config.interface.mjs} +0 -0
  27. package/{esm2015/auth/lib/interfaces/mapper.interface.js → esm2020/auth/lib/interfaces/mapper.interface.mjs} +0 -0
  28. package/{esm2015/auth/lib/interfaces/provider.interface.js → esm2020/auth/lib/interfaces/provider.interface.mjs} +0 -0
  29. package/{esm2015/auth/lib/interfaces/token.interface.js → esm2020/auth/lib/interfaces/token.interface.mjs} +0 -0
  30. package/esm2020/auth/lib/permissions.service.mjs +56 -0
  31. package/esm2020/auth/lib/providers/email.provider.mjs +25 -0
  32. package/esm2020/auth/lib/providers/verify.provider.mjs +19 -0
  33. package/{esm2015/auth/lib/tokens/use-authorization.token.js → esm2020/auth/lib/tokens/use-authorization.token.mjs} +0 -0
  34. package/{esm2015/auth/public_api.js → esm2020/auth/public_api.mjs} +0 -0
  35. package/{esm2015/bravobit-bb-foundation.js → esm2020/bravobit-bb-foundation.mjs} +0 -0
  36. package/{esm2015/collections/bravobit-bb-foundation-collections.js → esm2020/collections/bravobit-bb-foundation-collections.mjs} +0 -0
  37. package/esm2020/collections/lib/collection.mjs +98 -0
  38. package/{esm2015/collections/lib/collections.module.js → esm2020/collections/lib/collections.module.mjs} +5 -5
  39. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -0
  40. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -0
  41. package/{esm2015/collections/lib/components/collections.directive.js → esm2020/collections/lib/components/collections.directive.mjs} +13 -13
  42. package/{esm2015/collections/lib/interfaces/collection.interface.js → esm2020/collections/lib/interfaces/collection.interface.mjs} +0 -0
  43. package/esm2020/collections/lib/providers/api-collection.provider.mjs +68 -0
  44. package/esm2020/collections/lib/providers/collection.provider.mjs +13 -0
  45. package/{esm2015/collections/lib/providers/local-collection.provider.js → esm2020/collections/lib/providers/local-collection.provider.mjs} +0 -0
  46. package/{esm2015/collections/public_api.js → esm2020/collections/public_api.mjs} +0 -0
  47. package/esm2020/controls/bravobit-bb-foundation-controls.mjs +5 -0
  48. package/esm2020/controls/lib/checkbox/checkbox.component.mjs +86 -0
  49. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -0
  50. package/esm2020/controls/lib/controls.module.mjs +16 -0
  51. package/esm2020/controls/public_api.mjs +4 -0
  52. package/{esm2015/dashboard/bravobit-bb-foundation-dashboard.js → esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs} +0 -0
  53. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -0
  54. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -0
  55. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -0
  56. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -0
  57. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -0
  58. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -0
  59. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -0
  60. package/{esm2015/dashboard/lib/dashboard.module.js → esm2020/dashboard/lib/dashboard.module.mjs} +5 -5
  61. package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
  62. package/{esm2015/dialog/bravobit-bb-foundation-dialog.js → esm2020/dialog/bravobit-bb-foundation-dialog.mjs} +0 -0
  63. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -0
  64. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -0
  65. package/{esm2015/dialog/lib/dialog-container/dialog-container.component.js → esm2020/dialog/lib/dialog-container/dialog-container.component.mjs} +6 -15
  66. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -0
  67. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -0
  68. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -0
  69. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -0
  70. package/{esm2015/dialog/lib/dialog.injector.js → esm2020/dialog/lib/dialog.injector.mjs} +0 -0
  71. package/{esm2015/dialog/lib/dialog.insertion.js → esm2020/dialog/lib/dialog.insertion.mjs} +4 -4
  72. package/{esm2015/dialog/lib/dialog.interfaces.js → esm2020/dialog/lib/dialog.interfaces.mjs} +0 -0
  73. package/{esm2015/dialog/lib/dialog.module.js → esm2020/dialog/lib/dialog.module.mjs} +5 -9
  74. package/{esm2015/dialog/lib/dialog.ref.js → esm2020/dialog/lib/dialog.ref.mjs} +0 -0
  75. package/{esm2015/dialog/lib/dialog.service.js → esm2020/dialog/lib/dialog.service.mjs} +5 -5
  76. package/{esm2015/dialog/public_api.js → esm2020/dialog/public_api.mjs} +0 -0
  77. package/{esm2015/elements/bravobit-bb-foundation-elements.js → esm2020/elements/bravobit-bb-foundation-elements.mjs} +0 -0
  78. package/esm2020/elements/lib/avatar/avatar.component.mjs +142 -0
  79. package/esm2020/elements/lib/button/button.component.mjs +61 -0
  80. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -0
  81. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -0
  82. package/{esm2015/elements/lib/directives/addon.directive.js → esm2020/elements/lib/directives/addon.directive.mjs} +7 -7
  83. package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -0
  84. package/{esm2015/elements/lib/directives/focus-trap.directive.js → esm2020/elements/lib/directives/focus-trap.directive.mjs} +4 -4
  85. package/{esm2015/elements/lib/directives/focus.directive.js → esm2020/elements/lib/directives/focus.directive.mjs} +4 -4
  86. package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -0
  87. package/esm2020/elements/lib/directives/input.directive.mjs +136 -0
  88. package/{esm2015/elements/lib/directives/template.directive.js → esm2020/elements/lib/directives/template.directive.mjs} +4 -4
  89. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -0
  90. package/{esm2015/elements/lib/elements.interfaces.js → esm2020/elements/lib/elements.interfaces.mjs} +0 -0
  91. package/{esm2015/elements/lib/elements.module.js → esm2020/elements/lib/elements.module.mjs} +5 -5
  92. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -0
  93. package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -0
  94. package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -0
  95. package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -0
  96. package/esm2020/elements/lib/icon/icon.component.mjs +102 -0
  97. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -0
  98. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -0
  99. package/{esm2015/elements/lib/pipes/file-size.pipe.js → esm2020/elements/lib/pipes/file-size.pipe.mjs} +4 -4
  100. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -0
  101. package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -0
  102. package/esm2020/elements/lib/tag/tag.component.mjs +18 -0
  103. package/{esm2015/elements/public_api.js → esm2020/elements/public_api.mjs} +0 -0
  104. package/{esm2015/http/bravobit-bb-foundation-http.js → esm2020/http/bravobit-bb-foundation-http.mjs} +0 -0
  105. package/esm2020/http/lib/classes/http.config.mjs +29 -0
  106. package/esm2020/http/lib/classes/http.error.mjs +20 -0
  107. package/{esm2015/http/lib/http.interfaces.js → esm2020/http/lib/http.interfaces.mjs} +0 -0
  108. package/{esm2015/http/lib/http.module.js → esm2020/http/lib/http.module.mjs} +5 -5
  109. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -0
  110. package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -0
  111. package/{esm2015/http/public_api.js → esm2020/http/public_api.mjs} +0 -0
  112. package/{esm2015/lib/core/coercions/boolean-coercion.js → esm2020/lib/core/coercions/boolean-coercion.mjs} +0 -0
  113. package/{esm2015/lib/core/miscellaneous/regex.js → esm2020/lib/core/miscellaneous/regex.mjs} +0 -0
  114. package/esm2020/lib/core/miscellaneous/validator.mjs +85 -0
  115. package/{esm2015/lib/core/mixins/can-disable.js → esm2020/lib/core/mixins/can-disable.mjs} +0 -0
  116. package/{esm2015/lib/core/mixins/can-hide-errors.js → esm2020/lib/core/mixins/can-hide-errors.mjs} +0 -0
  117. package/{esm2015/lib/core/mixins/can-load.js → esm2020/lib/core/mixins/can-load.mjs} +0 -0
  118. package/{esm2015/lib/core/mixins/constructor.js → esm2020/lib/core/mixins/constructor.mjs} +0 -0
  119. package/{esm2015/lib/core/mixins/has-error.js → esm2020/lib/core/mixins/has-error.mjs} +0 -0
  120. package/{esm2015/lib/core/mixins/is-focused.js → esm2020/lib/core/mixins/is-focused.mjs} +0 -0
  121. package/{esm2015/lib/core/mixins/is-grouped.js → esm2020/lib/core/mixins/is-grouped.mjs} +0 -0
  122. package/{esm2015/lib/core/mixins/is-readonly.js → esm2020/lib/core/mixins/is-readonly.mjs} +0 -0
  123. package/{esm2015/lib/core/mixins/is-required.js → esm2020/lib/core/mixins/is-required.mjs} +0 -0
  124. package/esm2020/lib/core/services/clipboard.service.mjs +70 -0
  125. package/esm2020/lib/core/services/exif.service.mjs +163 -0
  126. package/esm2020/lib/core/services/file-loader.service.mjs +87 -0
  127. package/esm2020/lib/core/services/image-converter.service.mjs +123 -0
  128. package/{esm2015/lib/core/services/languages.service.js → esm2020/lib/core/services/languages.service.mjs} +4 -4
  129. package/{esm2015/lib/core/services/network.service.js → esm2020/lib/core/services/network.service.mjs} +5 -6
  130. package/esm2020/lib/core/services/patch.service.mjs +63 -0
  131. package/{esm2015/lib/core/services/platform.service.js → esm2020/lib/core/services/platform.service.mjs} +5 -5
  132. package/{esm2015/lib/core/tokens/accept-language.token.js → esm2020/lib/core/tokens/accept-language.token.mjs} +0 -0
  133. package/{esm2015/lib/core/tokens/base-url.token.js → esm2020/lib/core/tokens/base-url.token.mjs} +0 -0
  134. package/{esm2015/lib/core/tokens/cookie.token.js → esm2020/lib/core/tokens/cookie.token.mjs} +0 -0
  135. package/{esm2015/lib/core/tokens/location.token.js → esm2020/lib/core/tokens/location.token.mjs} +0 -0
  136. package/{esm2015/lib/core/tokens/navigator.token.js → esm2020/lib/core/tokens/navigator.token.mjs} +0 -0
  137. package/{esm2015/lib/core/tokens/window.token.js → esm2020/lib/core/tokens/window.token.mjs} +0 -0
  138. package/{esm2015/localize/bravobit-bb-foundation-localize.js → esm2020/localize/bravobit-bb-foundation-localize.mjs} +0 -0
  139. package/{esm2015/localize/lib/functions/date.function.js → esm2020/localize/lib/functions/date.function.mjs} +0 -0
  140. package/{esm2015/localize/lib/functions/lowercase.function.js → esm2020/localize/lib/functions/lowercase.function.mjs} +0 -0
  141. package/{esm2015/localize/lib/functions/uppercase.function.js → esm2020/localize/lib/functions/uppercase.function.mjs} +0 -0
  142. package/{esm2015/localize/lib/handlers/missing.handler.js → esm2020/localize/lib/handlers/missing.handler.mjs} +0 -0
  143. package/{esm2015/localize/lib/interfaces/config.interfaces.js → esm2020/localize/lib/interfaces/config.interfaces.mjs} +0 -0
  144. package/{esm2015/localize/lib/interfaces/dictionary.interfaces.js → esm2020/localize/lib/interfaces/dictionary.interfaces.mjs} +0 -0
  145. package/{esm2015/localize/lib/interfaces/functions.interfaces.js → esm2020/localize/lib/interfaces/functions.interfaces.mjs} +0 -0
  146. package/{esm2015/localize/lib/interfaces/handlers.interfaces.js → esm2020/localize/lib/interfaces/handlers.interfaces.mjs} +0 -0
  147. package/{esm2015/localize/lib/interfaces/options.interfaces.js → esm2020/localize/lib/interfaces/options.interfaces.mjs} +0 -0
  148. package/{esm2015/localize/lib/localizations/dutch.localization.js → esm2020/localize/lib/localizations/dutch.localization.mjs} +0 -0
  149. package/{esm2015/localize/lib/localizations/english.localization.js → esm2020/localize/lib/localizations/english.localization.mjs} +0 -0
  150. package/esm2020/localize/lib/localize.dictionary.mjs +135 -0
  151. package/{esm2015/localize/lib/localize.module.js → esm2020/localize/lib/localize.module.mjs} +5 -5
  152. package/{esm2015/localize/lib/localize.pipe.js → esm2020/localize/lib/localize.pipe.mjs} +5 -5
  153. package/esm2020/localize/lib/localize.service.mjs +277 -0
  154. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -0
  155. package/{esm2015/localize/lib/views/localize-template-or-string.directive.js → esm2020/localize/lib/views/localize-template-or-string.directive.mjs} +4 -4
  156. package/{esm2015/localize/lib/views/localize-template.directive.js → esm2020/localize/lib/views/localize-template.directive.mjs} +4 -4
  157. package/{esm2015/localize/public_api.js → esm2020/localize/public_api.mjs} +0 -0
  158. package/{esm2015/notifications/bravobit-bb-foundation-notifications.js → esm2020/notifications/bravobit-bb-foundation-notifications.mjs} +0 -0
  159. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -0
  160. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -0
  161. package/{esm2015/notifications/lib/notifications.animations.js → esm2020/notifications/lib/notifications.animations.mjs} +0 -0
  162. package/{esm2015/notifications/lib/notifications.injector.js → esm2020/notifications/lib/notifications.injector.mjs} +0 -0
  163. package/{esm2015/notifications/lib/notifications.interfaces.js → esm2020/notifications/lib/notifications.interfaces.mjs} +0 -0
  164. package/{esm2015/notifications/lib/notifications.module.js → esm2020/notifications/lib/notifications.module.mjs} +6 -7
  165. package/{esm2015/notifications/lib/notifications.service.js → esm2020/notifications/lib/notifications.service.mjs} +5 -5
  166. package/{esm2015/notifications/public_api.js → esm2020/notifications/public_api.mjs} +0 -0
  167. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  168. package/{esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js → esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs} +0 -0
  169. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -0
  170. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -0
  171. package/{esm2015/recaptcha/lib/recaptcha.interface.js → esm2020/recaptcha/lib/recaptcha.interface.mjs} +0 -0
  172. package/{esm2015/recaptcha/lib/recaptcha.module.js → esm2020/recaptcha/lib/recaptcha.module.mjs} +5 -5
  173. package/{esm2015/recaptcha/public_api.js → esm2020/recaptcha/public_api.mjs} +0 -0
  174. package/{esm2015/rxjs/bravobit-bb-foundation-rxjs.js → esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs} +0 -0
  175. package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -0
  176. package/{esm2015/rxjs/lib/operators/filter-nil.operator.js → esm2020/rxjs/lib/operators/filter-nil.operator.mjs} +0 -0
  177. package/{esm2015/rxjs/public_api.js → esm2020/rxjs/public_api.mjs} +0 -0
  178. package/{esm2015/storage/bravobit-bb-foundation-storage.js → esm2020/storage/bravobit-bb-foundation-storage.mjs} +0 -0
  179. package/{esm2015/storage/lib/interfaces/attributes.interface.js → esm2020/storage/lib/interfaces/attributes.interface.mjs} +0 -0
  180. package/{esm2015/storage/lib/interfaces/memory.interface.js → esm2020/storage/lib/interfaces/memory.interface.mjs} +0 -0
  181. package/{esm2015/storage/lib/interfaces/strategy.interface.js → esm2020/storage/lib/interfaces/strategy.interface.mjs} +0 -0
  182. package/esm2020/storage/lib/storage.service.mjs +109 -0
  183. package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -0
  184. package/{esm2015/storage/lib/strategies/memory-storage.strategy.js → esm2020/storage/lib/strategies/memory-storage.strategy.mjs} +2 -2
  185. package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -0
  186. package/{esm2015/storage/public_api.js → esm2020/storage/public_api.mjs} +0 -0
  187. package/{esm2015/table/bravobit-bb-foundation-table.js → esm2020/table/bravobit-bb-foundation-table.mjs} +0 -0
  188. package/esm2020/table/lib/components/table/table.component.mjs +191 -0
  189. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -0
  190. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -0
  191. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -0
  192. package/esm2020/table/lib/data/datasource.data.mjs +32 -0
  193. package/esm2020/table/lib/data/generic.data.mjs +72 -0
  194. package/{esm2015/table/lib/interfaces/datasource.interface.js → esm2020/table/lib/interfaces/datasource.interface.mjs} +0 -0
  195. package/{esm2015/table/lib/interfaces/table.interfaces.js → esm2020/table/lib/interfaces/table.interfaces.mjs} +0 -0
  196. package/{esm2015/table/lib/table.module.js → esm2020/table/lib/table.module.mjs} +5 -5
  197. package/{esm2015/table/public_api.js → esm2020/table/public_api.mjs} +0 -0
  198. package/fesm2015/{bravobit-bb-foundation-auth.js → bravobit-bb-foundation-auth.mjs} +79 -68
  199. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -0
  200. package/fesm2015/{bravobit-bb-foundation-collections.js → bravobit-bb-foundation-collections.mjs} +33 -47
  201. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -0
  202. package/fesm2015/bravobit-bb-foundation-controls.mjs +123 -0
  203. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -0
  204. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +416 -0
  205. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -0
  206. package/fesm2015/{bravobit-bb-foundation-dialog.js → bravobit-bb-foundation-dialog.mjs} +45 -106
  207. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -0
  208. package/fesm2015/{bravobit-bb-foundation-elements.js → bravobit-bb-foundation-elements.mjs} +193 -302
  209. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -0
  210. package/fesm2015/{bravobit-bb-foundation-http.js → bravobit-bb-foundation-http.mjs} +18 -16
  211. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -0
  212. package/fesm2015/{bravobit-bb-foundation-localize.js → bravobit-bb-foundation-localize.mjs} +63 -69
  213. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -0
  214. package/fesm2015/bravobit-bb-foundation-notifications.mjs +377 -0
  215. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -0
  216. package/fesm2015/{bravobit-bb-foundation-recaptcha.js → bravobit-bb-foundation-recaptcha.mjs} +40 -47
  217. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
  218. package/fesm2015/{bravobit-bb-foundation-rxjs.js → bravobit-bb-foundation-rxjs.mjs} +1 -1
  219. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -0
  220. package/fesm2015/{bravobit-bb-foundation-storage.js → bravobit-bb-foundation-storage.mjs} +12 -10
  221. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -0
  222. package/fesm2015/bravobit-bb-foundation-table.mjs +603 -0
  223. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -0
  224. package/fesm2015/{bravobit-bb-foundation.js → bravobit-bb-foundation.mjs} +74 -64
  225. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -0
  226. package/fesm2020/bravobit-bb-foundation-auth.mjs +928 -0
  227. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -0
  228. package/fesm2020/bravobit-bb-foundation-collections.mjs +434 -0
  229. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -0
  230. package/fesm2020/bravobit-bb-foundation-controls.mjs +121 -0
  231. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -0
  232. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +404 -0
  233. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -0
  234. package/fesm2020/bravobit-bb-foundation-dialog.mjs +584 -0
  235. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -0
  236. package/fesm2020/bravobit-bb-foundation-elements.mjs +1993 -0
  237. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -0
  238. package/fesm2020/bravobit-bb-foundation-http.mjs +168 -0
  239. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -0
  240. package/fesm2020/bravobit-bb-foundation-localize.mjs +832 -0
  241. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -0
  242. package/fesm2020/bravobit-bb-foundation-notifications.mjs +375 -0
  243. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -0
  244. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +300 -0
  245. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
  246. package/fesm2020/bravobit-bb-foundation-rxjs.mjs +21 -0
  247. package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -0
  248. package/fesm2020/bravobit-bb-foundation-storage.mjs +413 -0
  249. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -0
  250. package/fesm2020/bravobit-bb-foundation-table.mjs +592 -0
  251. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -0
  252. package/fesm2020/bravobit-bb-foundation.mjs +895 -0
  253. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -0
  254. package/http/package.json +5 -5
  255. package/localize/package.json +5 -5
  256. package/notifications/package.json +5 -5
  257. package/package.json +125 -8
  258. package/recaptcha/package.json +5 -5
  259. package/rxjs/package.json +5 -5
  260. package/storage/package.json +5 -5
  261. package/table/lib/components/table/table.component.d.ts +3 -0
  262. package/table/package.json +5 -5
  263. package/bundles/bravobit-bb-foundation-auth.umd.js +0 -1483
  264. package/bundles/bravobit-bb-foundation-auth.umd.js.map +0 -1
  265. package/bundles/bravobit-bb-foundation-collections.umd.js +0 -868
  266. package/bundles/bravobit-bb-foundation-collections.umd.js.map +0 -1
  267. package/bundles/bravobit-bb-foundation-dashboard.umd.js +0 -876
  268. package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +0 -1
  269. package/bundles/bravobit-bb-foundation-dialog.umd.js +0 -716
  270. package/bundles/bravobit-bb-foundation-dialog.umd.js.map +0 -1
  271. package/bundles/bravobit-bb-foundation-elements.umd.js +0 -2768
  272. package/bundles/bravobit-bb-foundation-elements.umd.js.map +0 -1
  273. package/bundles/bravobit-bb-foundation-http.umd.js +0 -535
  274. package/bundles/bravobit-bb-foundation-http.umd.js.map +0 -1
  275. package/bundles/bravobit-bb-foundation-localize.umd.js +0 -1292
  276. package/bundles/bravobit-bb-foundation-localize.umd.js.map +0 -1
  277. package/bundles/bravobit-bb-foundation-notifications.umd.js +0 -794
  278. package/bundles/bravobit-bb-foundation-notifications.umd.js.map +0 -1
  279. package/bundles/bravobit-bb-foundation-recaptcha.umd.js +0 -683
  280. package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +0 -1
  281. package/bundles/bravobit-bb-foundation-rxjs.umd.js +0 -29
  282. package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +0 -1
  283. package/bundles/bravobit-bb-foundation-storage.umd.js +0 -799
  284. package/bundles/bravobit-bb-foundation-storage.umd.js.map +0 -1
  285. package/bundles/bravobit-bb-foundation-table.umd.js +0 -1070
  286. package/bundles/bravobit-bb-foundation-table.umd.js.map +0 -1
  287. package/bundles/bravobit-bb-foundation.umd.js +0 -1440
  288. package/bundles/bravobit-bb-foundation.umd.js.map +0 -1
  289. package/esm2015/auth/lib/auth.interceptor.js +0 -95
  290. package/esm2015/auth/lib/auth.service.js +0 -299
  291. package/esm2015/auth/lib/auth.session.js +0 -136
  292. package/esm2015/auth/lib/directives/permission.directive.js +0 -81
  293. package/esm2015/auth/lib/directives/role.directive.js +0 -38
  294. package/esm2015/auth/lib/guards/anonymous.guard.js +0 -35
  295. package/esm2015/auth/lib/guards/authenticated.guard.js +0 -36
  296. package/esm2015/auth/lib/permissions.service.js +0 -58
  297. package/esm2015/auth/lib/providers/email.provider.js +0 -26
  298. package/esm2015/auth/lib/providers/verify.provider.js +0 -20
  299. package/esm2015/collections/lib/collection.js +0 -104
  300. package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +0 -136
  301. package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +0 -39
  302. package/esm2015/collections/lib/providers/api-collection.provider.js +0 -69
  303. package/esm2015/collections/lib/providers/collection.provider.js +0 -14
  304. package/esm2015/dashboard/lib/dashboard/dashboard.component.js +0 -64
  305. package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +0 -41
  306. package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +0 -39
  307. package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +0 -38
  308. package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +0 -83
  309. package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +0 -110
  310. package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +0 -71
  311. package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +0 -20
  312. package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +0 -45
  313. package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +0 -33
  314. package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +0 -19
  315. package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +0 -54
  316. package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +0 -143
  317. package/esm2015/elements/lib/avatar/avatar.component.js +0 -151
  318. package/esm2015/elements/lib/button/button.component.js +0 -79
  319. package/esm2015/elements/lib/checkbox/checkbox.component.js +0 -83
  320. package/esm2015/elements/lib/date-picker/date-picker.component.js +0 -322
  321. package/esm2015/elements/lib/directives/autosize.directive.js +0 -74
  322. package/esm2015/elements/lib/directives/form-submit.directive.js +0 -53
  323. package/esm2015/elements/lib/directives/input.directive.js +0 -139
  324. package/esm2015/elements/lib/dropdown/dropdown.component.js +0 -111
  325. package/esm2015/elements/lib/file-picker/file-picker.component.js +0 -247
  326. package/esm2015/elements/lib/form-control/form-control.component.js +0 -58
  327. package/esm2015/elements/lib/form-error/form-error.component.js +0 -116
  328. package/esm2015/elements/lib/form-group/form-group.component.js +0 -27
  329. package/esm2015/elements/lib/icon/icon.component.js +0 -110
  330. package/esm2015/elements/lib/image-picker/image-picker.component.js +0 -119
  331. package/esm2015/elements/lib/pipes/file-image.pipe.js +0 -45
  332. package/esm2015/elements/lib/pipes/relative-time.pipe.js +0 -96
  333. package/esm2015/elements/lib/spinner/spinner.component.js +0 -34
  334. package/esm2015/elements/lib/tag/tag.component.js +0 -26
  335. package/esm2015/http/lib/classes/http.config.js +0 -31
  336. package/esm2015/http/lib/classes/http.error.js +0 -21
  337. package/esm2015/http/lib/interceptors/base-url.interceptor.js +0 -52
  338. package/esm2015/http/lib/interceptors/error.interceptor.js +0 -33
  339. package/esm2015/lib/core/miscellaneous/validator.js +0 -86
  340. package/esm2015/lib/core/services/clipboard.service.js +0 -72
  341. package/esm2015/lib/core/services/exif.service.js +0 -168
  342. package/esm2015/lib/core/services/file-loader.service.js +0 -90
  343. package/esm2015/lib/core/services/image-converter.service.js +0 -130
  344. package/esm2015/lib/core/services/patch.service.js +0 -65
  345. package/esm2015/localize/lib/localize.dictionary.js +0 -137
  346. package/esm2015/localize/lib/localize.service.js +0 -282
  347. package/esm2015/localize/lib/views/localize-string/localize-string.component.js +0 -99
  348. package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +0 -108
  349. package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +0 -56
  350. package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +0 -199
  351. package/esm2015/recaptcha/lib/recaptcha-loader.service.js +0 -93
  352. package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +0 -7
  353. package/esm2015/storage/lib/storage.service.js +0 -111
  354. package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +0 -143
  355. package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +0 -102
  356. package/esm2015/table/lib/components/table/table.component.js +0 -196
  357. package/esm2015/table/lib/components/table-cell/table-cell.component.js +0 -19
  358. package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +0 -141
  359. package/esm2015/table/lib/components/table-pager/table-pager.component.js +0 -146
  360. package/esm2015/table/lib/data/datasource.data.js +0 -32
  361. package/esm2015/table/lib/data/generic.data.js +0 -73
  362. package/fesm2015/bravobit-bb-foundation-auth.js.map +0 -1
  363. package/fesm2015/bravobit-bb-foundation-collections.js.map +0 -1
  364. package/fesm2015/bravobit-bb-foundation-dashboard.js +0 -468
  365. package/fesm2015/bravobit-bb-foundation-dashboard.js.map +0 -1
  366. package/fesm2015/bravobit-bb-foundation-dialog.js.map +0 -1
  367. package/fesm2015/bravobit-bb-foundation-elements.js.map +0 -1
  368. package/fesm2015/bravobit-bb-foundation-http.js.map +0 -1
  369. package/fesm2015/bravobit-bb-foundation-localize.js.map +0 -1
  370. package/fesm2015/bravobit-bb-foundation-notifications.js +0 -393
  371. package/fesm2015/bravobit-bb-foundation-notifications.js.map +0 -1
  372. package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +0 -1
  373. package/fesm2015/bravobit-bb-foundation-rxjs.js.map +0 -1
  374. package/fesm2015/bravobit-bb-foundation-storage.js.map +0 -1
  375. package/fesm2015/bravobit-bb-foundation-table.js +0 -626
  376. package/fesm2015/bravobit-bb-foundation-table.js.map +0 -1
  377. package/fesm2015/bravobit-bb-foundation.js.map +0 -1
@@ -0,0 +1,50 @@
1
+ import { distinctUntilChanged, mapTo, shareReplay, startWith } from 'rxjs/operators';
2
+ import { Directive, Optional, Self } from '@angular/core';
3
+ import { EMPTY, fromEvent, merge } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class BbFormSubmit {
7
+ constructor(_host, _formDirective) {
8
+ this._host = _host;
9
+ this._formDirective = _formDirective;
10
+ }
11
+ ngOnInit() {
12
+ // Submit changes.
13
+ const regularSubmitChanges$ = fromEvent(this.nativeElement, 'submit').pipe(mapTo(true));
14
+ // Reactive form submit changes.
15
+ const reactiveSubmitChanges$ = this.reactiveSubmitChanges();
16
+ // Reset changes.
17
+ const resetChanges$ = fromEvent(this.nativeElement, 'reset').pipe(mapTo(false));
18
+ // Listen to the submit status.
19
+ this.submitStatus$ = merge(regularSubmitChanges$, reactiveSubmitChanges$, resetChanges$).pipe(startWith(false), distinctUntilChanged(), shareReplay(1));
20
+ }
21
+ submit() {
22
+ this._formDirective?.ngSubmit?.emit();
23
+ }
24
+ reset() {
25
+ return this.nativeElement?.reset();
26
+ }
27
+ get nativeElement() {
28
+ return this._host?.nativeElement;
29
+ }
30
+ reactiveSubmitChanges() {
31
+ if (!this._formDirective) {
32
+ return EMPTY;
33
+ }
34
+ return this._formDirective.ngSubmit.pipe(mapTo(true));
35
+ }
36
+ }
37
+ BbFormSubmit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormSubmit, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
38
+ BbFormSubmit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbFormSubmit, selector: "form", exportAs: ["bbForm"], ngImport: i0 });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormSubmit, decorators: [{
40
+ type: Directive,
41
+ args: [{
42
+ selector: 'form',
43
+ exportAs: 'bbForm'
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective, decorators: [{
46
+ type: Optional
47
+ }, {
48
+ type: Self
49
+ }] }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQXNCLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFPekQsTUFBTSxPQUFPLFlBQVk7SUFJckIsWUFBb0IsS0FBa0MsRUFDZCxjQUFrQztRQUR0RCxVQUFLLEdBQUwsS0FBSyxDQUE2QjtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUMxRSxDQUFDO0lBRUQsUUFBUTtRQUNKLGtCQUFrQjtRQUNsQixNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDdEUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNkLENBQUM7UUFFRixnQ0FBZ0M7UUFDaEMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1RCxpQkFBaUI7UUFDakIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3RCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQ2YsQ0FBQztRQUVGLCtCQUErQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQ3pGLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFDaEIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQ2QsQ0FBQztJQUNOLENBQUM7O3lHQWxEUSxZQUFZOzZGQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsUUFBUSxFQUFFLFFBQVE7aUJBQ3JCOzswQkFNZ0IsUUFBUTs7MEJBQUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcFRvLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZLCBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Rm9ybUdyb3VwRGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZm9ybScsXG4gICAgZXhwb3J0QXM6ICdiYkZvcm0nXG59KVxuZXhwb3J0IGNsYXNzIEJiRm9ybVN1Ym1pdCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBzdWJtaXRTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogRWxlbWVudFJlZjxIVE1MRm9ybUVsZW1lbnQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBfZm9ybURpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFN1Ym1pdCBjaGFuZ2VzLlxuICAgICAgICBjb25zdCByZWd1bGFyU3VibWl0Q2hhbmdlcyQgPSBmcm9tRXZlbnQodGhpcy5uYXRpdmVFbGVtZW50LCAnc3VibWl0JykucGlwZShcbiAgICAgICAgICAgIG1hcFRvKHRydWUpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVhY3RpdmUgZm9ybSBzdWJtaXQgY2hhbmdlcy5cbiAgICAgICAgY29uc3QgcmVhY3RpdmVTdWJtaXRDaGFuZ2VzJCA9IHRoaXMucmVhY3RpdmVTdWJtaXRDaGFuZ2VzKCk7XG5cbiAgICAgICAgLy8gUmVzZXQgY2hhbmdlcy5cbiAgICAgICAgY29uc3QgcmVzZXRDaGFuZ2VzJCA9IGZyb21FdmVudCh0aGlzLm5hdGl2ZUVsZW1lbnQsICdyZXNldCcpLnBpcGUoXG4gICAgICAgICAgICBtYXBUbyhmYWxzZSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBMaXN0ZW4gdG8gdGhlIHN1Ym1pdCBzdGF0dXMuXG4gICAgICAgIHRoaXMuc3VibWl0U3RhdHVzJCA9IG1lcmdlKHJlZ3VsYXJTdWJtaXRDaGFuZ2VzJCwgcmVhY3RpdmVTdWJtaXRDaGFuZ2VzJCwgcmVzZXRDaGFuZ2VzJCkucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1EaXJlY3RpdmU/Lm5nU3VibWl0Py5lbWl0KCk7XG4gICAgfVxuXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQ/LnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvc3Q/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFjdGl2ZVN1Ym1pdENoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZm9ybURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1EaXJlY3RpdmUubmdTdWJtaXQucGlwZShcbiAgICAgICAgICAgIG1hcFRvKHRydWUpXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -0,0 +1,136 @@
1
+ import { Directive, Host, HostBinding, Input, Optional, Self } from '@angular/core';
2
+ import { coerceBooleanProperty } from '@bravobit/bb-foundation';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "../form-control/form-control.component";
6
+ export class BbSelect {
7
+ constructor(_elementRef, _ngControl, _formControl) {
8
+ this._elementRef = _elementRef;
9
+ this._ngControl = _ngControl;
10
+ this._formControl = _formControl;
11
+ this.hasArrow = true;
12
+ this._disabled = false;
13
+ this._required = false;
14
+ }
15
+ ngOnInit() {
16
+ // Set an arrow on the form control if
17
+ // it requires one.
18
+ this._formControl.arrow = this.hasArrow;
19
+ }
20
+ ngDoCheck() {
21
+ if (this._ngControl) {
22
+ this.disabled = this._ngControl.disabled;
23
+ }
24
+ }
25
+ ngOnDestroy() {
26
+ this._subscription?.unsubscribe();
27
+ }
28
+ focus() {
29
+ return this._elementRef?.nativeElement?.focus();
30
+ }
31
+ setFocus(hasFocus) {
32
+ if (!this._formControl) {
33
+ return;
34
+ }
35
+ this._formControl.focused = hasFocus;
36
+ }
37
+ get id() {
38
+ return this._formControl?.labelId ?? null;
39
+ }
40
+ get disabled() {
41
+ if (this._ngControl && this._ngControl.disabled !== null) {
42
+ return this._ngControl.disabled;
43
+ }
44
+ return this._disabled;
45
+ }
46
+ set disabled(newValue) {
47
+ this._disabled = coerceBooleanProperty(newValue);
48
+ if (!this._formControl) {
49
+ return;
50
+ }
51
+ this._formControl.disabled = this._disabled;
52
+ }
53
+ get required() {
54
+ return this._required;
55
+ }
56
+ set required(newValue) {
57
+ this._required = coerceBooleanProperty(newValue);
58
+ if (!this._formControl) {
59
+ return;
60
+ }
61
+ this._formControl.required = this._required;
62
+ }
63
+ }
64
+ BbSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbSelect, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
65
+ BbSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbSelect, selector: "select[bbInput]", inputs: { disabled: "disabled", required: "required" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "attr.id": "this.id" } }, ngImport: i0 });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbSelect, decorators: [{
67
+ type: Directive,
68
+ args: [{
69
+ selector: 'select[bbInput]',
70
+ host: {
71
+ '[disabled]': 'disabled',
72
+ '(focus)': 'setFocus(true)',
73
+ '(blur)': 'setFocus(false)'
74
+ }
75
+ }]
76
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
77
+ type: Optional
78
+ }, {
79
+ type: Self
80
+ }] }, { type: i2.BbFormControl, decorators: [{
81
+ type: Optional
82
+ }, {
83
+ type: Host
84
+ }] }]; }, propDecorators: { id: [{
85
+ type: HostBinding,
86
+ args: ['attr.id']
87
+ }], disabled: [{
88
+ type: Input
89
+ }], required: [{
90
+ type: Input
91
+ }] } });
92
+ export class BbInput extends BbSelect {
93
+ constructor(_elementRef, _ngControl, _formControl) {
94
+ super(_elementRef, _ngControl, _formControl);
95
+ this._elementRef = _elementRef;
96
+ this._ngControl = _ngControl;
97
+ this._formControl = _formControl;
98
+ this.hasArrow = false;
99
+ this._readonly = false;
100
+ }
101
+ get readonly() {
102
+ return this._readonly;
103
+ }
104
+ set readonly(newValue) {
105
+ this._readonly = coerceBooleanProperty(newValue);
106
+ if (!this._formControl) {
107
+ return;
108
+ }
109
+ this._formControl.readonly = this._readonly;
110
+ }
111
+ }
112
+ BbInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
113
+ BbInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: { readonly: "readonly" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "readonly": "readonly" } }, usesInheritance: true, ngImport: i0 });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbInput, decorators: [{
115
+ type: Directive,
116
+ args: [{
117
+ selector: 'input[bbInput], textarea[bbInput]',
118
+ host: {
119
+ '[disabled]': 'disabled',
120
+ '[readonly]': 'readonly',
121
+ '(focus)': 'setFocus(true)',
122
+ '(blur)': 'setFocus(false)'
123
+ }
124
+ }]
125
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
126
+ type: Optional
127
+ }, {
128
+ type: Self
129
+ }] }, { type: i2.BbFormControl, decorators: [{
130
+ type: Optional
131
+ }, {
132
+ type: Host
133
+ }] }]; }, propDecorators: { readonly: [{
134
+ type: Input
135
+ }] } });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVk5RCxNQUFNLE9BQU8sUUFBUTtJQU1qQixZQUFzQixXQUF1QixFQUNILFVBQXFCLEVBQ3JCLFlBQTJCO1FBRi9DLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQU4zRCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBNkQzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBaUJsQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBdkUxQixDQUFDO0lBRUQsUUFBUTtRQUNKLHNDQUFzQztRQUN0QyxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNwRCxD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QixTQUFTLEVBQUUsZ0JBQWdCO3dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO3FCQUM5QjtpQkFDSjs7MEJBTWdCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzRDQVN6QixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4uL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3NlbGVjdFtiYklucHV0XScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICcoZm9jdXMpJzogJ3NldEZvY3VzKHRydWUpJyxcbiAgICAgICAgJyhibHVyKSc6ICdzZXRGb2N1cyhmYWxzZSknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYlNlbGVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBoYXNBcnJvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgX2Zvcm1Db250cm9sOiBCYkZvcm1Db250cm9sKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFNldCBhbiBhcnJvdyBvbiB0aGUgZm9ybSBjb250cm9sIGlmXG4gICAgICAgIC8vIGl0IHJlcXVpcmVzIG9uZS5cbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuYXJyb3cgPSB0aGlzLmhhc0Fycm93O1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIHNldEZvY3VzKGhhc0ZvY3VzOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5fZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmZvY3VzZWQgPSBoYXNGb2N1cztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db250cm9sPy5sYWJlbElkID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICBpZiAodGhpcy5fbmdDb250cm9sICYmIHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZWQgPSB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVxdWlyZWQobmV3VmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkobmV3VmFsdWUpO1xuXG4gICAgICAgIGlmICghdGhpcy5fZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnJlcXVpcmVkID0gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcblxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2JiSW5wdXRdLCB0ZXh0YXJlYVtiYklucHV0XScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbcmVhZG9ubHldJzogJ3JlYWRvbmx5JyxcbiAgICAgICAgJyhmb2N1cyknOiAnc2V0Rm9jdXModHJ1ZSknLFxuICAgICAgICAnKGJsdXIpJzogJ3NldEZvY3VzKGZhbHNlKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJiSW5wdXQgZXh0ZW5kcyBCYlNlbGVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFzQXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVycmlkZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBvdmVycmlkZSBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2Zvcm1Db250cm9sOiBCYkZvcm1Db250cm9sKSB7XG4gICAgICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfbmdDb250cm9sLCBfZm9ybUNvbnRyb2wpO1xuICAgIH1cblxuICAgIGdldCByZWFkb25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlYWRvbmx5KG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG5ld1ZhbHVlKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5yZWFkb25seSA9IHRoaXMuX3JlYWRvbmx5O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbn1cbiJdfQ==
@@ -15,9 +15,9 @@ export class BbTemplate {
15
15
  this._viewContainerRef.createEmbeddedView(template);
16
16
  }
17
17
  }
18
- BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
19
- BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.11", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: BbTemplate, decorators: [{
18
+ BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
19
+ BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbTemplate, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[bbTemplate]'
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImpo
25
25
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { bbTemplate: [{
26
26
  type: Input
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxlQUFlLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxVQUFVO0lBYW5CLFlBQW9CLFlBQThCLEVBQzlCLGlCQUFtQztRQURuQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUN2RCxDQUFDO0lBYkQsSUFBYSxVQUFVLENBQUMsT0FBa0M7UUFDdEQsb0JBQW9CO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLE9BQU8sWUFBWSxXQUFXO1lBQzNDLENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFeEIsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7d0dBWFEsVUFBVTs0RkFBVixVQUFVOzRGQUFWLFVBQVU7a0JBSHRCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCO2lJQUdnQixVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiVGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBCYlRlbXBsYXRlIHtcblxuICAgIEBJbnB1dCgpIHNldCBiYlRlbXBsYXRlKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgLy8gR2V0IHRoZSB0ZW1wbGF0ZS5cbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWZcbiAgICAgICAgICAgID8gY29udGVudFxuICAgICAgICAgICAgOiB0aGlzLl90ZW1wbGF0ZVJlZjtcblxuICAgICAgICAvLyBDbGVhciB0aGUgdmlldyBjb250YWluZXIgcmVmIGFuZCBjcmVhdGUgdGhlIHZpZXcuXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB9XG5cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxlQUFlLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxVQUFVO0lBYW5CLFlBQW9CLFlBQThCLEVBQzlCLGlCQUFtQztRQURuQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUN2RCxDQUFDO0lBYkQsSUFBYSxVQUFVLENBQUMsT0FBa0M7UUFDdEQsb0JBQW9CO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLE9BQU8sWUFBWSxXQUFXO1lBQzNDLENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFeEIsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7dUdBWFEsVUFBVTsyRkFBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCO2lJQUdnQixVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiVGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBCYlRlbXBsYXRlIHtcblxuICAgIEBJbnB1dCgpIHNldCBiYlRlbXBsYXRlKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgLy8gR2V0IHRoZSB0ZW1wbGF0ZS5cbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWZcbiAgICAgICAgICAgID8gY29udGVudFxuICAgICAgICAgICAgOiB0aGlzLl90ZW1wbGF0ZVJlZjtcblxuICAgICAgICAvLyBDbGVhciB0aGUgdmlldyBjb250YWluZXIgcmVmIGFuZCBjcmVhdGUgdGhlIHZpZXcuXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,100 @@
1
+ import { ChangeDetectionStrategy, Component, Directive, Host, HostListener, Input, Optional, ViewEncapsulation } from '@angular/core';
2
+ import { animate, style, transition, trigger } from '@angular/animations';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class BbDropdown {
7
+ constructor(_elementRef) {
8
+ this._elementRef = _elementRef;
9
+ // State.
10
+ this.visible$ = new BehaviorSubject(false);
11
+ }
12
+ toggle() {
13
+ return this.visible$.next(!this.visible$.getValue());
14
+ }
15
+ close() {
16
+ return this.visible$.next(false);
17
+ }
18
+ onDocumentClick(target) {
19
+ if (!target) {
20
+ return;
21
+ }
22
+ if (this._elementRef?.nativeElement?.contains(target)) {
23
+ return;
24
+ }
25
+ return this.close();
26
+ }
27
+ }
28
+ BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [
30
+ trigger('dropdownMenuAnimation', [
31
+ transition(':enter', [
32
+ // 1. Set the initial state.
33
+ style({ opacity: 0, transform: 'scale(0.9)' }),
34
+ // 2. Start the animation to show the item.
35
+ animate('80ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 1, transform: 'scale(1)' }))
36
+ ]),
37
+ transition(':leave', [
38
+ // 1. Set the initial state.
39
+ style({ opacity: 1, transform: 'scale(1)' }),
40
+ // 2. Start the animation to hide the item.
41
+ animate('80ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 0, transform: 'scale(0.9)' }))
42
+ ])
43
+ ])
44
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdown, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'bb-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dropdown' }, preserveWhitespaces: false, animations: [
48
+ trigger('dropdownMenuAnimation', [
49
+ transition(':enter', [
50
+ // 1. Set the initial state.
51
+ style({ opacity: 0, transform: 'scale(0.9)' }),
52
+ // 2. Start the animation to show the item.
53
+ animate('80ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 1, transform: 'scale(1)' }))
54
+ ]),
55
+ transition(':leave', [
56
+ // 1. Set the initial state.
57
+ style({ opacity: 1, transform: 'scale(1)' }),
58
+ // 2. Start the animation to hide the item.
59
+ animate('80ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 0, transform: 'scale(0.9)' }))
60
+ ])
61
+ ])
62
+ ], template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"] }]
63
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onDocumentClick: [{
64
+ type: HostListener,
65
+ args: ['document:click', ['$event.target']]
66
+ }] } });
67
+ export class BbDropdownItem {
68
+ constructor(_parent) {
69
+ this._parent = _parent;
70
+ // Inputs.
71
+ this.closeOnClick = true;
72
+ }
73
+ onClick() {
74
+ if (!this.closeOnClick) {
75
+ return;
76
+ }
77
+ this._parent?.close();
78
+ }
79
+ }
80
+ BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
81
+ BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdownItem, decorators: [{
83
+ type: Directive,
84
+ args: [{
85
+ selector: '[bbDropdownItem]',
86
+ host: {
87
+ 'class': 'bb-dropdown-item'
88
+ }
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: BbDropdown, decorators: [{
91
+ type: Optional
92
+ }, {
93
+ type: Host
94
+ }] }]; }, propDecorators: { closeOnClick: [{
95
+ type: Input
96
+ }], onClick: [{
97
+ type: HostListener,
98
+ args: ['click']
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBRVQsSUFBSSxFQUNKLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBNEJyQyxNQUFNLE9BQU8sVUFBVTtJQUtuQixZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUgzQyxTQUFTO1FBQ1QsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRy9DLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUdELGVBQWUsQ0FBQyxNQUFtQjtRQUMvQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBRUQsSUFBSSxJ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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeydjbGFzcyc6ICdiYi1kcm9wZG93bid9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZHJvcGRvd25NZW51QW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIC8vIDEuIFNldCB0aGUgaW5pdGlhbCBzdGF0ZS5cbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGUoMC45KSd9KSxcbiAgICAgICAgICAgICAgICAvLyAyLiBTdGFydCB0aGUgYW5pbWF0aW9uIHRvIHNob3cgdGhlIGl0ZW0uXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnODBtcyBjdWJpYy1iZXppZXIoMCwgMCwgLjIsIDEpJywgc3R5bGUoe29wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEpJ30pKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgLy8gMS4gU2V0IHRoZSBpbml0aWFsIHN0YXRlLlxuICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSxcbiAgICAgICAgICAgICAgICAvLyAyLiBTdGFydCB0aGUgYW5pbWF0aW9uIHRvIGhpZGUgdGhlIGl0ZW0uXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnODBtcyBjdWJpYy1iZXppZXIoMCwgMCwgLjIsIDEpJywgc3R5bGUoe29wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3NjYWxlKDAuOSknfSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cblxufSlcbmV4cG9ydCBjbGFzcyBCYkRyb3Bkb3duIHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlJC5uZXh0KCF0aGlzLnZpc2libGUkLmdldFZhbHVlKCkpO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlJC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uRG9jdW1lbnRDbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJEcm9wZG93bkl0ZW1dJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kcm9wZG93bi1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmJEcm9wZG93bkl0ZW0ge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGNsb3NlT25DbGljazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX3BhcmVudD86IEJiRHJvcGRvd24pIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNsb3NlT25DbGljaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcGFyZW50Py5jbG9zZSgpO1xuICAgIH1cblxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgICBbY2xhc3Mub3BlbmVkXT1cInZpc2libGUkIHwgYXN5bmNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG5cbjxkaXYgKm5nSWY9XCJ2aXNpYmxlJCB8IGFzeW5jXCJcbiAgICAgW0Bkcm9wZG93bk1lbnVBbmltYXRpb25dPVwidHJ1ZVwiXG4gICAgIGNsYXNzPVwiYmItZHJvcGRvd24tbWVudVwiXG4gICAgIHJvbGU9XCJsaXN0XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JiRHJvcGRvd25JdGVtXSwgaHJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -70,8 +70,8 @@ export class ElementsModule {
70
70
  };
71
71
  }
72
72
  }
73
- ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
74
- ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: ElementsModule, declarations: [
73
+ ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
74
+ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, declarations: [
75
75
  // Directives.
76
76
  BbTemplate,
77
77
  BbFormError,
@@ -132,8 +132,8 @@ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
132
132
  BbFilePicker,
133
133
  BbImagePicker,
134
134
  BbDatePicker] });
135
- ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: ElementsModule, imports: [[CommonModule, ReactiveFormsModule, LocalizeModule]] });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: ElementsModule, decorators: [{
135
+ ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, imports: [[CommonModule, ReactiveFormsModule, LocalizeModule]] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, decorators: [{
137
137
  type: NgModule,
138
138
  args: [{
139
139
  imports: [CommonModule, ReactiveFormsModule, LocalizeModule],
@@ -174,4 +174,4 @@ export function getErrors() {
174
174
  };
175
175
  return data;
176
176
  }
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxD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QUM7UUFDakUsV0FBVyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBQyxDQUFDO1FBQ3pGLE9BQU8sRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlDQUFpQztRQUNwRCxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMscUNBQXFDO1FBQzVELFNBQVMsRUFBRSxDQUFDLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQztTQUN2QyxDQUFDO1FBQ0YsU0FBUyxFQUFFLENBQUMsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxJQUFJLEVBQUUsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDO1NBQ3ZDLENBQUM7S0FDTCxDQUFDO0lBRUYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmJEcm9wZG93biwgQmJEcm9wZG93bkl0ZW19IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7RUxFTUVOVFNfRVJST1JTLCBFTEVNRU5UU19JQ09OU30gZnJvbSAnLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QmJJbWFnZVBpY2tlcn0gZnJvbSAnLi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZpbGVQaWNrZXJ9IGZyb20gJy4vZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJEYXRlUGlja2VyfSBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvY2FsaXplTW9kdWxlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge0JiUHJlZml4LCBCYlN1ZmZpeH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiSW5wdXQsIEJiU2VsZWN0fSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGb3JtR3JvdXB9IGZyb20gJy4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUVycm9yfSBmcm9tICcuL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzVHJhcH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLXRyYXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlRlbXBsYXRlfSBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBdXRvc2l6ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG9zaXplLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiUmVsYXRpdmVUaW1lfSBmcm9tICcuL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZSc7XG5pbXBvcnQge0JiQ2hlY2tib3h9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7QmJTcGlubmVyfSBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGaWxlSW1hZ2V9IGZyb20gJy4vcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiSWNvbn0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7QmJUYWd9IGZyb20gJy4vdGFnL3RhZy5jb21wb25lbnQnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICAvLyBEaXJlY3RpdmVzLlxuICAgIEJiVGVtcGxhdGUsXG4gICAgQmJGb3JtRXJyb3IsXG4gICAgQmJGb3JtU3VibWl0LFxuICAgIEJiSW5wdXQsXG4gICAgQmJTZWxlY3QsXG4gICAgQmJGb2N1cyxcbiAgICBCYkZvY3VzVHJhcCxcbiAgICBCYkF1dG9zaXplLFxuICAgIEJiUHJlZml4LFxuICAgIEJiU3VmZml4LFxuICAgIC8vIFBpcGVzLlxuICAgIEJiRmlsZVNpemUsXG4gICAgQmJGaWxlSW1hZ2UsXG4gICAgQmJSZWxhdGl2ZVRpbWUsXG4gICAgLy8gQ29tcG9uZW50cy5cbiAgICBCYkJ1dHRvbixcbiAgICBCYkFuY2hvcixcbiAgICBCYlNwaW5uZXIsXG4gICAgQmJJY29uLFxuICAgIEJiRm9ybUNvbnRyb2wsXG4gICAgQmJGb3JtR3JvdXAsXG4gICAgQmJDaGVja2JveCxcbiAgICBCYkRyb3Bkb3duLFxuICAgIEJiRHJvcGRvd25JdGVtLFxuICAgIEJiVGFnLFxuICAgIEJiQXZhdGFyLFxuICAgIEJiRmlsZVBpY2tlcixcbiAgICBCYkltYWdlUGlja2VyLFxuICAgIEJiRGF0ZVBpY2tlclxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBMb2NhbGl6ZU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU11cbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudHNNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbGVtZW50c01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEVsZW1lbnRzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge3Byb3ZpZGU6IEVMRU1FTlRTX0VSUk9SUywgdXNlRmFjdG9yeTogZ2V0RXJyb3JzLCBtdWx0aTogdHJ1ZX0sXG4gICAgICAgICAgICAgICAgRUxFTUVOVFNfTUFURVJJQUxfSUNPTlxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxufVxuXG5leHBvcnQgY29uc3QgRUxFTUVOVFNfTUFURVJJQUxfSUNPTiA9IHtcbiAgICBwcm92aWRlOiBFTEVNRU5UU19JQ09OUyxcbiAgICB1c2VWYWx1ZToge25hbWVzcGFjZTogJ21hdGVyaWFsJywgY2xhc3NOYW1lOiAnbWF0ZXJpYWwtaWNvbnMnLCB1c2VzOiAnY29udGVudCcsIHR5cGU6ICdmb250J30sXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcnMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgdW5rbm93bjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMudW5rbm93bicsXG4gICAgICAgIHJlcXVpcmVkOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5yZXF1aXJlZCcsXG4gICAgICAgIHBhdHRlcm46ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnBhdHRlcm4nLFxuICAgICAgICBlbWFpbDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZW1haWwnLFxuICAgICAgICBlbWFpbFRha2VuOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5lbWFpbFRha2VuJyxcbiAgICAgICAgcGFzc3dvcmRNYXRjaDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMucGFzc3dvcmRNYXRjaCcsXG4gICAgICAgIGNvbmZpcm06ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmNvbmZpcm0nLFxuICAgICAgICBmdWxsTnVtYmVyOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5mdWxsTnVtYmVyJyxcbiAgICAgICAgbWluOiAoe21pbn0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbicsIGRhdGE6IHttaW59fSksXG4gICAgICAgIG1heDogKHttYXh9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXgnLCBkYXRhOiB7bWF4fX0pLFxuICAgICAgICBtYXhGaWxlU2l6ZTogKHttYXhTaXplfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4RmlsZVNpemUnLCBkYXRhOiB7bWF4U2l6ZX19KSxcbiAgICAgICAgbWluRGF0ZTogKHtkYXRlfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWluRGF0ZScsIGRhdGE6IHtkYXRlfX0pLFxuICAgICAgICBtYXhEYXRlOiAoe2RhdGV9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhEYXRlJywgZGF0YToge2RhdGV9fSksXG4gICAgICAgIGludmFsaWREYXRlOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5pbnZhbGlkRGF0ZScsXG4gICAgICAgIGludmFsaWRGaWxlVHlwZTogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuaW52YWxpZEZpbGVUeXBlJyxcbiAgICAgICAgbWlubGVuZ3RoOiAoe3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9KSA9PiAoe1xuICAgICAgICAgICAgdG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbmxlbmd0aCcsXG4gICAgICAgICAgICBkYXRhOiB7cmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aH1cbiAgICAgICAgfSksXG4gICAgICAgIG1heGxlbmd0aDogKHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofSkgPT4gKHtcbiAgICAgICAgICAgIHRva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhsZW5ndGgnLFxuICAgICAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgICAgIH0pXG4gICAgfTtcblxuICAgIHJldHVybiBkYXRhO1xufVxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxD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QUM7UUFDakUsV0FBVyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBQyxDQUFDO1FBQ3pGLE9BQU8sRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlDQUFpQztRQUNwRCxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMscUNBQXFDO1FBQzVELFNBQVMsRUFBRSxDQUFDLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQztTQUN2QyxDQUFDO1FBQ0YsU0FBUyxFQUFFLENBQUMsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxJQUFJLEVBQUUsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDO1NBQ3ZDLENBQUM7S0FDTCxDQUFDO0lBRUYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmJEcm9wZG93biwgQmJEcm9wZG93bkl0ZW19IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7RUxFTUVOVFNfRVJST1JTLCBFTEVNRU5UU19JQ09OU30gZnJvbSAnLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QmJJbWFnZVBpY2tlcn0gZnJvbSAnLi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZpbGVQaWNrZXJ9IGZyb20gJy4vZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJEYXRlUGlja2VyfSBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvY2FsaXplTW9kdWxlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge0JiUHJlZml4LCBCYlN1ZmZpeH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiSW5wdXQsIEJiU2VsZWN0fSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGb3JtR3JvdXB9IGZyb20gJy4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUVycm9yfSBmcm9tICcuL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzVHJhcH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLXRyYXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlRlbXBsYXRlfSBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBdXRvc2l6ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG9zaXplLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiUmVsYXRpdmVUaW1lfSBmcm9tICcuL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZSc7XG5pbXBvcnQge0JiQ2hlY2tib3h9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7QmJTcGlubmVyfSBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGaWxlSW1hZ2V9IGZyb20gJy4vcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiSWNvbn0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7QmJUYWd9IGZyb20gJy4vdGFnL3RhZy5jb21wb25lbnQnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICAvLyBEaXJlY3RpdmVzLlxuICAgIEJiVGVtcGxhdGUsXG4gICAgQmJGb3JtRXJyb3IsXG4gICAgQmJGb3JtU3VibWl0LFxuICAgIEJiSW5wdXQsXG4gICAgQmJTZWxlY3QsXG4gICAgQmJGb2N1cyxcbiAgICBCYkZvY3VzVHJhcCxcbiAgICBCYkF1dG9zaXplLFxuICAgIEJiUHJlZml4LFxuICAgIEJiU3VmZml4LFxuICAgIC8vIFBpcGVzLlxuICAgIEJiRmlsZVNpemUsXG4gICAgQmJGaWxlSW1hZ2UsXG4gICAgQmJSZWxhdGl2ZVRpbWUsXG4gICAgLy8gQ29tcG9uZW50cy5cbiAgICBCYkJ1dHRvbixcbiAgICBCYkFuY2hvcixcbiAgICBCYlNwaW5uZXIsXG4gICAgQmJJY29uLFxuICAgIEJiRm9ybUNvbnRyb2wsXG4gICAgQmJGb3JtR3JvdXAsXG4gICAgQmJDaGVja2JveCxcbiAgICBCYkRyb3Bkb3duLFxuICAgIEJiRHJvcGRvd25JdGVtLFxuICAgIEJiVGFnLFxuICAgIEJiQXZhdGFyLFxuICAgIEJiRmlsZVBpY2tlcixcbiAgICBCYkltYWdlUGlja2VyLFxuICAgIEJiRGF0ZVBpY2tlclxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBMb2NhbGl6ZU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU11cbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudHNNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbGVtZW50c01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEVsZW1lbnRzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge3Byb3ZpZGU6IEVMRU1FTlRTX0VSUk9SUywgdXNlRmFjdG9yeTogZ2V0RXJyb3JzLCBtdWx0aTogdHJ1ZX0sXG4gICAgICAgICAgICAgICAgRUxFTUVOVFNfTUFURVJJQUxfSUNPTlxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxufVxuXG5leHBvcnQgY29uc3QgRUxFTUVOVFNfTUFURVJJQUxfSUNPTiA9IHtcbiAgICBwcm92aWRlOiBFTEVNRU5UU19JQ09OUyxcbiAgICB1c2VWYWx1ZToge25hbWVzcGFjZTogJ21hdGVyaWFsJywgY2xhc3NOYW1lOiAnbWF0ZXJpYWwtaWNvbnMnLCB1c2VzOiAnY29udGVudCcsIHR5cGU6ICdmb250J30sXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcnMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgdW5rbm93bjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMudW5rbm93bicsXG4gICAgICAgIHJlcXVpcmVkOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5yZXF1aXJlZCcsXG4gICAgICAgIHBhdHRlcm46ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnBhdHRlcm4nLFxuICAgICAgICBlbWFpbDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZW1haWwnLFxuICAgICAgICBlbWFpbFRha2VuOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5lbWFpbFRha2VuJyxcbiAgICAgICAgcGFzc3dvcmRNYXRjaDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMucGFzc3dvcmRNYXRjaCcsXG4gICAgICAgIGNvbmZpcm06ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmNvbmZpcm0nLFxuICAgICAgICBmdWxsTnVtYmVyOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5mdWxsTnVtYmVyJyxcbiAgICAgICAgbWluOiAoe21pbn0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbicsIGRhdGE6IHttaW59fSksXG4gICAgICAgIG1heDogKHttYXh9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXgnLCBkYXRhOiB7bWF4fX0pLFxuICAgICAgICBtYXhGaWxlU2l6ZTogKHttYXhTaXplfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4RmlsZVNpemUnLCBkYXRhOiB7bWF4U2l6ZX19KSxcbiAgICAgICAgbWluRGF0ZTogKHtkYXRlfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWluRGF0ZScsIGRhdGE6IHtkYXRlfX0pLFxuICAgICAgICBtYXhEYXRlOiAoe2RhdGV9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhEYXRlJywgZGF0YToge2RhdGV9fSksXG4gICAgICAgIGludmFsaWREYXRlOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5pbnZhbGlkRGF0ZScsXG4gICAgICAgIGludmFsaWRGaWxlVHlwZTogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuaW52YWxpZEZpbGVUeXBlJyxcbiAgICAgICAgbWlubGVuZ3RoOiAoe3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9KSA9PiAoe1xuICAgICAgICAgICAgdG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbmxlbmd0aCcsXG4gICAgICAgICAgICBkYXRhOiB7cmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aH1cbiAgICAgICAgfSksXG4gICAgICAgIG1heGxlbmd0aDogKHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofSkgPT4gKHtcbiAgICAgICAgICAgIHRva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhsZW5ndGgnLFxuICAgICAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgICAgIH0pXG4gICAgfTtcblxuICAgIHJldHVybiBkYXRhO1xufVxuIl19