@bravobit/bb-foundation 0.45.3 → 0.50.0

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 (306) hide show
  1. package/auth/lib/auth.config.d.ts +0 -2
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  4. package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
  5. package/collections/lib/directives/collections-data.directive.d.ts +1 -1
  6. package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
  7. package/collections/lib/directives/collections-error.directive.d.ts +1 -1
  8. package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
  9. package/collections/lib/directives/collections-item.directive.d.ts +1 -1
  10. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
  11. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
  12. package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
  13. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  14. package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
  15. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  16. package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
  17. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  18. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
  19. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  20. package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
  21. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  22. package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
  23. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  24. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  25. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  26. package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
  27. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  28. package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
  29. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  30. package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
  31. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  32. package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
  33. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  34. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
  35. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  36. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  37. package/fesm2022/bravobit-bb-foundation-select.mjs +33 -36
  38. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  39. package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
  40. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  41. package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
  42. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  43. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
  44. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  45. package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
  46. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  47. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  48. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  49. package/localize/lib/localize.config.d.ts +0 -1
  50. package/localize/lib/localize.service.d.ts +1 -1
  51. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  52. package/masking/lib/masking.service.d.ts +2 -2
  53. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
  54. package/package.json +7 -45
  55. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  56. package/select/lib/select/select.component.d.ts +1 -0
  57. package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
  58. package/table/lib/components/table/table.component.d.ts +2 -2
  59. package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
  60. package/esm2022/auth/lib/auth.config.mjs +0 -16
  61. package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
  62. package/esm2022/auth/lib/auth.module.mjs +0 -25
  63. package/esm2022/auth/lib/auth.service.mjs +0 -261
  64. package/esm2022/auth/lib/auth.session.mjs +0 -142
  65. package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
  66. package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
  67. package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
  68. package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
  69. package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
  70. package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
  71. package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
  72. package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
  73. package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
  74. package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
  75. package/esm2022/auth/public_api.mjs +0 -15
  76. package/esm2022/bravobit-bb-foundation.mjs +0 -5
  77. package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
  78. package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
  79. package/esm2022/collections/lib/collection.mjs +0 -98
  80. package/esm2022/collections/lib/collections.module.mjs +0 -84
  81. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
  82. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
  83. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
  84. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
  85. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
  86. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
  87. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
  88. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
  89. package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
  90. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
  91. package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
  92. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
  93. package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
  94. package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
  95. package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
  96. package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
  97. package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
  98. package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
  99. package/esm2022/collections/public_api.mjs +0 -22
  100. package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
  101. package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
  102. package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
  103. package/esm2022/combobox/combobox-label.directive.mjs +0 -14
  104. package/esm2022/combobox/combobox-option.directive.mjs +0 -17
  105. package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
  106. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
  107. package/esm2022/combobox/combobox.interface.mjs +0 -2
  108. package/esm2022/combobox/public_api.mjs +0 -4
  109. package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
  110. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
  111. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
  112. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
  113. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
  114. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  115. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
  116. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
  117. package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
  118. package/esm2022/dashboard/public_api.mjs +0 -9
  119. package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
  120. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  121. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
  122. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
  123. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
  124. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  125. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
  126. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
  127. package/esm2022/dialog/lib/dialog.config.mjs +0 -8
  128. package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
  129. package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
  130. package/esm2022/dialog/lib/dialog.module.mjs +0 -64
  131. package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
  132. package/esm2022/dialog/lib/dialog.service.mjs +0 -75
  133. package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
  134. package/esm2022/dialog/public_api.mjs +0 -12
  135. package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
  136. package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
  137. package/esm2022/elements/lib/button/button.component.mjs +0 -68
  138. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
  139. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
  140. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
  141. package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
  142. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
  143. package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
  144. package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
  145. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
  146. package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
  147. package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
  148. package/esm2022/elements/lib/elements.config.mjs +0 -54
  149. package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
  150. package/esm2022/elements/lib/elements.module.mjs +0 -146
  151. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
  152. package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
  153. package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
  154. package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
  155. package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
  156. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
  157. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
  158. package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
  159. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
  160. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
  161. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
  162. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
  163. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
  164. package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
  165. package/esm2022/elements/public_api.mjs +0 -30
  166. package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
  167. package/esm2022/http/lib/classes/http.config.mjs +0 -32
  168. package/esm2022/http/lib/classes/http.error.mjs +0 -20
  169. package/esm2022/http/lib/http.config.mjs +0 -18
  170. package/esm2022/http/lib/http.interfaces.mjs +0 -4
  171. package/esm2022/http/lib/http.module.mjs +0 -31
  172. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
  173. package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
  174. package/esm2022/http/public_api.mjs +0 -8
  175. package/esm2022/lib/core/functions/array.utils.mjs +0 -7
  176. package/esm2022/lib/core/functions/date.utils.mjs +0 -31
  177. package/esm2022/lib/core/functions/password.utils.mjs +0 -17
  178. package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
  179. package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
  180. package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
  181. package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
  182. package/esm2022/lib/core/services/exif.service.mjs +0 -165
  183. package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
  184. package/esm2022/lib/core/services/files.service.mjs +0 -78
  185. package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
  186. package/esm2022/lib/core/services/languages.service.mjs +0 -75
  187. package/esm2022/lib/core/services/network.service.mjs +0 -58
  188. package/esm2022/lib/core/services/patch.service.mjs +0 -66
  189. package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
  190. package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
  191. package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
  192. package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
  193. package/esm2022/lib/core/tokens/location.token.mjs +0 -6
  194. package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
  195. package/esm2022/lib/core/tokens/window.token.mjs +0 -12
  196. package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
  197. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
  198. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
  199. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
  200. package/esm2022/localize/lib/functions/date.function.mjs +0 -18
  201. package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
  202. package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
  203. package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
  204. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
  205. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
  206. package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
  207. package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
  208. package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
  209. package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
  210. package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
  211. package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
  212. package/esm2022/localize/lib/localize.config.mjs +0 -43
  213. package/esm2022/localize/lib/localize.module.mjs +0 -39
  214. package/esm2022/localize/lib/localize.pipe.mjs +0 -48
  215. package/esm2022/localize/lib/localize.service.mjs +0 -172
  216. package/esm2022/localize/lib/localize.tokens.mjs +0 -18
  217. package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
  218. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
  219. package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
  220. package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
  221. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
  222. package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
  223. package/esm2022/localize/public_api.mjs +0 -27
  224. package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
  225. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
  226. package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
  227. package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
  228. package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
  229. package/esm2022/masking/lib/masking.module.mjs +0 -30
  230. package/esm2022/masking/lib/masking.service.mjs +0 -104
  231. package/esm2022/masking/public_api.mjs +0 -7
  232. package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
  233. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
  234. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
  235. package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
  236. package/esm2022/notifications/lib/notifications.config.mjs +0 -8
  237. package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
  238. package/esm2022/notifications/lib/notifications.module.mjs +0 -20
  239. package/esm2022/notifications/lib/notifications.service.mjs +0 -161
  240. package/esm2022/notifications/public_api.mjs +0 -5
  241. package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
  242. package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
  243. package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
  244. package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
  245. package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
  246. package/esm2022/permissions/lib/permissions.config.mjs +0 -20
  247. package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
  248. package/esm2022/permissions/lib/permissions.module.mjs +0 -25
  249. package/esm2022/permissions/lib/permissions.service.mjs +0 -100
  250. package/esm2022/permissions/public_api.mjs +0 -9
  251. package/esm2022/public_api.mjs +0 -25
  252. package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
  253. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
  254. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
  255. package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
  256. package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
  257. package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
  258. package/esm2022/recaptcha/public_api.mjs +0 -6
  259. package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
  260. package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
  261. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
  262. package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
  263. package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
  264. package/esm2022/rxjs/public_api.mjs +0 -5
  265. package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
  266. package/esm2022/select/lib/select/select.component.mjs +0 -288
  267. package/esm2022/select/lib/select-label.directive.mjs +0 -18
  268. package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
  269. package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
  270. package/esm2022/select/lib/select-option.directive.mjs +0 -18
  271. package/esm2022/select/lib/select.config.mjs +0 -8
  272. package/esm2022/select/lib/select.module.mjs +0 -46
  273. package/esm2022/select/public_api.mjs +0 -8
  274. package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
  275. package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
  276. package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
  277. package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
  278. package/esm2022/storage/lib/storage.service.mjs +0 -113
  279. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
  280. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
  281. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
  282. package/esm2022/storage/public_api.mjs +0 -8
  283. package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
  284. package/esm2022/table/lib/components/table/table.component.mjs +0 -200
  285. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  286. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
  287. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  288. package/esm2022/table/lib/data/datasource.data.mjs +0 -30
  289. package/esm2022/table/lib/data/generic.data.mjs +0 -84
  290. package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
  291. package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
  292. package/esm2022/table/lib/table.module.mjs +0 -44
  293. package/esm2022/table/public_api.mjs +0 -10
  294. package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
  295. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
  296. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
  297. package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
  298. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
  299. package/esm2022/tooltip/public_api.mjs +0 -5
  300. package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
  301. package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
  302. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
  303. package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
  304. package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
  305. package/esm2022/utils/lib/utils.module.mjs +0 -35
  306. package/esm2022/utils/public_api.mjs +0 -6
