@bravura/ui 3.8.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/CHANGELOG.md +585 -565
  2. package/LICENSE +6 -6
  3. package/README.md +3 -1
  4. package/alert/alert-container.component.d.ts +1 -1
  5. package/alert/alert-message.component.d.ts +1 -1
  6. package/behavior/await.directive.d.ts +1 -1
  7. package/behavior/observe-content-class.directive.d.ts +1 -1
  8. package/behavior/sizing.directive.d.ts +1 -1
  9. package/clip-note/clip-note.directive.d.ts +1 -1
  10. package/currency-input/currency-input.directive.d.ts +1 -1
  11. package/decimal-input/decimal-input.directive.d.ts +1 -1
  12. package/discrete-input/discrete-input.component.d.ts +1 -1
  13. package/esm2022/alert/alert-container.component.mjs +207 -0
  14. package/esm2022/alert/alert-message.component.mjs +101 -0
  15. package/esm2022/alert/alert.module.mjs +22 -0
  16. package/{esm2020 → esm2022}/alert/public-api.mjs +1 -1
  17. package/esm2022/alert/testing/test-api.mjs +44 -0
  18. package/esm2022/behavior/await.directive.mjs +133 -0
  19. package/esm2022/behavior/behavior.module.mjs +37 -0
  20. package/esm2022/behavior/observe-content-class.directive.mjs +63 -0
  21. package/{esm2020 → esm2022}/behavior/public-api.mjs +1 -1
  22. package/esm2022/behavior/sizing-monitor.directive.mjs +31 -0
  23. package/esm2022/behavior/sizing.directive.mjs +256 -0
  24. package/esm2022/clip-note/clip-note.component.mjs +216 -0
  25. package/esm2022/clip-note/clip-note.directive.mjs +141 -0
  26. package/esm2022/clip-note/clip-note.module.mjs +32 -0
  27. package/{esm2020 → esm2022}/clip-note/public-api.mjs +1 -1
  28. package/{esm2020 → esm2022}/common/common-utils.mjs +1 -1
  29. package/esm2022/common/common.module.mjs +53 -0
  30. package/{esm2020 → esm2022}/common/public-api.mjs +1 -1
  31. package/esm2022/currency-input/currency-input.directive.mjs +276 -0
  32. package/esm2022/currency-input/currency-input.module.mjs +19 -0
  33. package/{esm2020 → esm2022}/currency-input/public-api.mjs +1 -1
  34. package/esm2022/decimal-input/decimal-input.directive.mjs +122 -0
  35. package/{esm2020 → esm2022}/decimal-input/decimal-input.module.mjs +5 -5
  36. package/esm2022/discrete-input/discrete-input.component.mjs +337 -0
  37. package/esm2022/discrete-input/discrete-input.module.mjs +21 -0
  38. package/{esm2020 → esm2022}/discrete-input/public-api.mjs +1 -1
  39. package/esm2022/file-upload/file-upload.component.mjs +400 -0
  40. package/esm2022/file-upload/file-upload.module.mjs +44 -0
  41. package/esm2022/file-upload/file-upload.service.mjs +29 -0
  42. package/{esm2020 → esm2022}/file-upload/public-api.mjs +1 -1
  43. package/esm2022/form-field/form-field.component.mjs +82 -0
  44. package/esm2022/form-field/form-field.module.mjs +33 -0
  45. package/{esm2020 → esm2022}/form-field/public-api.mjs +1 -1
  46. package/esm2022/icon-font/icon-font.module.mjs +22 -0
  47. package/esm2022/icon-font/icon.directive.mjs +102 -0
  48. package/{esm2020 → esm2022}/icon-font/public-api.mjs +1 -1
  49. package/esm2022/icon-font/utilities.mjs +51 -0
  50. package/esm2022/panel/panel-section.component.mjs +41 -0
  51. package/esm2022/panel/panel.component.mjs +87 -0
  52. package/esm2022/panel/panel.module.mjs +23 -0
  53. package/{esm2020 → esm2022}/panel/public-api.mjs +1 -1
  54. package/esm2022/panel/tinted.directive.mjs +60 -0
  55. package/esm2022/phone-number/phone-number.directive.mjs +188 -0
  56. package/{esm2020 → esm2022}/phone-number/phone-number.module.mjs +5 -5
  57. package/esm2022/phone-number/phone-number.pipe.mjs +47 -0
  58. package/esm2022/phone-number/phone-number.validator.mjs +64 -0
  59. package/{esm2020 → esm2022}/phone-number/public-api.mjs +1 -1
  60. package/{esm2020 → esm2022}/public-api.mjs +1 -1
  61. package/esm2022/radio-panel/radio-panel-item.component.mjs +93 -0
  62. package/esm2022/radio-panel/radio-panel.component.mjs +81 -0
  63. package/{esm2020 → esm2022}/radio-panel/radio-panel.module.mjs +5 -5
  64. package/esm2022/radio-panel/testing/test-api.mjs +46 -0
  65. package/{esm2020 → esm2022}/selection-panel/public-api.mjs +1 -1
  66. package/esm2022/selection-panel/selection-panel-item.component.mjs +166 -0
  67. package/esm2022/selection-panel/selection-panel.directive.mjs +119 -0
  68. package/esm2022/selection-panel/selection-panel.module.mjs +23 -0
  69. package/{esm2020 → esm2022}/skeletons/public-api.mjs +1 -1
  70. package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +83 -0
  71. package/esm2022/skeletons/skeleton-loader.component.mjs +76 -0
  72. package/esm2022/skeletons/skeletons.module.mjs +35 -0
  73. package/{esm2020 → esm2022}/stepper/public-api.mjs +1 -1
  74. package/{esm2020 → esm2022}/stepper/stepper-animation.mjs +1 -1
  75. package/esm2022/stepper/stepper.component.mjs +176 -0
  76. package/esm2022/stepper/stepper.module.mjs +52 -0
  77. package/{esm2020 → esm2022}/tooltip/public-api.mjs +1 -1
  78. package/esm2022/tooltip/tooltip.component.mjs +63 -0
  79. package/esm2022/tooltip/tooltip.directive.mjs +148 -0
  80. package/esm2022/tooltip/tooltip.module.mjs +25 -0
  81. package/{fesm2020 → fesm2022}/bravura-ui-alert-testing.mjs +2 -2
  82. package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -0
  83. package/fesm2022/bravura-ui-alert.mjs +327 -0
  84. package/fesm2022/bravura-ui-alert.mjs.map +1 -0
  85. package/{fesm2020 → fesm2022}/bravura-ui-behavior.mjs +45 -45
  86. package/fesm2022/bravura-ui-behavior.mjs.map +1 -0
  87. package/{fesm2020 → fesm2022}/bravura-ui-clip-note.mjs +70 -70
  88. package/fesm2022/bravura-ui-clip-note.mjs.map +1 -0
  89. package/{fesm2020 → fesm2022}/bravura-ui-common.mjs +6 -6
  90. package/fesm2022/bravura-ui-common.mjs.map +1 -0
  91. package/{fesm2020 → fesm2022}/bravura-ui-currency-input.mjs +11 -11
  92. package/fesm2022/bravura-ui-currency-input.mjs.map +1 -0
  93. package/{fesm2020 → fesm2022}/bravura-ui-decimal-input.mjs +12 -12
  94. package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -0
  95. package/{fesm2020 → fesm2022}/bravura-ui-discrete-input.mjs +48 -48
  96. package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -0
  97. package/fesm2022/bravura-ui-file-upload.mjs +474 -0
  98. package/fesm2022/bravura-ui-file-upload.mjs.map +1 -0
  99. package/{fesm2020 → fesm2022}/bravura-ui-form-field.mjs +19 -19
  100. package/fesm2022/bravura-ui-form-field.mjs.map +1 -0
  101. package/{fesm2020 → fesm2022}/bravura-ui-icon-font.mjs +8 -8
  102. package/fesm2022/bravura-ui-icon-font.mjs.map +1 -0
  103. package/fesm2022/bravura-ui-panel.mjs +206 -0
  104. package/fesm2022/bravura-ui-panel.mjs.map +1 -0
  105. package/{fesm2020 → fesm2022}/bravura-ui-phone-number.mjs +30 -30
  106. package/fesm2022/bravura-ui-phone-number.mjs.map +1 -0
  107. package/{fesm2020 → fesm2022}/bravura-ui-radio-panel-testing.mjs +5 -6
  108. package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -0
  109. package/{fesm2020 → fesm2022}/bravura-ui-radio-panel.mjs +32 -32
  110. package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -0
  111. package/fesm2022/bravura-ui-selection-panel.mjs +306 -0
  112. package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -0
  113. package/{fesm2020 → fesm2022}/bravura-ui-skeletons.mjs +43 -43
  114. package/fesm2022/bravura-ui-skeletons.mjs.map +1 -0
  115. package/fesm2022/bravura-ui-stepper.mjs +251 -0
  116. package/fesm2022/bravura-ui-stepper.mjs.map +1 -0
  117. package/{fesm2020 → fesm2022}/bravura-ui-tooltip.mjs +32 -24
  118. package/fesm2022/bravura-ui-tooltip.mjs.map +1 -0
  119. package/fesm2022/bravura-ui.mjs.map +1 -0
  120. package/file-upload/file-upload.component.d.ts +1 -1
  121. package/form-field/form-field.component.d.ts +1 -1
  122. package/icon-font/icon.directive.d.ts +1 -1
  123. package/package.json +88 -132
  124. package/panel/panel.component.d.ts +1 -1
  125. package/panel/tinted.directive.d.ts +1 -1
  126. package/phone-number/phone-number.directive.d.ts +1 -1
  127. package/phone-number/phone-number.validator.d.ts +2 -2
  128. package/radio-panel/radio-panel-item.component.d.ts +1 -1
  129. package/radio-panel/radio-panel.component.d.ts +1 -1
  130. package/radio-panel/testing/test-api.d.ts +2 -3
  131. package/selection-panel/selection-panel-item.component.d.ts +1 -1
  132. package/selection-panel/selection-panel.directive.d.ts +1 -1
  133. package/skeletons/skeleton-loader-presets.directive.d.ts +3 -3
  134. package/stepper/stepper.component.d.ts +1 -1
  135. package/theme/_bui-card.scss +56 -56
  136. package/theme/_ui-theme.scss +3 -3
  137. package/theme/global-style-by-bootstrap.scss +3 -3
  138. package/theme/global-style-by-tailwind.scss +3 -3
  139. package/theme/scrollbar.scss +40 -40
  140. package/tooltip/tooltip.component.d.ts +2 -0
  141. package/tooltip/tooltip.directive.d.ts +3 -5
  142. package/esm2020/alert/alert-container.component.mjs +0 -207
  143. package/esm2020/alert/alert-message.component.mjs +0 -102
  144. package/esm2020/alert/alert.module.mjs +0 -22
  145. package/esm2020/alert/testing/test-api.mjs +0 -44
  146. package/esm2020/behavior/await.directive.mjs +0 -133
  147. package/esm2020/behavior/behavior.module.mjs +0 -37
  148. package/esm2020/behavior/observe-content-class.directive.mjs +0 -63
  149. package/esm2020/behavior/sizing-monitor.directive.mjs +0 -31
  150. package/esm2020/behavior/sizing.directive.mjs +0 -256
  151. package/esm2020/clip-note/clip-note.component.mjs +0 -216
  152. package/esm2020/clip-note/clip-note.directive.mjs +0 -141
  153. package/esm2020/clip-note/clip-note.module.mjs +0 -32
  154. package/esm2020/common/common.module.mjs +0 -53
  155. package/esm2020/currency-input/currency-input.directive.mjs +0 -276
  156. package/esm2020/currency-input/currency-input.module.mjs +0 -19
  157. package/esm2020/decimal-input/decimal-input.directive.mjs +0 -122
  158. package/esm2020/discrete-input/discrete-input.component.mjs +0 -337
  159. package/esm2020/discrete-input/discrete-input.module.mjs +0 -21
  160. package/esm2020/file-upload/file-upload.component.mjs +0 -400
  161. package/esm2020/file-upload/file-upload.module.mjs +0 -44
  162. package/esm2020/file-upload/file-upload.service.mjs +0 -29
  163. package/esm2020/form-field/form-field.component.mjs +0 -82
  164. package/esm2020/form-field/form-field.module.mjs +0 -33
  165. package/esm2020/icon-font/icon-font.module.mjs +0 -22
  166. package/esm2020/icon-font/icon.directive.mjs +0 -102
  167. package/esm2020/icon-font/utilities.mjs +0 -51
  168. package/esm2020/panel/panel-section.component.mjs +0 -41
  169. package/esm2020/panel/panel.component.mjs +0 -87
  170. package/esm2020/panel/panel.module.mjs +0 -23
  171. package/esm2020/panel/tinted.directive.mjs +0 -60
  172. package/esm2020/phone-number/phone-number.directive.mjs +0 -188
  173. package/esm2020/phone-number/phone-number.pipe.mjs +0 -47
  174. package/esm2020/phone-number/phone-number.validator.mjs +0 -64
  175. package/esm2020/radio-panel/radio-panel-item.component.mjs +0 -93
  176. package/esm2020/radio-panel/radio-panel.component.mjs +0 -81
  177. package/esm2020/radio-panel/testing/test-api.mjs +0 -47
  178. package/esm2020/selection-panel/selection-panel-item.component.mjs +0 -166
  179. package/esm2020/selection-panel/selection-panel.directive.mjs +0 -119
  180. package/esm2020/selection-panel/selection-panel.module.mjs +0 -23
  181. package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +0 -83
  182. package/esm2020/skeletons/skeleton-loader.component.mjs +0 -76
  183. package/esm2020/skeletons/skeletons.module.mjs +0 -35
  184. package/esm2020/stepper/stepper.component.mjs +0 -176
  185. package/esm2020/stepper/stepper.module.mjs +0 -52
  186. package/esm2020/tooltip/tooltip.component.mjs +0 -54
  187. package/esm2020/tooltip/tooltip.directive.mjs +0 -149
  188. package/esm2020/tooltip/tooltip.module.mjs +0 -25
  189. package/fesm2015/bravura-ui-alert-testing.mjs +0 -64
  190. package/fesm2015/bravura-ui-alert-testing.mjs.map +0 -1
  191. package/fesm2015/bravura-ui-alert.mjs +0 -340
  192. package/fesm2015/bravura-ui-alert.mjs.map +0 -1
  193. package/fesm2015/bravura-ui-behavior.mjs +0 -515
  194. package/fesm2015/bravura-ui-behavior.mjs.map +0 -1
  195. package/fesm2015/bravura-ui-clip-note.mjs +0 -393
  196. package/fesm2015/bravura-ui-clip-note.mjs.map +0 -1
  197. package/fesm2015/bravura-ui-common.mjs +0 -96
  198. package/fesm2015/bravura-ui-common.mjs.map +0 -1
  199. package/fesm2015/bravura-ui-currency-input.mjs +0 -300
  200. package/fesm2015/bravura-ui-currency-input.mjs.map +0 -1
  201. package/fesm2015/bravura-ui-decimal-input.mjs +0 -145
  202. package/fesm2015/bravura-ui-decimal-input.mjs.map +0 -1
  203. package/fesm2015/bravura-ui-discrete-input.mjs +0 -365
  204. package/fesm2015/bravura-ui-discrete-input.mjs.map +0 -1
  205. package/fesm2015/bravura-ui-file-upload.mjs +0 -478
  206. package/fesm2015/bravura-ui-file-upload.mjs.map +0 -1
  207. package/fesm2015/bravura-ui-form-field.mjs +0 -120
  208. package/fesm2015/bravura-ui-form-field.mjs.map +0 -1
  209. package/fesm2015/bravura-ui-icon-font.mjs +0 -178
  210. package/fesm2015/bravura-ui-icon-font.mjs.map +0 -1
  211. package/fesm2015/bravura-ui-panel.mjs +0 -210
  212. package/fesm2015/bravura-ui-panel.mjs.map +0 -1
  213. package/fesm2015/bravura-ui-phone-number.mjs +0 -327
  214. package/fesm2015/bravura-ui-phone-number.mjs.map +0 -1
  215. package/fesm2015/bravura-ui-radio-panel-testing.mjs +0 -63
  216. package/fesm2015/bravura-ui-radio-panel-testing.mjs.map +0 -1
  217. package/fesm2015/bravura-ui-radio-panel.mjs +0 -200
  218. package/fesm2015/bravura-ui-radio-panel.mjs.map +0 -1
  219. package/fesm2015/bravura-ui-selection-panel.mjs +0 -311
  220. package/fesm2015/bravura-ui-selection-panel.mjs.map +0 -1
  221. package/fesm2015/bravura-ui-skeletons.mjs +0 -195
  222. package/fesm2015/bravura-ui-skeletons.mjs.map +0 -1
  223. package/fesm2015/bravura-ui-stepper.mjs +0 -253
  224. package/fesm2015/bravura-ui-stepper.mjs.map +0 -1
  225. package/fesm2015/bravura-ui-tooltip.mjs +0 -229
  226. package/fesm2015/bravura-ui-tooltip.mjs.map +0 -1
  227. package/fesm2015/bravura-ui.mjs.map +0 -1
  228. package/fesm2020/bravura-ui-alert-testing.mjs.map +0 -1
  229. package/fesm2020/bravura-ui-alert.mjs +0 -328
  230. package/fesm2020/bravura-ui-alert.mjs.map +0 -1
  231. package/fesm2020/bravura-ui-behavior.mjs.map +0 -1
  232. package/fesm2020/bravura-ui-clip-note.mjs.map +0 -1
  233. package/fesm2020/bravura-ui-common.mjs.map +0 -1
  234. package/fesm2020/bravura-ui-currency-input.mjs.map +0 -1
  235. package/fesm2020/bravura-ui-decimal-input.mjs.map +0 -1
  236. package/fesm2020/bravura-ui-discrete-input.mjs.map +0 -1
  237. package/fesm2020/bravura-ui-file-upload.mjs +0 -474
  238. package/fesm2020/bravura-ui-file-upload.mjs.map +0 -1
  239. package/fesm2020/bravura-ui-form-field.mjs.map +0 -1
  240. package/fesm2020/bravura-ui-icon-font.mjs.map +0 -1
  241. package/fesm2020/bravura-ui-panel.mjs +0 -206
  242. package/fesm2020/bravura-ui-panel.mjs.map +0 -1
  243. package/fesm2020/bravura-ui-phone-number.mjs.map +0 -1
  244. package/fesm2020/bravura-ui-radio-panel-testing.mjs.map +0 -1
  245. package/fesm2020/bravura-ui-radio-panel.mjs.map +0 -1
  246. package/fesm2020/bravura-ui-selection-panel.mjs +0 -306
  247. package/fesm2020/bravura-ui-selection-panel.mjs.map +0 -1
  248. package/fesm2020/bravura-ui-skeletons.mjs.map +0 -1
  249. package/fesm2020/bravura-ui-stepper.mjs +0 -251
  250. package/fesm2020/bravura-ui-stepper.mjs.map +0 -1
  251. package/fesm2020/bravura-ui-tooltip.mjs.map +0 -1
  252. package/fesm2020/bravura-ui.mjs +0 -8
  253. package/fesm2020/bravura-ui.mjs.map +0 -1
  254. /package/{esm2020 → esm2022}/alert/bravura-ui-alert.mjs +0 -0
  255. /package/{esm2020 → esm2022}/alert/testing/bravura-ui-alert-testing.mjs +0 -0
  256. /package/{esm2020 → esm2022}/behavior/bravura-ui-behavior.mjs +0 -0
  257. /package/{esm2020 → esm2022}/bravura-ui.mjs +0 -0
  258. /package/{esm2020 → esm2022}/clip-note/bravura-ui-clip-note.mjs +0 -0
  259. /package/{esm2020 → esm2022}/common/bravura-ui-common.mjs +0 -0
  260. /package/{esm2020 → esm2022}/currency-input/bravura-ui-currency-input.mjs +0 -0
  261. /package/{esm2020 → esm2022}/decimal-input/bravura-ui-decimal-input.mjs +0 -0
  262. /package/{esm2020 → esm2022}/decimal-input/public-api.mjs +0 -0
  263. /package/{esm2020 → esm2022}/discrete-input/bravura-ui-discrete-input.mjs +0 -0
  264. /package/{esm2020 → esm2022}/file-upload/bravura-ui-file-upload.mjs +0 -0
  265. /package/{esm2020 → esm2022}/form-field/bravura-ui-form-field.mjs +0 -0
  266. /package/{esm2020 → esm2022}/icon-font/bravura-ui-icon-font.mjs +0 -0
  267. /package/{esm2020 → esm2022}/panel/bravura-ui-panel.mjs +0 -0
  268. /package/{esm2020 → esm2022}/phone-number/bravura-ui-phone-number.mjs +0 -0
  269. /package/{esm2020 → esm2022}/radio-panel/bravura-ui-radio-panel.mjs +0 -0
  270. /package/{esm2020 → esm2022}/radio-panel/public-api.mjs +0 -0
  271. /package/{esm2020 → esm2022}/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -0
  272. /package/{esm2020 → esm2022}/selection-panel/bravura-ui-selection-panel.mjs +0 -0
  273. /package/{esm2020 → esm2022}/skeletons/bravura-ui-skeletons.mjs +0 -0
  274. /package/{esm2020 → esm2022}/stepper/bravura-ui-stepper.mjs +0 -0
  275. /package/{esm2020 → esm2022}/tooltip/bravura-ui-tooltip.mjs +0 -0
  276. /package/{fesm2015 → fesm2022}/bravura-ui.mjs +0 -0
@@ -0,0 +1,81 @@
1
+ import { Component, ContentChildren, forwardRef, HostBinding, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { MAT_RADIO_GROUP, MatRadioGroup } from '@angular/material/radio';
4
+ import { RadioPanelItemComponent } from './radio-panel-item.component';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Radio panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor)
8
+ * that extends Angular Material's [radio group component](https://material.angular.io/components/radio/overview).
9
+ * It inherits all the features of `MatRadioGroup`, and arranges the child items in panels,
10
+ * with the `title` attributes rendered as captions. The check box icon and the borders will be displayed
11
+ * in the color selected by the theme attribute `color`.
12
+ *
13
+ */
14
+ export class RadioPanelComponent extends MatRadioGroup {
15
+ constructor(cd) {
16
+ super(cd);
17
+ /**
18
+ * @ignore
19
+ */
20
+ this.classAttr = '';
21
+ /**
22
+ * The default width of each panel when the `direction` is `row`
23
+ */
24
+ this.panelWidth = 300;
25
+ /** The flow direction of the radio panel items */
26
+ this.direction = 'row';
27
+ /** The default position of the 'tick' icon relative to the title. */
28
+ this.tickPosition = 'start';
29
+ }
30
+ /** @ignore */
31
+ ngOnChanges(changes) {
32
+ if (['color', 'tickPosition'].some(p => changes[p]) && this._radios) {
33
+ this._radios.forEach(item => item._markForCheck());
34
+ }
35
+ if (this.direction === 'row') {
36
+ this.classAttr = 'bui-radio-panel bui-host radio-dir-row';
37
+ }
38
+ else {
39
+ this.classAttr = 'bui-radio-panel bui-host radio-dir-column';
40
+ }
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "style.--bui-panel-width": "panelWidth +'px'", "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: forwardRef(() => RadioPanelComponent),
47
+ multi: true
48
+ },
49
+ { provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
50
+ ], queries: [{ propertyName: "_radios", predicate: RadioPanelItemComponent, descendants: true }], exportAs: ["buiRadioPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'bui-radio-panel', exportAs: 'buiRadioPanel', providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => RadioPanelComponent),
58
+ multi: true
59
+ },
60
+ { provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
61
+ ], host: {
62
+ role: 'radiogroup',
63
+ class: 'bui-radio-panel bui-host',
64
+ '[style.--bui-panel-width]': "panelWidth +'px'"
65
+ }, template: ` <ng-content></ng-content> `, styles: [":host{gap:1rem}:host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] }]
66
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { classAttr: [{
67
+ type: HostBinding,
68
+ args: ['attr.class']
69
+ }], panelWidth: [{
70
+ type: Input
71
+ }], direction: [{
72
+ type: Input
73
+ }], color: [{
74
+ type: Input
75
+ }], tickPosition: [{
76
+ type: Input
77
+ }], _radios: [{
78
+ type: ContentChildren,
79
+ args: [RadioPanelItemComponent, { descendants: true }]
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvcmFkaW8tcGFuZWwvcmFkaW8tcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBQ3ZFOzs7Ozs7O0dBT0c7QUFzQkgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUE2QnJELFlBQVksRUFBcUI7UUFDaEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBN0JYOztXQUVHO1FBRUgsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUVILGVBQVUsR0FBRyxHQUFHLENBQUM7UUFFakIsa0RBQWtEO1FBRWxELGNBQVMsR0FBcUIsS0FBSyxDQUFDO1FBS3BDLHFFQUFxRTtRQUM1RCxpQkFBWSxHQUFvQixPQUFPLENBQUM7SUFVakQsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsd0NBQXdDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsU0FBUyxHQUFHLDJDQUEyQyxDQUFDO1FBQzlELENBQUM7SUFDRixDQUFDOzhHQTVDVyxtQkFBbUI7a0dBQW5CLG1CQUFtQixpVkFqQnBCO1lBQ1Y7Z0JBQ0MsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWDtZQUNELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7U0FDaEYsa0RBb0NnQix1QkFBdUIseUhBN0I5Qiw2QkFBNkI7OzJGQUczQixtQkFBbUI7a0JBckIvQixTQUFTOytCQUVDLGlCQUFpQixZQUNqQixlQUFlLGFBQ2Q7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3dCQUNELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO3FCQUNoRixRQUVLO3dCQUNMLElBQUksRUFBRSxZQUFZO3dCQUNsQixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywyQkFBMkIsRUFBRSxrQkFBa0I7cUJBQy9DLFlBQ1MsNkJBQTZCO3NGQVF2QyxTQUFTO3NCQURSLFdBQVc7dUJBQUMsWUFBWTtnQkFPekIsVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFNTixPQUFPO3NCQUROLGVBQWU7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdGZvcndhcmRSZWYsXHJcblx0SG9zdEJpbmRpbmcsXHJcblx0SW5wdXQsXHJcblx0T25DaGFuZ2VzLFxyXG5cdFF1ZXJ5TGlzdCxcclxuXHRTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTUFUX1JBRElPX0dST1VQLCBNYXRSYWRpb0dyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xyXG4vKipcclxuICogUmFkaW8gcGFuZWwgaXMgYSBbY29udHJvbCB2YWx1ZSBhY2Nlc3Nvcl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcilcclxuICogdGhhdCBleHRlbmRzIEFuZ3VsYXIgTWF0ZXJpYWwncyBbcmFkaW8gZ3JvdXAgY29tcG9uZW50XShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9yYWRpby9vdmVydmlldykuXHJcbiAqIEl0IGluaGVyaXRzIGFsbCB0aGUgZmVhdHVyZXMgb2YgYE1hdFJhZGlvR3JvdXBgLCBhbmQgYXJyYW5nZXMgdGhlIGNoaWxkIGl0ZW1zIGluIHBhbmVscyxcclxuICogd2l0aCB0aGUgYHRpdGxlYCBhdHRyaWJ1dGVzIHJlbmRlcmVkIGFzIGNhcHRpb25zLiBUaGUgY2hlY2sgYm94IGljb24gYW5kIHRoZSBib3JkZXJzIHdpbGwgYmUgZGlzcGxheWVkXHJcbiAqIGluIHRoZSBjb2xvciBzZWxlY3RlZCBieSB0aGUgdGhlbWUgYXR0cmlidXRlIGBjb2xvcmAuXHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxyXG5cdHNlbGVjdG9yOiAnYnVpLXJhZGlvLXBhbmVsJyxcclxuXHRleHBvcnRBczogJ2J1aVJhZGlvUGFuZWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9QYW5lbENvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9LFxyXG5cdFx0eyBwcm92aWRlOiBNQVRfUkFESU9fR1JPVVAsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvUGFuZWxDb21wb25lbnQpIH1cclxuXHRdLFxyXG5cdC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxyXG5cdGhvc3Q6IHtcclxuXHRcdHJvbGU6ICdyYWRpb2dyb3VwJyxcclxuXHRcdGNsYXNzOiAnYnVpLXJhZGlvLXBhbmVsIGJ1aS1ob3N0JyxcclxuXHRcdCdbc3R5bGUuLS1idWktcGFuZWwtd2lkdGhdJzogXCJwYW5lbFdpZHRoICsncHgnXCJcclxuXHR9LFxyXG5cdHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcclxuXHRzdHlsZVVybHM6IFsncmFkaW8tcGFuZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9QYW5lbENvbXBvbmVudCBleHRlbmRzIE1hdFJhZGlvR3JvdXAgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cdC8qKlxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKi9cclxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKVxyXG5cdGNsYXNzQXR0cjogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBkZWZhdWx0IHdpZHRoIG9mIGVhY2ggcGFuZWwgd2hlbiB0aGUgYGRpcmVjdGlvbmAgaXMgYHJvd2BcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHBhbmVsV2lkdGggPSAzMDA7XHJcblxyXG5cdC8qKiBUaGUgZmxvdyBkaXJlY3Rpb24gb2YgdGhlIHJhZGlvIHBhbmVsIGl0ZW1zICovXHJcblx0QElucHV0KClcclxuXHRkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAncm93JztcclxuXHJcblx0LyoqIFRoZW1lIGNvbG9yIGZvciBhbGwgb2YgdGhlIHJhZGlvIHBhbmVscyBpbiB0aGUgZ3JvdXAuICovXHJcblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcclxuXHJcblx0LyoqIFRoZSBkZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSAndGljaycgaWNvbiByZWxhdGl2ZSB0byB0aGUgdGl0bGUuICovXHJcblx0QElucHV0KCkgdGlja1Bvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xyXG5cclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0QENvbnRlbnRDaGlsZHJlbihSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG5cdF9yYWRpb3MhOiBRdWVyeUxpc3Q8UmFkaW9QYW5lbEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHN1cGVyKGNkKTtcclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0aWYgKFsnY29sb3InLCAndGlja1Bvc2l0aW9uJ10uc29tZShwID0+IGNoYW5nZXNbcF0pICYmIHRoaXMuX3JhZGlvcykge1xyXG5cdFx0XHR0aGlzLl9yYWRpb3MuZm9yRWFjaChpdGVtID0+IGl0ZW0uX21hcmtGb3JDaGVjaygpKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5kaXJlY3Rpb24gPT09ICdyb3cnKSB7XHJcblx0XHRcdHRoaXMuY2xhc3NBdHRyID0gJ2J1aS1yYWRpby1wYW5lbCBidWktaG9zdCByYWRpby1kaXItcm93JztcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2xhc3NBdHRyID0gJ2J1aS1yYWRpby1wYW5lbCBidWktaG9zdCByYWRpby1kaXItY29sdW1uJztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
@@ -10,11 +10,11 @@ import * as i0 from "@angular/core";
10
10
  * Import this NgModule for the radio panel component
11
11
  */
12
12
  export class RadioPanelModule {
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelModule, declarations: [RadioPanelItemComponent, RadioPanelComponent], imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule], exports: [RadioPanelItemComponent, RadioPanelComponent] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelModule, imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule] }); }
13
16
  }
