@bravobit/bb-foundation 0.45.4 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/auth/lib/auth.config.d.ts +0 -2
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  4. package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
  5. package/collections/lib/directives/collections-data.directive.d.ts +1 -1
  6. package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
  7. package/collections/lib/directives/collections-error.directive.d.ts +1 -1
  8. package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
  9. package/collections/lib/directives/collections-item.directive.d.ts +1 -1
  10. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
  11. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
  12. package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
  13. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  14. package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
  15. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  16. package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
  17. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  18. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
  19. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  20. package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
  21. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  22. package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
  23. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  24. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  25. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  26. package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
  27. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  28. package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
  29. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  30. package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
  31. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  32. package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
  33. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  34. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
  35. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  36. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  37. package/fesm2022/bravobit-bb-foundation-select.mjs +26 -30
  38. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  39. package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
  40. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  41. package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
  42. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  43. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
  44. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  45. package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
  46. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  47. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  48. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  49. package/localize/lib/localize.config.d.ts +0 -1
  50. package/localize/lib/localize.service.d.ts +1 -1
  51. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  52. package/masking/lib/masking.service.d.ts +2 -2
  53. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
  54. package/package.json +25 -63
  55. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  56. package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
  57. package/table/lib/components/table/table.component.d.ts +2 -2
  58. package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
  59. package/esm2022/auth/lib/auth.config.mjs +0 -16
  60. package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
  61. package/esm2022/auth/lib/auth.module.mjs +0 -25
  62. package/esm2022/auth/lib/auth.service.mjs +0 -261
  63. package/esm2022/auth/lib/auth.session.mjs +0 -142
  64. package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
  65. package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
  66. package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
  67. package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
  68. package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
  69. package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
  70. package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
  71. package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
  72. package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
  73. package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
  74. package/esm2022/auth/public_api.mjs +0 -15
  75. package/esm2022/bravobit-bb-foundation.mjs +0 -5
  76. package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
  77. package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
  78. package/esm2022/collections/lib/collection.mjs +0 -98
  79. package/esm2022/collections/lib/collections.module.mjs +0 -84
  80. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
  81. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
  82. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
  83. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
  84. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
  85. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
  86. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
  87. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
  88. package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
  89. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
  90. package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
  91. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
  92. package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
  93. package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
  94. package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
  95. package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
  96. package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
  97. package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
  98. package/esm2022/collections/public_api.mjs +0 -22
  99. package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
  100. package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
  101. package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
  102. package/esm2022/combobox/combobox-label.directive.mjs +0 -14
  103. package/esm2022/combobox/combobox-option.directive.mjs +0 -17
  104. package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
  105. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
  106. package/esm2022/combobox/combobox.interface.mjs +0 -2
  107. package/esm2022/combobox/public_api.mjs +0 -4
  108. package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
  109. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
  110. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
  111. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
  112. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
  113. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  114. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
  115. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
  116. package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
  117. package/esm2022/dashboard/public_api.mjs +0 -9
  118. package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
  119. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  120. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
  121. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
  122. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
  123. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  124. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
  125. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
  126. package/esm2022/dialog/lib/dialog.config.mjs +0 -8
  127. package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
  128. package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
  129. package/esm2022/dialog/lib/dialog.module.mjs +0 -64
  130. package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
  131. package/esm2022/dialog/lib/dialog.service.mjs +0 -75
  132. package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
  133. package/esm2022/dialog/public_api.mjs +0 -12
  134. package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
  135. package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
  136. package/esm2022/elements/lib/button/button.component.mjs +0 -68
  137. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
  138. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
  139. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
  140. package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
  141. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
  142. package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
  143. package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
  144. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
  145. package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
  146. package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
  147. package/esm2022/elements/lib/elements.config.mjs +0 -54
  148. package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
  149. package/esm2022/elements/lib/elements.module.mjs +0 -146
  150. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
  151. package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
  152. package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
  153. package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
  154. package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
  155. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
  156. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
  157. package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
  158. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
  159. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
  160. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
  161. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
  162. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
  163. package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
  164. package/esm2022/elements/public_api.mjs +0 -30
  165. package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
  166. package/esm2022/http/lib/classes/http.config.mjs +0 -32
  167. package/esm2022/http/lib/classes/http.error.mjs +0 -20
  168. package/esm2022/http/lib/http.config.mjs +0 -18
  169. package/esm2022/http/lib/http.interfaces.mjs +0 -4
  170. package/esm2022/http/lib/http.module.mjs +0 -31
  171. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
  172. package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
  173. package/esm2022/http/public_api.mjs +0 -8
  174. package/esm2022/lib/core/functions/array.utils.mjs +0 -7
  175. package/esm2022/lib/core/functions/date.utils.mjs +0 -31
  176. package/esm2022/lib/core/functions/password.utils.mjs +0 -17
  177. package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
  178. package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
  179. package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
  180. package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
  181. package/esm2022/lib/core/services/exif.service.mjs +0 -165
  182. package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
  183. package/esm2022/lib/core/services/files.service.mjs +0 -78
  184. package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
  185. package/esm2022/lib/core/services/languages.service.mjs +0 -75
  186. package/esm2022/lib/core/services/network.service.mjs +0 -58
  187. package/esm2022/lib/core/services/patch.service.mjs +0 -66
  188. package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
  189. package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
  190. package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
  191. package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
  192. package/esm2022/lib/core/tokens/location.token.mjs +0 -6
  193. package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
  194. package/esm2022/lib/core/tokens/window.token.mjs +0 -12
  195. package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
  196. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
  197. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
  198. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
  199. package/esm2022/localize/lib/functions/date.function.mjs +0 -18
  200. package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
  201. package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
  202. package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
  203. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
  204. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
  205. package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
  206. package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
  207. package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
  208. package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
  209. package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
  210. package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
  211. package/esm2022/localize/lib/localize.config.mjs +0 -43
  212. package/esm2022/localize/lib/localize.module.mjs +0 -39
  213. package/esm2022/localize/lib/localize.pipe.mjs +0 -48
  214. package/esm2022/localize/lib/localize.service.mjs +0 -172
  215. package/esm2022/localize/lib/localize.tokens.mjs +0 -18
  216. package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
  217. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
  218. package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
  219. package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
  220. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
  221. package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
  222. package/esm2022/localize/public_api.mjs +0 -27
  223. package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
  224. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
  225. package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
  226. package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
  227. package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
  228. package/esm2022/masking/lib/masking.module.mjs +0 -30
  229. package/esm2022/masking/lib/masking.service.mjs +0 -104
  230. package/esm2022/masking/public_api.mjs +0 -7
  231. package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
  232. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
  233. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
  234. package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
  235. package/esm2022/notifications/lib/notifications.config.mjs +0 -8
  236. package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
  237. package/esm2022/notifications/lib/notifications.module.mjs +0 -20
  238. package/esm2022/notifications/lib/notifications.service.mjs +0 -161
  239. package/esm2022/notifications/public_api.mjs +0 -5
  240. package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
  241. package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
  242. package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
  243. package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
  244. package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
  245. package/esm2022/permissions/lib/permissions.config.mjs +0 -20
  246. package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
  247. package/esm2022/permissions/lib/permissions.module.mjs +0 -25
  248. package/esm2022/permissions/lib/permissions.service.mjs +0 -100
  249. package/esm2022/permissions/public_api.mjs +0 -9
  250. package/esm2022/public_api.mjs +0 -25
  251. package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
  252. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
  253. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
  254. package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
  255. package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
  256. package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
  257. package/esm2022/recaptcha/public_api.mjs +0 -6
  258. package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
  259. package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
  260. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
  261. package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
  262. package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
  263. package/esm2022/rxjs/public_api.mjs +0 -5
  264. package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
  265. package/esm2022/select/lib/select/select.component.mjs +0 -289
  266. package/esm2022/select/lib/select-label.directive.mjs +0 -18
  267. package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
  268. package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
  269. package/esm2022/select/lib/select-option.directive.mjs +0 -18
  270. package/esm2022/select/lib/select.config.mjs +0 -8
  271. package/esm2022/select/lib/select.module.mjs +0 -46
  272. package/esm2022/select/public_api.mjs +0 -8
  273. package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
  274. package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
  275. package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
  276. package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
  277. package/esm2022/storage/lib/storage.service.mjs +0 -113
  278. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
  279. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
  280. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
  281. package/esm2022/storage/public_api.mjs +0 -8
  282. package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
  283. package/esm2022/table/lib/components/table/table.component.mjs +0 -200
  284. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  285. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
  286. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  287. package/esm2022/table/lib/data/datasource.data.mjs +0 -30
  288. package/esm2022/table/lib/data/generic.data.mjs +0 -84
  289. package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
  290. package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
  291. package/esm2022/table/lib/table.module.mjs +0 -44
  292. package/esm2022/table/public_api.mjs +0 -10
  293. package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
  294. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
  295. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
  296. package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
  297. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
  298. package/esm2022/tooltip/public_api.mjs +0 -5
  299. package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
  300. package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
  301. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
  302. package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
  303. package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
  304. package/esm2022/utils/lib/utils.module.mjs +0 -35
  305. package/esm2022/utils/public_api.mjs +0 -6
