@bravobit/bb-foundation 0.26.3 → 0.27.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 (490) hide show
  1. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  2. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +1 -1
  3. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +1 -1
  4. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +1 -1
  5. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  6. package/controls/lib/control-error/control-error/control-error.component.d.ts +1 -1
  7. package/controls/lib/form-control/form-control/form-control.component.d.ts +1 -1
  8. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +1 -1
  9. package/controls/lib/form-control/form-control-input.directive.d.ts +1 -1
  10. package/controls/lib/radio/radio-button/radio-button.component.d.ts +1 -1
  11. package/controls/lib/radio/radio-group/radio-group.component.d.ts +1 -1
  12. package/controls/lib/toggle/toggle/toggle.component.d.ts +1 -1
  13. package/controls/lib/toggle/toggle-group/toggle-group.component.d.ts +1 -1
  14. package/dashboard/lib/dashboard/dashboard.component.d.ts +1 -1
  15. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  16. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +1 -1
  17. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +1 -1
  18. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +1 -1
  19. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  20. package/elements/lib/avatar/avatar.component.d.ts +1 -1
  21. package/elements/lib/button/button.component.d.ts +2 -2
  22. package/elements/lib/checkbox/checkbox.component.d.ts +1 -1
  23. package/elements/lib/date-picker/date-picker.component.d.ts +1 -1
  24. package/elements/lib/directives/input.directive.d.ts +2 -2
  25. package/elements/lib/dropdown/dropdown.component.d.ts +1 -1
  26. package/elements/lib/file-picker/file-picker.component.d.ts +2 -2
  27. package/elements/lib/form-control/form-control.component.d.ts +1 -1
  28. package/elements/lib/form-error/form-error.component.d.ts +1 -1
  29. package/elements/lib/form-group/form-group.component.d.ts +1 -1
  30. package/elements/lib/icon/icon.component.d.ts +1 -1
  31. package/elements/lib/image-picker/image-picker.component.d.ts +1 -1
  32. package/elements/lib/spinner/spinner.component.d.ts +1 -1
  33. package/esm2022/auth/lib/auth.interceptor.mjs +91 -0
  34. package/esm2022/auth/lib/auth.module.mjs +36 -0
  35. package/esm2022/auth/lib/auth.service.mjs +271 -0
  36. package/esm2022/auth/lib/directives/authenticated.directive.mjs +43 -0
  37. package/esm2022/auth/lib/guards/anonymous.guard.mjs +54 -0
  38. package/esm2022/auth/lib/guards/authenticated.guard.mjs +57 -0
  39. package/esm2022/collections/lib/collections.module.mjs +55 -0
  40. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +124 -0
  41. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +32 -0
  42. package/esm2022/collections/lib/components/collections.directive.mjs +47 -0
  43. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +179 -0
  44. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +69 -0
  45. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +21 -0
  46. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +64 -0
  47. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +48 -0
  48. package/esm2022/controls/lib/control-error/control-error.module.mjs +20 -0
  49. package/esm2022/controls/lib/controls.module.mjs +63 -0
  50. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +80 -0
  51. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +23 -0
  52. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +125 -0
  53. package/esm2022/controls/lib/form-control/form-control.module.mjs +35 -0
  54. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +76 -0
  55. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +169 -0
  56. package/esm2022/controls/lib/radio/radio.module.mjs +22 -0
  57. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +154 -0
  58. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +63 -0
  59. package/esm2022/controls/lib/toggle/toggle.module.mjs +21 -0
  60. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +58 -0
  61. package/{esm2020 → esm2022}/dashboard/lib/dashboard-header/dashboard-header.component.mjs +6 -5
  62. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +32 -0
  63. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +30 -0
  64. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +76 -0
  65. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +100 -0
  66. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +63 -0
  67. package/esm2022/dashboard/lib/dashboard.module.mjs +48 -0
  68. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +13 -0
  69. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +47 -0
  70. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +78 -0
  71. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +19 -0
  72. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +12 -0
  73. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +68 -0
  74. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +80 -0
  75. package/esm2022/dialog/lib/dialog.insertion.mjs +17 -0
  76. package/esm2022/dialog/lib/dialog.module.mjs +69 -0
  77. package/esm2022/dialog/lib/dialog.service.mjs +69 -0
  78. package/esm2022/elements/lib/avatar/avatar.component.mjs +150 -0
  79. package/esm2022/elements/lib/button/button.component.mjs +63 -0
  80. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +74 -0
  81. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +308 -0
  82. package/esm2022/elements/lib/directives/addon.directive.mjs +31 -0
  83. package/esm2022/elements/lib/directives/form-submit.directive.mjs +51 -0
  84. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +26 -0
  85. package/esm2022/elements/lib/directives/input.directive.mjs +138 -0
  86. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +102 -0
  87. package/esm2022/elements/lib/elements.module.mjs +178 -0
  88. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +237 -0
  89. package/esm2022/elements/lib/form-control/form-control.component.mjs +50 -0
  90. package/esm2022/elements/lib/form-error/form-error.component.mjs +124 -0
  91. package/esm2022/elements/lib/form-group/form-group.component.mjs +19 -0
  92. package/esm2022/elements/lib/icon/icon.component.mjs +103 -0
  93. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +107 -0
  94. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +44 -0
  95. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +29 -0
  96. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +97 -0
  97. package/esm2022/elements/lib/spinner/spinner.component.mjs +26 -0
  98. package/esm2022/elements/lib/tag/tag.component.mjs +19 -0
  99. package/esm2022/http/lib/http.module.mjs +44 -0
  100. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +51 -0
  101. package/esm2022/http/lib/interceptors/error.interceptor.mjs +33 -0
  102. package/esm2022/lib/core/services/clipboard.service.mjs +71 -0
  103. package/esm2022/lib/core/services/exif.service.mjs +164 -0
  104. package/esm2022/lib/core/services/file-loader.service.mjs +88 -0
  105. package/esm2022/lib/core/services/image-converter.service.mjs +124 -0
  106. package/esm2022/lib/core/services/languages.service.mjs +75 -0
  107. package/esm2022/lib/core/services/network.service.mjs +56 -0
  108. package/esm2022/lib/core/services/patch.service.mjs +64 -0
  109. package/esm2022/localize/lib/localize.module.mjs +82 -0
  110. package/esm2022/localize/lib/localize.pipe.mjs +47 -0
  111. package/esm2022/localize/lib/localize.service.mjs +186 -0
  112. package/{esm2020 → esm2022}/localize/lib/transforms/interpolate.transform.mjs +1 -1
  113. package/{esm2020 → esm2022}/localize/lib/transforms/reference.transform.mjs +1 -1
  114. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +89 -0
  115. package/esm2022/localize/lib/views/localize-template.directive.mjs +22 -0
  116. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +36 -0
  117. package/esm2022/masking/lib/directives/date-mask.directive.mjs +36 -0
  118. package/esm2022/masking/lib/directives/input-mask.directive.mjs +119 -0
  119. package/esm2022/masking/lib/masking.module.mjs +31 -0
  120. package/esm2022/masking/lib/masking.service.mjs +104 -0
  121. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +101 -0
  122. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +48 -0
  123. package/esm2022/notifications/lib/notifications.module.mjs +31 -0
  124. package/esm2022/notifications/lib/notifications.service.mjs +142 -0
  125. package/esm2022/permissions/lib/directives/permission.directive.mjs +89 -0
  126. package/esm2022/permissions/lib/guards/permission.guard.mjs +57 -0
  127. package/esm2022/permissions/lib/permissions.module.mjs +40 -0
  128. package/esm2022/permissions/lib/permissions.service.mjs +97 -0
  129. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +220 -0
  130. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +96 -0
  131. package/esm2022/recaptcha/lib/recaptcha.module.mjs +28 -0
  132. package/esm2022/storage/lib/storage.service.mjs +110 -0
  133. package/esm2022/table/lib/components/table/table.component.mjs +194 -0
  134. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +12 -0
  135. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +132 -0
  136. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +137 -0
  137. package/esm2022/table/lib/table.module.mjs +43 -0
  138. package/esm2022/theming/lib/theming.directive.mjs +39 -0
  139. package/esm2022/theming/lib/theming.module.mjs +17 -0
  140. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +32 -0
  141. package/esm2022/tooltip/lib/tooltip.directive.mjs +141 -0
  142. package/esm2022/tooltip/lib/tooltip.module.mjs +32 -0
  143. package/esm2022/utils/lib/directives/autosize.directive.mjs +73 -0
  144. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +78 -0
  145. package/esm2022/utils/lib/directives/focus.directive.mjs +38 -0
  146. package/esm2022/utils/lib/directives/template.directive.mjs +29 -0
  147. package/esm2022/utils/lib/functions/parse-date.function.mjs +19 -0
  148. package/esm2022/utils/lib/utils.module.mjs +36 -0
  149. package/esm2022/utils/public_api.mjs +7 -0
  150. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-auth.mjs +19 -19
  151. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-auth.mjs.map +1 -1
  152. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-collections.mjs +38 -38
  153. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-collections.mjs.map +1 -1
  154. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-controls.mjs +83 -83
  155. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-controls.mjs.map +1 -1
  156. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dashboard.mjs +37 -37
  157. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  158. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dialog.mjs +46 -46
  159. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dialog.mjs.map +1 -1
  160. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-elements.mjs +185 -185
  161. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -0
  162. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-http.mjs +10 -10
  163. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-http.mjs.map +1 -1
  164. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-localize.mjs +20 -20
  165. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-localize.mjs.map +1 -1
  166. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-masking.mjs +20 -20
  167. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-masking.mjs.map +1 -1
  168. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-notifications.mjs +13 -13
  169. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-notifications.mjs.map +1 -1
  170. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-permissions.mjs +13 -13
  171. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-permissions.mjs.map +1 -1
  172. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-recaptcha.mjs +16 -16
  173. package/{fesm2015 → fesm2022}/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  174. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-storage.mjs +3 -3
  175. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-storage.mjs.map +1 -1
  176. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-table.mjs +34 -34
  177. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-table.mjs.map +1 -1
  178. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-theming.mjs +7 -7
  179. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-theming.mjs.map +1 -1
  180. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-tooltip.mjs +13 -13
  181. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  182. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-utils.mjs +42 -23
  183. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -0
  184. package/{fesm2020 → fesm2022}/bravobit-bb-foundation.mjs +21 -21
  185. package/{fesm2020 → fesm2022}/bravobit-bb-foundation.mjs.map +1 -1
  186. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  187. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  188. package/masking/lib/directives/currency-mask.directive.d.ts +1 -1
  189. package/masking/lib/directives/date-mask.directive.d.ts +1 -1
  190. package/masking/lib/directives/input-mask.directive.d.ts +1 -1
  191. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  192. package/package.json +70 -112
  193. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  194. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +1 -1
  195. package/table/lib/components/table/table.component.d.ts +1 -1
  196. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +1 -1
  197. package/table/lib/components/table-pager/table-pager.component.d.ts +1 -1
  198. package/theming/lib/theming.directive.d.ts +1 -1
  199. package/tooltip/lib/tooltip.directive.d.ts +1 -1
  200. package/utils/lib/directives/autosize.directive.d.ts +1 -1
  201. package/utils/lib/directives/template.directive.d.ts +1 -1
  202. package/utils/lib/functions/parse-date.function.d.ts +1 -0
  203. package/utils/public_api.d.ts +1 -0
  204. package/esm2020/auth/lib/auth.interceptor.mjs +0 -90
  205. package/esm2020/auth/lib/auth.module.mjs +0 -35
  206. package/esm2020/auth/lib/auth.service.mjs +0 -270
  207. package/esm2020/auth/lib/directives/authenticated.directive.mjs +0 -42
  208. package/esm2020/auth/lib/guards/anonymous.guard.mjs +0 -53
  209. package/esm2020/auth/lib/guards/authenticated.guard.mjs +0 -56
  210. package/esm2020/collections/lib/collections.module.mjs +0 -54
  211. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -123
  212. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -31
  213. package/esm2020/collections/lib/components/collections.directive.mjs +0 -43
  214. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +0 -178
  215. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +0 -68
  216. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +0 -20
  217. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +0 -63
  218. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +0 -47
  219. package/esm2020/controls/lib/control-error/control-error.module.mjs +0 -19
  220. package/esm2020/controls/lib/controls.module.mjs +0 -62
  221. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +0 -79
  222. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +0 -22
  223. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +0 -124
  224. package/esm2020/controls/lib/form-control/form-control.module.mjs +0 -34
  225. package/esm2020/controls/lib/radio/radio-button/radio-button.component.mjs +0 -75
  226. package/esm2020/controls/lib/radio/radio-group/radio-group.component.mjs +0 -168
  227. package/esm2020/controls/lib/radio/radio.module.mjs +0 -21
  228. package/esm2020/controls/lib/toggle/toggle/toggle.component.mjs +0 -153
  229. package/esm2020/controls/lib/toggle/toggle-group/toggle-group.component.mjs +0 -62
  230. package/esm2020/controls/lib/toggle/toggle.module.mjs +0 -20
  231. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +0 -57
  232. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -31
  233. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -29
  234. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  235. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -99
  236. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -62
  237. package/esm2020/dashboard/lib/dashboard.module.mjs +0 -47
  238. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  239. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -46
  240. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +0 -77
  241. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +0 -18
  242. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  243. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -67
  244. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -79
  245. package/esm2020/dialog/lib/dialog.insertion.mjs +0 -16
  246. package/esm2020/dialog/lib/dialog.module.mjs +0 -68
  247. package/esm2020/dialog/lib/dialog.service.mjs +0 -68
  248. package/esm2020/elements/lib/avatar/avatar.component.mjs +0 -149
  249. package/esm2020/elements/lib/button/button.component.mjs +0 -61
  250. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +0 -73
  251. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +0 -307
  252. package/esm2020/elements/lib/directives/addon.directive.mjs +0 -29
  253. package/esm2020/elements/lib/directives/form-submit.directive.mjs +0 -50
  254. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +0 -25
  255. package/esm2020/elements/lib/directives/input.directive.mjs +0 -136
  256. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +0 -100
  257. package/esm2020/elements/lib/elements.module.mjs +0 -177
  258. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +0 -236
  259. package/esm2020/elements/lib/form-control/form-control.component.mjs +0 -49
  260. package/esm2020/elements/lib/form-error/form-error.component.mjs +0 -123
  261. package/esm2020/elements/lib/form-group/form-group.component.mjs +0 -18
  262. package/esm2020/elements/lib/icon/icon.component.mjs +0 -102
  263. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +0 -106
  264. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +0 -43
  265. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +0 -28
  266. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +0 -96
  267. package/esm2020/elements/lib/spinner/spinner.component.mjs +0 -25
  268. package/esm2020/elements/lib/tag/tag.component.mjs +0 -18
  269. package/esm2020/http/lib/http.module.mjs +0 -43
  270. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +0 -50
  271. package/esm2020/http/lib/interceptors/error.interceptor.mjs +0 -32
  272. package/esm2020/lib/core/services/clipboard.service.mjs +0 -70
  273. package/esm2020/lib/core/services/exif.service.mjs +0 -163
  274. package/esm2020/lib/core/services/file-loader.service.mjs +0 -87
  275. package/esm2020/lib/core/services/image-converter.service.mjs +0 -123
  276. package/esm2020/lib/core/services/languages.service.mjs +0 -74
  277. package/esm2020/lib/core/services/network.service.mjs +0 -55
  278. package/esm2020/lib/core/services/patch.service.mjs +0 -63
  279. package/esm2020/localize/lib/localize.module.mjs +0 -81
  280. package/esm2020/localize/lib/localize.pipe.mjs +0 -46
  281. package/esm2020/localize/lib/localize.service.mjs +0 -185
  282. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +0 -88
  283. package/esm2020/localize/lib/views/localize-template.directive.mjs +0 -21
  284. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +0 -35
  285. package/esm2020/masking/lib/directives/date-mask.directive.mjs +0 -35
  286. package/esm2020/masking/lib/directives/input-mask.directive.mjs +0 -118
  287. package/esm2020/masking/lib/masking.module.mjs +0 -30
  288. package/esm2020/masking/lib/masking.service.mjs +0 -103
  289. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +0 -100
  290. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +0 -47
  291. package/esm2020/notifications/lib/notifications.module.mjs +0 -30
  292. package/esm2020/notifications/lib/notifications.service.mjs +0 -141
  293. package/esm2020/permissions/lib/directives/permission.directive.mjs +0 -88
  294. package/esm2020/permissions/lib/guards/permission.guard.mjs +0 -56
  295. package/esm2020/permissions/lib/permissions.module.mjs +0 -39
  296. package/esm2020/permissions/lib/permissions.service.mjs +0 -96
  297. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -219
  298. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +0 -95
  299. package/esm2020/recaptcha/lib/recaptcha.module.mjs +0 -27
  300. package/esm2020/storage/lib/storage.service.mjs +0 -109
  301. package/esm2020/table/lib/components/table/table.component.mjs +0 -191
  302. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  303. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -131
  304. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  305. package/esm2020/table/lib/table.module.mjs +0 -42
  306. package/esm2020/theming/lib/theming.directive.mjs +0 -38
  307. package/esm2020/theming/lib/theming.module.mjs +0 -16
  308. package/esm2020/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -31
  309. package/esm2020/tooltip/lib/tooltip.directive.mjs +0 -140
  310. package/esm2020/tooltip/lib/tooltip.module.mjs +0 -31
  311. package/esm2020/utils/lib/directives/autosize.directive.mjs +0 -72
  312. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +0 -77
  313. package/esm2020/utils/lib/directives/focus.directive.mjs +0 -37
  314. package/esm2020/utils/lib/directives/template.directive.mjs +0 -28
  315. package/esm2020/utils/lib/utils.module.mjs +0 -35
  316. package/esm2020/utils/public_api.mjs +0 -6
  317. package/fesm2015/bravobit-bb-foundation-auth.mjs +0 -851
  318. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +0 -1
  319. package/fesm2015/bravobit-bb-foundation-collections.mjs +0 -474
  320. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +0 -1
  321. package/fesm2015/bravobit-bb-foundation-controls.mjs +0 -1217
  322. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +0 -1
  323. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +0 -417
  324. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +0 -1
  325. package/fesm2015/bravobit-bb-foundation-dialog.mjs +0 -512
  326. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +0 -1
  327. package/fesm2015/bravobit-bb-foundation-elements.mjs +0 -1883
  328. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +0 -1
  329. package/fesm2015/bravobit-bb-foundation-http.mjs +0 -176
  330. package/fesm2015/bravobit-bb-foundation-http.mjs.map +0 -1
  331. package/fesm2015/bravobit-bb-foundation-localize.mjs +0 -835
  332. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +0 -1
  333. package/fesm2015/bravobit-bb-foundation-masking.mjs +0 -334
  334. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +0 -1
  335. package/fesm2015/bravobit-bb-foundation-notifications.mjs +0 -357
  336. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +0 -1
  337. package/fesm2015/bravobit-bb-foundation-permissions.mjs +0 -310
  338. package/fesm2015/bravobit-bb-foundation-permissions.mjs.map +0 -1
  339. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +0 -349
  340. package/fesm2015/bravobit-bb-foundation-rxjs.mjs +0 -22
  341. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +0 -1
  342. package/fesm2015/bravobit-bb-foundation-storage.mjs +0 -418
  343. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +0 -1
  344. package/fesm2015/bravobit-bb-foundation-table.mjs +0 -613
  345. package/fesm2015/bravobit-bb-foundation-table.mjs.map +0 -1
  346. package/fesm2015/bravobit-bb-foundation-theming.mjs +0 -382
  347. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +0 -1
  348. package/fesm2015/bravobit-bb-foundation-tooltip.mjs +0 -210
  349. package/fesm2015/bravobit-bb-foundation-tooltip.mjs.map +0 -1
  350. package/fesm2015/bravobit-bb-foundation-utils.mjs +0 -246
  351. package/fesm2015/bravobit-bb-foundation-utils.mjs.map +0 -1
  352. package/fesm2015/bravobit-bb-foundation.mjs +0 -929
  353. package/fesm2015/bravobit-bb-foundation.mjs.map +0 -1
  354. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +0 -1
  355. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +0 -1
  356. package/fesm2020/bravobit-bb-foundation-utils.mjs.map +0 -1
  357. /package/{esm2020 → esm2022}/auth/bravobit-bb-foundation-auth.mjs +0 -0
  358. /package/{esm2020 → esm2022}/auth/lib/auth.session.mjs +0 -0
  359. /package/{esm2020 → esm2022}/auth/lib/directives/abstract.directive.mjs +0 -0
  360. /package/{esm2020 → esm2022}/auth/lib/helpers/jwt.helper.mjs +0 -0
  361. /package/{esm2020 → esm2022}/auth/lib/interfaces/config.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/auth/lib/interfaces/provider.interface.mjs +0 -0
  363. /package/{esm2020 → esm2022}/auth/lib/interfaces/token.interface.mjs +0 -0
  364. /package/{esm2020 → esm2022}/auth/lib/providers/email.provider.mjs +0 -0
  365. /package/{esm2020 → esm2022}/auth/lib/providers/verify.provider.mjs +0 -0
  366. /package/{esm2020 → esm2022}/auth/lib/tokens/use-authorization.token.mjs +0 -0
  367. /package/{esm2020 → esm2022}/auth/public_api.mjs +0 -0
  368. /package/{esm2020 → esm2022}/bravobit-bb-foundation.mjs +0 -0
  369. /package/{esm2020 → esm2022}/collections/bravobit-bb-foundation-collections.mjs +0 -0
  370. /package/{esm2020 → esm2022}/collections/lib/collection.mjs +0 -0
  371. /package/{esm2020 → esm2022}/collections/lib/interfaces/collection.interface.mjs +0 -0
  372. /package/{esm2020 → esm2022}/collections/lib/providers/api-collection.provider.mjs +0 -0
  373. /package/{esm2020 → esm2022}/collections/lib/providers/collection.provider.mjs +0 -0
  374. /package/{esm2020 → esm2022}/collections/lib/providers/local-collection.provider.mjs +0 -0
  375. /package/{esm2020 → esm2022}/collections/public_api.mjs +0 -0
  376. /package/{esm2020 → esm2022}/controls/bravobit-bb-foundation-controls.mjs +0 -0
  377. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error/control-error.animation.mjs +0 -0
  378. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.defaults.mjs +0 -0
  379. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.interface.mjs +0 -0
  380. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.utils.mjs +0 -0
  381. /package/{esm2020 → esm2022}/controls/lib/controls.interfaces.mjs +0 -0
  382. /package/{esm2020 → esm2022}/controls/public_api.mjs +0 -0
  383. /package/{esm2020 → esm2022}/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -0
  384. /package/{esm2020 → esm2022}/dashboard/public_api.mjs +0 -0
  385. /package/{esm2020 → esm2022}/dialog/bravobit-bb-foundation-dialog.mjs +0 -0
  386. /package/{esm2020 → esm2022}/dialog/lib/dialog-container/dialog-container.animations.mjs +0 -0
  387. /package/{esm2020 → esm2022}/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +0 -0
  388. /package/{esm2020 → esm2022}/dialog/lib/dialog.interfaces.mjs +0 -0
  389. /package/{esm2020 → esm2022}/dialog/lib/dialog.ref.mjs +0 -0
  390. /package/{esm2020 → esm2022}/dialog/public_api.mjs +0 -0
  391. /package/{esm2020 → esm2022}/elements/bravobit-bb-foundation-elements.mjs +0 -0
  392. /package/{esm2020 → esm2022}/elements/lib/elements.interfaces.mjs +0 -0
  393. /package/{esm2020 → esm2022}/elements/public_api.mjs +0 -0
  394. /package/{esm2020 → esm2022}/http/bravobit-bb-foundation-http.mjs +0 -0
  395. /package/{esm2020 → esm2022}/http/lib/classes/http.config.mjs +0 -0
  396. /package/{esm2020 → esm2022}/http/lib/classes/http.error.mjs +0 -0
  397. /package/{esm2020 → esm2022}/http/lib/http.interfaces.mjs +0 -0
  398. /package/{esm2020 → esm2022}/http/public_api.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/core/functions/date.utils.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/core/functions/password.utils.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/core/miscellaneous/regex.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/core/miscellaneous/validator.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/core/mixins/can-disable.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/core/mixins/can-hide-errors.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/core/mixins/can-load.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/core/mixins/constructor.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/core/mixins/has-error.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/core/mixins/is-focused.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/core/mixins/is-grouped.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/core/mixins/is-readonly.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/core/mixins/is-required.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/core/tokens/accept-language.token.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/core/tokens/base-url.token.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/core/tokens/cookie.token.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/core/tokens/location.token.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/core/tokens/navigator.token.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/core/tokens/window.token.mjs +0 -0
  418. /package/{esm2020 → esm2022}/localize/bravobit-bb-foundation-localize.mjs +0 -0
  419. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.class.mjs +0 -0
  420. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.context.mjs +0 -0
  421. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.data.mjs +0 -0
  422. /package/{esm2020 → esm2022}/localize/lib/functions/date.function.mjs +0 -0
  423. /package/{esm2020 → esm2022}/localize/lib/functions/lowercase.function.mjs +0 -0
  424. /package/{esm2020 → esm2022}/localize/lib/functions/uppercase.function.mjs +0 -0
  425. /package/{esm2020 → esm2022}/localize/lib/handlers/missing.handler.mjs +0 -0
  426. /package/{esm2020 → esm2022}/localize/lib/interfaces/config.interfaces.mjs +0 -0
  427. /package/{esm2020 → esm2022}/localize/lib/interfaces/functions.interfaces.mjs +0 -0
  428. /package/{esm2020 → esm2022}/localize/lib/interfaces/handlers.interfaces.mjs +0 -0
  429. /package/{esm2020 → esm2022}/localize/lib/interfaces/options.interfaces.mjs +0 -0
  430. /package/{esm2020 → esm2022}/localize/lib/interfaces/transforms.interfaces.mjs +0 -0
  431. /package/{esm2020 → esm2022}/localize/lib/locale.token.mjs +0 -0
  432. /package/{esm2020 → esm2022}/localize/lib/localizations/dutch.localization.mjs +0 -0
  433. /package/{esm2020 → esm2022}/localize/lib/localizations/english.localization.mjs +0 -0
  434. /package/{esm2020 → esm2022}/localize/lib/transforms/abstract.transform.mjs +0 -0
  435. /package/{esm2020 → esm2022}/localize/public_api.mjs +0 -0
  436. /package/{esm2020 → esm2022}/masking/bravobit-bb-foundation-masking.mjs +0 -0
  437. /package/{esm2020 → esm2022}/masking/lib/input-mask.interface.mjs +0 -0
  438. /package/{esm2020 → esm2022}/masking/public_api.mjs +0 -0
  439. /package/{esm2020 → esm2022}/notifications/bravobit-bb-foundation-notifications.mjs +0 -0
  440. /package/{esm2020 → esm2022}/notifications/lib/notifications.animations.mjs +0 -0
  441. /package/{esm2020 → esm2022}/notifications/lib/notifications.interfaces.mjs +0 -0
  442. /package/{esm2020 → esm2022}/notifications/public_api.mjs +0 -0
  443. /package/{esm2020 → esm2022}/permissions/bravobit-bb-foundation-permissions.mjs +0 -0
  444. /package/{esm2020 → esm2022}/permissions/lib/handlers/abstract.handler.mjs +0 -0
  445. /package/{esm2020 → esm2022}/permissions/lib/handlers/local.handler.mjs +0 -0
  446. /package/{esm2020 → esm2022}/permissions/lib/permissions.interface.mjs +0 -0
  447. /package/{esm2020 → esm2022}/permissions/public_api.mjs +0 -0
  448. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  449. /package/{esm2020 → esm2022}/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -0
  450. /package/{esm2020 → esm2022}/recaptcha/lib/recaptcha.interface.mjs +0 -0
  451. /package/{esm2020 → esm2022}/recaptcha/public_api.mjs +0 -0
  452. /package/{esm2020 → esm2022}/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -0
  453. /package/{esm2020 → esm2022}/rxjs/lib/observables/get-control-value.observable.mjs +0 -0
  454. /package/{esm2020 → esm2022}/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -0
  455. /package/{esm2020 → esm2022}/rxjs/lib/operators/filter-nil.operator.mjs +0 -0
  456. /package/{esm2020 → esm2022}/rxjs/public_api.mjs +0 -0
  457. /package/{esm2020 → esm2022}/storage/bravobit-bb-foundation-storage.mjs +0 -0
  458. /package/{esm2020 → esm2022}/storage/lib/interfaces/attributes.interface.mjs +0 -0
  459. /package/{esm2020 → esm2022}/storage/lib/interfaces/memory.interface.mjs +0 -0
  460. /package/{esm2020 → esm2022}/storage/lib/interfaces/strategy.interface.mjs +0 -0
  461. /package/{esm2020 → esm2022}/storage/lib/strategies/cookie-storage.strategy.mjs +0 -0
  462. /package/{esm2020 → esm2022}/storage/lib/strategies/memory-storage.strategy.mjs +0 -0
  463. /package/{esm2020 → esm2022}/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -0
  464. /package/{esm2020 → esm2022}/storage/public_api.mjs +0 -0
  465. /package/{esm2020 → esm2022}/table/bravobit-bb-foundation-table.mjs +0 -0
  466. /package/{esm2020 → esm2022}/table/lib/data/datasource.data.mjs +0 -0
  467. /package/{esm2020 → esm2022}/table/lib/data/generic.data.mjs +0 -0
  468. /package/{esm2020 → esm2022}/table/lib/interfaces/datasource.interface.mjs +0 -0
  469. /package/{esm2020 → esm2022}/table/lib/interfaces/table.interfaces.mjs +0 -0
  470. /package/{esm2020 → esm2022}/table/public_api.mjs +0 -0
  471. /package/{esm2020 → esm2022}/theming/bravobit-bb-foundation-theming.mjs +0 -0
  472. /package/{esm2020 → esm2022}/theming/lib/themes/checkbox-group.theme.mjs +0 -0
  473. /package/{esm2020 → esm2022}/theming/lib/themes/checkbox.theme.mjs +0 -0
  474. /package/{esm2020 → esm2022}/theming/lib/themes/control-error.theme.mjs +0 -0
  475. /package/{esm2020 → esm2022}/theming/lib/themes/form-control-addon.theme.mjs +0 -0
  476. /package/{esm2020 → esm2022}/theming/lib/themes/form-control.theme.mjs +0 -0
  477. /package/{esm2020 → esm2022}/theming/lib/themes/radio-button.theme.mjs +0 -0
  478. /package/{esm2020 → esm2022}/theming/lib/themes/radio-group.theme.mjs +0 -0
  479. /package/{esm2020 → esm2022}/theming/lib/themes/toggle-group.theme.mjs +0 -0
  480. /package/{esm2020 → esm2022}/theming/lib/themes/toggle.theme.mjs +0 -0
  481. /package/{esm2020 → esm2022}/theming/lib/theming.data.mjs +0 -0
  482. /package/{esm2020 → esm2022}/theming/lib/theming.interface.mjs +0 -0
  483. /package/{esm2020 → esm2022}/theming/lib/utils/theming.variable.mjs +0 -0
  484. /package/{esm2020 → esm2022}/theming/public_api.mjs +0 -0
  485. /package/{esm2020 → esm2022}/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -0
  486. /package/{esm2020 → esm2022}/tooltip/lib/tooltip.interfaces.mjs +0 -0
  487. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
  488. /package/{esm2020 → esm2022}/utils/bravobit-bb-foundation-utils.mjs +0 -0
  489. /package/{fesm2020 → fesm2022}/bravobit-bb-foundation-rxjs.mjs +0 -0
  490. /package/{fesm2020 → fesm2022}/bravobit-bb-foundation-rxjs.mjs.map +0 -0