@@ -1,41 +0,0 @@
1
- import { Directive, Input, Self } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../masking.service";
4
- import * as i2 from "./input-mask.directive";
5
- export class BbCurrencyMask {
6
- _masking;
7
- _inputMask;
8
- // Inputs.
9
- currencyCode = null;
10
- options = null;
11
- constructor(_masking, _inputMask) {
12
- this._masking = _masking;
13
- this._inputMask = _inputMask;
14
- }
15
- ngOnChanges(changes) {
16
- const currencyCode = changes?.['currencyCode']?.currentValue ?? this.currencyCode ?? 'USD';
17
- const options = changes?.['options']?.currentValue ?? this.options ?? {};
18
- this._inputMask.mask = this._masking.currency(currencyCode, options);
19
- }
20
- // Required so that the template type checker can infer the type of the coerced inputs.
21
- static ngAcceptInputType_bbCurrencyMask;
22
- static ngAcceptInputType_bbCurrencyMaskOptions;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCurrencyMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCurrencyMask, isStandalone: true, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCurrencyMask, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: 'input[bbCurrencyMask]',
30
- standalone: true
31
- }]
32
- }], ctorParameters: () => [{ type: i1.Masking }, { type: i2.BbInputMask, decorators: [{
33
- type: Self
34
- }] }], propDecorators: { currencyCode: [{
35
- type: Input,
36
- args: ['bbCurrencyMask']
37
- }], options: [{
38
- type: Input,
39
- args: ['bbCurrencyMaskOptions']
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL21hc2tpbmcvc3JjL2xpYi9kaXJlY3RpdmVzL2N1cnJlbmN5LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFhLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7QUFTL0UsTUFBTSxPQUFPLGNBQWM7SUFNSDtJQUNRO0lBTDVCLFVBQVU7SUFDZSxZQUFZLEdBQWtCLElBQUksQ0FBQztJQUM1QixPQUFPLEdBQXdDLElBQUksQ0FBQztJQUVwRixZQUFvQixRQUFpQixFQUNULFVBQXVCO1FBRC9CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDVCxlQUFVLEdBQVYsVUFBVSxDQUFhO0lBQ25ELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQzNGLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUV6RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELHVGQUF1RjtJQUN2RixNQUFNLENBQUMsZ0NBQWdDLENBQTRCO0lBQ25FLE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBa0Q7d0dBbkJ2RixjQUFjOzRGQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFRZ0IsSUFBSTt5Q0FKUSxZQUFZO3NCQUFwQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTZWxmLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q3VycmVuY3lNYXNrT3B0aW9uc30gZnJvbSAnLi4vaW5wdXQtbWFzay5pbnRlcmZhY2UnO1xuaW1wb3J0IHtCYklucHV0TWFza30gZnJvbSAnLi9pbnB1dC1tYXNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hc2tpbmd9IGZyb20gJy4uL21hc2tpbmcuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbYmJDdXJyZW5jeU1hc2tdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiQ3VycmVuY3lNYXNrIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoJ2JiQ3VycmVuY3lNYXNrJykgY3VycmVuY3lDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoJ2JiQ3VycmVuY3lNYXNrT3B0aW9ucycpIG9wdGlvbnM6IFBhcnRpYWw8Q3VycmVuY3lNYXNrT3B0aW9ucz4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX21hc2tpbmc6IE1hc2tpbmcsXG4gICAgICAgICAgICAgICAgQFNlbGYoKSBwcml2YXRlIF9pbnB1dE1hc2s6IEJiSW5wdXRNYXNrKSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBjdXJyZW5jeUNvZGUgPSBjaGFuZ2VzPy5bJ2N1cnJlbmN5Q29kZSddPy5jdXJyZW50VmFsdWUgPz8gdGhpcy5jdXJyZW5jeUNvZGUgPz8gJ1VTRCc7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBjaGFuZ2VzPy5bJ29wdGlvbnMnXT8uY3VycmVudFZhbHVlID8/IHRoaXMub3B0aW9ucyA/PyB7fTtcblxuICAgICAgICB0aGlzLl9pbnB1dE1hc2subWFzayA9IHRoaXMuX21hc2tpbmcuY3VycmVuY3koY3VycmVuY3lDb2RlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBjb2VyY2VkIGlucHV0cy5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYmJDdXJyZW5jeU1hc2s6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiQ3VycmVuY3lNYXNrT3B0aW9uczogUGFydGlhbDxDdXJyZW5jeU1hc2tPcHRpb25zPiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbn1cbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { Directive, Input, Self } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../masking.service";
4
- import * as i2 from "./input-mask.directive";
5
- export class BbDateMask {
6
- _masking;
7
- _inputMask;
8
- // Inputs.
9
- format = null;
10
- separator = null;
11
- constructor(_masking, _inputMask) {
12
- this._masking = _masking;
13
- this._inputMask = _inputMask;
14
- }
15
- ngOnChanges(changes) {
16
- const format = changes?.['format']?.currentValue ?? this.format ?? null;
17
- const separator = changes?.['separator']?.currentValue ?? this.separator ?? '-';
18
- this._inputMask.mask = this._masking.date(format, separator);
19
- }
20
- // Required so that the template type checker can infer the type of the coerced inputs.
21
- static ngAcceptInputType_bbDateMask;
22
- static ngAcceptInputType_bbDateMaskSeparator;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDateMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbDateMask, isStandalone: true, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDateMask, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: 'input[bbDateMask]',
30
- standalone: true
31
- }]
32
- }], ctorParameters: () => [{ type: i1.Masking }, { type: i2.BbInputMask, decorators: [{
33
- type: Self
34
- }] }], propDecorators: { format: [{
35
- type: Input,
36
- args: ['bbDateMask']
37
- }], separator: [{
38
- type: Input,
39
- args: ['bbDateMaskSeparator']
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbWFza2luZy9zcmMvbGliL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBYSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUy9FLE1BQU0sT0FBTyxVQUFVO0lBTUM7SUFDUTtJQUw1QixVQUFVO0lBQ1csTUFBTSxHQUEwQixJQUFJLENBQUM7SUFDNUIsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFFOUQsWUFBb0IsUUFBaUIsRUFDVCxVQUF1QjtRQUQvQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ1QsZUFBVSxHQUFWLFVBQVUsQ0FBYTtJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQztRQUN4RSxNQUFNLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLDRCQUE0QixDQUFvQztJQUN2RSxNQUFNLENBQUMscUNBQXFDLENBQTRCO3dHQWxCL0QsVUFBVTs0RkFBVixVQUFVOzs0RkFBVixVQUFVO2tCQUp0QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBUWdCLElBQUk7eUNBSkksTUFBTTtzQkFBMUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNXLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNlbGYsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRlTWFza0Zvcm1hdH0gZnJvbSAnLi4vaW5wdXQtbWFzay5pbnRlcmZhY2UnO1xuaW1wb3J0IHtCYklucHV0TWFza30gZnJvbSAnLi9pbnB1dC1tYXNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hc2tpbmd9IGZyb20gJy4uL21hc2tpbmcuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbYmJEYXRlTWFza10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJEYXRlTWFzayBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCdiYkRhdGVNYXNrJykgZm9ybWF0OiBEYXRlTWFza0Zvcm1hdCB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgnYmJEYXRlTWFza1NlcGFyYXRvcicpIHNlcGFyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXNraW5nOiBNYXNraW5nLFxuICAgICAgICAgICAgICAgIEBTZWxmKCkgcHJpdmF0ZSBfaW5wdXRNYXNrOiBCYklucHV0TWFzaykge1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gY2hhbmdlcz8uWydmb3JtYXQnXT8uY3VycmVudFZhbHVlID8/IHRoaXMuZm9ybWF0ID8/IG51bGw7XG4gICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IGNoYW5nZXM/Llsnc2VwYXJhdG9yJ10/LmN1cnJlbnRWYWx1ZSA/PyB0aGlzLnNlcGFyYXRvciA/PyAnLSc7XG4gICAgICAgIHRoaXMuX2lucHV0TWFzay5tYXNrID0gdGhpcy5fbWFza2luZy5kYXRlKGZvcm1hdCwgc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBjb2VyY2VkIGlucHV0cy5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYmJEYXRlTWFzazogRGF0ZU1hc2tGb3JtYXQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9iYkRhdGVNYXNrU2VwYXJhdG9yOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG59XG4iXX0=
@@ -1,126 +0,0 @@
1
- import { Directive, HostListener, Input, Optional, Self } from '@angular/core';
2
- import { fromEvent, merge } from 'rxjs';
3
- import _Inputmask from 'inputmask';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/platform";
6
- import * as i2 from "@angular/forms";
7
- const InputmaskConstructor = _Inputmask.default || _Inputmask;
8
- export class BbInputMask {
9
- _ngZone;
10
- _platform;
11
- _renderer;
12
- _elementRef;
13
- _control;
14
- set mask(mask) {
15
- if (!mask || typeof mask === 'string') {
16
- return;
17
- }
18
- this._inputMaskOptions = mask;
19
- this.updateMask();
20
- }
21
- // State.
22
- inputMaskPlugin = null;
23
- nativeInputElement = null;
24
- eventsSubscription = null;
25
- _inputMaskOptions = null;
26
- _onChange = () => ({});
27
- constructor(_ngZone, _platform, _renderer, _elementRef, _control) {
28
- this._ngZone = _ngZone;
29
- this._platform = _platform;
30
- this._renderer = _renderer;
31
- this._elementRef = _elementRef;
32
- this._control = _control;
33
- this.nativeInputElement = this._elementRef.nativeElement;
34
- if (this._control != null) {
35
- this._control.valueAccessor = this;
36
- }
37
- }
38
- onInput = (_) => ({});
39
- onTouched = () => ({});
40
- ngOnInit() {
41
- const control = this._control?.control;
42
- if (!control) {
43
- return;
44
- }
45
- control?.setValidators(control.validator ? [control.validator, this.validate] : [this.validate]);
46
- control?.updateValueAndValidity();
47
- }
48
- ngOnDestroy() {
49
- this.destroyMask();
50
- }
51
- writeValue(value) {
52
- if (!this.nativeInputElement) {
53
- return;
54
- }
55
- this._renderer.setProperty(this.nativeInputElement, 'value', value ?? '');
56
- }
57
- registerOnChange(fn) {
58
- this._onChange = fn;
59
- const parser = this._inputMaskOptions?.parser;
60
- this.onInput = value => this._onChange(parser ? parser(value) : value);
61
- }
62
- registerOnTouched(fn) {
63
- this.onTouched = fn;
64
- }
65
- setDisabledState(isDisabled) {
66
- if (!this.nativeInputElement) {
67
- return;
68
- }
69
- this._renderer.setProperty(this.nativeInputElement, 'disabled', isDisabled);
70
- }
71
- validate = (control) => !control.value || !this.inputMaskPlugin || this.inputMaskPlugin?.isValid()
72
- ? null
73
- : { inputMask: true };
74
- updateMask() {
75
- this.destroyMask();
76
- this.createMask();
77
- this.registerOnChange(this._onChange);
78
- }
79
- createMask() {
80
- if (!this._platform.isBrowser || !this.nativeInputElement || this._inputMaskOptions === null || Object.keys(this._inputMaskOptions).length === 0) {
81
- return;
82
- }
83
- const { parser, ...options } = this._inputMaskOptions;
84
- this.inputMaskPlugin = this._ngZone.runOutsideAngular(() => new InputmaskConstructor(options).mask(this.nativeInputElement));
85
- const setValue$ = fromEvent(this.nativeInputElement, 'setvalue');
86
- const cleared$ = fromEvent(this.nativeInputElement, 'cleared');
87
- this.eventsSubscription = merge(setValue$, cleared$)
88
- .subscribe(event => this.onInput(event?.target?.['value']));
89
- const control = this._control?.control;
90
- if (!control) {
91
- return;
92
- }
93
- setTimeout(() => control?.updateValueAndValidity());
94
- }
95
- destroyMask() {
96
- this.eventsSubscription?.unsubscribe();
97
- this.eventsSubscription = null;
98
- this.inputMaskPlugin?.remove();
99
- this.inputMaskPlugin = null;
100
- }
101
- // Required so that the template type checker can infer the type of the coerced inputs.
102
- static ngAcceptInputType_bbInputMask;
103
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
104
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbInputMask, isStandalone: true, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 });
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbInputMask, decorators: [{
107
- type: Directive,
108
- args: [{
109
- selector: 'input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]',
110
- standalone: true
111
- }]
112
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.Platform }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
113
- type: Optional
114
- }, {
115
- type: Self
116
- }] }], propDecorators: { mask: [{
117
- type: Input,
118
- args: ['bbInputMask']
119
- }], onInput: [{
120
- type: HostListener,
121
- args: ['input', ['$event.target.value']]
122
- }], onTouched: [{
123
- type: HostListener,
124
- args: ['blur', ['$event.target.value']]
125
- }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL21hc2tpbmcvc3JjL2xpYi9kaXJlY3RpdmVzL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNkIsUUFBUSxFQUFhLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcvSCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUdwRCxPQUFPLFVBQVUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbkMsTUFBTSxvQkFBb0IsR0FBSSxVQUF3RCxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUM7QUFNN0csTUFBTSxPQUFPLFdBQVc7SUFvQkE7SUFDQTtJQUNBO0lBQ0E7SUFDb0I7SUF0QnhDLElBQ0ksSUFBSSxDQUFDLElBQXFEO1FBQzFELElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsU0FBUztJQUNULGVBQWUsR0FBOEIsSUFBSSxDQUFDO0lBQ2xELGtCQUFrQixHQUE0QixJQUFJLENBQUM7SUFDbkQsa0JBQWtCLEdBQXdCLElBQUksQ0FBQztJQUV2QyxpQkFBaUIsR0FBK0IsSUFBSSxDQUFDO0lBQ3JELFNBQVMsR0FBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUxRCxZQUFvQixPQUFlLEVBQ2YsU0FBbUIsRUFDbkIsU0FBb0IsRUFDcEIsV0FBeUMsRUFDckIsUUFBb0I7UUFKeEMsWUFBTyxHQUFQLE9B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QUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsdUZBQXVGO0lBQ3ZGLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBb0Q7d0dBbEgvRSxXQUFXOzRGQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDREQUE0RDtvQkFDdEUsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkF5QmdCLFFBQVE7OzBCQUFJLElBQUk7eUNBckJ6QixJQUFJO3NCQURQLEtBQUs7dUJBQUMsYUFBYTtnQkE4QnBCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFJOUMsU0FBUztzQkFEUixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtJbnB1dE1hc2tPcHRpb25zfSBmcm9tICcuLi9pbnB1dC1tYXNrLmludGVyZmFjZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHR5cGUgSW5wdXRtYXNrIGZyb20gJ2lucHV0bWFzayc7XG5pbXBvcnQgX0lucHV0bWFzayBmcm9tICdpbnB1dG1hc2snO1xuXG5jb25zdCBJbnB1dG1hc2tDb25zdHJ1Y3RvciA9IChfSW5wdXRtYXNrIGFzIHVua25vd24gYXMgeyBkZWZhdWx0PzogSW5wdXRtYXNrLlN0YXRpYyB9KS5kZWZhdWx0IHx8IF9JbnB1dG1hc2s7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbYmJJbnB1dE1hc2tdLGlucHV0W2JiQ3VycmVuY3lNYXNrXSxpbnB1dFtiYkRhdGVNYXNrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYklucHV0TWFzazxUID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICAgIEBJbnB1dCgnYmJJbnB1dE1hc2snKVxuICAgIHNldCBtYXNrKG1hc2s6IElucHV0TWFza09wdGlvbnM8VD4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghbWFzayB8fCB0eXBlb2YgbWFzayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lucHV0TWFza09wdGlvbnMgPSBtYXNrO1xuICAgICAgICB0aGlzLnVwZGF0ZU1hc2soKTtcbiAgICB9XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBpbnB1dE1hc2tQbHVnaW46IElucHV0bWFzay5JbnN0YW5jZSB8IG51bGwgPSBudWxsO1xuICAgIG5hdGl2ZUlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGV2ZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9pbnB1dE1hc2tPcHRpb25zOiBJbnB1dE1hc2tPcHRpb25zPFQ+IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX2NvbnRyb2w/OiBOZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICh0aGlzLl9jb250cm9sICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICAgIG9uSW5wdXQ6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKF86IGFueSkgPT4gKHt9KTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sPy5jb250cm9sO1xuICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRyb2w/LnNldFZhbGlkYXRvcnMoY29udHJvbC52YWxpZGF0b3IgPyBbY29udHJvbC52YWxpZGF0b3IsIHRoaXMudmFsaWRhdGVdIDogW3RoaXMudmFsaWRhdGVdKTtcbiAgICAgICAgY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lNYXNrKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUgPz8gJycpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCB8IG51bGwpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgICAgICAgY29uc3QgcGFyc2VyID0gdGhpcy5faW5wdXRNYXNrT3B0aW9ucz8ucGFyc2VyO1xuICAgICAgICB0aGlzLm9uSW5wdXQgPSB2YWx1ZSA9PiB0aGlzLl9vbkNoYW5nZShwYXJzZXIgPyBwYXJzZXIodmFsdWUpIDogdmFsdWUpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCwgJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiAhY29udHJvbC52YWx1ZSB8fCAhdGhpcy5pbnB1dE1hc2tQbHVnaW4gfHwgdGhpcy5pbnB1dE1hc2tQbHVnaW4/LmlzVmFsaWQoKVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7aW5wdXRNYXNrOiB0cnVlfTtcblxuICAgIHByaXZhdGUgdXBkYXRlTWFzaygpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95TWFzaygpO1xuICAgICAgICB0aGlzLmNyZWF0ZU1hc2soKTtcbiAgICAgICAgdGhpcy5yZWdpc3Rlck9uQ2hhbmdlKHRoaXMuX29uQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU1hc2soKSB7XG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyIHx8ICF0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dE1hc2tPcHRpb25zID09PSBudWxsIHx8IE9iamVjdC5rZXlzKHRoaXMuX2lucHV0TWFza09wdGlvbnMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3BhcnNlciwgLi4ub3B0aW9uc30gPSB0aGlzLl9pbnB1dE1hc2tPcHRpb25zO1xuICAgICAgICB0aGlzLmlucHV0TWFza1BsdWdpbiA9IHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgSW5wdXRtYXNrQ29uc3RydWN0b3Iob3B0aW9ucykubWFzayh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCkpO1xuXG4gICAgICAgIGNvbnN0IHNldFZhbHVlJCA9IGZyb21FdmVudCh0aGlzLm5hdGl2ZUlucHV0RWxlbWVudCwgJ3NldHZhbHVlJyk7XG4gICAgICAgIGNvbnN0IGNsZWFyZWQkID0gZnJvbUV2ZW50KHRoaXMubmF0aXZlSW5wdXRFbGVtZW50LCAnY2xlYXJlZCcpO1xuXG4gICAgICAgIHRoaXMuZXZlbnRzU3Vic2NyaXB0aW9uID0gbWVyZ2Uoc2V0VmFsdWUkLCBjbGVhcmVkJClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbklucHV0KGV2ZW50Py50YXJnZXQ/LlsndmFsdWUnXSkpO1xuXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sPy5jb250cm9sO1xuICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95TWFzaygpIHtcbiAgICAgICAgdGhpcy5ldmVudHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbnB1dE1hc2tQbHVnaW4/LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLmlucHV0TWFza1BsdWdpbiA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gUmVxdWlyZWQgc28gdGhhdCB0aGUgdGVtcGxhdGUgdHlwZSBjaGVja2VyIGNhbiBpbmZlciB0aGUgdHlwZSBvZiB0aGUgY29lcmNlZCBpbnB1dHMuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiSW5wdXRNYXNrOiBJbnB1dE1hc2tPcHRpb25zPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const createMask = (options) => typeof options === 'string' ? { mask: options } : options;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL21hc2tpbmcvc3JjL2xpYi9pbnB1dC1tYXNrLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQkEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksT0FBcUMsRUFBRSxFQUFFLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgSW5wdXRtYXNrIGZyb20gJ2lucHV0bWFzayc7XG5cbmV4cG9ydCB0eXBlIElucHV0TWFza09wdGlvbnM8VD4gPSBJbnB1dG1hc2suT3B0aW9ucyAmIHtcbiAgICBwYXJzZXI/OiAodmFsdWU6IGFueSkgPT4gVDtcbn07XG5cbmV4cG9ydCB0eXBlIEN1cnJlbmN5TWFza09wdGlvbnMgPSB7XG4gICAgc3ltYm9sOiBzdHJpbmc7XG4gICAgc3ltYm9sRm9ybWF0OiAnd2lkZScgfCAnbmFycm93JztcbiAgICBzcGFjZXI6IHN0cmluZztcbiAgICBkaWdpdHM6IG51bWJlcjtcbiAgICBkaWdpdHNPcHRpb25hbDogYm9vbGVhbjtcbiAgICBkZWNpbWFsQ2hhcmFjdGVyOiBzdHJpbmc7XG4gICAgZ3JvdXBDaGFyYWN0ZXI6IHN0cmluZztcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgICBhbGxvd01pbnVzOiBib29sZWFuO1xuICAgIG51bGxhYmxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBEYXRlTWFza0Zvcm1hdCA9XG4gICAgJ2RheS1tb250aC15ZWFyJyB8XG4gICAgJ21vbnRoLWRheS15ZWFyJyB8XG4gICAgJ3llYXItbW9udGgtZGF5JyB8XG4gICAgJ3llYXItZGF5LW1vbnRoJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hc2sgPSA8VD4ob3B0aW9uczogc3RyaW5nIHwgSW5wdXRNYXNrT3B0aW9uczxUPikgPT4gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8ge21hc2s6IG9wdGlvbnN9IDogb3B0aW9ucztcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { BbCurrencyMask } from './directives/currency-mask.directive';
2
- import { BbInputMask } from './directives/input-mask.directive';
3
- import { BbDateMask } from './directives/date-mask.directive';
4
- import { NgModule } from '@angular/core';
5
- import * as i0 from "@angular/core";
6
- export class MaskingModule {
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: MaskingModule, imports: [BbInputMask,
9
- BbCurrencyMask,
10
- BbDateMask], exports: [BbInputMask,
11
- BbCurrencyMask,
12
- BbDateMask] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaskingModule });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaskingModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [
19
- BbInputMask,
20
- BbCurrencyMask,
21
- BbDateMask
22
- ],
23
- exports: [
24
- BbInputMask,
25
- BbCurrencyMask,
26
- BbDateMask
27
- ]
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2luZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL21hc2tpbmcvc3JjL2xpYi9tYXNraW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQWN2QyxNQUFNLE9BQU8sYUFBYTt3R0FBYixhQUFhO3lHQUFiLGFBQWEsWUFWbEIsV0FBVztZQUNYLGNBQWM7WUFDZCxVQUFVLGFBR1YsV0FBVztZQUNYLGNBQWM7WUFDZCxVQUFVO3lHQUdMLGFBQWE7OzRGQUFiLGFBQWE7a0JBWnpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxVQUFVO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDTCxXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsVUFBVTtxQkFDYjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmJDdXJyZW5jeU1hc2t9IGZyb20gJy4vZGlyZWN0aXZlcy9jdXJyZW5jeS1tYXNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiSW5wdXRNYXNrfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5wdXQtbWFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkRhdGVNYXNrfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJiSW5wdXRNYXNrLFxuICAgICAgICBCYkN1cnJlbmN5TWFzayxcbiAgICAgICAgQmJEYXRlTWFza1xuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCYklucHV0TWFzayxcbiAgICAgICAgQmJDdXJyZW5jeU1hc2ssXG4gICAgICAgIEJiRGF0ZU1hc2tcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hc2tpbmdNb2R1bGUge1xufVxuIl19
@@ -1,104 +0,0 @@
1
- import { formatDate, getCurrencySymbol, getLocaleNumberSymbol, getNumberOfCurrencyDigits, NumberSymbol } from '@angular/common';
2
- import { createMask } from './input-mask.interface';
3
- import { Injectable, Optional } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@bravobit/bb-foundation/localize";
6
- export class Masking {
7
- _localize;
8
- constructor(_localize) {
9
- this._localize = _localize;
10
- }
11
- date(format, separator = '-') {
12
- const dateParts = this.getDateParts(format);
13
- const inputFormat = dateParts.join(separator);
14
- const outputFormat = 'yyyy-MM-dd';
15
- const escape = /[.*+?^${}()\/|[\]\\]/g;
16
- const escapedSeparator = separator.replace(escape, '\\$&');
17
- const inputFormatRegexString = dateParts
18
- .map(item => `(?<${item}>[0-9]{${item?.length}})`)
19
- .join(escapedSeparator);
20
- const inputFormatRegex = new RegExp(`^${inputFormatRegexString}$`);
21
- return createMask({
22
- alias: 'datetime',
23
- inputFormat: inputFormat.toLowerCase(),
24
- outputFormat: outputFormat.toLowerCase(),
25
- nullable: false,
26
- inputmode: 'numeric',
27
- onBeforeMask: (initialValue) => {
28
- return initialValue ? formatDate(initialValue, inputFormat, 'en-US') : null;
29
- },
30
- onBeforePaste: (value) => {
31
- return value;
32
- },
33
- parser: (value) => {
34
- if (!value || typeof value !== 'string' || !inputFormatRegex.test(value)) {
35
- return null;
36
- }
37
- const matches = value.match(inputFormatRegex);
38
- const year = +matches?.groups?.['yyyy'];
39
- const month = +matches?.groups?.['MM'] - 1;
40
- const day = +matches?.groups?.['dd'];
41
- const date = new Date(year, month, day);
42
- return date instanceof Date && !isNaN(date)
43
- ? formatDate(date, outputFormat, 'en-US')
44
- : null;
45
- }
46
- });
47
- }
48
- currency(code, options) {
49
- const locale = this._localize?.current?.locale ?? 'en';
50
- const symbol = options?.symbol ?? getCurrencySymbol(code, options?.symbolFormat ?? 'narrow', locale);
51
- const decimal = options?.decimalCharacter ?? getLocaleNumberSymbol(locale, NumberSymbol.CurrencyDecimal);
52
- const group = options?.groupCharacter ?? getLocaleNumberSymbol(locale, NumberSymbol.CurrencyGroup);
53
- const digits = options?.digits ?? getNumberOfCurrencyDigits(code);
54
- const spacer = options?.spacer ?? ' ';
55
- return createMask({
56
- alias: 'numeric',
57
- digits: digits,
58
- allowMinus: options?.allowMinus ?? false,
59
- min: options?.min ?? 0,
60
- max: options?.max ?? Number.MAX_SAFE_INTEGER,
61
- prefix: `${symbol}${spacer}`,
62
- radixPoint: decimal ?? '.',
63
- groupSeparator: group ?? ',',
64
- digitsOptional: options?.digitsOptional ?? false,
65
- nullable: options?.nullable ?? true,
66
- autoUnmask: true,
67
- unmaskAsNumber: true,
68
- rightAlign: false,
69
- showMaskOnHover: false,
70
- showMaskOnFocus: false,
71
- inputmode: digits > 0 ? 'decimal' : 'numeric',
72
- parser: (value) => {
73
- if (value === '') {
74
- return null;
75
- }
76
- return value;
77
- }
78
- });
79
- }
80
- getDateParts(format) {
81
- switch (format) {
82
- case 'day-month-year':
83
- return ['dd', 'MM', 'yyyy'];
84
- case 'month-day-year':
85
- return ['MM', 'dd', 'yyyy'];
86
- case 'year-day-month':
87
- return ['yyyy', 'dd', 'MM'];
88
- case 'year-month-day':
89
- default:
90
- return ['yyyy', 'MM', 'dd'];
91
- }
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Masking, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
94
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Masking, providedIn: 'root' });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Masking, decorators: [{
97
- type: Injectable,
98
- args: [{
99
- providedIn: 'root'
100
- }]
101
- }], ctorParameters: () => [{ type: i1.Localize, decorators: [{
102
- type: Optional
103
- }] }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9tYXNraW5nL3NyYy9saWIvbWFza2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUgsT0FBTyxFQUFDLFVBQVUsRUFBc0MsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RixPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBS25ELE1BQU0sT0FBTyxPQUFPO0lBRWdCO0lBQWhDLFlBQWdDLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFDcEQsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFzQixFQUFFLFlBQW9CLEdBQUc7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQztRQUVsQyxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQztRQUN2QyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNELE1BQU0sc0JBQXNCLEdBQUcsU0FBUzthQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksVUFBVSxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUM7YUFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQztRQUVuRSxPQUFPLFVBQVUsQ0FBQztZQUNkLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQ3RDLFlBQVksRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLENBQUMsWUFBb0IsRUFBRSxFQUFFO2dCQUNuQyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNoRixDQUFDO1lBQ0QsYUFBYSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQzdCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdkUsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFFeEMsT0FBTyxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFNLElBQUksQ0FBQztvQkFDNUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztvQkFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNmLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxPQUFzQztRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLElBQUksUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXJHLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pHLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxjQUFjLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRyxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksR0FBRyxDQUFDO1FBRXRDLE9BQU8sVUFBVSxDQUFDO1lBQ2QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsSUFBSSxLQUFLO1lBQ3hDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDdEIsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLGdCQUFnQjtZQUM1QyxNQUFNLEVBQUUsR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUFFO1lBQzVCLFVBQVUsRUFBRSxPQUFPLElBQUksR0FBRztZQUMxQixjQUFjLEVBQUUsS0FBSyxJQUFJLEdBQUc7WUFDNUIsY0FBYyxFQUFFLE9BQU8sRUFBRSxjQUFjLElBQUksS0FBSztZQUNoRCxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsSUFBSSxJQUFJO1lBQ25DLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFNBQVMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0MsTUFBTSxFQUFFLENBQUMsS0FBc0IsRUFBRSxFQUFFO2dCQUMvQixJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDZixPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFzQjtRQUN2QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2IsS0FBSyxnQkFBZ0I7Z0JBQ2pCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hDLEtBQUssZ0JBQWdCO2dCQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNoQyxLQUFLLGdCQUFnQjtnQkFDakIsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsS0FBSyxnQkFBZ0IsQ0FBQztZQUN0QjtnQkFDSSxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQzt3R0E5RlEsT0FBTzs0R0FBUCxPQUFPLGNBRkosTUFBTTs7NEZBRVQsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdnQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmb3JtYXREYXRlLCBnZXRDdXJyZW5jeVN5bWJvbCwgZ2V0TG9jYWxlTnVtYmVyU3ltYm9sLCBnZXROdW1iZXJPZkN1cnJlbmN5RGlnaXRzLCBOdW1iZXJTeW1ib2x9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2NyZWF0ZU1hc2ssIEN1cnJlbmN5TWFza09wdGlvbnMsIERhdGVNYXNrRm9ybWF0fSBmcm9tICcuL2lucHV0LW1hc2suaW50ZXJmYWNlJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hc2tpbmcge1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIGRhdGUoZm9ybWF0OiBEYXRlTWFza0Zvcm1hdCwgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLScpIHtcbiAgICAgICAgY29uc3QgZGF0ZVBhcnRzID0gdGhpcy5nZXREYXRlUGFydHMoZm9ybWF0KTtcbiAgICAgICAgY29uc3QgaW5wdXRGb3JtYXQgPSBkYXRlUGFydHMuam9pbihzZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSAneXl5eS1NTS1kZCc7XG5cbiAgICAgICAgY29uc3QgZXNjYXBlID0gL1suKis/XiR7fSgpXFwvfFtcXF1cXFxcXS9nO1xuICAgICAgICBjb25zdCBlc2NhcGVkU2VwYXJhdG9yID0gc2VwYXJhdG9yLnJlcGxhY2UoZXNjYXBlLCAnXFxcXCQmJyk7XG5cbiAgICAgICAgY29uc3QgaW5wdXRGb3JtYXRSZWdleFN0cmluZyA9IGRhdGVQYXJ0c1xuICAgICAgICAgICAgLm1hcChpdGVtID0+IGAoPzwke2l0ZW19PlswLTldeyR7aXRlbT8ubGVuZ3RofX0pYClcbiAgICAgICAgICAgIC5qb2luKGVzY2FwZWRTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBpbnB1dEZvcm1hdFJlZ2V4ID0gbmV3IFJlZ0V4cChgXiR7aW5wdXRGb3JtYXRSZWdleFN0cmluZ30kYCk7XG5cbiAgICAgICAgcmV0dXJuIGNyZWF0ZU1hc2soe1xuICAgICAgICAgICAgYWxpYXM6ICdkYXRldGltZScsXG4gICAgICAgICAgICBpbnB1dEZvcm1hdDogaW5wdXRGb3JtYXQudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgIG91dHB1dEZvcm1hdDogb3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICBudWxsYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBpbnB1dG1vZGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgIG9uQmVmb3JlTWFzazogKGluaXRpYWxWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA/IGZvcm1hdERhdGUoaW5pdGlhbFZhbHVlLCBpbnB1dEZvcm1hdCwgJ2VuLVVTJykgOiBudWxsO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uQmVmb3JlUGFzdGU6ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhcnNlcjogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgIWlucHV0Rm9ybWF0UmVnZXgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZS5tYXRjaChpbnB1dEZvcm1hdFJlZ2V4KTtcbiAgICAgICAgICAgICAgICBjb25zdCB5ZWFyID0gK21hdGNoZXM/Lmdyb3Vwcz8uWyd5eXl5J107XG4gICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSArbWF0Y2hlcz8uZ3JvdXBzPy5bJ01NJ10gLSAxO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRheSA9ICttYXRjaGVzPy5ncm91cHM/LlsnZGQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKDxhbnk+ZGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXREYXRlKGRhdGUsIG91dHB1dEZvcm1hdCwgJ2VuLVVTJylcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjdXJyZW5jeShjb2RlOiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJ0aWFsPEN1cnJlbmN5TWFza09wdGlvbnM+KSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuX2xvY2FsaXplPy5jdXJyZW50Py5sb2NhbGUgPz8gJ2VuJztcbiAgICAgICAgY29uc3Qgc3ltYm9sID0gb3B0aW9ucz8uc3ltYm9sID8/IGdldEN1cnJlbmN5U3ltYm9sKGNvZGUsIG9wdGlvbnM/LnN5bWJvbEZvcm1hdCA/PyAnbmFycm93JywgbG9jYWxlKTtcblxuICAgICAgICBjb25zdCBkZWNpbWFsID0gb3B0aW9ucz8uZGVjaW1hbENoYXJhY3RlciA/PyBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuQ3VycmVuY3lEZWNpbWFsKTtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSBvcHRpb25zPy5ncm91cENoYXJhY3RlciA/PyBnZXRMb2NhbGVOdW1iZXJTeW1ib2wobG9jYWxlLCBOdW1iZXJTeW1ib2wuQ3VycmVuY3lHcm91cCk7XG4gICAgICAgIGNvbnN0IGRpZ2l0cyA9IG9wdGlvbnM/LmRpZ2l0cyA/PyBnZXROdW1iZXJPZkN1cnJlbmN5RGlnaXRzKGNvZGUpO1xuICAgICAgICBjb25zdCBzcGFjZXIgPSBvcHRpb25zPy5zcGFjZXIgPz8gJyAnO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVNYXNrKHtcbiAgICAgICAgICAgIGFsaWFzOiAnbnVtZXJpYycsXG4gICAgICAgICAgICBkaWdpdHM6IGRpZ2l0cyxcbiAgICAgICAgICAgIGFsbG93TWludXM6IG9wdGlvbnM/LmFsbG93TWludXMgPz8gZmFsc2UsXG4gICAgICAgICAgICBtaW46IG9wdGlvbnM/Lm1pbiA/PyAwLFxuICAgICAgICAgICAgbWF4OiBvcHRpb25zPy5tYXggPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICBwcmVmaXg6IGAke3N5bWJvbH0ke3NwYWNlcn1gLFxuICAgICAgICAgICAgcmFkaXhQb2ludDogZGVjaW1hbCA/PyAnLicsXG4gICAgICAgICAgICBncm91cFNlcGFyYXRvcjogZ3JvdXAgPz8gJywnLFxuICAgICAgICAgICAgZGlnaXRzT3B0aW9uYWw6IG9wdGlvbnM/LmRpZ2l0c09wdGlvbmFsID8/IGZhbHNlLFxuICAgICAgICAgICAgbnVsbGFibGU6IG9wdGlvbnM/Lm51bGxhYmxlID8/IHRydWUsXG4gICAgICAgICAgICBhdXRvVW5tYXNrOiB0cnVlLFxuICAgICAgICAgICAgdW5tYXNrQXNOdW1iZXI6IHRydWUsXG4gICAgICAgICAgICByaWdodEFsaWduOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dNYXNrT25Ib3ZlcjogZmFsc2UsXG4gICAgICAgICAgICBzaG93TWFza09uRm9jdXM6IGZhbHNlLFxuICAgICAgICAgICAgaW5wdXRtb2RlOiBkaWdpdHMgPiAwID8gJ2RlY2ltYWwnIDogJ251bWVyaWMnLFxuICAgICAgICAgICAgcGFyc2VyOiAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRlUGFydHMoZm9ybWF0OiBEYXRlTWFza0Zvcm1hdCkge1xuICAgICAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgICAgICAgY2FzZSAnZGF5LW1vbnRoLXllYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBbJ2RkJywgJ01NJywgJ3l5eXknXTtcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoLWRheS15ZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gWydNTScsICdkZCcsICd5eXl5J107XG4gICAgICAgICAgICBjYXNlICd5ZWFyLWRheS1tb250aCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsneXl5eScsICdkZCcsICdNTSddO1xuICAgICAgICAgICAgY2FzZSAneWVhci1tb250aC1kYXknOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd5eXl5JywgJ01NJywgJ2RkJ107XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export * from './lib/input-mask.interface';
2
- export * from './lib/directives/input-mask.directive';
3
- export * from './lib/directives/currency-mask.directive';
4
- export * from './lib/directives/date-mask.directive';
5
- export * from './lib/masking.service';
6
- export * from './lib/masking.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbWFza2luZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LW1hc2suaW50ZXJmYWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9pbnB1dC1tYXNrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2N1cnJlbmN5LW1hc2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21hc2tpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXNraW5nLm1vZHVsZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1ub3RpZmljYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9icmF2b2JpdC1iYi1mb3VuZGF0aW9uLW5vdGlmaWNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,112 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { BbLocalize } from '@bravobit/bb-foundation/localize';
3
- import { NgTemplateOutlet } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/platform";
6
- export class BbNotificationsItem {
7
- _zone;
8
- _platform;
9
- _changeDetection;
10
- // Inputs.
11
- notification;
12
- dismissButtonText;
13
- // Elements.
14
- progressElementRef;
15
- // Data.
16
- _progress = 0;
17
- _count = 0;
18
- // Helper variables.
19
- _steps;
20
- _speed;
21
- _timer;
22
- _startTime;
23
- _difference;
24
- // Data.
25
- _radius = 19;
26
- _circumference = this._radius * 2 * Math.PI;
27
- get getClass() {
28
- return `bb-notifications-item ${this.notification.type}`;
29
- }
30
- constructor(_zone, _platform, _changeDetection) {
31
- this._zone = _zone;
32
- this._platform = _platform;
33
- this._changeDetection = _changeDetection;
34
- }
35
- get progressStrokeArray() {
36
- const value = Math.floor(this._circumference);
37
- return `${value}, ${value}`;
38
- }
39
- get progressStrokeOffset() {
40
- return Math.floor(this._circumference - this._progress / 100 * this._circumference);
41
- }
42
- get isContentString() {
43
- return typeof this.notification.content === 'string';
44
- }
45
- ngOnInit() {
46
- // Check if the notification timeout is not 0 and the platform is a browser.
47
- if (this.notification.timeout <= 0 || !this._platform.isBrowser) {
48
- this.notification.dismiss = true;
49
- return;
50
- }
51
- // Start the timeout.
52
- this.startTimeout();
53
- }
54
- ngOnDestroy() {
55
- // Clear the timeout if it was set.
56
- this._timer && window && window.clearTimeout && window.clearTimeout(this._timer);
57
- }
58
- callActionAndDestroy = (notification, action) => {
59
- // Perform the callback (if it exists).
60
- action && action.callback && action.callback();
61
- // Call the destroy method (if it exists).
62
- notification && notification.destroy && notification.destroy();
63
- };
64
- startTimeout() {
65
- // Calculate the steps of the timeout.
66
- this._steps = this.notification.timeout / 10;
67
- // Calculate the speed of the timeout.
68
- this._speed = this.notification.timeout / this._steps;
69
- // Get the start time.
70
- this._startTime = Date.now();
71
- // Set a new timer outside of Angular.
72
- this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
73
- }
74
- instance = () => {
75
- // Calculate the difference.
76
- this._difference = (Date.now() - this._startTime) - (this._count * this._speed);
77
- // Add up the count.
78
- if (this._count++ === this._steps) {
79
- this.notification.destroy();
80
- }
81
- // Add the steps to the progress.
82
- this._progress += 100 / this._steps;
83
- // Set a new timer.
84
- this._timer = this.setTimeout(this.instance, this._speed - this._difference);
85
- // Run a new change detection cycle.
86
- this._zone.run(() => this._changeDetection.detectChanges());
87
- };
88
- setTimeout = (method, timeout) => {
89
- // Check if the window and method exist.
90
- if (!window || !window.setTimeout) {
91
- return null;
92
- }
93
- return window.setTimeout(method, timeout);
94
- };
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbNotificationsItem, isStandalone: true, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n @if (notification?.timeout > 0) {\n <svg class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n }\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n @if (isContentString) {\n @switch (notification?.localize) {\n @case (true) {\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n }\n @default {\n {{ notification?.content }}\n }\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n }\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n@if (notification?.actions?.length > 0 || notification?.dismiss) {\n <div class=\"notification-actions\">\n @for (action of notification?.actions; track $index) {\n <button [class.destructive]=\"action?.type === 'cancel'\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n class=\"notification-actions-button\">\n <span class=\"notification-actions-button-highlight\">\n @if (notification?.localize) {\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n } @else {\n {{ action?.title }}\n }\n </span>\n </button>\n }\n @if (notification?.dismiss) {\n <button (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span\n class=\"notification-actions-button-highlight\">{{ notification?.dismissText || dismissButtonText }}</span>\n </button>\n }\n </div>\n}\n", styles: [".bb-notifications-item{display:flex;border-radius:.25rem;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{display:flex;padding:1.5rem;align-items:center}.notification-icon-wrapper{width:2.5rem;display:flex;height:2.5rem;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:.75rem;fill:currentColor}.notification-content{flex:1;line-height:1.5;font-weight:500;font-size:.875rem;margin-left:1.5rem;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 1.5rem;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-weight:500;text-align:center;font-size:.875rem;padding:.75rem .125rem;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{display:inline-flex;border-radius:.75rem;padding:.25rem .75rem;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbNotificationsItem, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'role': 'alert' }, preserveWhitespaces: false, standalone: true, imports: [NgTemplateOutlet, BbLocalize], template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n @if (notification?.timeout > 0) {\n <svg class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n }\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n @if (isContentString) {\n @switch (notification?.localize) {\n @case (true) {\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n }\n @default {\n {{ notification?.content }}\n }\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n }\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n@if (notification?.actions?.length > 0 || notification?.dismiss) {\n <div class=\"notification-actions\">\n @for (action of notification?.actions; track $index) {\n <button [class.destructive]=\"action?.type === 'cancel'\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n class=\"notification-actions-button\">\n <span class=\"notification-actions-button-highlight\">\n @if (notification?.localize) {\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n } @else {\n {{ action?.title }}\n }\n </span>\n </button>\n }\n @if (notification?.dismiss) {\n <button (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span\n class=\"notification-actions-button-highlight\">{{ notification?.dismissText || dismissButtonText }}</span>\n </button>\n }\n </div>\n}\n", styles: [".bb-notifications-item{display:flex;border-radius:.25rem;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{display:flex;padding:1.5rem;align-items:center}.notification-icon-wrapper{width:2.5rem;display:flex;height:2.5rem;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:.75rem;fill:currentColor}.notification-content{flex:1;line-height:1.5;font-weight:500;font-size:.875rem;margin-left:1.5rem;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 1.5rem;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-weight:500;text-align:center;font-size:.875rem;padding:.75rem .125rem;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{display:inline-flex;border-radius:.75rem;padding:.25rem .75rem;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"] }]
101
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.Platform }, { type: i0.ChangeDetectorRef }], propDecorators: { notification: [{
102
- type: Input
103
- }], dismissButtonText: [{
104
- type: Input
105
- }], progressElementRef: [{
106
- type: ViewChild,
107
- args: ['progress']
108
- }], getClass: [{
109
- type: HostBinding,
110
- args: ['class']
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUE2QixTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0ssT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFjakQsTUFBTSxPQUFPLG1CQUFtQjtJQTRCUjtJQUNBO0lBQ0E7SUE1QnBCLFVBQVU7SUFDRCxZQUFZLENBQWU7SUFDM0IsaUJBQWlCLENBQWdCO0lBRTFDLFlBQVk7SUFDVyxrQkFBa0IsQ0FBYTtJQUV0RCxRQUFRO0lBQ0EsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbkIsb0JBQW9CO0lBQ1osTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBQ2YsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUU1QixRQUFRO0lBQ1MsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRTdELElBQTBC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QkFpQkssUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25BY3Rpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsncm9sZSc6ICdhbGVydCd9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEJiTG9jYWxpemVdXG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0l0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gICAgQElucHV0KCkgZGlzbWlzc0J1dHRvblRleHQ6IHN0cmluZyB8IG51bGw7XG5cbiAgICAvLyBFbGVtZW50cy5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzcycpIHByb2dyZXNzRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3MgPSAwO1xuICAgIHByaXZhdGUgX2NvdW50ID0gMDtcblxuICAgIC8vIEhlbHBlciB2YXJpYWJsZXMuXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zcGVlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3RpbWVyOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3RhcnRUaW1lOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGlmZmVyZW5jZTogbnVtYmVyO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpdXMgPSAxOTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaXJjdW1mZXJlbmNlID0gdGhpcy5fcmFkaXVzICogMiAqIE1hdGguUEk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYGJiLW5vdGlmaWNhdGlvbnMtaXRlbSAke3RoaXMubm90aWZpY2F0aW9uLnR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgcHJvZ3Jlc3NTdHJva2VBcnJheSgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHRoaXMuX2NpcmN1bWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gYCR7dmFsdWV9LCAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlIC0gdGhpcy5fcHJvZ3Jlc3MgLyAxMDAgKiB0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb250ZW50U3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMubm90aWZpY2F0aW9uLmNvbnRlbnQgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbm90aWZpY2F0aW9uIHRpbWVvdXQgaXMgbm90IDAgYW5kIHRoZSBwbGF0Zm9ybSBpcyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbi50aW1lb3V0IDw9IDAgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGlzbWlzcyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgdGltZW91dC5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVvdXQgaWYgaXQgd2FzIHNldC5cbiAgICAgICAgdGhpcy5fdGltZXIgJiYgd2luZG93ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQgJiYgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XG4gICAgfVxuXG4gICAgY2FsbEFjdGlvbkFuZERlc3Ryb3kgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKSA9PiB7XG4gICAgICAgIC8vIFBlcmZvcm0gdGhlIGNhbGxiYWNrIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBhY3Rpb24gJiYgYWN0aW9uLmNhbGxiYWNrICYmIGFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGRlc3Ryb3kgbWV0aG9kIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3kgJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVvdXQoKSB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RlcHMgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3N0ZXBzID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIDEwO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3BlZWQgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3NwZWVkID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIEdldCB0aGUgc3RhcnQgdGltZS5cbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIgb3V0c2lkZSBvZiBBbmd1bGFyLlxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnN0YW5jZSA9ICgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICB0aGlzLl9kaWZmZXJlbmNlID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydFRpbWUpIC0gKHRoaXMuX2NvdW50ICogdGhpcy5fc3BlZWQpO1xuXG4gICAgICAgIC8vIEFkZCB1cCB0aGUgY291bnQuXG4gICAgICAgIGlmICh0aGlzLl9jb3VudCsrID09PSB0aGlzLl9zdGVwcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBzdGVwcyB0byB0aGUgcHJvZ3Jlc3MuXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzICs9IDEwMCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIFNldCBhIG5ldyB0aW1lci5cbiAgICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLnNldFRpbWVvdXQodGhpcy5pbnN0YW5jZSwgdGhpcy5fc3BlZWQgLSB0aGlzLl9kaWZmZXJlbmNlKTtcblxuICAgICAgICAvLyBSdW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0VGltZW91dCA9IChtZXRob2Q6ICgpID0+IHZvaWQsIHRpbWVvdXQ6IG51bWJlcikgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgd2luZG93IGFuZCBtZXRob2QgZXhpc3QuXG4gICAgICAgIGlmICghd2luZG93IHx8ICF3aW5kb3cuc2V0VGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQobWV0aG9kLCB0aW1lb3V0KTtcbiAgICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGljb24gZm9yIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICAgICAgVGhlIGljb24gaXMgcmVmbGVjdGVkIGJ5IHRoZSB0eXBlIG9mIHRoZVxuICAgICAgICBub3RpZmljYXRpb24uIFNhbWUgZ29lcyBmb3IgdGhlIGNvbG9yIGFuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIC0tPlxuICAgIDxkaXYgW3N0eWxlLmNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uY29sb3JcIlxuICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwibm90aWZpY2F0aW9uPy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxOS41XCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCAxOS41YzEuMSAwIDItLjkgMi0ySDZjMCAxLjEuOSAyIDIgMnpNMTQgMTMuNXYtNWMwLTMuMS0xLjYtNS42LTQuNS02LjN2LS43QzkuNS43IDguOCAwIDggMFM2LjUuNyA2LjUgMS41di43QzMuNiAyLjkgMiA1LjQgMiA4LjV2NWwtMiAydjFoMTZ2LTFsLTItMnpcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIGNpcmN1bGFyIHByb2dyZXNzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgICAgICBUaGUgcHJvZ3Jlc3MgaXMgb25seSB2aXNpYmxlIHdoZW4gYSB0aW1lb3V0IGlzXG4gICAgICAgICAgICBzZXQuIFRoZSBwcm9ncmVzcyBhZGFwdHMgdG8gdGhlIHRpbWUgcmVtYWluaW5nXG4gICAgICAgICAgICBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgLS0+XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy50aW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm5vdGlmaWNhdGlvbi1wcm9ncmVzcy1yaW5nXCJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiPlxuICAgICAgICAgICAgICAgIDxjaXJjbGUgI3Byb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInByb2dyZXNzU3Ryb2tlQXJyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlLWRhc2hvZmZzZXRdPVwicHJvZ3Jlc3NTdHJva2VPZmZzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnN0cm9rZV09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLXByb2dyZXNzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3g9XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjeT1cIjIwXCI+XG4gICAgICAgICAgICAgICAgPC9jaXJjbGU+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLVxuICAgICAgICBUaGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICBUaGlzIGRpc3BsYXlzIGEgc3RyaW5nIG9yIGEgdGVtcGxhdGUgYmFzZWRcbiAgICAgICAgb24gdGhlIGdpdmVuIHBhcmFtZXRlciBieSB0aGUgdXNlci5cbiAgICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgQGlmIChpc0NvbnRlbnRTdHJpbmcpIHtcbiAgICAgICAgICAgIEBzd2l0Y2ggKG5vdGlmaWNhdGlvbj8ubG9jYWxpemUpIHtcbiAgICAgICAgICAgICAgICBAY2FzZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB7eyAkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudCkgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uPy5jb250ZW50IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS1cbiAgICBUaGUgYWN0aW9ucyBvZiB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgQWxsIGFjdGlvbnMgYXJlIGRpc3BsYXllZCBoZXJlIGFuZCBhcmVcbiAgICBiYXNlZCBvbiB0aGUgYWN0aW9ucyBhcnJheSB0aGUgdXNlciBwcm92aWRlZC5cbi0tPlxuQGlmIChub3RpZmljYXRpb24/LmFjdGlvbnM/Lmxlbmd0aCA+IDAgfHwgbm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zXCI+XG4gICAgICAgIEBmb3IgKGFjdGlvbiBvZiBub3RpZmljYXRpb24/LmFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiYWN0aW9uPy50eXBlID09PSAnY2FuY2VsJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYWxsQWN0aW9uQW5kRGVzdHJveShub3RpZmljYXRpb24sIGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvbi1oaWdobGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub3RpZmljYXRpb24/LmxvY2FsaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhY3Rpb24/LnRpdGxlIHwgYmJMb2NhbGl6ZTp7ZGF0YTogbm90aWZpY2F0aW9uPy5kYXRhfSB9fVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJub3RpZmljYXRpb24/LmRlc3Ryb3koKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uIGRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uLWhpZ2hsaWdodFwiPnt7IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1RleHQgfHwgZGlzbWlzc0J1dHRvblRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19