@koobiq/components 17.0.0-beta.2 → 17.0.0-rc.10

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 (369) hide show
  1. package/README.md +1 -2
  2. package/alert/_alert-theme.scss +48 -24
  3. package/alert/alert.component.d.ts +23 -3
  4. package/alert/alert.component.scss +91 -59
  5. package/autocomplete/_autocomplete-theme.scss +3 -3
  6. package/autocomplete/autocomplete.scss +8 -18
  7. package/badge/_badge-theme.scss +30 -45
  8. package/badge/badge.component.scss +18 -39
  9. package/button/_button-base.scss +7 -14
  10. package/button/_button-theme.scss +30 -86
  11. package/button/button.component.d.ts +3 -2
  12. package/button/button.scss +7 -17
  13. package/button-toggle/_button-toggle-theme.scss +19 -20
  14. package/button-toggle/button-toggle.scss +17 -44
  15. package/card/_card-theme.scss +18 -17
  16. package/card/card.component.scss +3 -6
  17. package/checkbox/_checkbox-theme.scss +50 -50
  18. package/checkbox/checkbox.scss +31 -35
  19. package/code-block/README.md +18 -14
  20. package/code-block/_code-block-theme.scss +53 -23
  21. package/code-block/actionbar.component.scss +11 -25
  22. package/code-block/code-block.component.d.ts +12 -4
  23. package/code-block/code-block.scss +62 -77
  24. package/core/form-field/form-field-ref.d.ts +2 -0
  25. package/core/forms/_forms-theme.scss +4 -8
  26. package/core/forms/_forms.scss +13 -43
  27. package/core/locales/formatters.d.ts +96 -0
  28. package/core/locales/locale-service.d.ts +97 -0
  29. package/core/option/_optgroup-theme.scss +4 -6
  30. package/core/option/_option-action-theme.scss +8 -11
  31. package/core/option/_option-theme.scss +15 -20
  32. package/core/option/optgroup.scss +0 -1
  33. package/core/option/option.scss +0 -1
  34. package/core/pop-up/_pop-up.scss +0 -1
  35. package/core/pop-up/pop-up-trigger.d.ts +3 -1
  36. package/core/select/common.d.ts +35 -0
  37. package/core/select/index.d.ts +1 -0
  38. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +15 -19
  39. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +9 -9
  40. package/core/services/theme.service.d.ts +3 -2
  41. package/core/styles/_core.scss +0 -1
  42. package/core/styles/_koobiq-theme.scss +5 -3
  43. package/core/styles/common/_animation.scss +9 -8
  44. package/core/styles/common/_button.scss +0 -2
  45. package/core/styles/common/_clearfix.scss +1 -1
  46. package/core/styles/common/_groups.scss +3 -9
  47. package/core/styles/common/_list.scss +28 -31
  48. package/core/styles/common/_overlay.scss +4 -3
  49. package/core/styles/common/_popup.scss +5 -5
  50. package/core/styles/common/_rtl.scss +4 -4
  51. package/core/styles/common/_select.scss +48 -42
  52. package/core/styles/common/_tokens.scss +47 -0
  53. package/core/styles/functions/_number.scss +14 -19
  54. package/core/styles/functions/_string.scss +18 -19
  55. package/core/styles/functions/_timing.scss +24 -24
  56. package/core/styles/theming/_components-theming.scss +1380 -1384
  57. package/core/styles/theming/_scrollbar-theme.scss +8 -5
  58. package/core/styles/theming/_theming.scss +26 -29
  59. package/core/styles/typography/_typography-utils.scss +1 -2
  60. package/core/styles/typography/_typography.scss +138 -85
  61. package/core/styles/visual/_body.scss +0 -2
  62. package/core/styles/visual/_layout.scss +44 -38
  63. package/core/utils/data-size/config.d.ts +20 -2
  64. package/core/utils/data-size/data-size.pipe.d.ts +10 -9
  65. package/core/utils/data-size/size.d.ts +3 -4
  66. package/datepicker/_datepicker-theme.scss +38 -40
  67. package/datepicker/calendar-body.scss +3 -11
  68. package/datepicker/calendar-header.scss +4 -10
  69. package/datepicker/calendar.scss +5 -17
  70. package/datepicker/datepicker-content.scss +5 -15
  71. package/datepicker/datepicker-input.scss +0 -5
  72. package/datepicker/datepicker-toggle.scss +3 -3
  73. package/divider/_divider-theme.scss +2 -1
  74. package/divider/divider.scss +9 -26
  75. package/dl/_dl-theme.scss +5 -8
  76. package/dl/dl.scss +5 -20
  77. package/dropdown/_dropdown-theme.scss +27 -22
  78. package/dropdown/dropdown-item.scss +5 -12
  79. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  80. package/dropdown/dropdown.scss +6 -15
  81. package/ellipsis-center/ellipsis-center.directive.d.ts +3 -2
  82. package/empty-state/README.md +0 -0
  83. package/empty-state/_empty-state-theme.scss +56 -0
  84. package/empty-state/empty-state.component.d.ts +31 -0
  85. package/empty-state/empty-state.module.d.ts +10 -0
  86. package/empty-state/empty-state.scss +81 -0
  87. package/empty-state/index.d.ts +1 -0
  88. package/empty-state/public-api.d.ts +2 -0
  89. package/esm2022/alert/alert.component.mjs +52 -5
  90. package/esm2022/badge/badge.component.mjs +2 -2
  91. package/esm2022/button/button.component.mjs +13 -6
  92. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  93. package/esm2022/checkbox/checkbox.mjs +2 -2
  94. package/esm2022/code-block/actionbar.component.mjs +2 -2
  95. package/esm2022/code-block/code-block.component.mjs +58 -14
  96. package/esm2022/core/animation/select-animations.mjs +4 -4
  97. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  98. package/esm2022/core/locales/formatters.mjs +97 -1
  99. package/esm2022/core/locales/locale-service.mjs +5 -2
  100. package/esm2022/core/option/option.mjs +2 -2
  101. package/esm2022/core/pop-up/pop-up-trigger.mjs +18 -11
  102. package/esm2022/core/select/common.mjs +120 -0
  103. package/esm2022/core/select/index.mjs +2 -1
  104. package/esm2022/core/services/theme.service.mjs +4 -1
  105. package/esm2022/core/utils/data-size/config.mjs +5 -17
  106. package/esm2022/core/utils/data-size/data-size.pipe.mjs +36 -22
  107. package/esm2022/core/utils/data-size/size.mjs +10 -14
  108. package/esm2022/core/version.mjs +2 -2
  109. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  110. package/esm2022/datepicker/datepicker-animations.mjs +2 -2
  111. package/esm2022/dropdown/dropdown-animations.mjs +4 -4
  112. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  113. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  114. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -5
  115. package/esm2022/empty-state/empty-state.component.mjs +104 -0
  116. package/esm2022/empty-state/empty-state.module.mjs +50 -0
  117. package/esm2022/empty-state/index.mjs +2 -0
  118. package/esm2022/empty-state/koobiq-components-empty-state.mjs +5 -0
  119. package/esm2022/empty-state/public-api.mjs +3 -0
  120. package/esm2022/file-upload/file-upload.mjs +15 -1
  121. package/esm2022/file-upload/file-upload.module.mjs +15 -5
  122. package/esm2022/file-upload/multiple-file-upload.component.mjs +98 -49
  123. package/esm2022/file-upload/single-file-upload.component.mjs +110 -54
  124. package/esm2022/form-field/form-field.mjs +2 -2
  125. package/esm2022/form-field/hint.mjs +2 -2
  126. package/esm2022/form-field/password-hint.mjs +2 -2
  127. package/esm2022/form-field/password-toggle.mjs +11 -9
  128. package/esm2022/icon/icon-item.component.mjs +16 -6
  129. package/esm2022/input/input-number.mjs +2 -2
  130. package/esm2022/list/list-selection.component.mjs +2 -2
  131. package/esm2022/list/list.component.mjs +2 -2
  132. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  133. package/esm2022/markdown/markdown.component.mjs +2 -2
  134. package/esm2022/modal/modal.component.mjs +8 -9
  135. package/esm2022/navbar/navbar-item.component.mjs +11 -11
  136. package/esm2022/navbar/navbar.component.mjs +2 -2
  137. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  138. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  139. package/esm2022/popover/popover.component.mjs +3 -3
  140. package/esm2022/radio/radio.component.mjs +2 -2
  141. package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
  142. package/esm2022/select/select-option.directive.mjs +7 -5
  143. package/esm2022/select/select.component.mjs +71 -125
  144. package/esm2022/select/select.module.mjs +28 -28
  145. package/esm2022/splitter/splitter.component.mjs +37 -17
  146. package/esm2022/table/table.component.mjs +29 -6
  147. package/esm2022/table/table.module.mjs +14 -6
  148. package/esm2022/tabs/tab-body.component.mjs +1 -1
  149. package/esm2022/tabs/tab-group.component.mjs +55 -13
  150. package/esm2022/tabs/tab-header.component.mjs +2 -2
  151. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
  152. package/esm2022/tags/tag-default-options.mjs +1 -1
  153. package/esm2022/tags/tag-input.mjs +17 -3
  154. package/esm2022/tags/tag-list.component.mjs +2 -2
  155. package/esm2022/tags/tag.component.mjs +4 -4
  156. package/esm2022/textarea/textarea.component.mjs +12 -10
  157. package/esm2022/timepicker/timepicker.directive.mjs +11 -3
  158. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  159. package/esm2022/timezone/timezone-option.directive.mjs +7 -5
  160. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  161. package/esm2022/title/title.directive.mjs +3 -4
  162. package/esm2022/toast/toast-container.component.mjs +2 -2
  163. package/esm2022/toast/toast.component.mjs +4 -4
  164. package/esm2022/toast/toast.service.mjs +18 -13
  165. package/esm2022/toast/toast.type.mjs +3 -1
  166. package/esm2022/tooltip/tooltip.component.mjs +28 -14
  167. package/esm2022/tree/padding.directive.mjs +2 -2
  168. package/esm2022/tree/tree-base.mjs +2 -2
  169. package/esm2022/tree/tree-option.component.mjs +2 -2
  170. package/esm2022/tree/tree-selection.component.mjs +6 -1
  171. package/esm2022/tree-select/tree-select.component.mjs +29 -44
  172. package/esm2022/tree-select/tree-select.module.mjs +31 -11
  173. package/fesm2022/koobiq-components-alert.mjs +52 -5
  174. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-badge.mjs +2 -2
  176. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  178. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-button.mjs +12 -5
  180. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  181. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  182. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-code-block.mjs +57 -14
  184. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  185. package/fesm2022/koobiq-components-core.mjs +285 -67
  186. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  187. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  188. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  189. package/fesm2022/koobiq-components-dropdown.mjs +8 -8
  190. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  191. package/fesm2022/koobiq-components-ellipsis-center.mjs +5 -4
  192. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  193. package/fesm2022/koobiq-components-empty-state.mjs +157 -0
  194. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -0
  195. package/fesm2022/koobiq-components-file-upload.mjs +225 -97
  196. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  197. package/fesm2022/koobiq-components-form-field.mjs +21 -21
  198. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  199. package/fesm2022/koobiq-components-icon.mjs +14 -4
  200. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  201. package/fesm2022/koobiq-components-input.mjs +1 -1
  202. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  203. package/fesm2022/koobiq-components-list.mjs +4 -4
  204. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  205. package/fesm2022/koobiq-components-loader-overlay.mjs +1 -1
  206. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  208. package/fesm2022/koobiq-components-modal.mjs +7 -8
  209. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-navbar.mjs +14 -14
  211. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-popover.mjs +4 -4
  213. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-radio.mjs +2 -2
  215. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  217. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-select.mjs +102 -155
  219. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-splitter.mjs +36 -16
  221. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  222. package/fesm2022/koobiq-components-table.mjs +41 -10
  223. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  224. package/fesm2022/koobiq-components-tabs.mjs +57 -15
  225. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  226. package/fesm2022/koobiq-components-tags.mjs +21 -8
  227. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  228. package/fesm2022/koobiq-components-textarea.mjs +11 -9
  229. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  230. package/fesm2022/koobiq-components-timepicker.mjs +10 -2
  231. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  232. package/fesm2022/koobiq-components-timezone.mjs +11 -10
  233. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  234. package/fesm2022/koobiq-components-title.mjs +2 -3
  235. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  236. package/fesm2022/koobiq-components-toast.mjs +25 -17
  237. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  238. package/fesm2022/koobiq-components-tooltip.mjs +26 -13
  239. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  240. package/fesm2022/koobiq-components-tree-select.mjs +57 -51
  241. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  242. package/fesm2022/koobiq-components-tree.mjs +9 -4
  243. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  244. package/file-upload/_file-upload-theme.scss +124 -73
  245. package/file-upload/file-upload.d.ts +1 -1
  246. package/file-upload/file-upload.module.d.ts +11 -9
  247. package/file-upload/file-upload.scss +0 -6
  248. package/file-upload/multiple-file-upload.component.d.ts +38 -10
  249. package/file-upload/multiple-file-upload.component.scss +50 -120
  250. package/file-upload/single-file-upload.component.d.ts +40 -13
  251. package/file-upload/single-file-upload.component.scss +12 -33
  252. package/form-field/_form-field-theme.scss +46 -36
  253. package/form-field/_hint-theme.scss +15 -20
  254. package/form-field/cleaner.scss +3 -9
  255. package/form-field/form-field.scss +23 -26
  256. package/form-field/hint.scss +5 -8
  257. package/form-field/password-toggle.d.ts +3 -2
  258. package/form-field/password-toggle.scss +3 -10
  259. package/form-field/stepper.scss +4 -11
  260. package/icon/_icon-button-theme.scss +47 -36
  261. package/icon/_icon-item-theme.scss +47 -26
  262. package/icon/_icon-theme.scss +12 -14
  263. package/icon/icon-button.scss +5 -20
  264. package/icon/icon-item.component.d.ts +3 -1
  265. package/icon/icon-item.scss +10 -8
  266. package/icon/icon.scss +0 -6
  267. package/input/_input-theme.scss +6 -4
  268. package/input/input.scss +11 -10
  269. package/link/_link-theme.scss +30 -49
  270. package/list/_list-theme.scss +21 -19
  271. package/list/list.scss +2 -6
  272. package/loader-overlay/_loader-overlay-theme.scss +17 -18
  273. package/loader-overlay/loader-overlay.scss +9 -33
  274. package/markdown/_markdown-theme.scss +47 -47
  275. package/markdown/markdown.scss +41 -91
  276. package/modal/README.md +5 -4
  277. package/modal/_modal-animation.scss +0 -1
  278. package/modal/_modal-confirm.scss +2 -7
  279. package/modal/_modal-theme.scss +11 -13
  280. package/modal/modal.component.d.ts +1 -1
  281. package/modal/modal.scss +15 -31
  282. package/navbar/README.md +21 -20
  283. package/navbar/_navbar-item_horizontal.scss +28 -29
  284. package/navbar/_navbar-item_vertical.scss +31 -31
  285. package/navbar/_navbar-theme.scss +20 -24
  286. package/navbar/navbar-brand.scss +24 -27
  287. package/navbar/navbar-divider.scss +4 -8
  288. package/navbar/navbar-item.component.d.ts +4 -4
  289. package/navbar/navbar-item.scss +13 -15
  290. package/navbar/navbar.scss +2 -6
  291. package/navbar/vertical-navbar.scss +4 -6
  292. package/package.json +23 -16
  293. package/popover/README.md +18 -14
  294. package/popover/_popover-theme.scss +9 -17
  295. package/popover/popover.scss +15 -29
  296. package/prebuilt-themes/dark-theme.css +1 -1
  297. package/prebuilt-themes/light-theme.css +1 -1
  298. package/progress-bar/_progress-bar-theme.scss +7 -11
  299. package/progress-bar/progress-bar.scss +6 -19
  300. package/progress-spinner/_progress-spinner-theme.scss +6 -8
  301. package/progress-spinner/progress-spinner.scss +8 -18
  302. package/radio/_radio-theme.scss +36 -37
  303. package/radio/radio.scss +25 -40
  304. package/risk-level/_risk-level-theme.scss +25 -31
  305. package/risk-level/risk-level.component.scss +4 -10
  306. package/schematics/collection.json +11 -0
  307. package/schematics/ng-add/index.js +70 -0
  308. package/schematics/ng-add/schema.json +15 -0
  309. package/scrollbar/_scrollbar-component-theme.scss +15 -19
  310. package/scrollbar/scrollbar.component.scss +68 -63
  311. package/scrollbar/scrollbar.directive.d.ts +1 -0
  312. package/scrollbar/scrollbar.types.d.ts +1 -0
  313. package/select/_select-theme.scss +14 -16
  314. package/select/select-option.directive.d.ts +3 -2
  315. package/select/select.component.d.ts +12 -33
  316. package/select/select.module.d.ts +1 -1
  317. package/select/select.scss +3 -11
  318. package/sidepanel/_sidepanel-theme.scss +8 -10
  319. package/sidepanel/sidepanel.scss +20 -37
  320. package/splitter/_splitter-theme.scss +5 -6
  321. package/splitter/splitter.component.d.ts +10 -5
  322. package/splitter/splitter.scss +0 -1
  323. package/table/_table-theme.scss +16 -15
  324. package/table/table.component.d.ts +8 -1
  325. package/table/table.module.d.ts +1 -1
  326. package/table/table.scss +41 -42
  327. package/tabs/_tabs-common.scss +13 -15
  328. package/tabs/_tabs-theme.scss +76 -44
  329. package/tabs/tab-body.component.d.ts +1 -1
  330. package/tabs/tab-group.component.d.ts +9 -3
  331. package/tabs/tab-group.scss +2 -8
  332. package/tabs/tab-header.scss +0 -10
  333. package/tabs/tab-nav-bar/tab-nav-bar.scss +2 -9
  334. package/tags/_tag-theme.scss +22 -27
  335. package/tags/tag-default-options.d.ts +1 -0
  336. package/tags/tag-input.d.ts +7 -1
  337. package/tags/tag-list.scss +15 -12
  338. package/tags/tag.component.d.ts +1 -1
  339. package/tags/tag.scss +5 -11
  340. package/textarea/_textarea-theme.scss +2 -5
  341. package/textarea/textarea.scss +5 -10
  342. package/timepicker/timepicker.directive.d.ts +1 -1
  343. package/timepicker/timepicker.scss +2 -8
  344. package/timezone/_timezone-option-theme.scss +8 -10
  345. package/timezone/timezone-option.component.scss +5 -8
  346. package/timezone/timezone-option.directive.d.ts +3 -2
  347. package/timezone/timezone-select.component.d.ts +2 -1
  348. package/timezone/timezone-select.component.scss +2 -4
  349. package/title/title.directive.d.ts +0 -1
  350. package/toast/_toast-theme.scss +20 -16
  351. package/toast/toast-container.component.scss +5 -6
  352. package/toast/toast.component.scss +28 -29
  353. package/toast/toast.service.d.ts +8 -4
  354. package/toast/toast.type.d.ts +2 -0
  355. package/toggle/_toggle-theme.scss +49 -42
  356. package/toggle/toggle.scss +9 -22
  357. package/tooltip/_tooltip-theme.scss +12 -16
  358. package/tooltip/tooltip.component.d.ts +12 -8
  359. package/tooltip/tooltip.scss +7 -13
  360. package/tree/_tree-theme.scss +20 -23
  361. package/tree/toggle.scss +3 -6
  362. package/tree/tree-base.d.ts +1 -1
  363. package/tree/tree-option.scss +17 -14
  364. package/tree/tree-selection.component.d.ts +1 -0
  365. package/tree-select/_tree-select-theme.scss +12 -15
  366. package/tree-select/tree-select.component.d.ts +8 -17
  367. package/tree-select/tree-select.module.d.ts +1 -2
  368. package/tree-select/tree-select.scss +1 -6
  369. package/core/styles/_variables.scss +0 -1
