@koobiq/components 18.28.0 → 18.30.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 (410) hide show
  1. package/accordion/accordion-trigger.component.scss +2 -0
  2. package/actions-panel/actions-panel-container.scss +4 -1
  3. package/actions-panel/actions-panel-tokens.scss +2 -1
  4. package/breadcrumbs/breadcrumbs.d.ts +1 -1
  5. package/checkbox/checkbox.scss +2 -0
  6. package/code-block/_code-block-theme.scss +4 -12
  7. package/code-block/code-block-tokens.scss +3 -2
  8. package/code-block/code-block.scss +41 -10
  9. package/core/common-behaviors/clipboard.d.ts +12 -0
  10. package/core/common-behaviors/index.d.ts +1 -0
  11. package/core/formatters/filesize/config.d.ts +66 -0
  12. package/core/formatters/filesize/formatter.d.ts +17 -0
  13. package/core/{utils/data-size → formatters/filesize}/index.d.ts +1 -1
  14. package/core/formatters/filesize/size.d.ts +52 -0
  15. package/core/formatters/index.d.ts +3 -1
  16. package/core/formatters/number/formatter.d.ts +13 -4
  17. package/core/forms/validators.d.ts +13 -0
  18. package/core/locales/formatters.d.ts +9 -1
  19. package/core/locales/locale-service.d.ts +9 -1
  20. package/core/locales/types.d.ts +14 -0
  21. package/core/pop-up/pop-up-trigger.d.ts +3 -4
  22. package/core/pop-up/pop-up.d.ts +2 -1
  23. package/core/select/common.d.ts +3 -3
  24. package/core/utils/public-api.d.ts +0 -1
  25. package/datepicker/calendar.scss +2 -0
  26. package/datepicker/datepicker-tokens.scss +1 -1
  27. package/dropdown/dropdown-item.component.d.ts +3 -1
  28. package/ellipsis-center/ellipsis-center.directive.d.ts +8 -2
  29. package/esm2022/accordion/accordion-content.mjs +4 -4
  30. package/esm2022/accordion/accordion-header.mjs +4 -4
  31. package/esm2022/accordion/accordion-item.mjs +4 -4
  32. package/esm2022/accordion/accordion-trigger.component.mjs +6 -6
  33. package/esm2022/accordion/accordion.component.mjs +4 -4
  34. package/esm2022/accordion/accordion.module.mjs +5 -5
  35. package/esm2022/actions-panel/actions-panel-container.mjs +6 -6
  36. package/esm2022/actions-panel/actions-panel.mjs +13 -13
  37. package/esm2022/actions-panel/module.mjs +5 -5
  38. package/esm2022/alert/alert.component.mjs +13 -13
  39. package/esm2022/alert/alert.module.mjs +5 -5
  40. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
  41. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
  42. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  43. package/esm2022/autocomplete/autocomplete.module.mjs +5 -5
  44. package/esm2022/badge/badge.component.mjs +10 -10
  45. package/esm2022/badge/badge.module.mjs +5 -5
  46. package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
  47. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +5 -5
  48. package/esm2022/button/button.component.mjs +7 -7
  49. package/esm2022/button/button.dropdown-trigger.directive.mjs +4 -4
  50. package/esm2022/button/button.module.mjs +5 -5
  51. package/esm2022/button-toggle/button-toggle.component.mjs +7 -7
  52. package/esm2022/button-toggle/button-toggle.module.mjs +5 -5
  53. package/esm2022/checkbox/checkbox-module.mjs +5 -5
  54. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  55. package/esm2022/checkbox/checkbox.mjs +5 -5
  56. package/esm2022/code-block/code-block-highlight.mjs +4 -4
  57. package/esm2022/code-block/code-block.mjs +8 -5
  58. package/esm2022/code-block/code-block.module.mjs +5 -5
  59. package/esm2022/core/common-behaviors/clipboard.mjs +31 -0
  60. package/esm2022/core/common-behaviors/color.mjs +4 -4
  61. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  62. package/esm2022/core/common-behaviors/index.mjs +2 -1
  63. package/esm2022/core/error/error-state-matcher.mjs +10 -10
  64. package/esm2022/core/formatters/date/formatter.mjs +4 -4
  65. package/esm2022/core/formatters/date/formatter.pipe.mjs +79 -79
  66. package/esm2022/core/formatters/filesize/config.mjs +32 -0
  67. package/esm2022/core/formatters/filesize/formatter.mjs +43 -0
  68. package/esm2022/core/formatters/filesize/index.mjs +4 -0
  69. package/esm2022/core/formatters/filesize/size.mjs +65 -0
  70. package/esm2022/core/formatters/index.mjs +15 -9
  71. package/esm2022/core/formatters/number/formatter.mjs +38 -36
  72. package/esm2022/core/forms/forms-module.mjs +5 -5
  73. package/esm2022/core/forms/forms.directive.mjs +7 -7
  74. package/esm2022/core/forms/validators.mjs +22 -1
  75. package/esm2022/core/highlight/highlight.pipe.mjs +4 -4
  76. package/esm2022/core/highlight/index.mjs +5 -5
  77. package/esm2022/core/line/line.mjs +8 -8
  78. package/esm2022/core/locales/formatters.mjs +21 -13
  79. package/esm2022/core/locales/locale-service.mjs +4 -4
  80. package/esm2022/core/locales/locale-service.module.mjs +5 -5
  81. package/esm2022/core/locales/types.mjs +1 -1
  82. package/esm2022/core/option/action.mjs +4 -4
  83. package/esm2022/core/option/optgroup.mjs +4 -4
  84. package/esm2022/core/option/option-module.mjs +5 -5
  85. package/esm2022/core/option/option.mjs +4 -4
  86. package/esm2022/core/pop-up/pop-up-trigger.mjs +22 -13
  87. package/esm2022/core/pop-up/pop-up.mjs +9 -5
  88. package/esm2022/core/select/common.mjs +21 -19
  89. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  90. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  91. package/esm2022/core/services/measure-scrollbar.service.mjs +4 -4
  92. package/esm2022/core/services/theme.service.mjs +4 -4
  93. package/esm2022/core/utils/public-api.mjs +1 -2
  94. package/esm2022/core/version.mjs +2 -2
  95. package/esm2022/datepicker/calendar-body.component.mjs +4 -4
  96. package/esm2022/datepicker/calendar-header.component.mjs +4 -4
  97. package/esm2022/datepicker/calendar.component.mjs +5 -5
  98. package/esm2022/datepicker/datepicker-input.directive.mjs +4 -4
  99. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  100. package/esm2022/datepicker/datepicker-module.mjs +5 -5
  101. package/esm2022/datepicker/datepicker-toggle.component.mjs +7 -7
  102. package/esm2022/datepicker/datepicker.component.mjs +8 -8
  103. package/esm2022/datepicker/month-view.component.mjs +4 -4
  104. package/esm2022/divider/divider.component.mjs +4 -4
  105. package/esm2022/divider/divider.module.mjs +5 -5
  106. package/esm2022/dl/dl.component.mjs +10 -10
  107. package/esm2022/dl/dl.module.mjs +5 -5
  108. package/esm2022/dropdown/dropdown-content.directive.mjs +4 -4
  109. package/esm2022/dropdown/dropdown-item.component.mjs +9 -7
  110. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  111. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  112. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  113. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +20 -10
  114. package/esm2022/empty-state/empty-state.component.mjs +16 -16
  115. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  116. package/esm2022/file-upload/file-drop.mjs +4 -4
  117. package/esm2022/file-upload/file-upload.mjs +2 -1
  118. package/esm2022/file-upload/file-upload.module.mjs +5 -5
  119. package/esm2022/file-upload/multiple-file-upload.component.mjs +23 -9
  120. package/esm2022/file-upload/single-file-upload.component.mjs +18 -9
  121. package/esm2022/filter-bar/filter-bar-button.mjs +4 -4
  122. package/esm2022/filter-bar/filter-bar.mjs +4 -4
  123. package/esm2022/filter-bar/filter-bar.module.mjs +5 -5
  124. package/esm2022/filter-bar/filter-bar.types.mjs +32 -1
  125. package/esm2022/filter-bar/filter-refresher.mjs +4 -4
  126. package/esm2022/filter-bar/filter-reset.mjs +4 -4
  127. package/esm2022/filter-bar/filter-search.mjs +5 -5
  128. package/esm2022/filter-bar/filters.mjs +27 -20
  129. package/esm2022/filter-bar/pipe-add.mjs +5 -5
  130. package/esm2022/filter-bar/pipe.directive.mjs +4 -4
  131. package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -7
  132. package/esm2022/filter-bar/pipes/pipe-button.mjs +5 -5
  133. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  134. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  135. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +29 -11
  136. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +234 -0
  137. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  138. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  139. package/esm2022/filter-bar/pipes/pipe-state.mjs +4 -4
  140. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  141. package/esm2022/filter-bar/pipes/pipe-title.mjs +4 -4
  142. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +136 -0
  143. package/esm2022/filter-bar/public-api.mjs +2 -1
  144. package/esm2022/form-field/cleaner.mjs +4 -4
  145. package/esm2022/form-field/form-field.mjs +16 -16
  146. package/esm2022/form-field/form-field.module.mjs +5 -5
  147. package/esm2022/form-field/hint.mjs +4 -4
  148. package/esm2022/form-field/password-hint.mjs +9 -7
  149. package/esm2022/form-field/password-toggle.mjs +4 -4
  150. package/esm2022/form-field/prefix.mjs +4 -4
  151. package/esm2022/form-field/stepper.mjs +23 -7
  152. package/esm2022/form-field/suffix.mjs +4 -4
  153. package/esm2022/form-field/validate.directive.mjs +4 -4
  154. package/esm2022/icon/icon-button.component.mjs +4 -4
  155. package/esm2022/icon/icon-item.component.mjs +4 -4
  156. package/esm2022/icon/icon.component.mjs +4 -4
  157. package/esm2022/icon/icon.module.mjs +5 -5
  158. package/esm2022/input/input-number-validators.mjs +7 -7
  159. package/esm2022/input/input-number.mjs +13 -12
  160. package/esm2022/input/input-password.mjs +4 -4
  161. package/esm2022/input/input.mjs +7 -7
  162. package/esm2022/input/input.module.mjs +5 -5
  163. package/esm2022/link/link.component.mjs +4 -4
  164. package/esm2022/link/link.module.mjs +5 -5
  165. package/esm2022/list/list-selection.component.mjs +10 -10
  166. package/esm2022/list/list.component.mjs +7 -7
  167. package/esm2022/list/list.module.mjs +5 -5
  168. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  169. package/esm2022/loader-overlay/loader-overlay.module.mjs +5 -5
  170. package/esm2022/markdown/markdown.component.mjs +4 -4
  171. package/esm2022/markdown/markdown.module.mjs +5 -5
  172. package/esm2022/markdown/markdown.service.mjs +4 -4
  173. package/esm2022/modal/css-unit.pipe.mjs +4 -4
  174. package/esm2022/modal/modal-control.service.mjs +4 -4
  175. package/esm2022/modal/modal.component.mjs +4 -4
  176. package/esm2022/modal/modal.directive.mjs +13 -13
  177. package/esm2022/modal/modal.module.mjs +5 -5
  178. package/esm2022/modal/modal.service.mjs +4 -4
  179. package/esm2022/modal/modal.type.mjs +1 -1
  180. package/esm2022/navbar/navbar-item.component.mjs +28 -28
  181. package/esm2022/navbar/navbar.component.mjs +10 -10
  182. package/esm2022/navbar/navbar.module.mjs +5 -5
  183. package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
  184. package/esm2022/overflow-items/module.mjs +5 -5
  185. package/esm2022/overflow-items/overflow-items.mjs +56 -83
  186. package/esm2022/popover/popover-confirm.component.mjs +7 -7
  187. package/esm2022/popover/popover.component.mjs +15 -9
  188. package/esm2022/popover/popover.module.mjs +5 -5
  189. package/esm2022/progress-bar/progress-bar.component.mjs +10 -10
  190. package/esm2022/progress-bar/progress-bar.module.mjs +5 -5
  191. package/esm2022/progress-spinner/progress-spinner.component.mjs +10 -10
  192. package/esm2022/progress-spinner/progress-spinner.module.mjs +5 -5
  193. package/esm2022/radio/radio.component.mjs +7 -7
  194. package/esm2022/radio/radio.module.mjs +5 -5
  195. package/esm2022/risk-level/risk-level.component.mjs +4 -4
  196. package/esm2022/risk-level/risk-level.module.mjs +5 -5
  197. package/esm2022/scrollbar/scrollbar.component.mjs +4 -4
  198. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -4
  199. package/esm2022/scrollbar/scrollbar.module.mjs +5 -5
  200. package/esm2022/select/select-option.directive.mjs +4 -4
  201. package/esm2022/select/select.component.mjs +10 -11
  202. package/esm2022/select/select.module.mjs +5 -5
  203. package/esm2022/sidebar/sidebar.component.mjs +18 -12
  204. package/esm2022/sidebar/sidebar.module.mjs +5 -5
  205. package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
  206. package/esm2022/sidepanel/sidepanel-directives.mjs +16 -16
  207. package/esm2022/sidepanel/sidepanel.module.mjs +5 -5
  208. package/esm2022/sidepanel/sidepanel.service.mjs +4 -4
  209. package/esm2022/splitter/splitter.component.mjs +13 -13
  210. package/esm2022/splitter/splitter.module.mjs +5 -5
  211. package/esm2022/table/table.component.mjs +7 -7
  212. package/esm2022/table/table.module.mjs +5 -5
  213. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  214. package/esm2022/tabs/tab-body.component.mjs +7 -7
  215. package/esm2022/tabs/tab-content.directive.mjs +4 -4
  216. package/esm2022/tabs/tab-group.component.mjs +16 -16
  217. package/esm2022/tabs/tab-header.component.mjs +4 -4
  218. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  219. package/esm2022/tabs/tab-label.directive.mjs +4 -4
  220. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  221. package/esm2022/tabs/tab.component.mjs +4 -4
  222. package/esm2022/tabs/tabs.module.mjs +5 -5
  223. package/esm2022/tags/tag-input.mjs +4 -4
  224. package/esm2022/tags/tag-list.component.mjs +5 -5
  225. package/esm2022/tags/tag.component.mjs +13 -13
  226. package/esm2022/tags/tag.module.mjs +5 -5
  227. package/esm2022/textarea/textarea.component.mjs +4 -4
  228. package/esm2022/textarea/textarea.module.mjs +5 -5
  229. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  230. package/esm2022/timepicker/timepicker.module.mjs +5 -5
  231. package/esm2022/timezone/cities-by-filter.pipe.mjs +4 -4
  232. package/esm2022/timezone/timezone-option.component.mjs +4 -4
  233. package/esm2022/timezone/timezone-option.directive.mjs +4 -4
  234. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  235. package/esm2022/timezone/timezone.module.mjs +5 -5
  236. package/esm2022/timezone/utc-offset.pipe.mjs +4 -4
  237. package/esm2022/title/title.directive.mjs +4 -4
  238. package/esm2022/title/title.module.mjs +5 -5
  239. package/esm2022/toast/toast-container.component.mjs +4 -4
  240. package/esm2022/toast/toast.component.mjs +7 -7
  241. package/esm2022/toast/toast.module.mjs +5 -5
  242. package/esm2022/toast/toast.service.mjs +4 -4
  243. package/esm2022/toggle/toggle.component.mjs +4 -4
  244. package/esm2022/toggle/toggle.module.mjs +5 -5
  245. package/esm2022/tooltip/tooltip.component.mjs +23 -14
  246. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  247. package/esm2022/top-bar/module.mjs +5 -5
  248. package/esm2022/top-bar/top-bar.mjs +12 -12
  249. package/esm2022/tree/control/flat-tree-control.filters.mjs +10 -2
  250. package/esm2022/tree/node.mjs +4 -4
  251. package/esm2022/tree/outlet.mjs +4 -4
  252. package/esm2022/tree/padding.directive.mjs +4 -4
  253. package/esm2022/tree/toggle.mjs +10 -10
  254. package/esm2022/tree/tree-base.mjs +7 -7
  255. package/esm2022/tree/tree-option.component.mjs +11 -7
  256. package/esm2022/tree/tree-selection.component.mjs +6 -4
  257. package/esm2022/tree/tree.mjs +4 -4
  258. package/esm2022/tree/tree.module.mjs +5 -5
  259. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  260. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  261. package/fesm2022/koobiq-components-accordion.mjs +21 -21
  262. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  263. package/fesm2022/koobiq-components-actions-panel.mjs +21 -21
  264. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  265. package/fesm2022/koobiq-components-alert.mjs +16 -16
  266. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  267. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  268. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  269. package/fesm2022/koobiq-components-badge.mjs +13 -13
  270. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  271. package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
  272. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  273. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  274. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  275. package/fesm2022/koobiq-components-button.mjs +13 -13
  276. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  277. package/fesm2022/koobiq-components-checkbox.mjs +11 -11
  278. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  279. package/fesm2022/koobiq-components-code-block.mjs +14 -11
  280. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  281. package/fesm2022/koobiq-components-core.mjs +452 -333
  282. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  283. package/fesm2022/koobiq-components-datepicker.mjs +36 -36
  284. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  285. package/fesm2022/koobiq-components-divider.mjs +7 -7
  286. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  287. package/fesm2022/koobiq-components-dl.mjs +13 -13
  288. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  289. package/fesm2022/koobiq-components-dropdown.mjs +21 -19
  290. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  291. package/fesm2022/koobiq-components-ellipsis-center.mjs +19 -9
  292. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  293. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  294. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  295. package/fesm2022/koobiq-components-file-upload.mjs +43 -21
  296. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  297. package/fesm2022/koobiq-components-filter-bar.mjs +481 -108
  298. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  299. package/fesm2022/koobiq-components-form-field.mjs +66 -49
  300. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  301. package/fesm2022/koobiq-components-icon.mjs +13 -13
  302. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  303. package/fesm2022/koobiq-components-input.mjs +32 -31
  304. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  305. package/fesm2022/koobiq-components-link.mjs +7 -7
  306. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  307. package/fesm2022/koobiq-components-list.mjs +19 -19
  308. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  309. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  310. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  311. package/fesm2022/koobiq-components-markdown.mjs +10 -10
  312. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  313. package/fesm2022/koobiq-components-modal.mjs +28 -28
  314. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  315. package/fesm2022/koobiq-components-navbar.mjs +43 -43
  316. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  317. package/fesm2022/koobiq-components-overflow-items.mjs +59 -86
  318. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  319. package/fesm2022/koobiq-components-popover.mjs +24 -18
  320. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  321. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  322. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  323. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  324. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  325. package/fesm2022/koobiq-components-radio.mjs +10 -10
  326. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  327. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  328. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  329. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  330. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  331. package/fesm2022/koobiq-components-select.mjs +16 -17
  332. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  333. package/fesm2022/koobiq-components-sidebar.mjs +21 -15
  334. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  335. package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
  336. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  337. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  338. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  339. package/fesm2022/koobiq-components-table.mjs +10 -10
  340. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  341. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  342. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  343. package/fesm2022/koobiq-components-tags.mjs +23 -23
  344. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  345. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  346. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  347. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  348. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  349. package/fesm2022/koobiq-components-timezone.mjs +24 -24
  350. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  351. package/fesm2022/koobiq-components-title.mjs +7 -7
  352. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  353. package/fesm2022/koobiq-components-toast.mjs +16 -16
  354. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  355. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  356. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  357. package/fesm2022/koobiq-components-tooltip.mjs +26 -17
  358. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  359. package/fesm2022/koobiq-components-top-bar.mjs +15 -15
  360. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  361. package/fesm2022/koobiq-components-tree-select.mjs +8 -8
  362. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  363. package/fesm2022/koobiq-components-tree.mjs +54 -40
  364. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  365. package/file-upload/_file-upload-theme.scss +125 -32
  366. package/file-upload/file-upload-tokens.scss +42 -14
  367. package/file-upload/file-upload.d.ts +1 -0
  368. package/file-upload/multiple-file-upload.component.d.ts +12 -5
  369. package/file-upload/multiple-file-upload.component.scss +66 -69
  370. package/file-upload/single-file-upload.component.d.ts +7 -1
  371. package/file-upload/single-file-upload.component.scss +9 -0
  372. package/filter-bar/filter-bar.types.d.ts +28 -1
  373. package/filter-bar/filters.d.ts +3 -2
  374. package/filter-bar/filters.scss +4 -0
  375. package/filter-bar/pipes/base-pipe.scss +1 -0
  376. package/filter-bar/pipes/pipe-multi-select.d.ts +6 -1
  377. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +57 -0
  378. package/filter-bar/pipes/pipe-multi-tree-select.scss +19 -0
  379. package/filter-bar/pipes/pipe-tree-select.d.ts +41 -0
  380. package/filter-bar/pipes/pipe-tree-select.scss +9 -0
  381. package/filter-bar/public-api.d.ts +1 -0
  382. package/form-field/_form-field-theme.scss +12 -12
  383. package/form-field/form-field.d.ts +3 -1
  384. package/form-field/form-field.scss +58 -61
  385. package/form-field/stepper.d.ts +15 -1
  386. package/input/_input-theme.scss +6 -0
  387. package/input/input-number.d.ts +1 -0
  388. package/modal/modal.type.d.ts +1 -1
  389. package/overflow-items/overflow-items.d.ts +17 -26
  390. package/package.json +5 -5
  391. package/popover/popover.component.d.ts +4 -2
  392. package/prebuilt-themes/dark-theme.css +1 -1
  393. package/prebuilt-themes/light-theme.css +1 -1
  394. package/prebuilt-themes/theme.css +1 -1
  395. package/schematics/ng-add/index.js +5 -5
  396. package/select/_select-theme.scss +1 -1
  397. package/select/select.scss +2 -0
  398. package/tags/_tag-theme.scss +5 -0
  399. package/tags/tag-tokens.scss +17 -0
  400. package/tooltip/tooltip.component.d.ts +8 -1
  401. package/top-bar/top-bar.scss +1 -0
  402. package/tree/control/flat-tree-control.filters.d.ts +1 -0
  403. package/tree/tree-option.component.d.ts +3 -1
  404. package/core/utils/data-size/config.d.ts +0 -38
  405. package/core/utils/data-size/data-size.pipe.d.ts +0 -14
  406. package/core/utils/data-size/size.d.ts +0 -15
  407. package/esm2022/core/utils/data-size/config.mjs +0 -10
  408. package/esm2022/core/utils/data-size/data-size.pipe.mjs +0 -45
  409. package/esm2022/core/utils/data-size/index.mjs +0 -4
  410. package/esm2022/core/utils/data-size/size.mjs +0 -43
@@ -7,10 +7,10 @@ let idIterator = 0;
7
7
  const MIN_PERCENT = 0;
8
8
  const MAX_PERCENT = 100;
9
9
  class KbqProgressBarText {
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressBarText, selector: "[kbq-progress-bar-text]", host: { classAttribute: "kbq-progress-bar-text" }, ngImport: i0 }); }
10
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqProgressBarText, selector: "[kbq-progress-bar-text]", host: { classAttribute: "kbq-progress-bar-text" }, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarText, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarText, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  selector: '[kbq-progress-bar-text]',
@@ -20,10 +20,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
20
20
  }]
21
21
  }] });
22
22
  class KbqProgressBarCaption {
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressBarCaption, selector: "[kbq-progress-bar-caption]", host: { classAttribute: "kbq-progress-bar-caption" }, ngImport: i0 }); }
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqProgressBarCaption, selector: "[kbq-progress-bar-caption]", host: { classAttribute: "kbq-progress-bar-caption" }, ngImport: i0 }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarCaption, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarCaption, decorators: [{
27
27
  type: Directive,
28
28
  args: [{
29
29
  selector: '[kbq-progress-bar-caption]',
@@ -43,10 +43,10 @@ class KbqProgressBar extends KbqColorDirective {
43
43
  this.mode = 'determinate';
44
44
  this.color = KbqComponentColors.Theme;
45
45
  }
46
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqProgressBar, selector: "kbq-progress-bar", inputs: { id: "id", value: "value", mode: "mode" }, host: { properties: { "attr.id": "id", "class.kbq-progress-bar_determinate": "mode === \"determinate\"", "class.kbq-progress-bar_indeterminate": "mode === \"indeterminate\"" }, classAttribute: "kbq-progress-bar" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id\">\n @switch (mode) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@keyframes kbq-progress-bar-indeterminate{0%{width:25%;transform:translate(-150%)}to{width:40%;transform:translate(250%)}}.kbq-progress-bar{display:block;overflow:hidden}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-bar.kbq-theme .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-bar-background)}.kbq-progress-bar.kbq-theme .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqProgressBar, selector: "kbq-progress-bar", inputs: { id: "id", value: "value", mode: "mode" }, host: { properties: { "attr.id": "id", "class.kbq-progress-bar_determinate": "mode === \"determinate\"", "class.kbq-progress-bar_indeterminate": "mode === \"indeterminate\"" }, classAttribute: "kbq-progress-bar" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id\">\n @switch (mode) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n", styles: ["@keyframes kbq-progress-bar-indeterminate{0%{width:25%;transform:translate(-150%)}to{width:40%;transform:translate(250%)}}.kbq-progress-bar{display:block;overflow:hidden}.kbq-progress-bar .kbq-progress-bar-text{margin-bottom:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar-caption{margin-top:var(--kbq-progress-bar-size-container-content-gap)}.kbq-progress-bar .kbq-progress-bar__inner{overflow:hidden;height:var(--kbq-progress-bar-size-bar-height);border-radius:var(--kbq-progress-bar-size-container-border-radius)}.kbq-progress-bar .kbq-progress-bar__line{height:100%;transform-origin:top left;border-radius:var(--kbq-progress-bar-size-bar-border-radius)}.kbq-progress-bar.kbq-progress-bar_determinate .kbq-progress-bar__line{transition:width .3s}.kbq-progress-bar.kbq-progress-bar_indeterminate .kbq-progress-bar__line{animation:kbq-progress-bar-indeterminate 2.1s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-bar.kbq-theme .kbq-progress-bar__inner{background-color:var(--kbq-progress-bar-bar-background)}.kbq-progress-bar.kbq-theme .kbq-progress-bar__line{background-color:var(--kbq-progress-bar-bar-foreground)}.kbq-progress-bar-text{color:var(--kbq-progress-bar-text-color)}.kbq-progress-bar-caption{color:var(--kbq-progress-bar-caption-color)}.kbq-progress-bar-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-bar-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-bar{--kbq-progress-bar-size-container-content-gap: var(--kbq-size-s);--kbq-progress-bar-size-container-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-size-bar-height: var(--kbq-size-xxs);--kbq-progress-bar-size-bar-border-radius: var(--kbq-size-3xs);--kbq-progress-bar-bar-background: var(--kbq-background-contrast-fade);--kbq-progress-bar-bar-foreground: var(--kbq-icon-theme);--kbq-progress-bar-text-color: var(--kbq-foreground-contrast);--kbq-progress-bar-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBar, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBar, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'kbq-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
52
52
  '[attr.id]': 'id',
@@ -63,15 +63,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
63
63
  }] } });
64
64
 
65
65
  class KbqProgressBarModule {
66
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarModule, declarations: [KbqProgressBar,
66
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarModule, declarations: [KbqProgressBar,
68
68
  KbqProgressBarText,
69
69
  KbqProgressBarCaption], imports: [PlatformModule], exports: [KbqProgressBar,
70
70
  KbqProgressBarText,
71
71
  KbqProgressBarCaption] }); }
72
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarModule, imports: [PlatformModule] }); }
72
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarModule, imports: [PlatformModule] }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressBarModule, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressBarModule, decorators: [{
75
75
  type: NgModule,
76
76
  args: [{
77
77
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-progress-bar.mjs","sources":["../../../packages/components/progress-bar/progress-bar.component.ts","../../../packages/components/progress-bar/progress-bar.component.html","../../../packages/components/progress-bar/progress-bar.module.ts","../../../packages/components/progress-bar/koobiq-components-progress-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';\n\nexport type ProgressBarMode = 'determinate' | 'indeterminate';\n\nlet idIterator = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\n@Directive({\n selector: '[kbq-progress-bar-text]',\n host: {\n class: 'kbq-progress-bar-text'\n }\n})\nexport class KbqProgressBarText {}\n\n@Directive({\n selector: '[kbq-progress-bar-caption]',\n host: {\n class: 'kbq-progress-bar-caption'\n }\n})\nexport class KbqProgressBarCaption {}\n\n@Component({\n selector: 'kbq-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.scss', './progress-bar-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'id',\n class: 'kbq-progress-bar',\n '[class.kbq-progress-bar_determinate]': 'mode === \"determinate\"',\n '[class.kbq-progress-bar_indeterminate]': 'mode === \"indeterminate\"'\n }\n})\nexport class KbqProgressBar extends KbqColorDirective {\n @Input() id: string = `kbq-progress-bar-${idIterator++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressBarMode = 'determinate';\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value));\n }\n\n constructor() {\n super();\n\n this.color = KbqComponentColors.Theme;\n }\n}\n","<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id\">\n @switch (mode) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqProgressBar, KbqProgressBarCaption, KbqProgressBarText } from './progress-bar.component';\n\n@NgModule({\n imports: [\n PlatformModule\n ],\n declarations: [\n KbqProgressBar,\n KbqProgressBarText,\n KbqProgressBarCaption\n ],\n exports: [\n KbqProgressBar,\n KbqProgressBarText,\n KbqProgressBarCaption\n ]\n})\nexport class KbqProgressBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-progress-bar.mjs","sources":["../../../packages/components/progress-bar/progress-bar.component.ts","../../../packages/components/progress-bar/progress-bar.component.html","../../../packages/components/progress-bar/progress-bar.module.ts","../../../packages/components/progress-bar/koobiq-components-progress-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';\n\nexport type ProgressBarMode = 'determinate' | 'indeterminate';\n\nlet idIterator = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\n@Directive({\n selector: '[kbq-progress-bar-text]',\n host: {\n class: 'kbq-progress-bar-text'\n }\n})\nexport class KbqProgressBarText {}\n\n@Directive({\n selector: '[kbq-progress-bar-caption]',\n host: {\n class: 'kbq-progress-bar-caption'\n }\n})\nexport class KbqProgressBarCaption {}\n\n@Component({\n selector: 'kbq-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.scss', './progress-bar-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'id',\n class: 'kbq-progress-bar',\n '[class.kbq-progress-bar_determinate]': 'mode === \"determinate\"',\n '[class.kbq-progress-bar_indeterminate]': 'mode === \"indeterminate\"'\n }\n})\nexport class KbqProgressBar extends KbqColorDirective {\n @Input() id: string = `kbq-progress-bar-${idIterator++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressBarMode = 'determinate';\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value));\n }\n\n constructor() {\n super();\n\n this.color = KbqComponentColors.Theme;\n }\n}\n","<ng-content select=\"[kbq-progress-bar-text]\" />\n\n<div class=\"kbq-progress-bar__inner\" [id]=\"id\">\n @switch (mode) {\n @case ('indeterminate') {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_indeterminate\"></div>\n }\n @default {\n <div class=\"kbq-progress-bar__line kbq-progress-bar__line_determinate\" [style.width.%]=\"percentage\"></div>\n }\n }\n</div>\n\n<ng-content select=\"[kbq-progress-bar-caption]\" />\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqProgressBar, KbqProgressBarCaption, KbqProgressBarText } from './progress-bar.component';\n\n@NgModule({\n imports: [\n PlatformModule\n ],\n declarations: [\n KbqProgressBar,\n KbqProgressBarText,\n KbqProgressBarCaption\n ],\n exports: [\n KbqProgressBar,\n KbqProgressBarText,\n KbqProgressBarCaption\n ]\n})\nexport class KbqProgressBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ let id = 0;
9
9
  const MIN_PERCENT = 0;
10
10
  const MAX_PERCENT = 100;
11
11
  class KbqProgressSpinnerText {
12
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressSpinnerText, selector: "[kbq-progress-spinner-text]", host: { classAttribute: "kbq-progress-spinner-text" }, ngImport: i0 }); }
12
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqProgressSpinnerText, selector: "[kbq-progress-spinner-text]", host: { classAttribute: "kbq-progress-spinner-text" }, ngImport: i0 }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerText, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerText, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  selector: '[kbq-progress-spinner-text]',
@@ -22,10 +22,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
22
22
  }]
23
23
  }] });
24
24
  class KbqProgressSpinnerCaption {
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressSpinnerCaption, selector: "[kbq-progress-spinner-caption]", host: { classAttribute: "kbq-progress-spinner-caption" }, ngImport: i0 }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqProgressSpinnerCaption, selector: "[kbq-progress-spinner-caption]", host: { classAttribute: "kbq-progress-spinner-caption" }, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerCaption, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerCaption, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: '[kbq-progress-spinner-caption]',
@@ -58,10 +58,10 @@ class KbqProgressSpinner extends KbqColorDirective {
58
58
  this.svgCircleRadius = '42.5%';
59
59
  this.color = KbqComponentColors.Theme;
60
60
  }
61
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: { id: "id", value: "value", mode: "mode", size: "size" }, host: { properties: { "class.kbq-progress-spinner_big": "size === 'big'", "class.kbq-progress-spinner_indeterminate": "mode === 'indeterminate'", "attr.id": "id" }, classAttribute: "kbq-progress-spinner" }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n", styles: ["@keyframes kbq-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.kbq-progress-spinner{display:flex;flex-direction:row}.kbq-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:295%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-compact-size);height:var(--kbq-progress-spinner-size-compact-size);transform:rotate(-90deg);font-size:0}.kbq-progress-spinner__content .kbq-progress-spinner-text{margin-bottom:var(--kbq-progress-spinner-size-compact-content-gap-vertical)}.kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-compact-content-gap-horizontal)}.kbq-progress-spinner_big .kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-big-size);height:var(--kbq-progress-spinner-size-big-size)}.kbq-progress-spinner_big .kbq-progress-spinner__circle{stroke-width:6%}.kbq-progress-spinner_big .kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-big-content-gap-horizontal)}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner{animation:kbq-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner .kbq-progress-spinner__circle{stroke-dashoffset:80%}.kbq-progress-spinner .kbq-progress-spinner__circle{stroke:var(--kbq-progress-spinner-circle-background)}.kbq-progress-spinner-text{color:var(--kbq-progress-spinner-text-color)}.kbq-progress-spinner-caption{color:var(--kbq-progress-spinner-caption-color)}.kbq-progress-spinner-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-spinner-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-spinner{--kbq-progress-spinner-size-compact-size: var(--kbq-size-l);--kbq-progress-spinner-size-compact-stroke-width: 2px;--kbq-progress-spinner-size-compact-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-compact-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-size-big-size: var(--kbq-size-5xl);--kbq-progress-spinner-size-big-stroke-width: 3px;--kbq-progress-spinner-size-big-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-big-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-circle-background: var(--kbq-icon-theme);--kbq-progress-spinner-text-color: var(--kbq-foreground-contrast);--kbq-progress-spinner-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
61
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: { id: "id", value: "value", mode: "mode", size: "size" }, host: { properties: { "class.kbq-progress-spinner_big": "size === 'big'", "class.kbq-progress-spinner_indeterminate": "mode === 'indeterminate'", "attr.id": "id" }, classAttribute: "kbq-progress-spinner" }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n", styles: ["@keyframes kbq-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.kbq-progress-spinner{display:flex;flex-direction:row}.kbq-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:295%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-compact-size);height:var(--kbq-progress-spinner-size-compact-size);transform:rotate(-90deg);font-size:0}.kbq-progress-spinner__content .kbq-progress-spinner-text{margin-bottom:var(--kbq-progress-spinner-size-compact-content-gap-vertical)}.kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-compact-content-gap-horizontal)}.kbq-progress-spinner_big .kbq-progress-spinner__inner{width:var(--kbq-progress-spinner-size-big-size);height:var(--kbq-progress-spinner-size-big-size)}.kbq-progress-spinner_big .kbq-progress-spinner__circle{stroke-width:6%}.kbq-progress-spinner_big .kbq-progress-spinner__content:not(:empty){margin-inline-start:var(--kbq-progress-spinner-size-big-content-gap-horizontal)}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner{animation:kbq-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.kbq-progress-spinner_indeterminate .kbq-progress-spinner__inner .kbq-progress-spinner__circle{stroke-dashoffset:80%}.kbq-progress-spinner .kbq-progress-spinner__circle{stroke:var(--kbq-progress-spinner-circle-background)}.kbq-progress-spinner-text{color:var(--kbq-progress-spinner-text-color)}.kbq-progress-spinner-caption{color:var(--kbq-progress-spinner-caption-color)}.kbq-progress-spinner-text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-progress-spinner-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-progress-spinner{--kbq-progress-spinner-size-compact-size: var(--kbq-size-l);--kbq-progress-spinner-size-compact-stroke-width: 2px;--kbq-progress-spinner-size-compact-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-compact-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-size-big-size: var(--kbq-size-5xl);--kbq-progress-spinner-size-big-stroke-width: 3px;--kbq-progress-spinner-size-big-content-gap-vertical: var(--kbq-size-3xs);--kbq-progress-spinner-size-big-content-gap-horizontal: var(--kbq-size-s);--kbq-progress-spinner-circle-background: var(--kbq-icon-theme);--kbq-progress-spinner-text-color: var(--kbq-foreground-contrast);--kbq-progress-spinner-caption-color: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinner, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinner, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'kbq-progress-spinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
67
67
  class: 'kbq-progress-spinner',
@@ -80,16 +80,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
80
80
  }] } });
81
81
 
82
82
  class KbqProgressSpinnerModule {
83
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
84
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerModule, declarations: [KbqProgressSpinner,
83
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
84
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerModule, declarations: [KbqProgressSpinner,
85
85
  KbqProgressSpinnerText,
86
86
  KbqProgressSpinnerCaption], imports: [PlatformModule,
87
87
  NgStyle], exports: [KbqProgressSpinner,
88
88
  KbqProgressSpinnerText,
89
89
  KbqProgressSpinnerCaption] }); }
90
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerModule, imports: [PlatformModule] }); }
90
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerModule, imports: [PlatformModule] }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqProgressSpinnerModule, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqProgressSpinnerModule, decorators: [{
93
93
  type: NgModule,
94
94
  args: [{
95
95
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-progress-spinner.mjs","sources":["../../../packages/components/progress-spinner/progress-spinner.component.ts","../../../packages/components/progress-spinner/progress-spinner.component.html","../../../packages/components/progress-spinner/progress-spinner.module.ts","../../../packages/components/progress-spinner/koobiq-components-progress-spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';\n\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\n//@TODO use Exclude<KbqDefaultSizes, 'normal'> from '@koobiq/components/core' instead\nexport type ProgressSpinnerSize = 'compact' | 'big';\n\nlet id = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\n@Directive({\n selector: '[kbq-progress-spinner-text]',\n host: {\n class: 'kbq-progress-spinner-text'\n }\n})\nexport class KbqProgressSpinnerText {}\n\n@Directive({\n selector: '[kbq-progress-spinner-caption]',\n host: {\n class: 'kbq-progress-spinner-caption'\n }\n})\nexport class KbqProgressSpinnerCaption {}\n\nconst MAX_DASH_ARRAY = 295;\n\n@Component({\n selector: 'kbq-progress-spinner',\n templateUrl: './progress-spinner.component.html',\n styleUrls: ['./progress-spinner.scss', './progress-spinner-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-progress-spinner',\n '[class.kbq-progress-spinner_big]': `size === 'big'`,\n '[class.kbq-progress-spinner_indeterminate]': `mode === 'indeterminate'`,\n '[attr.id]': 'id'\n }\n})\nexport class KbqProgressSpinner extends KbqColorDirective {\n @Input() id: string = `kbq-progress-spinner-${id++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n @Input()\n get size(): ProgressSpinnerSize | string {\n return this._size;\n }\n\n set size(value: ProgressSpinnerSize | string) {\n this._size = value;\n\n this.svgCircleRadius = value === 'big' ? '47%' : '42.5%';\n }\n\n private _size: ProgressSpinnerSize | string = 'compact';\n\n svgCircleRadius: string = '42.5%';\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value)) / MAX_PERCENT;\n }\n\n get dashOffsetPercent(): string {\n return `${MAX_DASH_ARRAY - this.percentage * MAX_DASH_ARRAY}%`;\n }\n\n constructor() {\n super();\n\n this.color = KbqComponentColors.Theme;\n }\n}\n","<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { NgStyle } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqProgressSpinner, KbqProgressSpinnerCaption, KbqProgressSpinnerText } from './progress-spinner.component';\n\n@NgModule({\n imports: [\n PlatformModule,\n NgStyle\n ],\n declarations: [\n KbqProgressSpinner,\n KbqProgressSpinnerText,\n KbqProgressSpinnerCaption\n ],\n exports: [\n KbqProgressSpinner,\n KbqProgressSpinnerText,\n KbqProgressSpinnerCaption\n ]\n})\nexport class KbqProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-progress-spinner.mjs","sources":["../../../packages/components/progress-spinner/progress-spinner.component.ts","../../../packages/components/progress-spinner/progress-spinner.component.html","../../../packages/components/progress-spinner/progress-spinner.module.ts","../../../packages/components/progress-spinner/koobiq-components-progress-spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective, KbqComponentColors } from '@koobiq/components/core';\n\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\n//@TODO use Exclude<KbqDefaultSizes, 'normal'> from '@koobiq/components/core' instead\nexport type ProgressSpinnerSize = 'compact' | 'big';\n\nlet id = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\n@Directive({\n selector: '[kbq-progress-spinner-text]',\n host: {\n class: 'kbq-progress-spinner-text'\n }\n})\nexport class KbqProgressSpinnerText {}\n\n@Directive({\n selector: '[kbq-progress-spinner-caption]',\n host: {\n class: 'kbq-progress-spinner-caption'\n }\n})\nexport class KbqProgressSpinnerCaption {}\n\nconst MAX_DASH_ARRAY = 295;\n\n@Component({\n selector: 'kbq-progress-spinner',\n templateUrl: './progress-spinner.component.html',\n styleUrls: ['./progress-spinner.scss', './progress-spinner-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-progress-spinner',\n '[class.kbq-progress-spinner_big]': `size === 'big'`,\n '[class.kbq-progress-spinner_indeterminate]': `mode === 'indeterminate'`,\n '[attr.id]': 'id'\n }\n})\nexport class KbqProgressSpinner extends KbqColorDirective {\n @Input() id: string = `kbq-progress-spinner-${id++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n @Input()\n get size(): ProgressSpinnerSize | string {\n return this._size;\n }\n\n set size(value: ProgressSpinnerSize | string) {\n this._size = value;\n\n this.svgCircleRadius = value === 'big' ? '47%' : '42.5%';\n }\n\n private _size: ProgressSpinnerSize | string = 'compact';\n\n svgCircleRadius: string = '42.5%';\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value)) / MAX_PERCENT;\n }\n\n get dashOffsetPercent(): string {\n return `${MAX_DASH_ARRAY - this.percentage * MAX_DASH_ARRAY}%`;\n }\n\n constructor() {\n super();\n\n this.color = KbqComponentColors.Theme;\n }\n}\n","<div class=\"kbq-progress-spinner__inner\">\n <svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle\n cx=\"50%\"\n cy=\"50%\"\n stroke-linecap=\"round\"\n class=\"kbq-progress-spinner__circle\"\n [attr.r]=\"svgCircleRadius\"\n [ngStyle]=\"{ 'stroke-dashoffset': mode === 'determinate' ? dashOffsetPercent : null }\"\n />\n </svg>\n</div>\n\n<div class=\"kbq-progress-spinner__content\">\n <ng-content select=\"[kbq-progress-spinner-text]\" />\n <ng-content select=\"[kbq-progress-spinner-caption]\" />\n</div>\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { NgStyle } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqProgressSpinner, KbqProgressSpinnerCaption, KbqProgressSpinnerText } from './progress-spinner.component';\n\n@NgModule({\n imports: [\n PlatformModule,\n NgStyle\n ],\n declarations: [\n KbqProgressSpinner,\n KbqProgressSpinnerText,\n KbqProgressSpinnerCaption\n ],\n exports: [\n KbqProgressSpinner,\n KbqProgressSpinnerText,\n KbqProgressSpinnerCaption\n ]\n})\nexport class KbqProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -201,10 +201,10 @@ class KbqRadioGroup {
201
201
  });
202
202
  }
203
203
  }
204
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
205
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.6", type: KbqRadioGroup, selector: "kbq-radio-group", inputs: { big: "big", name: "name", labelPosition: "labelPosition", value: "value", selected: "selected", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.kbq-radio-group_normal": "!big", "class.kbq-radio-group_big": "big" }, classAttribute: "kbq-radio-group" }, providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: i0.forwardRef(() => KbqRadioButton), descendants: true }], exportAs: ["kbqRadioGroup"], ngImport: i0 }); }
204
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
205
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: KbqRadioGroup, selector: "kbq-radio-group", inputs: { big: "big", name: "name", labelPosition: "labelPosition", value: "value", selected: "selected", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.kbq-radio-group_normal": "!big", "class.kbq-radio-group_big": "big" }, classAttribute: "kbq-radio-group" }, providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: i0.forwardRef(() => KbqRadioButton), descendants: true }], exportAs: ["kbqRadioGroup"], ngImport: i0 }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioGroup, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioGroup, decorators: [{
208
208
  type: Directive,
209
209
  args: [{
210
210
  selector: 'kbq-radio-group',
@@ -406,10 +406,10 @@ class KbqRadioButton extends KbqColorDirective {
406
406
  emitChangeEvent() {
407
407
  this.change.emit(new KbqRadioChange(this, this._value));
408
408
  }
409
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioButton, deps: [{ token: KbqRadioGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
410
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqRadioButton, selector: "kbq-radio-button", inputs: { checked: ["checked", "checked", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute], required: ["required", "required", booleanAttribute], labelPosition: "labelPosition", name: "name", isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.kbq-radio-button_big": "radioGroup?.big", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}[dir=rtl] .kbq-radio-label-content{padding-right:var(--kbq-radio-size-normal-horizontal-content-padding);padding-left:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}[dir=rtl] .kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-right:var(--kbq-radio-size-big-horizontal-content-padding)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
409
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioButton, deps: [{ token: KbqRadioGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
410
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: KbqRadioButton, selector: "kbq-radio-button", inputs: { checked: ["checked", "checked", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute], required: ["required", "required", booleanAttribute], labelPosition: "labelPosition", name: "name", isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.kbq-radio-button_big": "radioGroup?.big", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}[dir=rtl] .kbq-radio-label-content{padding-right:var(--kbq-radio-size-normal-horizontal-content-padding);padding-left:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}[dir=rtl] .kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-right:var(--kbq-radio-size-big-horizontal-content-padding)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
411
411
  }
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioButton, decorators: [{
412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioButton, decorators: [{
413
413
  type: Component,
414
414
  args: [{ selector: 'kbq-radio-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kbqRadioButton', host: {
415
415
  class: 'kbq-radio-button',
@@ -450,11 +450,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
450
450
  }] } });
451
451
 
452
452
  class KbqRadioModule {
453
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
454
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioModule, declarations: [KbqRadioGroup, KbqRadioButton], imports: [A11yModule, KbqCommonModule], exports: [KbqRadioGroup, KbqRadioButton] }); }
455
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioModule, imports: [A11yModule, KbqCommonModule] }); }
453
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
454
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioModule, declarations: [KbqRadioGroup, KbqRadioButton], imports: [A11yModule, KbqCommonModule], exports: [KbqRadioGroup, KbqRadioButton] }); }
455
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioModule, imports: [A11yModule, KbqCommonModule] }); }
456
456
  }
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqRadioModule, decorators: [{
457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRadioModule, decorators: [{
458
458
  type: NgModule,
459
459
  args: [{
460
460
  imports: [A11yModule, KbqCommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqCommonModule } from '@koobiq/components/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule, KbqCommonModule],\n exports: [KbqRadioGroup, KbqRadioButton],\n declarations: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA2BA;AACA,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;MACa,cAAc,CAAA;AACvB,IAAA,WAAA;;IAEW,MAAsB;;IAEtB,KAAU,EAAA;QAFV,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAEtB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;KACjB;AACP,CAAA;AAED;;;;AAIG;AACU,MAAA,sCAAsC,GAAQ;AACvD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,IAAA,KAAK,EAAE,IAAI;EACb;MAaW,aAAa,CAAA;;AAItB,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;AAGD,IAAA,IACI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAED,IAAI,aAAa,CAAC,CAAC,EAAA;AACf,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;;AAGD,IAAA,IACI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,IAAI,KAAK,CAAC,QAAa,EAAA;AACnB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;;AAE1B,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC;KACJ;;AAGD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,QAA+B,EAAA;AACxC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC9C,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACnC;;AAGD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;;AAKD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;AAoCD,IAAA,WAAA,CAA6B,cAAiC,EAAA;QAAjC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;QA9GrD,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;QA+DtB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;;QAc3B,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAEnC;;;;AAIG;AACgB,QAAA,IAAA,CAAA,MAAM,GAAiC,IAAI,YAAY,EAAkB,CAAC;AAM7F;;;;;AAKG;QACK,IAAM,CAAA,MAAA,GAAQ,IAAI,CAAC;;AAGnB,QAAA,IAAA,CAAA,KAAK,GAAW,CAAA,gBAAA,EAAmB,YAAY,EAAE,EAAE,CAAC;;QAGpD,IAAS,CAAA,SAAA,GAA0B,IAAI,CAAC;;QAGxC,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;;QAG/B,IAAc,CAAA,cAAA,GAAuB,OAAO,CAAC;;AAKrD,QAAA,IAAA,CAAA,4BAA4B,GAAyB,MAAK,GAAG,CAAC;AAE9D;;;AAGG;AACH,QAAA,IAAA,CAAA,SAAS,GAAc,MAAK,GAAG,CAAC;KATkC;IAWlE,wBAAwB,GAAA;QACpB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;SACjC;KACJ;AAED;;;AAGG;IACH,kBAAkB,GAAA;;;;AAId,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7B;AAED;;;AAGG;IACH,KAAK,GAAA;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;KACJ;;IAGD,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACtE;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;SACxD;KACJ;AAED;;AAEG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KACtC;AAED;;;;AAIG;AACH,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACrC,QAAA,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;KAC1C;AAED;;;;AAIG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KACtC;IAEO,sBAAsB,GAAA;QAC1B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;;IAGO,4BAA4B,GAAA;;AAEhC,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;QAE1F,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBAC1B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;AAE3C,gBAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACf,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC1B;AACL,aAAC,CAAC,CAAC;SACN;KACJ;iIAzNQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAb,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAsDF,gBAAgB,CAahB,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,8NArEzB,CAAC,sCAAsC,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MA0FjB,cAAc,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAxFvC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,gCAAgC,EAAE,MAAM;AACxC,wBAAA,6BAA6B,EAAE,KAAK;AACvC,qBAAA;oBACD,SAAS,EAAE,CAAC,sCAAsC,CAAC;AACtD,iBAAA,CAAA;sFAEY,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAIF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAYF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAYF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAiBF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAaF,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAclC,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAkBnB,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAIP,MAAM,EAAA,CAAA;sBADL,eAAe;uBAAC,UAAU,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;AAmJtE,MAAO,cAAe,SAAQ,iBAAiB,CAAA;;AAEjD,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAI,OAAO,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEtB,YAAA,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAClE,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;aACnC;AAAM,iBAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;;;AAG1E,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;aACnC;YAED,IAAI,KAAK,EAAE;;AAEP,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;AAED,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;SACtC;KACJ;;AAGD,IAAA,IACI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,IAAI,KAAK,CAAC,KAAU,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AAEpB,YAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;AACzB,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;;oBAEf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;iBAClD;AAED,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,oBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACnC;aACJ;SACJ;KACJ;;AAGD,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAClF;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;SACtC;KACJ;AAID,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;KAC9C;IAED,IAAI,QAAQ,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;;AAKD,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC1E;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;;AAMD,IAAA,IACI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;KAC/F;IACD,IAAI,aAAa,CAAC,KAAK,EAAA;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC/B;;AA0BD,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,CAAA,EAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAA,MAAA,CAAQ,CAAC;KAC9C;AAYD,IAAA,WAAA,CACgB,UAAyB,EACpB,cAAiC,EAC1C,YAA0B,EACjB,eAA0C,EAAA;AAE3D,QAAA,KAAK,EAAE,CAAC;QAJS,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;QAC1C,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QACjB,IAAe,CAAA,eAAA,GAAf,eAAe,CAA2B;QAlEvD,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AA8BtB;;;;AAIG;AAEgB,QAAA,IAAA,CAAA,MAAM,GAAiC,IAAI,YAAY,EAAkB,CAAC;QAM7F,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAYV,QAAA,IAAA,CAAA,QAAQ,GAAW,CAAA,UAAA,EAAa,EAAE,YAAY,EAAE,CAAC;;QAG1D,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;;QAG1B,IAAM,CAAA,MAAA,GAAQ,IAAI,CAAC;;AA6FV,QAAA,IAAA,CAAA,6BAA6B,GAAe,MAAK,GAAG,CAAC;AAnFlE,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAExB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAE7B,QAAA,IAAI,CAAC,6BAA6B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,IAAY,KAAI;AACrF,YAAA,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;AACtC,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;AACL,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;;AAEjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;;YAErD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SACpC;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACvE,YAAA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;AACjC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;aAC3B;AACL,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,6BAA6B,EAAE,CAAC;KACxC;;IAGD,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC3C;AAED;;;;AAIG;IACH,YAAY,GAAA;;;AAGR,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KACtC;AAED,IAAA,YAAY,CAAC,KAAY,EAAA;;;;;;;;QAQrB,KAAK,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,KAAoD,CAAC,qBAAqB,GAAG,IAAI,CAAC;KACtF;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;;;;QAItB,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAElF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzD,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAExB,IAAI,iBAAiB,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;aACrC;SACJ;KACJ;;IAMO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KAC3D;iIAzOQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAd,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAEH,gBAAgB,CAkDhB,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,sCAchB,eAAe,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAYf,gBAAgB,CAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvXxC,66BA6BA,EAAA,MAAA,EAAA,CAAA,+tWAAA,EAAA,8+KAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD4Qa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;+BACI,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACrC,QAAA,EAAA,gBAAgB,EACpB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,8BAA8B,EAAE,iBAAiB;AACjD,wBAAA,sBAAsB,EAAE,SAAS;AACjC,wBAAA,sBAAsB,EAAE,UAAU;AACrC,qBAAA,EAAA,QAAA,EAAA,66BAAA,EAAA,MAAA,EAAA,CAAA,+tWAAA,EAAA,8+KAAA,CAAA,EAAA,CAAA;;0BA4II,QAAQ;4IAvIT,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBA4BlC,KAAK,EAAA,CAAA;sBADR,KAAK;gBAwBF,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAelC,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAajC,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAclC,aAAa,EAAA,CAAA;sBADhB,KAAK;gBASG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGiC,YAAY,EAAA,CAAA;sBAAlD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAQlB,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAMP,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIG,EAAE,EAAA,CAAA;sBAAV,KAAK;;;MEvZG,cAAc,CAAA;iIAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;kIAAd,cAAc,EAAA,YAAA,EAAA,CAFR,aAAa,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAFlC,UAAU,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAC3B,aAAa,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;kIAG9B,cAAc,EAAA,OAAA,EAAA,CAJb,UAAU,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI5B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;AACxC,oBAAA,YAAY,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;AAChD,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"koobiq-components-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqCommonModule } from '@koobiq/components/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule, KbqCommonModule],\n exports: [KbqRadioGroup, KbqRadioButton],\n declarations: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}