@bravobit/bb-foundation 0.32.1 → 0.40.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 (457) hide show
  1. package/auth/lib/auth.config.d.ts +5 -0
  2. package/auth/lib/auth.interceptor.d.ts +2 -2
  3. package/auth/lib/auth.module.d.ts +1 -4
  4. package/auth/lib/auth.service.d.ts +2 -2
  5. package/auth/lib/directives/authenticated.directive.d.ts +11 -4
  6. package/auth/lib/guards/anonymous.guard.d.ts +2 -15
  7. package/auth/lib/guards/authenticated.guard.d.ts +2 -15
  8. package/auth/lib/interfaces/config.interface.d.ts +2 -1
  9. package/auth/public_api.d.ts +1 -0
  10. package/collections/lib/collections.module.d.ts +12 -3
  11. package/collections/lib/components/collections-actions/collections-actions.component.d.ts +10 -0
  12. package/collections/lib/components/collections-grid/collections-grid.component.d.ts +18 -0
  13. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +15 -14
  14. package/collections/lib/components/collections-table/collections-table.component.d.ts +24 -0
  15. package/collections/lib/components/collections-table-label/collections-table-label.component.d.ts +11 -0
  16. package/collections/lib/components/collections-table-sorting/collections-table-sorting.component.d.ts +18 -0
  17. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +9 -5
  18. package/collections/lib/directives/collections-data-row.directive.d.ts +14 -0
  19. package/collections/lib/directives/collections-data.directive.d.ts +14 -0
  20. package/collections/lib/directives/collections-empty.directive.d.ts +14 -0
  21. package/collections/lib/directives/collections-error.directive.d.ts +14 -0
  22. package/collections/lib/directives/collections-initial.directive.d.ts +11 -0
  23. package/collections/lib/directives/collections-item.directive.d.ts +14 -0
  24. package/collections/public_api.d.ts +11 -1
  25. package/dashboard/lib/dashboard/dashboard.component.d.ts +5 -8
  26. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +3 -5
  27. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  28. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +4 -7
  29. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +3 -5
  30. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +6 -11
  31. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +2 -2
  32. package/dashboard/lib/dashboard.module.d.ts +1 -4
  33. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +1 -1
  34. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +2 -2
  35. package/dialog/lib/dialog-container/dialog-container.component.d.ts +2 -2
  36. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -1
  37. package/dialog/lib/dialog-link/dialog-link.component.d.ts +1 -1
  38. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  39. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +2 -2
  40. package/dialog/lib/dialog.config.d.ts +3 -0
  41. package/dialog/lib/dialog.insertion.d.ts +1 -1
  42. package/dialog/lib/dialog.interfaces.d.ts +2 -0
  43. package/dialog/lib/dialog.module.d.ts +2 -4
  44. package/dialog/lib/directives/confirm.directive.d.ts +13 -0
  45. package/dialog/public_api.d.ts +2 -0
  46. package/elements/lib/avatar/avatar.component.d.ts +2 -1
  47. package/elements/lib/button/button.component.d.ts +12 -14
  48. package/elements/lib/checkbox/checkbox.component.d.ts +29 -22
  49. package/elements/lib/checkbox-group/checkbox-group.component.d.ts +13 -0
  50. package/elements/lib/date-picker/date-picker.component.d.ts +17 -10
  51. package/elements/lib/directives/addon.directive.d.ts +2 -2
  52. package/elements/lib/directives/extra-error-controls.directive.d.ts +13 -0
  53. package/elements/lib/directives/form-submit.directive.d.ts +1 -1
  54. package/elements/lib/directives/form-submitter.directive.d.ts +1 -1
  55. package/elements/lib/directives/image-upload.directive.d.ts +28 -0
  56. package/elements/lib/directives/input.directive.d.ts +9 -31
  57. package/elements/lib/elements.config.d.ts +84 -0
  58. package/elements/lib/elements.module.d.ts +21 -102
  59. package/elements/lib/file-picker/file-picker.component.d.ts +14 -10
  60. package/elements/lib/form-control/form-control.component.d.ts +8 -9
  61. package/elements/lib/form-error/form-error.component.d.ts +12 -9
  62. package/elements/lib/form-group/form-group.component.d.ts +4 -7
  63. package/elements/lib/icon/icon.component.d.ts +4 -4
  64. package/elements/lib/image-picker/image-picker.component.d.ts +9 -9
  65. package/elements/lib/multi-file-control/multi-file-control.component.d.ts +58 -0
  66. package/elements/lib/pipes/date.pipe.d.ts +9 -0
  67. package/elements/lib/pipes/file-image.pipe.d.ts +1 -1
  68. package/elements/lib/pipes/file-size.pipe.d.ts +1 -1
  69. package/elements/lib/pipes/relative-time.pipe.d.ts +1 -1
  70. package/elements/lib/radio-button/radio-button.component.d.ts +18 -0
  71. package/elements/lib/radio-group/radio-group.component.d.ts +38 -0
  72. package/elements/lib/spinner/spinner.component.d.ts +4 -7
  73. package/elements/public_api.d.ts +9 -3
  74. package/esm2022/auth/lib/auth.config.mjs +16 -0
  75. package/esm2022/auth/lib/auth.interceptor.mjs +10 -7
  76. package/esm2022/auth/lib/auth.module.mjs +9 -19
  77. package/esm2022/auth/lib/auth.service.mjs +22 -13
  78. package/esm2022/auth/lib/directives/authenticated.directive.mjs +45 -11
  79. package/esm2022/auth/lib/guards/anonymous.guard.mjs +27 -51
  80. package/esm2022/auth/lib/guards/authenticated.guard.mjs +30 -54
  81. package/esm2022/auth/lib/helpers/jwt.helper.mjs +2 -2
  82. package/esm2022/auth/lib/interfaces/config.interface.mjs +2 -3
  83. package/esm2022/auth/public_api.mjs +2 -1
  84. package/esm2022/collections/lib/collections.module.mjs +53 -23
  85. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +39 -0
  86. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +52 -0
  87. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +51 -60
  88. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +86 -0
  89. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +33 -0
  90. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +62 -0
  91. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +10 -7
  92. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +26 -0
  93. package/esm2022/collections/lib/directives/collections-data.directive.mjs +26 -0
  94. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +26 -0
  95. package/esm2022/collections/lib/directives/collections-error.directive.mjs +26 -0
  96. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +22 -0
  97. package/esm2022/collections/lib/directives/collections-item.directive.mjs +26 -0
  98. package/esm2022/collections/public_api.mjs +12 -2
  99. package/esm2022/combobox/combobox/combobox-container.directive.mjs +3 -3
  100. package/esm2022/combobox/combobox/combobox.component.mjs +6 -6
  101. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  102. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  103. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +5 -5
  104. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +17 -24
  105. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +12 -15
  106. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +7 -8
  107. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +20 -15
  108. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +15 -14
  109. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +20 -27
  110. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +6 -10
  111. package/esm2022/dashboard/lib/dashboard.module.mjs +30 -27
  112. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +6 -6
  113. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +12 -15
  114. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +10 -7
  115. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -6
  116. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +5 -5
  117. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +7 -7
  118. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +11 -7
  119. package/esm2022/dialog/lib/dialog.config.mjs +8 -0
  120. package/esm2022/dialog/lib/dialog.insertion.mjs +6 -5
  121. package/esm2022/dialog/lib/dialog.interfaces.mjs +3 -1
  122. package/esm2022/dialog/lib/dialog.module.mjs +17 -25
  123. package/esm2022/dialog/lib/dialog.service.mjs +8 -5
  124. package/esm2022/dialog/lib/directives/confirm.directive.mjs +50 -0
  125. package/esm2022/dialog/public_api.mjs +3 -1
  126. package/esm2022/elements/lib/avatar/avatar.component.mjs +15 -14
  127. package/esm2022/elements/lib/button/button.component.mjs +37 -32
  128. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +86 -47
  129. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +36 -0
  130. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +64 -51
  131. package/esm2022/elements/lib/directives/addon.directive.mjs +11 -13
  132. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +43 -0
  133. package/esm2022/elements/lib/directives/form-submit.directive.mjs +6 -5
  134. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +6 -5
  135. package/esm2022/elements/lib/directives/image-upload.directive.mjs +140 -0
  136. package/esm2022/elements/lib/directives/input.directive.mjs +21 -110
  137. package/esm2022/elements/lib/elements.config.mjs +42 -0
  138. package/esm2022/elements/lib/elements.module.mjs +42 -77
  139. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +36 -24
  140. package/esm2022/elements/lib/form-control/form-control.component.mjs +21 -24
  141. package/esm2022/elements/lib/form-error/form-error.component.mjs +35 -60
  142. package/esm2022/elements/lib/form-group/form-group.component.mjs +15 -12
  143. package/esm2022/elements/lib/icon/icon.component.mjs +19 -24
  144. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +33 -19
  145. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +165 -0
  146. package/esm2022/elements/lib/pipes/date.pipe.mjs +30 -0
  147. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +6 -5
  148. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +6 -5
  149. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +6 -5
  150. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +59 -0
  151. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +102 -0
  152. package/esm2022/elements/lib/spinner/spinner.component.mjs +12 -13
  153. package/esm2022/elements/public_api.mjs +10 -4
  154. package/esm2022/http/lib/http.config.mjs +18 -0
  155. package/esm2022/http/lib/http.interfaces.mjs +4 -2
  156. package/esm2022/http/lib/http.module.mjs +9 -22
  157. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +9 -5
  158. package/esm2022/http/lib/interceptors/error.interceptor.mjs +10 -6
  159. package/esm2022/http/public_api.mjs +2 -1
  160. package/esm2022/lib/core/functions/array.utils.mjs +7 -0
  161. package/esm2022/lib/core/miscellaneous/coercion.mjs +5 -0
  162. package/esm2022/lib/core/miscellaneous/regex.mjs +41 -2
  163. package/esm2022/lib/core/services/exif.service.mjs +3 -3
  164. package/esm2022/lib/core/services/file-loader.service.mjs +3 -3
  165. package/esm2022/lib/core/services/files.service.mjs +86 -0
  166. package/esm2022/lib/core/services/image-converter.service.mjs +3 -3
  167. package/esm2022/lib/core/services/languages.service.mjs +3 -3
  168. package/esm2022/lib/core/services/network.service.mjs +5 -5
  169. package/esm2022/lib/core/services/patch.service.mjs +3 -3
  170. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +2 -7
  171. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +6 -6
  172. package/esm2022/localize/lib/localizations/dutch.localization.mjs +19 -1
  173. package/esm2022/localize/lib/localizations/english.localization.mjs +19 -1
  174. package/esm2022/localize/lib/localize.config.mjs +43 -0
  175. package/esm2022/localize/lib/localize.module.mjs +10 -54
  176. package/esm2022/localize/lib/localize.pipe.mjs +6 -5
  177. package/esm2022/localize/lib/localize.service.mjs +26 -13
  178. package/esm2022/localize/lib/localize.tokens.mjs +18 -0
  179. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +3 -2
  180. package/esm2022/localize/lib/transforms/plural.transform.mjs +5 -3
  181. package/esm2022/localize/lib/transforms/reference.transform.mjs +5 -3
  182. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +6 -10
  183. package/esm2022/localize/lib/views/localize-template.directive.mjs +6 -5
  184. package/esm2022/localize/public_api.mjs +3 -3
  185. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +6 -5
  186. package/esm2022/masking/lib/directives/date-mask.directive.mjs +6 -5
  187. package/esm2022/masking/lib/directives/input-mask.directive.mjs +6 -5
  188. package/esm2022/masking/lib/masking.module.mjs +6 -6
  189. package/esm2022/masking/lib/masking.service.mjs +3 -3
  190. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +7 -9
  191. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +8 -8
  192. package/esm2022/notifications/lib/notifications.config.mjs +8 -0
  193. package/esm2022/notifications/lib/notifications.interfaces.mjs +3 -1
  194. package/esm2022/notifications/lib/notifications.module.mjs +8 -18
  195. package/esm2022/notifications/lib/notifications.service.mjs +14 -8
  196. package/esm2022/notifications/public_api.mjs +2 -1
  197. package/esm2022/permissions/lib/directives/permission.directive.mjs +6 -5
  198. package/esm2022/permissions/lib/guards/permission.guard.mjs +23 -54
  199. package/esm2022/permissions/lib/permissions.config.mjs +20 -0
  200. package/esm2022/permissions/lib/permissions.interface.mjs +3 -1
  201. package/esm2022/permissions/lib/permissions.module.mjs +9 -23
  202. package/esm2022/permissions/lib/permissions.service.mjs +8 -5
  203. package/esm2022/permissions/public_api.mjs +2 -1
  204. package/esm2022/public_api.mjs +4 -11
  205. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +12 -13
  206. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +21 -36
  207. package/esm2022/recaptcha/lib/recaptcha.config.mjs +8 -0
  208. package/esm2022/recaptcha/lib/recaptcha.module.mjs +8 -8
  209. package/esm2022/recaptcha/public_api.mjs +2 -1
  210. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +5 -0
  211. package/esm2022/rxjs/public_api.mjs +2 -1
  212. package/esm2022/select/bravobit-bb-foundation-select.mjs +5 -0
  213. package/esm2022/select/lib/select/select.component.mjs +210 -0
  214. package/esm2022/select/lib/select-label.directive.mjs +17 -0
  215. package/esm2022/select/lib/select-option-group.directive.mjs +17 -0
  216. package/esm2022/select/lib/select-option.directive.mjs +17 -0
  217. package/esm2022/select/lib/select.module.mjs +35 -0
  218. package/esm2022/select/public_api.mjs +6 -0
  219. package/esm2022/storage/lib/storage.service.mjs +3 -3
  220. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +2 -5
  221. package/esm2022/table/lib/components/table/table.component.mjs +21 -22
  222. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +5 -5
  223. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +14 -14
  224. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +15 -17
  225. package/esm2022/table/lib/table.module.mjs +23 -21
  226. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +11 -17
  227. package/esm2022/tooltip/lib/tooltip.directive.mjs +17 -27
  228. package/esm2022/tooltip/lib/tooltip.module.mjs +7 -22
  229. package/esm2022/tooltip/public_api.mjs +2 -2
  230. package/esm2022/utils/lib/directives/autosize.directive.mjs +9 -7
  231. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +6 -5
  232. package/esm2022/utils/lib/directives/focus.directive.mjs +6 -5
  233. package/esm2022/utils/lib/directives/template.directive.mjs +6 -5
  234. package/esm2022/utils/lib/utils.module.mjs +6 -6
  235. package/fesm2022/bravobit-bb-foundation-auth.mjs +140 -175
  236. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  237. package/fesm2022/bravobit-bb-foundation-collections.mjs +451 -106
  238. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  239. package/fesm2022/bravobit-bb-foundation-combobox.mjs +18 -18
  240. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  241. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +106 -116
  242. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  243. package/fesm2022/bravobit-bb-foundation-dialog.mjs +125 -70
  244. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  245. package/fesm2022/bravobit-bb-foundation-elements.mjs +1780 -1368
  246. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  247. package/fesm2022/bravobit-bb-foundation-http.mjs +38 -27
  248. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  249. package/fesm2022/bravobit-bb-foundation-localize.mjs +310 -264
  250. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  251. package/fesm2022/bravobit-bb-foundation-masking.mjs +23 -20
  252. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  253. package/fesm2022/bravobit-bb-foundation-notifications.mjs +67 -62
  254. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  255. package/fesm2022/bravobit-bb-foundation-permissions.mjs +54 -72
  256. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  257. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +44 -54
  258. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  259. package/fesm2022/bravobit-bb-foundation-rxjs.mjs +5 -1
  260. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  261. package/fesm2022/bravobit-bb-foundation-select.mjs +288 -0
  262. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -0
  263. package/fesm2022/bravobit-bb-foundation-storage.mjs +4 -7
  264. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  265. package/fesm2022/bravobit-bb-foundation-table.mjs +67 -66
  266. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  267. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +31 -61
  268. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  269. package/fesm2022/bravobit-bb-foundation-utils.mjs +28 -23
  270. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  271. package/fesm2022/bravobit-bb-foundation.mjs +166 -222
  272. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  273. package/http/lib/http.config.d.ts +5 -0
  274. package/http/lib/http.interfaces.d.ts +3 -0
  275. package/http/lib/http.module.d.ts +2 -6
  276. package/http/public_api.d.ts +1 -0
  277. package/lib/core/functions/array.utils.d.ts +1 -0
  278. package/lib/core/miscellaneous/coercion.d.ts +2 -0
  279. package/lib/core/miscellaneous/regex.d.ts +1 -0
  280. package/lib/core/services/files.service.d.ts +19 -0
  281. package/localize/lib/interfaces/config.interfaces.d.ts +1 -1
  282. package/localize/lib/interfaces/functions.interfaces.d.ts +0 -2
  283. package/localize/lib/localizations/dutch.localization.d.ts +18 -0
  284. package/localize/lib/localizations/english.localization.d.ts +18 -0
  285. package/localize/lib/localize.config.d.ts +6 -0
  286. package/localize/lib/localize.module.d.ts +2 -7
  287. package/localize/lib/localize.pipe.d.ts +1 -1
  288. package/localize/lib/localize.service.d.ts +4 -4
  289. package/localize/lib/localize.tokens.d.ts +11 -0
  290. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  291. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  292. package/localize/public_api.d.ts +2 -2
  293. package/masking/lib/directives/currency-mask.directive.d.ts +1 -1
  294. package/masking/lib/directives/date-mask.directive.d.ts +1 -1
  295. package/masking/lib/directives/input-mask.directive.d.ts +1 -1
  296. package/masking/lib/masking.module.d.ts +1 -1
  297. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  298. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -1
  299. package/notifications/lib/notifications.config.d.ts +3 -0
  300. package/notifications/lib/notifications.interfaces.d.ts +2 -1
  301. package/notifications/lib/notifications.module.d.ts +1 -5
  302. package/notifications/public_api.d.ts +1 -0
  303. package/package.json +31 -36
  304. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  305. package/permissions/lib/guards/permission.guard.d.ts +3 -15
  306. package/permissions/lib/permissions.config.d.ts +3 -0
  307. package/permissions/lib/permissions.interface.d.ts +2 -1
  308. package/permissions/lib/permissions.module.d.ts +1 -1
  309. package/permissions/public_api.d.ts +1 -0
  310. package/public_api.d.ts +3 -10
  311. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +4 -7
  312. package/recaptcha/lib/recaptcha-loader.service.d.ts +9 -13
  313. package/recaptcha/lib/recaptcha.config.d.ts +3 -0
  314. package/recaptcha/lib/recaptcha.module.d.ts +2 -2
  315. package/recaptcha/public_api.d.ts +1 -0
  316. package/rxjs/lib/observables/get-route-param.observable.d.ts +3 -0
  317. package/rxjs/public_api.d.ts +1 -0
  318. package/{theming → select}/index.d.ts +1 -1
  319. package/select/lib/select/select.component.d.ts +75 -0
  320. package/select/lib/select-label.directive.d.ts +8 -0
  321. package/select/lib/select-option-group.directive.d.ts +8 -0
  322. package/select/lib/select-option.directive.d.ts +8 -0
  323. package/select/lib/select.module.d.ts +10 -0
  324. package/select/public_api.d.ts +5 -0
  325. package/styles/colors.scss +20 -0
  326. package/styles/grid.scss +98 -0
  327. package/styles/reset.scss +65 -0
  328. package/styles/theme.scss +88 -0
  329. package/table/lib/components/table/table.component.d.ts +4 -6
  330. package/table/lib/components/table-cell/table-cell.component.d.ts +1 -1
  331. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +4 -7
  332. package/table/lib/components/table-pager/table-pager.component.d.ts +4 -8
  333. package/table/lib/table.module.d.ts +1 -5
  334. package/tooltip/lib/tooltip-container/tooltip-container.component.d.ts +3 -4
  335. package/tooltip/lib/tooltip.directive.d.ts +8 -17
  336. package/tooltip/lib/tooltip.module.d.ts +2 -5
  337. package/tooltip/public_api.d.ts +1 -1
  338. package/utils/lib/directives/autosize.directive.d.ts +2 -1
  339. package/utils/lib/directives/focus-trap.directive.d.ts +1 -1
  340. package/utils/lib/directives/focus.directive.d.ts +1 -1
  341. package/utils/lib/directives/template.directive.d.ts +1 -1
  342. package/utils/lib/utils.module.d.ts +1 -1
  343. package/auth/lib/directives/abstract.directive.d.ts +0 -12
  344. package/collections/lib/components/collections.directive.d.ts +0 -17
  345. package/controls/index.d.ts +0 -5
  346. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +0 -51
  347. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +0 -23
  348. package/controls/lib/checkbox/checkbox.module.d.ts +0 -10
  349. package/controls/lib/control-error/control-error/control-error.animation.d.ts +0 -1
  350. package/controls/lib/control-error/control-error/control-error.component.d.ts +0 -17
  351. package/controls/lib/control-error/control-error-submit.directive.d.ts +0 -15
  352. package/controls/lib/control-error/control-error.defaults.d.ts +0 -2
  353. package/controls/lib/control-error/control-error.interface.d.ts +0 -12
  354. package/controls/lib/control-error/control-error.module.d.ts +0 -9
  355. package/controls/lib/control-error/control-error.utils.d.ts +0 -3
  356. package/controls/lib/controls.interfaces.d.ts +0 -4
  357. package/controls/lib/controls.module.d.ts +0 -14
  358. package/controls/lib/form-control/form-control/form-control.component.d.ts +0 -29
  359. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +0 -6
  360. package/controls/lib/form-control/form-control-input.directive.d.ts +0 -35
  361. package/controls/lib/form-control/form-control.module.d.ts +0 -12
  362. package/controls/lib/radio/radio-button/radio-button.component.d.ts +0 -24
  363. package/controls/lib/radio/radio-group/radio-group.component.d.ts +0 -53
  364. package/controls/lib/radio/radio.module.d.ts +0 -11
  365. package/controls/lib/toggle/toggle/toggle.component.d.ts +0 -45
  366. package/controls/lib/toggle/toggle-group/toggle-group.component.d.ts +0 -23
  367. package/controls/lib/toggle/toggle.module.d.ts +0 -10
  368. package/controls/public_api.d.ts +0 -20
  369. package/elements/lib/dropdown/dropdown.component.d.ts +0 -21
  370. package/elements/lib/tag/tag.component.d.ts +0 -7
  371. package/esm2022/auth/lib/directives/abstract.directive.mjs +0 -40
  372. package/esm2022/collections/lib/components/collections.directive.mjs +0 -43
  373. package/esm2022/controls/bravobit-bb-foundation-controls.mjs +0 -5
  374. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +0 -178
  375. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +0 -68
  376. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +0 -20
  377. package/esm2022/controls/lib/control-error/control-error/control-error.animation.mjs +0 -14
  378. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +0 -63
  379. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +0 -47
  380. package/esm2022/controls/lib/control-error/control-error.defaults.mjs +0 -26
  381. package/esm2022/controls/lib/control-error/control-error.interface.mjs +0 -3
  382. package/esm2022/controls/lib/control-error/control-error.module.mjs +0 -19
  383. package/esm2022/controls/lib/control-error/control-error.utils.mjs +0 -20
  384. package/esm2022/controls/lib/controls.interfaces.mjs +0 -2
  385. package/esm2022/controls/lib/controls.module.mjs +0 -62
  386. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +0 -79
  387. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +0 -22
  388. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +0 -124
  389. package/esm2022/controls/lib/form-control/form-control.module.mjs +0 -34
  390. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +0 -75
  391. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +0 -168
  392. package/esm2022/controls/lib/radio/radio.module.mjs +0 -21
  393. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +0 -153
  394. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +0 -62
  395. package/esm2022/controls/lib/toggle/toggle.module.mjs +0 -20
  396. package/esm2022/controls/public_api.mjs +0 -21
  397. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +0 -100
  398. package/esm2022/elements/lib/tag/tag.component.mjs +0 -18
  399. package/esm2022/lib/core/mixins/can-disable.mjs +0 -16
  400. package/esm2022/lib/core/mixins/can-hide-errors.mjs +0 -16
  401. package/esm2022/lib/core/mixins/can-load.mjs +0 -16
  402. package/esm2022/lib/core/mixins/constructor.mjs +0 -2
  403. package/esm2022/lib/core/mixins/has-error.mjs +0 -16
  404. package/esm2022/lib/core/mixins/is-focused.mjs +0 -16
  405. package/esm2022/lib/core/mixins/is-grouped.mjs +0 -16
  406. package/esm2022/lib/core/mixins/is-readonly.mjs +0 -16
  407. package/esm2022/lib/core/mixins/is-required.mjs +0 -16
  408. package/esm2022/lib/core/services/clipboard.service.mjs +0 -70
  409. package/esm2022/localize/lib/interfaces/transforms.interfaces.mjs +0 -3
  410. package/esm2022/localize/lib/locale.token.mjs +0 -14
  411. package/esm2022/theming/bravobit-bb-foundation-theming.mjs +0 -5
  412. package/esm2022/theming/lib/themes/checkbox-group.theme.mjs +0 -17
  413. package/esm2022/theming/lib/themes/checkbox.theme.mjs +0 -35
  414. package/esm2022/theming/lib/themes/control-error.theme.mjs +0 -11
  415. package/esm2022/theming/lib/themes/form-control-addon.theme.mjs +0 -6
  416. package/esm2022/theming/lib/themes/form-control.theme.mjs +0 -45
  417. package/esm2022/theming/lib/themes/radio-button.theme.mjs +0 -29
  418. package/esm2022/theming/lib/themes/radio-group.theme.mjs +0 -20
  419. package/esm2022/theming/lib/themes/toggle-group.theme.mjs +0 -17
  420. package/esm2022/theming/lib/themes/toggle.theme.mjs +0 -28
  421. package/esm2022/theming/lib/theming.data.mjs +0 -90
  422. package/esm2022/theming/lib/theming.directive.mjs +0 -38
  423. package/esm2022/theming/lib/theming.interface.mjs +0 -2
  424. package/esm2022/theming/lib/theming.module.mjs +0 -16
  425. package/esm2022/theming/lib/utils/theming.variable.mjs +0 -41
  426. package/esm2022/theming/public_api.mjs +0 -10
  427. package/fesm2022/bravobit-bb-foundation-controls.mjs +0 -1191
  428. package/fesm2022/bravobit-bb-foundation-controls.mjs.map +0 -1
  429. package/fesm2022/bravobit-bb-foundation-theming.mjs +0 -381
  430. package/fesm2022/bravobit-bb-foundation-theming.mjs.map +0 -1
  431. package/lib/core/mixins/can-disable.d.ts +0 -6
  432. package/lib/core/mixins/can-hide-errors.d.ts +0 -6
  433. package/lib/core/mixins/can-load.d.ts +0 -6
  434. package/lib/core/mixins/constructor.d.ts +0 -1
  435. package/lib/core/mixins/has-error.d.ts +0 -6
  436. package/lib/core/mixins/is-focused.d.ts +0 -6
  437. package/lib/core/mixins/is-grouped.d.ts +0 -6
  438. package/lib/core/mixins/is-readonly.d.ts +0 -6
  439. package/lib/core/mixins/is-required.d.ts +0 -6
  440. package/lib/core/services/clipboard.service.d.ts +0 -18
  441. package/localize/lib/interfaces/transforms.interfaces.d.ts +0 -3
  442. package/localize/lib/locale.token.d.ts +0 -3
  443. package/theming/lib/themes/checkbox-group.theme.d.ts +0 -16
  444. package/theming/lib/themes/checkbox.theme.d.ts +0 -32
  445. package/theming/lib/themes/control-error.theme.d.ts +0 -9
  446. package/theming/lib/themes/form-control-addon.theme.d.ts +0 -5
  447. package/theming/lib/themes/form-control.theme.d.ts +0 -32
  448. package/theming/lib/themes/radio-button.theme.d.ts +0 -26
  449. package/theming/lib/themes/radio-group.theme.d.ts +0 -17
  450. package/theming/lib/themes/toggle-group.theme.d.ts +0 -16
  451. package/theming/lib/themes/toggle.theme.d.ts +0 -25
  452. package/theming/lib/theming.data.d.ts +0 -17
  453. package/theming/lib/theming.directive.d.ts +0 -13
  454. package/theming/lib/theming.interface.d.ts +0 -34
  455. package/theming/lib/theming.module.d.ts +0 -7
  456. package/theming/lib/utils/theming.variable.d.ts +0 -16
  457. package/theming/public_api.d.ts +0 -9
