@koobiq/components 17.0.0-rc.8 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/README.md +1 -2
  2. package/alert/_alert-theme.scss +0 -1
  3. package/alert/alert.component.d.ts +3 -1
  4. package/alert/alert.component.scss +14 -14
  5. package/alert/public-api.d.ts +1 -1
  6. package/autocomplete/_autocomplete-theme.scss +0 -1
  7. package/autocomplete/autocomplete.scss +3 -6
  8. package/autocomplete/public-api.d.ts +2 -2
  9. package/badge/_badge-theme.scss +1 -2
  10. package/badge/badge.component.scss +0 -1
  11. package/badge/public-api.d.ts +1 -1
  12. package/button/_button-base.scss +0 -1
  13. package/button/_button-theme.scss +5 -3
  14. package/button/button.component.d.ts +2 -2
  15. package/button/button.scss +0 -1
  16. package/button/public-api.d.ts +1 -1
  17. package/button-toggle/_button-toggle-theme.scss +2 -3
  18. package/button-toggle/button-toggle.scss +2 -9
  19. package/button-toggle/public-api.d.ts +1 -1
  20. package/card/_card-theme.scss +0 -1
  21. package/card/card.component.d.ts +1 -1
  22. package/card/card.component.scss +1 -2
  23. package/card/public-api.d.ts +1 -1
  24. package/checkbox/_checkbox-theme.scss +10 -11
  25. package/checkbox/checkbox.scss +13 -19
  26. package/code-block/README.md +17 -14
  27. package/code-block/_code-block-theme.scss +23 -16
  28. package/code-block/actionbar.component.scss +4 -7
  29. package/code-block/code-block.component.d.ts +2 -2
  30. package/code-block/code-block.scss +8 -14
  31. package/code-block/public-api.d.ts +1 -1
  32. package/core/animation/index.d.ts +1 -1
  33. package/core/common-behaviors/index.d.ts +3 -3
  34. package/core/datetime/index.d.ts +1 -1
  35. package/core/formatters/index.d.ts +1 -1
  36. package/core/forms/_forms-theme.scss +0 -1
  37. package/core/forms/_forms.scss +0 -1
  38. package/core/forms/index.d.ts +1 -1
  39. package/core/locales/index.d.ts +1 -1
  40. package/core/option/_optgroup-theme.scss +0 -1
  41. package/core/option/_option-action-theme.scss +0 -1
  42. package/core/option/_option-theme.scss +0 -1
  43. package/core/option/action.scss +4 -2
  44. package/core/option/index.d.ts +2 -2
  45. package/core/option/optgroup.scss +2 -3
  46. package/core/option/option.scss +0 -1
  47. package/core/pop-up/_pop-up.scss +0 -1
  48. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  49. package/core/public-api.d.ts +3 -3
  50. package/core/select/constants.d.ts +1 -1
  51. package/core/select/index.d.ts +3 -3
  52. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +1 -2
  53. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +0 -1
  54. package/core/services/theme.service.d.ts +3 -2
  55. package/core/styles/_core.scss +0 -1
  56. package/core/styles/_koobiq-theme.scss +5 -3
  57. package/core/styles/common/_animation.scss +11 -10
  58. package/core/styles/common/_button.scss +0 -2
  59. package/core/styles/common/_clearfix.scss +1 -1
  60. package/core/styles/common/_groups.scss +0 -4
  61. package/core/styles/common/_list.scss +23 -61
  62. package/core/styles/common/_overlay.scss +4 -3
  63. package/core/styles/common/_popup.scss +0 -1
  64. package/core/styles/common/_rtl.scss +4 -4
  65. package/core/styles/common/_select.scss +37 -26
  66. package/core/styles/common/_tokens.scss +0 -2
  67. package/core/styles/functions/_number.scss +14 -19
  68. package/core/styles/functions/_string.scss +18 -19
  69. package/core/styles/functions/_timing.scss +24 -24
  70. package/core/styles/theming/_components-theming.scss +1120 -1208
  71. package/core/styles/theming/_scrollbar-theme.scss +8 -5
  72. package/core/styles/theming/_theming.scss +22 -20
  73. package/core/styles/typography/_typography-utils.scss +9 -3
  74. package/core/styles/typography/_typography.scss +114 -94
  75. package/core/styles/visual/_body.scss +0 -2
  76. package/core/styles/visual/_layout.scss +30 -22
  77. package/core/utils/data-size/index.d.ts +1 -1
  78. package/core/utils/public-api.d.ts +1 -1
  79. package/datepicker/_datepicker-theme.scss +21 -8
  80. package/datepicker/calendar-body.scss +0 -3
  81. package/datepicker/calendar-header.scss +0 -1
  82. package/datepicker/calendar.scss +1 -2
  83. package/datepicker/datepicker-content.scss +1 -3
  84. package/datepicker/datepicker-input.directive.d.ts +1 -0
  85. package/datepicker/datepicker-input.scss +0 -1
  86. package/datepicker/datepicker-toggle.scss +0 -1
  87. package/datepicker/datepicker.component.d.ts +2 -2
  88. package/datepicker/public-api.d.ts +4 -4
  89. package/divider/_divider-theme.scss +0 -1
  90. package/divider/divider.scss +0 -1
  91. package/dl/_dl-theme.scss +0 -2
  92. package/dl/dl.scss +0 -1
  93. package/dl/public-api.d.ts +1 -1
  94. package/dropdown/_dropdown-theme.scss +4 -2
  95. package/dropdown/dropdown-content.directive.d.ts +1 -1
  96. package/dropdown/dropdown-item.component.d.ts +1 -1
  97. package/dropdown/dropdown-item.scss +9 -7
  98. package/dropdown/dropdown.component.d.ts +1 -1
  99. package/dropdown/dropdown.scss +0 -1
  100. package/dropdown/public-api.d.ts +5 -5
  101. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  102. package/empty-state/README.md +0 -0
  103. package/empty-state/_empty-state-theme.scss +56 -0
  104. package/empty-state/empty-state.component.d.ts +31 -0
  105. package/empty-state/empty-state.module.d.ts +10 -0
  106. package/empty-state/empty-state.scss +81 -0
  107. package/empty-state/index.d.ts +1 -0
  108. package/empty-state/public-api.d.ts +2 -0
  109. package/esm2022/alert/alert.component.mjs +7 -3
  110. package/esm2022/alert/alert.module.mjs +1 -1
  111. package/esm2022/alert/public-api.mjs +2 -2
  112. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +1 -1
  113. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +25 -42
  114. package/esm2022/autocomplete/autocomplete.component.mjs +14 -9
  115. package/esm2022/autocomplete/autocomplete.module.mjs +3 -3
  116. package/esm2022/autocomplete/public-api.mjs +3 -3
  117. package/esm2022/badge/badge.component.mjs +8 -6
  118. package/esm2022/badge/badge.module.mjs +1 -1
  119. package/esm2022/badge/public-api.mjs +2 -2
  120. package/esm2022/button/button.component.mjs +12 -9
  121. package/esm2022/button/button.module.mjs +1 -1
  122. package/esm2022/button/public-api.mjs +2 -2
  123. package/esm2022/button-toggle/button-toggle.component.mjs +26 -20
  124. package/esm2022/button-toggle/button-toggle.module.mjs +1 -1
  125. package/esm2022/button-toggle/public-api.mjs +2 -2
  126. package/esm2022/card/card.component.mjs +4 -5
  127. package/esm2022/card/card.module.mjs +1 -1
  128. package/esm2022/card/public-api.mjs +2 -2
  129. package/esm2022/checkbox/checkbox-config.mjs +1 -1
  130. package/esm2022/checkbox/checkbox-module.mjs +1 -1
  131. package/esm2022/checkbox/checkbox-required-validator.mjs +1 -1
  132. package/esm2022/checkbox/checkbox.mjs +6 -8
  133. package/esm2022/checkbox/public-api.mjs +1 -1
  134. package/esm2022/code-block/actionbar.component.mjs +4 -6
  135. package/esm2022/code-block/code-block.component.mjs +17 -19
  136. package/esm2022/code-block/code-block.module.mjs +9 -5
  137. package/esm2022/code-block/public-api.mjs +2 -2
  138. package/esm2022/core/animation/fade-animations.mjs +1 -1
  139. package/esm2022/core/animation/index.mjs +2 -2
  140. package/esm2022/core/animation/select-animations.mjs +2 -2
  141. package/esm2022/core/common-behaviors/color.mjs +4 -2
  142. package/esm2022/core/common-behaviors/common-module.mjs +2 -5
  143. package/esm2022/core/common-behaviors/constructor.mjs +1 -1
  144. package/esm2022/core/common-behaviors/disabled.mjs +2 -2
  145. package/esm2022/core/common-behaviors/error-state.mjs +1 -1
  146. package/esm2022/core/common-behaviors/index.mjs +4 -4
  147. package/esm2022/core/common-behaviors/tabindex.mjs +1 -1
  148. package/esm2022/core/datetime/date-adapter.mjs +1 -2
  149. package/esm2022/core/datetime/date-formats.mjs +1 -1
  150. package/esm2022/core/datetime/index.mjs +2 -2
  151. package/esm2022/core/error/error-options.mjs +1 -1
  152. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  153. package/esm2022/core/formatters/date/formatter.mjs +1 -1
  154. package/esm2022/core/formatters/date/formatter.pipe.mjs +1 -1
  155. package/esm2022/core/formatters/index.mjs +2 -2
  156. package/esm2022/core/formatters/number/formatter.mjs +19 -24
  157. package/esm2022/core/forms/forms-module.mjs +1 -1
  158. package/esm2022/core/forms/forms.directive.mjs +1 -1
  159. package/esm2022/core/forms/index.mjs +2 -2
  160. package/esm2022/core/highlight/highlight.pipe.mjs +1 -1
  161. package/esm2022/core/highlight/index.mjs +1 -1
  162. package/esm2022/core/label/label-options.mjs +1 -1
  163. package/esm2022/core/line/line.mjs +2 -2
  164. package/esm2022/core/locales/en-US.mjs +1 -1
  165. package/esm2022/core/locales/es-LA.mjs +1 -1
  166. package/esm2022/core/locales/fa-IR.mjs +1 -1
  167. package/esm2022/core/locales/formatters.mjs +1 -3
  168. package/esm2022/core/locales/index.mjs +2 -2
  169. package/esm2022/core/locales/locale-service.mjs +8 -5
  170. package/esm2022/core/locales/locale-service.module.mjs +1 -1
  171. package/esm2022/core/locales/pt-BR.mjs +1 -1
  172. package/esm2022/core/locales/ru-RU.mjs +3 -3
  173. package/esm2022/core/locales/zh-CN.mjs +1 -1
  174. package/esm2022/core/option/action.mjs +22 -14
  175. package/esm2022/core/option/index.mjs +3 -3
  176. package/esm2022/core/option/optgroup.mjs +4 -5
  177. package/esm2022/core/option/option-module.mjs +1 -1
  178. package/esm2022/core/option/option.mjs +13 -10
  179. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  180. package/esm2022/core/pop-up/pop-up-trigger.mjs +14 -24
  181. package/esm2022/core/pop-up/pop-up.mjs +1 -2
  182. package/esm2022/core/public-api.mjs +4 -4
  183. package/esm2022/core/select/common.mjs +2 -5
  184. package/esm2022/core/select/constants.mjs +1 -2
  185. package/esm2022/core/select/index.mjs +4 -4
  186. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  187. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +1 -1
  188. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -2
  189. package/esm2022/core/services/theme.service.mjs +5 -4
  190. package/esm2022/core/title/title-text-ref.mjs +1 -1
  191. package/esm2022/core/utils/data-size/config.mjs +1 -1
  192. package/esm2022/core/utils/data-size/data-size.pipe.mjs +2 -3
  193. package/esm2022/core/utils/data-size/index.mjs +2 -2
  194. package/esm2022/core/utils/data-size/size.mjs +3 -6
  195. package/esm2022/core/utils/public-api.mjs +2 -2
  196. package/esm2022/core/utils/utils.mjs +4 -2
  197. package/esm2022/core/validation/validation.mjs +4 -2
  198. package/esm2022/core/version.mjs +2 -2
  199. package/esm2022/datepicker/calendar-body.component.mjs +3 -5
  200. package/esm2022/datepicker/calendar-header.component.mjs +8 -8
  201. package/esm2022/datepicker/calendar.component.mjs +6 -6
  202. package/esm2022/datepicker/datepicker-animations.mjs +1 -1
  203. package/esm2022/datepicker/datepicker-errors.mjs +1 -1
  204. package/esm2022/datepicker/datepicker-input.directive.mjs +47 -49
  205. package/esm2022/datepicker/datepicker-intl.mjs +1 -1
  206. package/esm2022/datepicker/datepicker-module.mjs +2 -2
  207. package/esm2022/datepicker/datepicker-toggle.component.mjs +11 -10
  208. package/esm2022/datepicker/datepicker.component.mjs +15 -18
  209. package/esm2022/datepicker/month-view.component.mjs +14 -14
  210. package/esm2022/datepicker/public-api.mjs +5 -5
  211. package/esm2022/divider/divider.component.mjs +1 -1
  212. package/esm2022/divider/divider.module.mjs +1 -1
  213. package/esm2022/dl/dl.component.mjs +7 -7
  214. package/esm2022/dl/dl.module.mjs +2 -2
  215. package/esm2022/dl/public-api.mjs +2 -2
  216. package/esm2022/dropdown/dropdown-animations.mjs +2 -2
  217. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  218. package/esm2022/dropdown/dropdown-item.component.mjs +5 -8
  219. package/esm2022/dropdown/dropdown-trigger.directive.mjs +24 -33
  220. package/esm2022/dropdown/dropdown.component.mjs +10 -19
  221. package/esm2022/dropdown/dropdown.module.mjs +1 -1
  222. package/esm2022/dropdown/dropdown.types.mjs +1 -2
  223. package/esm2022/dropdown/public-api.mjs +6 -6
  224. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +6 -5
  225. package/esm2022/empty-state/empty-state.component.mjs +104 -0
  226. package/esm2022/empty-state/empty-state.module.mjs +50 -0
  227. package/esm2022/empty-state/index.mjs +2 -0
  228. package/esm2022/empty-state/koobiq-components-empty-state.mjs +5 -0
  229. package/esm2022/empty-state/public-api.mjs +3 -0
  230. package/esm2022/file-upload/file-drop.mjs +3 -2
  231. package/esm2022/file-upload/file-upload.mjs +1 -1
  232. package/esm2022/file-upload/file-upload.module.mjs +2 -2
  233. package/esm2022/file-upload/index.mjs +1 -1
  234. package/esm2022/file-upload/multiple-file-upload.component.mjs +16 -14
  235. package/esm2022/file-upload/public-api.mjs +2 -2
  236. package/esm2022/file-upload/single-file-upload.component.mjs +14 -12
  237. package/esm2022/form-field/cleaner.mjs +13 -3
  238. package/esm2022/form-field/form-field-control.mjs +1 -2
  239. package/esm2022/form-field/form-field-errors.mjs +1 -1
  240. package/esm2022/form-field/form-field.mjs +8 -15
  241. package/esm2022/form-field/form-field.module.mjs +1 -1
  242. package/esm2022/form-field/hint.mjs +6 -6
  243. package/esm2022/form-field/password-hint.mjs +15 -15
  244. package/esm2022/form-field/password-toggle.mjs +4 -7
  245. package/esm2022/form-field/prefix.mjs +1 -1
  246. package/esm2022/form-field/public-api.mjs +4 -4
  247. package/esm2022/form-field/stepper.mjs +33 -29
  248. package/esm2022/form-field/suffix.mjs +1 -1
  249. package/esm2022/form-field/validate.directive.mjs +6 -7
  250. package/esm2022/icon/icon-button.component.mjs +4 -4
  251. package/esm2022/icon/icon-item.component.mjs +3 -3
  252. package/esm2022/icon/icon.component.mjs +5 -6
  253. package/esm2022/icon/icon.module.mjs +1 -1
  254. package/esm2022/icon/public-api.mjs +3 -3
  255. package/esm2022/input/input-number-validators.mjs +1 -1
  256. package/esm2022/input/input-number.mjs +29 -41
  257. package/esm2022/input/input-password.mjs +13 -8
  258. package/esm2022/input/input-value-accessor.mjs +1 -1
  259. package/esm2022/input/input.mjs +13 -10
  260. package/esm2022/input/input.module.mjs +1 -1
  261. package/esm2022/input/public-api.mjs +3 -3
  262. package/esm2022/link/link.component.mjs +2 -2
  263. package/esm2022/link/link.module.mjs +1 -1
  264. package/esm2022/link/public-api.mjs +2 -2
  265. package/esm2022/list/list-selection.component.mjs +36 -41
  266. package/esm2022/list/list.component.mjs +5 -6
  267. package/esm2022/list/list.module.mjs +2 -2
  268. package/esm2022/list/public-api.mjs +3 -3
  269. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  270. package/esm2022/loader-overlay/loader-overlay.module.mjs +1 -1
  271. package/esm2022/loader-overlay/public-api.mjs +2 -2
  272. package/esm2022/markdown/markdown.component.mjs +20 -6
  273. package/esm2022/markdown/markdown.module.mjs +1 -1
  274. package/esm2022/markdown/markdown.service.mjs +1 -1
  275. package/esm2022/modal/css-unit.pipe.mjs +1 -1
  276. package/esm2022/modal/modal-control.service.mjs +6 -2
  277. package/esm2022/modal/modal-ref.class.mjs +1 -2
  278. package/esm2022/modal/modal-util.mjs +1 -1
  279. package/esm2022/modal/modal.component.mjs +60 -33
  280. package/esm2022/modal/modal.directive.mjs +27 -11
  281. package/esm2022/modal/modal.module.mjs +2 -2
  282. package/esm2022/modal/modal.service.mjs +3 -6
  283. package/esm2022/modal/modal.type.mjs +1 -1
  284. package/esm2022/modal/public-api.mjs +3 -3
  285. package/esm2022/navbar/index.mjs +1 -1
  286. package/esm2022/navbar/navbar-item.component.mjs +41 -33
  287. package/esm2022/navbar/navbar.component.mjs +19 -29
  288. package/esm2022/navbar/navbar.module.mjs +2 -2
  289. package/esm2022/navbar/public-api.mjs +3 -3
  290. package/esm2022/navbar/vertical-navbar.component.mjs +21 -23
  291. package/esm2022/popover/popover-animations.mjs +1 -1
  292. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  293. package/esm2022/popover/popover.component.mjs +5 -5
  294. package/esm2022/popover/popover.module.mjs +1 -1
  295. package/esm2022/popover/public-api.mjs +3 -3
  296. package/esm2022/progress-bar/progress-bar.component.mjs +4 -4
  297. package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
  298. package/esm2022/progress-bar/public-api.mjs +2 -2
  299. package/esm2022/progress-spinner/progress-spinner.component.mjs +4 -4
  300. package/esm2022/progress-spinner/progress-spinner.module.mjs +1 -1
  301. package/esm2022/progress-spinner/public-api.mjs +2 -2
  302. package/esm2022/radio/public-api.mjs +2 -2
  303. package/esm2022/radio/radio.component.mjs +9 -14
  304. package/esm2022/radio/radio.module.mjs +1 -1
  305. package/esm2022/risk-level/public-api.mjs +2 -2
  306. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  307. package/esm2022/risk-level/risk-level.module.mjs +1 -1
  308. package/esm2022/scrollbar/public-api.mjs +2 -2
  309. package/esm2022/scrollbar/scrollbar.component.mjs +19 -21
  310. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -5
  311. package/esm2022/scrollbar/scrollbar.module.mjs +2 -2
  312. package/esm2022/scrollbar/scrollbar.types.mjs +3 -2
  313. package/esm2022/select/public-api.mjs +3 -3
  314. package/esm2022/select/select-option.directive.mjs +8 -5
  315. package/esm2022/select/select.component.mjs +45 -71
  316. package/esm2022/select/select.module.mjs +1 -1
  317. package/esm2022/sidebar/public-api.mjs +2 -2
  318. package/esm2022/sidebar/sidebar-animations.mjs +1 -1
  319. package/esm2022/sidebar/sidebar.component.mjs +5 -7
  320. package/esm2022/sidebar/sidebar.module.mjs +1 -1
  321. package/esm2022/sidepanel/public-api.mjs +4 -4
  322. package/esm2022/sidepanel/sidepanel-animations.mjs +7 -4
  323. package/esm2022/sidepanel/sidepanel-config.mjs +1 -1
  324. package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
  325. package/esm2022/sidepanel/sidepanel-directives.mjs +33 -20
  326. package/esm2022/sidepanel/sidepanel-ref.mjs +10 -5
  327. package/esm2022/sidepanel/sidepanel.module.mjs +1 -1
  328. package/esm2022/sidepanel/sidepanel.service.mjs +11 -15
  329. package/esm2022/splitter/public-api.mjs +2 -2
  330. package/esm2022/splitter/splitter.component.mjs +13 -24
  331. package/esm2022/splitter/splitter.module.mjs +1 -1
  332. package/esm2022/table/public-api.mjs +2 -2
  333. package/esm2022/table/table.component.mjs +3 -3
  334. package/esm2022/table/table.module.mjs +1 -1
  335. package/esm2022/tabs/paginated-tab-header.mjs +9 -14
  336. package/esm2022/tabs/public-api.mjs +6 -6
  337. package/esm2022/tabs/tab-body.component.mjs +10 -11
  338. package/esm2022/tabs/tab-content.directive.mjs +1 -1
  339. package/esm2022/tabs/tab-group.component.mjs +11 -13
  340. package/esm2022/tabs/tab-header.component.mjs +4 -4
  341. package/esm2022/tabs/tab-label-wrapper.directive.mjs +1 -1
  342. package/esm2022/tabs/tab-label.directive.mjs +1 -1
  343. package/esm2022/tabs/tab-nav-bar/index.mjs +1 -1
  344. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +46 -49
  345. package/esm2022/tabs/tab.component.mjs +7 -10
  346. package/esm2022/tabs/tabs-animations.mjs +1 -1
  347. package/esm2022/tabs/tabs.module.mjs +2 -2
  348. package/esm2022/tags/public-api.mjs +5 -5
  349. package/esm2022/tags/tag-default-options.mjs +1 -1
  350. package/esm2022/tags/tag-input.mjs +12 -16
  351. package/esm2022/tags/tag-list.component.mjs +15 -27
  352. package/esm2022/tags/tag-text-control.mjs +1 -1
  353. package/esm2022/tags/tag.component.mjs +5 -8
  354. package/esm2022/tags/tag.module.mjs +9 -7
  355. package/esm2022/textarea/index.mjs +1 -1
  356. package/esm2022/textarea/textarea.component.mjs +4 -7
  357. package/esm2022/textarea/textarea.module.mjs +1 -1
  358. package/esm2022/timepicker/public-api.mjs +2 -2
  359. package/esm2022/timepicker/timepicker.constants.mjs +6 -2
  360. package/esm2022/timepicker/timepicker.directive.mjs +62 -31
  361. package/esm2022/timepicker/timepicker.module.mjs +1 -1
  362. package/esm2022/timezone/cities-by-filter.pipe.mjs +1 -1
  363. package/esm2022/timezone/timezone-option.component.mjs +12 -11
  364. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  365. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  366. package/esm2022/timezone/timezone.models.mjs +1 -2
  367. package/esm2022/timezone/timezone.module.mjs +1 -1
  368. package/esm2022/timezone/timezone.utils.mjs +5 -9
  369. package/esm2022/timezone/utc-offset.pipe.mjs +1 -1
  370. package/esm2022/title/public-api.mjs +2 -2
  371. package/esm2022/title/title.directive.mjs +9 -5
  372. package/esm2022/title/title.module.mjs +1 -1
  373. package/esm2022/toast/public-api.mjs +4 -4
  374. package/esm2022/toast/toast-animations.mjs +2 -2
  375. package/esm2022/toast/toast-container.component.mjs +5 -6
  376. package/esm2022/toast/toast.component.mjs +6 -6
  377. package/esm2022/toast/toast.module.mjs +1 -1
  378. package/esm2022/toast/toast.service.mjs +18 -30
  379. package/esm2022/toast/toast.type.mjs +1 -1
  380. package/esm2022/toggle/public-api.mjs +2 -2
  381. package/esm2022/toggle/toggle.component.mjs +17 -11
  382. package/esm2022/toggle/toggle.module.mjs +1 -1
  383. package/esm2022/tooltip/public-api.mjs +2 -2
  384. package/esm2022/tooltip/tooltip.animations.mjs +1 -1
  385. package/esm2022/tooltip/tooltip.component.mjs +7 -7
  386. package/esm2022/tooltip/tooltip.module.mjs +2 -2
  387. package/esm2022/tree/control/base-tree-control.mjs +1 -2
  388. package/esm2022/tree/control/flat-tree-control.filters.mjs +4 -7
  389. package/esm2022/tree/control/flat-tree-control.mjs +4 -7
  390. package/esm2022/tree/control/nested-tree-control.mjs +1 -2
  391. package/esm2022/tree/control/tree-control.mjs +1 -1
  392. package/esm2022/tree/data-source/flat-data-source.mjs +3 -8
  393. package/esm2022/tree/data-source/nested-data-source.mjs +2 -4
  394. package/esm2022/tree/node.mjs +1 -1
  395. package/esm2022/tree/outlet.mjs +1 -1
  396. package/esm2022/tree/padding.directive.mjs +4 -5
  397. package/esm2022/tree/public-api.mjs +11 -11
  398. package/esm2022/tree/toggle.mjs +8 -5
  399. package/esm2022/tree/tree-base.mjs +3 -7
  400. package/esm2022/tree/tree-errors.mjs +1 -1
  401. package/esm2022/tree/tree-option.component.mjs +9 -13
  402. package/esm2022/tree/tree-selection.component.mjs +20 -36
  403. package/esm2022/tree/tree.mjs +7 -3
  404. package/esm2022/tree/tree.module.mjs +2 -3
  405. package/esm2022/tree-select/public-api.mjs +2 -2
  406. package/esm2022/tree-select/tree-select.component.mjs +59 -72
  407. package/esm2022/tree-select/tree-select.module.mjs +1 -1
  408. package/fesm2022/koobiq-components-alert.mjs +10 -6
  409. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  410. package/fesm2022/koobiq-components-autocomplete.mjs +60 -72
  411. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  412. package/fesm2022/koobiq-components-badge.mjs +10 -8
  413. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  414. package/fesm2022/koobiq-components-button-toggle.mjs +30 -24
  415. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  416. package/fesm2022/koobiq-components-button.mjs +14 -11
  417. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  418. package/fesm2022/koobiq-components-card.mjs +4 -5
  419. package/fesm2022/koobiq-components-card.mjs.map +1 -1
  420. package/fesm2022/koobiq-components-checkbox.mjs +3 -5
  421. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  422. package/fesm2022/koobiq-components-code-block.mjs +34 -34
  423. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  424. package/fesm2022/koobiq-components-core.mjs +325 -336
  425. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  426. package/fesm2022/koobiq-components-datepicker.mjs +105 -111
  427. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  428. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  429. package/fesm2022/koobiq-components-dl.mjs +9 -9
  430. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  431. package/fesm2022/koobiq-components-dropdown.mjs +125 -147
  432. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  433. package/fesm2022/koobiq-components-ellipsis-center.mjs +3 -2
  434. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  435. package/fesm2022/koobiq-components-empty-state.mjs +157 -0
  436. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -0
  437. package/fesm2022/koobiq-components-file-upload.mjs +46 -41
  438. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  439. package/fesm2022/koobiq-components-form-field.mjs +75 -73
  440. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  441. package/fesm2022/koobiq-components-icon.mjs +9 -10
  442. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  443. package/fesm2022/koobiq-components-input.mjs +56 -60
  444. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  445. package/fesm2022/koobiq-components-link.mjs +1 -1
  446. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-list.mjs +43 -49
  448. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  449. package/fesm2022/koobiq-components-loader-overlay.mjs +6 -6
  450. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  451. package/fesm2022/koobiq-components-markdown.mjs +18 -4
  452. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  453. package/fesm2022/koobiq-components-modal.mjs +96 -54
  454. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  455. package/fesm2022/koobiq-components-navbar.mjs +82 -86
  456. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  457. package/fesm2022/koobiq-components-popover.mjs +12 -12
  458. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  459. package/fesm2022/koobiq-components-progress-bar.mjs +5 -5
  460. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  461. package/fesm2022/koobiq-components-progress-spinner.mjs +5 -5
  462. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  463. package/fesm2022/koobiq-components-radio.mjs +11 -16
  464. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  465. package/fesm2022/koobiq-components-risk-level.mjs +4 -4
  466. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  467. package/fesm2022/koobiq-components-scrollbar.mjs +22 -24
  468. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  469. package/fesm2022/koobiq-components-select.mjs +55 -78
  470. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  471. package/fesm2022/koobiq-components-sidebar.mjs +5 -7
  472. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  473. package/fesm2022/koobiq-components-sidepanel.mjs +110 -93
  474. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  475. package/fesm2022/koobiq-components-splitter.mjs +15 -26
  476. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  477. package/fesm2022/koobiq-components-table.mjs +5 -5
  478. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  479. package/fesm2022/koobiq-components-tabs.mjs +85 -98
  480. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  481. package/fesm2022/koobiq-components-tags.mjs +39 -56
  482. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  483. package/fesm2022/koobiq-components-textarea.mjs +2 -5
  484. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  485. package/fesm2022/koobiq-components-timepicker.mjs +69 -34
  486. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  487. package/fesm2022/koobiq-components-timezone.mjs +16 -21
  488. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  489. package/fesm2022/koobiq-components-title.mjs +11 -7
  490. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  491. package/fesm2022/koobiq-components-toast.mjs +74 -87
  492. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  493. package/fesm2022/koobiq-components-toggle.mjs +17 -11
  494. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  495. package/fesm2022/koobiq-components-tooltip.mjs +10 -10
  496. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  497. package/fesm2022/koobiq-components-tree-select.mjs +67 -80
  498. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  499. package/fesm2022/koobiq-components-tree.mjs +509 -541
  500. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  501. package/file-upload/_file-upload-theme.scss +28 -18
  502. package/file-upload/file-upload.scss +0 -1
  503. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  504. package/file-upload/multiple-file-upload.component.scss +17 -27
  505. package/file-upload/public-api.d.ts +1 -1
  506. package/file-upload/single-file-upload.component.d.ts +2 -2
  507. package/file-upload/single-file-upload.component.scss +1 -7
  508. package/form-field/_form-field-theme.scss +24 -12
  509. package/form-field/_hint-theme.scss +0 -2
  510. package/form-field/cleaner.scss +0 -1
  511. package/form-field/form-field.scss +12 -14
  512. package/form-field/hint.scss +0 -1
  513. package/form-field/password-toggle.scss +0 -1
  514. package/form-field/public-api.d.ts +3 -3
  515. package/form-field/stepper.scss +0 -1
  516. package/icon/_icon-button-theme.scss +18 -7
  517. package/icon/_icon-theme.scss +0 -1
  518. package/icon/icon-button.scss +2 -5
  519. package/icon/icon-item.scss +2 -5
  520. package/icon/icon.scss +0 -1
  521. package/icon/public-api.d.ts +2 -2
  522. package/input/_input-theme.scss +0 -1
  523. package/input/input.scss +9 -9
  524. package/input/public-api.d.ts +2 -2
  525. package/link/_link-theme.scss +12 -18
  526. package/link/link.component.d.ts +1 -1
  527. package/link/public-api.d.ts +1 -1
  528. package/list/_list-theme.scss +0 -1
  529. package/list/list-selection.component.d.ts +3 -3
  530. package/list/list.scss +1 -3
  531. package/list/public-api.d.ts +2 -2
  532. package/loader-overlay/_loader-overlay-theme.scss +6 -4
  533. package/loader-overlay/loader-overlay.scss +0 -1
  534. package/loader-overlay/public-api.d.ts +1 -1
  535. package/markdown/_markdown-theme.scss +11 -8
  536. package/markdown/markdown.scss +3 -3
  537. package/modal/README.md +4 -3
  538. package/modal/_modal-animation.scss +0 -1
  539. package/modal/_modal-confirm.scss +0 -1
  540. package/modal/_modal-theme.scss +8 -9
  541. package/modal/modal.directive.d.ts +3 -3
  542. package/modal/modal.scss +9 -15
  543. package/modal/modal.type.d.ts +2 -2
  544. package/modal/public-api.d.ts +2 -2
  545. package/navbar/README.md +21 -20
  546. package/navbar/_navbar-item_horizontal.scss +31 -24
  547. package/navbar/_navbar-item_vertical.scss +0 -3
  548. package/navbar/_navbar-theme.scss +3 -6
  549. package/navbar/navbar-brand.scss +0 -1
  550. package/navbar/navbar-divider.scss +0 -1
  551. package/navbar/navbar-item.component.d.ts +1 -1
  552. package/navbar/navbar-item.scss +9 -2
  553. package/navbar/navbar.scss +0 -1
  554. package/navbar/public-api.d.ts +2 -2
  555. package/navbar/vertical-navbar.scss +0 -1
  556. package/package.json +12 -6
  557. package/popover/README.md +17 -14
  558. package/popover/_popover-theme.scss +0 -1
  559. package/popover/popover.component.d.ts +1 -1
  560. package/popover/popover.scss +5 -13
  561. package/popover/public-api.d.ts +2 -2
  562. package/prebuilt-themes/dark-theme.css +1 -1
  563. package/prebuilt-themes/light-theme.css +1 -1
  564. package/progress-bar/_progress-bar-theme.scss +0 -1
  565. package/progress-bar/progress-bar.scss +0 -1
  566. package/progress-bar/public-api.d.ts +1 -1
  567. package/progress-spinner/_progress-spinner-theme.scss +0 -1
  568. package/progress-spinner/progress-spinner.scss +0 -1
  569. package/progress-spinner/public-api.d.ts +1 -1
  570. package/radio/_radio-theme.scss +13 -5
  571. package/radio/public-api.d.ts +1 -1
  572. package/radio/radio.scss +20 -6
  573. package/risk-level/_risk-level-theme.scss +0 -1
  574. package/risk-level/public-api.d.ts +1 -1
  575. package/risk-level/risk-level.component.scss +1 -4
  576. package/schematics/ng-add/index.js +4 -4
  577. package/scrollbar/_scrollbar-component-theme.scss +2 -3
  578. package/scrollbar/public-api.d.ts +1 -1
  579. package/scrollbar/scrollbar.component.scss +56 -44
  580. package/scrollbar/scrollbar.directive.d.ts +1 -1
  581. package/scrollbar/scrollbar.types.d.ts +1 -1
  582. package/select/_select-theme.scss +0 -1
  583. package/select/public-api.d.ts +2 -2
  584. package/select/select.component.d.ts +4 -1
  585. package/select/select.scss +0 -1
  586. package/sidebar/public-api.d.ts +1 -1
  587. package/sidepanel/_sidepanel-theme.scss +0 -1
  588. package/sidepanel/public-api.d.ts +3 -3
  589. package/sidepanel/sidepanel.scss +6 -12
  590. package/splitter/_splitter-theme.scss +0 -1
  591. package/splitter/public-api.d.ts +1 -1
  592. package/splitter/splitter.component.d.ts +2 -2
  593. package/splitter/splitter.scss +0 -1
  594. package/table/_table-theme.scss +7 -7
  595. package/table/public-api.d.ts +1 -1
  596. package/table/table.scss +2 -2
  597. package/tabs/_tabs-common.scss +10 -8
  598. package/tabs/_tabs-theme.scss +0 -1
  599. package/tabs/paginated-tab-header.d.ts +1 -1
  600. package/tabs/public-api.d.ts +5 -5
  601. package/tabs/tab-body.component.d.ts +3 -3
  602. package/tabs/tab-group.component.d.ts +1 -1
  603. package/tabs/tab-group.scss +0 -1
  604. package/tabs/tab-header.scss +0 -6
  605. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +17 -17
  606. package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -1
  607. package/tags/_tag-theme.scss +0 -2
  608. package/tags/public-api.d.ts +4 -4
  609. package/tags/tag-input.d.ts +1 -1
  610. package/tags/tag-list.scss +9 -7
  611. package/tags/tag.component.d.ts +2 -2
  612. package/tags/tag.scss +1 -4
  613. package/textarea/_textarea-theme.scss +0 -1
  614. package/textarea/textarea.component.d.ts +1 -1
  615. package/textarea/textarea.scss +1 -4
  616. package/timepicker/public-api.d.ts +1 -1
  617. package/timepicker/timepicker.constants.d.ts +2 -0
  618. package/timepicker/timepicker.directive.d.ts +10 -3
  619. package/timepicker/timepicker.scss +0 -1
  620. package/timezone/_timezone-option-theme.scss +0 -1
  621. package/timezone/timezone-option.component.scss +0 -1
  622. package/timezone/timezone-option.directive.d.ts +1 -1
  623. package/timezone/timezone-select.component.scss +0 -1
  624. package/timezone/timezone.utils.d.ts +1 -1
  625. package/title/public-api.d.ts +1 -1
  626. package/title/title.directive.d.ts +2 -2
  627. package/toast/_toast-theme.scss +0 -2
  628. package/toast/public-api.d.ts +3 -3
  629. package/toast/toast-container.component.scss +0 -1
  630. package/toast/toast.component.scss +4 -2
  631. package/toast/toast.service.d.ts +2 -2
  632. package/toast/toast.type.d.ts +1 -1
  633. package/toggle/_toggle-theme.scss +10 -9
  634. package/toggle/public-api.d.ts +1 -1
  635. package/toggle/toggle.component.d.ts +2 -2
  636. package/toggle/toggle.scss +0 -1
  637. package/tooltip/_tooltip-theme.scss +0 -1
  638. package/tooltip/public-api.d.ts +1 -1
  639. package/tooltip/tooltip.component.d.ts +2 -2
  640. package/tooltip/tooltip.scss +1 -5
  641. package/tree/_tree-theme.scss +2 -3
  642. package/tree/public-api.d.ts +10 -10
  643. package/tree/toggle.scss +0 -1
  644. package/tree/tree-base.d.ts +1 -1
  645. package/tree/tree-option.component.d.ts +1 -1
  646. package/tree/tree-option.scss +12 -8
  647. package/tree/tree-selection.component.d.ts +3 -2
  648. package/tree-select/_tree-select-theme.scss +0 -1
  649. package/tree-select/public-api.d.ts +1 -1
  650. package/tree-select/tree-select.component.d.ts +9 -4
  651. package/tree-select/tree-select.scss +0 -1
