@koobiq/components 18.21.0 → 18.23.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 (311) hide show
  1. package/alert/_alert-theme.scss +4 -0
  2. package/alert/alert-tokens.scss +1 -1
  3. package/alert/alert.component.d.ts +8 -2
  4. package/badge/badge.component.d.ts +0 -1
  5. package/breadcrumbs/breadcrumbs.d.ts +19 -22
  6. package/breadcrumbs/breadcrumbs.scss +13 -4
  7. package/breadcrumbs/breadcrumbs.types.d.ts +22 -0
  8. package/breadcrumbs/public-api.d.ts +1 -0
  9. package/button/button.component.d.ts +11 -16
  10. package/checkbox/checkbox.d.ts +18 -23
  11. package/core/animation/animation.d.ts +5 -2
  12. package/core/common-behaviors/checkbox.d.ts +5 -0
  13. package/core/common-behaviors/color.d.ts +11 -0
  14. package/core/common-behaviors/index.d.ts +2 -1
  15. package/core/option/action.d.ts +5 -7
  16. package/core/option/optgroup.d.ts +6 -7
  17. package/core/pop-up/pop-up-trigger.d.ts +11 -3
  18. package/core/pop-up/pop-up.d.ts +8 -2
  19. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -12
  20. package/core/utils/utils.d.ts +5 -0
  21. package/dropdown/dropdown-item.component.d.ts +6 -8
  22. package/empty-state/_empty-state-theme.scss +15 -5
  23. package/empty-state/empty-state-tokens.scss +12 -2
  24. package/empty-state/empty-state.component.d.ts +7 -2
  25. package/empty-state/empty-state.scss +29 -0
  26. package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
  27. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  28. package/esm2022/actions-panel/actions-panel.mjs +1 -1
  29. package/esm2022/alert/alert.component.mjs +11 -5
  30. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +1 -1
  31. package/esm2022/badge/badge.component.mjs +2 -5
  32. package/esm2022/breadcrumbs/breadcrumbs.mjs +55 -22
  33. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +2 -0
  34. package/esm2022/breadcrumbs/public-api.mjs +2 -1
  35. package/esm2022/button/button.component.mjs +23 -27
  36. package/esm2022/button-toggle/button-toggle.component.mjs +4 -3
  37. package/esm2022/checkbox/checkbox.mjs +27 -28
  38. package/esm2022/code-block/code-block-highlight.mjs +1 -1
  39. package/esm2022/code-block/code-block.mjs +2 -2
  40. package/esm2022/core/animation/animation.mjs +4 -1
  41. package/esm2022/core/common-behaviors/checkbox.mjs +2 -0
  42. package/esm2022/core/common-behaviors/color.mjs +35 -1
  43. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  44. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  45. package/esm2022/core/common-behaviors/index.mjs +3 -2
  46. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  47. package/esm2022/core/formatters/number/formatter.mjs +1 -1
  48. package/esm2022/core/forms/validators.mjs +1 -1
  49. package/esm2022/core/line/line.mjs +1 -1
  50. package/esm2022/core/option/action.mjs +17 -12
  51. package/esm2022/core/option/optgroup.mjs +18 -12
  52. package/esm2022/core/option/option.mjs +1 -1
  53. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  54. package/esm2022/core/pop-up/pop-up-trigger.mjs +27 -12
  55. package/esm2022/core/pop-up/pop-up.mjs +18 -5
  56. package/esm2022/core/select/common.mjs +1 -1
  57. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +10 -19
  58. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
  59. package/esm2022/core/utils/utils.mjs +11 -1
  60. package/esm2022/core/version.mjs +2 -2
  61. package/esm2022/datepicker/calendar-header.component.mjs +2 -2
  62. package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
  63. package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
  64. package/esm2022/datepicker/datepicker.component.mjs +1 -1
  65. package/esm2022/datepicker/month-view.component.mjs +1 -1
  66. package/esm2022/dropdown/dropdown-item.component.mjs +19 -14
  67. package/esm2022/dropdown/dropdown-trigger.directive.mjs +1 -1
  68. package/esm2022/dropdown/dropdown.component.mjs +1 -1
  69. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -1
  70. package/esm2022/empty-state/empty-state.component.mjs +13 -8
  71. package/esm2022/file-upload/file-drop.mjs +1 -1
  72. package/esm2022/file-upload/file-upload.mjs +1 -1
  73. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  74. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  75. package/esm2022/filter-bar/filter-bar-button.mjs +2 -1
  76. package/esm2022/filter-bar/filter-bar.mjs +14 -1
  77. package/esm2022/filter-bar/filter-bar.module.mjs +5 -3
  78. package/esm2022/filter-bar/filter-bar.types.mjs +27 -2
  79. package/esm2022/filter-bar/filter-refresher.mjs +2 -2
  80. package/esm2022/filter-bar/filter-reset.mjs +16 -6
  81. package/esm2022/filter-bar/filter-search.mjs +19 -6
  82. package/esm2022/filter-bar/filters.mjs +22 -6
  83. package/esm2022/filter-bar/pipe-add.mjs +11 -2
  84. package/esm2022/filter-bar/pipe.directive.mjs +7 -25
  85. package/esm2022/filter-bar/pipes/base-pipe.mjs +23 -3
  86. package/esm2022/filter-bar/pipes/pipe-button.mjs +12 -6
  87. package/esm2022/filter-bar/pipes/pipe-date.mjs +26 -8
  88. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +27 -8
  89. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +7 -2
  90. package/esm2022/filter-bar/pipes/pipe-select.mjs +7 -2
  91. package/esm2022/filter-bar/pipes/pipe-state.mjs +2 -1
  92. package/esm2022/filter-bar/pipes/pipe-text.mjs +7 -3
  93. package/esm2022/filter-bar/pipes/pipe-title.mjs +2 -1
  94. package/esm2022/form-field/cleaner.mjs +1 -1
  95. package/esm2022/form-field/form-field.mjs +13 -22
  96. package/esm2022/form-field/hint.mjs +10 -18
  97. package/esm2022/form-field/password-hint.mjs +7 -7
  98. package/esm2022/form-field/password-toggle.mjs +1 -1
  99. package/esm2022/form-field/stepper.mjs +1 -1
  100. package/esm2022/form-field/validate.directive.mjs +1 -1
  101. package/esm2022/icon/icon-button.component.mjs +13 -21
  102. package/esm2022/icon/icon-item.component.mjs +8 -15
  103. package/esm2022/icon/icon.component.mjs +15 -27
  104. package/esm2022/input/input-number.mjs +1 -1
  105. package/esm2022/input/input-password.mjs +20 -5
  106. package/esm2022/input/input.mjs +21 -22
  107. package/esm2022/link/link.component.mjs +46 -14
  108. package/esm2022/list/list-selection.component.mjs +19 -15
  109. package/esm2022/loader-overlay/loader-overlay.component.mjs +14 -9
  110. package/esm2022/markdown/markdown.component.mjs +2 -2
  111. package/esm2022/modal/modal.component.mjs +2 -2
  112. package/esm2022/modal/modal.directive.mjs +1 -1
  113. package/esm2022/modal/modal.service.mjs +1 -1
  114. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  115. package/esm2022/navbar/navbar.component.mjs +9 -12
  116. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  117. package/esm2022/overflow-items/overflow-items.mjs +1 -1
  118. package/esm2022/popover/popover-confirm.component.mjs +2 -2
  119. package/esm2022/popover/popover.component.mjs +5 -4
  120. package/esm2022/progress-bar/progress-bar.component.mjs +14 -21
  121. package/esm2022/progress-spinner/progress-spinner.component.mjs +17 -24
  122. package/esm2022/radio/radio.component.mjs +26 -36
  123. package/esm2022/scrollbar/scrollbar.component.mjs +1 -1
  124. package/esm2022/scrollbar/scrollbar.directive.mjs +1 -1
  125. package/esm2022/select/select.component.mjs +56 -37
  126. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  127. package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
  128. package/esm2022/splitter/splitter.component.mjs +1 -1
  129. package/esm2022/tabs/paginated-tab-header.mjs +7 -4
  130. package/esm2022/tabs/tab-body.component.mjs +1 -1
  131. package/esm2022/tabs/tab-group.component.mjs +23 -19
  132. package/esm2022/tabs/tab-header.component.mjs +3 -3
  133. package/esm2022/tabs/tab-label-wrapper.directive.mjs +16 -13
  134. package/esm2022/tabs/tab-nav-bar.mjs +2 -2
  135. package/esm2022/tabs/tab.component.mjs +17 -12
  136. package/esm2022/tags/tag-input.mjs +1 -1
  137. package/esm2022/tags/tag-list.component.mjs +27 -22
  138. package/esm2022/tags/tag.component.mjs +7 -14
  139. package/esm2022/textarea/textarea.component.mjs +21 -22
  140. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  141. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  142. package/esm2022/toast/toast.component.mjs +2 -2
  143. package/esm2022/toggle/toggle.component.mjs +111 -31
  144. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  145. package/esm2022/tree/control/flat-tree-control.filters.mjs +1 -1
  146. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  147. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  148. package/esm2022/tree/padding.directive.mjs +1 -1
  149. package/esm2022/tree/toggle.mjs +19 -14
  150. package/esm2022/tree/tree-base.mjs +1 -1
  151. package/esm2022/tree/tree-option.component.mjs +1 -1
  152. package/esm2022/tree/tree-selection.component.mjs +1 -1
  153. package/esm2022/tree-select/tree-select.component.mjs +58 -38
  154. package/fesm2022/koobiq-components-accordion.mjs +1 -1
  155. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  157. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-alert.mjs +10 -4
  159. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-badge.mjs +2 -5
  162. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-breadcrumbs.mjs +54 -21
  164. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-button-toggle.mjs +3 -3
  166. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-button.mjs +23 -27
  168. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-checkbox.mjs +27 -28
  170. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  172. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-core.mjs +130 -51
  174. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  176. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-dropdown.mjs +18 -13
  178. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-empty-state.mjs +12 -7
  181. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-file-upload.mjs +2 -2
  183. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-filter-bar.mjs +1381 -1233
  185. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-form-field.mjs +26 -43
  187. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-icon.mjs +33 -57
  189. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-input.mjs +40 -25
  191. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-link.mjs +46 -14
  193. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-list.mjs +19 -15
  195. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-loader-overlay.mjs +13 -8
  197. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  199. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-modal.mjs +2 -2
  201. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-navbar.mjs +17 -24
  203. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  205. package/fesm2022/koobiq-components-popover.mjs +5 -4
  206. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-progress-bar.mjs +13 -20
  208. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  209. package/fesm2022/koobiq-components-progress-spinner.mjs +16 -23
  210. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-radio.mjs +26 -36
  212. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-select.mjs +56 -37
  215. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-sidepanel.mjs +1 -1
  217. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  219. package/fesm2022/koobiq-components-tabs.mjs +60 -44
  220. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  221. package/fesm2022/koobiq-components-tags.mjs +32 -34
  222. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  223. package/fesm2022/koobiq-components-textarea.mjs +21 -22
  224. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  226. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  227. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  228. package/fesm2022/koobiq-components-toast.mjs +1 -1
  229. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  230. package/fesm2022/koobiq-components-toggle.mjs +111 -31
  231. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  232. package/fesm2022/koobiq-components-tree-select.mjs +57 -37
  233. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  234. package/fesm2022/koobiq-components-tree.mjs +21 -15
  235. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  236. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  237. package/file-upload/single-file-upload.component.d.ts +2 -2
  238. package/filter-bar/filter-bar-button.d.ts +1 -0
  239. package/filter-bar/filter-bar.d.ts +14 -0
  240. package/filter-bar/filter-bar.types.d.ts +13 -3
  241. package/filter-bar/filter-reset.d.ts +6 -2
  242. package/filter-bar/filter-search.d.ts +17 -10
  243. package/filter-bar/filters.d.ts +26 -11
  244. package/filter-bar/pipe-add.d.ts +10 -0
  245. package/filter-bar/pipe.directive.d.ts +5 -5
  246. package/filter-bar/pipes/base-pipe.d.ts +28 -2
  247. package/filter-bar/pipes/pipe-button.d.ts +6 -1
  248. package/filter-bar/pipes/pipe-date.d.ts +30 -10
  249. package/filter-bar/pipes/pipe-date.scss +29 -27
  250. package/filter-bar/pipes/pipe-datetime.d.ts +31 -10
  251. package/filter-bar/pipes/pipe-multi-select.d.ts +7 -0
  252. package/filter-bar/pipes/pipe-select.d.ts +7 -0
  253. package/filter-bar/pipes/pipe-state.d.ts +1 -0
  254. package/filter-bar/pipes/pipe-text.d.ts +5 -0
  255. package/form-field/form-field.d.ts +4 -12
  256. package/form-field/hint.d.ts +3 -12
  257. package/form-field/password-hint.d.ts +3 -3
  258. package/icon/icon-button.component.d.ts +5 -8
  259. package/icon/icon-item.component.d.ts +3 -7
  260. package/icon/icon.component.d.ts +7 -14
  261. package/input/input-password.d.ts +8 -2
  262. package/input/input.d.ts +9 -18
  263. package/link/_link-theme.scss +31 -8
  264. package/link/link.component.d.ts +13 -9
  265. package/list/list-selection.component.d.ts +8 -10
  266. package/loader-overlay/_loader-overlay-theme.scss +18 -8
  267. package/loader-overlay/loader-overlay-tokens.scss +6 -3
  268. package/loader-overlay/loader-overlay.component.d.ts +7 -2
  269. package/loader-overlay/loader-overlay.scss +19 -5
  270. package/markdown/markdown.scss +0 -4
  271. package/navbar/navbar.component.d.ts +2 -2
  272. package/navbar/vertical-navbar.component.d.ts +3 -3
  273. package/package.json +5 -5
  274. package/prebuilt-themes/dark-theme.css +1 -1
  275. package/prebuilt-themes/light-theme.css +1 -1
  276. package/prebuilt-themes/theme.css +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +4 -12
  278. package/progress-spinner/progress-spinner.component.d.ts +4 -12
  279. package/radio/radio.component.d.ts +11 -25
  280. package/radio/radio.scss +0 -1
  281. package/schematics/collection.json +10 -0
  282. package/schematics/migrations/css-selectors/README.md +19 -0
  283. package/schematics/migrations/deprecated-icons/README.md +21 -0
  284. package/schematics/migrations/empty-state-size-attr/README.md +62 -0
  285. package/schematics/migrations/empty-state-size-attr/index.js +74 -0
  286. package/schematics/migrations/empty-state-size-attr/schema.json +15 -0
  287. package/schematics/migrations/loader-overlay-size-attr/README.md +62 -0
  288. package/schematics/migrations/loader-overlay-size-attr/index.js +74 -0
  289. package/schematics/migrations/loader-overlay-size-attr/schema.json +15 -0
  290. package/schematics/migrations/new-icons-pack/README.md +21 -0
  291. package/schematics/ng-add/index.js +3 -3
  292. package/schematics/utils/angular-parsing.js +153 -0
  293. package/schematics/utils/ast.js +28 -0
  294. package/schematics/utils/package-config.js +46 -0
  295. package/schematics/utils/typescript.js +171 -0
  296. package/select/select.component.d.ts +26 -25
  297. package/tabs/paginated-tab-header.d.ts +2 -1
  298. package/tabs/tab-group.component.d.ts +11 -13
  299. package/tabs/tab-header.component.d.ts +1 -1
  300. package/tabs/tab-label-wrapper.directive.d.ts +6 -8
  301. package/tabs/tab.component.d.ts +7 -8
  302. package/tags/tag-list.component.d.ts +15 -18
  303. package/tags/tag.component.d.ts +3 -10
  304. package/textarea/textarea.component.d.ts +8 -17
  305. package/toggle/_toggle-theme.scss +12 -3
  306. package/toggle/toggle-tokens.scss +2 -2
  307. package/toggle/toggle.component.d.ts +28 -14
  308. package/toggle/toggle.scss +37 -0
  309. package/tree/toggle.d.ts +7 -9
  310. package/tree/tree-selection.component.d.ts +2 -2
  311. package/tree-select/tree-select.component.d.ts +24 -26
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-button-toggle.mjs","sources":["../../../packages/components/button-toggle/button-toggle.component.ts","../../../packages/components/button-toggle/button-toggle.module.ts","../../../packages/components/button-toggle/koobiq-components-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\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 { getNodesWithoutComments, KbqButton } from '@koobiq/components/button';\nimport { KbqIcon } from '@koobiq/components/icon';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows kbq-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class KbqButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: KbqButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'kbq-button-toggle-group',\n providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n class: 'kbq-button-toggle-group',\n '[class.kbq-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'kbqButtonToggleGroup'\n})\nexport class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => KbqButtonToggle)) buttonToggles: QueryList<KbqButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) {\n return;\n }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<KbqButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<KbqButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new KbqButtonToggleChange(source, this.value);\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: KbqButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as KbqButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: KbqButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: KbqButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => (toggle.checked = false));\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'kbq-button-toggle',\n exportAs: 'kbqButtonToggle',\n template: `\n <button\n [kbqStyle]=\"'transparent'\"\n [class.kbq-selected]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex || 0\"\n (click)=\"onToggleClick()\"\n kbq-button\n kbq-title\n type=\"button\"\n >\n <div class=\"kbq-button-toggle-wrapper\" #kbqTitleText>\n <ng-content />\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.scss', 'button-toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-button-toggle',\n '[class]': '\"kbq-button-toggle\" + iconType'\n }\n})\nexport class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(KbqIcon, { descendants: true }) icons: QueryList<KbqIcon>;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n type: ToggleType;\n iconType: string = '';\n\n @ViewChild(KbqButton, { static: false }) mcButton: KbqButton;\n\n /** KbqButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: KbqButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.icons.length) {\n const nodesWithoutComments = getNodesWithoutComments(\n this.element.nativeElement.querySelector('.kbq-button-toggle-wrapper')!.childNodes as NodeList\n ).length;\n this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new KbqButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqCommonModule } from '@koobiq/components/core';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqButtonToggle, KbqButtonToggleGroup } from './button-toggle.component';\n\n@NgModule({\n imports: [KbqCommonModule, KbqButtonModule, KbqTitleModule],\n exports: [KbqCommonModule, KbqButtonToggleGroup, KbqButtonToggle],\n declarations: [KbqButtonToggleGroup, KbqButtonToggle]\n})\nexport class KbqButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AA8BA;;;;AAIG;AACU,MAAA,sCAAsC,GAAQ;AACvD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,IAAA,KAAK,EAAE,IAAI;EACb;AAEF;MACa,qBAAqB,CAAA;AAC9B,IAAA,WAAA;;IAEW,MAAuB;;IAEvB,KAAU,EAAA;QAFV,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QAEvB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;KACjB;AACP,CAAA;AAED;MAUa,oBAAoB,CAAA;;AAE7B,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;;AAGD,IAAA,IACI,KAAK,GAAA;AACL,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC;AAEzE,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;SACjD;AAED,QAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;KACtD;IAED,IAAI,KAAK,CAAC,QAAa,EAAA;AACnB,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;;AAGD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAE9C,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;KACzD;;AAGD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;;AAMD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO;SACV;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;KACjE;AAwBD,IAAA,WAAA,CAAoB,eAAkC,EAAA;QAAlC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;AAtBtD;;;;AAIG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;;AAGtC,QAAA,IAAA,CAAA,MAAM,GAAwC,IAAI,YAAY,EAAyB,CAAC;QACnG,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAa1B;;;AAGG;AACH,QAAA,IAAA,CAAA,4BAA4B,GAAyB,MAAK,GAAG,CAAC;;AAG9D,QAAA,IAAA,CAAA,SAAS,GAAc,MAAK,GAAG,CAAC;KAT0B;IAW1D,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAkB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KAC9F;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;KAClC;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACvC;;AAGD,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACrC,QAAA,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;KAC1C;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;;AAGD,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;;IAGD,eAAe,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CAAC,MAAuB,EAAE,MAAe,EAAE,WAAW,GAAG,KAAK,EAAA;;;AAG1E,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnD,YAAA,IAAI,CAAC,QAA4B,CAAC,OAAO,GAAG,KAAK,CAAC;SACtD;QAED,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtC;aAAM;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACxC;;QAGD,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;;;QAID,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;;AAGD,IAAA,UAAU,CAAC,MAAuB,EAAA;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACjD;;AAGD,IAAA,YAAY,CAAC,MAAuB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC7B,YAAA,OAAO,KAAK,CAAC;SAChB;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;SACxF;AAED,QAAA,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC;KACzC;;AAGO,IAAA,mBAAmB,CAAC,KAAkB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEtB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO;SACV;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvB,gBAAA,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,YAAiB,KAAK,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;SACxE;aAAM;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;KACJ;;IAGO,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;KACpE;;AAGO,IAAA,WAAW,CAAC,KAAU,EAAA;QAC1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YAC3D,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;AAC1D,SAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE;AACrB,YAAA,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACnD;KACJ;iIA/NQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAPlB,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,sCAAsC,CAAC,4EAqDjB,eAAe,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA9CxC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;oBACnC,SAAS,EAAE,CAAC,sCAAsC,CAAC;AACnD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,yBAAyB;AAChC,wBAAA,oCAAoC,EAAE,UAAU;AACnD,qBAAA;AACD,oBAAA,QAAQ,EAAE,sBAAsB;AACnC,iBAAA,CAAA;sFAIO,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAWF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAyBF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAU8C,aAAa,EAAA,CAAA;sBAAhE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,eAAe,CAAC,CAAA;gBAI9C,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAoBa,WAAW,EAAA,CAAA;sBAA7B,MAAM;gBAGY,MAAM,EAAA,CAAA;sBAAxB,MAAM;;AA0JX;MA4Ba,eAAe,CAAA;;AAIxB,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC3F;IAED,IAAI,OAAO,CAAC,KAAc,EAAA;AACtB,QAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEzB,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChE;AAED,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;SACzC;KACJ;AAaD,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KACxF;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AASD,IAAA,WAAA,CACuB,iBAAuC,EAClD,iBAAoC,EACpC,YAA0B,EAC1B,OAAmB,EAAA;QAHR,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAsB;QAClD,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QA9B/B,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;;AAoBH,QAAA,IAAA,CAAA,MAAM,GAAwC,IAAI,YAAY,EAAyB,CAAC;QAEnG,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;KAO/B;IAEJ,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACnF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzD,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AACrE,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACnB,YAAA,MAAM,oBAAoB,GAAG,uBAAuB,CAChD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAE,CAAC,UAAsB,CACjG,CAAC,MAAM,CAAC;AACT,YAAA,IAAI,CAAC,QAAQ,GAAG,oBAAoB,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;SACvF;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;KAC/D;IAED,WAAW,GAAA;AACP,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAErC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;;;QAI7D,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACjC,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACrE;KACJ;;IAGD,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACtC;;IAGD,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;AAED,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAEjE,QAAA,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;aACtC;SACJ;;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACjE;AAED;;;;AAIG;IACH,YAAY,GAAA;;;AAGR,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;iIA5HQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,oBAAA,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,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EACP,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kCAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAO,EAyBb,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,SAAS,EAlDV,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,o0SAAA,EAAA,+jFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FASQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBA3B3B,SAAS;+BACI,mBAAmB,EAAA,QAAA,EACnB,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,IAAA,CAAA,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,SAAS,EAAE,gCAAgC;AAC9C,qBAAA,EAAA,MAAA,EAAA,CAAA,o0SAAA,EAAA,+jFAAA,CAAA,EAAA,CAAA;;0BAqDI,QAAQ;6HAlDoC,KAAK,EAAA,CAAA;sBAArD,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAI3C,OAAO,EAAA,CAAA;sBADV,KAAK;gBAsBmC,QAAQ,EAAA,CAAA;sBAAhD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAG9B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAUa,MAAM,EAAA,CAAA;sBAAxB,MAAM;;;MC5VE,qBAAqB,CAAA;iIAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAFf,YAAA,EAAA,CAAA,oBAAoB,EAAE,eAAe,aAF1C,eAAe,EAAE,eAAe,EAAE,cAAc,CAChD,EAAA,OAAA,EAAA,CAAA,eAAe,EAAE,oBAAoB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGvD,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAJpB,eAAe,EAAE,eAAe,EAAE,cAAc,EAChD,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGhB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC;AAC3D,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,eAAe,CAAC;AACjE,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;AACxD,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"koobiq-components-button-toggle.mjs","sources":["../../../packages/components/button-toggle/button-toggle.component.ts","../../../packages/components/button-toggle/button-toggle.module.ts","../../../packages/components/button-toggle/koobiq-components-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\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 { KbqButton } from '@koobiq/components/button';\nimport { getNodesWithoutComments } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows kbq-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class KbqButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: KbqButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'kbq-button-toggle-group',\n providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n class: 'kbq-button-toggle-group',\n '[class.kbq-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'kbqButtonToggleGroup'\n})\nexport class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => KbqButtonToggle)) buttonToggles: QueryList<KbqButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) {\n return;\n }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<KbqButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<KbqButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new KbqButtonToggleChange(source, this.value);\n\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: KbqButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as KbqButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: KbqButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: KbqButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => (toggle.checked = false));\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'kbq-button-toggle',\n exportAs: 'kbqButtonToggle',\n template: `\n <button\n [kbqStyle]=\"'transparent'\"\n [class.kbq-selected]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex || 0\"\n (click)=\"onToggleClick()\"\n kbq-button\n kbq-title\n type=\"button\"\n >\n <div class=\"kbq-button-toggle-wrapper\" #kbqTitleText>\n <ng-content />\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.scss', 'button-toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-button-toggle',\n '[class]': '\"kbq-button-toggle\" + iconType'\n }\n})\nexport class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(KbqIcon, { descendants: true }) icons: QueryList<KbqIcon>;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n type: ToggleType;\n iconType: string = '';\n\n @ViewChild(KbqButton, { static: false }) mcButton: KbqButton;\n\n /** KbqButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: KbqButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.icons.length) {\n const nodesWithoutComments = getNodesWithoutComments(\n this.element.nativeElement.querySelector('.kbq-button-toggle-wrapper')!.childNodes as NodeList\n ).length;\n\n this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n\n // Emit a change event when it's the single selector\n this.change.emit(new KbqButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqCommonModule } from '@koobiq/components/core';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqButtonToggle, KbqButtonToggleGroup } from './button-toggle.component';\n\n@NgModule({\n imports: [KbqCommonModule, KbqButtonModule, KbqTitleModule],\n exports: [KbqCommonModule, KbqButtonToggleGroup, KbqButtonToggle],\n declarations: [KbqButtonToggleGroup, KbqButtonToggle]\n})\nexport class KbqButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import * as i1 from '@angular/cdk/a11y';
2
2
  import { A11yModule } from '@angular/cdk/a11y';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
3
  import * as i0 from '@angular/core';
5
- import { Directive, SkipSelf, ContentChildren, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, inject, NgModule } from '@angular/core';
6
- import { mixinTabIndex, mixinColor, KbqComponentColors, KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
4
+ import { Directive, SkipSelf, ContentChildren, forwardRef, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, inject, NgModule } from '@angular/core';
5
+ import { leftIconClassName, rightIconClassName, getNodesWithoutComments, KbqColorDirective, KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
7
6
  import { KbqIcon } from '@koobiq/components/icon';
8
7
  import * as i2 from '@angular/cdk/observers';
9
8
  import { ObserversModule } from '@angular/cdk/observers';
@@ -16,14 +15,8 @@ var KbqButtonStyles;
16
15
  KbqButtonStyles["Outline"] = "outline";
17
16
  KbqButtonStyles["Transparent"] = "transparent";
18
17
  })(KbqButtonStyles || (KbqButtonStyles = {}));
19
- const leftIconClassName = 'kbq-icon_left';
20
- const rightIconClassName = 'kbq-icon_right';
21
18
  const buttonLeftIconClassName = 'kbq-button-icon_left';
22
19
  const buttonRightIconClassName = 'kbq-button-icon_right';
23
- const getNodesWithoutComments = (nodes) => {
24
- const COMMENT_NODE = 8;
25
- return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
26
- };
27
20
  class KbqButtonCssStyler {
28
21
  constructor(elementRef, renderer, cdr) {
29
22
  this.renderer = renderer;
@@ -86,15 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
86
79
  type: ContentChildren,
87
80
  args: [forwardRef(() => KbqIcon)]
88
81
  }] } });
89
- /** @docs-private */
90
- class KbqButtonBase {
91
- constructor(elementRef) {
92
- this.elementRef = elementRef;
93
- }
94
- }
95
- /** @docs-private */
96
- const KbqButtonMixinBase = mixinTabIndex(mixinColor(KbqButtonBase, KbqComponentColors.ContrastFade));
97
- class KbqButton extends KbqButtonMixinBase {
82
+ class KbqButton extends KbqColorDirective {
98
83
  get kbqStyle() {
99
84
  return `kbq-button_${this._kbqStyle}`;
100
85
  }
@@ -105,16 +90,23 @@ class KbqButton extends KbqButtonMixinBase {
105
90
  return this._disabled;
106
91
  }
107
92
  set disabled(value) {
108
- this._disabled = coerceBooleanProperty(value);
93
+ this._disabled = value;
109
94
  this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
110
95
  }
111
- constructor(elementRef, focusMonitor, styler) {
112
- super(elementRef);
96
+ get tabIndex() {
97
+ return this.disabled ? -1 : this._tabIndex;
98
+ }
99
+ set tabIndex(value) {
100
+ this._tabIndex = value;
101
+ }
102
+ constructor(focusMonitor, styler) {
103
+ super();
113
104
  this.focusMonitor = focusMonitor;
114
105
  this.styler = styler;
115
106
  this.hasFocus = false;
116
107
  this._kbqStyle = KbqButtonStyles.Filled;
117
108
  this._disabled = false;
109
+ this._tabIndex = 0;
118
110
  }
119
111
  ngAfterViewInit() {
120
112
  this.runFocusMonitor();
@@ -156,14 +148,14 @@ class KbqButton extends KbqButtonMixinBase {
156
148
  stopFocusMonitor() {
157
149
  this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
158
150
  }
159
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KbqButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component }); }
160
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqButton, selector: "[kbq-button]", inputs: { color: "color", tabIndex: "tabIndex", kbqStyle: "kbqStyle", disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "class.kbq-disabled": "disabled", "attr.tabIndex": "tabIndex", "class": "kbqStyle" } }, providers: [
151
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqButton, deps: [{ token: i1.FocusMonitor }, { token: KbqButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component }); }
152
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqButton, selector: "[kbq-button]", inputs: { kbqStyle: "kbqStyle", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute] }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "class.kbq-disabled": "disabled", "attr.tabIndex": "tabIndex", "class": "kbqStyle" } }, providers: [
161
153
  { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }
162
154
  ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-button,.kbq-light-button,.kbq-button-icon{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;height:var(--kbq-button-size-height);min-height:var(--kbq-button-size-height);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width) solid transparent;border-radius:var(--kbq-button-size-border-radius)}.kbq-button::-moz-focus-inner,.kbq-light-button::-moz-focus-inner,.kbq-button-icon::-moz-focus-inner{border:0}.kbq-button:focus,.kbq-light-button:focus,.kbq-button-icon:focus{outline:none}.kbq-disabled.kbq-button,.kbq-disabled.kbq-light-button,.kbq-disabled.kbq-button-icon{cursor:default}.cdk-focused.kbq-button,.cdk-focused.kbq-light-button,.cdk-focused.kbq-button-icon{z-index:1}.kbq-button .kbq-button-wrapper,.kbq-light-button .kbq-button-wrapper,.kbq-button-icon .kbq-button-wrapper{display:flex;align-items:center}.kbq-button .kbq-icon_left,.kbq-light-button .kbq-icon_left,.kbq-button-icon .kbq-icon_left{margin-right:var(--kbq-button-size-content-padding)}.kbq-button .kbq-icon_right,.kbq-light-button .kbq-icon_right,.kbq-button-icon .kbq-icon_right{margin-left:var(--kbq-button-size-content-padding)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-icon{padding-left:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-overlay{position:absolute;top:calc(-1 * var(--kbq-button-size-border-width));left:calc(-1 * var(--kbq-button-size-border-width));right:calc(-1 * var(--kbq-button-size-border-width));bottom:calc(-1 * var(--kbq-button-size-border-width));border-radius:inherit}.kbq-button-overlay{display:none}.kbq-button,.kbq-button-icon{-webkit-font-smoothing:antialiased}.kbq-button.kbq-button_filled.kbq-contrast,.kbq-button-icon.kbq-button_filled.kbq-contrast{border-color:var(--kbq-button-filled-contrast-fade-off-border);color:var(--kbq-button-filled-contrast-fade-off-foreground);background:var(--kbq-button-filled-contrast-fade-off-background)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-off-states-disabled-background)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade{border-color:var(--kbq-button-filled-contrast-fade-on-border);color:var(--kbq-button-filled-contrast-fade-on-foreground);background:var(--kbq-button-filled-contrast-fade-on-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade,.kbq-button-icon.kbq-button_outline.kbq-theme-fade{border-color:var(--kbq-button-outline-theme-fade-on-border);color:var(--kbq-button-outline-theme-fade-on-foreground);background:var(--kbq-button-outline-theme-fade-on-background)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon,.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled{color:var(--kbq-button-outline-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-theme-fade-on-states-disabled-background)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade{border-color:var(--kbq-button-outline-contrast-fade-on-border);color:var(--kbq-button-outline-contrast-fade-on-foreground);background:var(--kbq-button-outline-contrast-fade-on-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon,.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme,.kbq-button-icon.kbq-button_transparent.kbq-theme{border-color:var(--kbq-button-transparent-theme-fade-on-border);color:var(--kbq-button-transparent-theme-fade-on-foreground);background:var(--kbq-button-transparent-theme-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon,.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-theme-fade-on-states-disabled-background)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon,.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast,.kbq-button-icon.kbq-button_transparent.kbq-contrast{border-color:var(--kbq-button-transparent-contrast-fade-on-border);color:var(--kbq-button-transparent-contrast-fade-on-foreground);background:var(--kbq-button-transparent-contrast-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon,.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_filled.cdk-keyboard-focused,.kbq-button.kbq-button_outline.cdk-keyboard-focused,.kbq-button.kbq-button_transparent.cdk-keyboard-focused,.kbq-button-icon.kbq-button_filled.cdk-keyboard-focused,.kbq-button-icon.kbq-button_outline.cdk-keyboard-focused,.kbq-button-icon.kbq-button_transparent.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button,.kbq-button-icon{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-button-icon.kbq-button-wrapper .kbq-icon{line-height:var(--kbq-typography-body-line-height)}\n", ".kbq-button,.kbq-button-icon{--kbq-button-size-height: var(--kbq-size-3xl);--kbq-button-size-border-width: var(--kbq-size-border-width);--kbq-button-size-border-radius: var(--kbq-size-border-radius);--kbq-button-size-horizontal-padding: var(--kbq-size-m);--kbq-button-size-content-padding: var(--kbq-size-xs);--kbq-button-icon-size-horizontal-padding: var(--kbq-size-s);--kbq-button-icon-size-vertical-padding: var(--kbq-size-s);--kbq-button-icon-size-content-padding: var(--kbq-size-xxs);--kbq-button-filled-contrast-fade-off-background: var(--kbq-background-contrast);--kbq-button-filled-contrast-fade-off-border: transparent;--kbq-button-filled-contrast-fade-off-foreground: var(--kbq-foreground-on-contrast);--kbq-button-filled-contrast-fade-off-left-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-right-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-states-hover-background: var(--kbq-states-background-contrast-hover);--kbq-button-filled-contrast-fade-off-states-active-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-active-hover-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-off-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-background: var(--kbq-background-contrast-fade);--kbq-button-filled-contrast-fade-on-border: transparent;--kbq-button-filled-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-filled-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-filled-contrast-fade-on-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-filled-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-contrast-fade-active );--kbq-button-filled-contrast-fade-on-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-background: transparent;--kbq-button-outline-theme-fade-on-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-theme-fade-on-states-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-disabled-background: transparent;--kbq-button-outline-theme-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-background: transparent;--kbq-button-outline-contrast-fade-on-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-contrast-fade-on-states-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-contrast-fade-on-states-active-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-outline-contrast-fade-on-states-active-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-disabled-background: transparent;--kbq-button-outline-contrast-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-border: transparent;--kbq-button-transparent-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-background: transparent;--kbq-button-transparent-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-disabled-border: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-background: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-border: transparent;--kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-background: transparent;--kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-disabled-border: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-background: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled)}\n"], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
155
  }
164
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqButton, decorators: [{
165
157
  type: Component,
166
- args: [{ selector: '[kbq-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
158
+ args: [{ selector: '[kbq-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
167
159
  '[attr.disabled]': 'disabled || null',
168
160
  '[class.kbq-disabled]': 'disabled',
169
161
  '[attr.tabIndex]': 'tabIndex',
@@ -173,13 +165,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
173
165
  }, providers: [
174
166
  { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }
175
167
  ], template: "<div #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-button,.kbq-light-button,.kbq-button-icon{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;height:var(--kbq-button-size-height);min-height:var(--kbq-button-size-height);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width) solid transparent;border-radius:var(--kbq-button-size-border-radius)}.kbq-button::-moz-focus-inner,.kbq-light-button::-moz-focus-inner,.kbq-button-icon::-moz-focus-inner{border:0}.kbq-button:focus,.kbq-light-button:focus,.kbq-button-icon:focus{outline:none}.kbq-disabled.kbq-button,.kbq-disabled.kbq-light-button,.kbq-disabled.kbq-button-icon{cursor:default}.cdk-focused.kbq-button,.cdk-focused.kbq-light-button,.cdk-focused.kbq-button-icon{z-index:1}.kbq-button .kbq-button-wrapper,.kbq-light-button .kbq-button-wrapper,.kbq-button-icon .kbq-button-wrapper{display:flex;align-items:center}.kbq-button .kbq-icon_left,.kbq-light-button .kbq-icon_left,.kbq-button-icon .kbq-icon_left{margin-right:var(--kbq-button-size-content-padding)}.kbq-button .kbq-icon_right,.kbq-light-button .kbq-icon_right,.kbq-button-icon .kbq-icon_right{margin-left:var(--kbq-button-size-content-padding)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-icon{padding-left:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-overlay{position:absolute;top:calc(-1 * var(--kbq-button-size-border-width));left:calc(-1 * var(--kbq-button-size-border-width));right:calc(-1 * var(--kbq-button-size-border-width));bottom:calc(-1 * var(--kbq-button-size-border-width));border-radius:inherit}.kbq-button-overlay{display:none}.kbq-button,.kbq-button-icon{-webkit-font-smoothing:antialiased}.kbq-button.kbq-button_filled.kbq-contrast,.kbq-button-icon.kbq-button_filled.kbq-contrast{border-color:var(--kbq-button-filled-contrast-fade-off-border);color:var(--kbq-button-filled-contrast-fade-off-foreground);background:var(--kbq-button-filled-contrast-fade-off-background)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-off-states-disabled-background)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade{border-color:var(--kbq-button-filled-contrast-fade-on-border);color:var(--kbq-button-filled-contrast-fade-on-foreground);background:var(--kbq-button-filled-contrast-fade-on-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade,.kbq-button-icon.kbq-button_outline.kbq-theme-fade{border-color:var(--kbq-button-outline-theme-fade-on-border);color:var(--kbq-button-outline-theme-fade-on-foreground);background:var(--kbq-button-outline-theme-fade-on-background)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon,.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled{color:var(--kbq-button-outline-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-theme-fade-on-states-disabled-background)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade{border-color:var(--kbq-button-outline-contrast-fade-on-border);color:var(--kbq-button-outline-contrast-fade-on-foreground);background:var(--kbq-button-outline-contrast-fade-on-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon,.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon,.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme,.kbq-button-icon.kbq-button_transparent.kbq-theme{border-color:var(--kbq-button-transparent-theme-fade-on-border);color:var(--kbq-button-transparent-theme-fade-on-foreground);background:var(--kbq-button-transparent-theme-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon,.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-theme-fade-on-states-disabled-background)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon,.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast,.kbq-button-icon.kbq-button_transparent.kbq-contrast{border-color:var(--kbq-button-transparent-contrast-fade-on-border);color:var(--kbq-button-transparent-contrast-fade-on-foreground);background:var(--kbq-button-transparent-contrast-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon,.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-contrast-fade-on-states-disabled-background)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon,.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_filled.cdk-keyboard-focused,.kbq-button.kbq-button_outline.cdk-keyboard-focused,.kbq-button.kbq-button_transparent.cdk-keyboard-focused,.kbq-button-icon.kbq-button_filled.cdk-keyboard-focused,.kbq-button-icon.kbq-button_outline.cdk-keyboard-focused,.kbq-button-icon.kbq-button_transparent.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button,.kbq-button-icon{font-size:var(--kbq-typography-text-normal-medium-font-size);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-button-icon.kbq-button-wrapper .kbq-icon{line-height:var(--kbq-typography-body-line-height)}\n", ".kbq-button,.kbq-button-icon{--kbq-button-size-height: var(--kbq-size-3xl);--kbq-button-size-border-width: var(--kbq-size-border-width);--kbq-button-size-border-radius: var(--kbq-size-border-radius);--kbq-button-size-horizontal-padding: var(--kbq-size-m);--kbq-button-size-content-padding: var(--kbq-size-xs);--kbq-button-icon-size-horizontal-padding: var(--kbq-size-s);--kbq-button-icon-size-vertical-padding: var(--kbq-size-s);--kbq-button-icon-size-content-padding: var(--kbq-size-xxs);--kbq-button-filled-contrast-fade-off-background: var(--kbq-background-contrast);--kbq-button-filled-contrast-fade-off-border: transparent;--kbq-button-filled-contrast-fade-off-foreground: var(--kbq-foreground-on-contrast);--kbq-button-filled-contrast-fade-off-left-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-right-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-states-hover-background: var(--kbq-states-background-contrast-hover);--kbq-button-filled-contrast-fade-off-states-active-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-active-hover-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-off-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-background: var(--kbq-background-contrast-fade);--kbq-button-filled-contrast-fade-on-border: transparent;--kbq-button-filled-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-filled-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-filled-contrast-fade-on-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-filled-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-contrast-fade-active );--kbq-button-filled-contrast-fade-on-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-background: transparent;--kbq-button-outline-theme-fade-on-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-theme-fade-on-states-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-disabled-background: transparent;--kbq-button-outline-theme-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-background: transparent;--kbq-button-outline-contrast-fade-on-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-contrast-fade-on-states-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-contrast-fade-on-states-active-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-outline-contrast-fade-on-states-active-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-disabled-background: transparent;--kbq-button-outline-contrast-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-border: transparent;--kbq-button-transparent-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-background: transparent;--kbq-button-transparent-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-disabled-border: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-background: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-border: transparent;--kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-background: transparent;--kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-disabled-border: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-background: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled)}\n"] }]
176
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: KbqButtonCssStyler }], propDecorators: { textElement: [{
168
+ }], ctorParameters: () => [{ type: i1.FocusMonitor }, { type: KbqButtonCssStyler }], propDecorators: { textElement: [{
177
169
  type: ViewChild,
178
170
  args: ['kbqTitleText', { static: false }]
179
171
  }], kbqStyle: [{
180
172
  type: Input
181
173
  }], disabled: [{
182
- type: Input
174
+ type: Input,
175
+ args: [{ transform: booleanAttribute }]
176
+ }], tabIndex: [{
177
+ type: Input,
178
+ args: [{ transform: numberAttribute }]
183
179
  }] } });
184
180
 
185
181
  /**
@@ -245,5 +241,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
245
241
  * Generated bundle index. Do not edit.
246
242
  */
247
243
 
248
- export { KbqButton, KbqButtonBase, KbqButtonCssStyler, KbqButtonDropdownTrigger, KbqButtonMixinBase, KbqButtonModule, KbqButtonStyles, buttonLeftIconClassName, buttonRightIconClassName, getNodesWithoutComments, leftIconClassName, rightIconClassName };
244
+ export { KbqButton, KbqButtonCssStyler, KbqButtonDropdownTrigger, KbqButtonModule, KbqButtonStyles, buttonLeftIconClassName, buttonRightIconClassName };
249
245
  //# sourceMappingURL=koobiq-components-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-button.mjs","sources":["../../../packages/components/button/button.component.ts","../../../packages/components/button/button.component.html","../../../packages/components/button/button.dropdown-trigger.directive.ts","../../../packages/components/button/button.module.ts","../../../packages/components/button/koobiq-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n HasTabIndexCtor,\n KBQ_TITLE_TEXT_REF,\n KbqComponentColors,\n KbqTitleTextRef,\n mixinColor,\n mixinTabIndex\n} from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\n\nexport const leftIconClassName = 'kbq-icon_left';\nexport const rightIconClassName = 'kbq-icon_right';\n\nexport const buttonLeftIconClassName = 'kbq-button-icon_left';\nexport const buttonRightIconClassName = 'kbq-button-icon_right';\n\nexport const getNodesWithoutComments = (nodes: NodeList): Node[] => {\n const COMMENT_NODE = 8;\n\n return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);\n};\n\n@Directive({\n selector: '[kbq-button]',\n host: {\n '[class.kbq-button]': '!isIconButton',\n '[class.kbq-button-icon]': 'isIconButton'\n }\n})\nexport class KbqButtonCssStyler implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqIcon)) icons: QueryList<KbqIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(\n elementRef: ElementRef,\n private renderer: Renderer2,\n @SkipSelf() private cdr: ChangeDetectorRef\n ) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n });\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.kbq-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue =\n !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length &&\n this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n }\n}\n\n/** @docs-private */\nexport class KbqButtonBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const KbqButtonMixinBase: HasTabIndexCtor & CanColorCtor & typeof KbqButtonBase = mixinTabIndex(\n mixinColor(KbqButtonBase, KbqComponentColors.ContrastFade)\n);\n\n@Component({\n selector: '[kbq-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss', './button-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[class.kbq-disabled]': 'disabled',\n '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n },\n providers: [\n { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }]\n})\nexport class KbqButton\n extends KbqButtonMixinBase\n implements OnDestroy, AfterViewInit, CanDisable, CanColor, KbqTitleTextRef\n{\n hasFocus: boolean = false;\n\n @ViewChild('kbqTitleText', { static: false }) textElement: ElementRef;\n\n @Input()\n get kbqStyle(): string {\n return `kbq-button_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: string | KbqButtonStyles) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n }\n\n private _kbqStyle: string | KbqButtonStyles = KbqButtonStyles.Filled;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(\n elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n private styler: KbqButtonCssStyler\n ) {\n super(elementRef);\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n","<div #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { Directive, inject } from '@angular/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\n\n/**\n * This directive enhances `kbq-button` elements acting as dropdown triggers,\n * visually indicating the active state with the `kbq-active` class,\n * following Koobiq Design System.\n *\n * The directive relies on a separate `KbqDropdownTrigger` directive to get dropdown's state.\n */\n@Directive({\n standalone: true,\n selector: `[kbq-button][kbqDropdownTriggerFor]`,\n host: {\n '[class.kbq-active]': 'dropdownTrigger.opened'\n }\n})\nexport class KbqButtonDropdownTrigger {\n dropdownTrigger = inject(KbqDropdownTrigger);\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqButton, KbqButtonCssStyler } from './button.component';\nimport { KbqButtonDropdownTrigger } from './button.dropdown-trigger.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n ObserversModule,\n KbqButtonDropdownTrigger\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler,\n KbqButtonDropdownTrigger\n ],\n declarations: [\n KbqButton,\n KbqButtonCssStyler\n ]\n})\nexport class KbqButtonModule {}\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-button.mjs","sources":["../../../packages/components/button/button.component.ts","../../../packages/components/button/button.component.html","../../../packages/components/button/button.dropdown-trigger.directive.ts","../../../packages/components/button/button.module.ts","../../../packages/components/button/koobiq-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n Renderer2,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n getNodesWithoutComments,\n KBQ_TITLE_TEXT_REF,\n KbqColorDirective,\n KbqTitleTextRef,\n leftIconClassName,\n rightIconClassName\n} from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\n\nexport const buttonLeftIconClassName = 'kbq-button-icon_left';\nexport const buttonRightIconClassName = 'kbq-button-icon_right';\n\n@Directive({\n selector: '[kbq-button]',\n host: {\n '[class.kbq-button]': '!isIconButton',\n '[class.kbq-button-icon]': 'isIconButton'\n }\n})\nexport class KbqButtonCssStyler implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqIcon)) icons: QueryList<KbqIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(\n elementRef: ElementRef,\n private renderer: Renderer2,\n @SkipSelf() private cdr: ChangeDetectorRef\n ) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n });\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.kbq-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue =\n !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length &&\n this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n }\n}\n\n@Component({\n selector: '[kbq-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss', './button-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.disabled]': 'disabled || null',\n '[class.kbq-disabled]': 'disabled',\n '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n },\n providers: [\n { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }]\n})\nexport class KbqButton extends KbqColorDirective implements OnDestroy, AfterViewInit, KbqTitleTextRef {\n hasFocus: boolean = false;\n\n @ViewChild('kbqTitleText', { static: false }) textElement: ElementRef;\n\n @Input()\n get kbqStyle(): string {\n return `kbq-button_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: string | KbqButtonStyles) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n }\n\n private _kbqStyle: string | KbqButtonStyles = KbqButtonStyles.Filled;\n\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\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 constructor(\n private focusMonitor: FocusMonitor,\n private styler: KbqButtonCssStyler\n ) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n","<div #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { Directive, inject } from '@angular/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\n\n/**\n * This directive enhances `kbq-button` elements acting as dropdown triggers,\n * visually indicating the active state with the `kbq-active` class,\n * following Koobiq Design System.\n *\n * The directive relies on a separate `KbqDropdownTrigger` directive to get dropdown's state.\n */\n@Directive({\n standalone: true,\n selector: `[kbq-button][kbqDropdownTriggerFor]`,\n host: {\n '[class.kbq-active]': 'dropdownTrigger.opened'\n }\n})\nexport class KbqButtonDropdownTrigger {\n dropdownTrigger = inject(KbqDropdownTrigger);\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqButton, KbqButtonCssStyler } from './button.component';\nimport { KbqButtonDropdownTrigger } from './button.dropdown-trigger.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n ObserversModule,\n KbqButtonDropdownTrigger\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler,\n KbqButtonDropdownTrigger\n ],\n declarations: [\n KbqButton,\n KbqButtonCssStyler\n ]\n})\nexport class KbqButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}