@@ -1,62 +0,0 @@
1
- import { controlErrorDefaults } from './control-error/control-error.defaults';
2
- import { BBI_CONTROL_ERRORS } from './control-error/control-error.interface';
3
- import { ControlErrorModule } from './control-error/control-error.module';
4
- import { FormControlModule } from './form-control/form-control.module';
5
- import { NgModule } from '@angular/core';
6
- import { CheckboxModule } from './checkbox/checkbox.module';
7
- import { ToggleModule } from './toggle/toggle.module';
8
- import { RadioModule } from './radio/radio.module';
9
- import * as i0 from "@angular/core";
10
- export class ControlsModule {
11
- static forRoot(config) {
12
- return {
13
- ngModule: ControlsModule,
14
- providers: [
15
- {
16
- provide: BBI_CONTROL_ERRORS,
17
- useValue: { ...controlErrorDefaults, ...(config?.errors ?? {}) },
18
- multi: true
19
- }
20
- ]
21
- };
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ControlsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
25
- CheckboxModule,
26
- RadioModule,
27
- ToggleModule,
28
- ControlErrorModule], exports: [FormControlModule,
29
- CheckboxModule,
30
- RadioModule,
31
- ToggleModule,
32
- ControlErrorModule] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
34
- CheckboxModule,
35
- RadioModule,
36
- ToggleModule,
37
- ControlErrorModule, FormControlModule,
38
- CheckboxModule,
39
- RadioModule,
40
- ToggleModule,
41
- ControlErrorModule] }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ControlsModule, decorators: [{
44
- type: NgModule,
45
- args: [{
46
- imports: [
47
- FormControlModule,
48
- CheckboxModule,
49
- RadioModule,
50
- ToggleModule,
51
- ControlErrorModule
52
- ],
53
- exports: [
54
- FormControlModule,
55
- CheckboxModule,
56
- RadioModule,
57
- ToggleModule,
58
- ControlErrorModule
59
- ]
60
- }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb250cm9scy9zcmMvbGliL2NvbnRyb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFrQmpELE1BQU0sT0FBTyxjQUFjO0lBRXZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBdUI7UUFDbEMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsRUFBQyxHQUFHLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFDO29CQUM5RCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBYlEsY0FBYzsrR0FBZCxjQUFjLFlBZG5CLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0IsYUFHbEIsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGtCQUFrQjsrR0FHYixjQUFjLFlBZG5CLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0IsRUFHbEIsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGtCQUFrQjs7MkZBR2IsY0FBYztrQkFoQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixrQkFBa0I7cUJBQ3JCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb250cm9sRXJyb3JEZWZhdWx0c30gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuZGVmYXVsdHMnO1xuaW1wb3J0IHtCQklfQ09OVFJPTF9FUlJPUlN9IGZyb20gJy4vY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRyb2xFcnJvck1vZHVsZX0gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IubW9kdWxlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2xNb2R1bGV9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5tb2R1bGUnO1xuaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoZWNrYm94TW9kdWxlfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQge0NvbnRyb2xzQ29uZmlnfSBmcm9tICcuL2NvbnRyb2xzLmludGVyZmFjZXMnO1xuaW1wb3J0IHtUb2dnbGVNb2R1bGV9IGZyb20gJy4vdG9nZ2xlL3RvZ2dsZS5tb2R1bGUnO1xuaW1wb3J0IHtSYWRpb01vZHVsZX0gZnJvbSAnLi9yYWRpby9yYWRpby5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybUNvbnRyb2xNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBSYWRpb01vZHVsZSxcbiAgICAgICAgVG9nZ2xlTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUNvbnRyb2xNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBSYWRpb01vZHVsZSxcbiAgICAgICAgVG9nZ2xlTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IENvbnRyb2xzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb250cm9sc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRyb2xzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBCQklfQ09OVFJPTF9FUlJPUlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7Li4uY29udHJvbEVycm9yRGVmYXVsdHMsIC4uLihjb25maWc/LmVycm9ycyA/PyB7fSl9LFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,79 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, Input, Optional, ViewEncapsulation } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { shouldShowErrors } from '../../control-error/control-error.utils';
4
- import { BbiFormControlInput } from '../form-control-input.directive';
5
- import { BehaviorSubject } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../control-error/control-error-submit.directive";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "../../control-error/control-error/control-error.component";
10
- import * as i4 from "@bravobit/bb-foundation/utils";
11
- let nextUniqueId = 0;
12
- export class BbiFormControl {
13
- // Grouped.
14
- get grouped() {
15
- return this._grouped;
16
- }
17
- set grouped(value) {
18
- const newValue = coerceBooleanProperty(value);
19
- if (newValue !== this.grouped) {
20
- this._grouped = newValue;
21
- this._changeDetectorRef.markForCheck();
22
- }
23
- }
24
- constructor(_changeDetectorRef, _errorSubmit) {
25
- this._changeDetectorRef = _changeDetectorRef;
26
- this._errorSubmit = _errorSubmit;
27
- // Readonly data.
28
- this.labelId = `bbi-form-control-${nextUniqueId++}`;
29
- // Inputs.
30
- this.label = null;
31
- this.hint = null;
32
- this.errorMode = 'blur';
33
- // State.
34
- this.validationErrors$ = new BehaviorSubject(null);
35
- this._grouped = false;
36
- }
37
- ngDoCheck() {
38
- const control = this.formControlInput?.control;
39
- const submitted = this._errorSubmit?.submitted;
40
- const focused = this.formControlInput?.focused;
41
- const readonly = this.formControlInput?.readonly;
42
- const hasErrors = shouldShowErrors(this.errorMode, control, submitted, focused, readonly);
43
- const errors = this.formControlInput?.errors ?? null;
44
- const newValue = hasErrors ? errors : null;
45
- const equal = JSON.stringify(newValue) === JSON.stringify(this.validationErrors$.getValue());
46
- if (equal) {
47
- return;
48
- }
49
- this.validationErrors$.next(newValue);
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.BbiControlErrorSubmit, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BbiFormControl, selector: "bbi-form-control", inputs: { label: "label", hint: "hint", errorMode: "errorMode", grouped: "grouped" }, host: { properties: { "class.grouped": "grouped", "class.disabled": "formControlInput?.disabled", "class.required": "formControlInput?.required", "class.readonly": "formControlInput?.readonly", "class.focused": "formControlInput?.focused", "class.error": "validationErrors$?.getValue()" }, classAttribute: "bbi-form-control" }, queries: [{ propertyName: "formControlInput", first: true, predicate: BbiFormControlInput, descendants: true }], ngImport: i0, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bbi-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-form-control-container\">\n <ng-content select=\"[bbi-form-control-addon=prefix]\"></ng-content>\n <ng-content select=\"input[bbiFormControlInput]\"></ng-content>\n <ng-content select=\"[bbi-form-control-addon=suffix]\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"validationErrors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n\n<div *ngIf=\"hint as hintContent\"\n class=\"bbi-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n</div>\n", styles: [".bbi-form-control{display:block}.bbi-form-control.grouped{margin-bottom:var(--form-control-grouping, 20px)}.bbi-form-control.disabled{pointer-events:none;opacity:var(--form-control-disabled-opacity, .25)}.bbi-form-control.disabled>.bbi-form-control-container{color:var(--form-control-disabled-color, #111111);background:var(--form-control-disabled-background, white);border-radius:var(--form-control-disabled-border-radius, 6px);border:var(--form-control-disabled-border-width, 1px) var(--form-control-disabled-border-style, solid) var(--form-control-disabled-border-color, #212121)}.bbi-form-control.required:not([data-required-visually-hidden])>.bbi-form-control-label:after{content:\"*\";color:#bd322a;font-size:14px;vertical-align:text-top}.bbi-form-control:not(.readonly).focused>.bbi-form-control-container{color:var(--form-control-focused-color, #111111);box-shadow:var(--form-control-focused-shadow, 0 0 0 3px rgba(0, 123, 255, .2));background:var(--form-control-focused-background, white);border-radius:var(--form-control-focused-border-radius, 6px);border:var(--form-control-focused-border-width, 1px) var(--form-control-focused-border-style, solid) var(--form-control-focused-border-color, #212121)}.bbi-form-control:not(.readonly).error>.bbi-form-control-label{color:var(--form-control-error-color, var(--error-color, #bd322a))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container{color:var(--form-control-error-color, var(--error-color, #bd322a));border-color:var(--form-control-error-color, var(--error-color, #bd322a));background:var(--form-control-error-background, rgba(189, 50, 42, .1))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container>input::placeholder{color:var(--form-control-error-placeholder-color, rgba(189, 50, 42, .4))}.bbi-form-control-label{color:#525252;display:block;font-size:14px;font-weight:400;margin-bottom:4px}.bbi-form-control-container{display:flex;align-items:center;color:var(--form-control-color, #111111);border-radius:var(--form-control-border-radius, 6px);background-color:var(--form-control-background, white);border:var(--form-control-border-width, 1px) var(--form-control-border-style, solid) var(--form-control-border-color, rgba(67, 90, 111, .3))}.bbi-form-control-container>input{width:100%;border:none;height:40px;color:inherit;padding:0 10px;background-color:transparent}.bbi-form-control-container>input::placeholder{color:#d2d2d2}.bbi-form-control-hint{display:block;color:#525252;font-size:13px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbiControlError, selector: "bbi-control-error", inputs: ["errors"] }, { kind: "directive", type: i4.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControl, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'bbi-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
57
- 'class': 'bbi-form-control',
58
- '[class.grouped]': 'grouped',
59
- '[class.disabled]': 'formControlInput?.disabled',
60
- '[class.required]': 'formControlInput?.required',
61
- '[class.readonly]': 'formControlInput?.readonly',
62
- '[class.focused]': 'formControlInput?.focused',
63
- '[class.error]': 'validationErrors$?.getValue()'
64
- }, preserveWhitespaces: false, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bbi-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-form-control-container\">\n <ng-content select=\"[bbi-form-control-addon=prefix]\"></ng-content>\n <ng-content select=\"input[bbiFormControlInput]\"></ng-content>\n <ng-content select=\"[bbi-form-control-addon=suffix]\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"validationErrors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n\n<div *ngIf=\"hint as hintContent\"\n class=\"bbi-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n</div>\n", styles: [".bbi-form-control{display:block}.bbi-form-control.grouped{margin-bottom:var(--form-control-grouping, 20px)}.bbi-form-control.disabled{pointer-events:none;opacity:var(--form-control-disabled-opacity, .25)}.bbi-form-control.disabled>.bbi-form-control-container{color:var(--form-control-disabled-color, #111111);background:var(--form-control-disabled-background, white);border-radius:var(--form-control-disabled-border-radius, 6px);border:var(--form-control-disabled-border-width, 1px) var(--form-control-disabled-border-style, solid) var(--form-control-disabled-border-color, #212121)}.bbi-form-control.required:not([data-required-visually-hidden])>.bbi-form-control-label:after{content:\"*\";color:#bd322a;font-size:14px;vertical-align:text-top}.bbi-form-control:not(.readonly).focused>.bbi-form-control-container{color:var(--form-control-focused-color, #111111);box-shadow:var(--form-control-focused-shadow, 0 0 0 3px rgba(0, 123, 255, .2));background:var(--form-control-focused-background, white);border-radius:var(--form-control-focused-border-radius, 6px);border:var(--form-control-focused-border-width, 1px) var(--form-control-focused-border-style, solid) var(--form-control-focused-border-color, #212121)}.bbi-form-control:not(.readonly).error>.bbi-form-control-label{color:var(--form-control-error-color, var(--error-color, #bd322a))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container{color:var(--form-control-error-color, var(--error-color, #bd322a));border-color:var(--form-control-error-color, var(--error-color, #bd322a));background:var(--form-control-error-background, rgba(189, 50, 42, .1))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container>input::placeholder{color:var(--form-control-error-placeholder-color, rgba(189, 50, 42, .4))}.bbi-form-control-label{color:#525252;display:block;font-size:14px;font-weight:400;margin-bottom:4px}.bbi-form-control-container{display:flex;align-items:center;color:var(--form-control-color, #111111);border-radius:var(--form-control-border-radius, 6px);background-color:var(--form-control-background, white);border:var(--form-control-border-width, 1px) var(--form-control-border-style, solid) var(--form-control-border-color, rgba(67, 90, 111, .3))}.bbi-form-control-container>input{width:100%;border:none;height:40px;color:inherit;padding:0 10px;background-color:transparent}.bbi-form-control-container>input::placeholder{color:#d2d2d2}.bbi-form-control-hint{display:block;color:#525252;font-size:13px;margin-top:4px}\n"] }]
65
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.BbiControlErrorSubmit, decorators: [{
66
- type: Optional
67
- }] }], propDecorators: { formControlInput: [{
68
- type: ContentChild,
69
- args: [BbiFormControlInput, { static: false }]
70
- }], label: [{
71
- type: Input
72
- }], hint: [{
73
- type: Input
74
- }], errorMode: [{
75
- type: Input
76
- }], grouped: [{
77
- type: Input
78
- }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFXLEtBQUssRUFBRSxRQUFRLEVBQWUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHNUosT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBRXJDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQW1CckIsTUFBTSxPQUFPLGNBQWM7SUFnQnZCLFdBQVc7SUFDWCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFJRCxZQUFvQixrQkFBcUMsRUFDekIsWUFBb0M7UUFEaEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUEvQnBFLGlCQUFpQjtRQUNSLFlBQU8sR0FBVyxvQkFBb0IsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUtoRSxVQUFVO1FBQ0QsVUFBSyxHQUFxQyxJQUFJLENBQUM7UUFDL0MsU0FBSSxHQUFxQyxJQUFJLENBQUM7UUFDOUMsY0FBUyxHQUFxQixNQUFNLENBQUM7UUFFOUMsU0FBUztRQUNULHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQWdCL0QsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUlsQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDO1FBQ2pELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUUzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQW5EUSxjQUFjO2tHQUFkLGNBQWMsb2dCQU1ULG1CQUFtQixnRENsQ3JDLHl5QkFxQkE7OzJGRE9hLGNBQWM7a0JBakIxQixTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLGlCQUFpQixFQUFFLFNBQVM7d0JBQzVCLGtCQUFrQixFQUFFLDRCQUE0Qjt3QkFDaEQsa0JBQWtCLEVBQUUsNEJBQTRCO3dCQUNoRCxrQkFBa0IsRUFBRSw0QkFBNEI7d0JBQ2hELGlCQUFpQixFQUFFLDJCQUEyQjt3QkFDOUMsZUFBZSxFQUFFLCtCQUErQjtxQkFDbkQsdUJBQ29CLEtBQUs7OzBCQW1DYixRQUFRO3lDQTNCK0IsZ0JBQWdCO3NCQUFuRSxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFHekMsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9GLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRG9DaGVjaywgSW5wdXQsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYmlDb250cm9sRXJyb3JTdWJtaXR9IGZyb20gJy4uLy4uL2NvbnRyb2wtZXJyb3IvY29udHJvbC1lcnJvci1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7Q29udHJvbEVycm9yTW9kZX0gZnJvbSAnLi4vLi4vY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtzaG91bGRTaG93RXJyb3JzfSBmcm9tICcuLi8uLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IudXRpbHMnO1xuaW1wb3J0IHtCYmlGb3JtQ29udHJvbElucHV0fSBmcm9tICcuLi9mb3JtLWNvbnRyb2wtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7VmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYmktZm9ybS1jb250cm9sJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiaS1mb3JtLWNvbnRyb2wnLFxuICAgICAgICAnW2NsYXNzLmdyb3VwZWRdJzogJ2dyb3VwZWQnLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdmb3JtQ29udHJvbElucHV0Py5kaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MucmVxdWlyZWRdJzogJ2Zvcm1Db250cm9sSW5wdXQ/LnJlcXVpcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5yZWFkb25seV0nOiAnZm9ybUNvbnRyb2xJbnB1dD8ucmVhZG9ubHknLFxuICAgICAgICAnW2NsYXNzLmZvY3VzZWRdJzogJ2Zvcm1Db250cm9sSW5wdXQ/LmZvY3VzZWQnLFxuICAgICAgICAnW2NsYXNzLmVycm9yXSc6ICd2YWxpZGF0aW9uRXJyb3JzJD8uZ2V0VmFsdWUoKSdcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiaUZvcm1Db250cm9sIGltcGxlbWVudHMgRG9DaGVjayB7XG5cbiAgICAvLyBSZWFkb25seSBkYXRhLlxuICAgIHJlYWRvbmx5IGxhYmVsSWQ6IHN0cmluZyA9IGBiYmktZm9ybS1jb250cm9sLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIC8vIFZpZXdzLlxuICAgIEBDb250ZW50Q2hpbGQoQmJpRm9ybUNvbnRyb2xJbnB1dCwge3N0YXRpYzogZmFsc2V9KSBmb3JtQ29udHJvbElucHV0PzogQmJpRm9ybUNvbnRyb2xJbnB1dDtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhpbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBlcnJvck1vZGU6IENvbnRyb2xFcnJvck1vZGUgPSAnYmx1cic7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICB2YWxpZGF0aW9uRXJyb3JzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuXG4gICAgLy8gR3JvdXBlZC5cbiAgICBASW5wdXQoKVxuICAgIGdldCBncm91cGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JvdXBlZDtcbiAgICB9XG5cbiAgICBzZXQgZ3JvdXBlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLmdyb3VwZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2dyb3VwZWQgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ3JvdXBlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Vycm9yU3VibWl0PzogQmJpQ29udHJvbEVycm9yU3VibWl0KSB7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtQ29udHJvbElucHV0Py5jb250cm9sO1xuICAgICAgICBjb25zdCBzdWJtaXR0ZWQgPSB0aGlzLl9lcnJvclN1Ym1pdD8uc3VibWl0dGVkO1xuICAgICAgICBjb25zdCBmb2N1c2VkID0gdGhpcy5mb3JtQ29udHJvbElucHV0Py5mb2N1c2VkO1xuICAgICAgICBjb25zdCByZWFkb25seSA9IHRoaXMuZm9ybUNvbnRyb2xJbnB1dD8ucmVhZG9ubHk7XG4gICAgICAgIGNvbnN0IGhhc0Vycm9ycyA9IHNob3VsZFNob3dFcnJvcnModGhpcy5lcnJvck1vZGUsIGNvbnRyb2wsIHN1Ym1pdHRlZCwgZm9jdXNlZCwgcmVhZG9ubHkpO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSB0aGlzLmZvcm1Db250cm9sSW5wdXQ/LmVycm9ycyA/PyBudWxsO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc0Vycm9ycyA/IGVycm9ycyA6IG51bGw7XG5cbiAgICAgICAgY29uc3QgZXF1YWwgPSBKU09OLnN0cmluZ2lmeShuZXdWYWx1ZSkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMudmFsaWRhdGlvbkVycm9ycyQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGlmIChlcXVhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzJC5uZXh0KG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBjb2VyY2VkIGlucHV0cy5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oaW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZXJyb3JNb2RlOiBDb250cm9sRXJyb3JNb2RlO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9ncm91cGVkOiBCb29sZWFuSW5wdXQ7XG5cbn1cbiIsIjwhLS0gTGFiZWwgb2YgdGhlIGZvcm0gY29udHJvbC4gLS0+XG48bGFiZWwgKm5nSWY9XCJsYWJlbCBhcyBsYWJlbENvbnRlbnRcIlxuICAgICAgIFthdHRyLmZvcl09XCJsYWJlbElkXCJcbiAgICAgICBjbGFzcz1cImJiaS1mb3JtLWNvbnRyb2wtbGFiZWxcIj5cbiAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwibGFiZWxDb250ZW50XCI+e3sgbGFiZWxDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbjwvbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJiYmktZm9ybS1jb250cm9sLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltiYmktZm9ybS1jb250cm9sLWFkZG9uPXByZWZpeF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRbYmJpRm9ybUNvbnRyb2xJbnB1dF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JiaS1mb3JtLWNvbnRyb2wtYWRkb249c3VmZml4XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48YmJpLWNvbnRyb2wtZXJyb3IgKm5nSWY9XCJ2YWxpZGF0aW9uRXJyb3JzJCB8IGFzeW5jIGFzIGVycm9yc1wiXG4gICAgICAgICAgICAgICAgICAgW2Vycm9yc109XCJlcnJvcnNcIj5cbjwvYmJpLWNvbnRyb2wtZXJyb3I+XG5cbjxkaXYgKm5nSWY9XCJoaW50IGFzIGhpbnRDb250ZW50XCJcbiAgICAgY2xhc3M9XCJiYmktZm9ybS1jb250cm9sLWhpbnRcIj5cbiAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiaGludENvbnRlbnRcIj57eyBoaW50Q29udGVudCB9fTwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbiFormControlAddon {
4
- constructor() {
5
- // Inputs.
6
- this.type = null;
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControlAddon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BbiFormControlAddon, selector: "[bbi-form-control-addon]", inputs: { type: ["bbi-form-control-addon", "type"] }, host: { properties: { "class.prefix": "type === 'prefix'", "class.suffix": "type === 'suffix'" }, classAttribute: "bbi-form-control-addon" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bbi-form-control-addon{margin:0 10px;color:inherit;display:block}.bbi-form-control-addon.suffix{margin-left:0}.bbi-form-control-addon.prefix{margin-right:0}a.bbi-form-control-addon,button.bbi-form-control-addon{width:32px;height:32px;border:none;display:flex;appearance:none;margin-right:4px;border-radius:6px;align-items:center;text-decoration:none;justify-content:center;background-color:transparent}a.bbi-form-control-addon,a.bbi-form-control-addon:visited,button.bbi-form-control-addon,button.bbi-form-control-addon:visited{color:inherit}a.bbi-form-control-addon:hover,button.bbi-form-control-addon:hover{background-color:#1565c014}a.bbi-form-control-addon:focus,button.bbi-form-control-addon:focus{background-color:#1565c01f}a.bbi-form-control-addon:active,button.bbi-form-control-addon:active{background-color:#1565c029}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControlAddon, decorators: [{
12
- type: Component,
13
- args: [{ selector: '[bbi-form-control-addon]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
- 'class': 'bbi-form-control-addon',
15
- '[class.prefix]': 'type === \'prefix\'',
16
- '[class.suffix]': 'type === \'suffix\''
17
- }, preserveWhitespaces: false, template: "<ng-content></ng-content>\n", styles: [".bbi-form-control-addon{margin:0 10px;color:inherit;display:block}.bbi-form-control-addon.suffix{margin-left:0}.bbi-form-control-addon.prefix{margin-right:0}a.bbi-form-control-addon,button.bbi-form-control-addon{width:32px;height:32px;border:none;display:flex;appearance:none;margin-right:4px;border-radius:6px;align-items:center;text-decoration:none;justify-content:center;background-color:transparent}a.bbi-form-control-addon,a.bbi-form-control-addon:visited,button.bbi-form-control-addon,button.bbi-form-control-addon:visited{color:inherit}a.bbi-form-control-addon:hover,button.bbi-form-control-addon:hover{background-color:#1565c014}a.bbi-form-control-addon:focus,button.bbi-form-control-addon:focus{background-color:#1565c01f}a.bbi-form-control-addon:active,button.bbi-form-control-addon:active{background-color:#1565c029}\n"] }]
18
- }], propDecorators: { type: [{
19
- type: Input,
20
- args: ['bbi-form-control-addon']
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWFkZG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLWFkZG9uL2Zvcm0tY29udHJvbC1hZGRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC1hZGRvbi9mb3JtLWNvbnRyb2wtYWRkb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBZTNGLE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFlSSxVQUFVO1FBQ3VCLFNBQUksR0FBK0IsSUFBSSxDQUFDO0tBRTVFOzhHQUxZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLG9RQ2ZoQyw2QkFDQTs7MkZEY2EsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxnQkFBZ0IsRUFBRSxxQkFBcUI7d0JBQ3ZDLGdCQUFnQixFQUFFLHFCQUFxQjtxQkFDMUMsdUJBQ29CLEtBQUs7OEJBS08sSUFBSTtzQkFBcEMsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW2JiaS1mb3JtLWNvbnRyb2wtYWRkb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jb250cm9sLWFkZG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWNvbnRyb2wtYWRkb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiaS1mb3JtLWNvbnRyb2wtYWRkb24nLFxuICAgICAgICAnW2NsYXNzLnByZWZpeF0nOiAndHlwZSA9PT0gXFwncHJlZml4XFwnJyxcbiAgICAgICAgJ1tjbGFzcy5zdWZmaXhdJzogJ3R5cGUgPT09IFxcJ3N1ZmZpeFxcJydcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiaUZvcm1Db250cm9sQWRkb24ge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgnYmJpLWZvcm0tY29udHJvbC1hZGRvbicpIHR5cGU6ICdwcmVmaXgnIHwgJ3N1ZmZpeCcgfCBudWxsID0gbnVsbDtcblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,124 +0,0 @@
1
- import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';
2
- import { delay, distinctUntilChanged, map, pairwise, startWith, switchMap } from 'rxjs/operators';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { Validators } from '@angular/forms';
5
- import { fromEvent, merge, of, Subscription } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./form-control/form-control.component";
8
- import * as i2 from "@angular/forms";
9
- export class BbiFormControlInput {
10
- constructor(_elementRef, _formControl, _changeDetectorRef, _ngControl) {
11
- this._elementRef = _elementRef;
12
- this._formControl = _formControl;
13
- this._changeDetectorRef = _changeDetectorRef;
14
- this._ngControl = _ngControl;
15
- // Readonly data.
16
- this.labelId = this._formControl?.labelId ?? null;
17
- // State.
18
- this.errors = null;
19
- this.focused = false;
20
- // Subscriptions.
21
- this._subscription = new Subscription();
22
- this._disabled = false;
23
- this._readonly = false;
24
- this._required = false;
25
- }
26
- ngOnInit() {
27
- this.handleControlDisabledStatus();
28
- this.handleControlErrorStatus();
29
- this.handleFocusedState();
30
- }
31
- ngOnDestroy() {
32
- this._subscription?.unsubscribe();
33
- }
34
- get control() {
35
- return this._ngControl ?? null;
36
- }
37
- get disabled() { return this._disabled; }
38
- set disabled(value) {
39
- const newValue = coerceBooleanProperty(value);
40
- if (newValue !== this.disabled) {
41
- this._disabled = newValue;
42
- this._changeDetectorRef.markForCheck();
43
- }
44
- }
45
- get readonly() { return this._readonly; }
46
- set readonly(value) {
47
- const newValue = coerceBooleanProperty(value);
48
- if (newValue !== this.readonly) {
49
- this._readonly = newValue;
50
- this._changeDetectorRef.markForCheck();
51
- }
52
- }
53
- get required() {
54
- if (this._ngControl) {
55
- return this._ngControl?.control?.hasValidator(Validators.required);
56
- }
57
- return this._required;
58
- }
59
- set required(value) {
60
- const newValue = coerceBooleanProperty(value);
61
- if (newValue !== this.required) {
62
- this._required = newValue;
63
- this._changeDetectorRef.markForCheck();
64
- }
65
- }
66
- handleControlErrorStatus() {
67
- if (!this._ngControl) {
68
- return;
69
- }
70
- const errors$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(() => this._ngControl?.errors ?? null));
71
- const subscription = errors$.subscribe(errors => {
72
- this.errors = errors;
73
- this._changeDetectorRef.markForCheck();
74
- });
75
- this._subscription.add(subscription);
76
- }
77
- handleControlDisabledStatus() {
78
- if (!this._ngControl) {
79
- return;
80
- }
81
- const disabled$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(status => status === 'DISABLED'), distinctUntilChanged());
82
- const subscription = disabled$.subscribe(disabled => {
83
- this.disabled = disabled;
84
- });
85
- this._subscription.add(subscription);
86
- }
87
- handleFocusedState() {
88
- const focus$ = fromEvent(this._elementRef.nativeElement, 'focus').pipe(map(() => true));
89
- const blur$ = fromEvent(this._elementRef.nativeElement, 'blur').pipe(map(() => false));
90
- const focused$ = merge(focus$, blur$).pipe(startWith(false), pairwise(), switchMap(([oldValue, currentValue]) => {
91
- if (oldValue && !currentValue) {
92
- return of(currentValue).pipe(delay(100));
93
- }
94
- return of(currentValue);
95
- }), distinctUntilChanged());
96
- const subscription = focused$.subscribe(focused => this.focused = focused);
97
- this._subscription.add(subscription);
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControlInput, deps: [{ token: i0.ElementRef }, { token: i1.BbiFormControl }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
100
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbiFormControlInput, selector: "input[bbiFormControlInput]", inputs: { disabled: "disabled", readonly: "readonly", required: "required" }, host: { properties: { "attr.id": "this.labelId", "required": "this.required" } }, ngImport: i0 }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiFormControlInput, decorators: [{
103
- type: Directive,
104
- args: [{
105
- selector: 'input[bbiFormControlInput]'
106
- }]
107
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.BbiFormControl }, { type: i0.ChangeDetectorRef }, { type: i2.NgControl, decorators: [{
108
- type: Optional
109
- }, {
110
- type: Self
111
- }] }], propDecorators: { labelId: [{
112
- type: HostBinding,
113
- args: ['attr.id']
114
- }], disabled: [{
115
- type: Input
116
- }], readonly: [{
117
- type: Input
118
- }], required: [{
119
- type: HostBinding,
120
- args: ['required']
121
- }, {
122
- type: Input
123
- }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUE4QixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7O0FBS3hELE1BQU0sT0FBTyxtQkFBbUI7SUFZNUIsWUFBb0IsV0FBdUIsRUFDdkIsWUFBNEIsRUFDNUIsa0JBQXFDLEVBQ2pCLFVBQXFCO1FBSHpDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUM1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQVc7UUFiN0QsaUJBQWlCO1FBQ2dCLFlBQU8sR0FBVyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFFdEYsU0FBUztRQUNULFdBQU0sR0FBNEIsSUFBSSxDQUFDO1FBQ3ZDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsaUJBQWlCO1FBQ1Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBaUNuQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBYTNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFtQjNCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUEzRG5DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFFBQVEsS0FBYyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRWxELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFJRCxJQUFJLFFBQVEsS0FBYyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRWxELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFJRCxJQUFJLFFBQVE7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFFSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUlPLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFDakMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUM3QyxDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sMkJBQTJCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUNqQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLEVBQ3BDLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2xCLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNoRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ25CLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUNoQixRQUFRLEVBQUUsRUFDVixTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBdElRLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3pDOzswQkFnQmdCLFFBQVE7OzBCQUFJLElBQUk7eUNBWkksT0FBTztzQkFBdkMsV0FBVzt1QkFBQyxTQUFTO2dCQWdDbEIsUUFBUTtzQkFEWCxLQUFLO2dCQWNGLFFBQVE7c0JBRFgsS0FBSztnQkFvQkYsUUFBUTtzQkFGWCxXQUFXO3VCQUFDLFVBQVU7O3NCQUN0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2RlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBwYWlyd2lzZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge05nQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYmlGb3JtQ29udHJvbH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIG9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2JiaUZvcm1Db250cm9sSW5wdXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBCYmlGb3JtQ29udHJvbElucHV0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSByZWFkb25seSBsYWJlbElkOiBzdHJpbmcgPSB0aGlzLl9mb3JtQ29udHJvbD8ubGFiZWxJZCA/PyBudWxsO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gU3Vic2NyaXB0aW9ucy5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2Zvcm1Db250cm9sOiBCYmlGb3JtQ29udHJvbCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcml2YXRlIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhhbmRsZUNvbnRyb2xEaXNhYmxlZFN0YXR1cygpO1xuICAgICAgICB0aGlzLmhhbmRsZUNvbnRyb2xFcnJvclN0YXR1cygpO1xuICAgICAgICB0aGlzLmhhbmRsZUZvY3VzZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCByZWFkb25seSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3JlYWRvbmx5OyB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCByZWFkb25seSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9yZWFkb25seSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygncmVxdWlyZWQnKVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGhhbmRsZUNvbnRyb2xFcnJvclN0YXR1cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycm9ycyQgPSB0aGlzLl9uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuX25nQ29udHJvbC5zdGF0dXMpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuX25nQ29udHJvbD8uZXJyb3JzID8/IG51bGwpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZXJyb3JzJC5zdWJzY3JpYmUoZXJyb3JzID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb250cm9sRGlzYWJsZWRTdGF0dXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fbmdDb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXNhYmxlZCQgPSB0aGlzLl9uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuX25nQ29udHJvbC5zdGF0dXMpLFxuICAgICAgICAgICAgbWFwKHN0YXR1cyA9PiBzdGF0dXMgPT09ICdESVNBQkxFRCcpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGRpc2FibGVkJC5zdWJzY3JpYmUoZGlzYWJsZWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRm9jdXNlZFN0YXRlKCkge1xuICAgICAgICBjb25zdCBmb2N1cyQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXMnKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGJsdXIkID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2JsdXInKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IGZhbHNlKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzZWQkID0gbWVyZ2UoZm9jdXMkLCBibHVyJCkucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbb2xkVmFsdWUsIGN1cnJlbnRWYWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob2xkVmFsdWUgJiYgIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoY3VycmVudFZhbHVlKS5waXBlKGRlbGF5KDEwMCkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZihjdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZm9jdXNlZCQuc3Vic2NyaWJlKGZvY3VzZWQgPT4gdGhpcy5mb2N1c2VkID0gZm9jdXNlZCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBjb2VyY2VkIGlucHV0cy5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVxdWlyZWQ6IEJvb2xlYW5JbnB1dDtcblxufVxuIl19
@@ -1,34 +0,0 @@
1
- import { BbiFormControlAddon } from './form-control-addon/form-control-addon.component';
2
- import { ControlErrorModule } from '../control-error/control-error.module';
3
- import { BbiFormControl } from './form-control/form-control.component';
4
- import { BbiFormControlInput } from './form-control-input.directive';
5
- import { UtilsModule } from '@bravobit/bb-foundation/utils';
6
- import { CommonModule } from '@angular/common';
7
- import { NgModule } from '@angular/core';
8
- import * as i0 from "@angular/core";
9
- export class FormControlModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FormControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FormControlModule, declarations: [BbiFormControl,
12
- BbiFormControlInput,
13
- BbiFormControlAddon], imports: [CommonModule, ControlErrorModule, UtilsModule], exports: [BbiFormControl,
14
- BbiFormControlInput,
15
- BbiFormControlAddon] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FormControlModule, imports: [CommonModule, ControlErrorModule, UtilsModule] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FormControlModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- imports: [CommonModule, ControlErrorModule, UtilsModule],
22
- declarations: [
23
- BbiFormControl,
24
- BbiFormControlInput,
25
- BbiFormControlAddon
26
- ],
27
- exports: [
28
- BbiFormControl,
29
- BbiFormControlInput,
30
- BbiFormControlAddon
31
- ]
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQWV2QyxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFWdEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUIsYUFKYixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxhQU9uRCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLG1CQUFtQjsrR0FHZCxpQkFBaUIsWUFaaEIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVc7OzJGQVk5QyxpQkFBaUI7a0JBYjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztvQkFDeEQsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmJpRm9ybUNvbnRyb2xBZGRvbn0gZnJvbSAnLi9mb3JtLWNvbnRyb2wtYWRkb24vZm9ybS1jb250cm9sLWFkZG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbnRyb2xFcnJvck1vZHVsZX0gZnJvbSAnLi4vY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLm1vZHVsZSc7XG5pbXBvcnQge0JiaUZvcm1Db250cm9sfSBmcm9tICcuL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7QmJpRm9ybUNvbnRyb2xJbnB1dH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7VXRpbHNNb2R1bGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3V0aWxzJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29udHJvbEVycm9yTW9kdWxlLCBVdGlsc01vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEJiaUZvcm1Db250cm9sLFxuICAgICAgICBCYmlGb3JtQ29udHJvbElucHV0LFxuICAgICAgICBCYmlGb3JtQ29udHJvbEFkZG9uXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEJiaUZvcm1Db250cm9sLFxuICAgICAgICBCYmlGb3JtQ29udHJvbElucHV0LFxuICAgICAgICBCYmlGb3JtQ29udHJvbEFkZG9uXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29udHJvbE1vZHVsZSB7XG59XG4iXX0=
@@ -1,75 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, ViewEncapsulation } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../radio-group/radio-group.component";
5
- import * as i2 from "@angular/common";
6
- export class BbiRadioButton {
7
- // Disabled.
8
- get disabled() {
9
- return this._radioGroup?.disabled || this._disabled;
10
- }
11
- set disabled(value) {
12
- const newValue = coerceBooleanProperty(value);
13
- if (newValue !== this.disabled) {
14
- this._disabled = newValue;
15
- this._changeDetectorRef.markForCheck();
16
- }
17
- }
18
- // Hide text.
19
- get hideText() {
20
- return this._hideText;
21
- }
22
- set hideText(value) {
23
- const newValue = coerceBooleanProperty(value);
24
- if (newValue !== this.hideText) {
25
- this._hideText = newValue;
26
- this._changeDetectorRef.markForCheck();
27
- }
28
- }
29
- onClick() {
30
- if (this.disabled) {
31
- return;
32
- }
33
- this._radioGroup.select(this.value);
34
- }
35
- onSpacePressed() {
36
- return this.onClick();
37
- }
38
- get selected() {
39
- return this._radioGroup?.value === this.value;
40
- }
41
- constructor(_radioGroup, _changeDetectorRef) {
42
- this._radioGroup = _radioGroup;
43
- this._changeDetectorRef = _changeDetectorRef;
44
- // Inputs.
45
- this.value = null;
46
- this._disabled = false;
47
- this._hideText = false;
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiRadioButton, deps: [{ token: i1.BbiRadioGroup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BbiRadioButton, selector: "bbi-radio-button", inputs: { value: "value", disabled: "disabled", hideText: "hideText" }, host: { listeners: { "click": "onClick()", "keydown.space": "onSpacePressed()" }, properties: { "class.disabled": "disabled", "tabindex": "disabled ? -1 : 0", "class.selected": "this.selected" }, classAttribute: "bbi-radio-button" }, ngImport: i0, template: "<div class=\"bbi-radio-button-indicator\"></div>\n<span *ngIf=\"!hideText\"\n class=\"bbi-radio-button-text\"><ng-content></ng-content></span>\n", styles: [".bbi-radio-button{display:flex;cursor:pointer;align-items:center}.bbi-radio-button:not(.disabled):focus>.bbi-radio-button-indicator{outline-color:var(--radio-button-outline-color, var(--accent-color, #1565c0))}.bbi-radio-button.disabled{-webkit-user-select:none;user-select:none;cursor:not-allowed}.bbi-radio-button.disabled>.bbi-radio-button-indicator{border-color:var(--radio-button-colors-disabled, #c6c6c6)}.bbi-radio-button.disabled>.bbi-radio-button-text{color:var(--radio-button-colors-disabled, #c6c6c6)}.bbi-radio-button.selected>.bbi-radio-button-indicator{border-color:var(--radio-button-colors-accent, var(--accent-color, #1565c0))}.bbi-radio-button.selected>.bbi-radio-button-indicator:after{opacity:1;transform:none}.bbi-radio-button-indicator{display:flex;align-items:center;justify-content:center;width:var(--radio-button-size, 20px);height:var(--radio-button-size, 20px);min-width:var(--radio-button-size, 20px);min-height:var(--radio-button-size, 20px);border-radius:var(--radio-button-border-radius, 50%);outline-offset:var(--radio-button-outline-offset, 1px);outline:var(--radio-button-outline-thickness, 2px) solid transparent;border:var(--radio-button-border-thickness, 1px) solid var(--radio-button-border-color, #111111);transition:outline-color .2s cubic-bezier(0,0,.2,1),border-color .18s cubic-bezier(0,0,.2,1)}.bbi-radio-button-indicator:after{opacity:0;content:\"\";display:block;transform:scale(0);width:calc(var(--radio-button-size, 20px) / 2);height:calc(var(--radio-button-size, 20px) / 2);border-radius:var(--radio-button-border-radius, 50%);background-color:var(--radio-button-colors-accent, var(--accent-color, #1565c0));transition:transform .1s cubic-bezier(0,0,.2,1)}.bbi-radio-button-text{color:var(--radio-button-label-color, #111111);padding-left:var(--radio-button-label-offset, 6px);font-size:var(--radio-button-label-font-size, 16px);font-weight:var(--radio-button-label-font-weight, 400);line-height:var(--radio-button-label-line-height, 1.28)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbiRadioButton, decorators: [{
53
- type: Component,
54
- args: [{ selector: 'bbi-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
55
- 'class': 'bbi-radio-button',
56
- '[class.disabled]': 'disabled',
57
- '[tabindex]': 'disabled ? -1 : 0'
58
- }, preserveWhitespaces: false, template: "<div class=\"bbi-radio-button-indicator\"></div>\n<span *ngIf=\"!hideText\"\n class=\"bbi-radio-button-text\"><ng-content></ng-content></span>\n", styles: [".bbi-radio-button{display:flex;cursor:pointer;align-items:center}.bbi-radio-button:not(.disabled):focus>.bbi-radio-button-indicator{outline-color:var(--radio-button-outline-color, var(--accent-color, #1565c0))}.bbi-radio-button.disabled{-webkit-user-select:none;user-select:none;cursor:not-allowed}.bbi-radio-button.disabled>.bbi-radio-button-indicator{border-color:var(--radio-button-colors-disabled, #c6c6c6)}.bbi-radio-button.disabled>.bbi-radio-button-text{color:var(--radio-button-colors-disabled, #c6c6c6)}.bbi-radio-button.selected>.bbi-radio-button-indicator{border-color:var(--radio-button-colors-accent, var(--accent-color, #1565c0))}.bbi-radio-button.selected>.bbi-radio-button-indicator:after{opacity:1;transform:none}.bbi-radio-button-indicator{display:flex;align-items:center;justify-content:center;width:var(--radio-button-size, 20px);height:var(--radio-button-size, 20px);min-width:var(--radio-button-size, 20px);min-height:var(--radio-button-size, 20px);border-radius:var(--radio-button-border-radius, 50%);outline-offset:var(--radio-button-outline-offset, 1px);outline:var(--radio-button-outline-thickness, 2px) solid transparent;border:var(--radio-button-border-thickness, 1px) solid var(--radio-button-border-color, #111111);transition:outline-color .2s cubic-bezier(0,0,.2,1),border-color .18s cubic-bezier(0,0,.2,1)}.bbi-radio-button-indicator:after{opacity:0;content:\"\";display:block;transform:scale(0);width:calc(var(--radio-button-size, 20px) / 2);height:calc(var(--radio-button-size, 20px) / 2);border-radius:var(--radio-button-border-radius, 50%);background-color:var(--radio-button-colors-accent, var(--accent-color, #1565c0));transition:transform .1s cubic-bezier(0,0,.2,1)}.bbi-radio-button-text{color:var(--radio-button-label-color, #111111);padding-left:var(--radio-button-label-offset, 6px);font-size:var(--radio-button-label-font-size, 16px);font-weight:var(--radio-button-label-font-weight, 400);line-height:var(--radio-button-label-line-height, 1.28)}\n"] }]
59
- }], ctorParameters: () => [{ type: i1.BbiRadioGroup }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
60
- type: Input
61
- }], disabled: [{
62
- type: Input
63
- }], hideText: [{
64
- type: Input
65
- }], onClick: [{
66
- type: HostListener,
67
- args: ['click']
68
- }], onSpacePressed: [{
69
- type: HostListener,
70
- args: ['keydown.space']
71
- }], selected: [{
72
- type: HostBinding,
73
- args: ['class.selected']
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9yYWRpby9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9yYWRpby9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pJLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBZ0IxRSxNQUFNLE9BQU8sY0FBYztJQUt2QixZQUFZO0lBQ1osSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBSUQsYUFBYTtJQUNiLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUtELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBR0QsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQW9CLFdBQTBCLEVBQzFCLGtCQUFxQztRQURyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBdER6RCxVQUFVO1FBQ0QsVUFBSyxHQUFlLElBQUksQ0FBQztRQWdCMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWdCM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztJQXNCbkMsQ0FBQzs4R0F6RFEsY0FBYztrR0FBZCxjQUFjLDBXQ2pCM0IsdUpBR0E7OzJGRGNhLGNBQWM7a0JBYjFCLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLGtCQUFrQjt3QkFDM0Isa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsWUFBWSxFQUFFLG1CQUFtQjtxQkFDcEMsdUJBQ29CLEtBQUs7a0hBS2pCLEtBQUs7c0JBQWIsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBaUJGLFFBQVE7c0JBRFgsS0FBSztnQkFnQk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBU3JCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlO2dCQU16QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0JiaVJhZGlvR3JvdXB9IGZyb20gJy4uL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmJpLXJhZGlvLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYmktcmFkaW8tYnV0dG9uJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW3RhYmluZGV4XSc6ICdkaXNhYmxlZCA/IC0xIDogMCdcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiaVJhZGlvQnV0dG9uIHtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSB2YWx1ZTogYW55IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBEaXNhYmxlZC5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JhZGlvR3JvdXA/LmRpc2FibGVkIHx8IHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gSGlkZSB0ZXh0LlxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhpZGVUZXh0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVRleHQ7XG4gICAgfVxuXG4gICAgc2V0IGhpZGVUZXh0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuaGlkZVRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuX2hpZGVUZXh0ID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2hpZGVUZXh0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJylcbiAgICBvblNwYWNlUHJlc3NlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25DbGljaygpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKVxuICAgIGdldCBzZWxlY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JhZGlvR3JvdXA/LnZhbHVlID09PSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JhZGlvR3JvdXA6IEJiaVJhZGlvR3JvdXAsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgLy8gUmVxdWlyZWQgc28gdGhhdCB0aGUgdGVtcGxhdGUgdHlwZSBjaGVja2VyIGNhbiBpbmZlciB0aGUgdHlwZSBvZiB0aGUgY29lcmNlZCBpbnB1dHMuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3ZhbHVlOiBhbnk7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpZGVUZXh0OiBCb29sZWFuSW5wdXQ7XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYmktcmFkaW8tYnV0dG9uLWluZGljYXRvclwiPjwvZGl2PlxuPHNwYW4gKm5nSWY9XCIhaGlkZVRleHRcIlxuICAgICAgY2xhc3M9XCJiYmktcmFkaW8tYnV0dG9uLXRleHRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuIl19