@koobiq/components 16.0.0-beta.1 → 16.0.0-beta.11

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 (479) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/autocomplete/_autocomplete-theme.scss +3 -10
  4. package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
  5. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  6. package/autocomplete/autocomplete.component.d.ts +1 -1
  7. package/autocomplete/autocomplete.scss +0 -8
  8. package/badge/README.md +0 -0
  9. package/{core/styles/theming/_badges-theme.scss → badge/_badge-theme.scss} +14 -13
  10. package/badge/badge.component.d.ts +44 -0
  11. package/badge/badge.component.scss +83 -0
  12. package/badge/badge.module.d.ts +10 -0
  13. package/badge/index.d.ts +1 -0
  14. package/badge/public-api.d.ts +2 -0
  15. package/button/_button-base.scss +1 -1
  16. package/button/_button-theme.scss +35 -27
  17. package/button/button.scss +5 -2
  18. package/button-toggle/_button-toggle-theme.scss +26 -45
  19. package/button-toggle/button-toggle.component.d.ts +2 -2
  20. package/button-toggle/button-toggle.scss +40 -87
  21. package/card/_card-theme.scss +1 -1
  22. package/checkbox/README.md +1 -1
  23. package/checkbox/_checkbox-theme.scss +10 -2
  24. package/checkbox/checkbox.d.ts +2 -2
  25. package/code-block/README.md +14 -14
  26. package/code-block/_code-block-theme.scss +49 -10
  27. package/code-block/actionbar.component.scss +34 -6
  28. package/code-block/code-block.component.d.ts +2 -2
  29. package/code-block/code-block.scss +101 -27
  30. package/core/animation/index.d.ts +1 -1
  31. package/core/animation/select-animations.d.ts +1 -1
  32. package/core/common-behaviors/color.d.ts +1 -1
  33. package/core/common-behaviors/common-module.d.ts +1 -1
  34. package/core/formatters/index.d.ts +1 -1
  35. package/core/formatters/number/formatter.d.ts +56 -1
  36. package/core/forms/_forms-theme.scss +4 -4
  37. package/core/forms/_forms.scss +1 -3
  38. package/core/forms/forms.directive.d.ts +2 -2
  39. package/core/locales/en-US.d.ts +19 -1
  40. package/core/locales/es-LA.d.ts +27 -0
  41. package/core/locales/fa-IR.d.ts +28 -0
  42. package/core/locales/locale-service.d.ts +148 -3
  43. package/core/locales/pt-BR.d.ts +27 -0
  44. package/core/locales/ru-RU.d.ts +20 -1
  45. package/core/locales/zh-CN.d.ts +26 -0
  46. package/core/option/_optgroup-theme.scss +1 -1
  47. package/core/option/_option-action-theme.scss +1 -1
  48. package/core/option/_option-theme.scss +37 -14
  49. package/core/option/action.d.ts +1 -1
  50. package/core/option/action.scss +4 -5
  51. package/core/option/optgroup.d.ts +1 -1
  52. package/core/option/option.d.ts +37 -8
  53. package/core/option/option.scss +5 -50
  54. package/core/overlay/overlay-position-map.d.ts +7 -1
  55. package/core/pop-up/constants.d.ts +2 -1
  56. package/core/public-api.d.ts +1 -0
  57. package/core/select/constants.d.ts +2 -2
  58. package/core/services/theme.service.d.ts +23 -0
  59. package/core/styles/_koobiq-theme.scss +12 -1
  60. package/core/styles/_tokens.kbq.import.scss +4 -4
  61. package/core/styles/_tokens.scss +4 -4
  62. package/core/styles/_variables.scss +1 -0
  63. package/core/styles/common/_animation.scss +10 -6
  64. package/core/styles/common/_list.scss +123 -0
  65. package/core/styles/common/_overlay.scss +1 -1
  66. package/core/styles/common/_select.scss +232 -0
  67. package/core/styles/theming/_components-theming.scss +716 -102
  68. package/core/styles/theming/_theming.scss +201 -30
  69. package/core/styles/typography/_typography.scss +176 -5
  70. package/datepicker/_datepicker-theme.scss +43 -57
  71. package/datepicker/calendar-body.component.d.ts +1 -1
  72. package/datepicker/calendar-body.scss +11 -26
  73. package/datepicker/calendar-header.component.d.ts +9 -3
  74. package/datepicker/calendar-header.scss +7 -31
  75. package/datepicker/calendar.component.d.ts +4 -5
  76. package/datepicker/calendar.scss +20 -25
  77. package/datepicker/datepicker-animations.d.ts +2 -2
  78. package/datepicker/datepicker-content.scss +17 -10
  79. package/datepicker/datepicker-input.directive.d.ts +4 -4
  80. package/datepicker/datepicker-input.scss +1 -1
  81. package/datepicker/datepicker-toggle.component.d.ts +3 -3
  82. package/datepicker/datepicker.component.d.ts +2 -2
  83. package/datepicker/month-view.component.d.ts +5 -6
  84. package/dl/_dl-theme.scss +2 -56
  85. package/dl/dl.component.d.ts +1 -2
  86. package/dl/dl.scss +10 -47
  87. package/dropdown/_dropdown-theme.scss +29 -37
  88. package/dropdown/dropdown-animations.d.ts +1 -1
  89. package/dropdown/dropdown-content.directive.d.ts +1 -1
  90. package/dropdown/dropdown-item.component.d.ts +1 -1
  91. package/dropdown/dropdown-item.scss +18 -40
  92. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  93. package/dropdown/dropdown.component.d.ts +1 -1
  94. package/dropdown/dropdown.scss +16 -39
  95. package/dropdown/dropdown.types.d.ts +1 -1
  96. package/esm2022/alert/alert.component.mjs +3 -3
  97. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
  98. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +34 -31
  99. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  100. package/esm2022/badge/badge.component.mjs +122 -0
  101. package/esm2022/badge/badge.module.mjs +40 -0
  102. package/esm2022/badge/index.mjs +2 -0
  103. package/esm2022/badge/koobiq-components-badge.mjs +5 -0
  104. package/esm2022/badge/public-api.mjs +3 -0
  105. package/esm2022/button/button.component.mjs +4 -3
  106. package/esm2022/button-toggle/button-toggle.component.mjs +15 -15
  107. package/esm2022/checkbox/checkbox.mjs +4 -4
  108. package/esm2022/code-block/actionbar.component.mjs +3 -3
  109. package/esm2022/code-block/code-block.component.mjs +11 -9
  110. package/esm2022/core/animation/index.mjs +2 -2
  111. package/esm2022/core/animation/select-animations.mjs +4 -4
  112. package/esm2022/core/common-behaviors/color.mjs +1 -1
  113. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  114. package/esm2022/core/formatters/index.mjs +10 -2
  115. package/esm2022/core/formatters/number/formatter.mjs +224 -3
  116. package/esm2022/core/forms/forms.directive.mjs +5 -5
  117. package/esm2022/core/locales/en-US.mjs +22 -4
  118. package/esm2022/core/locales/es-LA.mjs +31 -2
  119. package/esm2022/core/locales/fa-IR.mjs +30 -2
  120. package/esm2022/core/locales/locale-service.mjs +4 -4
  121. package/esm2022/core/locales/pt-BR.mjs +29 -2
  122. package/esm2022/core/locales/ru-RU.mjs +23 -2
  123. package/esm2022/core/locales/zh-CN.mjs +28 -2
  124. package/esm2022/core/option/action.mjs +8 -7
  125. package/esm2022/core/option/optgroup.mjs +3 -3
  126. package/esm2022/core/option/option.mjs +47 -10
  127. package/esm2022/core/overlay/overlay-position-map.mjs +8 -1
  128. package/esm2022/core/pop-up/constants.mjs +2 -1
  129. package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -3
  130. package/esm2022/core/public-api.mjs +2 -1
  131. package/esm2022/core/select/constants.mjs +3 -3
  132. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  133. package/esm2022/core/services/theme.service.mjs +60 -0
  134. package/esm2022/core/version.mjs +2 -2
  135. package/esm2022/datepicker/calendar-body.component.mjs +7 -5
  136. package/esm2022/datepicker/calendar-header.component.mjs +9 -8
  137. package/esm2022/datepicker/calendar.component.mjs +8 -17
  138. package/esm2022/datepicker/datepicker-animations.mjs +3 -3
  139. package/esm2022/datepicker/datepicker-input.directive.mjs +29 -20
  140. package/esm2022/datepicker/datepicker-toggle.component.mjs +6 -6
  141. package/esm2022/datepicker/datepicker.component.mjs +12 -12
  142. package/esm2022/datepicker/month-view.component.mjs +9 -18
  143. package/esm2022/dl/dl.component.mjs +3 -7
  144. package/esm2022/dropdown/dropdown-animations.mjs +4 -4
  145. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  146. package/esm2022/dropdown/dropdown-errors.mjs +6 -6
  147. package/esm2022/dropdown/dropdown-item.component.mjs +7 -6
  148. package/esm2022/dropdown/dropdown-trigger.directive.mjs +10 -9
  149. package/esm2022/dropdown/dropdown.component.mjs +9 -9
  150. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  151. package/esm2022/file-upload/file-drop.mjs +43 -6
  152. package/esm2022/file-upload/file-upload.mjs +1 -1
  153. package/esm2022/file-upload/multiple-file-upload.component.mjs +13 -9
  154. package/esm2022/file-upload/single-file-upload.component.mjs +16 -13
  155. package/esm2022/form-field/cleaner.mjs +3 -3
  156. package/esm2022/form-field/form-field.mjs +12 -15
  157. package/esm2022/form-field/hint.mjs +16 -6
  158. package/esm2022/form-field/password-hint.mjs +25 -16
  159. package/esm2022/form-field/password-toggle.mjs +29 -12
  160. package/esm2022/form-field/prefix.mjs +3 -3
  161. package/esm2022/form-field/suffix.mjs +3 -3
  162. package/esm2022/form-field/validate.directive.mjs +15 -9
  163. package/esm2022/icon/icon-button.component.mjs +68 -0
  164. package/esm2022/icon/icon-item.component.mjs +27 -0
  165. package/esm2022/icon/icon.component.mjs +5 -90
  166. package/esm2022/icon/icon.module.mjs +4 -2
  167. package/esm2022/icon/public-api.mjs +3 -1
  168. package/esm2022/input/input-errors.mjs +2 -2
  169. package/esm2022/input/input-number.mjs +260 -44
  170. package/esm2022/input/input-password.mjs +5 -5
  171. package/esm2022/input/input.mjs +7 -7
  172. package/esm2022/link/link.component.mjs +14 -13
  173. package/esm2022/list/list-selection.component.mjs +23 -10
  174. package/esm2022/list/list.component.mjs +2 -2
  175. package/esm2022/list/list.module.mjs +8 -4
  176. package/esm2022/loader-overlay/loader-overlay.component.mjs +20 -19
  177. package/esm2022/modal/modal-control.service.mjs +5 -5
  178. package/esm2022/modal/modal-ref.class.mjs +1 -1
  179. package/esm2022/modal/modal.component.mjs +129 -134
  180. package/esm2022/modal/modal.module.mjs +13 -7
  181. package/esm2022/modal/modal.service.mjs +23 -23
  182. package/esm2022/modal/modal.type.mjs +1 -3
  183. package/esm2022/navbar/navbar-item.component.mjs +19 -18
  184. package/esm2022/navbar/navbar.component.mjs +20 -11
  185. package/esm2022/navbar/vertical-navbar.animation.mjs +2 -2
  186. package/esm2022/navbar/vertical-navbar.component.mjs +11 -8
  187. package/esm2022/popover/popover-animations.mjs +2 -2
  188. package/esm2022/popover/popover-confirm.component.mjs +9 -11
  189. package/esm2022/popover/popover.component.mjs +24 -24
  190. package/esm2022/progress-spinner/progress-spinner.component.mjs +3 -3
  191. package/esm2022/radio/radio.component.mjs +11 -8
  192. package/esm2022/risk-level/index.mjs +2 -0
  193. package/esm2022/risk-level/koobiq-components-risk-level.mjs +5 -0
  194. package/esm2022/risk-level/public-api.mjs +3 -0
  195. package/esm2022/risk-level/risk-level.component.mjs +40 -0
  196. package/esm2022/risk-level/risk-level.module.mjs +28 -0
  197. package/esm2022/select/select-option.directive.mjs +15 -3
  198. package/esm2022/select/select.component.mjs +47 -29
  199. package/esm2022/sidebar/sidebar-animations.mjs +2 -2
  200. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  201. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  202. package/esm2022/sidepanel/sidepanel-directives.mjs +8 -10
  203. package/esm2022/sidepanel/sidepanel.module.mjs +10 -4
  204. package/esm2022/splitter/splitter.component.mjs +3 -3
  205. package/esm2022/table/table.component.mjs +3 -3
  206. package/esm2022/tabs/paginated-tab-header.mjs +11 -2
  207. package/esm2022/tabs/tab-body.component.mjs +7 -7
  208. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  209. package/esm2022/tabs/tab-group.component.mjs +16 -21
  210. package/esm2022/tabs/tab-header.component.mjs +2 -2
  211. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -3
  212. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  213. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +21 -10
  214. package/esm2022/tabs/tab.component.mjs +14 -5
  215. package/esm2022/tabs/tabs-animations.mjs +2 -2
  216. package/esm2022/tabs/tabs.module.mjs +2 -6
  217. package/esm2022/tags/tag-default-options.mjs +1 -1
  218. package/esm2022/tags/tag-input.mjs +17 -15
  219. package/esm2022/tags/tag-list.component.mjs +15 -10
  220. package/esm2022/tags/tag.component.mjs +16 -16
  221. package/esm2022/textarea/textarea.component.mjs +4 -4
  222. package/esm2022/timepicker/timepicker.directive.mjs +10 -10
  223. package/esm2022/timezone/timezone-option.component.mjs +4 -4
  224. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  225. package/esm2022/title/title.directive.mjs +6 -6
  226. package/esm2022/toast/toast-animations.mjs +2 -1
  227. package/esm2022/toast/toast-container.component.mjs +22 -8
  228. package/esm2022/toast/toast.component.mjs +30 -13
  229. package/esm2022/toast/toast.module.mjs +23 -8
  230. package/esm2022/toast/toast.service.mjs +2 -1
  231. package/esm2022/toast/toast.type.mjs +6 -1
  232. package/esm2022/toggle/toggle.component.mjs +4 -4
  233. package/esm2022/tooltip/tooltip.animations.mjs +2 -2
  234. package/esm2022/tooltip/tooltip.component.mjs +31 -30
  235. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  236. package/esm2022/tree/control/flat-tree-control.mjs +4 -4
  237. package/esm2022/tree/control/tree-control.mjs +1 -1
  238. package/esm2022/tree/node.mjs +5 -5
  239. package/esm2022/tree/outlet.mjs +3 -3
  240. package/esm2022/tree/padding.directive.mjs +9 -9
  241. package/esm2022/tree/toggle.mjs +11 -12
  242. package/esm2022/tree/tree-base.mjs +3 -3
  243. package/esm2022/tree/tree-option.component.mjs +12 -10
  244. package/esm2022/tree/tree-selection.component.mjs +8 -6
  245. package/esm2022/tree/tree.mjs +3 -3
  246. package/esm2022/tree/tree.module.mjs +13 -4
  247. package/esm2022/tree-select/tree-select.component.mjs +28 -23
  248. package/fesm2022/koobiq-components-alert.mjs +2 -2
  249. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  250. package/fesm2022/koobiq-components-autocomplete.mjs +40 -37
  251. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  252. package/fesm2022/koobiq-components-badge.mjs +166 -0
  253. package/fesm2022/koobiq-components-badge.mjs.map +1 -0
  254. package/fesm2022/koobiq-components-button-toggle.mjs +14 -14
  255. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  256. package/fesm2022/koobiq-components-button.mjs +3 -2
  257. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  258. package/fesm2022/koobiq-components-checkbox.mjs +3 -3
  259. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  260. package/fesm2022/koobiq-components-code-block.mjs +10 -9
  261. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  262. package/fesm2022/koobiq-components-core.mjs +535 -46
  263. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  264. package/fesm2022/koobiq-components-datepicker.mjs +73 -79
  265. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  266. package/fesm2022/koobiq-components-dl.mjs +2 -6
  267. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  268. package/fesm2022/koobiq-components-dropdown.mjs +33 -31
  269. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  270. package/fesm2022/koobiq-components-file-upload.mjs +65 -21
  271. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  272. package/fesm2022/koobiq-components-form-field.mjs +96 -59
  273. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  274. package/fesm2022/koobiq-components-icon.mjs +10 -8
  275. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  276. package/fesm2022/koobiq-components-input.mjs +269 -55
  277. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  278. package/fesm2022/koobiq-components-link.mjs +13 -12
  279. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  280. package/fesm2022/koobiq-components-list.mjs +31 -14
  281. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  282. package/fesm2022/koobiq-components-loader-overlay.mjs +19 -18
  283. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  284. package/fesm2022/koobiq-components-modal.mjs +164 -167
  285. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  286. package/fesm2022/koobiq-components-navbar.mjs +46 -37
  287. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  288. package/fesm2022/koobiq-components-popover.mjs +32 -33
  289. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  290. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  291. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  292. package/fesm2022/koobiq-components-radio.mjs +10 -7
  293. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  294. package/fesm2022/koobiq-components-risk-level.mjs +72 -0
  295. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -0
  296. package/fesm2022/koobiq-components-select.mjs +60 -30
  297. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  298. package/fesm2022/koobiq-components-sidebar.mjs +8 -8
  299. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  300. package/fesm2022/koobiq-components-sidepanel.mjs +19 -14
  301. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  302. package/fesm2022/koobiq-components-splitter.mjs +2 -2
  303. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  304. package/fesm2022/koobiq-components-table.mjs +2 -2
  305. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  306. package/fesm2022/koobiq-components-tabs.mjs +74 -53
  307. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  308. package/fesm2022/koobiq-components-tags.mjs +45 -38
  309. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  310. package/fesm2022/koobiq-components-textarea.mjs +3 -3
  311. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  312. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  313. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  314. package/fesm2022/koobiq-components-timezone.mjs +7 -7
  315. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  316. package/fesm2022/koobiq-components-title.mjs +5 -5
  317. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  318. package/fesm2022/koobiq-components-toast.mjs +71 -22
  319. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  320. package/fesm2022/koobiq-components-toggle.mjs +3 -3
  321. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  322. package/fesm2022/koobiq-components-tooltip.mjs +31 -30
  323. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  324. package/fesm2022/koobiq-components-tree-select.mjs +27 -22
  325. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  326. package/fesm2022/koobiq-components-tree.mjs +67 -54
  327. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  328. package/file-upload/_file-upload-theme.scss +54 -40
  329. package/file-upload/file-drop.d.ts +3 -2
  330. package/file-upload/file-upload.d.ts +4 -1
  331. package/file-upload/file-upload.scss +2 -9
  332. package/file-upload/multiple-file-upload.component.d.ts +6 -5
  333. package/file-upload/multiple-file-upload.component.scss +170 -59
  334. package/file-upload/single-file-upload.component.d.ts +6 -5
  335. package/file-upload/single-file-upload.component.scss +42 -22
  336. package/form-field/_form-field-theme.scss +3 -6
  337. package/form-field/_hint-theme.scss +6 -2
  338. package/form-field/cleaner.d.ts +1 -1
  339. package/form-field/form-field.d.ts +3 -4
  340. package/form-field/form-field.scss +2 -2
  341. package/form-field/hint.d.ts +4 -1
  342. package/form-field/hint.scss +9 -1
  343. package/form-field/password-hint.d.ts +7 -3
  344. package/form-field/password-hint.scss +6 -0
  345. package/form-field/password-toggle.d.ts +13 -7
  346. package/form-field/prefix.d.ts +1 -1
  347. package/form-field/suffix.d.ts +1 -1
  348. package/form-field/validate.directive.d.ts +1 -1
  349. package/icon/_icon-button-theme.scss +129 -0
  350. package/icon/_icon-item-theme.scss +41 -0
  351. package/icon/_icon-theme.scss +1 -232
  352. package/icon/icon-button.component.d.ts +22 -0
  353. package/icon/icon-button.scss +33 -0
  354. package/icon/icon-item.component.d.ts +10 -0
  355. package/icon/icon-item.scss +18 -0
  356. package/icon/icon.component.d.ts +1 -25
  357. package/icon/icon.module.d.ts +6 -4
  358. package/icon/icon.scss +0 -41
  359. package/icon/public-api.d.ts +2 -0
  360. package/input/_input-theme.scss +2 -1
  361. package/input/input-number.d.ts +61 -10
  362. package/input/input-password.d.ts +1 -1
  363. package/input/input.d.ts +2 -2
  364. package/input/input.scss +3 -1
  365. package/link/_link-theme.scss +101 -92
  366. package/link/link.component.d.ts +4 -4
  367. package/list/_list-theme.scss +36 -17
  368. package/list/list-selection.component.d.ts +6 -2
  369. package/list/list.module.d.ts +1 -1
  370. package/list/list.scss +6 -19
  371. package/loader-overlay/_loader-overlay-theme.scss +43 -11
  372. package/loader-overlay/loader-overlay.component.d.ts +6 -5
  373. package/loader-overlay/loader-overlay.scss +56 -22
  374. package/markdown/_markdown-theme.scss +2 -2
  375. package/modal/README.md +5 -5
  376. package/modal/_modal-confirm.scss +5 -37
  377. package/modal/_modal-theme.scss +14 -52
  378. package/modal/modal-ref.class.d.ts +2 -2
  379. package/modal/modal.component.d.ts +53 -52
  380. package/modal/modal.module.d.ts +2 -1
  381. package/modal/modal.scss +50 -31
  382. package/modal/modal.type.d.ts +35 -36
  383. package/navbar/_navbar-theme.scss +2 -2
  384. package/navbar/navbar-item.component.d.ts +4 -3
  385. package/navbar/navbar.component.d.ts +5 -2
  386. package/navbar/vertical-navbar.component.d.ts +4 -2
  387. package/package.json +48 -38
  388. package/popover/README.md +14 -14
  389. package/popover/_popover-theme.scss +15 -78
  390. package/popover/popover-animations.d.ts +1 -1
  391. package/popover/popover-confirm.component.d.ts +1 -3
  392. package/popover/popover.component.d.ts +3 -3
  393. package/popover/popover.scss +60 -50
  394. package/prebuilt-themes/dark-theme.css +1 -1
  395. package/prebuilt-themes/light-theme.css +1 -1
  396. package/progress-spinner/progress-spinner.component.d.ts +2 -2
  397. package/progress-spinner/progress-spinner.scss +10 -5
  398. package/radio/_radio-theme.scss +17 -4
  399. package/radio/radio.component.d.ts +2 -2
  400. package/radio/radio.scss +13 -0
  401. package/risk-level/README.md +0 -0
  402. package/risk-level/_risk-level-theme.scss +88 -0
  403. package/risk-level/index.d.ts +1 -0
  404. package/risk-level/public-api.d.ts +2 -0
  405. package/risk-level/risk-level.component.d.ts +18 -0
  406. package/risk-level/risk-level.component.scss +26 -0
  407. package/risk-level/risk-level.module.d.ts +10 -0
  408. package/select/_select-theme.scss +12 -4
  409. package/select/select-option.directive.d.ts +2 -0
  410. package/select/select.component.d.ts +15 -12
  411. package/select/select.scss +6 -190
  412. package/sidebar/sidebar-animations.d.ts +1 -1
  413. package/sidebar/sidebar.component.d.ts +3 -3
  414. package/sidepanel/_sidepanel-theme.scss +11 -41
  415. package/sidepanel/sidepanel-directives.d.ts +0 -2
  416. package/sidepanel/sidepanel.scss +33 -35
  417. package/splitter/_splitter-theme.scss +1 -0
  418. package/splitter/splitter.component.d.ts +1 -1
  419. package/table/_table-theme.scss +1 -1
  420. package/table/table.component.d.ts +1 -1
  421. package/tabs/_tabs-common.scss +28 -147
  422. package/tabs/_tabs-theme.scss +81 -175
  423. package/tabs/paginated-tab-header.d.ts +1 -0
  424. package/tabs/tab-body.component.d.ts +1 -1
  425. package/tabs/tab-content.directive.d.ts +1 -1
  426. package/tabs/tab-group.component.d.ts +5 -8
  427. package/tabs/tab-group.scss +10 -10
  428. package/tabs/tab-header.scss +2 -24
  429. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  430. package/tabs/tab-label.directive.d.ts +1 -1
  431. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +4 -2
  432. package/tabs/tab-nav-bar/tab-nav-bar.scss +9 -16
  433. package/tabs/tab.component.d.ts +1 -1
  434. package/tabs/tabs-animations.d.ts +1 -1
  435. package/tabs/tabs.module.d.ts +1 -1
  436. package/tags/_tag-theme.scss +1 -25
  437. package/tags/tag-default-options.d.ts +4 -0
  438. package/tags/tag-input.d.ts +2 -2
  439. package/tags/tag-list.component.d.ts +3 -2
  440. package/tags/tag-list.scss +26 -16
  441. package/tags/tag.component.d.ts +6 -6
  442. package/textarea/textarea.component.d.ts +1 -1
  443. package/timepicker/timepicker.directive.d.ts +2 -2
  444. package/timezone/timezone-option.component.d.ts +1 -1
  445. package/timezone/timezone-select.component.d.ts +1 -1
  446. package/title/title.directive.d.ts +1 -1
  447. package/toast/_toast-theme.scss +21 -33
  448. package/toast/toast-animations.d.ts +1 -0
  449. package/toast/toast-container.component.d.ts +7 -3
  450. package/toast/toast-container.component.scss +2 -1
  451. package/toast/toast.component.d.ts +6 -1
  452. package/toast/toast.component.scss +41 -34
  453. package/toast/toast.module.d.ts +1 -1
  454. package/toast/toast.service.d.ts +2 -0
  455. package/toast/toast.type.d.ts +8 -5
  456. package/toggle/_toggle-theme.scss +9 -1
  457. package/toggle/toggle.component.d.ts +1 -1
  458. package/toggle/toggle.scss +5 -2
  459. package/tooltip/tooltip.animations.d.ts +1 -1
  460. package/tooltip/tooltip.component.d.ts +5 -5
  461. package/tree/_tree-theme.scss +46 -34
  462. package/tree/control/base-tree-control.d.ts +1 -1
  463. package/tree/control/tree-control.d.ts +1 -1
  464. package/tree/node.d.ts +1 -1
  465. package/tree/outlet.d.ts +1 -1
  466. package/tree/padding.directive.d.ts +1 -1
  467. package/tree/toggle.d.ts +3 -3
  468. package/tree/tree-base.d.ts +1 -1
  469. package/tree/tree-option.component.d.ts +1 -2
  470. package/tree/tree-option.scss +40 -27
  471. package/tree/tree-selection.component.d.ts +1 -1
  472. package/tree/tree.d.ts +1 -1
  473. package/tree/tree.module.d.ts +2 -1
  474. package/tree-select/_tree-select-theme.scss +13 -3
  475. package/tree-select/tree-select.component.d.ts +6 -4
  476. package/tree-select/tree-select.scss +5 -194
  477. package/core/styles/theming/_badges.scss +0 -57
  478. package/core/styles/theming/prebuilt/light-theme.scss +0 -20
  479. package/list/_list-base.scss +0 -54
@@ -0,0 +1,166 @@
1
+ import { A11yModule } from '@angular/cdk/a11y';
2
+ import { PlatformModule } from '@angular/cdk/platform';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i0 from '@angular/core';
5
+ import { Directive, SkipSelf, ContentChildren, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, Input, NgModule } from '@angular/core';
6
+ import { KbqIcon, KbqIconItem } from '@koobiq/components/icon';
7
+
8
+ var KbqBadgeColors;
9
+ (function (KbqBadgeColors) {
10
+ KbqBadgeColors["FadeContrast"] = "fade-contrast";
11
+ KbqBadgeColors["FadeTheme"] = "fade-theme";
12
+ KbqBadgeColors["FadeSuccess"] = "fade-success";
13
+ KbqBadgeColors["FadeWarning"] = "fade-warning";
14
+ KbqBadgeColors["FadeError"] = "fade-error";
15
+ KbqBadgeColors["Success"] = "success";
16
+ KbqBadgeColors["Warning"] = "warning";
17
+ KbqBadgeColors["Error"] = "error";
18
+ })(KbqBadgeColors || (KbqBadgeColors = {}));
19
+ class KbqBadgeCaption {
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeCaption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqBadgeCaption, selector: "[kbq-badge-caption]", host: { classAttribute: "kbq-badge-caption" }, ngImport: i0 }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeCaption, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[kbq-badge-caption]',
27
+ host: {
28
+ class: 'kbq-badge-caption'
29
+ }
30
+ }]
31
+ }] });
32
+ const getNodesWithoutComments = (nodes) => {
33
+ const COMMENT_NODE = 8;
34
+ return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
35
+ };
36
+ const leftIconClassName = 'kbq-icon_left';
37
+ const rightIconClassName = 'kbq-icon_right';
38
+ const badgeLeftIconClassName = 'kbq-badge-icon_left';
39
+ const badgeRightIconClassName = 'kbq-badge-icon_right';
40
+ class KbqBadgeCssStyler {
41
+ constructor(elementRef, renderer, cdr) {
42
+ this.renderer = renderer;
43
+ this.cdr = cdr;
44
+ this.isIconButton = false;
45
+ this.nativeElement = elementRef.nativeElement;
46
+ }
47
+ ngAfterContentInit() {
48
+ this.updateClassModifierForIcons();
49
+ }
50
+ updateClassModifierForIcons() {
51
+ this.renderer.removeClass(this.nativeElement, badgeLeftIconClassName);
52
+ this.renderer.removeClass(this.nativeElement, badgeRightIconClassName);
53
+ const twoIcons = 2;
54
+ const filteredNodesWithoutComments = getNodesWithoutComments(this.nativeElement.childNodes);
55
+ const currentIsIconButtonValue = !!this.icons.length &&
56
+ this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;
57
+ if (currentIsIconButtonValue !== this.isIconButton) {
58
+ this.isIconButton = currentIsIconButtonValue;
59
+ this.cdr.detectChanges();
60
+ }
61
+ if (this.icons.length && filteredNodesWithoutComments.length > 1) {
62
+ this.icons.map((item) => item.getHostElement())
63
+ .forEach((iconHostElement) => {
64
+ this.renderer.removeClass(iconHostElement, leftIconClassName);
65
+ this.renderer.removeClass(iconHostElement, rightIconClassName);
66
+ const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);
67
+ if (iconIndex === 0) {
68
+ this.renderer.addClass(iconHostElement, leftIconClassName);
69
+ this.renderer.addClass(this.nativeElement, badgeLeftIconClassName);
70
+ }
71
+ if (iconIndex === filteredNodesWithoutComments.length - 1) {
72
+ this.renderer.addClass(iconHostElement, rightIconClassName);
73
+ this.renderer.addClass(this.nativeElement, badgeRightIconClassName);
74
+ }
75
+ });
76
+ }
77
+ }
78
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqBadgeCssStyler, selector: "kbq-badge", queries: [{ propertyName: "icons", predicate: i0.forwardRef(function () { return KbqIcon; }) }], ngImport: i0 }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeCssStyler, decorators: [{
82
+ type: Directive,
83
+ args: [{
84
+ selector: 'kbq-badge'
85
+ }]
86
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef, decorators: [{
87
+ type: SkipSelf
88
+ }] }]; }, propDecorators: { icons: [{
89
+ type: ContentChildren,
90
+ args: [(forwardRef(() => KbqIcon))]
91
+ }] } });
92
+ class KbqBadge {
93
+ constructor() {
94
+ this.compact = false;
95
+ this.outline = false;
96
+ this._badgeColor = KbqBadgeColors.FadeContrast;
97
+ }
98
+ get badgeColor() {
99
+ return `kbq-badge_${this._badgeColor}`;
100
+ }
101
+ set badgeColor(value) {
102
+ this._badgeColor = value || KbqBadgeColors.FadeContrast;
103
+ }
104
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadge, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqBadge, selector: "kbq-badge", inputs: { compact: "compact", outline: "outline", badgeColor: "badgeColor" }, host: { properties: { "class.kbq-badge_compact": "compact", "class.kbq-badge-filled": "!outline", "class.kbq-badge-outline": "outline", "class": "badgeColor" }, classAttribute: "kbq-badge" }, queries: [{ propertyName: "iconItem", first: true, predicate: KbqIconItem, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".kbq-badge{display:inline-flex;flex-direction:row;justify-content:flex-start;align-items:center;text-align:center;white-space:nowrap;border-style:solid;box-sizing:border-box;padding:var(--kbq-badge-size-normal-vertical-padding, 4px) var(--kbq-badge-size-normal-horizontal-padding, 8px);border-width:var(--kbq-badge-size-normal-border-width, 1px);border-radius:var(--kbq-badge-size-normal-border-radius, 4px)}.kbq-badge .kbq-badge-caption{padding-left:var(--kbq-badge-size-normal-content-padding, 4px)}.kbq-badge .kbq-icon_left{margin-right:var(--kbq-badge-size-normal-icon-left-margin-right, 4px)}.kbq-badge .kbq-icon_right{margin-left:var(--kbq-badge-size-normal-icon-right-margin-left, 4px)}.kbq-badge.kbq-badge_compact{padding:var(--kbq-badge-size-compact-vertical-padding, 0) var(--kbq-badge-size-compact-horizontal-padding, 4px);border-width:var(--kbq-badge-size-compact-border-width, 1px);border-radius:var(--kbq-badge-size-compact-border-radius, 4px)}.kbq-badge.kbq-badge_compact .kbq-badge-caption{padding-left:var(--kbq-badge-size-compact-content-padding, 2px)}.kbq-badge.kbq-badge_compact .kbq-icon_left{margin-right:var(--kbq-badge-size-compact-icon-left-margin-right, 2px)}.kbq-badge.kbq-badge_compact .kbq-icon_right{margin-left:var(--kbq-badge-size-compact-icon-right-margin-left, 2px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadge, decorators: [{
108
+ type: Component,
109
+ args: [{ selector: 'kbq-badge', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
110
+ class: 'kbq-badge',
111
+ '[class.kbq-badge_compact]': 'compact',
112
+ '[class.kbq-badge-filled]': '!outline',
113
+ '[class.kbq-badge-outline]': 'outline',
114
+ '[class]': 'badgeColor'
115
+ }, styles: [".kbq-badge{display:inline-flex;flex-direction:row;justify-content:flex-start;align-items:center;text-align:center;white-space:nowrap;border-style:solid;box-sizing:border-box;padding:var(--kbq-badge-size-normal-vertical-padding, 4px) var(--kbq-badge-size-normal-horizontal-padding, 8px);border-width:var(--kbq-badge-size-normal-border-width, 1px);border-radius:var(--kbq-badge-size-normal-border-radius, 4px)}.kbq-badge .kbq-badge-caption{padding-left:var(--kbq-badge-size-normal-content-padding, 4px)}.kbq-badge .kbq-icon_left{margin-right:var(--kbq-badge-size-normal-icon-left-margin-right, 4px)}.kbq-badge .kbq-icon_right{margin-left:var(--kbq-badge-size-normal-icon-right-margin-left, 4px)}.kbq-badge.kbq-badge_compact{padding:var(--kbq-badge-size-compact-vertical-padding, 0) var(--kbq-badge-size-compact-horizontal-padding, 4px);border-width:var(--kbq-badge-size-compact-border-width, 1px);border-radius:var(--kbq-badge-size-compact-border-radius, 4px)}.kbq-badge.kbq-badge_compact .kbq-badge-caption{padding-left:var(--kbq-badge-size-compact-content-padding, 2px)}.kbq-badge.kbq-badge_compact .kbq-icon_left{margin-right:var(--kbq-badge-size-compact-icon-left-margin-right, 2px)}.kbq-badge.kbq-badge_compact .kbq-icon_right{margin-left:var(--kbq-badge-size-compact-icon-right-margin-left, 2px)}\n"] }]
116
+ }], propDecorators: { iconItem: [{
117
+ type: ContentChild,
118
+ args: [KbqIconItem]
119
+ }], compact: [{
120
+ type: Input
121
+ }], outline: [{
122
+ type: Input
123
+ }], badgeColor: [{
124
+ type: Input
125
+ }] } });
126
+
127
+ class KbqBadgeModule {
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
129
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeModule, declarations: [KbqBadge,
130
+ KbqBadgeCaption,
131
+ KbqBadgeCssStyler], imports: [CommonModule,
132
+ A11yModule,
133
+ PlatformModule], exports: [KbqBadge,
134
+ KbqBadgeCaption,
135
+ KbqBadgeCssStyler] }); }
136
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeModule, imports: [CommonModule,
137
+ A11yModule,
138
+ PlatformModule] }); }
139
+ }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqBadgeModule, decorators: [{
141
+ type: NgModule,
142
+ args: [{
143
+ imports: [
144
+ CommonModule,
145
+ A11yModule,
146
+ PlatformModule
147
+ ],
148
+ declarations: [
149
+ KbqBadge,
150
+ KbqBadgeCaption,
151
+ KbqBadgeCssStyler
152
+ ],
153
+ exports: [
154
+ KbqBadge,
155
+ KbqBadgeCaption,
156
+ KbqBadgeCssStyler
157
+ ]
158
+ }]
159
+ }] });
160
+
161
+ /**
162
+ * Generated bundle index. Do not edit.
163
+ */
164
+
165
+ export { KbqBadge, KbqBadgeCaption, KbqBadgeColors, KbqBadgeCssStyler, KbqBadgeModule, badgeLeftIconClassName, badgeRightIconClassName, getNodesWithoutComments, leftIconClassName, rightIconClassName };
166
+ //# sourceMappingURL=koobiq-components-badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koobiq-components-badge.mjs","sources":["../../../packages/components/badge/badge.component.ts","../../../packages/components/badge/badge.module.ts","../../../packages/components/badge/koobiq-components-badge.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n Renderer2,\n SkipSelf,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqIcon, KbqIconItem } from '@koobiq/components/icon';\n\n\nexport enum KbqBadgeColors {\n FadeContrast = 'fade-contrast',\n FadeTheme = 'fade-theme',\n FadeSuccess = 'fade-success',\n FadeWarning = 'fade-warning',\n FadeError = 'fade-error',\n\n Success = 'success',\n Warning = 'warning',\n Error = 'error'\n}\n\n@Directive({\n selector: '[kbq-badge-caption]',\n host: {\n class: 'kbq-badge-caption'\n }\n})\nexport class KbqBadgeCaption {}\n\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\nexport const leftIconClassName = 'kbq-icon_left';\nexport const rightIconClassName = 'kbq-icon_right';\n\nexport const badgeLeftIconClassName = 'kbq-badge-icon_left';\nexport const badgeRightIconClassName = 'kbq-badge-icon_right';\n\n\n@Directive({\n selector: 'kbq-badge'\n})\nexport class KbqBadgeCssStyler 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, badgeLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, badgeRightIconClassName);\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.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 this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\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, badgeLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, badgeRightIconClassName);\n }\n });\n }\n\n }\n}\n\n\n@Component({\n selector: 'kbq-badge',\n template: '<ng-content></ng-content>',\n styleUrls: ['badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-badge',\n '[class.kbq-badge_compact]': 'compact',\n '[class.kbq-badge-filled]': '!outline',\n '[class.kbq-badge-outline]': 'outline',\n '[class]': 'badgeColor'\n }\n})\nexport class KbqBadge {\n @ContentChild(KbqIconItem) iconItem: KbqIconItem;\n\n @Input() compact: boolean = false;\n @Input() outline: boolean = false;\n\n @Input()\n get badgeColor(): string {\n return `kbq-badge_${this._badgeColor}`;\n }\n\n set badgeColor(value: string | KbqBadgeColors) {\n this._badgeColor = value || KbqBadgeColors.FadeContrast;\n }\n\n private _badgeColor: string | KbqBadgeColors = KbqBadgeColors.FadeContrast;\n}\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 KbqBadge,\n KbqBadgeCaption,\n KbqBadgeCssStyler\n} from './badge.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n declarations: [\n KbqBadge,\n KbqBadgeCaption,\n KbqBadgeCssStyler\n ],\n exports: [\n KbqBadge,\n KbqBadgeCaption,\n KbqBadgeCssStyler\n ]\n})\nexport class KbqBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -208,7 +208,7 @@ class KbqButtonToggleGroup {
208
208
  }
209
209
  }
210
210
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButtonToggleGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
211
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqButtonToggleGroup, selector: "kbq-button-toggle-group", inputs: { vertical: "vertical", value: "value", multiple: "multiple", disabled: "disabled" }, outputs: { valueChange: "valueChange", change: "change" }, host: { attributes: { "role": "group" }, properties: { "class.kbq-button-toggle_vertical": "vertical" }, classAttribute: "kbq-button-toggle-group" }, providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "buttonToggles", predicate: i0.forwardRef(function () { return KbqButtonToggle; }) }], exportAs: ["mcButtonToggleGroup"], ngImport: i0 }); }
211
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqButtonToggleGroup, selector: "kbq-button-toggle-group", inputs: { vertical: "vertical", value: "value", multiple: "multiple", disabled: "disabled" }, outputs: { valueChange: "valueChange", change: "change" }, host: { properties: { "class.kbq-button-toggle_vertical": "vertical" }, classAttribute: "kbq-button-toggle-group" }, providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "buttonToggles", predicate: i0.forwardRef(function () { return KbqButtonToggle; }) }], exportAs: ["kbqButtonToggleGroup"], ngImport: i0 }); }
212
212
  }
213
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButtonToggleGroup, decorators: [{
214
214
  type: Directive,
@@ -216,11 +216,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
216
216
  selector: 'kbq-button-toggle-group',
217
217
  providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],
218
218
  host: {
219
- role: 'group',
220
219
  class: 'kbq-button-toggle-group',
221
220
  '[class.kbq-button-toggle_vertical]': 'vertical'
222
221
  },
223
- exportAs: 'mcButtonToggleGroup'
222
+ exportAs: 'kbqButtonToggleGroup'
224
223
  }]