@@ -1,1217 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, EventEmitter, forwardRef, ViewChild, Output, NgModule, Directive, InjectionToken, Optional, Inject, HostBinding, HostListener, Self, ContentChild } from '@angular/core';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import * as i2 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
- import * as i2$1 from '@bravobit/bb-foundation/utils';
7
- import { UtilsModule } from '@bravobit/bb-foundation/utils';
8
- import * as i2$2 from '@angular/forms';
9
- import { NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';
10
- import { BehaviorSubject, Subscription, fromEvent, merge, of } from 'rxjs';
11
- import { map, startWith, distinctUntilChanged, pairwise, switchMap, delay } from 'rxjs/operators';
12
- import { trigger, transition, style, animate } from '@angular/animations';
13
- import * as i1 from '@bravobit/bb-foundation/localize';
14
-
15
- class BbiCheckboxGroup {
16
- // Grouped.
17
- get grouped() {
18
- return this._grouped;
19
- }
20
- set grouped(value) {
21
- const newValue = coerceBooleanProperty(value);
22
- if (newValue !== this.grouped) {
23
- this._grouped = newValue;
24
- this._changeDetectorRef.markForCheck();
25
- }
26
- }
27
- // Required.
28
- get required() {
29
- return this._required;
30
- }
31
- set required(value) {
32
- const newValue = coerceBooleanProperty(value);
33
- if (newValue !== this.required) {
34
- this._required = newValue;
35
- this._changeDetectorRef.markForCheck();
36
- }
37
- }
38
- // Inline.
39
- get inline() {
40
- return this._inline;
41
- }
42
- set inline(value) {
43
- const newValue = coerceBooleanProperty(value);
44
- if (newValue !== this.inline) {
45
- this._inline = newValue;
46
- this._changeDetectorRef.markForCheck();
47
- }
48
- }
49
- constructor(_changeDetectorRef) {
50
- this._changeDetectorRef = _changeDetectorRef;
51
- // Inputs.
52
- this.label = null;
53
- this._grouped = false;
54
- this._required = false;
55
- this._inline = false;
56
- }
57
- }
58
- BbiCheckboxGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiCheckboxGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
59
- BbiCheckboxGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiCheckboxGroup, selector: "bbi-checkbox-group", inputs: { label: "label", grouped: "grouped", required: "required", inline: "inline" }, host: { properties: { "class.grouped": "grouped", "class.required": "required", "class.inline": "inline" }, classAttribute: "bbi-checkbox-group" }, ngImport: i0, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-checkbox-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-checkbox-group-items\">\n <ng-content select=\"bbi-checkbox\"></ng-content>\n</div>\n", styles: [".bbi-checkbox-group{display:block}.bbi-checkbox-group.grouped{margin-bottom:var(--checkbox-group-grouping, 20px)}.bbi-checkbox-group.required>.bbi-checkbox-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-checkbox-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--checkbox-group-label-color, #525252);font-size:var(--checkbox-group-label-font-size, 14px);margin-bottom:var(--checkbox-group-label-offset, 4px);line-height:var(--checkbox-group-label-line-height, 1.33);font-weight:var(--checkbox-group-label-font-weight, 400)}.bbi-checkbox-group-items{display:flex;flex-direction:column}.bbi-checkbox-group-items:not(:empty){margin-bottom:-var(--checkbox-group-item-spacing-vertical,4px)}.bbi-checkbox-group-items>*{margin-bottom:var(--checkbox-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-checkbox-group.inline>.bbi-checkbox-group-items{flex-wrap:wrap;flex-direction:row}.bbi-checkbox-group.inline>.bbi-checkbox-group-items>*:not(:last-child){margin-right:var(--checkbox-group-item-spacing-horizontal, 10px)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiCheckboxGroup, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'bbi-checkbox-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
63
- 'class': 'bbi-checkbox-group',
64
- '[class.grouped]': 'grouped',
65
- '[class.required]': 'required',
66
- '[class.inline]': 'inline'
67
- }, preserveWhitespaces: false, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-checkbox-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-checkbox-group-items\">\n <ng-content select=\"bbi-checkbox\"></ng-content>\n</div>\n", styles: [".bbi-checkbox-group{display:block}.bbi-checkbox-group.grouped{margin-bottom:var(--checkbox-group-grouping, 20px)}.bbi-checkbox-group.required>.bbi-checkbox-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-checkbox-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--checkbox-group-label-color, #525252);font-size:var(--checkbox-group-label-font-size, 14px);margin-bottom:var(--checkbox-group-label-offset, 4px);line-height:var(--checkbox-group-label-line-height, 1.33);font-weight:var(--checkbox-group-label-font-weight, 400)}.bbi-checkbox-group-items{display:flex;flex-direction:column}.bbi-checkbox-group-items:not(:empty){margin-bottom:-var(--checkbox-group-item-spacing-vertical,4px)}.bbi-checkbox-group-items>*{margin-bottom:var(--checkbox-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-checkbox-group.inline>.bbi-checkbox-group-items{flex-wrap:wrap;flex-direction:row}.bbi-checkbox-group.inline>.bbi-checkbox-group-items>*:not(:last-child){margin-right:var(--checkbox-group-item-spacing-horizontal, 10px)}}\n"] }]
68
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
69
- type: Input
70
- }], grouped: [{
71
- type: Input
72
- }], required: [{
73
- type: Input
74
- }], inline: [{
75
- type: Input
76
- }] } });
77
-
78
- let nextUniqueId$2 = 0;
79
- class BbiCheckbox {
80
- // Checked.
81
- get checked() {
82
- return this._checked;
83
- }
84
- set checked(value) {
85
- const newValue = coerceBooleanProperty(value);
86
- if (newValue !== this.checked) {
87
- this._checked = newValue;
88
- this._changeDetectorRef.markForCheck();
89
- }
90
- }
91
- // Disabled.
92
- get disabled() {
93
- return this._disabled;
94
- }
95
- set disabled(value) {
96
- const newValue = coerceBooleanProperty(value);
97
- if (newValue !== this.disabled) {
98
- this._disabled = newValue;
99
- this._changeDetectorRef.markForCheck();
100
- }
101
- }
102
- // Grouped.
103
- get grouped() {
104
- return this._grouped;
105
- }
106
- set grouped(value) {
107
- const newValue = coerceBooleanProperty(value);
108
- if (newValue !== this.grouped) {
109
- this._grouped = newValue;
110
- this._changeDetectorRef.markForCheck();
111
- }
112
- }
113
- // Indeterminate.
114
- get indeterminate() {
115
- return this._indeterminate;
116
- }
117
- set indeterminate(value) {
118
- this._indeterminate = coerceBooleanProperty(value);
119
- this.syncField('indeterminate', this._indeterminate);
120
- }
121
- // Required.
122
- get required() {
123
- return this._required;
124
- }
125
- set required(value) {
126
- const newValue = coerceBooleanProperty(value);
127
- if (newValue !== this.required) {
128
- this._required = newValue;
129
- this._changeDetectorRef.markForCheck();
130
- }
131
- }
132
- // Hide text.
133
- get hideText() {
134
- return this._hideText;
135
- }
136
- set hideText(value) {
137
- const newValue = coerceBooleanProperty(value);
138
- if (newValue !== this.hideText) {
139
- this._hideText = newValue;
140
- this._changeDetectorRef.markForCheck();
141
- }
142
- }
143
- constructor(_renderer, _changeDetectorRef) {
144
- this._renderer = _renderer;
145
- this._changeDetectorRef = _changeDetectorRef;
146
- // Readonly data.
147
- this.labelId = `bbi-checkbox-${nextUniqueId$2++}`;
148
- // Outputs.
149
- this.checkedChange = new EventEmitter();
150
- this.indeterminateChange = new EventEmitter();
151
- this._checked = false;
152
- this._disabled = false;
153
- this._grouped = false;
154
- this._indeterminate = false;
155
- this._required = false;
156
- this._hideText = false;
157
- // Methods.
158
- this.onChange = () => ({});
159
- this.onTouched = () => ({});
160
- }
161
- ngAfterViewInit() {
162
- this.syncField('indeterminate', this._indeterminate);
163
- }
164
- registerOnChange(fn) {
165
- this.onChange = fn;
166
- }
167
- registerOnTouched(fn) {
168
- this.onTouched = fn;
169
- }
170
- setDisabledState(isDisabled) {
171
- this.disabled = isDisabled;
172
- }
173
- writeValue(newValue) {
174
- this.checked = !!newValue;
175
- }
176
- toggle() {
177
- this.checked = !this.checked;
178
- }
179
- onClickEvent(event) {
180
- event.stopPropagation();
181
- if (this.disabled) {
182
- return;
183
- }
184
- // When user manually click on the checkbox, `indeterminate` is set to false.
185
- if (this.indeterminate) {
186
- Promise.resolve().then(() => {
187
- this._indeterminate = false;
188
- this.indeterminateChange.emit(this._indeterminate);
189
- });
190
- }
191
- this.toggle();
192
- // Emit our custom change event if the native input emitted one.
193
- // It is important to only emit it, if the native input triggered one, because
194
- // we don't want to trigger a change event, when the `checked` variable changes for example.
195
- this.emitChangeEvent();
196
- }
197
- onChangeEvent(event) {
198
- // We always have to stop propagation on the change event.
199
- // Otherwise the change event, from the input element, will bubble up and
200
- // emit its event object to the `change` output.
201
- event.stopPropagation();
202
- }
203
- emitChangeEvent() {
204
- var _a;
205
- (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, this.checked);
206
- this.checkedChange.emit(this.checked);
207
- this.syncField('checked', this.checked);
208
- }
209
- syncField(field, value) {
210
- var _a;
211
- const element = (_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement;
212
- if (!element) {
213
- return;
214
- }
215
- this._renderer.setProperty(element, field, value);
216
- }
217
- }
218
- BbiCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiCheckbox, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
219
- BbiCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiCheckbox, selector: "bbi-checkbox", inputs: { checked: "checked", disabled: "disabled", grouped: "grouped", indeterminate: "indeterminate", required: "required", hideText: "hideText" }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.grouped": "grouped", "class.indeterminate": "indeterminate", "class.required": "required" }, classAttribute: "bbi-checkbox" }, providers: [
220
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiCheckbox), multi: true }
221
- ], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<input #input\n [id]=\"labelId\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onClickEvent($event)\"\n (blur)=\"onTouched()\"\n class=\"bbi-checkbox-input\"\n type=\"checkbox\">\n<label [attr.for]=\"labelId\"\n class=\"bbi-checkbox-label\">\n <span *ngIf=\"!hideText\"\n class=\"bbi-checkbox-text\"><ng-content></ng-content></span>\n</label>\n", styles: [".bbi-checkbox{display:block}.bbi-checkbox.grouped{margin-bottom:var(--checkbox-grouping, 20px)}.bbi-checkbox.required>.bbi-checkbox-label>.bbi-checkbox-text:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5;margin-left:3px}.bbi-checkbox-input{border:0;width:1px;padding:0;height:1px;margin:-1px;overflow:hidden;position:absolute;visibility:inherit;white-space:nowrap;clip:rect(0,0,0,0)}.bbi-checkbox-input:checked+.bbi-checkbox-label:before,.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:before{background-color:var(--checkbox-colors-accent, var(--accent-color, #1565c0));border:var(--checkbox-border-thickness, 1px) solid var(--checkbox-colors-accent, var(--accent-color, #1565c0))}.bbi-checkbox-input:checked+.bbi-checkbox-label:after,.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:after{opacity:1;transform:scale(1) rotate(-45deg)}.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:after{left:calc(var(--checkbox-size, 20px) / 4);width:calc(var(--checkbox-size, 20px) / 2);transform:scale(1) rotate(0);border-left:0 solid var(--checkbox-check-color, white);border-bottom:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white)}.bbi-checkbox-input:focus+.bbi-checkbox-label:before{outline-color:var(--checkbox-outline-color, var(--accent-color, #1565c0))}.bbi-checkbox-input:disabled+.bbi-checkbox-label{cursor:not-allowed;color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:disabled+.bbi-checkbox-label:before{border-color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:disabled+.bbi-checkbox-label>.bbi-checkbox-text{color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:checked:disabled+.bbi-checkbox-label:before,.bbi-checkbox-input:indeterminate:disabled+.bbi-checkbox-label:before{background-color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-label{border:0;margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;align-items:center;font-family:inherit;vertical-align:initial;min-height:var(--checkbox-size, 20px);padding-left:var(--checkbox-size, 20px)}.bbi-checkbox-label:before{left:0;content:\"\";position:absolute;width:var(--checkbox-size, 20px);height:var(--checkbox-size, 20px);background-color:initial;border-radius:var(--checkbox-border-radius, 4px);outline-offset:var(--checkbox-outline-offset, 1px);outline:var(--checkbox-outline-thickness, 2px) solid transparent;border:var(--checkbox-border-thickness, 1px) solid var(--checkbox-border-color, #111111);transition:outline-color .2s cubic-bezier(0,0,.2,1),background-color .18s cubic-bezier(0,0,.2,1),border-color .18s cubic-bezier(0,0,.2,1)}.bbi-checkbox-label:after{opacity:0;content:\"\";background:none;position:absolute;transform-origin:center;width:var(--checkbox-check-size, 12px);transform:scale(.85) rotate(-60deg);height:calc(var(--checkbox-check-size, 12px) / 2);top:calc(50% - var(--checkbox-check-size, 12px) / 2 * .75);left:calc((var(--checkbox-size, 20px) - var(--checkbox-check-size, 12px)) / 2);border-left:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white);border-bottom:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white);transition:opacity .12s cubic-bezier(0,0,.2,1),transform .18s cubic-bezier(0,0,.2,1)}.bbi-checkbox-text{color:var(--checkbox-label-color, #111111);padding-left:var(--checkbox-label-offset, 6px);font-size:var(--checkbox-label-font-size, 16px);font-weight:var(--checkbox-label-font-weight, 400);line-height:var(--checkbox-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 });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiCheckbox, decorators: [{
223
- type: Component,
224
- args: [{ selector: 'bbi-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
225
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiCheckbox), multi: true }
226
- ], host: {
227
- 'class': 'bbi-checkbox',
228
- '[class.grouped]': 'grouped',
229
- '[class.indeterminate]': 'indeterminate',
230
- '[class.required]': 'required'
231
- }, preserveWhitespaces: false, template: "<input #input\n [id]=\"labelId\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onClickEvent($event)\"\n (blur)=\"onTouched()\"\n class=\"bbi-checkbox-input\"\n type=\"checkbox\">\n<label [attr.for]=\"labelId\"\n class=\"bbi-checkbox-label\">\n <span *ngIf=\"!hideText\"\n class=\"bbi-checkbox-text\"><ng-content></ng-content></span>\n</label>\n", styles: [".bbi-checkbox{display:block}.bbi-checkbox.grouped{margin-bottom:var(--checkbox-grouping, 20px)}.bbi-checkbox.required>.bbi-checkbox-label>.bbi-checkbox-text:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5;margin-left:3px}.bbi-checkbox-input{border:0;width:1px;padding:0;height:1px;margin:-1px;overflow:hidden;position:absolute;visibility:inherit;white-space:nowrap;clip:rect(0,0,0,0)}.bbi-checkbox-input:checked+.bbi-checkbox-label:before,.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:before{background-color:var(--checkbox-colors-accent, var(--accent-color, #1565c0));border:var(--checkbox-border-thickness, 1px) solid var(--checkbox-colors-accent, var(--accent-color, #1565c0))}.bbi-checkbox-input:checked+.bbi-checkbox-label:after,.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:after{opacity:1;transform:scale(1) rotate(-45deg)}.bbi-checkbox-input:indeterminate+.bbi-checkbox-label:after{left:calc(var(--checkbox-size, 20px) / 4);width:calc(var(--checkbox-size, 20px) / 2);transform:scale(1) rotate(0);border-left:0 solid var(--checkbox-check-color, white);border-bottom:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white)}.bbi-checkbox-input:focus+.bbi-checkbox-label:before{outline-color:var(--checkbox-outline-color, var(--accent-color, #1565c0))}.bbi-checkbox-input:disabled+.bbi-checkbox-label{cursor:not-allowed;color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:disabled+.bbi-checkbox-label:before{border-color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:disabled+.bbi-checkbox-label>.bbi-checkbox-text{color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-input:checked:disabled+.bbi-checkbox-label:before,.bbi-checkbox-input:indeterminate:disabled+.bbi-checkbox-label:before{background-color:var(--checkbox-colors-disabled, #c6c6c6)}.bbi-checkbox-label{border:0;margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;align-items:center;font-family:inherit;vertical-align:initial;min-height:var(--checkbox-size, 20px);padding-left:var(--checkbox-size, 20px)}.bbi-checkbox-label:before{left:0;content:\"\";position:absolute;width:var(--checkbox-size, 20px);height:var(--checkbox-size, 20px);background-color:initial;border-radius:var(--checkbox-border-radius, 4px);outline-offset:var(--checkbox-outline-offset, 1px);outline:var(--checkbox-outline-thickness, 2px) solid transparent;border:var(--checkbox-border-thickness, 1px) solid var(--checkbox-border-color, #111111);transition:outline-color .2s cubic-bezier(0,0,.2,1),background-color .18s cubic-bezier(0,0,.2,1),border-color .18s cubic-bezier(0,0,.2,1)}.bbi-checkbox-label:after{opacity:0;content:\"\";background:none;position:absolute;transform-origin:center;width:var(--checkbox-check-size, 12px);transform:scale(.85) rotate(-60deg);height:calc(var(--checkbox-check-size, 12px) / 2);top:calc(50% - var(--checkbox-check-size, 12px) / 2 * .75);left:calc((var(--checkbox-size, 20px) - var(--checkbox-check-size, 12px)) / 2);border-left:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white);border-bottom:var(--checkbox-check-thickness, 2px) solid var(--checkbox-check-color, white);transition:opacity .12s cubic-bezier(0,0,.2,1),transform .18s cubic-bezier(0,0,.2,1)}.bbi-checkbox-text{color:var(--checkbox-label-color, #111111);padding-left:var(--checkbox-label-offset, 6px);font-size:var(--checkbox-label-font-size, 16px);font-weight:var(--checkbox-label-font-weight, 400);line-height:var(--checkbox-label-line-height, 1.28)}\n"] }]
232
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElementRef: [{
233
- type: ViewChild,
234
- args: ['input', { static: true }]
235
- }], checkedChange: [{
236
- type: Output
237
- }], indeterminateChange: [{
238
- type: Output
239
- }], checked: [{
240
- type: Input
241
- }], disabled: [{
242
- type: Input
243
- }], grouped: [{
244
- type: Input
245
- }], indeterminate: [{
246
- type: Input
247
- }], required: [{
248
- type: Input
249
- }], hideText: [{
250
- type: Input
251
- }] } });
252
-
253
- class CheckboxModule {
254
- }
255
- CheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
256
- CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, declarations: [BbiCheckbox, BbiCheckboxGroup], imports: [CommonModule, UtilsModule], exports: [BbiCheckbox, BbiCheckboxGroup] });
257
- CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, imports: [CommonModule, UtilsModule] });
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, decorators: [{
259
- type: NgModule,
260
- args: [{
261
- imports: [CommonModule, UtilsModule],
262
- declarations: [BbiCheckbox, BbiCheckboxGroup],
263
- exports: [BbiCheckbox, BbiCheckboxGroup]
264
- }]
265
- }] });
266
-
267
- class BbiToggleGroup {
268
- // Grouped.
269
- get grouped() { return this._grouped; }
270
- set grouped(value) {
271
- const newValue = coerceBooleanProperty(value);
272
- if (newValue !== this.grouped) {
273
- this._grouped = newValue;
274
- this._changeDetectorRef.markForCheck();
275
- }
276
- }
277
- // Required.
278
- get required() { return this._required; }
279
- set required(value) {
280
- const newValue = coerceBooleanProperty(value);
281
- if (newValue !== this.required) {
282
- this._required = newValue;
283
- this._changeDetectorRef.markForCheck();
284
- }
285
- }
286
- // Inline.
287
- get inline() { return this._inline; }
288
- set inline(value) {
289
- const newValue = coerceBooleanProperty(value);
290
- if (newValue !== this.inline) {
291
- this._inline = newValue;
292
- this._changeDetectorRef.markForCheck();
293
- }
294
- }
295
- constructor(_changeDetectorRef) {
296
- this._changeDetectorRef = _changeDetectorRef;
297
- // Inputs.
298
- this.label = null;
299
- this._grouped = false;
300
- this._required = false;
301
- this._inline = false;
302
- }
303
- }
304
- BbiToggleGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiToggleGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
305
- BbiToggleGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiToggleGroup, selector: "bbi-toggle-group", inputs: { label: "label", grouped: "grouped", required: "required", inline: "inline" }, host: { properties: { "class.grouped": "grouped", "class.required": "required", "class.inline": "inline" }, classAttribute: "bbi-toggle-group" }, ngImport: i0, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-toggle-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-toggle-group-items\">\n <ng-content select=\"bbi-toggle\"></ng-content>\n</div>\n", styles: [".bbi-toggle-group{display:block}.bbi-toggle-group.grouped{margin-bottom:var(--toggle-group-grouping, 20px)}.bbi-toggle-group.required>.bbi-toggle-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-toggle-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--toggle-group-label-color, #525252);font-size:var(--toggle-group-label-font-size, 14px);margin-bottom:var(--toggle-group-label-offset, 4px);line-height:var(--toggle-group-label-line-height, 1.33);font-weight:var(--toggle-group-label-font-weight, 400)}.bbi-toggle-group-items{display:flex;flex-direction:column}.bbi-toggle-group-items:not(:empty){margin-bottom:-var(--toggle-group-item-spacing-vertical,4px)}.bbi-toggle-group-items>*{margin-bottom:var(--toggle-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-toggle-group.inline>.bbi-toggle-group-items{flex-wrap:wrap;flex-direction:row}.bbi-toggle-group.inline>.bbi-toggle-group-items>*:not(:last-child){margin-right:var(--toggle-group-item-spacing-horizontal, 10px)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiToggleGroup, decorators: [{
307
- type: Component,
308
- args: [{ selector: 'bbi-toggle-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
309
- 'class': 'bbi-toggle-group',
310
- '[class.grouped]': 'grouped',
311
- '[class.required]': 'required',
312
- '[class.inline]': 'inline'
313
- }, preserveWhitespaces: false, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-toggle-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-toggle-group-items\">\n <ng-content select=\"bbi-toggle\"></ng-content>\n</div>\n", styles: [".bbi-toggle-group{display:block}.bbi-toggle-group.grouped{margin-bottom:var(--toggle-group-grouping, 20px)}.bbi-toggle-group.required>.bbi-toggle-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-toggle-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--toggle-group-label-color, #525252);font-size:var(--toggle-group-label-font-size, 14px);margin-bottom:var(--toggle-group-label-offset, 4px);line-height:var(--toggle-group-label-line-height, 1.33);font-weight:var(--toggle-group-label-font-weight, 400)}.bbi-toggle-group-items{display:flex;flex-direction:column}.bbi-toggle-group-items:not(:empty){margin-bottom:-var(--toggle-group-item-spacing-vertical,4px)}.bbi-toggle-group-items>*{margin-bottom:var(--toggle-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-toggle-group.inline>.bbi-toggle-group-items{flex-wrap:wrap;flex-direction:row}.bbi-toggle-group.inline>.bbi-toggle-group-items>*:not(:last-child){margin-right:var(--toggle-group-item-spacing-horizontal, 10px)}}\n"] }]
314
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
315
- type: Input
316
- }], grouped: [{
317
- type: Input
318
- }], required: [{
319
- type: Input
320
- }], inline: [{
321
- type: Input
322
- }] } });
323
-
324
- let nextUniqueId$1 = 0;
325
- class BbiToggle {
326
- // Checked.
327
- get checked() {
328
- return this._checked;
329
- }
330
- set checked(value) {
331
- const newValue = coerceBooleanProperty(value);
332
- if (newValue !== this.checked) {
333
- this._checked = newValue;
334
- this._changeDetectorRef.markForCheck();
335
- }
336
- }
337
- // Disabled.
338
- get disabled() {
339
- return this._disabled;
340
- }
341
- set disabled(value) {
342
- const newValue = coerceBooleanProperty(value);
343
- if (newValue !== this.disabled) {
344
- this._disabled = newValue;
345
- this._changeDetectorRef.markForCheck();
346
- }
347
- }
348
- // Grouped.
349
- get grouped() {
350
- return this._grouped;
351
- }
352
- set grouped(value) {
353
- const newValue = coerceBooleanProperty(value);
354
- if (newValue !== this.grouped) {
355
- this._grouped = newValue;
356
- this._changeDetectorRef.markForCheck();
357
- }
358
- }
359
- // Required.
360
- get required() {
361
- return this._required;
362
- }
363
- set required(value) {
364
- const newValue = coerceBooleanProperty(value);
365
- if (newValue !== this.required) {
366
- this._required = newValue;
367
- this._changeDetectorRef.markForCheck();
368
- }
369
- }
370
- // Hide text.
371
- get hideText() {
372
- return this._hideText;
373
- }
374
- set hideText(value) {
375
- const newValue = coerceBooleanProperty(value);
376
- if (newValue !== this.hideText) {
377
- this._hideText = newValue;
378
- this._changeDetectorRef.markForCheck();
379
- }
380
- }
381
- constructor(_renderer, _changeDetectorRef) {
382
- this._renderer = _renderer;
383
- this._changeDetectorRef = _changeDetectorRef;
384
- // Readonly data.
385
- this.labelId = `bbi-toggle-${nextUniqueId$1++}`;
386
- // Outputs.
387
- this.checkedChange = new EventEmitter();
388
- this._checked = false;
389
- this._disabled = false;
390
- this._grouped = false;
391
- this._required = false;
392
- this._hideText = false;
393
- // Methods.
394
- this.onChange = () => ({});
395
- this.onTouched = () => ({});
396
- }
397
- registerOnChange(fn) {
398
- this.onChange = fn;
399
- }
400
- registerOnTouched(fn) {
401
- this.onTouched = fn;
402
- }
403
- setDisabledState(isDisabled) {
404
- this.disabled = isDisabled;
405
- }
406
- writeValue(newValue) {
407
- this.checked = !!newValue;
408
- }
409
- toggle() {
410
- this.checked = !this.checked;
411
- }
412
- onClickEvent(event) {
413
- event.stopPropagation();
414
- if (this.disabled) {
415
- return;
416
- }
417
- this.toggle();
418
- // Emit our custom change event if the native input emitted one.
419
- // It is important to only emit it, if the native input triggered one, because
420
- // we don't want to trigger a change event, when the `checked` variable changes for example.
421
- this.emitChangeEvent();
422
- }
423
- onChangeEvent(event) {
424
- // We always have to stop propagation on the change event.
425
- // Otherwise the change event, from the input element, will bubble up and
426
- // emit its event object to the `change` output.
427
- event.stopPropagation();
428
- }
429
- emitChangeEvent() {
430
- var _a;
431
- (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, this.checked);
432
- this.checkedChange.emit(this.checked);
433
- this.syncField('checked', this.checked);
434
- }
435
- syncField(field, value) {
436
- var _a;
437
- const element = (_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement;
438
- if (!element) {
439
- return;
440
- }
441
- this._renderer.setProperty(element, field, value);
442
- }
443
- }
444
- BbiToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiToggle, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
445
- BbiToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiToggle, selector: "bbi-toggle", inputs: { checked: "checked", disabled: "disabled", grouped: "grouped", required: "required", hideText: "hideText" }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class.grouped": "grouped", "class.required": "required" }, classAttribute: "bbi-toggle" }, providers: [
446
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiToggle), multi: true }
447
- ], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<input #input\n [id]=\"labelId\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onClickEvent($event)\"\n (blur)=\"onTouched()\"\n class=\"bbi-toggle-input\"\n type=\"checkbox\">\n<label [attr.for]=\"labelId\"\n class=\"bbi-toggle-label\">\n <div class=\"bbi-toggle-switch\"></div>\n <span *ngIf=\"!hideText\"\n class=\"bbi-toggle-text\"><ng-content></ng-content></span>\n</label>\n", styles: [".bbi-toggle{display:block}.bbi-toggle.grouped{margin-bottom:var(--toggle-grouping, 20px)}.bbi-toggle-input{border:0;width:1px;padding:0;height:1px;margin:-1px;overflow:hidden;position:absolute;visibility:inherit;white-space:nowrap;clip:rect(0,0,0,0)}.bbi-toggle-switch{display:block;position:relative;width:var(--toggle-width, 40px);height:var(--toggle-height, 20px);min-width:var(--toggle-width, 40px);min-height:var(--toggle-height, 20px);outline-offset:var(--toggle-outline-offset, 1px);border-radius:calc(var(--toggle-height, 20px) / 2);background-color:var(--toggle-colors-background, #aeaeae);outline:var(--toggle-outline-thickness, 2px) solid transparent;transition:background-color 70ms cubic-bezier(.2,0,1,.9)}.bbi-toggle-switch:before{content:\"\";position:absolute;border-radius:50%;top:calc(.125 * var(--toggle-height, 20px));width:calc(.75 * var(--toggle-height, 20px));height:calc(.75 * var(--toggle-height, 20px));left:calc(.125 * var(--toggle-height, 20px));background-color:var(--toggle-colors-indicator, #ffffff);transition:transform 70ms cubic-bezier(.2,0,1,.9)}.bbi-toggle-input:checked+.bbi-toggle-label>.bbi-toggle-switch{background-color:var(--toggle-colors-accent, var(--accent-color, #1565c0))}.bbi-toggle-input:checked+.bbi-toggle-label>.bbi-toggle-switch:before{transform:translate(calc(var(--toggle-width, 40px) - .75 * var(--toggle-height, 20px) - .125 * var(--toggle-height, 20px) * 2))}.bbi-toggle-input:focus+.bbi-toggle-label>.bbi-toggle-switch{outline-color:var(--toggle-outline-color, var(--accent-color, #1565c0))}.bbi-toggle-input:disabled+.bbi-toggle-label{cursor:not-allowed}.bbi-toggle-input:disabled+.bbi-toggle-label>.bbi-toggle-text{color:var(--toggle-colors-disabled, #c6c6c6)}.bbi-toggle-label{display:flex;cursor:pointer;align-items:center}.bbi-toggle-text{color:var(--toggle-label-color, #111111);padding-left:var(--toggle-label-offset, 6px);font-size:var(--toggle-label-font-size, 16px);font-weight:var(--toggle-label-font-weight, 400);line-height:var(--toggle-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 });
448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiToggle, decorators: [{
449
- type: Component,
450
- args: [{ selector: 'bbi-toggle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
451
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiToggle), multi: true }
452
- ], host: {
453
- 'class': 'bbi-toggle',
454
- '[class.grouped]': 'grouped',
455
- '[class.required]': 'required'
456
- }, preserveWhitespaces: false, template: "<input #input\n [id]=\"labelId\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onClickEvent($event)\"\n (blur)=\"onTouched()\"\n class=\"bbi-toggle-input\"\n type=\"checkbox\">\n<label [attr.for]=\"labelId\"\n class=\"bbi-toggle-label\">\n <div class=\"bbi-toggle-switch\"></div>\n <span *ngIf=\"!hideText\"\n class=\"bbi-toggle-text\"><ng-content></ng-content></span>\n</label>\n", styles: [".bbi-toggle{display:block}.bbi-toggle.grouped{margin-bottom:var(--toggle-grouping, 20px)}.bbi-toggle-input{border:0;width:1px;padding:0;height:1px;margin:-1px;overflow:hidden;position:absolute;visibility:inherit;white-space:nowrap;clip:rect(0,0,0,0)}.bbi-toggle-switch{display:block;position:relative;width:var(--toggle-width, 40px);height:var(--toggle-height, 20px);min-width:var(--toggle-width, 40px);min-height:var(--toggle-height, 20px);outline-offset:var(--toggle-outline-offset, 1px);border-radius:calc(var(--toggle-height, 20px) / 2);background-color:var(--toggle-colors-background, #aeaeae);outline:var(--toggle-outline-thickness, 2px) solid transparent;transition:background-color 70ms cubic-bezier(.2,0,1,.9)}.bbi-toggle-switch:before{content:\"\";position:absolute;border-radius:50%;top:calc(.125 * var(--toggle-height, 20px));width:calc(.75 * var(--toggle-height, 20px));height:calc(.75 * var(--toggle-height, 20px));left:calc(.125 * var(--toggle-height, 20px));background-color:var(--toggle-colors-indicator, #ffffff);transition:transform 70ms cubic-bezier(.2,0,1,.9)}.bbi-toggle-input:checked+.bbi-toggle-label>.bbi-toggle-switch{background-color:var(--toggle-colors-accent, var(--accent-color, #1565c0))}.bbi-toggle-input:checked+.bbi-toggle-label>.bbi-toggle-switch:before{transform:translate(calc(var(--toggle-width, 40px) - .75 * var(--toggle-height, 20px) - .125 * var(--toggle-height, 20px) * 2))}.bbi-toggle-input:focus+.bbi-toggle-label>.bbi-toggle-switch{outline-color:var(--toggle-outline-color, var(--accent-color, #1565c0))}.bbi-toggle-input:disabled+.bbi-toggle-label{cursor:not-allowed}.bbi-toggle-input:disabled+.bbi-toggle-label>.bbi-toggle-text{color:var(--toggle-colors-disabled, #c6c6c6)}.bbi-toggle-label{display:flex;cursor:pointer;align-items:center}.bbi-toggle-text{color:var(--toggle-label-color, #111111);padding-left:var(--toggle-label-offset, 6px);font-size:var(--toggle-label-font-size, 16px);font-weight:var(--toggle-label-font-weight, 400);line-height:var(--toggle-label-line-height, 1.28)}\n"] }]
457
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElementRef: [{
458
- type: ViewChild,
459
- args: ['input', { static: true }]
460
- }], checkedChange: [{
461
- type: Output
462
- }], checked: [{
463
- type: Input
464
- }], disabled: [{
465
- type: Input
466
- }], grouped: [{
467
- type: Input
468
- }], required: [{
469
- type: Input
470
- }], hideText: [{
471
- type: Input
472
- }] } });
473
-
474
- class ToggleModule {
475
- }
476
- ToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
477
- ToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: ToggleModule, declarations: [BbiToggle, BbiToggleGroup], imports: [CommonModule, UtilsModule], exports: [BbiToggle, BbiToggleGroup] });
478
- ToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ToggleModule, imports: [CommonModule, UtilsModule] });
479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ToggleModule, decorators: [{
480
- type: NgModule,
481
- args: [{
482
- imports: [CommonModule, UtilsModule],
483
- declarations: [BbiToggle, BbiToggleGroup],
484
- exports: [BbiToggle, BbiToggleGroup]
485
- }]
486
- }] });
487
-
488
- function shouldShowErrors(mode, control, submitted, focused, readonly) {
489
- var _a, _b;
490
- if (mode === 'hidden' || readonly || (control === null || control === void 0 ? void 0 : control.disabled)) {
491
- return false;
492
- }
493
- // When submitted always show the errors.
494
- if (submitted && !focused) {
495
- return true;
496
- }
497
- // We want to show changes even when the user is focused.
498
- if (mode === 'changes') {
499
- return (_a = control === null || control === void 0 ? void 0 : control.dirty) !== null && _a !== void 0 ? _a : false;
500
- }
501
- // On blur show the error.
502
- if (mode === 'blur' && !focused) {
503
- return (_b = control === null || control === void 0 ? void 0 : control.touched) !== null && _b !== void 0 ? _b : false;
504
- }
505
- // Must not show the errors.
506
- return false;
507
- }
508
-
509
- class BbiControlErrorSubmit {
510
- constructor(_elementRef) {
511
- this._elementRef = _elementRef;
512
- // State.
513
- this._submitted$ = new BehaviorSubject(false);
514
- // Subscriptions.
515
- this._subscription = new Subscription();
516
- }
517
- ngOnInit() {
518
- this.handleNativeForm();
519
- }
520
- get submitted() {
521
- return this._submitted$.getValue();
522
- }
523
- submit() {
524
- this._submitted$.next(true);
525
- }
526
- reset() {
527
- this._submitted$.next(false);
528
- }
529
- handleNativeForm() {
530
- var _a;
531
- const element = (_a = this._elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement;
532
- if (!element) {
533
- return;
534
- }
535
- const formSubmit$ = fromEvent(element, 'submit').pipe(map(() => true));
536
- const formReset$ = fromEvent(element, 'reset').pipe(map(() => false));
537
- const subscription = merge(formSubmit$, formReset$).subscribe(submitted => {
538
- this._submitted$.next(submitted);
539
- });
540
- this._subscription.add(subscription);
541
- }
542
- }
543
- BbiControlErrorSubmit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiControlErrorSubmit, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
544
- BbiControlErrorSubmit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BbiControlErrorSubmit, selector: "form", exportAs: ["bbiControlErrorSubmit"], ngImport: i0 });
545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiControlErrorSubmit, decorators: [{
546
- type: Directive,
547
- args: [{
548
- selector: 'form',
549
- exportAs: 'bbiControlErrorSubmit'
550
- }]
551
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
552
-
553
- const BBI_CONTROL_ERRORS = new InjectionToken('bbi_control_errors');
554
-
555
- const controlErrorAnimation = trigger('errorAnimation', [
556
- transition(':enter', [
557
- style({ height: 0, opacity: 0, overflow: 'hidden' }),
558
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ height: '*' })),
559
- animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 }))
560
- ]),
561
- transition(':leave', [
562
- style({ overflow: 'hidden' }),
563
- animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })),
564
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ height: 0 }))
565
- ])
566
- ]);
567
-
568
- class BbiControlError {
569
- // Inputs.
570
- set errors(errors) {
571
- this.error = this.parseError(errors);
572
- }
573
- constructor(_localize, _functions) {
574
- var _a;
575
- this._localize = _localize;
576
- this._functions = _functions;
577
- // Readonly data.
578
- this.errorFunctions = ((_a = this._functions) !== null && _a !== void 0 ? _a : [])
579
- .reduce((previous, current) => (Object.assign(Object.assign({}, previous), current)), {});
580
- // Host bindings.
581
- this.animation = true;
582
- // State.
583
- this.error = null;
584
- }
585
- parseError(errors) {
586
- var _a, _b, _c, _d, _e, _f, _g;
587
- const errorName = (_b = (_a = Object.keys(errors !== null && errors !== void 0 ? errors : {})) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
588
- if (!errorName) {
589
- return null;
590
- }
591
- const errorFunction = (_f = (_d = (_c = this.errorFunctions) === null || _c === void 0 ? void 0 : _c[errorName]) !== null && _d !== void 0 ? _d : (_e = this.errorFunctions) === null || _e === void 0 ? void 0 : _e['unknown']) !== null && _f !== void 0 ? _f : null;
592
- if (!errorFunction) {
593
- return null;
594
- }
595
- const errorData = (_g = errors === null || errors === void 0 ? void 0 : errors[errorName]) !== null && _g !== void 0 ? _g : {};
596
- const result = errorFunction(errorData);
597
- if (!result) {
598
- return null;
599
- }
600
- const resultObject = typeof result === 'string' ? { token: result } : result;
601
- return this.getErrorSentence(resultObject);
602
- }
603
- getErrorSentence(data) {
604
- return !!this._localize
605
- ? this._localize.translate(data)
606
- : data === null || data === void 0 ? void 0 : data.token;
607
- }
608
- }
609
- BbiControlError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiControlError, deps: [{ token: i1.Localize, optional: true }, { token: BBI_CONTROL_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
610
- BbiControlError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiControlError, selector: "bbi-control-error", inputs: { errors: "errors" }, host: { properties: { "@errorAnimation": "this.animation" }, classAttribute: "bbi-control-error" }, ngImport: i0, template: "{{ error ?? '...' }}\n", styles: [".bbi-control-error{color:var(--control-error-color, var(--error-color, #bd322a));display:block;margin-top:var(--control-error-spacing, 4px);font-size:var(--control-error-font-size, 13px);font-weight:var(--control-error-font-weight, 400);line-height:var(--control-error-line-height, 1.5)}\n"], animations: [controlErrorAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiControlError, decorators: [{
612
- type: Component,
613
- args: [{ selector: 'bbi-control-error', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bbi-control-error' }, preserveWhitespaces: false, animations: [controlErrorAnimation], template: "{{ error ?? '...' }}\n", styles: [".bbi-control-error{color:var(--control-error-color, var(--error-color, #bd322a));display:block;margin-top:var(--control-error-spacing, 4px);font-size:var(--control-error-font-size, 13px);font-weight:var(--control-error-font-weight, 400);line-height:var(--control-error-line-height, 1.5)}\n"] }]
614
- }], ctorParameters: function () {
615
- return [{ type: i1.Localize, decorators: [{
616
- type: Optional
617
- }] }, { type: undefined, decorators: [{
618
- type: Optional
619
- }, {
620
- type: Inject,
621
- args: [BBI_CONTROL_ERRORS]
622
- }] }];
623
- }, propDecorators: { animation: [{
624
- type: HostBinding,
625
- args: ['@errorAnimation']
626
- }], errors: [{
627
- type: Input
628
- }] } });
629
-
630
- class BbiRadioGroup {
631
- // Value.
632
- get value() {
633
- return this._value;
634
- }
635
- set value(value) {
636
- this._value = value;
637
- this._changeDetectorRef.markForCheck();
638
- }
639
- // Disabled.
640
- get disabled() {
641
- return this._disabled;
642
- }
643
- set disabled(value) {
644
- const newValue = coerceBooleanProperty(value);
645
- if (newValue !== this.disabled) {
646
- this._disabled = newValue;
647
- this._changeDetectorRef.markForCheck();
648
- }
649
- }
650
- // Grouped.
651
- get grouped() {
652
- return this._grouped;
653
- }
654
- set grouped(value) {
655
- const newValue = coerceBooleanProperty(value);
656
- if (newValue !== this.grouped) {
657
- this._grouped = newValue;
658
- this._changeDetectorRef.markForCheck();
659
- }
660
- }
661
- // Readonly.
662
- get readonly() {
663
- return this._readonly;
664
- }
665
- set readonly(value) {
666
- const newValue = coerceBooleanProperty(value);
667
- if (newValue !== this.grouped) {
668
- this._readonly = newValue;
669
- this._changeDetectorRef.markForCheck();
670
- }
671
- }
672
- // Required.
673
- get required() {
674
- return this._required;
675
- }
676
- set required(value) {
677
- const newValue = coerceBooleanProperty(value);
678
- if (newValue !== this.required) {
679
- this._required = newValue;
680
- this._changeDetectorRef.markForCheck();
681
- }
682
- }
683
- // Inline.
684
- get inline() {
685
- return this._inline;
686
- }
687
- set inline(value) {
688
- const newValue = coerceBooleanProperty(value);
689
- if (newValue !== this.inline) {
690
- this._inline = newValue;
691
- this._changeDetectorRef.markForCheck();
692
- }
693
- }
694
- constructor(_injector, _changeDetectorRef, _errorSubmit) {
695
- this._injector = _injector;
696
- this._changeDetectorRef = _changeDetectorRef;
697
- this._errorSubmit = _errorSubmit;
698
- // Inputs.
699
- this.label = null;
700
- this.errorMode = 'blur';
701
- // Outputs.
702
- this.valueChange = new EventEmitter();
703
- // State.
704
- this.validationErrors$ = new BehaviorSubject(null);
705
- this._value = null;
706
- this._disabled = false;
707
- this._grouped = false;
708
- this._readonly = false;
709
- this._required = false;
710
- this._inline = false;
711
- // Methods.
712
- this.onChange = () => ({});
713
- this.onTouched = () => ({});
714
- }
715
- ngDoCheck() {
716
- var _a, _b;
717
- const control = this._injector.get(NgControl);
718
- const submitted = (_a = this._errorSubmit) === null || _a === void 0 ? void 0 : _a.submitted;
719
- const hasErrors = shouldShowErrors(this.errorMode, control, submitted, false, this.readonly);
720
- const errors = (_b = control === null || control === void 0 ? void 0 : control.errors) !== null && _b !== void 0 ? _b : null;
721
- const newValue = hasErrors ? errors : null;
722
- const equal = JSON.stringify(newValue) === JSON.stringify(this.validationErrors$.getValue());
723
- if (equal) {
724
- return;
725
- }
726
- this.validationErrors$.next(newValue);
727
- }
728
- select(value) {
729
- var _a, _b;
730
- if (this.value === value || this.disabled || this.readonly) {
731
- return;
732
- }
733
- this.value = value;
734
- (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, this.value);
735
- this.valueChange.emit(this.value);
736
- (_b = this.onTouched) === null || _b === void 0 ? void 0 : _b.call(this);
737
- }
738
- registerOnChange(fn) {
739
- this.onChange = fn;
740
- }
741
- registerOnTouched(fn) {
742
- this.onTouched = fn;
743
- }
744
- setDisabledState(isDisabled) {
745
- this.disabled = isDisabled;
746
- }
747
- writeValue(newValue) {
748
- this.value = newValue;
749
- }
750
- }
751
- BbiRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiRadioGroup, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: BbiControlErrorSubmit, optional: true }], target: i0.ɵɵFactoryTarget.Component });
752
- BbiRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BbiRadioGroup, selector: "bbi-radio-group", inputs: { label: "label", errorMode: "errorMode", value: "value", disabled: "disabled", grouped: "grouped", readonly: "readonly", required: "required", inline: "inline" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled", "class.readonly": "readonly", "class.grouped": "grouped", "class.required": "required", "class.inline": "inline", "class.error": "validationErrors$?.getValue()" }, classAttribute: "bbi-radio-group" }, providers: [
753
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiRadioGroup), multi: true }
754
- ], ngImport: i0, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-radio-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-radio-group-items\">\n <ng-content select=\"bbi-radio-button\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"validationErrors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n", styles: [".bbi-radio-group{display:block}.bbi-radio-group.grouped{margin-bottom:var(--radio-group-grouping, 20px)}.bbi-radio-group.readonly{pointer-events:none}.bbi-radio-group.error>.bbi-radio-group-label{color:var(--radio-group-error, var(--error-color, #bd322a))}.bbi-radio-group.required>.bbi-radio-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-radio-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--radio-group-label-color, #525252);font-size:var(--radio-group-label-font-size, 14px);margin-bottom:var(--radio-group-label-offset, 4px);line-height:var(--radio-group-label-line-height, 1.33);font-weight:var(--radio-group-label-font-weight, 400)}.bbi-radio-group-items{display:flex;flex-direction:column}.bbi-radio-group-items:not(:empty){margin-bottom:-var(--radio-group-item-spacing-vertical,4px)}.bbi-radio-group-items>*{margin-bottom:var(--radio-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-radio-group.inline>.bbi-radio-group-items{flex-wrap:wrap;flex-direction:row}.bbi-radio-group.inline>.bbi-radio-group-items>*:not(:last-child){margin-right:var(--radio-group-item-spacing-horizontal, 10px)}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BbiControlError, selector: "bbi-control-error", inputs: ["errors"] }, { kind: "directive", type: i2$1.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiRadioGroup, decorators: [{
756
- type: Component,
757
- args: [{ selector: 'bbi-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
758
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbiRadioGroup), multi: true }
759
- ], host: {
760
- 'class': 'bbi-radio-group',
761
- '[class.disabled]': 'disabled',
762
- '[class.readonly]': 'readonly',
763
- '[class.grouped]': 'grouped',
764
- '[class.required]': 'required',
765
- '[class.inline]': 'inline',
766
- '[class.error]': 'validationErrors$?.getValue()'
767
- }, preserveWhitespaces: false, template: "<label *ngIf=\"label as labelContent\"\n class=\"bbi-radio-group-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n</label>\n\n<div class=\"bbi-radio-group-items\">\n <ng-content select=\"bbi-radio-button\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"validationErrors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n", styles: [".bbi-radio-group{display:block}.bbi-radio-group.grouped{margin-bottom:var(--radio-group-grouping, 20px)}.bbi-radio-group.readonly{pointer-events:none}.bbi-radio-group.error>.bbi-radio-group-label{color:var(--radio-group-error, var(--error-color, #bd322a))}.bbi-radio-group.required>.bbi-radio-group-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bbi-radio-group-label{border:0;padding:0;font-family:inherit;display:inline-block;box-sizing:border-box;vertical-align:initial;color:var(--radio-group-label-color, #525252);font-size:var(--radio-group-label-font-size, 14px);margin-bottom:var(--radio-group-label-offset, 4px);line-height:var(--radio-group-label-line-height, 1.33);font-weight:var(--radio-group-label-font-weight, 400)}.bbi-radio-group-items{display:flex;flex-direction:column}.bbi-radio-group-items:not(:empty){margin-bottom:-var(--radio-group-item-spacing-vertical,4px)}.bbi-radio-group-items>*{margin-bottom:var(--radio-group-item-spacing-vertical, 4px)}@media only screen and (min-width: 768px){.bbi-radio-group.inline>.bbi-radio-group-items{flex-wrap:wrap;flex-direction:row}.bbi-radio-group.inline>.bbi-radio-group-items>*:not(:last-child){margin-right:var(--radio-group-item-spacing-horizontal, 10px)}}\n"] }]
768
- }], ctorParameters: function () {
769
- return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: BbiControlErrorSubmit, decorators: [{
770
- type: Optional
771
- }] }];
772
- }, propDecorators: { label: [{
773
- type: Input
774
- }], errorMode: [{
775
- type: Input
776
- }], valueChange: [{
777
- type: Output
778
- }], value: [{
779
- type: Input
780
- }], disabled: [{
781
- type: Input
782
- }], grouped: [{
783
- type: Input
784
- }], readonly: [{
785
- type: Input
786
- }], required: [{
787
- type: Input
788
- }], inline: [{
789
- type: Input
790
- }] } });
791
-
792
- class BbiRadioButton {
793
- // Disabled.
794
- get disabled() {
795
- var _a;
796
- return ((_a = this._radioGroup) === null || _a === void 0 ? void 0 : _a.disabled) || this._disabled;
797
- }
798
- set disabled(value) {
799
- const newValue = coerceBooleanProperty(value);
800
- if (newValue !== this.disabled) {
801
- this._disabled = newValue;
802
- this._changeDetectorRef.markForCheck();
803
- }
804
- }
805
- // Hide text.
806
- get hideText() {
807
- return this._hideText;
808
- }
809
- set hideText(value) {
810
- const newValue = coerceBooleanProperty(value);
811
- if (newValue !== this.hideText) {
812
- this._hideText = newValue;
813
- this._changeDetectorRef.markForCheck();
814
- }
815
- }
816
- onClick() {
817
- if (this.disabled) {
818
- return;
819
- }
820
- this._radioGroup.select(this.value);
821
- }
822
- onSpacePressed() {
823
- return this.onClick();
824
- }
825
- get selected() {
826
- var _a;
827
- return ((_a = this._radioGroup) === null || _a === void 0 ? void 0 : _a.value) === this.value;
828
- }
829
- constructor(_radioGroup, _changeDetectorRef) {
830
- this._radioGroup = _radioGroup;
831
- this._changeDetectorRef = _changeDetectorRef;
832
- // Inputs.
833
- this.value = null;
834
- this._disabled = false;
835
- this._hideText = false;
836
- }
837
- }
838
- BbiRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiRadioButton, deps: [{ token: BbiRadioGroup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
839
- BbiRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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 });
840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiRadioButton, decorators: [{
841
- type: Component,
842
- args: [{ selector: 'bbi-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
843
- 'class': 'bbi-radio-button',
844
- '[class.disabled]': 'disabled',
845
- '[tabindex]': 'disabled ? -1 : 0'
846
- }, 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"] }]
847
- }], ctorParameters: function () { return [{ type: BbiRadioGroup }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { value: [{
848
- type: Input
849
- }], disabled: [{
850
- type: Input
851
- }], hideText: [{
852
- type: Input
853
- }], onClick: [{
854
- type: HostListener,
855
- args: ['click']
856
- }], onSpacePressed: [{
857
- type: HostListener,
858
- args: ['keydown.space']
859
- }], selected: [{
860
- type: HostBinding,
861
- args: ['class.selected']
862
- }] } });
863
-
864
- class ControlErrorModule {
865
- }
866
- ControlErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
867
- ControlErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: ControlErrorModule, declarations: [BbiControlError, BbiControlErrorSubmit], imports: [CommonModule], exports: [BbiControlError, BbiControlErrorSubmit] });
868
- ControlErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlErrorModule, imports: [CommonModule] });
869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlErrorModule, decorators: [{
870
- type: NgModule,
871
- args: [{
872
- imports: [CommonModule],
873
- declarations: [BbiControlError, BbiControlErrorSubmit],
874
- exports: [BbiControlError, BbiControlErrorSubmit]
875
- }]
876
- }] });
877
-
878
- class RadioModule {
879
- }
880
- RadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
881
- RadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: RadioModule, declarations: [BbiRadioGroup, BbiRadioButton], imports: [CommonModule, ControlErrorModule, UtilsModule], exports: [BbiRadioGroup, BbiRadioButton] });
882
- RadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioModule, imports: [CommonModule, ControlErrorModule, UtilsModule] });
883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioModule, decorators: [{
884
- type: NgModule,
885
- args: [{
886
- imports: [CommonModule, ControlErrorModule, UtilsModule],
887
- declarations: [BbiRadioGroup, BbiRadioButton],
888
- exports: [BbiRadioGroup, BbiRadioButton]
889
- }]
890
- }] });
891
-
892
- class BbiFormControlInput {
893
- constructor(_elementRef, _formControl, _changeDetectorRef, _ngControl) {
894
- var _a, _b;
895
- this._elementRef = _elementRef;
896
- this._formControl = _formControl;
897
- this._changeDetectorRef = _changeDetectorRef;
898
- this._ngControl = _ngControl;
899
- // Readonly data.
900
- this.labelId = (_b = (_a = this._formControl) === null || _a === void 0 ? void 0 : _a.labelId) !== null && _b !== void 0 ? _b : null;
901
- // State.
902
- this.errors = null;
903
- this.focused = false;
904
- // Subscriptions.
905
- this._subscription = new Subscription();
906
- this._disabled = false;
907
- this._readonly = false;
908
- this._required = false;
909
- }
910
- ngOnInit() {
911
- this.handleControlDisabledStatus();
912
- this.handleControlErrorStatus();
913
- this.handleFocusedState();
914
- }
915
- ngOnDestroy() {
916
- var _a;
917
- (_a = this._subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
918
- }
919
- get control() {
920
- var _a;
921
- return (_a = this._ngControl) !== null && _a !== void 0 ? _a : null;
922
- }
923
- get disabled() { return this._disabled; }
924
- set disabled(value) {
925
- const newValue = coerceBooleanProperty(value);
926
- if (newValue !== this.disabled) {
927
- this._disabled = newValue;
928
- this._changeDetectorRef.markForCheck();
929
- }
930
- }
931
- get readonly() { return this._readonly; }
932
- set readonly(value) {
933
- const newValue = coerceBooleanProperty(value);
934
- if (newValue !== this.readonly) {
935
- this._readonly = newValue;
936
- this._changeDetectorRef.markForCheck();
937
- }
938
- }
939
- get required() {
940
- var _a, _b;
941
- if (this._ngControl) {
942
- return (_b = (_a = this._ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.hasValidator(Validators.required);
943
- }
944
- return this._required;
945
- }
946
- set required(value) {
947
- const newValue = coerceBooleanProperty(value);
948
- if (newValue !== this.required) {
949
- this._required = newValue;
950
- this._changeDetectorRef.markForCheck();
951
- }
952
- }
953
- handleControlErrorStatus() {
954
- if (!this._ngControl) {
955
- return;
956
- }
957
- const errors$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(() => { var _a, _b; return (_b = (_a = this._ngControl) === null || _a === void 0 ? void 0 : _a.errors) !== null && _b !== void 0 ? _b : null; }));
958
- const subscription = errors$.subscribe(errors => {
959
- this.errors = errors;
960
- this._changeDetectorRef.markForCheck();
961
- });
962
- this._subscription.add(subscription);
963
- }
964
- handleControlDisabledStatus() {
965
- if (!this._ngControl) {
966
- return;
967
- }
968
- const disabled$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(status => status === 'DISABLED'), distinctUntilChanged());
969
- const subscription = disabled$.subscribe(disabled => {
970
- this.disabled = disabled;
971
- });
972
- this._subscription.add(subscription);
973
- }
974
- handleFocusedState() {
975
- const focus$ = fromEvent(this._elementRef.nativeElement, 'focus').pipe(map(() => true));
976
- const blur$ = fromEvent(this._elementRef.nativeElement, 'blur').pipe(map(() => false));
977
- const focused$ = merge(focus$, blur$).pipe(startWith(false), pairwise(), switchMap(([oldValue, currentValue]) => {
978
- if (oldValue && !currentValue) {
979
- return of(currentValue).pipe(delay(100));
980
- }
981
- return of(currentValue);
982
- }), distinctUntilChanged());
983
- const subscription = focused$.subscribe(focused => this.focused = focused);
984
- this._subscription.add(subscription);
985
- }
986
- }
987
- BbiFormControlInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControlInput, deps: [{ token: i0.ElementRef }, { token: BbiFormControl }, { token: i0.ChangeDetectorRef }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
988
- BbiFormControlInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BbiFormControlInput, selector: "input[bbiFormControlInput]", inputs: { disabled: "disabled", readonly: "readonly", required: "required" }, host: { properties: { "attr.id": "this.labelId", "required": "this.required" } }, ngImport: i0 });
989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControlInput, decorators: [{
990
- type: Directive,
991
- args: [{
992
- selector: 'input[bbiFormControlInput]'
993
- }]
994
- }], ctorParameters: function () {
995
- return [{ type: i0.ElementRef }, { type: BbiFormControl }, { type: i0.ChangeDetectorRef }, { type: i2$2.NgControl, decorators: [{
996
- type: Optional
997
- }, {
998
- type: Self
999
- }] }];
1000
- }, propDecorators: { labelId: [{
1001
- type: HostBinding,
1002
- args: ['attr.id']
1003
- }], disabled: [{
1004
- type: Input
1005
- }], readonly: [{
1006
- type: Input
1007
- }], required: [{
1008
- type: HostBinding,
1009
- args: ['required']
1010
- }, {
1011
- type: Input
1012
- }] } });
1013
-
1014
- let nextUniqueId = 0;
1015
- class BbiFormControl {
1016
- // Grouped.
1017
- get grouped() {
1018
- return this._grouped;
1019
- }
1020
- set grouped(value) {
1021
- const newValue = coerceBooleanProperty(value);
1022
- if (newValue !== this.grouped) {
1023
- this._grouped = newValue;
1024
- this._changeDetectorRef.markForCheck();
1025
- }
1026
- }
1027
- constructor(_changeDetectorRef, _errorSubmit) {
1028
- this._changeDetectorRef = _changeDetectorRef;
1029
- this._errorSubmit = _errorSubmit;
1030
- // Readonly data.
1031
- this.labelId = `bbi-form-control-${nextUniqueId++}`;
1032
- // Inputs.
1033
- this.label = null;
1034
- this.hint = null;
1035
- this.errorMode = 'blur';
1036
- // State.
1037
- this.validationErrors$ = new BehaviorSubject(null);
1038
- this._grouped = false;
1039
- }
1040
- ngDoCheck() {
1041
- var _a, _b, _c, _d, _e, _f;
1042
- const control = (_a = this.formControlInput) === null || _a === void 0 ? void 0 : _a.control;
1043
- const submitted = (_b = this._errorSubmit) === null || _b === void 0 ? void 0 : _b.submitted;
1044
- const focused = (_c = this.formControlInput) === null || _c === void 0 ? void 0 : _c.focused;
1045
- const readonly = (_d = this.formControlInput) === null || _d === void 0 ? void 0 : _d.readonly;
1046
- const hasErrors = shouldShowErrors(this.errorMode, control, submitted, focused, readonly);
1047
- const errors = (_f = (_e = this.formControlInput) === null || _e === void 0 ? void 0 : _e.errors) !== null && _f !== void 0 ? _f : null;
1048
- const newValue = hasErrors ? errors : null;
1049
- const equal = JSON.stringify(newValue) === JSON.stringify(this.validationErrors$.getValue());
1050
- if (equal) {
1051
- return;
1052
- }
1053
- this.validationErrors$.next(newValue);
1054
- }
1055
- }
1056
- BbiFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControl, deps: [{ token: i0.ChangeDetectorRef }, { token: BbiControlErrorSubmit, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1057
- BbiFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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: BbiControlError, selector: "bbi-control-error", inputs: ["errors"] }, { kind: "directive", type: i2$1.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControl, decorators: [{
1059
- type: Component,
1060
- args: [{ selector: 'bbi-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1061
- 'class': 'bbi-form-control',
1062
- '[class.grouped]': 'grouped',
1063
- '[class.disabled]': 'formControlInput?.disabled',
1064
- '[class.required]': 'formControlInput?.required',
1065
- '[class.readonly]': 'formControlInput?.readonly',
1066
- '[class.focused]': 'formControlInput?.focused',
1067
- '[class.error]': 'validationErrors$?.getValue()'
1068
- }, 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"] }]
1069
- }], ctorParameters: function () {
1070
- return [{ type: i0.ChangeDetectorRef }, { type: BbiControlErrorSubmit, decorators: [{
1071
- type: Optional
1072
- }] }];
1073
- }, propDecorators: { formControlInput: [{
1074
- type: ContentChild,
1075
- args: [BbiFormControlInput, { static: false }]
1076
- }], label: [{
1077
- type: Input
1078
- }], hint: [{
1079
- type: Input
1080
- }], errorMode: [{
1081
- type: Input
1082
- }], grouped: [{
1083
- type: Input
1084
- }] } });
1085
-
1086
- class BbiFormControlAddon {
1087
- constructor() {
1088
- // Inputs.
1089
- this.type = null;
1090
- }
1091
- }
1092
- BbiFormControlAddon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControlAddon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1093
- BbiFormControlAddon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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;-webkit-appearance:none;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 });
1094
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BbiFormControlAddon, decorators: [{
1095
- type: Component,
1096
- args: [{ selector: '[bbi-form-control-addon]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1097
- 'class': 'bbi-form-control-addon',
1098
- '[class.prefix]': 'type === \'prefix\'',
1099
- '[class.suffix]': 'type === \'suffix\''
1100
- }, 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;-webkit-appearance:none;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"] }]
1101
- }], propDecorators: { type: [{
1102
- type: Input,
1103
- args: ['bbi-form-control-addon']
1104
- }] } });
1105
-
1106
- class FormControlModule {
1107
- }
1108
- FormControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1109
- FormControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: FormControlModule, declarations: [BbiFormControl,
1110
- BbiFormControlInput,
1111
- BbiFormControlAddon], imports: [CommonModule, ControlErrorModule, UtilsModule], exports: [BbiFormControl,
1112
- BbiFormControlInput,
1113
- BbiFormControlAddon] });
1114
- FormControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormControlModule, imports: [CommonModule, ControlErrorModule, UtilsModule] });
1115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormControlModule, decorators: [{
1116
- type: NgModule,
1117
- args: [{
1118
- imports: [CommonModule, ControlErrorModule, UtilsModule],
1119
- declarations: [
1120
- BbiFormControl,
1121
- BbiFormControlInput,
1122
- BbiFormControlAddon
1123
- ],
1124
- exports: [
1125
- BbiFormControl,
1126
- BbiFormControlInput,
1127
- BbiFormControlAddon
1128
- ]
1129
- }]
1130
- }] });
1131
-
1132
- const controlErrorDefaults = {
1133
- unknown: () => 'form-control-errors.unknown',
1134
- required: () => 'form-control-errors.required',
1135
- pattern: () => 'form-control-errors.pattern',
1136
- email: () => 'form-control-errors.email',
1137
- emailTaken: () => 'form-control-errors.emailTaken',
1138
- passwordMatch: () => 'form-control-errors.passwordMatch',
1139
- confirm: () => 'form-control-errors.confirm',
1140
- fullNumber: () => 'form-control-errors.fullNumber',
1141
- min: ({ min }) => ({ token: 'form-control-errors.min', data: { min } }),
1142
- max: ({ max }) => ({ token: 'form-control-errors.max', data: { max } }),
1143
- maxFileSize: ({ maxSize }) => ({ token: 'form-control-errors.maxFileSize', data: { maxSize } }),
1144
- minDate: ({ date }) => ({ token: 'form-control-errors.minDate', data: { date } }),
1145
- maxDate: ({ date }) => ({ token: 'form-control-errors.maxDate', data: { date } }),
1146
- invalidDate: () => 'form-control-errors.invalidDate',
1147
- invalidFileType: () => 'form-control-errors.invalidFileType',
1148
- minlength: ({ requiredLength, actualLength }) => ({
1149
- token: 'form-control-errors.minlength',
1150
- data: { requiredLength, actualLength }
1151
- }),
1152
- maxlength: ({ requiredLength, actualLength }) => ({
1153
- token: 'form-control-errors.maxlength',
1154
- data: { requiredLength, actualLength }
1155
- })
1156
- };
1157
-
1158
- class ControlsModule {
1159
- static forRoot(config) {
1160
- var _a;
1161
- return {
1162
- ngModule: ControlsModule,
1163
- providers: [
1164
- {
1165
- provide: BBI_CONTROL_ERRORS,
1166
- useValue: Object.assign(Object.assign({}, controlErrorDefaults), ((_a = config === null || config === void 0 ? void 0 : config.errors) !== null && _a !== void 0 ? _a : {})),
1167
- multi: true
1168
- }
1169
- ]
1170
- };
1171
- }
1172
- }
1173
- ControlsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1174
- ControlsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
1175
- CheckboxModule,
1176
- RadioModule,
1177
- ToggleModule,
1178
- ControlErrorModule], exports: [FormControlModule,
1179
- CheckboxModule,
1180
- RadioModule,
1181
- ToggleModule,
1182
- ControlErrorModule] });
1183
- ControlsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
1184
- CheckboxModule,
1185
- RadioModule,
1186
- ToggleModule,
1187
- ControlErrorModule, FormControlModule,
1188
- CheckboxModule,
1189
- RadioModule,
1190
- ToggleModule,
1191
- ControlErrorModule] });
1192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ControlsModule, decorators: [{
1193
- type: NgModule,
1194
- args: [{
1195
- imports: [
1196
- FormControlModule,
1197
- CheckboxModule,
1198
- RadioModule,
1199
- ToggleModule,
1200
- ControlErrorModule
1201
- ],
1202
- exports: [
1203
- FormControlModule,
1204
- CheckboxModule,
1205
- RadioModule,
1206
- ToggleModule,
1207
- ControlErrorModule
1208
- ]
1209
- }]
1210
- }] });
1211
-
1212
- /**
1213
- * Generated bundle index. Do not edit.
1214
- */
1215
-
1216
- export { BBI_CONTROL_ERRORS, BbiCheckbox, BbiCheckboxGroup, BbiControlError, BbiControlErrorSubmit, BbiFormControl, BbiFormControlAddon, BbiFormControlInput, BbiRadioButton, BbiRadioGroup, BbiToggle, BbiToggleGroup, CheckboxModule, ControlErrorModule, ControlsModule, FormControlModule, RadioModule, ToggleModule, controlErrorDefaults, shouldShowErrors };
1217
- //# sourceMappingURL=bravobit-bb-foundation-controls.mjs.map