@@ -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 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 ViewEncapsulation,\n ViewChild\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\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\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) { return; }\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 // tslint:disable-next-line:no-empty\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n // tslint:disable-next-line:no-empty\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 kbq-button\n kbq-title\n type=\"button\"\n [kbqStyle]=\"'transparent'\"\n [class.kbq-selected]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex || 0\"\n (click)=\"onToggleClick()\">\n <div class=\"kbq-button-toggle-wrapper\" #kbqTitleText>\n <ng-content></ng-content>\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.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, 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 // tslint:disable-next-line:no-reserved-keywords\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 this.focusMonitor.monitor(this.element.nativeElement, true);\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 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) { return; }\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';\n\nimport { KbqButtonToggle, KbqButtonToggleGroup } from './button-toggle.component';\n\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
+ {"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 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\n class=\"kbq-button-toggle-wrapper\"\n #kbqTitleText\n >\n <ng-content />\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.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, 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 this.focusMonitor.monitor(this.element.nativeElement, true);\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 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":"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"}
@@ -1,14 +1,14 @@
1
1
  import * as i1 from '@angular/cdk/a11y';
2
2
  import { A11yModule } from '@angular/cdk/a11y';
3
- import * as i2 from '@angular/cdk/observers';
4
- import { ObserversModule } from '@angular/cdk/observers';
5
- import { PlatformModule } from '@angular/cdk/platform';
6
- import { CommonModule } from '@angular/common';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
4
  import * as i0 from '@angular/core';
8
5
  import { Directive, SkipSelf, ContentChildren, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, NgModule } from '@angular/core';
9
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
10
6
  import { mixinTabIndex, mixinColor, KbqComponentColors, KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
11
7
  import { KbqIcon } from '@koobiq/components/icon';
8
+ import * as i2 from '@angular/cdk/observers';
9
+ import { ObserversModule } from '@angular/cdk/observers';
10
+ import { PlatformModule } from '@angular/cdk/platform';
11
+ import { CommonModule } from '@angular/common';
12
12
 
13
13
  var KbqButtonStyles;
14
14
  (function (KbqButtonStyles) {
@@ -37,7 +37,8 @@ class KbqButtonCssStyler {
37
37
  updateClassModifierForIcons() {
38
38
  this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
39
39
  this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
40
- this.icons.map((item) => item.getHostElement())
40
+ this.icons
41
+ .map((item) => item.getHostElement())
41
42
  .forEach((iconHostElement) => {
42
43
  this.renderer.removeClass(iconHostElement, leftIconClassName);
43
44
  this.renderer.removeClass(iconHostElement, rightIconClassName);
@@ -45,13 +46,15 @@ class KbqButtonCssStyler {
45
46
  const twoIcons = 2;
46
47
  const filteredNodesWithoutComments = getNodesWithoutComments(this.nativeElement.querySelector('.kbq-button-wrapper').childNodes);
47
48
  const currentIsIconButtonValue = !!this.icons.length &&
48
- this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;
49
+ this.icons.length === filteredNodesWithoutComments.length &&
50
+ this.icons.length <= twoIcons;
49
51
  if (currentIsIconButtonValue !== this.isIconButton) {
50
52
  this.isIconButton = currentIsIconButtonValue;
51
53
  this.cdr.detectChanges();
52
54
  }
53
55
  if (this.icons.length && filteredNodesWithoutComments.length > 1) {
54
- this.icons.map((item) => item.getHostElement())
56
+ this.icons
57
+ .map((item) => item.getHostElement())
55
58
  .forEach((iconHostElement) => {
56
59
  const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);
57
60
  if (iconIndex === 0) {
@@ -81,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
81
84
  type: SkipSelf
82
85
  }] }], propDecorators: { icons: [{
83
86
  type: ContentChildren,
84
- args: [(forwardRef(() => KbqIcon))]
87
+ args: [forwardRef(() => KbqIcon)]
85
88
  }] } });
86
89
  /** @docs-private */
87
90
  class KbqButtonBase {
@@ -154,7 +157,7 @@ class KbqButton extends KbqButtonMixinBase {
154
157
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KbqButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component }); }
155
158
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", 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: [
156
159
  { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }
157
- ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-button-wrapper\" #kbqTitleText (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".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, 32px);min-height:var(--kbq-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width, 2px) solid transparent;border-radius:var(--kbq-button-size-border-radius, 8px)}.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, 6px)}.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, 6px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px)}.kbq-button.kbq-button-icon_left{padding-left:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button.kbq-button-icon_right{padding-right:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button-icon{padding-left:var(--kbq-button-icon-size-horizontal-padding, 8px);padding-right:var(--kbq-button-icon-size-horizontal-padding, 8px)}.kbq-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
+ ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #kbqTitleText\n class=\"kbq-button-wrapper\"\n (cdkObserveContent)=\"projectContentChanged()\"\n>\n <ng-content />\n</div>\n<div\n class=\"kbq-button-overlay\"\n (click)=\"haltDisabledEvents($event)\"\n></div>\n", styles: [".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, 32px);min-height:var(--kbq-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width, 1px) solid transparent;border-radius:var(--kbq-button-size-border-radius, 8px)}.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, 6px)}.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, 6px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px)}.kbq-button.kbq-button-icon_left{padding-left:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button.kbq-button-icon_right{padding-right:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button-icon{padding-left:var(--kbq-button-icon-size-horizontal-padding, 8px);padding-right:var(--kbq-button-icon-size-horizontal-padding, 8px)}.kbq-button-overlay{position:absolute;inset:-1px;border-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
158
161
  }
159
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqButton, decorators: [{
160
163
  type: Component,
@@ -167,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
167
170
  '(blur)': 'onBlur()'
168
171
  }, providers: [
169
172
  { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }
170
- ], template: "<div class=\"kbq-button-wrapper\" #kbqTitleText (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".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, 32px);min-height:var(--kbq-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width, 2px) solid transparent;border-radius:var(--kbq-button-size-border-radius, 8px)}.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, 6px)}.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, 6px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px)}.kbq-button.kbq-button-icon_left{padding-left:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button.kbq-button-icon_right{padding-right:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button-icon{padding-left:var(--kbq-button-icon-size-horizontal-padding, 8px);padding-right:var(--kbq-button-icon-size-horizontal-padding, 8px)}.kbq-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"] }]
173
+ ], template: "<div\n #kbqTitleText\n class=\"kbq-button-wrapper\"\n (cdkObserveContent)=\"projectContentChanged()\"\n>\n <ng-content />\n</div>\n<div\n class=\"kbq-button-overlay\"\n (click)=\"haltDisabledEvents($event)\"\n></div>\n", styles: [".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, 32px);min-height:var(--kbq-button-size-height, 32px);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width, 1px) solid transparent;border-radius:var(--kbq-button-size-border-radius, 8px)}.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, 6px)}.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, 6px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px);padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px)}.kbq-button.kbq-button-icon_left{padding-left:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button.kbq-button-icon_right{padding-right:var(--kbq-button-size-horizontal-padding, 12px)}.kbq-button-icon{padding-left:var(--kbq-button-icon-size-horizontal-padding, 8px);padding-right:var(--kbq-button-icon-size-horizontal-padding, 8px)}.kbq-button-overlay{position:absolute;inset:-1px;border-radius:inherit}\n"] }]
171
174
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: KbqButtonCssStyler }], propDecorators: { textElement: [{
172
175
  type: ViewChild,
173
176
  args: ['kbqTitleText', { static: false }]
@@ -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.module.ts","../../../packages/components/button/koobiq-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n SkipSelf,\n Input,\n forwardRef, ViewChild\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor,\n KbqComponentColors,\n KbqTitleTextRef,\n KBQ_TITLE_TEXT_REF,\n} from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\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(elementRef: ElementRef, private renderer: Renderer2, @SkipSelf() private cdr: ChangeDetectorRef) {\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.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 = !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length && 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.map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n const iconIndex = filteredNodesWithoutComments.findIndex(\n (node) => node === iconHostElement\n );\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 &\n typeof KbqButtonBase = mixinTabIndex(mixinColor(KbqButtonBase, KbqComponentColors.ContrastFade));\n\n\n@Component({\n selector: '[kbq-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.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 ]\n})\nexport class KbqButton extends KbqButtonMixinBase implements OnDestroy, CanDisable, CanColor, 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()\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(elementRef: ElementRef, private focusMonitor: FocusMonitor, private styler: KbqButtonCssStyler) {\n super(elementRef);\n\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\n","<div class=\"kbq-button-wrapper\" #kbqTitleText (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n KbqButton,\n KbqButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler\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.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 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'],\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 extends KbqButtonMixinBase implements OnDestroy, CanDisable, CanColor, 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()\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 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\n #kbqTitleText\n class=\"kbq-button-wrapper\"\n (cdkObserveContent)=\"projectContentChanged()\"\n>\n <ng-content />\n</div>\n<div\n class=\"kbq-button-overlay\"\n (click)=\"haltDisabledEvents($event)\"\n></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButton, KbqButtonCssStyler } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler\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,11 +1,11 @@
1
1
  import * as i1 from '@angular/cdk/a11y';
2
2
  import { A11yModule } from '@angular/cdk/a11y';
3
- import { PlatformModule } from '@angular/cdk/platform';
4
- import { CommonModule } from '@angular/common';
5
3
  import * as i0 from '@angular/core';
6
4
  import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
7
5
  import { SPACE } from '@koobiq/cdk/keycodes';
8
6
  import { mixinColor } from '@koobiq/components/core';
7
+ import { PlatformModule } from '@angular/cdk/platform';
8
+ import { CommonModule } from '@angular/common';
9
9
 
10
10
  /** @docs-private */
11
11
  class KbqCardBase {
@@ -44,7 +44,6 @@ class KbqCard extends KbqCardBaseMixin {
44
44
  }
45
45
  }
46
46
  onKeyDown($event) {
47
- // tslint:disable-next-line:deprecation
48
47
  switch ($event.keyCode) {
49
48
  case SPACE:
50
49
  if (!this.readonly) {
@@ -59,7 +58,7 @@ class KbqCard extends KbqCardBaseMixin {
59
58
  return this.elementRef.nativeElement;
60
59
  }
61
60
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCard, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
62
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqCard, selector: "kbq-card", inputs: { color: "color", readonly: "readonly", selected: "selected", tabIndex: "tabIndex" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.kbq-card_readonly": "readonly", "class.kbq-selected": "selected", "attr.tabindex": "tabIndex" }, classAttribute: "kbq-card" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"kbq-card__overlay\"></div>\n", styles: [".kbq-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-left-width:var(--kbq-card-size-vertical-line, 4px);border-left-style:solid;border-left-color:transparent}.kbq-card:focus{outline:none}.kbq-card .kbq-card__overlay{inset:0;position:absolute;pointer-events:none;background:transparent}.kbq-card.kbq-card_readonly{cursor:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
61
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqCard, selector: "kbq-card", inputs: { color: "color", readonly: "readonly", selected: "selected", tabIndex: "tabIndex" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.kbq-card_readonly": "readonly", "class.kbq-selected": "selected", "attr.tabindex": "tabIndex" }, classAttribute: "kbq-card" }, usesInheritance: true, ngImport: i0, template: "<ng-content />\n<div class=\"kbq-card__overlay\"></div>\n", styles: [".kbq-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-left-width:var(--kbq-card-size-vertical-line, 4px);border-left-style:solid;border-left-color:transparent}.kbq-card:focus{outline:none}.kbq-card .kbq-card__overlay{inset:0;position:absolute;pointer-events:none;background:transparent}.kbq-card.kbq-card_readonly{cursor:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
62
  }
64
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCard, decorators: [{
65
64
  type: Component,
@@ -70,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
70
69
  '[attr.tabindex]': 'tabIndex',
71
70
  '(keydown)': 'onKeyDown($event)',
72
71
  '(click)': 'onClick($event)'
73
- }, template: "<ng-content></ng-content>\n<div class=\"kbq-card__overlay\"></div>\n", styles: [".kbq-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-left-width:var(--kbq-card-size-vertical-line, 4px);border-left-style:solid;border-left-color:transparent}.kbq-card:focus{outline:none}.kbq-card .kbq-card__overlay{inset:0;position:absolute;pointer-events:none;background:transparent}.kbq-card.kbq-card_readonly{cursor:auto}\n"] }]
72
+ }, template: "<ng-content />\n<div class=\"kbq-card__overlay\"></div>\n", styles: [".kbq-card{position:relative;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-left-width:var(--kbq-card-size-vertical-line, 4px);border-left-style:solid;border-left-color:transparent}.kbq-card:focus{outline:none}.kbq-card .kbq-card__overlay{inset:0;position:absolute;pointer-events:none;background:transparent}.kbq-card.kbq-card_readonly{cursor:auto}\n"] }]
74
73
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }], propDecorators: { readonly: [{
75
74
  type: Input
76
75
  }], selected: [{
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-card.mjs","sources":["../../../packages/components/card/card.component.ts","../../../packages/components/card/card.component.html","../../../packages/components/card/card.module.ts","../../../packages/components/card/koobiq-components-card.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n Output,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n EventEmitter,\n ViewEncapsulation\n} from '@angular/core';\nimport { SPACE } from '@koobiq/cdk/keycodes';\nimport { CanColorCtor, mixinColor } from '@koobiq/components/core';\n\n\n/** @docs-private */\nexport class KbqCardBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const KbqCardBaseMixin: CanColorCtor & typeof KbqCardBase = mixinColor(KbqCardBase);\n\n\n@Component({\n selector: 'kbq-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color'],\n host: {\n class: 'kbq-card',\n '[class.kbq-card_readonly]': 'readonly',\n '[class.kbq-selected]': 'selected',\n '[attr.tabindex]': 'tabIndex',\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class KbqCard extends KbqCardBaseMixin implements OnDestroy {\n @Input()\n readonly = false;\n\n @Input()\n selected = false;\n\n @Output()\n selectedChange = new EventEmitter<boolean>();\n\n @Input()\n get tabIndex(): number | null {\n return this.readonly ? null : this._tabIndex;\n }\n\n set tabIndex(value: number | null) {\n this._tabIndex = value;\n }\n\n private _tabIndex: number | null = 0;\n\n constructor(elementRef: ElementRef, private _focusMonitor: FocusMonitor) {\n super(elementRef);\n\n this._focusMonitor.monitor(this.elementRef.nativeElement, false);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.hostElement.focus();\n }\n\n onClick($event: MouseEvent) {\n if (!this.readonly) {\n $event.stopPropagation();\n\n this.selectedChange.emit(!this.selected);\n }\n }\n\n onKeyDown($event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch ($event.keyCode) {\n case SPACE:\n if (!this.readonly) {\n $event.preventDefault();\n this.selectedChange.emit(!this.selected);\n }\n break;\n default:\n }\n }\n\n private get hostElement() {\n return this.elementRef.nativeElement;\n }\n}\n","<ng-content></ng-content>\n<div class=\"kbq-card__overlay\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n KbqCard\n} from './card.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n exports: [KbqCard],\n declarations: [KbqCard]\n})\nexport class KbqCardModule {}\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-card.mjs","sources":["../../../packages/components/card/card.component.ts","../../../packages/components/card/card.component.html","../../../packages/components/card/card.module.ts","../../../packages/components/card/koobiq-components-card.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { SPACE } from '@koobiq/cdk/keycodes';\nimport { CanColorCtor, mixinColor } from '@koobiq/components/core';\n\n/** @docs-private */\nexport class KbqCardBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const KbqCardBaseMixin: CanColorCtor & typeof KbqCardBase = mixinColor(KbqCardBase);\n\n@Component({\n selector: 'kbq-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color'],\n host: {\n class: 'kbq-card',\n '[class.kbq-card_readonly]': 'readonly',\n '[class.kbq-selected]': 'selected',\n '[attr.tabindex]': 'tabIndex',\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class KbqCard extends KbqCardBaseMixin implements OnDestroy {\n @Input()\n readonly = false;\n\n @Input()\n selected = false;\n\n @Output()\n selectedChange = new EventEmitter<boolean>();\n\n @Input()\n get tabIndex(): number | null {\n return this.readonly ? null : this._tabIndex;\n }\n\n set tabIndex(value: number | null) {\n this._tabIndex = value;\n }\n\n private _tabIndex: number | null = 0;\n\n constructor(\n elementRef: ElementRef,\n private _focusMonitor: FocusMonitor\n ) {\n super(elementRef);\n\n this._focusMonitor.monitor(this.elementRef.nativeElement, false);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.hostElement.focus();\n }\n\n onClick($event: MouseEvent) {\n if (!this.readonly) {\n $event.stopPropagation();\n\n this.selectedChange.emit(!this.selected);\n }\n }\n\n onKeyDown($event: KeyboardEvent) {\n switch ($event.keyCode) {\n case SPACE:\n if (!this.readonly) {\n $event.preventDefault();\n this.selectedChange.emit(!this.selected);\n }\n break;\n default:\n }\n }\n\n private get hostElement() {\n return this.elementRef.nativeElement;\n }\n}\n","<ng-content />\n<div class=\"kbq-card__overlay\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqCard } from './card.component';\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n exports: [KbqCard],\n declarations: [KbqCard]\n})\nexport class KbqCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -139,9 +139,7 @@ class KbqCheckbox extends KbqCheckboxMixinBase {
139
139
  * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.
140
140
  * @docs-private
141
141
  */
142
- // tslint:disable-next-line:no-empty
143
142
  this.onTouched = () => { };
144
- // tslint:disable-next-line:no-empty
145
143
  this.controlValueAccessorChangeFn = () => { };
146
144
  this.id = this.uniqueId;
147
145
  }
@@ -177,7 +175,7 @@ class KbqCheckbox extends KbqCheckboxMixinBase {
177
175
  this.disabled = isDisabled;
178
176
  }
179
177
  getAriaChecked() {
180
- return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');
178
+ return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';
181
179
  }
182
180
  /** Toggles the `checked` state of the checkbox. */
183
181
  toggle() {
@@ -260,7 +258,7 @@ class KbqCheckbox extends KbqCheckboxMixinBase {
260
258
  }
261
259
  }
262
260
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCheckbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: KBQ_CHECKBOX_CLICK_ACTION, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
263
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqCheckbox, selector: "kbq-checkbox", inputs: { color: "color", tabIndex: "tabIndex", big: "big", id: "id", labelPosition: "labelPosition", name: "name", value: "value", required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "id": "id", "attr.id": "id", "attr.disabled": "disabled", "class.kbq-checkbox_big": "big", "class.kbq-indeterminate": "indeterminate", "class.kbq-checked": "checked", "class.kbq-disabled": "disabled", "class.kbq-checkbox_label-before": "labelPosition == \"before\"" }, classAttribute: "kbq-checkbox" }, providers: [KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqCheckbox"], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"inputId\" class=\"kbq-checkbox__layout\" #label>\n <div class=\"kbq-checkbox__inner-container\"\n [class.kbq-checkbox__inner-container_no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"kbq-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"kbq-checkbox__frame\">\n <i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"kbq-checkbox__text-container\">\n <span class=\"kbq-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-checkbox-checkmark,.kbq-checkbox-mixedmark{display:none}.kbq-checkbox__frame{display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-top:var(--kbq-checkbox-size-normal-paddding-top, );padding-bottom:var(--kbq-checkbox-size-normal-paddding-bottom, );padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.kbq-checkbox__inner-container{display:inline-block;position:absolute;top:var(--kbq-checkbox-size-normal-top, 2px);left:0;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.kbq-checkbox.kbq-checked .kbq-checkbox-checkmark{display:block}.kbq-checkbox.kbq-checked .kbq-checkbox-mixedmark,.kbq-checkbox.kbq-indeterminate .kbq-checkbox-checkmark{display:none}.kbq-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:block}.kbq-checkbox.kbq-disabled{cursor:default}.kbq-checkbox.kbq-disabled .kbq-checkbox__frame{box-shadow:none}.kbq-checkbox .kbq-hint{margin-top:var(--kbq-checkbox-size-normal-vertical-content-padding, 2px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__layout{padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__inner-container{top:var(--kbq-checkbox-size-big-top, 4px);height:var(--kbq-checkbox-size-big-width, 16px);width:var(--kbq-checkbox-size-big-width, 16px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__frame{border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px);border-style:solid}.kbq-checkbox.kbq-checkbox_big .kbq-hint{margin-top:var(--kbq-checkbox-size-big-vertical-content-padding, 2px)}.kbq-checkbox__text-container{display:flex;flex-direction:column}.kbq-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.kbq-checkbox_label-before .kbq-checkbox__layout{padding-left:0;padding-right:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox_label-before .kbq-checkbox__inner-container{right:0;left:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
261
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqCheckbox, selector: "kbq-checkbox", inputs: { color: "color", tabIndex: "tabIndex", big: "big", id: "id", labelPosition: "labelPosition", name: "name", value: "value", required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "id": "id", "attr.id": "id", "attr.disabled": "disabled", "class.kbq-checkbox_big": "big", "class.kbq-indeterminate": "indeterminate", "class.kbq-checked": "checked", "class.kbq-disabled": "disabled", "class.kbq-checkbox_label-before": "labelPosition == \"before\"" }, classAttribute: "kbq-checkbox" }, providers: [KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqCheckbox"], usesInheritance: true, ngImport: i0, template: "<label\n #label\n class=\"kbq-checkbox__layout\"\n [attr.for]=\"inputId\"\n>\n <div\n class=\"kbq-checkbox__inner-container\"\n [class.kbq-checkbox__inner-container_no-side-margin]=\"\n !checkboxLabel.textContent || !checkboxLabel.textContent.trim()\n \"\n >\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-checkbox-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"kbq-checkbox__frame\">\n <i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"kbq-checkbox__text-container\">\n <span\n #checkboxLabel\n class=\"kbq-checkbox-label\"\n (cdkObserveContent)=\"onLabelTextChange()\"\n >\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: [".kbq-checkbox-checkmark,.kbq-checkbox-mixedmark{display:none}.kbq-checkbox__frame{display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-top:var(--kbq-checkbox-size-normal-paddding-top, );padding-bottom:var(--kbq-checkbox-size-normal-paddding-bottom, );padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.kbq-checkbox__inner-container{display:inline-block;position:absolute;top:var(--kbq-checkbox-size-normal-top, 2px);left:0;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.kbq-checkbox.kbq-checked .kbq-checkbox-checkmark{display:block}.kbq-checkbox.kbq-checked .kbq-checkbox-mixedmark,.kbq-checkbox.kbq-indeterminate .kbq-checkbox-checkmark{display:none}.kbq-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:block}.kbq-checkbox.kbq-disabled{cursor:default}.kbq-checkbox.kbq-disabled .kbq-checkbox__frame{box-shadow:none}.kbq-checkbox .kbq-hint{margin-top:var(--kbq-checkbox-size-normal-vertical-content-padding, 2px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__layout{padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__inner-container{top:var(--kbq-checkbox-size-big-top, 4px);height:var(--kbq-checkbox-size-big-width, 16px);width:var(--kbq-checkbox-size-big-width, 16px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__frame{border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px);border-style:solid}.kbq-checkbox.kbq-checkbox_big .kbq-hint{margin-top:var(--kbq-checkbox-size-big-vertical-content-padding, 2px)}.kbq-checkbox__text-container{display:flex;flex-direction:column}.kbq-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.kbq-checkbox_label-before .kbq-checkbox__layout{padding-left:0;padding-right:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox_label-before .kbq-checkbox__inner-container{right:0;left:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
264
262
  }
265
263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCheckbox, decorators: [{
266
264
  type: Component,
@@ -274,7 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
274
272
  '[class.kbq-checked]': 'checked',
275
273
  '[class.kbq-disabled]': 'disabled',
276
274
  '[class.kbq-checkbox_label-before]': 'labelPosition == "before"'
277
- }, providers: [KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [attr.for]=\"inputId\" class=\"kbq-checkbox__layout\" #label>\n <div class=\"kbq-checkbox__inner-container\"\n [class.kbq-checkbox__inner-container_no-side-margin]=\"!checkboxLabel.textContent || !checkboxLabel.textContent.trim()\">\n <input #input\n type=\"checkbox\"\n class=\"kbq-checkbox-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\">\n <div class=\"kbq-checkbox__frame\">\n <i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"kbq-checkbox__text-container\">\n <span class=\"kbq-checkbox-label\" #checkboxLabel (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-checkbox-checkmark,.kbq-checkbox-mixedmark{display:none}.kbq-checkbox__frame{display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-top:var(--kbq-checkbox-size-normal-paddding-top, );padding-bottom:var(--kbq-checkbox-size-normal-paddding-bottom, );padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.kbq-checkbox__inner-container{display:inline-block;position:absolute;top:var(--kbq-checkbox-size-normal-top, 2px);left:0;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.kbq-checkbox.kbq-checked .kbq-checkbox-checkmark{display:block}.kbq-checkbox.kbq-checked .kbq-checkbox-mixedmark,.kbq-checkbox.kbq-indeterminate .kbq-checkbox-checkmark{display:none}.kbq-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:block}.kbq-checkbox.kbq-disabled{cursor:default}.kbq-checkbox.kbq-disabled .kbq-checkbox__frame{box-shadow:none}.kbq-checkbox .kbq-hint{margin-top:var(--kbq-checkbox-size-normal-vertical-content-padding, 2px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__layout{padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__inner-container{top:var(--kbq-checkbox-size-big-top, 4px);height:var(--kbq-checkbox-size-big-width, 16px);width:var(--kbq-checkbox-size-big-width, 16px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__frame{border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px);border-style:solid}.kbq-checkbox.kbq-checkbox_big .kbq-hint{margin-top:var(--kbq-checkbox-size-big-vertical-content-padding, 2px)}.kbq-checkbox__text-container{display:flex;flex-direction:column}.kbq-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.kbq-checkbox_label-before .kbq-checkbox__layout{padding-left:0;padding-right:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox_label-before .kbq-checkbox__inner-container{right:0;left:unset}\n"] }]
275
+ }, providers: [KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n #label\n class=\"kbq-checkbox__layout\"\n [attr.for]=\"inputId\"\n>\n <div\n class=\"kbq-checkbox__inner-container\"\n [class.kbq-checkbox__inner-container_no-side-margin]=\"\n !checkboxLabel.textContent || !checkboxLabel.textContent.trim()\n \"\n >\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-checkbox-input cdk-visually-hidden\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"kbq-checkbox__frame\">\n <i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n <i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n </div>\n </div>\n\n <div class=\"kbq-checkbox__text-container\">\n <span\n #checkboxLabel\n class=\"kbq-checkbox-label\"\n (cdkObserveContent)=\"onLabelTextChange()\"\n >\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n</label>\n", styles: [".kbq-checkbox-checkmark,.kbq-checkbox-mixedmark{display:none}.kbq-checkbox__frame{display:flex;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;background-color:transparent;border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox__layout{position:relative;display:inline-flex;cursor:inherit;padding-top:var(--kbq-checkbox-size-normal-paddding-top, );padding-bottom:var(--kbq-checkbox-size-normal-paddding-bottom, );padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px));vertical-align:top}.kbq-checkbox__inner-container{display:inline-block;position:absolute;top:var(--kbq-checkbox-size-normal-top, 2px);left:0;height:var(--kbq-checkbox-size-normal-width, 16px);width:var(--kbq-checkbox-size-normal-width, 16px)}.kbq-checkbox{display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent}.kbq-checkbox.kbq-checked .kbq-checkbox-checkmark{display:block}.kbq-checkbox.kbq-checked .kbq-checkbox-mixedmark,.kbq-checkbox.kbq-indeterminate .kbq-checkbox-checkmark{display:none}.kbq-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:block}.kbq-checkbox.kbq-disabled{cursor:default}.kbq-checkbox.kbq-disabled .kbq-checkbox__frame{box-shadow:none}.kbq-checkbox .kbq-hint{margin-top:var(--kbq-checkbox-size-normal-vertical-content-padding, 2px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__layout{padding-left:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__inner-container{top:var(--kbq-checkbox-size-big-top, 4px);height:var(--kbq-checkbox-size-big-width, 16px);width:var(--kbq-checkbox-size-big-width, 16px)}.kbq-checkbox.kbq-checkbox_big .kbq-checkbox__frame{border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px);border-style:solid}.kbq-checkbox.kbq-checkbox_big .kbq-hint{margin-top:var(--kbq-checkbox-size-big-vertical-content-padding, 2px)}.kbq-checkbox__text-container{display:flex;flex-direction:column}.kbq-checkbox__inner-container_no-side-margin{margin-left:0;margin-right:0}.kbq-checkbox_label-before .kbq-checkbox__layout{padding-left:0;padding-right:calc(var(--kbq-checkbox-size-normal-width, 16px) + var(--kbq-checkbox-size-normal-horizontal-content-padding, 8px))}.kbq-checkbox_label-before .kbq-checkbox__inner-container{right:0;left:unset}\n"] }]
278
276
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
279
277
  type: Optional
280
278
  }, {