@@ -2,96 +2,110 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
7
+ @mixin kbq-tab-item-state($component, $type, $sub-type, $style-name) {
8
+ $style: map.get($component, $type, $sub-type, $style-name);
6
9
 
7
- @mixin kbq-tab-item-state($state) {
8
- background: map.get($state, background);
9
- color: map.get($state, text);
10
+ $base: tabs-tab-item-#{$type}-#{$sub-type}-#{$style-name};
11
+
12
+ background: kbq-css-variable(#{$base}-background, map.get($style, background));
13
+ color: kbq-css-variable(#{$base}-text, map.get($style, text));
10
14
 
11
15
  & .kbq-icon {
12
- color: map.get($state, icon);
16
+ color: kbq-css-variable(#{$base}-icon, map.get($style, icon));
13
17
  }
14
18
  }
15
19
 
16
- @mixin kbq-tab-item-style($tab-item) {
17
- @include kbq-tab-item-state(map.get($tab-item, default));
20
+ @mixin kbq-tab-item-style($component, $type, $sub-type) {
21
+ @include kbq-tab-item-state($component, $type, $sub-type, default);
18
22
 
19
23
  &:hover:not(.kbq-disabled) {
20
- @include kbq-tab-item-state(map.get($tab-item, hover));
24
+ @include kbq-tab-item-state($component, $type, $sub-type, states-hover);
21
25
  }
22
26
 
23
27
  &.kbq-selected {
24
- @include kbq-tab-item-state(map.get($tab-item, selected));
28
+ @include kbq-tab-item-state($component, $type, $sub-type, states-selected);
25
29
 
26
30
  &:hover {
27
- @include kbq-tab-item-state(map.get($tab-item, selected-hover));
31
+ @include kbq-tab-item-state($component, $type, $sub-type, states-selected-hover);
28
32
  }
29
33
  }
30
34
 
31
35
  &.cdk-keyboard-focused {
32
- border-color: map.get(map.get($tab-item, focused), border-color);
36
+ border-color: kbq-css-variable(
37
+ tabs-tab-item-#{$type}-#{$sub-type}-states-focused-border-color,
38
+ map.get($component, $type, $sub-type, states-focused, border-color)
39
+ );
33
40
  }
34
41
 
35
42
  &.kbq-disabled {
36
- @include kbq-tab-item-state(map.get($tab-item, disabled));
43
+ @include kbq-tab-item-state($component, $type, $sub-type, states-disabled);
37
44
 
38
45
  &.kbq-selected {
39
- @include kbq-tab-item-state(map.get($tab-item, selected-disabled));
46
+ @include kbq-tab-item-state($component, $type, $sub-type, states-selected-disabled);
40
47
  }
41
48
  }
42
49
  }
43
50
 
44
- @mixin kbq-tab-stack-style($tab-stack) {
45
- .kbq-tab-header {
46
- background: map.get($tab-stack, background);
47
- }
48
- }
49
-
50
51
  //noinspection ALL
51
52
  @mixin kbq-tabs-theme($theme) {
52
53
  $tab-item: map.get(map.get($theme, components), tab-item);
53
-
54
54
  $tab-stack: map.get(map.get($theme, components), tab-stack);
55
55
 
56
- $tab-stack_filled: map.get($tab-stack, filled);
57
- $tab-item_filled: map.get($tab-item, filled);
58
-
59
- $tab-stack_transparent: map.get($tab-stack, transparent);
60
- $tab-item_transparent: map.get($tab-item, transparent);
61
-
62
56
  .kbq-tab-group {
63
57
  &.kbq-tab-group_filled {
64
58
  &.kbq-tab-group_on-background {
65
- @include kbq-tab-stack-style(map.get($tab-stack_filled, on-background));
59
+ .kbq-tab-header {
60
+ background: kbq-css-variable(
61
+ tabs-tab-stack-filled-on-background-background,
62
+ map.get($tab-stack, filled, on-background, background)
63
+ );
64
+ }
66
65
 
67
66
  & .kbq-tab-label {
68
- @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
67
+ @include kbq-tab-item-style($tab-item, filled, on-background);
69
68
  }
70
69
  }
71
70
 
72
71
  &.kbq-tab-group_on-surface {
73
- @include kbq-tab-stack-style(map.get($tab-stack_filled, on-surface));
72
+ .kbq-tab-header {
73
+ background: kbq-css-variable(
74
+ tabs-tab-stack-filled-on-surface-background,
75
+ map.get($tab-stack, filled, on-surface, background)
76
+ );
77
+ }
74
78
 
75
79
  & .kbq-tab-label {
76
- @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
80
+ @include kbq-tab-item-style($tab-item, filled, on-background);
77
81
  }
78
82
  }
79
83
  }
80
84
 
81
85
  &.kbq-tab-group_transparent {
82
86
  &.kbq-tab-group_on-background {
83
- @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-background));
87
+ .kbq-tab-header {
88
+ background: kbq-css-variable(
89
+ tabs-tab-stack-transparent-on-background-background,
90
+ map.get($tab-stack, transparent, on-background, background)
91
+ );
92
+ }
84
93
 
85
94
  & .kbq-tab-label {
86
- @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
95
+ @include kbq-tab-item-style($tab-item, transparent, on-background);
87
96
  }
88
97
  }
89
98
 
90
99
  &.kbq-tab-group_on-surface {
91
- @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-surface));
100
+ .kbq-tab-header {
101
+ background: kbq-css-variable(
102
+ tabs-tab-stack-transparent-on-surface-background,
103
+ map.get($tab-stack, transparent, on-surface, background)
104
+ );
105
+ }
92
106
 
93
107
  & .kbq-tab-label {
94
- @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
108
+ @include kbq-tab-item-style($tab-item, transparent, on-background);
95
109
  }
96
110
  }
97
111
  }
@@ -100,36 +114,56 @@
100
114
  .kbq-tab-nav-bar {
101
115
  &.kbq-tab-nav-bar_filled {
102
116
  &.kbq-tab-nav-bar_on-background {
103
- @include kbq-tab-stack-style(map.get($tab-stack_filled, on-background));
117
+ .kbq-tab-header {
118
+ background: kbq-css-variable(
119
+ tabs-tab-stack-filled-on-background-background,
120
+ map.get($tab-stack, filled, on-background, background)
121
+ );
122
+ }
104
123
 
105
124
  & .kbq-tab-link {
106
- @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
125
+ @include kbq-tab-item-style($tab-item, filled, on-background);
107
126
  }
108
127
  }
109
128
 
110
129
  &.kbq-tab-nav-bar_on-surface {
111
- @include kbq-tab-stack-style(map.get($tab-stack_filled, on-surface));
130
+ .kbq-tab-header {
131
+ background: kbq-css-variable(
132
+ tabs-tab-stack-filled-on-surface-background,
133
+ map.get($tab-stack, filled, on-surface, background)
134
+ );
135
+ }
112
136
 
113
137
  & .kbq-tab-link {
114
- @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
138
+ @include kbq-tab-item-style($tab-item, filled, on-background);
115
139
  }
116
140
  }
117
141
  }
118
142
 
119
143
  &.kbq-tab-nav-bar_transparent {
120
144
  &.kbq-tab-nav-bar_on-background {
121
- @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-background));
145
+ .kbq-tab-header {
146
+ background: kbq-css-variable(
147
+ tabs-tab-stack-transparent-on-background-background,
148
+ map.get($tab-stack, transparent, on-background, background)
149
+ );
150
+ }
122
151
 
123
152
  & .kbq-tab-link {
124
- @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
153
+ @include kbq-tab-item-style($tab-item, transparent, on-background);
125
154
  }
126
155
  }
127
156
 
128
157
  &.kbq-tab-nav-bar_on-surface {
129
- @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-surface));
158
+ .kbq-tab-header {
159
+ background: kbq-css-variable(
160
+ tabs-tab-stack-transparent-on-surface-background,
161
+ map.get($tab-stack, transparent, on-surface, background)
162
+ );
163
+ }
130
164
 
131
165
  & .kbq-tab-link {
132
- @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
166
+ @include kbq-tab-item-style($tab-item, transparent, on-background);
133
167
  }
134
168
  }
135
169
  }
@@ -137,10 +171,8 @@
137
171
  }
138
172
 
139
173
  @mixin kbq-tabs-typography($config) {
140
- $tokens: map.get($config, tokens);
141
-
142
174
  .kbq-tab-label,
143
175
  .kbq-tab-link {
144
- @include kbq-typography-level-to-styles($config, map.get($tokens, tabs-font-text));
176
+ @include kbq-typography-css-variables(tabs, text);
145
177
  }
146
178
  }
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  *
12
12
  * In the case of a new tab body that should immediately be centered with an animating transition,
13
13
  * then left-origin-center or right-origin-center can be used, which will use left or right as its
14
- * psuedo-prior state.
14
+ * pseudo-prior state.
15
15
  */
16
16
  export type KbqTabBodyPositionState = 'left' | 'center' | 'right' | 'left-origin-center' | 'right-origin-center';
17
17
  /**
@@ -43,6 +43,7 @@ export declare class KbqTabGroupBase {
43
43
  }
44
44
  /** @docs-private */
45
45
  export declare const KbqTabGroupMixinBase: CanDisableCtor & typeof KbqTabGroupBase;
46
+ export type KbqTabSelectBy = string | number | ((tabs: KbqTab[]) => KbqTab | null);
46
47
  /**
47
48
  * Tab-group component. Supports basic tab pairs (label + content) and includes
48
49
  * keyboard navigation.
@@ -64,20 +65,23 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
64
65
  get selectedIndex(): number | null;
65
66
  set selectedIndex(value: number | null);
66
67
  private _selectedIndex;
68
+ get activeTab(): KbqTab | null;
69
+ set activeTab(value: KbqTabSelectBy | null);
67
70
  /** Position of the tab header. */