14
- RadioPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- RadioPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelModule, declarations: [RadioPanelItemComponent, RadioPanelComponent], imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule], exports: [RadioPanelItemComponent, RadioPanelComponent] });
16
- RadioPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelModule, imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: RadioPanelModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [RadioPanelItemComponent, RadioPanelComponent],
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
22
22
  exports: [RadioPanelItemComponent, RadioPanelComponent]
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvcmFkaW8tcGFuZWwvcmFkaW8tcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFKYix1QkFBdUIsRUFBRSxtQkFBbUIsYUFDakQsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxhQUM1RCx1QkFBdUIsRUFBRSxtQkFBbUI7OEdBRTFDLGdCQUFnQixZQUhsQixZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhOzJGQUcxRCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQztvQkFDdkUsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgUmFkaW9QYW5lbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvLXBhbmVsLmNvbXBvbmVudCc7XG5cbi8qKlxuICogSW1wb3J0IHRoaXMgTmdNb2R1bGUgZm9yIHRoZSByYWRpbyBwYW5lbCBjb21wb25lbnRcbiAqL1xuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbUmFkaW9QYW5lbEl0ZW1Db21wb25lbnQsIFJhZGlvUGFuZWxDb21wb25lbnRdLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcblx0ZXhwb3J0czogW1JhZGlvUGFuZWxJdGVtQ29tcG9uZW50LCBSYWRpb1BhbmVsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsTW9kdWxlIHt9XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvcmFkaW8tcGFuZWwvcmFkaW8tcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUpiLHVCQUF1QixFQUFFLG1CQUFtQixhQUNqRCxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLGFBQzVELHVCQUF1QixFQUFFLG1CQUFtQjsrR0FFMUMsZ0JBQWdCLFlBSGxCLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWE7OzJGQUcxRCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQztvQkFDdkUsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgUmFkaW9QYW5lbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvLXBhbmVsLmNvbXBvbmVudCc7XG5cbi8qKlxuICogSW1wb3J0IHRoaXMgTmdNb2R1bGUgZm9yIHRoZSByYWRpbyBwYW5lbCBjb21wb25lbnRcbiAqL1xuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbUmFkaW9QYW5lbEl0ZW1Db21wb25lbnQsIFJhZGlvUGFuZWxDb21wb25lbnRdLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcblx0ZXhwb3J0czogW1JhZGlvUGFuZWxJdGVtQ29tcG9uZW50LCBSYWRpb1BhbmVsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { MatRadioButtonHarness, MatRadioGroupHarness } from '@angular/material/radio/testing';
3
+ export class RadioPanelItemHarness extends MatRadioButtonHarness {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.getLabelElement = this.locatorFor('label');
7
+ this._textLabel = this.locatorFor('label .bui-label-title');
8
+ this._clickLabel = this.getLabelElement;
9
+ }
10
+ static { this.hostSelector = 'bui-radio-panel-item'; }
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a radio button with specific
13
+ * attributes.
14
+ * @param options Options for filtering which radio button instances are considered a match.
15
+ * @return a `HarnessPredicate` configured with the given options.
16
+ */
17
+ static with(options = {}) {
18
+ return MatRadioButtonHarness.with
19
+ .bind(this)(options)
20
+ .addOption('value', options.value, (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value));
21
+ }
22
+ async click() {
23
+ const element = await this.getLabelElement();
24
+ element.click();
25
+ }
26
+ async getLabelCssValue(prop) {
27
+ const element = await this.getLabelElement();
28
+ return element.getCssValue(prop);
29
+ }
30
+ async getBorderColor() {
31
+ const label = await this.getLabelElement();
32
+ return label.getCssValue('border-color');
33
+ }
34
+ }
35
+ export class RadioPanelHarness extends MatRadioGroupHarness {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.getItem = (filters) => this.locatorFor(RadioPanelItemHarness.with(filters))();
39
+ }
40
+ /** The selector for the host element of a `MatRadioGroup` instance. */
41
+ static { this.hostSelector = 'bui-radio-panel'; }
42
+ async getFlexDir() {
43
+ return (await this.host()).getCssValue('flex-direction');
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9yYWRpby1wYW5lbC90ZXN0aW5nL3Rlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQ04scUJBQXFCLEVBQ3JCLG9CQUFvQixFQUVwQixNQUFNLGlDQUFpQyxDQUFDO0FBTXpDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxxQkFBcUI7SUFBaEU7O1FBRUMsb0JBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpDLGVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBaUM5QyxDQUFDO2FBckNPLGlCQUFZLEdBQUcsc0JBQXNCLEFBQXpCLENBQTBCO0lBTTdDOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FFVixVQUF3QyxFQUFFO1FBRTFDLE9BQU8scUJBQXFCLENBQUMsSUFBSTthQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQ25CLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNyRCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUNsQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNWLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQVk7UUFDbEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0MsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7QUFHRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBQTNEOztRQUlDLFlBQU8sR0FBRyxDQUFDLE9BQXFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUs3RyxDQUFDO0lBUkEsdUVBQXVFO2FBQ2hFLGlCQUFZLEdBQUcsaUJBQWlCLEFBQXBCLENBQXFCO0lBSXhDLEtBQUssQ0FBQyxVQUFVO1FBQ2YsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvciwgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcclxuaW1wb3J0IHtcclxuXHRNYXRSYWRpb0J1dHRvbkhhcm5lc3MsXHJcblx0TWF0UmFkaW9Hcm91cEhhcm5lc3MsXHJcblx0UmFkaW9CdXR0b25IYXJuZXNzRmlsdGVyc1xyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvL3Rlc3RpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWRpb1BhbmVsSXRlbUhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgUmFkaW9CdXR0b25IYXJuZXNzRmlsdGVycyB7XHJcblx0dmFsdWU/OiBzdHJpbmcgfCBSZWdFeHA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsSXRlbUhhcm5lc3MgZXh0ZW5kcyBNYXRSYWRpb0J1dHRvbkhhcm5lc3Mge1xyXG5cdHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnYnVpLXJhZGlvLXBhbmVsLWl0ZW0nO1xyXG5cdGdldExhYmVsRWxlbWVudCA9IHRoaXMubG9jYXRvckZvcignbGFiZWwnKTtcclxuXHJcblx0cHJvdGVjdGVkIF90ZXh0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJ2xhYmVsIC5idWktbGFiZWwtdGl0bGUnKTtcclxuXHRwcm90ZWN0ZWQgX2NsaWNrTGFiZWwgPSB0aGlzLmdldExhYmVsRWxlbWVudDtcclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYSByYWRpbyBidXR0b24gd2l0aCBzcGVjaWZpY1xyXG5cdCAqIGF0dHJpYnV0ZXMuXHJcblx0ICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIHJhZGlvIGJ1dHRvbiBpbnN0YW5jZXMgYXJlIGNvbnNpZGVyZWQgYSBtYXRjaC5cclxuXHQgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cclxuXHQgKi9cclxuXHRzdGF0aWMgd2l0aDxUIGV4dGVuZHMgTWF0UmFkaW9CdXR0b25IYXJuZXNzPihcclxuXHRcdHRoaXM6IENvbXBvbmVudEhhcm5lc3NDb25zdHJ1Y3RvcjxUPixcclxuXHRcdG9wdGlvbnM6IFJhZGlvUGFuZWxJdGVtSGFybmVzc0ZpbHRlcnMgPSB7fVxyXG5cdCk6IEhhcm5lc3NQcmVkaWNhdGU8VD4ge1xyXG5cdFx0cmV0dXJuIE1hdFJhZGlvQnV0dG9uSGFybmVzcy53aXRoXHJcblx0XHRcdC5iaW5kKHRoaXMpKG9wdGlvbnMpXHJcblx0XHRcdC5hZGRPcHRpb24oJ3ZhbHVlJywgb3B0aW9ucy52YWx1ZSwgKGhhcm5lc3MsIHZhbHVlKSA9PlxyXG5cdFx0XHRcdEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldFZhbHVlKCksIHZhbHVlKVxyXG5cdFx0XHQpIGFzIEhhcm5lc3NQcmVkaWNhdGU8VD47XHJcblx0fVxyXG5cclxuXHRhc3luYyBjbGljaygpIHtcclxuXHRcdGNvbnN0IGVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldExhYmVsRWxlbWVudCgpO1xyXG5cdFx0ZWxlbWVudC5jbGljaygpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0TGFiZWxDc3NWYWx1ZShwcm9wOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0Y29uc3QgZWxlbWVudCA9IGF3YWl0IHRoaXMuZ2V0TGFiZWxFbGVtZW50KCk7XHJcblx0XHRyZXR1cm4gZWxlbWVudC5nZXRDc3NWYWx1ZShwcm9wKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldEJvcmRlckNvbG9yKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcblx0XHRjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuZ2V0TGFiZWxFbGVtZW50KCk7XHJcblx0XHRyZXR1cm4gbGFiZWwuZ2V0Q3NzVmFsdWUoJ2JvcmRlci1jb2xvcicpO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJhZGlvUGFuZWxIYXJuZXNzIGV4dGVuZHMgTWF0UmFkaW9Hcm91cEhhcm5lc3Mge1xyXG5cdC8qKiBUaGUgc2VsZWN0b3IgZm9yIHRoZSBob3N0IGVsZW1lbnQgb2YgYSBgTWF0UmFkaW9Hcm91cGAgaW5zdGFuY2UuICovXHJcblx0c3RhdGljIGhvc3RTZWxlY3RvciA9ICdidWktcmFkaW8tcGFuZWwnO1xyXG5cclxuXHRnZXRJdGVtID0gKGZpbHRlcnM6IFJhZGlvUGFuZWxJdGVtSGFybmVzc0ZpbHRlcnMpID0+IHRoaXMubG9jYXRvckZvcihSYWRpb1BhbmVsSXRlbUhhcm5lc3Mud2l0aChmaWx0ZXJzKSkoKTtcclxuXHJcblx0YXN5bmMgZ2V0RmxleERpcigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0Q3NzVmFsdWUoJ2ZsZXgtZGlyZWN0aW9uJyk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export { SelectionPanelItemComponent } from './selection-panel-item.component';
2
2
  export { SelectionPanelDirective } from './selection-panel.directive';
3
3
  export { SelectionPanelModule } from './selection-panel.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2VsZWN0aW9uUGFuZWxEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdGlvbi1wYW5lbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2VsZWN0aW9uUGFuZWxNb2R1bGUgfSBmcm9tICcuL3NlbGVjdGlvbi1wYW5lbC5tb2R1bGUnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IFNlbGVjdGlvblBhbmVsTW9kdWxlIH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwubW9kdWxlJztcclxuIl19
@@ -0,0 +1,166 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, Inject, InjectionToken, Input, ViewChild } from '@angular/core';
3
+ import { MatRipple } from '@angular/material/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/checkbox";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@angular/material/core";
9
+ import * as i5 from "@angular/cdk/observers";
10
+ /**
11
+ * @ignore
12
+ */
13
+ export const SELECTION_PANEL_GROUP = new InjectionToken('SelectionPanelItemGroup');
14
+ /**
15
+ * Use `bui-selection-panel-item` within a `bui-selection-panel` to display an option.
16
+ */
17
+ export class SelectionPanelItemComponent {
18
+ /** Whether the option is disabled. */
19
+ get disabled() {
20
+ return this._disabled || this._group._isDisabled;
21
+ }
22
+ set disabled(value) {
23
+ this._setDisabled(coerceBooleanProperty(value));
24
+ }
25
+ /** The value of this option. */
26
+ get value() {
27
+ return this._value;
28
+ }
29
+ set value(value) {
30
+ if (this._value !== value) {
31
+ this._value = value;
32
+ this._cd.markForCheck();
33
+ }
34
+ }
35
+ /** Whether this option is checked. */
36
+ get checked() {
37
+ return this._group._selection.includes(this.value);
38
+ }
39
+ set checked(value) {
40
+ if (!this._group._onTouched) {
41
+ setTimeout(() => this._setChecked(value), 0);
42
+ }
43
+ else {
44
+ this._setChecked(value);
45
+ }
46
+ }
47
+ /** Theme color of the radio button. */
48
+ get color() {
49
+ return this._color || this._group.color;
50
+ }
51
+ set color(newValue) {
52
+ this._color = newValue;
53
+ }
54
+ get _selectByHeader() {
55
+ return this._group.selectByHeader;
56
+ }
57
+ constructor(_group, _cd) {
58
+ this._group = _group;
59
+ this._cd = _cd;
60
+ /**
61
+ * This will be displayed as the panel header
62
+ */
63
+ this.title = '';
64
+ /**
65
+ * Show the header in with a shaded background
66
+ */
67
+ this.shadedHeader = false;
68
+ /**
69
+ * when false will hide the checkbox
70
+ */
71
+ this.selectable = true;
72
+ this.empty = true;
73
+ this._disabled = false;
74
+ }
75
+ /** @ignore */
76
+ _markInteracted() {
77
+ if (this._group._onTouched) {
78
+ this._group._onTouched();
79
+ }
80
+ }
81
+ /** @ignore */
82
+ _notify() {
83
+ this._cd.markForCheck();
84
+ }
85
+ /** Toggle selection programmatically */
86
+ toggle() {
87
+ this.checked = !this.checked;
88
+ }
89
+ /** @ignore */
90
+ _contentClicked(event) {
91
+ if (!this._selectByHeader && this.selectable) {
92
+ this._ripple?.launch(event.clientX, event.clientY);
93
+ this.toggle();
94
+ }
95
+ }
96
+ /** @ignore */
97
+ contentChanged() {
98
+ const el = this._bodyContent?.nativeElement;
99
+ this.empty = (el?.childElementCount || 0) === 0 && (el?.textContent || '') === '';
100
+ }
101
+ /** @ignore */
102
+ ngAfterContentInit() {
103
+ this.contentChanged();
104
+ }
105
+ /** Sets the disabled state and marks for check if a change occurred. */
106
+ _setDisabled(value) {
107
+ if (this._disabled !== value) {
108
+ this._disabled = value;
109
+ this._cd.markForCheck();
110
+ }
111
+ }
112
+ _setChecked(value) {
113
+ const newCheckedState = coerceBooleanProperty(value);
114
+ const old = this._group._selection.includes(this.value);
115
+ if (old !== newCheckedState) {
116
+ const contained = this._group._selection.some(v => v === this._value);
117
+ if (newCheckedState && this._group && !contained) {
118
+ this._group._selection = [...this._group._selection, this._value];
119
+ }
120
+ else if (!newCheckedState && this._group && contained) {
121
+ // When unchecking the selected item, update the selection
122
+ // property on the group.
123
+ this._group._selection = this._group._selection.filter(v => v !== this._value);
124
+ }
125
+ this._cd.markForCheck();
126
+ }
127
+ }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelItemComponent, deps: [{ token: SELECTION_PANEL_GROUP }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: SelectionPanelItemComponent, selector: "bui-selection-panel-item", inputs: { title: "title", shadedHeader: "shadedHeader", selectable: "selectable", disabled: "disabled", value: "value", checked: "checked", color: "color" }, host: { properties: { "class.bui-selection-checked": "checked", "class.bui-border-accent": "checked && color ==='accent'", "class.bui-border-primary": "checked && color ==='primary'", "class.bui-border-warn": "checked && color ==='warn'", "class.bui-disabled": "disabled", "class.bui-unselectable": "!selectable" }, classAttribute: "bui-selection-panel-item" }, viewQueries: [{ propertyName: "_bodyContent", first: true, predicate: ["contentBody"], descendants: true, static: true }, { propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }], ngImport: i0, template: "<div class=\"bui-selection-panel-item-wrapper\">\r\n\t<div\r\n\t\tmatRipple\r\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\r\n\t\tclass=\"bui-ripple\"\r\n\t\t*ngIf=\"!disabled\"\r\n\t\t[matRippleTrigger]=\"toggleTrigger\"\r\n\t\t#ripple=\"matRipple\"\r\n\t\t[matRippleDisabled]=\"!selectable\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"bui-selection-panel-item-header\"\r\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\r\n\t\t#toggleTrigger\r\n\t>\r\n\t\t<div\r\n\t\t\t*ngIf=\"shadedHeader\"\r\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\r\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\r\n\t\t></div>\r\n\t\t<div class=\"bui-selection-panel-item-header-container\">\r\n\t\t\t<mat-checkbox\r\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\r\n\t\t\t\t[(ngModel)]=\"checked\"\r\n\t\t\t\t[color]=\"color\"\r\n\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t(change)=\"_markInteracted()\"\r\n\t\t\t\tstyle=\"flex-grow: 1\"\r\n\t\t\t>\r\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\r\n\t\t\t</mat-checkbox>\r\n\t\t\t<ng-template #noselectable>\r\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\r\n\t\t\t</ng-template>\r\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\r\n\t\t</div>\r\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\r\n\t</div>\r\n\t<div\r\n\t\t#contentBody\r\n\t\tclass=\"bui-selection-panel-item-content\"\r\n\t\t[class.bui-empty]=\"empty\"\r\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\r\n\t\t(click)=\"_contentClicked($event)\"\r\n\t\t(cdkObserveContent)=\"contentChanged()\"\r\n\t>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\r\n</div>\r\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-mdc-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content:not(.bui-empty){margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelItemComponent, decorators: [{
132
+ type: Component,
133
+ args: [{ selector: 'bui-selection-panel-item', changeDetection: ChangeDetectionStrategy.OnPush, host: {
134
+ class: 'bui-selection-panel-item',
135
+ '[class.bui-selection-checked]': 'checked',
136
+ '[class.bui-border-accent]': `checked && color ==='accent'`,
137
+ '[class.bui-border-primary]': `checked && color ==='primary'`,
138
+ '[class.bui-border-warn]': `checked && color ==='warn'`,
139
+ '[class.bui-disabled]': 'disabled',
140
+ '[class.bui-unselectable]': '!selectable'
141
+ }, template: "<div class=\"bui-selection-panel-item-wrapper\">\r\n\t<div\r\n\t\tmatRipple\r\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\r\n\t\tclass=\"bui-ripple\"\r\n\t\t*ngIf=\"!disabled\"\r\n\t\t[matRippleTrigger]=\"toggleTrigger\"\r\n\t\t#ripple=\"matRipple\"\r\n\t\t[matRippleDisabled]=\"!selectable\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"bui-selection-panel-item-header\"\r\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\r\n\t\t#toggleTrigger\r\n\t>\r\n\t\t<div\r\n\t\t\t*ngIf=\"shadedHeader\"\r\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\r\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\r\n\t\t></div>\r\n\t\t<div class=\"bui-selection-panel-item-header-container\">\r\n\t\t\t<mat-checkbox\r\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\r\n\t\t\t\t[(ngModel)]=\"checked\"\r\n\t\t\t\t[color]=\"color\"\r\n\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t(change)=\"_markInteracted()\"\r\n\t\t\t\tstyle=\"flex-grow: 1\"\r\n\t\t\t>\r\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\r\n\t\t\t</mat-checkbox>\r\n\t\t\t<ng-template #noselectable>\r\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\r\n\t\t\t</ng-template>\r\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\r\n\t\t</div>\r\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\r\n\t</div>\r\n\t<div\r\n\t\t#contentBody\r\n\t\tclass=\"bui-selection-panel-item-content\"\r\n\t\t[class.bui-empty]=\"empty\"\r\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\r\n\t\t(click)=\"_contentClicked($event)\"\r\n\t\t(cdkObserveContent)=\"contentChanged()\"\r\n\t>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\r\n</div>\r\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-mdc-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content:not(.bui-empty){margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"] }]
142
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
143
+ type: Inject,
144
+ args: [SELECTION_PANEL_GROUP]
145
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { title: [{
146
+ type: Input
147
+ }], shadedHeader: [{
148
+ type: Input
149
+ }], selectable: [{
150
+ type: Input
151
+ }], disabled: [{
152
+ type: Input
153
+ }], value: [{
154
+ type: Input
155
+ }], checked: [{
156
+ type: Input
157
+ }], color: [{
158
+ type: Input
159
+ }], _bodyContent: [{
160
+ type: ViewChild,
161
+ args: ['contentBody', { static: true }]
162
+ }], _ripple: [{
163
+ type: ViewChild,
164
+ args: [MatRipple]
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc2VsZWN0aW9uLXBhbmVsL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWFqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQix5QkFBeUIsQ0FBQyxDQUFDO0FBRTVHOztHQUVHO0FBZ0JILE1BQU0sT0FBTywyQkFBMkI7SUF5QnZDLHNDQUFzQztJQUN0QyxJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsSUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDRixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQ0ksT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNGLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsSUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFzQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbkMsQ0FBQztJQWNELFlBQW1ELE1BQStCLEVBQVUsR0FBc0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdFbEg7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVg7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7V0FFRztRQUVILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFpRGxCLFVBQUssR0FBWSxJQUFJLENBQUM7UUFHZCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBUzJGLENBQUM7SUFFdEgsY0FBYztJQUNkLGVBQWU7UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0YsQ0FBQztJQUVELGNBQWM7SUFDZCxPQUFPO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU07UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWUsQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsY0FBYztRQUNiLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRCxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsd0VBQXdFO0lBQ2hFLFlBQVksQ0FBQyxLQUFjO1FBQ2xDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDRixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWM7UUFDakMsTUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLEdBQUcsS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUM3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDekQsMERBQTBEO2dCQUMxRCx5QkFBeUI7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEYsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNGLENBQUM7OEdBaEpXLDJCQUEyQixrQkFvRm5CLHFCQUFxQjtrR0FwRjdCLDJCQUEyQiw2dEJBaUY1QixTQUFTLGdEQ2pJckIsc3dEQWtEQTs7MkZERmEsMkJBQTJCO2tCQWZ2QyxTQUFTOytCQUNDLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDTCxLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywrQkFBK0IsRUFBRSxTQUFTO3dCQUMxQywyQkFBMkIsRUFBRSw4QkFBOEI7d0JBQzNELDRCQUE0QixFQUFFLCtCQUErQjt3QkFDN0QseUJBQXlCLEVBQUUsNEJBQTRCO3dCQUN2RCxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQywwQkFBMEIsRUFBRSxhQUFhO3FCQUN6Qzs7MEJBc0ZZLE1BQU07MkJBQUMscUJBQXFCO3lFQXpFekMsS0FBSztzQkFESixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBS0YsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFhRixPQUFPO3NCQURWLEtBQUs7Z0JBY0YsS0FBSztzQkFEUixLQUFLO2dCQW1CRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWxDLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHtcclxuXHRBZnRlckNvbnRlbnRJbml0LFxyXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEluamVjdCxcclxuXHRJbmplY3Rpb25Ub2tlbixcclxuXHRJbnB1dCxcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UmlwcGxlLCBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwIHtcclxuXHRfc2VsZWN0aW9uOiBhbnlbXTtcclxuXHRjb2xvcjogVGhlbWVQYWxldHRlO1xyXG5cdF9pc0Rpc2FibGVkOiBib29sZWFuO1xyXG5cdF9vblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xyXG5cdHNlbGVjdEJ5SGVhZGVyOiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9QQU5FTF9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cD4oJ1NlbGVjdGlvblBhbmVsSXRlbUdyb3VwJyk7XHJcblxyXG4vKipcclxuICogVXNlIGBidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW1gIHdpdGhpbiBhIGBidWktc2VsZWN0aW9uLXBhbmVsYCB0byBkaXNwbGF5IGFuIG9wdGlvbi5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0nLFxyXG5cdFx0J1tjbGFzcy5idWktc2VsZWN0aW9uLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxyXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLWFjY2VudF0nOiBgY2hlY2tlZCAmJiBjb2xvciA9PT0nYWNjZW50J2AsXHJcblx0XHQnW2NsYXNzLmJ1aS1ib3JkZXItcHJpbWFyeV0nOiBgY2hlY2tlZCAmJiBjb2xvciA9PT0ncHJpbWFyeSdgLFxyXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLXdhcm5dJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J3dhcm4nYCxcclxuXHRcdCdbY2xhc3MuYnVpLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcblx0XHQnW2NsYXNzLmJ1aS11bnNlbGVjdGFibGVdJzogJyFzZWxlY3RhYmxlJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cdC8qKiBAaWdub3JlICovXHJcblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBib29sZWFuIHwgc3RyaW5nO1xyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jaGVja2VkOiBib29sZWFuIHwgc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIHdpbGwgYmUgZGlzcGxheWVkIGFzIHRoZSBwYW5lbCBoZWFkZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRpdGxlID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNob3cgdGhlIGhlYWRlciBpbiB3aXRoIGEgc2hhZGVkIGJhY2tncm91bmRcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHNoYWRlZEhlYWRlciA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiB3aGVuIGZhbHNlIHdpbGwgaGlkZSB0aGUgY2hlY2tib3hcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHNlbGVjdGFibGUgPSB0cnVlO1xyXG5cclxuXHQvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuX2dyb3VwLl9pc0Rpc2FibGVkO1xyXG5cdH1cclxuXHRzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX3NldERpc2FibGVkKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xyXG5cdH1cclxuXHJcblx0LyoqIFRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB2YWx1ZSgpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG5cdH1cclxuXHRzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xyXG5cdFx0XHR0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGNoZWNrZWQuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xyXG5cdH1cclxuXHRzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0aWYgKCF0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XHJcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0Q2hlY2tlZCh2YWx1ZSksIDApO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5fc2V0Q2hlY2tlZCh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogVGhlbWUgY29sb3Igb2YgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbG9yIHx8IHRoaXMuX2dyb3VwLmNvbG9yO1xyXG5cdH1cclxuXHRzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xyXG5cdFx0dGhpcy5fY29sb3IgPSBuZXdWYWx1ZTtcclxuXHR9XHJcblxyXG5cdGdldCBfc2VsZWN0QnlIZWFkZXIoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZ3JvdXAuc2VsZWN0QnlIZWFkZXI7XHJcblx0fVxyXG5cclxuXHRlbXB0eTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdHByaXZhdGUgX2NvbG9yOiBUaGVtZVBhbGV0dGU7XHJcblx0cHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuXHRwcml2YXRlIF92YWx1ZTogYW55O1xyXG5cclxuXHRAVmlld0NoaWxkKCdjb250ZW50Qm9keScsIHsgc3RhdGljOiB0cnVlIH0pXHJcblx0cHJpdmF0ZSBfYm9keUNvbnRlbnQ/OiBFbGVtZW50UmVmPGFueT47XHJcblxyXG5cdEBWaWV3Q2hpbGQoTWF0UmlwcGxlKVxyXG5cdHByaXZhdGUgX3JpcHBsZT86IE1hdFJpcHBsZTtcclxuXHJcblx0Y29uc3RydWN0b3IoQEluamVjdChTRUxFQ1RJT05fUEFORUxfR1JPVVApIHByaXZhdGUgX2dyb3VwOiBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCwgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdF9tYXJrSW50ZXJhY3RlZCgpIHtcclxuXHRcdGlmICh0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XHJcblx0XHRcdHRoaXMuX2dyb3VwLl9vblRvdWNoZWQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0X25vdGlmeSgpIHtcclxuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0LyoqIFRvZ2dsZSBzZWxlY3Rpb24gcHJvZ3JhbW1hdGljYWxseSAqL1xyXG5cdHRvZ2dsZSgpIHtcclxuXHRcdHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdF9jb250ZW50Q2xpY2tlZChldmVudDogTW91c2VFdmVudCkge1xyXG5cdFx0aWYgKCF0aGlzLl9zZWxlY3RCeUhlYWRlciAmJiB0aGlzLnNlbGVjdGFibGUpIHtcclxuXHRcdFx0dGhpcy5fcmlwcGxlPy5sYXVuY2goZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XHJcblx0XHRcdHRoaXMudG9nZ2xlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdGNvbnRlbnRDaGFuZ2VkKCkge1xyXG5cdFx0Y29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5fYm9keUNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHR0aGlzLmVtcHR5ID0gKGVsPy5jaGlsZEVsZW1lbnRDb3VudCB8fCAwKSA9PT0gMCAmJiAoZWw/LnRleHRDb250ZW50IHx8ICcnKSA9PT0gJyc7XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuXHRcdHRoaXMuY29udGVudENoYW5nZWQoKTtcclxuXHR9XHJcblxyXG5cdC8qKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBhbmQgbWFya3MgZm9yIGNoZWNrIGlmIGEgY2hhbmdlIG9jY3VycmVkLiAqL1xyXG5cdHByaXZhdGUgX3NldERpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQgIT09IHZhbHVlKSB7XHJcblx0XHRcdHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc2V0Q2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0Y29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuXHRcdGNvbnN0IG9sZCA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uaW5jbHVkZXModGhpcy52YWx1ZSk7XHJcblx0XHRpZiAob2xkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcclxuXHRcdFx0Y29uc3QgY29udGFpbmVkID0gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5zb21lKHYgPT4gdiA9PT0gdGhpcy5fdmFsdWUpO1xyXG5cdFx0XHRpZiAobmV3Q2hlY2tlZFN0YXRlICYmIHRoaXMuX2dyb3VwICYmICFjb250YWluZWQpIHtcclxuXHRcdFx0XHR0aGlzLl9ncm91cC5fc2VsZWN0aW9uID0gWy4uLnRoaXMuX2dyb3VwLl9zZWxlY3Rpb24sIHRoaXMuX3ZhbHVlXTtcclxuXHRcdFx0fSBlbHNlIGlmICghbmV3Q2hlY2tlZFN0YXRlICYmIHRoaXMuX2dyb3VwICYmIGNvbnRhaW5lZCkge1xyXG5cdFx0XHRcdC8vIFdoZW4gdW5jaGVja2luZyB0aGUgc2VsZWN0ZWQgaXRlbSwgdXBkYXRlIHRoZSBzZWxlY3Rpb25cclxuXHRcdFx0XHQvLyBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXAuXHJcblx0XHRcdFx0dGhpcy5fZ3JvdXAuX3NlbGVjdGlvbiA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uZmlsdGVyKHYgPT4gdiAhPT0gdGhpcy5fdmFsdWUpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLXdyYXBwZXJcIj5cclxuXHQ8ZGl2XHJcblx0XHRtYXRSaXBwbGVcclxuXHRcdG1hdFJpcHBsZUNvbG9yPVwicmdiYSgxMjgsMTI4LDEyOCwuMSlcIlxyXG5cdFx0Y2xhc3M9XCJidWktcmlwcGxlXCJcclxuXHRcdCpuZ0lmPVwiIWRpc2FibGVkXCJcclxuXHRcdFttYXRSaXBwbGVUcmlnZ2VyXT1cInRvZ2dsZVRyaWdnZXJcIlxyXG5cdFx0I3JpcHBsZT1cIm1hdFJpcHBsZVwiXHJcblx0XHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiIXNlbGVjdGFibGVcIlxyXG5cdD48L2Rpdj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1oZWFkZXJcIlxyXG5cdFx0W25nQ2xhc3NdPVwieyAnYnVpLXNoYWRlZCc6IHNoYWRlZEhlYWRlciwgJ2J1aS1lbXB0eSc6IGVtcHR5IH1cIlxyXG5cdFx0I3RvZ2dsZVRyaWdnZXJcclxuXHQ+XHJcblx0XHQ8ZGl2XHJcblx0XHRcdCpuZ0lmPVwic2hhZGVkSGVhZGVyXCJcclxuXHRcdFx0Y2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLXVuZGVybGF5XCJcclxuXHRcdFx0W25nQ2xhc3NdPVwieyAnYnVpLW5vdC1lbXB0eSc6ICFlbXB0eSB9XCJcclxuXHRcdD48L2Rpdj5cclxuXHRcdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLWNvbnRhaW5lclwiPlxyXG5cdFx0XHQ8bWF0LWNoZWNrYm94XHJcblx0XHRcdFx0Km5nSWY9XCJzZWxlY3RhYmxlOyBlbHNlIG5vc2VsZWN0YWJsZVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJjaGVja2VkXCJcclxuXHRcdFx0XHRbY29sb3JdPVwiY29sb3JcIlxyXG5cdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcblx0XHRcdFx0KGNoYW5nZSk9XCJfbWFya0ludGVyYWN0ZWQoKVwiXHJcblx0XHRcdFx0c3R5bGU9XCJmbGV4LWdyb3c6IDFcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cclxuXHRcdFx0PC9tYXQtY2hlY2tib3g+XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSAjbm9zZWxlY3RhYmxlPlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2J1aVNlbGVjdGlvbkl0ZW1IZWFkaW5nRW5kXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2J1aVNlbGVjdGlvbkl0ZW1TdWJ0aXRsZV1cIj48L25nLWNvbnRlbnQ+XHJcblx0PC9kaXY+XHJcblx0PGRpdlxyXG5cdFx0I2NvbnRlbnRCb2R5XHJcblx0XHRjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1jb250ZW50XCJcclxuXHRcdFtjbGFzcy5idWktZW1wdHldPVwiZW1wdHlcIlxyXG5cdFx0W2NsYXNzLmJ1aS1zZWxlY3RhYmxlXT1cIiFfc2VsZWN0QnlIZWFkZXJcIlxyXG5cdFx0KGNsaWNrKT1cIl9jb250ZW50Q2xpY2tlZCgkZXZlbnQpXCJcclxuXHRcdChjZGtPYnNlcnZlQ29udGVudCk9XCJjb250ZW50Q2hhbmdlZCgpXCJcclxuXHQ+XHJcblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1ib3R0b21cIj48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,119 @@
1
+ import { ContentChildren, Directive, forwardRef, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { SelectionPanelItemComponent, SELECTION_PANEL_GROUP } from './selection-panel-item.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Selection panel is a [control value accessor](https://angular.io/api/forms/ControlValueAccessor)
7
+ * that display a set of multi-selection items as bordered panels, in a similar fashion as Radio Panel `bui-radio-panel`.
8
+ *
9
+ * Accessibility features are not yet fully implemented.
10
+ *
11
+ * Example:
12
+ *
13
+ * ```html
14
+ * <bui-selection-panel>
15
+ * <bui-selection-panel-item *ngFor="let obj of objects" [value]="obj">{{obj.description}}</bui-selection-panel-item>
16
+ * </bui-selection-panel>
17
+ * ```
18
+ *
19
+ */
20
+ export class SelectionPanelDirective {
21
+ /**
22
+ * @ignore
23
+ * The selected values. Used by the child elements to modify the group's value
24
+ */
25
+ get _selection() {
26
+ return this._selected;
27
+ }
28
+ set _selection(value) {
29
+ if (value !== this._selected) {
30
+ this._selected = value;
31
+ if (this._onChange) {
32
+ this._onChange(this._selected);
33
+ }
34
+ this._cd.markForCheck();
35
+ }
36
+ }
37
+ constructor(_cd) {
38
+ this._cd = _cd;
39
+ /**
40
+ * When set to `false`, the selection is triggered by click everywhere within the panels that is
41
+ * not focus-trapping; otherwise, only clicking on the header will activate the selection.
42
+ *
43
+ * @default true
44
+ */
45
+ this.selectByHeader = true;
46
+ /** @ignore */
47
+ this._isDisabled = false;
48
+ this._selected = [];
49
+ }
50
+ /**
51
+ * @ignore
52
+ */
53
+ writeValue(obj) {
54
+ this._selected = [];
55
+ if (Array.isArray(obj)) {
56
+ this._selected.push(...obj);
57
+ }
58
+ else if (obj !== null && obj !== undefined) {
59
+ this._selected.push(obj);
60
+ }
61
+ this._items?.forEach(it => it._notify());
62
+ }
63
+ /**
64
+ * @ignore
65
+ */
66
+ registerOnChange(fn) {
67
+ this._onChange = fn;
68
+ }
69
+ /**
70
+ * @ignore
71
+ */
72
+ registerOnTouched(fn) {
73
+ this._onTouched = fn;
74
+ }
75
+ /**
76
+ * Sets the disabled state and marks for check if a change occurred.
77
+ * @ignore
78
+ */
79
+ setDisabledState(isDisabled) {
80
+ if (this._isDisabled !== isDisabled) {
81
+ this._isDisabled = isDisabled;
82
+ this._cd.markForCheck();
83
+ this._items.forEach(it => it._notify());
84
+ }
85
+ }
86
+ /** @ignore */
87
+ ngOnChanges(changes) {
88
+ if (this._items) {
89
+ if (changes.color || changes.selectByHeader) {
90
+ this._items.forEach(item => item._notify());
91
+ }
92
+ }
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
95
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: SelectionPanelDirective, selector: "bui-selection-panel", inputs: { color: "color", selectByHeader: "selectByHeader" }, host: { classAttribute: "bui-selection-panel bui-host" }, providers: [
96
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectionPanelDirective), multi: true },
97
+ { provide: SELECTION_PANEL_GROUP, useExisting: forwardRef(() => SelectionPanelDirective) }
98
+ ], queries: [{ propertyName: "_items", predicate: SelectionPanelItemComponent, descendants: true }], exportAs: ["buiSelectionPanel"], usesOnChanges: true, ngImport: i0 }); }
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelDirective, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ selector: 'bui-selection-panel',
104
+ providers: [
105
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectionPanelDirective), multi: true },
106
+ { provide: SELECTION_PANEL_GROUP, useExisting: forwardRef(() => SelectionPanelDirective) }
107
+ ],
108
+ exportAs: 'buiSelectionPanel',
109
+ host: { class: 'bui-selection-panel bui-host' }
110
+ }]
111
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { color: [{
112
+ type: Input
113
+ }], selectByHeader: [{
114
+ type: Input
115
+ }], _items: [{
116
+ type: ContentChildren,
117
+ args: [SelectionPanelItemComponent, { descendants: true }]
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBSUwsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFDTiwyQkFBMkIsRUFFM0IscUJBQXFCLEVBQ3JCLE1BQU0sa0NBQWtDLENBQUM7O0FBRTFDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBVUgsTUFBTSxPQUFPLHVCQUF1QjtJQVluQzs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0YsQ0FBQztJQWVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdEMxQzs7Ozs7V0FLRztRQUNNLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBc0IvQixjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJWixjQUFTLEdBQVUsRUFBRSxDQUFDO0lBS2UsQ0FBQztJQUU5Qzs7T0FF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XHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdERpcmVjdGl2ZSxcclxuXHRmb3J3YXJkUmVmLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRRdWVyeUxpc3QsXHJcblx0U2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCxcclxuXHRTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCxcclxuXHRTRUxFQ1RJT05fUEFORUxfR1JPVVBcclxufSBmcm9tICcuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU2VsZWN0aW9uIHBhbmVsIGlzIGEgW2NvbnRyb2wgdmFsdWUgYWNjZXNzb3JdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpXHJcbiAqIHRoYXQgZGlzcGxheSBhIHNldCBvZiBtdWx0aS1zZWxlY3Rpb24gaXRlbXMgYXMgYm9yZGVyZWQgcGFuZWxzLCBpbiBhIHNpbWlsYXIgZmFzaGlvbiBhcyBSYWRpbyBQYW5lbCBgYnVpLXJhZGlvLXBhbmVsYC5cclxuICpcclxuICogQWNjZXNzaWJpbGl0eSBmZWF0dXJlcyBhcmUgbm90IHlldCBmdWxseSBpbXBsZW1lbnRlZC5cclxuICpcclxuICogRXhhbXBsZTpcclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8YnVpLXNlbGVjdGlvbi1wYW5lbD5cclxuICogICA8YnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiIFt2YWx1ZV09XCJvYmpcIj57e29iai5kZXNjcmlwdGlvbn19PC9idWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0+XHJcbiAqIDwvYnVpLXNlbGVjdGlvbi1wYW5lbD5cclxuICogYGBgXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ2J1aS1zZWxlY3Rpb24tcGFuZWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0eyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0aW9uUGFuZWxEaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxyXG5cdFx0eyBwcm92aWRlOiBTRUxFQ1RJT05fUEFORUxfR1JPVVAsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdGlvblBhbmVsRGlyZWN0aXZlKSB9XHJcblx0XSxcclxuXHRleHBvcnRBczogJ2J1aVNlbGVjdGlvblBhbmVsJyxcclxuXHRob3N0OiB7IGNsYXNzOiAnYnVpLXNlbGVjdGlvbi1wYW5lbCBidWktaG9zdCcgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgU2VsZWN0aW9uUGFuZWxJdGVtR3JvdXAsIE9uQ2hhbmdlcyB7XHJcblx0LyoqIFRoZW1lIGNvbG9yIGZvciBhbGwgb2YgdGhlIHNlbGVjdGlvbiBjaGVja2JveGVzIGluIHRoZSBncm91cC4gKi9cclxuXHRASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGVuIHNldCB0byBgZmFsc2VgLCB0aGUgc2VsZWN0aW9uIGlzIHRyaWdnZXJlZCBieSBjbGljayBldmVyeXdoZXJlIHdpdGhpbiB0aGUgcGFuZWxzIHRoYXQgaXNcclxuXHQgKiBub3QgZm9jdXMtdHJhcHBpbmc7IG90aGVyd2lzZSwgb25seSBjbGlja2luZyBvbiB0aGUgaGVhZGVyIHdpbGwgYWN0aXZhdGUgdGhlIHNlbGVjdGlvbi5cclxuXHQgKlxyXG5cdCAqIEBkZWZhdWx0IHRydWVcclxuXHQgKi9cclxuXHRASW5wdXQoKSBzZWxlY3RCeUhlYWRlciA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKiBUaGUgc2VsZWN0ZWQgdmFsdWVzLiBVc2VkIGJ5IHRoZSBjaGlsZCBlbGVtZW50cyB0byBtb2RpZnkgdGhlIGdyb3VwJ3MgdmFsdWVcclxuXHQgKi9cclxuXHRnZXQgX3NlbGVjdGlvbigpOiBhbnlbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XHJcblx0fVxyXG5cdHNldCBfc2VsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xyXG5cdFx0aWYgKHZhbHVlICE9PSB0aGlzLl9zZWxlY3RlZCkge1xyXG5cdFx0XHR0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG5cdFx0XHRpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuXHRcdFx0XHR0aGlzLl9vbkNoYW5nZSh0aGlzLl9zZWxlY3RlZCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdF9vblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdF9pc0Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG5cdHByaXZhdGUgX29uQ2hhbmdlPzogKF86IGFueSkgPT4gdm9pZDtcclxuXHJcblx0cHJpdmF0ZSBfc2VsZWN0ZWQ6IGFueVtdID0gW107XHJcblxyXG5cdEBDb250ZW50Q2hpbGRyZW4oU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXHJcblx0cHJpdmF0ZSBfaXRlbXMhOiBRdWVyeUxpc3Q8U2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50PjtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0d3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5fc2VsZWN0ZWQgPSBbXTtcclxuXHRcdGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuXHRcdFx0dGhpcy5fc2VsZWN0ZWQucHVzaCguLi5vYmopO1xyXG5cdFx0fSBlbHNlIGlmIChvYmogIT09IG51bGwgJiYgb2JqICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5fc2VsZWN0ZWQucHVzaChvYmopO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5faXRlbXM/LmZvckVhY2goaXQgPT4gaXQuX25vdGlmeSgpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEBpZ25vcmVcclxuXHQgKi9cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIGFuZCBtYXJrcyBmb3IgY2hlY2sgaWYgYSBjaGFuZ2Ugb2NjdXJyZWQuXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2lzRGlzYWJsZWQgIT09IGlzRGlzYWJsZWQpIHtcclxuXHRcdFx0dGhpcy5faXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0XHR0aGlzLl9pdGVtcy5mb3JFYWNoKGl0ID0+IGl0Ll9ub3RpZnkoKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9pdGVtcykge1xyXG5cdFx0XHRpZiAoY2hhbmdlcy5jb2xvciB8fCBjaGFuZ2VzLnNlbGVjdEJ5SGVhZGVyKSB7XHJcblx0XHRcdFx0dGhpcy5faXRlbXMuZm9yRWFjaChpdGVtID0+IGl0ZW0uX25vdGlmeSgpKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ObserversModule } from '@angular/cdk/observers';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MatCheckboxModule } from '@angular/material/checkbox';
6
+ import { MatRippleModule } from '@angular/material/core';
7
+ import { SelectionPanelItemComponent } from './selection-panel-item.component';
8
+ import { SelectionPanelDirective } from './selection-panel.directive';
9
+ import * as i0 from "@angular/core";
10
+ export class SelectionPanelModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelModule, declarations: [SelectionPanelDirective, SelectionPanelItemComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule], exports: [SelectionPanelDirective, SelectionPanelItemComponent] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelModule, imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SelectionPanelModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [SelectionPanelDirective, SelectionPanelItemComponent],
19
+ imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule],
20
+ exports: [SelectionPanelDirective, SelectionPanelItemComponent]
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQU90RSxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixpQkFKakIsdUJBQXVCLEVBQUUsMkJBQTJCLGFBQ3pELFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsYUFDOUUsdUJBQXVCLEVBQUUsMkJBQTJCOytHQUVsRCxvQkFBb0IsWUFIdEIsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZTs7MkZBRzVFLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO29CQUN6RixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQztpQkFDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZlcnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW1NlbGVjdGlvblBhbmVsRGlyZWN0aXZlLCBTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBPYnNlcnZlcnNNb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSwgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxNb2R1bGUge31cclxuIl19
@@ -1,4 +1,4 @@
1
1
  export * from './skeletons.module';
2
2
  export * from './skeleton-loader.component';
3
3
  export * from './skeleton-loader-presets.directive';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NrZWxldG9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9za2VsZXRvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NrZWxldG9uLWxvYWRlci1wcmVzZXRzLmRpcmVjdGl2ZSc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NrZWxldG9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9za2VsZXRvbnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9za2VsZXRvbi1sb2FkZXItcHJlc2V0cy5kaXJlY3RpdmUnO1xyXG4iXX0=