225
224
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { vertical: [{
226
225
  type: Input
@@ -326,41 +325,42 @@ class KbqButtonToggle {
326
325
  this.changeDetectorRef.markForCheck();
327
326
  }
328
327
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButtonToggle, deps: [{ token: KbqButtonToggleGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
329
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqButtonToggle, selector: "kbq-button-toggle", inputs: { checked: "checked", value: "value", tabIndex: "tabIndex", disabled: "disabled" }, outputs: { change: "change" }, host: { properties: { "class.kbq-button-toggle-standalone": "!buttonToggleGroup", "class": "\"kbq-button-toggle\" + iconType" }, classAttribute: "kbq-button-toggle" }, queries: [{ propertyName: "icons", predicate: KbqIcon, descendants: true }], viewQueries: [{ propertyName: "mcButton", first: true, predicate: KbqButton, descendants: true }], exportAs: ["mcButtonToggle"], ngImport: i0, template: `
328
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqButtonToggle, selector: "kbq-button-toggle", inputs: { checked: "checked", value: "value", tabIndex: "tabIndex", disabled: "disabled" }, outputs: { change: "change" }, host: { properties: { "class": "\"kbq-button-toggle\" + iconType" }, classAttribute: "kbq-button-toggle" }, queries: [{ propertyName: "icons", predicate: KbqIcon, descendants: true }], viewQueries: [{ propertyName: "mcButton", first: true, predicate: KbqButton, descendants: true }], exportAs: ["kbqButtonToggle"], ngImport: i0, template: `
330
329
  <button
331
330
  kbq-button
332
331
  kbq-title
333
332
  type="button"
334
- [class.kbq-active]="checked"
333
+ [kbqStyle]="'transparent'"
334
+ [class.kbq-selected]="checked"
335
335
  [disabled]="disabled"
336
- [tabIndex]="tabIndex"
336
+ [tabIndex]="tabIndex || 0"
337
337
  (click)="onToggleClick()">
338
- <div class="kbq-button-toggle-wrapper" #mcTitleText>
338
+ <div class="kbq-button-toggle-wrapper" #kbqTitleText>
339
339
  <ng-content></ng-content>
340
340
  </div>
341
341
  </button>
342
- `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:2px;border-width:var(--kbq-button-toggle-group-size-border-width, );border-radius:var(--kbq-button-toggle-group-size-border-radius, );border-style:solid;padding:var(--kbq-button-toggle-group-size-padding, )}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--kbq-button-toggle-size-border-radius, 8px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border:none;border-width:var(--kbq-button-toggle-size-border-width, );border-radius:var(--kbq-button-toggle-size-border-radius, 8px);min-width:var(--kbq-button-toggle-size-min-width, );padding-left:var(--kbq-button-toggle-size-horizontal-padding, );padding-right:var(--kbq-button-toggle-size-horizontal-padding, )}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper .kbq-icon,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper .kbq-icon{line-height:20px;vertical-align:baseline}.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button-icon{padding-left:var(--kbq-button-toggle-size-left-icon-padding, )}.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button .kbq-icon,.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button-icon .kbq-icon{margin-right:4px}.kbq-button-toggle-group .kbq-button-toggle[disabled]{outline:0}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical){height:32px}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{height:28px;min-height:28px}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon{width:var(--kbq-button-icon-toggle-size-width, )}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon>.kbq-button-icon{width:var(--kbq-button-icon-toggle-size-width, )}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle+.kbq-button-toggle{border-left:none;border-right:none}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-width:var(--kbq-button-toggle-size-border-width, );border-radius:var(--kbq-button-toggle-size-border-radius, 8px)}.kbq-button-toggle-standalone{box-shadow:none}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["mcTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
342
+ `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.04) 10px,rgba(255,255,255,.04) 10px,rgba(255,255,255,.04) 20px,rgba(0,0,0,.04) 20px,rgba(0,0,0,.04) 30px,rgba(255,255,255,.04) 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 4px) - 2px) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - 2px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:unset;min-height:unset}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
343
343
  }
344
344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButtonToggle, decorators: [{
345
345
  type: Component,
346
- args: [{ selector: 'kbq-button-toggle', exportAs: 'mcButtonToggle', template: `
346
+ args: [{ selector: 'kbq-button-toggle', exportAs: 'kbqButtonToggle', template: `
347
347
  <button
348
348
  kbq-button
349
349
  kbq-title
350
350
  type="button"
351
- [class.kbq-active]="checked"
351
+ [kbqStyle]="'transparent'"
352
+ [class.kbq-selected]="checked"
352
353
  [disabled]="disabled"
353
- [tabIndex]="tabIndex"
354
+ [tabIndex]="tabIndex || 0"
354
355
  (click)="onToggleClick()">
355
- <div class="kbq-button-toggle-wrapper" #mcTitleText>
356
+ <div class="kbq-button-toggle-wrapper" #kbqTitleText>
356
357
  <ng-content></ng-content>
357
358
  </div>
358
359
  </button>
359
360
  `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
360
361
  class: 'kbq-button-toggle',
361
- '[class.kbq-button-toggle-standalone]': '!buttonToggleGroup',
362
362
  '[class]': '"kbq-button-toggle" + iconType'
363
- }, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:2px;border-width:var(--kbq-button-toggle-group-size-border-width, );border-radius:var(--kbq-button-toggle-group-size-border-radius, );border-style:solid;padding:var(--kbq-button-toggle-group-size-padding, )}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--kbq-button-toggle-size-border-radius, 8px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border:none;border-width:var(--kbq-button-toggle-size-border-width, );border-radius:var(--kbq-button-toggle-size-border-radius, 8px);min-width:var(--kbq-button-toggle-size-min-width, );padding-left:var(--kbq-button-toggle-size-horizontal-padding, );padding-right:var(--kbq-button-toggle-size-horizontal-padding, )}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper .kbq-icon,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper .kbq-icon{line-height:20px;vertical-align:baseline}.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button-icon{padding-left:var(--kbq-button-toggle-size-left-icon-padding, )}.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button .kbq-icon,.kbq-button-toggle-group .kbq-button-toggle.kbq-button-toggle-icon-text>.kbq-button-icon .kbq-icon{margin-right:4px}.kbq-button-toggle-group .kbq-button-toggle[disabled]{outline:0}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical){height:32px}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{height:28px;min-height:28px}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon{width:var(--kbq-button-icon-toggle-size-width, )}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle.kbq-button-toggle-icon>.kbq-button-icon{width:var(--kbq-button-icon-toggle-size-width, )}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle+.kbq-button-toggle{border-left:none;border-right:none}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-width:var(--kbq-button-toggle-size-border-width, );border-radius:var(--kbq-button-toggle-size-border-radius, 8px)}.kbq-button-toggle-standalone{box-shadow:none}\n"] }]
363
+ }, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.04) 10px,rgba(255,255,255,.04) 10px,rgba(255,255,255,.04) 20px,rgba(0,0,0,.04) 20px,rgba(0,0,0,.04) 30px,rgba(255,255,255,.04) 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 4px) - 2px) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - 2px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:unset;min-height:unset}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"] }]
364
364
  }], ctorParameters: function () { return [{ type: KbqButtonToggleGroup, decorators: [{
365
365
  type: Optional
366
366
  }] }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { icons: [{
@@ -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 role: 'group',\n class: 'kbq-button-toggle-group',\n '[class.kbq-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'mcButtonToggleGroup'\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: 'mcButtonToggle',\n template: `\n <button\n kbq-button\n kbq-title\n type=\"button\"\n [class.kbq-active]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n (click)=\"onToggleClick()\">\n <div class=\"kbq-button-toggle-wrapper\" #mcTitleText>\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-standalone]': '!buttonToggleGroup',\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 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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"}
@@ -149,17 +149,18 @@ class KbqButton extends KbqButtonMixinBase {
149
149
  this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
150
150
  }
151
151
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KbqButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component }); }
152
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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", "attr.tabIndex": "tabIndex", "class": "kbqStyle" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-button-wrapper\" (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;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}[disabled].kbq-button,[disabled].kbq-light-button,[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, 8px)}.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, 8px)}.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:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px))}.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 }); }
152
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-button-wrapper\" (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;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, 8px)}.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, 8px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px - var(--kbq-button-size-border-width, 2px))}.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:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px))}.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 }); }
153
153
  }
154
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqButton, decorators: [{
155
155
  type: Component,
156
156
  args: [{ selector: '[kbq-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
157
157
  '[attr.disabled]': 'disabled || null',
158
+ '[class.kbq-disabled]': 'disabled',
158
159
  '[attr.tabIndex]': 'tabIndex',
159
160
  '[class]': 'kbqStyle',
160
161
  '(focus)': 'onFocus($event)',
161
162
  '(blur)': 'onBlur()'
162
- }, template: "<div class=\"kbq-button-wrapper\" (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;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}[disabled].kbq-button,[disabled].kbq-light-button,[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, 8px)}.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, 8px)}.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:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px))}.kbq-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"] }]
163
+ }, template: "<div class=\"kbq-button-wrapper\" (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;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, 8px)}.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, 8px)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-size-horizontal-padding, 12px) + 4px - var(--kbq-button-size-border-width, 2px))}.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:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding, 8px) - var(--kbq-button-size-border-width, 2px))}.kbq-button-overlay{position:absolute;inset:-2px;border-radius:inherit}\n"] }]
163
164
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: KbqButtonCssStyler }]; }, propDecorators: { kbqStyle: [{
164
165
  type: Input
165
166
  }], disabled: [{
@@ -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, forwardRef\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor,\n KbqComponentColors\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\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 this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\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\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 '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class KbqButton extends KbqButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\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\" (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 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\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor,\n KbqComponentColors\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\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 this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\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\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})\nexport class KbqButton extends KbqButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\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\" (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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"}