68
71
  headerPosition: KbqTabHeaderPosition;
69
72
  /** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
70
73
  animationDuration: string;
71
74
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
72
75
  readonly selectedIndexChange: EventEmitter<number>;
76
+ /** Event emitted when the tab selection has changed. */
77
+ readonly activeTabChange: EventEmitter<string | number | KbqTab>;
73
78
  /** Event emitted when focus has changed within a tab group. */
74
79
  readonly focusChange: EventEmitter<KbqTabChangeEvent>;
75
80
  /** Event emitted when the body animation has completed */
76
81
  readonly animationDone: EventEmitter<void>;
77
82
  /** Event emitted when the tab selection has changed. */
78
83
  readonly selectedTabChange: EventEmitter<KbqTabChangeEvent>;
79
- /** The tab index that should be selected after the content has been checked. */
80
- private indexToSelect;
84
+ private attributeToSelectBy;
81
85
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
82
86
  private tabBodyWrapperHeight;
83
87
  /** Subscription to tabs being added/removed. */
@@ -114,6 +118,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
114
118
  handleClick(tab: KbqTab, tabHeader: KbqTabHeader, index: number): void;
115
119
  /** Retrieves the tabindex for the tab. */
116
120
  getTabIndex(tab: KbqTab, index: number): number | null;
121
+ onSelectFocusedIndex($event: number): void;
117
122
  private checkOverflow;
118
123
  private createChangeEvent;
119
124
  /**
@@ -126,6 +131,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
126
131
  private subscribeToResize;
127
132
  /** Clamps the given index to the bounds of 0 and the tabs length. */
128
133
  private clampTabIndex;
134
+ private getTabIndexToSelect;
129
135
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { attribute: "vertical"; }, { optional: true; }]>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
136
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "activeTabChange": "activeTabChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
131
137
  }
@@ -3,10 +3,7 @@
3
3
 
4
4
  @use '../core/styles/common/layout';
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
6
+ @use '../core/styles/common/tokens' as *;
10
7
 
11
8
  .kbq-tab-group {
12
9
  display: flex;
@@ -24,10 +21,7 @@ $tokens: meta.module-variables(tokens) !default;
24
21
  flex-direction: row;
25
22
 
26
23
  .kbq-tab-list__content {
27
- gap: var(
28
- --kbq-tabs-size-tab-stack-vertical-content-gap-vartical,
29
- map.get($tokens, tabs-size-tab-stack-vertical-content-gap-vertical)
30
- ) 0;
24
+ gap: kbq-css-variable(tabs-size-tab-stack-vertical-content-gap-vertical) 0;
31
25
  }
32
26
 
33
27
  & .kbq-tab-header__content {
@@ -4,11 +4,6 @@
4
4
  @use '../core/styles/common/vendor-prefixes';
5
5
  @use 'tabs-common' as *;
6
6
 
7
- @use '../core/styles/tokens';
8
-
9
-
10
- $tokens: meta.module-variables(tokens) !default;
11
-
12
7
  .kbq-tab-header {
13
8
  display: flex;
14
9
  overflow: hidden;
@@ -47,16 +42,11 @@ $tokens: meta.module-variables(tokens) !default;
47
42
  padding-left: 12px;
48
43
  padding-right: 12px;
49
44
 
50
- &.kbq-tab-header__pagination_before {}
51
-
52
- &.kbq-tab-header__pagination_after {}
53
-
54
45
  .kbq-tab-header__pagination-controls_enabled & {
55
46
  display: flex;
56
47
  }
57
48
  }
58
49
 
59
-
60
50
  .kbq-tab-header__content {
61
51
  display: flex;
62
52
  flex-grow: 1;
@@ -3,10 +3,7 @@
3
3
 
4
4
  @use '../tabs-common';
5
5
 
6
- @use '../../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
6
+ @use '../../core/styles/common/tokens' as *;
10
7
 
11
8
  .kbq-tab-link {
12
9
  vertical-align: top;
@@ -38,10 +35,6 @@ $tokens: meta.module-variables(tokens) !default;
38
35
  &.kbq-tab-group_vertical {
39
36
  flex-direction: column;
40
37
  flex-grow: 0;
41
-
42
- gap: var(
43
- --kbq-tabs-size-tab-stack-vertical-content-gap-vartical,
44
- map.get($tokens, tabs-size-tab-stack-vertical-content-gap-vertical)
45
- ) 0;
38
+ gap: kbq-css-variable(tabs-size-tab-stack-vertical-content-gap-vertical) 0;
46
39
  }
47
40
  }
@@ -3,74 +3,69 @@
3
3
 
4
4
  @use '../core/styles/theming/theming' as *;
5
5
  @use '../core/styles/typography/typography-utils' as *;
6
+ @use '../core/styles/common/tokens' as *;
6
7
 
8
+ @mixin kbq-tag-state($component, $type, $style-name) {
9
+ $style: map.get($component, $type, $style-name);
7
10
 
8
- @mixin kbq-tag-state($state) {
9
- background: map.get($state, background);
11
+ $base: tag-#{$type}-#{$style-name};
12
+
13
+ background: kbq-css-variable(#{$base}-background, map.get($style, background));
10
14
 
11
15
  & .kbq-icon {
12
- color: map.get($state, icon);
16
+ color: kbq-css-variable(#{$base}-icon, map.get($style, icon));
13
17
  }
14
18
 
15
19
  & .kbq-tag__text {
16
- color: map.get($state, text);
20
+ color: kbq-css-variable(#{$base}-text, map.get($style, text));
17
21
  }
18
22
  }
19
23
 
20
- @mixin kbq-tag-color($tag) {
21
- $default: map.get($tag, default);
22
-
23
- @include kbq-tag-state($default);
24
+ @mixin kbq-tag-color($component, $type) {
25
+ @include kbq-tag-state($component, $type, default);
24
26
 
25
27
  &:hover,
26
28
  &.kbq-hovered {
27
- $hover: map.get($tag, hover);
28
-
29
- @include kbq-tag-state($hover);
29
+ @include kbq-tag-state($component, $type, hover);
30
30
  }
31
31
 
32
32
  &.kbq-focused {
33
- $focus: map.get($tag, focus);
34
-
35
- @include kbq-tag-state($focus);
33
+ @include kbq-tag-state($component, $type, focus);
36
34
 
37
- box-shadow: inset 0 0 0 1px map.get($focus, outline), 0 0 0 1px map.get($focus, outline);
35
+ box-shadow:
36
+ inset 0 0 0.1px 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline)),
37
+ 0 0 0.1px 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline));
38
38
  }
39
39
 
40
40
  &.kbq-disabled {
41
- $disabled: map.get($tag, disabled);
42
-
43
- @include kbq-tag-state($disabled);
41
+ @include kbq-tag-state($component, $type, disabled);
44
42
  }
45
43
  }
46
44
 
47
45
  @mixin kbq-tag-theme($theme) {
48
- $tag: map.get(map.get($theme, components), tag);
46
+ $tag: map.get($theme, components, tag);
49
47
 
50
48
  .kbq-tag {
51
49
  &.kbq-theme {
52
- @include kbq-tag-color(map.get($tag, theme-fade-on));
50
+ @include kbq-tag-color($tag, theme-fade-on);
53
51
  }
54
52
 
55
53
  &.kbq-contrast-fade {
56
- @include kbq-tag-color(map.get($tag, contrast-fade-on));
54
+ @include kbq-tag-color($tag, contrast-fade-on);
57
55
  }
58
56
 
59
57
  &.kbq-error {
60
- @include kbq-tag-color(map.get($tag, error-fade-on));
58
+ @include kbq-tag-color($tag, error-fade-on);
61
59
  }
62
60
  }
63
61
  }
64
62
 
65
63
  @mixin kbq-tag-typography($config) {
66
- $tokens: map.get($config, tokens);
67
-
68
64
  .kbq-tag {
69
- @include kbq-typography-level-to-styles($config, map.get($tokens, tag-font-default));
65
+ @include kbq-typography-css-variables(tag, default);
70
66
  }
71
67
 
72
68
  .kbq-tag-input {
73
- @include kbq-typography-level-to-styles($config, map.get($tokens, tag-input-font-default));
69
+ @include kbq-typography-css-variables(tag-input, default);
74
70
  }
75
71
  }
76
-
@@ -7,6 +7,7 @@ export interface KbqTagsDefaultOptions {
7
7
  separators?: {
8
8
  [key: number]: KbqTagSeparator;
9
9
  };
10
+ addOnPaste?: boolean;
10
11
  }
11
12
  /** Injection token to be used to override the default options for the chips module. */
12
13
  export declare const KBQ_TAGS_DEFAULT_OPTIONS: InjectionToken<KbqTagsDefaultOptions>;
@@ -56,6 +56,12 @@ export declare class KbqTagInput implements KbqTagTextControl, OnChanges {
56
56
  get addOnBlur(): boolean;
57
57
  set addOnBlur(value: boolean);
58
58
  private _addOnBlur;
59
+ /**
60
+ * Whether the tagEnd event will be emitted when the text pasted.
61
+ */
62
+ get addOnPaste(): boolean;
63
+ set addOnPaste(value: boolean);
64
+ private _addOnPaste;
59
65
  /** Whether the input is disabled. */
60
66
  get disabled(): boolean;
61
67
  set disabled(value: boolean);
@@ -88,5 +94,5 @@ export declare class KbqTagInput implements KbqTagTextControl, OnChanges {
88
94
  /** Checks whether a keycode is one of the configured separators. */
89
95
  private isSeparatorKey;
90
96
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTagInput, [null, null, null, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }]>;
91
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTagInput, "input[kbqTagInputFor]", ["kbqTagInput", "kbqTagInputFor"], { "separatorKeyCodes": { "alias": "kbqTagInputSeparatorKeyCodes"; "required": false; }; "distinct": { "alias": "distinct"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tagList": { "alias": "kbqTagInputFor"; "required": false; }; "addOnBlur": { "alias": "kbqTagInputAddOnBlur"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "tagEnd": "kbqTagInputTokenEnd"; }, never, never, false, never>;
97
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTagInput, "input[kbqTagInputFor]", ["kbqTagInput", "kbqTagInputFor"], { "separatorKeyCodes": { "alias": "kbqTagInputSeparatorKeyCodes"; "required": false; }; "distinct": { "alias": "distinct"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tagList": { "alias": "kbqTagInputFor"; "required": false; }; "addOnBlur": { "alias": "kbqTagInputAddOnBlur"; "required": false; }; "addOnPaste": { "alias": "kbqTagInputAddOnPaste"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "tagEnd": "kbqTagInputTokenEnd"; }, never, never, false, never>;
92
98
  }
@@ -2,7 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
-
5
+ @use '../core/styles/common/tokens' as *;
6
6
 
7
7
  $tokens: meta.module-variables(tokens) !default;
8
8
 
@@ -26,8 +26,8 @@ $tokens: meta.module-variables(tokens) !default;
26
26
 
27
27
  min-height: unset;
28
28
 
29
- padding-top: var(--kbq-tag-size-padding-vertical, map.get($tokens, tag-size-padding-vertical));
30
- padding-bottom: var(--kbq-tag-size-padding-vertical, map.get($tokens, tag-size-padding-vertical));
29
+ padding-top: kbq-css-variable(tag-size-padding-vertical);
30
+ padding-bottom: kbq-css-variable(tag-size-padding-vertical);
31
31
  padding-left: 4px;
32
32
  padding-right: unset;
33
33
  }
@@ -41,7 +41,7 @@ $tokens: meta.module-variables(tokens) !default;
41
41
 
42
42
  min-width: 0;
43
43
 
44
- gap: var(--kbq-tag-list-size-content-gap, map.get($tokens, tag-list-size-content-gap));
44
+ gap: kbq-css-variable(tag-list-size-content-gap);
45
45
 
46
46
  & .kbq-tag-input {
47
47
  max-width: 100%;
@@ -61,16 +61,19 @@ $tokens: meta.module-variables(tokens) !default;
61
61
  $padding-vertical: map.get($tokens, tag-input-size-padding-vertical);
62
62
  $border-width: map.get($tokens, form-field-size-border-width);
63
63
 
64
- padding:
65
- calc(
66
- var(--kbq-tag-input-size-padding-vertical, #{$padding-vertical}) -
67
- var(--kbq-form-field-size-border-width, $border-width)
64
+ padding: calc(
65
+ var(--kbq-tag-input-size-padding-vertical, #{$padding-vertical}) - var(
66
+ --kbq-form-field-size-border-width,
67
+ $border-width
68
+ )
68
69
  )
69
- var(--kbq-tag-input-size-padding-right, map.get($tokens, tag-input-size-padding-right))
70
+ kbq-css-variable(tag-input-size-padding-right)
70
71
  calc(
71
- var(--kbq-tag-input-size-padding-vertical, #{$padding-vertical}) -
72
- var(--kbq-form-field-size-border-width, $border-width)
72
+ var(--kbq-tag-input-size-padding-vertical, #{$padding-vertical}) - var(
73
+ --kbq-form-field-size-border-width,
74
+ $border-width
75
+ )
73
76
  )
74
- var(--kbq-tag-input-size-padding-left, map.get($tokens, tag-input-size-padding-left));
77
+ kbq-css-variable(tag-input-size-padding-left);
75
78
  }
76
79
  }
@@ -43,7 +43,7 @@ export declare class KbqTag extends KbqTagMixinBase implements IFocusableOption,
43
43
  private _ngZone;
44
44
  /** Emits when the tag is focused. */
45
45
  readonly onFocus: Subject<KbqTagEvent>;
46
- /** Emits when the tag is blured. */
46
+ /** Emits when the tag is blurred. */
47
47
  readonly onBlur: Subject<KbqTagEvent>;
48
48
  nativeElement: HTMLElement;
49
49
  /** Whether the tag has focus. */
package/tags/tag.scss CHANGED
@@ -1,10 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
4
+ @use '../core/styles/common/tokens' as *;
8
5
 
9
6
  .kbq-tag {
10
7
  position: relative;
@@ -13,9 +10,7 @@ $tokens: meta.module-variables(tokens) !default;
13
10
 
14
11
  max-width: 100%;
15
12
 
16
- padding:
17
- var(--kbq-tag-size-padding-vertical, map.get($tokens, tag-size-padding-vertical))
18
- var(--kbq-tag-size-padding-horizontal, map.get($tokens, tag-size-padding-horizontal));
13
+ padding: kbq-css-variable(tag-size-padding-vertical) kbq-css-variable(tag-size-padding-horizontal);
19
14
 
20
15
  border-radius: 4px;
21
16
 
@@ -32,8 +27,7 @@ $tokens: meta.module-variables(tokens) !default;
32
27
 
33
28
  flex-shrink: 0;
34
29
 
35
- margin-right:
36
- var(--kbq-tag-size-close-button-margin-right, map.get($tokens, tag-size-close-button-margin-right));
30
+ margin-right: kbq-css-variable(tag-size-close-button-margin-right);
37
31
 
38
32
  &:hover {
39
33
  cursor: pointer;
@@ -49,11 +43,11 @@ $tokens: meta.module-variables(tokens) !default;
49
43
  white-space: nowrap;
50
44
  overflow: hidden;
51
45
 
52
- margin: 0 var(--kbq-tag-size-content-gap-horizontal, map.get($tokens, tag-size-content-gap-horizontal));
46
+ margin: 0 kbq-css-variable(tag-size-content-gap-horizontal);
53
47
  }
54
48
 
55
49
  & .kbq-icon_left {
56
- margin-left: var(--kbq-tag-size-icon-margin-left, map.get($tokens, tag-size-icon-margin-left));
50
+ margin-left: kbq-css-variable(tag-size-icon-margin-left);
57
51
  }
58
52
  }
59
53
 
@@ -1,13 +1,10 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/typography/typography-utils' as *;
5
-
4
+ @use '../core/styles/common/tokens' as *;
6
5
 
7
6
  @mixin kbq-textarea-typography($config) {
8
- $tokens: map.get($config, tokens);
9
-
10
7
  .kbq-textarea {
11
- @include kbq-typography-level-to-styles($config, map.get($tokens, textarea-font-default));
8
+ @include kbq-typography-css-variables(textarea, default);
12
9
  }
13
10
  }
@@ -1,10 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
4
+ @use '../core/styles/common/tokens' as *;
8
5
 
9
6
  .kbq-textarea {
10
7
  display: inline-block;
@@ -21,12 +18,10 @@ $tokens: meta.module-variables(tokens) !default;
21
18
 
22
19
  box-sizing: border-box;
23
20
 
24
- padding:
25
- var(--kbq-textarea-size-padding-vertical, map.get($tokens, textarea-size-padding-vertical))
26
- var(--kbq-textarea-size-padding-horizontal, map.get($tokens, textarea-size-padding-horizontal));
21
+ padding: kbq-css-variable(textarea-size-padding-vertical) kbq-css-variable(textarea-size-padding-horizontal);
27
22
 
28
- -webkit-appearance: none; // Chrome textaria height sizing fix
29
- vertical-align: bottom; // Chrome textaria height sizing fix
23
+ -webkit-appearance: none; // Chrome textarea height sizing fix
24
+ vertical-align: bottom; // Chrome textarea height sizing fix
30
25
 
31
26
  &:not(.kbq-textarea-resizable) {
32
27
  box-sizing: border-box;
@@ -35,7 +30,7 @@ $tokens: meta.module-variables(tokens) !default;
35
30
 
36
31
  &.kbq-textarea-resizable {
37
32
  resize: vertical;
38
- min-height: var(--kbq-textarea-size-min-height, map.get($tokens, textarea-size-min-height));
33
+ min-height: kbq-css-variable(textarea-size-min-height);
39
34
  }
40
35
  }
41
36