@@ -1,93 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, Optional, ViewEncapsulation } from '@angular/core';
2
- import { BbIcon } from '@bravobit/bb-foundation/elements';
3
- import { of, Subscription } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../dashboard-sidebar/dashboard-sidebar.component";
6
- export class BbDashboardSidebarGroup {
7
- _parent;
8
- // Inputs.
9
- id = null;
10
- icon = null;
11
- title = null;
12
- disabled = false;
13
- // State.
14
- _isExpanded = false;
15
- // Subscriptions.
16
- _subscription = new Subscription();
17
- constructor(_parent) {
18
- this._parent = _parent;
19
- }
20
- get hasToggle() {
21
- // Check if the user provided a icon and/or title.
22
- return !!this.icon || !!this.title;
23
- }
24
- get isExpanded() {
25
- // If there is an icon or title the group can be
26
- // expanded by clicking, else not.
27
- return this.hasToggle
28
- ? this._isExpanded
29
- : true;
30
- }
31
- ngOnInit() {
32
- // Check if the id has been supplied.
33
- if (!this.id) {
34
- throw new Error('Id is required.');
35
- }
36
- // Register the group at the parent and
37
- // retrieve the slice of the state.
38
- const observable$ = this._parent?.registerGroup(this.id) ?? of(false);
39
- // Subscribe to the state.
40
- const subscription = observable$.subscribe(isExpanded => this._isExpanded = isExpanded);
41
- this._subscription.add(subscription);
42
- }
43
- ngOnDestroy() {
44
- this._subscription?.unsubscribe();
45
- this._parent?.unregisterGroup(this.id);
46
- }
47
- onClick() {
48
- // Verify the group is not disabled.
49
- if (this.disabled) {
50
- return;
51
- }
52
- // Change the state.
53
- const newValue = !this._isExpanded;
54
- // Set the state of the sidebar group.
55
- this._parent?.toggleGroup(this.id, newValue);
56
- }
57
- onGroupClicked(event) {
58
- // If the group is not disabled don't do anything.
59
- if (!this.disabled) {
60
- return;
61
- }
62
- event.preventDefault();
63
- event.stopPropagation();
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: i1.BbDashboardSidebar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbDashboardSidebarGroup, isStandalone: true, selector: "bb-dashboard-sidebar-group", inputs: { id: "id", icon: "icon", title: "title", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, ngImport: i0, template: "<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"0.75rem\"\n height=\"0.75rem\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n </button>\n}\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid hsla(0,0%,0%,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:2rem;line-height:2rem;padding:.375rem 1rem}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(.75rem)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:1.5rem}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:3.5rem}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;padding:1rem;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;align-items:center;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:1rem;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;max-width:100%;overflow:hidden;font-weight:500;line-height:1rem;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:1.5rem;display:flex;height:1.5rem;min-width:1.5rem;margin-left:auto;min-height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:.75rem;height:.75rem;fill:#00000040}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
69
- type: Component,
70
- args: [{ selector: 'bb-dashboard-sidebar-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
71
- 'class': 'bb-dashboard-sidebar-group',
72
- '[class.expanded]': 'isExpanded',
73
- '[class.with-toggle]': 'hasToggle',
74
- '[class.has-icon]': '!!icon',
75
- '[class.disabled]': 'disabled',
76
- 'role': 'group'
77
- }, standalone: true, imports: [BbIcon], template: "<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"0.75rem\"\n height=\"0.75rem\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n </button>\n}\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid hsla(0,0%,0%,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:2rem;line-height:2rem;padding:.375rem 1rem}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(.75rem)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:1.5rem}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:3.5rem}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;padding:1rem;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;align-items:center;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:1rem;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;max-width:100%;overflow:hidden;font-weight:500;line-height:1rem;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:1.5rem;display:flex;height:1.5rem;min-width:1.5rem;margin-left:auto;min-height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:.75rem;height:.75rem;fill:#00000040}\n"] }]
78
- }], ctorParameters: () => [{ type: i1.BbDashboardSidebar, decorators: [{
79
- type: Optional
80
- }] }], propDecorators: { id: [{
81
- type: Input
82
- }], icon: [{
83
- type: Input
84
- }], title: [{
85
- type: Input
86
- }], disabled: [{
87
- type: Input,
88
- args: [{ transform: booleanAttribute }]
89
- }], onGroupClicked: [{
90
- type: HostListener,
91
- args: ['click', ['$event']]
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXNpZGViYXItZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtc2lkZWJhci1ncm91cC9kYXNoYm9hcmQtc2lkZWJhci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhKLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RCxPQUFPLEVBQUMsRUFBRSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBb0J0QyxNQUFNLE9BQU8sdUJBQXVCO0lBY0E7SUFaaEMsVUFBVTtJQUNELEVBQUUsR0FBa0IsSUFBSSxDQUFDO0lBQ3pCLElBQUksR0FBa0IsSUFBSSxDQUFDO0lBQzNCLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBQ0MsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVoRSxTQUFTO0lBQ0QsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUVyQyxpQkFBaUI7SUFDVCxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQyxZQUFnQyxPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUMzRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1Qsa0RBQWtEO1FBQ2xELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLGdEQUFnRDtRQUNoRCxrQ0FBa0M7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUztZQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ0oscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxtQ0FBbUM7UUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSwwQkFBMEI7UUFDMUIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsT0FBTztRQUNILG9DQUFvQztRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELG9CQUFvQjtRQUNwQixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFbkMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUdELGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1gsQ0FBQztRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0F4RVEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbUpBTWIsZ0JBQWdCLG9UQzdCdkMsaXhDQW9DQSxzMkREZmMsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQWxCbkMsU0FBUzsrQkFDSSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssUUFDcEI7d0JBQ0YsT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMscUJBQXFCLEVBQUUsV0FBVzt3QkFDbEMsa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIsa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsTUFBTSxFQUFFLE9BQU87cUJBQ2xCLGNBQ1csSUFBSSxXQUNQLENBQUMsTUFBTSxDQUFDOzswQkFnQkosUUFBUTt5Q0FYWixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDZ0MsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkEwRHBDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYkRhc2hib2FyZFNpZGViYXJ9IGZyb20gJy4uL2Rhc2hib2FyZC1zaWRlYmFyL2Rhc2hib2FyZC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiSWNvbn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vZWxlbWVudHMnO1xuaW1wb3J0IHtvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1kYXNoYm9hcmQtc2lkZWJhci1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtc2lkZWJhci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItZGFzaGJvYXJkLXNpZGViYXItZ3JvdXAnLFxuICAgICAgICAnW2NsYXNzLmV4cGFuZGVkXSc6ICdpc0V4cGFuZGVkJyxcbiAgICAgICAgJ1tjbGFzcy53aXRoLXRvZ2dsZV0nOiAnaGFzVG9nZ2xlJyxcbiAgICAgICAgJ1tjbGFzcy5oYXMtaWNvbl0nOiAnISFpY29uJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAncm9sZSc6ICdncm91cCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0JiSWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgQmJEYXNoYm9hcmRTaWRlYmFyR3JvdXAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBwcml2YXRlIF9pc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX3BhcmVudDogQmJEYXNoYm9hcmRTaWRlYmFyKSB7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1RvZ2dsZSgpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHVzZXIgcHJvdmlkZWQgYSBpY29uIGFuZC9vciB0aXRsZS5cbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uIHx8ICEhdGhpcy50aXRsZTtcbiAgICB9XG5cbiAgICBnZXQgaXNFeHBhbmRlZCgpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gaWNvbiBvciB0aXRsZSB0aGUgZ3JvdXAgY2FuIGJlXG4gICAgICAgIC8vIGV4cGFuZGVkIGJ5IGNsaWNraW5nLCBlbHNlIG5vdC5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzVG9nZ2xlXG4gICAgICAgICAgICA/IHRoaXMuX2lzRXhwYW5kZWRcbiAgICAgICAgICAgIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGlkIGhhcyBiZWVuIHN1cHBsaWVkLlxuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSWQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWdpc3RlciB0aGUgZ3JvdXAgYXQgdGhlIHBhcmVudCBhbmRcbiAgICAgICAgLy8gcmV0cmlldmUgdGhlIHNsaWNlIG9mIHRoZSBzdGF0ZS5cbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSQgPSB0aGlzLl9wYXJlbnQ/LnJlZ2lzdGVyR3JvdXAodGhpcy5pZCkgPz8gb2YoZmFsc2UpO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgc3RhdGUuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG9ic2VydmFibGUkLnN1YnNjcmliZShpc0V4cGFuZGVkID0+IHRoaXMuX2lzRXhwYW5kZWQgPSBpc0V4cGFuZGVkKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3BhcmVudD8udW5yZWdpc3Rlckdyb3VwKHRoaXMuaWQpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIC8vIFZlcmlmeSB0aGUgZ3JvdXAgaXMgbm90IGRpc2FibGVkLlxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hhbmdlIHRoZSBzdGF0ZS5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAhdGhpcy5faXNFeHBhbmRlZDtcblxuICAgICAgICAvLyBTZXQgdGhlIHN0YXRlIG9mIHRoZSBzaWRlYmFyIGdyb3VwLlxuICAgICAgICB0aGlzLl9wYXJlbnQ/LnRvZ2dsZUdyb3VwKHRoaXMuaWQsIG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25Hcm91cENsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIGdyb3VwIGlzIG5vdCBkaXNhYmxlZCBkb24ndCBkbyBhbnl0aGluZy5cbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGUgd3JhcHBlciB0aGF0IGNvbnRhaW5zIHRoZSB0aXRsZSBhbmQgaWNvbi5cbi0tPlxuQGlmIChoYXNUb2dnbGUpIHtcbiAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYi1kYXNoYm9hcmQtc2lkZWJhci1ncm91cC10aXRsZVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHJvbGU9XCJzd2l0Y2hcIj5cbiAgICAgICAgQGlmIChpY29uOyBhcyBpY29uTmFtZSkge1xuICAgICAgICAgICAgPGJiLWljb24gW3NyY109XCJpY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLWRhc2hib2FyZC1zaWRlYmFyLWdyb3VwLWljb25cIj5cbiAgICAgICAgICAgIDwvYmItaWNvbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHRpdGxlOyBhcyB0aXRsZVRleHQpIHtcbiAgICAgICAgICAgIDxzcGFuIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItZGFzaGJvYXJkLXNpZGViYXItZ3JvdXAtdGV4dFwiPnt7IHRpdGxlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8c3BhbiBjbGFzcz1cImJiLWRhc2hib2FyZC1zaWRlYmFyLWdyb3VwLXRvZ2dsZVwiPlxuICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEuNyAzMC45XCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjAuNzVyZW1cIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjAuNzVyZW1cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJpbWdcIj5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgZD1cIk0xMC4xLjNMLjIgMTEuOGMtLjYuNi0uMSAxLjcuOCAxLjdoMTkuN2MuOSAwIDEuMy0xIC44LTEuN0wxMS42LjNjLS40LS40LTEuMS0uNC0xLjUgMHpNMTAuMSAzMC42TC4yIDE5LjFjLS42LS42LS4xLTEuNy44LTEuN2gxOS43Yy45IDAgMS4zIDEgLjggMS43bC05LjggMTEuNWMtLjUuNC0xLjIuNC0xLjYgMHpcIj5cbiAgICAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbn1cblxuPCEtLVxuICAgIFRoZSBzaWRlYmFyIGl0ZW1zIHRoYXQgY29udGFpbiB0aGVcbiAgICBsaW5rcyB0byBuYXZpZ2F0ZSB0byBvdGhlciBwYWdlcy5cbi0tPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JiLWRhc2hib2FyZC1zaWRlYmFyLWl0ZW1dXCI+PC9uZy1jb250ZW50PlxuIl19
@@ -1,60 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, Optional, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../dashboard-sidebar/dashboard-sidebar.component";
4
- import * as i2 from "../dashboard-sidebar-group/dashboard-sidebar-group.component";
5
- export class BbDashboardSidebarItem {
6
- _sidebar;
7
- _group;
8
- // Inputs.
9
- tabIndex = 0;
10
- constructor(_sidebar, _group) {
11
- this._sidebar = _sidebar;
12
- this._group = _group;
13
- }
14
- onClick() {
15
- // Try to "open" the sidebar if it exists.
16
- // This will close it on mobile.
17
- this._sidebar?.open();
18
- }
19
- get attributeTabIndex() {
20
- // Make the items tabindex -1 so it can't
21
- // be tabbed to when the parent is not visible
22
- // or the parent is disabled.
23
- if (this.isHidden) {
24
- return -1;
25
- }
26
- // Else return the specified tabindex.
27
- return this.tabIndex;
28
- }
29
- get isHidden() {
30
- return !this.isVisible || this.isDisabled;
31
- }
32
- get isVisible() {
33
- return this._group
34
- ? this._group.isExpanded
35
- : true;
36
- }
37
- get isDisabled() {
38
- return this._group
39
- ? this._group.disabled
40
- : false;
41
- }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: i1.BbDashboardSidebar, optional: true }, { token: i2.BbDashboardSidebarGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BbDashboardSidebarItem, isStandalone: true, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-weight:500;font-size:.875rem;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
46
- type: Component,
47
- args: [{ selector: '[bb-dashboard-sidebar-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
48
- 'class': 'bb-dashboard-sidebar-item',
49
- '[attr.tabindex]': 'attributeTabIndex',
50
- '[attr.aria-hidden]': 'isHidden',
51
- '(click)': 'onClick()'
52
- }, standalone: true, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-weight:500;font-size:.875rem;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"] }]
53
- }], ctorParameters: () => [{ type: i1.BbDashboardSidebar, decorators: [{
54
- type: Optional
55
- }] }, { type: i2.BbDashboardSidebarGroup, decorators: [{
56
- type: Optional
57
- }] }], propDecorators: { tabIndex: [{
58
- type: Input
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXNpZGViYXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1zaWRlYmFyLWl0ZW0vZGFzaGJvYXJkLXNpZGViYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1zaWRlYmFyLWl0ZW0vZGFzaGJvYXJkLXNpZGViYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFtQnJHLE1BQU0sT0FBTyxzQkFBc0I7SUFLQztJQUNBO0lBSmhDLFVBQVU7SUFDRCxRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRTlCLFlBQWdDLFFBQTRCLEVBQzVCLE1BQStCO1FBRC9CLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBQy9ELENBQUM7SUFFRCxPQUFPO1FBQ0gsMENBQTBDO1FBQzFDLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQix5Q0FBeUM7UUFDekMsOENBQThDO1FBQzlDLDZCQUE2QjtRQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVksU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVksVUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7d0dBekNRLHNCQUFzQjs0RkFBdEIsc0JBQXNCLDJTQ25CbkMsd0tBT0E7OzRGRFlhLHNCQUFzQjtrQkFmbEMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssUUFDcEI7d0JBQ0YsT0FBTyxFQUFFLDJCQUEyQjt3QkFDcEMsaUJBQWlCLEVBQUUsbUJBQW1CO3dCQUN0QyxvQkFBb0IsRUFBRSxVQUFVO3dCQUNoQyxTQUFTLEVBQUUsV0FBVztxQkFDekIsY0FDVyxJQUFJOzswQkFPSCxRQUFROzswQkFDUixRQUFRO3lDQUhaLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYkRhc2hib2FyZFNpZGViYXJHcm91cH0gZnJvbSAnLi4vZGFzaGJvYXJkLXNpZGViYXItZ3JvdXAvZGFzaGJvYXJkLXNpZGViYXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7QmJEYXNoYm9hcmRTaWRlYmFyfSBmcm9tICcuLi9kYXNoYm9hcmQtc2lkZWJhci9kYXNoYm9hcmQtc2lkZWJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tiYi1kYXNoYm9hcmQtc2lkZWJhci1pdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1zaWRlYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1zaWRlYmFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWRhc2hib2FyZC1zaWRlYmFyLWl0ZW0nLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2F0dHJpYnV0ZVRhYkluZGV4JyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdpc0hpZGRlbicsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJEYXNoYm9hcmRTaWRlYmFySXRlbSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIF9zaWRlYmFyOiBCYkRhc2hib2FyZFNpZGViYXIsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZ3JvdXA6IEJiRGFzaGJvYXJkU2lkZWJhckdyb3VwKSB7XG4gICAgfVxuXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgLy8gVHJ5IHRvIFwib3BlblwiIHRoZSBzaWRlYmFyIGlmIGl0IGV4aXN0cy5cbiAgICAgICAgLy8gVGhpcyB3aWxsIGNsb3NlIGl0IG9uIG1vYmlsZS5cbiAgICAgICAgdGhpcy5fc2lkZWJhcj8ub3BlbigpO1xuICAgIH1cblxuICAgIGdldCBhdHRyaWJ1dGVUYWJJbmRleCgpIHtcbiAgICAgICAgLy8gTWFrZSB0aGUgaXRlbXMgdGFiaW5kZXggLTEgc28gaXQgY2FuJ3RcbiAgICAgICAgLy8gYmUgdGFiYmVkIHRvIHdoZW4gdGhlIHBhcmVudCBpcyBub3QgdmlzaWJsZVxuICAgICAgICAvLyBvciB0aGUgcGFyZW50IGlzIGRpc2FibGVkLlxuICAgICAgICBpZiAodGhpcy5pc0hpZGRlbikge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRWxzZSByZXR1cm4gdGhlIHNwZWNpZmllZCB0YWJpbmRleC5cbiAgICAgICAgcmV0dXJuIHRoaXMudGFiSW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0IGlzSGlkZGVuKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNWaXNpYmxlIHx8IHRoaXMuaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1Zpc2libGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncm91cFxuICAgICAgICAgICAgPyB0aGlzLl9ncm91cC5pc0V4cGFuZGVkXG4gICAgICAgICAgICA6IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyb3VwXG4gICAgICAgICAgICA/IHRoaXMuX2dyb3VwLmRpc2FibGVkXG4gICAgICAgICAgICA6IGZhbHNlO1xuICAgIH1cblxufVxuIiwiPCEtLVxuICAgIFRoZSBjb250ZW50IGJldHdlZW4gdGhlIHRhZ3Mgd2lsbFxuICAgIGJlIHJlZmxlY3RlZCBoZXJlLlxuLS0+XG48c3BhbiBjbGFzcz1cImJiLWRhc2hib2FyZC1zaWRlYmFyLWl0ZW0tY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { BbDashboardSidebarGroup } from './dashboard-sidebar-group/dashboard-sidebar-group.component';
2
- import { BbDashboardSidebarItem } from './dashboard-sidebar-item/dashboard-sidebar-item.component';
3
- import { BbDashboardMenuItem } from './dashboard-menu-item/dashboard-menu-item.component';
4
- import { BbDashboardSidebar } from './dashboard-sidebar/dashboard-sidebar.component';
5
- import { BbDashboardHeader } from './dashboard-header/dashboard-header.component';
6
- import { BbDashboardMenu } from './dashboard-menu/dashboard-menu.component';
7
- import { BbDashboard } from './dashboard/dashboard.component';
8
- import { NgModule } from '@angular/core';
9
- import * as i0 from "@angular/core";
10
- export class DashboardModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: DashboardModule, imports: [BbDashboard,
13
- BbDashboardHeader,
14
- BbDashboardMenu,
15
- BbDashboardMenuItem,
16
- BbDashboardSidebar,
17
- BbDashboardSidebarGroup,
18
- BbDashboardSidebarItem], exports: [BbDashboard,
19
- BbDashboardHeader,
20
- BbDashboardMenu,
21
- BbDashboardMenuItem,
22
- BbDashboardSidebar,
23
- BbDashboardSidebarGroup,
24
- BbDashboardSidebarItem] });
25
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardModule, imports: [BbDashboardSidebarGroup] });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- imports: [
31
- BbDashboard,
32
- BbDashboardHeader,
33
- BbDashboardMenu,
34
- BbDashboardMenuItem,
35
- BbDashboardSidebar,
36
- BbDashboardSidebarGroup,
37
- BbDashboardSidebarItem
38
- ],
39
- exports: [
40
- BbDashboard,
41
- BbDashboardHeader,
42
- BbDashboardMenu,
43
- BbDashboardMenuItem,
44
- BbDashboardSidebar,
45
- BbDashboardSidebarGroup,
46
- BbDashboardSidebarItem
47
- ]
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZGFzaGJvYXJkL3NyYy9saWIvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBc0J2QyxNQUFNLE9BQU8sZUFBZTt3R0FBZixlQUFlO3lHQUFmLGVBQWUsWUFsQnBCLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQixhQUd0QixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixzQkFBc0I7eUdBR2pCLGVBQWUsWUFicEIsdUJBQXVCOzs0RkFhbEIsZUFBZTtrQkFwQjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JiRGFzaGJvYXJkU2lkZWJhckdyb3VwfSBmcm9tICcuL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGFzaGJvYXJkU2lkZWJhckl0ZW19IGZyb20gJy4vZGFzaGJvYXJkLXNpZGViYXItaXRlbS9kYXNoYm9hcmQtc2lkZWJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGFzaGJvYXJkTWVudUl0ZW19IGZyb20gJy4vZGFzaGJvYXJkLW1lbnUtaXRlbS9kYXNoYm9hcmQtbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGFzaGJvYXJkU2lkZWJhcn0gZnJvbSAnLi9kYXNoYm9hcmQtc2lkZWJhci9kYXNoYm9hcmQtc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkRhc2hib2FyZEhlYWRlcn0gZnJvbSAnLi9kYXNoYm9hcmQtaGVhZGVyL2Rhc2hib2FyZC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJEYXNoYm9hcmRNZW51fSBmcm9tICcuL2Rhc2hib2FyZC1tZW51L2Rhc2hib2FyZC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGFzaGJvYXJkfSBmcm9tICcuL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQmJEYXNoYm9hcmQsXG4gICAgICAgIEJiRGFzaGJvYXJkSGVhZGVyLFxuICAgICAgICBCYkRhc2hib2FyZE1lbnUsXG4gICAgICAgIEJiRGFzaGJvYXJkTWVudUl0ZW0sXG4gICAgICAgIEJiRGFzaGJvYXJkU2lkZWJhcixcbiAgICAgICAgQmJEYXNoYm9hcmRTaWRlYmFyR3JvdXAsXG4gICAgICAgIEJiRGFzaGJvYXJkU2lkZWJhckl0ZW1cbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQmJEYXNoYm9hcmQsXG4gICAgICAgIEJiRGFzaGJvYXJkSGVhZGVyLFxuICAgICAgICBCYkRhc2hib2FyZE1lbnUsXG4gICAgICAgIEJiRGFzaGJvYXJkTWVudUl0ZW0sXG4gICAgICAgIEJiRGFzaGJvYXJkU2lkZWJhcixcbiAgICAgICAgQmJEYXNoYm9hcmRTaWRlYmFyR3JvdXAsXG4gICAgICAgIEJiRGFzaGJvYXJkU2lkZWJhckl0ZW1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZE1vZHVsZSB7XG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- export * from './lib/dashboard/dashboard.component';
2
- export * from './lib/dashboard-header/dashboard-header.component';
3
- export * from './lib/dashboard-menu/dashboard-menu.component';
4
- export * from './lib/dashboard-menu-item/dashboard-menu-item.component';
5
- export * from './lib/dashboard-sidebar/dashboard-sidebar.component';
6
- export * from './lib/dashboard-sidebar-group/dashboard-sidebar-group.component';
7
- export * from './lib/dashboard-sidebar-item/dashboard-sidebar-item.component';
8
- export * from './lib/dashboard.module';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZGFzaGJvYXJkL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseURBQXlELENBQUM7QUFFeEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsK0RBQStELENBQUM7QUFFOUUsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZC1tZW51L2Rhc2hib2FyZC1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXNoYm9hcmQtbWVudS1pdGVtL2Rhc2hib2FyZC1tZW51LWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkLXNpZGViYXIvZGFzaGJvYXJkLXNpZGViYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwL2Rhc2hib2FyZC1zaWRlYmFyLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXNoYm9hcmQtc2lkZWJhci1pdGVtL2Rhc2hib2FyZC1zaWRlYmFyLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkLm1vZHVsZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvYnJhdm9iaXQtYmItZm91bmRhdGlvbi1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
- import { BbFormGroup } from '@bravobit/bb-foundation/elements';
3
- import * as i0 from "@angular/core";
4
- export class BbDialogActions {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BbDialogActions, isStandalone: true, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{display:block;padding:1.25rem 1.5rem;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}\n"], dependencies: [{ kind: "component", type: BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogActions, decorators: [{
9
- type: Component,
10
- args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-actions' }, preserveWhitespaces: false, standalone: true, imports: [BbFormGroup], template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{display:block;padding:1.25rem 1.5rem;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}\n"] }]
11
- }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kaWFsb2cvc3JjL2xpYi9kaWFsb2ctYWN0aW9ucy9kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1hY3Rpb25zL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQWE3RCxNQUFNLE9BQU8sZUFBZTt3R0FBZixlQUFlOzRGQUFmLGVBQWUsOEhDZDVCLGtGQUdBLDBPRFNjLFdBQVc7OzRGQUVaLGVBQWU7a0JBWDNCLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUMsdUJBQ2YsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYkZvcm1Hcm91cH0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vZWxlbWVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tiYi1kaWFsb2ctYWN0aW9uc10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItZGlhbG9nLWFjdGlvbnMnfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCYkZvcm1Hcm91cF1cbn0pXG5leHBvcnQgY2xhc3MgQmJEaWFsb2dBY3Rpb25zIHtcbn1cbiIsIjxiYi1mb3JtLWdyb3VwIGNsYXNzPVwiZW5kXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9iYi1mb3JtLWdyb3VwPlxuIl19
@@ -1,44 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { BbDialogHeader } from '../dialog-header/dialog-header.component';
3
- import { BbFocusTrap, BbTemplate } from '@bravobit/bb-foundation/utils';
4
- import { BbDialogModal } from '../dialog-modal/dialog-modal.component';
5
- import { BbLocalize } from '@bravobit/bb-foundation/localize';
6
- import { BbButton } from '@bravobit/bb-foundation/elements';
7
- import { BbDialogConfig } from '../dialog.interfaces';
8
- import { BbDialogRef } from '../dialog.ref';
9
- import { NgClass } from '@angular/common';
10
- import * as i0 from "@angular/core";
11
- let nextUniqueId = 0;
12
- export class BbDialogConfirm {
13
- // Dependencies.
14
- _config = inject(BbDialogConfig);
15
- _dialogRef = inject(BbDialogRef);
16
- // Readonly data.
17
- dialogId = `bb-dialog-confirm-${nextUniqueId++}`;
18
- title = this._config?.data?.title ?? null;
19
- description = this._config?.data?.description ?? null;
20
- confirmButtonText = this._config?.data?.confirmButtonText ?? 'dialog.default_confirm_button';
21
- cancelButtonText = this._config?.data?.cancelButtonText ?? 'dialog.default_cancel_button';
22
- confirmButtonClass = this._config?.data?.confirmButtonClass ?? null;
23
- cancelButtonClass = this._config?.data?.cancelButtonClass ?? null;
24
- width = this._config?.data?.width ?? '30rem';
25
- // Views.
26
- confirmButton;
27
- ngAfterViewInit() {
28
- // Initial focus the button.
29
- this.confirmButton?.focus();
30
- }
31
- onClose(result) {
32
- this._dialogRef.close(result);
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbDialogConfirm, isStandalone: true, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n @if (title; as titleContent) {\n <h1 [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button #confirm\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-modal-body{background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-dialog-confirm-description{line-height:2;font-size:.875rem}.bb-dialog-confirm-footer{display:flex;margin-top:1.5rem;flex-direction:column}.bb-dialog-confirm-footer>*+*{margin-top:1rem}@media only screen and (min-width: 768px){.bb-dialog-confirm-footer{flex-direction:row}.bb-dialog-confirm-footer>*+*{margin-top:0;margin-left:1rem}}\n"], dependencies: [{ kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth", "withoutBodyPadding"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: ["closeRequested"] }, { kind: "directive", type: BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogConfirm, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, standalone: true, imports: [BbDialogModal, BbDialogHeader, BbFocusTrap, BbLocalize, BbTemplate, NgClass, BbButton], template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n @if (title; as titleContent) {\n <h1 [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button #confirm\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-modal-body{background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-dialog-confirm-description{line-height:2;font-size:.875rem}.bb-dialog-confirm-footer{display:flex;margin-top:1.5rem;flex-direction:column}.bb-dialog-confirm-footer>*+*{margin-top:1rem}@media only screen and (min-width: 768px){.bb-dialog-confirm-footer{flex-direction:row}.bb-dialog-confirm-footer>*+*{margin-top:0;margin-left:1rem}}\n"] }]
40
- }], propDecorators: { confirmButton: [{
41
- type: ViewChild,
42
- args: ['confirm', { read: BbButton, static: false }]
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kaWFsb2cvc3JjL2xpYi9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb25maXJtL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUV4QyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFhckIsTUFBTSxPQUFPLGVBQWU7SUFFeEIsZ0JBQWdCO0lBQ0MsT0FBTyxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakQsVUFBVSxHQUF5QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEUsaUJBQWlCO0lBQ1IsUUFBUSxHQUFXLHFCQUFxQixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ3pELEtBQUssR0FBOEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUNyRSxXQUFXLEdBQThCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDakYsaUJBQWlCLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLElBQUksK0JBQStCLENBQUM7SUFDckcsZ0JBQWdCLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLElBQUksOEJBQThCLENBQUM7SUFDbEcsa0JBQWtCLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDO0lBQzVFLGlCQUFpQixHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQztJQUMxRSxLQUFLLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUU5RCxTQUFTO0lBQzhDLGFBQWEsQ0FBWTtJQUVoRixlQUFlO1FBQ1gsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFlO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBMUJRLGVBQWU7NEZBQWYsZUFBZSxpTkFpQkssUUFBUSw2QkN4Q3pDLHdqREEwQ0EsZ2tCRHJCYyxhQUFhLDBHQUFFLGNBQWMsNEZBQUUsV0FBVyxxREFBRSxVQUFVLG1EQUFFLFVBQVUsaUZBQUUsT0FBTyxvRkFBRSxRQUFROzs0RkFFdEYsZUFBZTtrQkFYM0IsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQixFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxjQUN4QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7OEJBbUJ6QyxhQUFhO3NCQUFuRSxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRGlhbG9nSGVhZGVyfSBmcm9tICcuLi9kaWFsb2ctaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJGb2N1c1RyYXAsIEJiVGVtcGxhdGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3V0aWxzJztcbmltcG9ydCB7QmJEaWFsb2dNb2RhbH0gZnJvbSAnLi4vZGlhbG9nLW1vZGFsL2RpYWxvZy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkxvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge0JiQnV0dG9ufSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9lbGVtZW50cyc7XG5pbXBvcnQge0JiRGlhbG9nQ29uZmlnfSBmcm9tICcuLi9kaWFsb2cuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiRGlhbG9nUmVmfSBmcm9tICcuLi9kaWFsb2cucmVmJztcbmltcG9ydCB7TmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItZGlhbG9nLWNvbmZpcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItZGlhbG9nLWNvbmZpcm0nfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCYkRpYWxvZ01vZGFsLCBCYkRpYWxvZ0hlYWRlciwgQmJGb2N1c1RyYXAsIEJiTG9jYWxpemUsIEJiVGVtcGxhdGUsIE5nQ2xhc3MsIEJiQnV0dG9uXVxufSlcbmV4cG9ydCBjbGFzcyBCYkRpYWxvZ0NvbmZpcm0gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIC8vIERlcGVuZGVuY2llcy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IEJiRGlhbG9nQ29uZmlnID0gaW5qZWN0KEJiRGlhbG9nQ29uZmlnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dSZWY6IEJiRGlhbG9nUmVmPGJvb2xlYW4+ID0gaW5qZWN0KEJiRGlhbG9nUmVmKTtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgZGlhbG9nSWQ6IHN0cmluZyA9IGBiYi1kaWFsb2ctY29uZmlybS0ke25leHRVbmlxdWVJZCsrfWA7XG4gICAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gPSB0aGlzLl9jb25maWc/LmRhdGE/LnRpdGxlID8/IG51bGw7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gPSB0aGlzLl9jb25maWc/LmRhdGE/LmRlc2NyaXB0aW9uID8/IG51bGw7XG4gICAgcmVhZG9ubHkgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uZGF0YT8uY29uZmlybUJ1dHRvblRleHQgPz8gJ2RpYWxvZy5kZWZhdWx0X2NvbmZpcm1fYnV0dG9uJztcbiAgICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSB0aGlzLl9jb25maWc/LmRhdGE/LmNhbmNlbEJ1dHRvblRleHQgPz8gJ2RpYWxvZy5kZWZhdWx0X2NhbmNlbF9idXR0b24nO1xuICAgIHJlYWRvbmx5IGNvbmZpcm1CdXR0b25DbGFzczogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5kYXRhPy5jb25maXJtQnV0dG9uQ2xhc3MgPz8gbnVsbDtcbiAgICByZWFkb25seSBjYW5jZWxCdXR0b25DbGFzczogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5kYXRhPy5jYW5jZWxCdXR0b25DbGFzcyA/PyBudWxsO1xuICAgIHJlYWRvbmx5IHdpZHRoOiBzdHJpbmcgPSB0aGlzLl9jb25maWc/LmRhdGE/LndpZHRoID8/ICczMHJlbSc7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdjb25maXJtJywge3JlYWQ6IEJiQnV0dG9uLCBzdGF0aWM6IGZhbHNlfSkgY29uZmlybUJ1dHRvbj86IEJiQnV0dG9uO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBJbml0aWFsIGZvY3VzIHRoZSBidXR0b24uXG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvbj8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKHJlc3VsdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG59XG4iLCI8ZGl2IFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkaWFsb2dJZFwiXG4gICAgIFttYXhXaWR0aF09XCJ3aWR0aFwiXG4gICAgIGJiLWRpYWxvZy1tb2RhbFxuICAgICBiYkZvY3VzVHJhcD5cbiAgICA8aGVhZGVyIGJiLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIEBpZiAodGl0bGU7IGFzIHRpdGxlQ29udGVudCkge1xuICAgICAgICAgICAgPGgxIFtpZF09XCJkaWFsb2dJZFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbYmJUZW1wbGF0ZV09XCJ0aXRsZUNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJGFueSh0aXRsZUNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgIH1cbiAgICA8L2hlYWRlcj5cblxuICAgIEBpZiAoZGVzY3JpcHRpb247IGFzIGRlc2NyaXB0aW9uQ29udGVudCkge1xuICAgICAgICA8cCBjbGFzcz1cImJiLWRpYWxvZy1jb25maXJtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiZGVzY3JpcHRpb25Db250ZW50XCI+XG4gICAgICAgICAgICAgICAge3sgJGFueShkZXNjcmlwdGlvbkNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3A+XG4gICAgfVxuXG4gICAgPGZvb3RlciBjbGFzcz1cImJiLWRpYWxvZy1jb25maXJtLWZvb3RlclwiPlxuICAgICAgICBAaWYgKGNhbmNlbEJ1dHRvblRleHQ7IGFzIGNhbmNlbEJ1dHRvblRleHRMYWJlbCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJjYW5jZWxCdXR0b25DbGFzcyA/IGNhbmNlbEJ1dHRvbkNsYXNzIDogJ3NlY29uZGFyeSBmdWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgICAgIGJiLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dExhYmVsIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNvbmZpcm1CdXR0b25UZXh0OyBhcyBjb25maXJtQnV0dG9uVGV4dExhYmVsKSB7XG4gICAgICAgICAgICA8YnV0dG9uICNjb25maXJtXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbmZpcm1CdXR0b25DbGFzcyA/IGNvbmZpcm1CdXR0b25DbGFzcyA6ICdkZXN0cnVjdGl2ZSBmdWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgYmItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICB7eyBjb25maXJtQnV0dG9uVGV4dExhYmVsIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZm9vdGVyPlxuPC9kaXY+XG4iXX0=
@@ -1,58 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, inject, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { firstValueFrom, fromEvent, Subject, Subscription, takeUntil, timer } from 'rxjs';
3
- import { DIALOG_CONFIG } from '../dialog.interfaces';
4
- import { filter, switchMap, take } from 'rxjs/operators';
5
- import { BbDialogInsertion } from '../dialog.insertion';
6
- import { DOCUMENT } from '@angular/common';
7
- import * as i0 from "@angular/core";
8
- export class BbDialogContainer {
9
- // Dependencies.
10
- _config = inject(DIALOG_CONFIG, { optional: true });
11
- _renderer = inject(Renderer2);
12
- _elementRef = inject(ElementRef);
13
- _document = inject(DOCUMENT);
14
- // Views.
15
- insertion;
16
- // Data.
17
- componentRef = null;
18
- childComponentType = null;
19
- // State.
20
- _overlayClicked$ = new Subject();
21
- onOverlayClicked = this._overlayClicked$.pipe(take(1));
22
- // Subscriptions.
23
- _subscription = new Subscription();
24
- ngOnInit() {
25
- this.handleOverlayClicks();
26
- this.loadChildComponent(this.childComponentType);
27
- }
28
- ngOnDestroy() {
29
- this._subscription?.unsubscribe();
30
- }
31
- async close() {
32
- this._renderer.addClass(this._elementRef.nativeElement, 'leaving');
33
- const timer$ = timer(this._config?.animationMs ?? 240);
34
- return firstValueFrom(timer$);
35
- }
36
- loadChildComponent(componentType) {
37
- const viewContainerRef = this.insertion.viewContainerRef;
38
- viewContainerRef.clear();
39
- this.componentRef = viewContainerRef.createComponent(componentType);
40
- }
41
- handleOverlayClicks() {
42
- const element = this._elementRef.nativeElement ?? null;
43
- const subscription = fromEvent(element, 'pointerdown').pipe(filter(event => event?.target === element), switchMap(() => fromEvent(this._document, 'pointerup').pipe(filter((event) => event?.target === element), takeUntil(fromEvent(this._document, 'pointermove'))))).subscribe(() => {
44
- this._overlayClicked$.next();
45
- });
46
- this._subscription.add(subscription);
47
- }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BbDialogContainer, isStandalone: true, selector: "bb-dialog-container", host: { classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container{inset:0;z-index:1000;display:flex;position:fixed;will-change:opacity;background-color:#1119;animation:dialogContainerEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving{animation:dialogContainerLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container-component{width:100%;margin:auto;z-index:1001;display:block;padding:1.5rem;pointer-events:none;will-change:opacity,transform}@keyframes dialogContainerEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogContainerLeaving{to{background-color:transparent}}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogContainer, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-container' }, preserveWhitespaces: false, standalone: true, imports: [BbDialogInsertion], template: "<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container{inset:0;z-index:1000;display:flex;position:fixed;will-change:opacity;background-color:#1119;animation:dialogContainerEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving{animation:dialogContainerLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container-component{width:100%;margin:auto;z-index:1001;display:block;padding:1.5rem;pointer-events:none;will-change:opacity,transform}@keyframes dialogContainerEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogContainerLeaving{to{background-color:transparent}}\n"] }]
54
- }], propDecorators: { insertion: [{
55
- type: ViewChild,
56
- args: [BbDialogInsertion, { static: true }]
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQixVQUFVLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQVEsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JLLE9BQU8sRUFBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQWF6QyxNQUFNLE9BQU8saUJBQWlCO0lBRTFCLGdCQUFnQjtJQUNDLE9BQU8sR0FBa0IsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ2pFLFNBQVMsR0FBYyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsV0FBVyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhELFNBQVM7SUFDcUMsU0FBUyxDQUFvQjtJQUUzRSxRQUFRO0lBQ1IsWUFBWSxHQUE2QixJQUFJLENBQUM7SUFDOUMsa0JBQWtCLEdBQXFCLElBQUksQ0FBQztJQUU1QyxTQUFTO0lBQ0QsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUMvQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZELGlCQUFpQjtJQUNULGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNDLFFBQVE7UUFDSixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN2RCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsYUFBd0I7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1FBQ3pELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ3ZELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBZSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNyRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxFQUMxQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsU0FBUyxDQUFlLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLEVBQzVDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUN0RCxDQUNKLENBQ0osQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0F6RFEsaUJBQWlCOzRGQUFqQixpQkFBaUIsMktBU2YsaUJBQWlCLDhEQzNCaEMsOEdBR0EsMHZCRGFjLGlCQUFpQjs7NEZBRWxCLGlCQUFpQjtrQkFYN0IsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBQyx1QkFDakIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLGlCQUFpQixDQUFDOzhCQVdrQixTQUFTO3NCQUF0RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIsIFR5cGUsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmaXJzdFZhbHVlRnJvbSwgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtESUFMT0dfQ09ORklHLCBEaWFsb2dDb25maWd9IGZyb20gJy4uL2RpYWxvZy5pbnRlcmZhY2VzJztcbmltcG9ydCB7ZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmJEaWFsb2dJbnNlcnRpb259IGZyb20gJy4uL2RpYWxvZy5pbnNlcnRpb24nO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1kaWFsb2ctY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeydjbGFzcyc6ICdiYi1kaWFsb2ctY29udGFpbmVyJ30sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJEaWFsb2dJbnNlcnRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJiRGlhbG9nQ29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gRGVwZW5kZW5jaWVzLlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZz86IERpYWxvZ0NvbmZpZyA9IGluamVjdChESUFMT0dfQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZChCYkRpYWxvZ0luc2VydGlvbiwge3N0YXRpYzogdHJ1ZX0pIGluc2VydGlvbjogQmJEaWFsb2dJbnNlcnRpb247XG5cbiAgICAvLyBEYXRhLlxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBjaGlsZENvbXBvbmVudFR5cGU6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgcHJpdmF0ZSBfb3ZlcmxheUNsaWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBvbk92ZXJsYXlDbGlja2VkID0gdGhpcy5fb3ZlcmxheUNsaWNrZWQkLnBpcGUodGFrZSgxKSk7XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhhbmRsZU92ZXJsYXlDbGlja3MoKTtcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRDb21wb25lbnQodGhpcy5jaGlsZENvbXBvbmVudFR5cGUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlYXZpbmcnKTtcbiAgICAgICAgY29uc3QgdGltZXIkID0gdGltZXIodGhpcy5fY29uZmlnPy5hbmltYXRpb25NcyA/PyAyNDApO1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGltZXIkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRDaGlsZENvbXBvbmVudChjb21wb25lbnRUeXBlOiBUeXBlPGFueT4pIHtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuaW5zZXJ0aW9uLnZpZXdDb250YWluZXJSZWY7XG4gICAgICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU92ZXJsYXlDbGlja3MoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgPz8gbnVsbDtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PFBvaW50ZXJFdmVudD4oZWxlbWVudCwgJ3BvaW50ZXJkb3duJykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudD8udGFyZ2V0ID09PSBlbGVtZW50KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIGZyb21FdmVudDxQb2ludGVyRXZlbnQ+KHRoaXMuX2RvY3VtZW50LCAncG9pbnRlcnVwJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQ/LnRhcmdldCA9PT0gZWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChmcm9tRXZlbnQodGhpcy5fZG9jdW1lbnQsICdwb2ludGVybW92ZScpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheUNsaWNrZWQkLm5leHQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYi1kaWFsb2ctY29udGFpbmVyLWNvbXBvbmVudFwiPlxuICAgIDxuZy1jb250YWluZXIgYmJEaWFsb2dJbnNlcnRpb24+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbDialogHeader {
4
- // Outputs.
5
- closeRequested = new EventEmitter();
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbDialogHeader, isStandalone: true, selector: "[bb-dialog-header]", outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n @if (closeRequested?.observed) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n }\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:3.75rem;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{color:#111;max-width:100%;font-weight:500;overflow:hidden;font-size:1.25rem;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:.75rem 1.5rem}.bb-dialog-header-navigation{width:100%;overflow-x:auto;padding:0 1.5rem;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-close{width:2rem;height:2rem;border:none;min-width:2rem;min-height:2rem;overflow:hidden;position:relative;margin-left:.75rem;display:inline-block;margin-right:-.75rem;border-radius:.25rem;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;content:\"\";height:.125rem;margin-top:-1px;position:absolute;background-color:#999}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover,.bb-dialog-header-close:focus{background-color:#e6e6e6}.bb-dialog-header-close:active{background-color:#d9d9d9}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogHeader, decorators: [{
10
- type: Component,
11
- args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-header' }, preserveWhitespaces: false, standalone: true, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n @if (closeRequested?.observed) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n }\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:3.75rem;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{color:#111;max-width:100%;font-weight:500;overflow:hidden;font-size:1.25rem;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:.75rem 1.5rem}.bb-dialog-header-navigation{width:100%;overflow-x:auto;padding:0 1.5rem;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-close{width:2rem;height:2rem;border:none;min-width:2rem;min-height:2rem;overflow:hidden;position:relative;margin-left:.75rem;display:inline-block;margin-right:-.75rem;border-radius:.25rem;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;content:\"\";height:.125rem;margin-top:-1px;position:absolute;background-color:#999}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover,.bb-dialog-header-close:focus{background-color:#e6e6e6}.bb-dialog-header-close:active{background-color:#d9d9d9}\n"] }]
12
- }], propDecorators: { closeRequested: [{
13
- type: Output
14
- }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1oZWFkZXIvZGlhbG9nLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1oZWFkZXIvZGlhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBWTFHLE1BQU0sT0FBTyxjQUFjO0lBRXZCLFdBQVc7SUFDRCxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQzt3R0FIM0MsY0FBYzs0RkFBZCxjQUFjLDJLQ1ozQix5Y0FnQkE7OzRGREphLGNBQWM7a0JBVjFCLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsdUJBQ2QsS0FBSyxjQUNkLElBQUk7OEJBS04sY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbYmItZGlhbG9nLWhlYWRlcl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWRpYWxvZy1oZWFkZXInfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRGlhbG9nSGVhZGVyIHtcblxuICAgIC8vIE91dHB1dHMuXG4gICAgQE91dHB1dCgpIGNsb3NlUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwiYmItZGlhbG9nLWhlYWRlci1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYmItZGlhbG9nLWhlYWRlci1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoY2xvc2VSZXF1ZXN0ZWQ/Lm9ic2VydmVkKSB7XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlUmVxdWVzdGVkPy5lbWl0KClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItZGlhbG9nLWhlYWRlci1jbG9zZVwiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L2Rpdj5cblxuPG5hdiBjbGFzcz1cImJiLWRpYWxvZy1oZWFkZXItbmF2aWdhdGlvblwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltiYi1kaWFsb2ctbGlua11cIj48L25nLWNvbnRlbnQ+XG48L25hdj5cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbDialogLink {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BbDialogLink, isStandalone: true, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:2rem;display:flex;font-size:1rem;appearance:none;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:.75rem}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogLink, decorators: [{
8
- type: Component,
9
- args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-link' }, preserveWhitespaces: false, standalone: true, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:2rem;display:flex;font-size:1rem;appearance:none;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:.75rem}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"] }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kaWFsb2cvc3JjL2xpYi9kaWFsb2ctbGluay9kaWFsb2ctbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1saW5rL2RpYWxvZy1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBWXBGLE1BQU0sT0FBTyxZQUFZO3dHQUFaLFlBQVk7NEZBQVosWUFBWSx3SENaekIsNkJBQ0E7OzRGRFdhLFlBQVk7a0JBVnhCLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsdUJBQ1osS0FBSyxjQUNkLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbYmItZGlhbG9nLWxpbmtdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1saW5rLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWRpYWxvZy1saW5rJ30sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkRpYWxvZ0xpbmsge1xufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,57 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@bravobit/bb-foundation";
5
- export class BbDialogModal {
6
- _patch;
7
- _renderer;
8
- _document;
9
- // Styling.
10
- maxWidth = '30rem';
11
- withoutBodyPadding = false;
12
- constructor(_patch, _renderer, _document) {
13
- this._patch = _patch;
14
- this._renderer = _renderer;
15
- this._document = _document;
16
- }
17
- ngOnInit() {
18
- this._patch.mobileVerticalHeight();
19
- this.allowGlobalOverflow(false);
20
- }
21
- ngOnDestroy() {
22
- this.allowGlobalOverflow(true);
23
- }
24
- allowGlobalOverflow(allow) {
25
- const element = this._document?.body ?? null;
26
- if (!element) {
27
- return;
28
- }
29
- allow
30
- ? this._renderer.removeStyle(element, 'overflow')
31
- : this._renderer.setStyle(element, 'overflow', 'hidden');
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", type: BbDialogModal, isStandalone: true, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth", withoutBodyPadding: ["withoutBodyPadding", "withoutBodyPadding", booleanAttribute] }, host: { attributes: { "role": "dialog" }, properties: { "class.without-body-padding": "withoutBodyPadding", "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\"></ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\"></ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:25rem;position:relative;pointer-events:auto;border-radius:.25rem;flex-direction:column;background-color:#fff;will-change:opacity,transform;max-height:calc(var(--vh, 1vh) * 100 - 3rem);animation:dialogModalEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.without-body-padding>.bb-dialog-modal-body{padding:0}.bb-dialog-modal-body{color:#738694;padding:1.5rem;overflow-y:auto;line-height:1.4;position:relative;font-size:.8125rem;background-color:#f1f3f6}@keyframes dialogModalEntering{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes dialogModalLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDialogModal, decorators: [{
37
- type: Component,
38
- args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
39
- 'class': 'bb-dialog-modal',
40
- '[class.without-body-padding]': 'withoutBodyPadding',
41
- 'role': 'dialog'
42
- }, preserveWhitespaces: false, standalone: true, template: "<ng-content select=\"[bb-dialog-header]\"></ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\"></ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:25rem;position:relative;pointer-events:auto;border-radius:.25rem;flex-direction:column;background-color:#fff;will-change:opacity,transform;max-height:calc(var(--vh, 1vh) * 100 - 3rem);animation:dialogModalEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.without-body-padding>.bb-dialog-modal-body{padding:0}.bb-dialog-modal-body{color:#738694;padding:1.5rem;overflow-y:auto;line-height:1.4;position:relative;font-size:.8125rem;background-color:#f1f3f6}@keyframes dialogModalEntering{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes dialogModalLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}\n"] }]
43
- }], ctorParameters: () => [{ type: i1.Patch }, { type: i0.Renderer2 }, { type: Document, decorators: [{
44
- type: Optional
45
- }, {
46
- type: Inject,
47
- args: [DOCUMENT]
48
- }] }], propDecorators: { maxWidth: [{
49
- type: HostBinding,
50
- args: ['style.max-width']
51
- }, {
52
- type: Input
53
- }], withoutBodyPadding: [{
54
- type: Input,
55
- args: [{ transform: booleanAttribute }]
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZGlhbG9nL3NyYy9saWIvZGlhbG9nLW1vZGFsL2RpYWxvZy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1tb2RhbC9kaWFsb2ctbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQWEsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0osT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFnQnpDLE1BQU0sT0FBTyxhQUFhO0lBT0Y7SUFDQTtJQUM4QjtJQVBsRCxXQUFXO0lBQzhCLFFBQVEsR0FBa0IsT0FBTyxDQUFDO0lBRXJDLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUUxRSxZQUFvQixNQUFhLEVBQ2IsU0FBb0IsRUFDVSxTQUFvQjtRQUZsRCxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNVLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFDdEUsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1gsQ0FBQztRQUVELEtBQUs7WUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztZQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO3dHQTlCUSxhQUFhLGdFQVNVLFFBQVE7NEZBVC9CLGFBQWEsc0pBS0gsZ0JBQWdCLG9OQ3ZCdkMsc01BT0E7OzRGRFdhLGFBQWE7a0JBZHpCLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsOEJBQThCLEVBQUUsb0JBQW9CO3dCQUNwRCxNQUFNLEVBQUUsUUFBUTtxQkFDbkIsdUJBQ29CLEtBQUssY0FDZCxJQUFJOzswQkFXSCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7eUNBTkMsUUFBUTtzQkFBaEQsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUFHLEtBQUs7Z0JBRUEsa0JBQWtCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhdGNofSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tiYi1kaWFsb2ctbW9kYWxdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWRpYWxvZy1tb2RhbCcsXG4gICAgICAgICdbY2xhc3Mud2l0aG91dC1ib2R5LXBhZGRpbmddJzogJ3dpdGhvdXRCb2R5UGFkZGluZycsXG4gICAgICAgICdyb2xlJzogJ2RpYWxvZydcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJEaWFsb2dNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvLyBTdHlsaW5nLlxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJykgQElucHV0KCkgbWF4V2lkdGg6IHN0cmluZyB8IG51bGwgPSAnMzByZW0nO1xuXG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSB3aXRob3V0Qm9keVBhZGRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhdGNoOiBQYXRjaCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50PzogRG9jdW1lbnQpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fcGF0Y2gubW9iaWxlVmVydGljYWxIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5hbGxvd0dsb2JhbE92ZXJmbG93KGZhbHNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5hbGxvd0dsb2JhbE92ZXJmbG93KHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWxsb3dHbG9iYWxPdmVyZmxvdyhhbGxvdzogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQ/LmJvZHkgPz8gbnVsbDtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhbGxvd1xuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCAnb3ZlcmZsb3cnKVxuICAgICAgICAgICAgOiB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgfVxuXG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbYmItZGlhbG9nLWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG5cbjxkaXYgY2xhc3M9XCJiYi1kaWFsb2ctbW9kYWwtYm9keVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctY29udGVudCBzZWxlY3Q9XCJbYmItZGlhbG9nLWFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuIl19