@koobiq/components 18.32.0 → 18.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/accordion/accordion-trigger.component.scss +2 -0
  2. package/actions-panel/actions-panel-config.d.ts +4 -3
  3. package/actions-panel/actions-panel-container.scss +0 -6
  4. package/actions-panel/actions-panel-ref.d.ts +13 -0
  5. package/actions-panel/actions-panel.d.ts +1 -7
  6. package/clamped-text/clamped-text.d.ts +61 -0
  7. package/clamped-text/clamped-text.scss +17 -0
  8. package/clamped-text/constants.d.ts +14 -0
  9. package/clamped-text/index.d.ts +3 -0
  10. package/clamped-text/module.d.ts +7 -0
  11. package/content-panel/content-panel-aside.scss +9 -0
  12. package/content-panel/content-panel-body.scss +9 -0
  13. package/content-panel/content-panel-container.scss +32 -0
  14. package/content-panel/content-panel-footer.scss +5 -0
  15. package/content-panel/content-panel-header.scss +30 -0
  16. package/content-panel/content-panel-tokens.scss +9 -0
  17. package/content-panel/content-panel.d.ts +149 -0
  18. package/content-panel/content-panel.scss +25 -0
  19. package/content-panel/index.d.ts +3 -0
  20. package/content-panel/module.d.ts +7 -0
  21. package/content-panel/resizable.d.ts +70 -0
  22. package/core/locales/en-US.d.ts +4 -0
  23. package/core/locales/es-LA.d.ts +4 -0
  24. package/core/locales/fa-IR.d.ts +4 -0
  25. package/core/locales/locale-service.d.ts +28 -0
  26. package/core/locales/pt-BR.d.ts +4 -0
  27. package/core/locales/ru-RU.d.ts +4 -0
  28. package/core/locales/tk-TM.d.ts +4 -0
  29. package/core/locales/types.d.ts +5 -0
  30. package/core/locales/zh-CN.d.ts +4 -0
  31. package/core/option/action-container.d.ts +5 -0
  32. package/core/option/action-container.scss +45 -0
  33. package/core/option/action.d.ts +1 -4
  34. package/core/option/action.scss +13 -12
  35. package/core/option/index.d.ts +1 -0
  36. package/core/option/option.d.ts +4 -3
  37. package/core/styles/common/_select.scss +55 -15
  38. package/core/styles/common/_tokens.scss +2 -0
  39. package/datepicker/calendar.component.d.ts +1 -1
  40. package/datepicker/datepicker-input.directive.d.ts +1 -1
  41. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  42. package/datepicker/datepicker.component.d.ts +2 -2
  43. package/dynamic-translation/dynamic-translation.d.ts +72 -0
  44. package/dynamic-translation/index.d.ts +2 -0
  45. package/dynamic-translation/module.d.ts +7 -0
  46. package/esm2022/accordion/accordion-trigger.component.mjs +2 -2
  47. package/esm2022/accordion/accordion.component.mjs +2 -2
  48. package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
  49. package/esm2022/actions-panel/actions-panel-container.mjs +7 -7
  50. package/esm2022/actions-panel/actions-panel-ref.mjs +17 -1
  51. package/esm2022/actions-panel/actions-panel.mjs +34 -24
  52. package/esm2022/alert/alert.component.mjs +2 -2
  53. package/esm2022/badge/badge.component.mjs +2 -2
  54. package/esm2022/breadcrumbs/breadcrumbs.mjs +3 -6
  55. package/esm2022/button/button.component.mjs +4 -3
  56. package/esm2022/button-toggle/button-toggle.component.mjs +11 -11
  57. package/esm2022/checkbox/checkbox.mjs +2 -2
  58. package/esm2022/clamped-text/clamped-text.mjs +202 -0
  59. package/esm2022/clamped-text/constants.mjs +20 -0
  60. package/esm2022/clamped-text/index.mjs +4 -0
  61. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +5 -0
  62. package/esm2022/clamped-text/module.mjs +19 -0
  63. package/esm2022/code-block/code-block.mjs +3 -3
  64. package/esm2022/content-panel/content-panel.mjs +432 -0
  65. package/esm2022/content-panel/index.mjs +4 -0
  66. package/esm2022/content-panel/koobiq-components-content-panel.mjs +5 -0
  67. package/esm2022/content-panel/module.mjs +42 -0
  68. package/esm2022/content-panel/resizable.mjs +138 -0
  69. package/esm2022/core/locales/en-US.mjs +5 -1
  70. package/esm2022/core/locales/es-LA.mjs +5 -1
  71. package/esm2022/core/locales/fa-IR.mjs +5 -1
  72. package/esm2022/core/locales/pt-BR.mjs +5 -1
  73. package/esm2022/core/locales/ru-RU.mjs +5 -1
  74. package/esm2022/core/locales/tk-TM.mjs +5 -1
  75. package/esm2022/core/locales/types.mjs +1 -1
  76. package/esm2022/core/locales/zh-CN.mjs +5 -1
  77. package/esm2022/core/option/action-container.mjs +23 -0
  78. package/esm2022/core/option/action.mjs +16 -30
  79. package/esm2022/core/option/index.mjs +2 -1
  80. package/esm2022/core/option/optgroup.mjs +2 -2
  81. package/esm2022/core/option/option.mjs +4 -4
  82. package/esm2022/core/version.mjs +2 -2
  83. package/esm2022/datepicker/calendar-header.component.mjs +6 -3
  84. package/esm2022/datepicker/calendar.component.mjs +9 -9
  85. package/esm2022/datepicker/datepicker-input.directive.mjs +5 -1
  86. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  87. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  88. package/esm2022/dl/dl.component.mjs +2 -2
  89. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  90. package/esm2022/dynamic-translation/dynamic-translation.mjs +175 -0
  91. package/esm2022/dynamic-translation/index.mjs +3 -0
  92. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +5 -0
  93. package/esm2022/dynamic-translation/module.mjs +25 -0
  94. package/esm2022/empty-state/empty-state.component.mjs +2 -2
  95. package/esm2022/file-upload/file-drop.mjs +1 -1
  96. package/esm2022/file-upload/multiple-file-upload.component.mjs +11 -11
  97. package/esm2022/file-upload/single-file-upload.component.mjs +11 -11
  98. package/esm2022/filter-bar/filter-bar.mjs +5 -3
  99. package/esm2022/filter-bar/filter-bar.types.mjs +1 -1
  100. package/esm2022/filter-bar/filter-refresher.mjs +5 -5
  101. package/esm2022/filter-bar/filter-reset.mjs +4 -3
  102. package/esm2022/filter-bar/filter-search.mjs +11 -11
  103. package/esm2022/filter-bar/filters.mjs +4 -3
  104. package/esm2022/filter-bar/pipe-add.mjs +6 -6
  105. package/esm2022/filter-bar/pipes/base-pipe.mjs +8 -3
  106. package/esm2022/filter-bar/pipes/pipe-button.mjs +7 -7
  107. package/esm2022/filter-bar/pipes/pipe-date.mjs +11 -3
  108. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +11 -3
  109. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +4 -10
  110. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +10 -9
  111. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +7 -7
  112. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -4
  113. package/esm2022/filter-bar/pipes/pipe-text.mjs +8 -2
  114. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +9 -3
  115. package/esm2022/form-field/cleaner.mjs +16 -11
  116. package/esm2022/form-field/error.mjs +2 -2
  117. package/esm2022/form-field/fieldset.mjs +2 -2
  118. package/esm2022/form-field/form-field.mjs +5 -5
  119. package/esm2022/form-field/hint.mjs +2 -2
  120. package/esm2022/form-field/password-hint.mjs +16 -5
  121. package/esm2022/form-field/password-toggle.mjs +45 -10
  122. package/esm2022/form-field/reactive-password-hint.mjs +20 -19
  123. package/esm2022/form-field/stepper.mjs +9 -9
  124. package/esm2022/icon/icon-button.component.mjs +2 -2
  125. package/esm2022/input/input-number.mjs +15 -10
  126. package/esm2022/input/input-password.mjs +2 -2
  127. package/esm2022/list/list-selection.component.mjs +5 -5
  128. package/esm2022/list/list.component.mjs +2 -2
  129. package/esm2022/list/list.module.mjs +12 -5
  130. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  131. package/esm2022/markdown/markdown.component.mjs +3 -3
  132. package/esm2022/modal/modal.component.mjs +14 -14
  133. package/esm2022/modal/modal.directive.mjs +7 -5
  134. package/esm2022/navbar/navbar-item.component.mjs +5 -5
  135. package/esm2022/navbar/navbar.component.mjs +2 -2
  136. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  137. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  138. package/esm2022/popover/popover.component.mjs +3 -3
  139. package/esm2022/progress-bar/progress-bar.component.mjs +2 -2
  140. package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
  141. package/esm2022/radio/radio.component.mjs +2 -2
  142. package/esm2022/risk-level/risk-level.component.mjs +2 -2
  143. package/esm2022/scrollbar/scrollbar.component.mjs +5 -5
  144. package/esm2022/select/select.component.mjs +56 -26
  145. package/esm2022/sidebar/sidebar.component.mjs +46 -27
  146. package/esm2022/sidepanel/sidepanel-container.component.mjs +15 -4
  147. package/esm2022/sidepanel/sidepanel-directives.mjs +5 -5
  148. package/esm2022/sidepanel/sidepanel-ref.mjs +8 -6
  149. package/esm2022/splitter/splitter.component.mjs +1 -1
  150. package/esm2022/table/table.component.mjs +2 -2
  151. package/esm2022/tabs/tab-body.component.mjs +3 -3
  152. package/esm2022/tabs/tab-group.component.mjs +27 -27
  153. package/esm2022/tabs/tab.component.mjs +4 -4
  154. package/esm2022/tags/tag-input.mjs +2 -2
  155. package/esm2022/tags/tag-list.component.mjs +13 -13
  156. package/esm2022/textarea/textarea.component.mjs +6 -4
  157. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  158. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  159. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  160. package/esm2022/toast/toast.component.mjs +3 -3
  161. package/esm2022/toggle/toggle.component.mjs +3 -3
  162. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  163. package/esm2022/top-bar/top-bar.mjs +2 -2
  164. package/esm2022/tree/toggle.mjs +2 -2
  165. package/esm2022/tree/tree-option.component.mjs +3 -3
  166. package/esm2022/tree/tree-selection.component.mjs +6 -6
  167. package/esm2022/tree/tree.mjs +2 -2
  168. package/esm2022/tree/tree.module.mjs +8 -5
  169. package/esm2022/tree-select/tree-select.component.mjs +44 -28
  170. package/esm2022/username/constants.mjs +25 -0
  171. package/esm2022/username/index.mjs +6 -0
  172. package/esm2022/username/koobiq-components-username.mjs +5 -0
  173. package/esm2022/username/module.mjs +35 -0
  174. package/esm2022/username/types.mjs +32 -0
  175. package/esm2022/username/username.mjs +129 -0
  176. package/esm2022/username/username.pipe.mjs +92 -0
  177. package/fesm2022/koobiq-components-accordion.mjs +4 -4
  178. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-actions-panel.mjs +56 -31
  180. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  181. package/fesm2022/koobiq-components-alert.mjs +2 -2
  182. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-badge.mjs +2 -2
  184. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  185. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -5
  186. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  187. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  188. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  189. package/fesm2022/koobiq-components-button.mjs +3 -2
  190. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  191. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  192. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  193. package/fesm2022/koobiq-components-clamped-text.mjs +242 -0
  194. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -0
  195. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  196. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  197. package/fesm2022/koobiq-components-content-panel.mjs +612 -0
  198. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -0
  199. package/fesm2022/koobiq-components-core.mjs +71 -36
  200. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  201. package/fesm2022/koobiq-components-datepicker.mjs +26 -19
  202. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  203. package/fesm2022/koobiq-components-dl.mjs +2 -2
  204. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  205. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  206. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-dynamic-translation.mjs +204 -0
  208. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -0
  209. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  210. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-file-upload.mjs +20 -20
  212. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-filter-bar.mjs +92 -66
  214. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  215. package/fesm2022/koobiq-components-form-field.mjs +108 -57
  216. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  217. package/fesm2022/koobiq-components-icon.mjs +2 -2
  218. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  219. package/fesm2022/koobiq-components-input.mjs +15 -10
  220. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  221. package/fesm2022/koobiq-components-list.mjs +17 -10
  222. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  223. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  224. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  226. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  227. package/fesm2022/koobiq-components-modal.mjs +19 -17
  228. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  229. package/fesm2022/koobiq-components-navbar.mjs +8 -8
  230. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  231. package/fesm2022/koobiq-components-popover.mjs +4 -4
  232. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  233. package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
  234. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  235. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  236. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  237. package/fesm2022/koobiq-components-radio.mjs +2 -2
  238. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  239. package/fesm2022/koobiq-components-risk-level.mjs +2 -2
  240. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  241. package/fesm2022/koobiq-components-scrollbar.mjs +4 -4
  242. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  243. package/fesm2022/koobiq-components-select.mjs +55 -25
  244. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  245. package/fesm2022/koobiq-components-sidebar.mjs +45 -26
  246. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  247. package/fesm2022/koobiq-components-sidepanel.mjs +24 -12
  248. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  249. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  250. package/fesm2022/koobiq-components-table.mjs +2 -2
  251. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  252. package/fesm2022/koobiq-components-tabs.mjs +31 -31
  253. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  254. package/fesm2022/koobiq-components-tags.mjs +13 -13
  255. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  256. package/fesm2022/koobiq-components-textarea.mjs +5 -3
  257. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  258. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  259. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  260. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  261. package/fesm2022/koobiq-components-toast.mjs +2 -2
  262. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  263. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  264. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  265. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  266. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  267. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  268. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  269. package/fesm2022/koobiq-components-tree-select.mjs +43 -27
  270. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  271. package/fesm2022/koobiq-components-tree.mjs +18 -15
  272. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  273. package/fesm2022/koobiq-components-username.mjs +308 -0
  274. package/fesm2022/koobiq-components-username.mjs.map +1 -0
  275. package/file-upload/_file-upload-theme.scss +10 -1
  276. package/file-upload/file-drop.d.ts +1 -1
  277. package/file-upload/multiple-file-upload.component.d.ts +1 -1
  278. package/file-upload/single-file-upload.component.d.ts +2 -2
  279. package/filter-bar/filter-bar.d.ts +2 -0
  280. package/filter-bar/filter-bar.types.d.ts +2 -2
  281. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  282. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  283. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -1
  284. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +3 -2
  285. package/filter-bar/pipes/pipe-select.d.ts +0 -1
  286. package/filter-bar/pipes/pipe-tree-select.d.ts +3 -2
  287. package/form-field/_form-field-theme.scss +27 -18
  288. package/form-field/cleaner.d.ts +4 -2
  289. package/form-field/cleaner.scss +6 -2
  290. package/form-field/form-field.scss +6 -2
  291. package/form-field/password-hint.d.ts +7 -0
  292. package/form-field/password-toggle.d.ts +23 -3
  293. package/form-field/password-toggle.scss +4 -8
  294. package/form-field/reactive-password-hint.d.ts +1 -0
  295. package/icon/_icon-button-theme.scss +8 -2
  296. package/list/_list-theme.scss +4 -1
  297. package/list/list.module.d.ts +2 -1
  298. package/list/list.scss +6 -12
  299. package/modal/modal.component.d.ts +6 -6
  300. package/package.json +28 -4
  301. package/popover/popover-confirm.component.d.ts +1 -1
  302. package/popover/popover.component.d.ts +2 -2
  303. package/prebuilt-themes/dark-theme.css +1 -1
  304. package/prebuilt-themes/light-theme.css +1 -1
  305. package/prebuilt-themes/theme.css +1 -1
  306. package/schematics/ng-add/index.js +3 -3
  307. package/scrollbar/scrollbar.component.d.ts +4 -4
  308. package/select/select.component.d.ts +22 -3
  309. package/sidebar/sidebar.component.d.ts +31 -5
  310. package/sidepanel/sidepanel-container.component.d.ts +9 -0
  311. package/sidepanel/sidepanel-ref.d.ts +3 -3
  312. package/splitter/splitter.component.d.ts +2 -2
  313. package/tabs/tab-group.component.d.ts +1 -1
  314. package/tabs/tab.component.d.ts +1 -1
  315. package/tags/tag-input.d.ts +1 -1
  316. package/tags/tag-list.component.d.ts +1 -1
  317. package/timepicker/timepicker.directive.d.ts +1 -1
  318. package/tooltip/tooltip.component.d.ts +2 -2
  319. package/tree/_tree-theme.scss +13 -2
  320. package/tree/tree-option.scss +12 -17
  321. package/tree/tree-selection.component.d.ts +1 -1
  322. package/tree/tree.module.d.ts +1 -1
  323. package/tree-select/tree-select.component.d.ts +9 -2
  324. package/username/constants.d.ts +15 -0
  325. package/username/index.d.ts +5 -0
  326. package/username/module.d.ts +8 -0
  327. package/username/types.d.ts +62 -0
  328. package/username/username-tokens.scss +6 -0
  329. package/username/username.d.ts +68 -0
  330. package/username/username.pipe.d.ts +23 -0
  331. package/username/username.scss +107 -0
@@ -66,32 +66,41 @@
66
66
  &.kbq-form-field-type-datepicker,
67
67
  &.kbq-form-field-type-input-password,
68
68
  &.kbq-form-field-type-tag-list,
69
- &.kbq-form-field-type-select.cdk-keyboard-focused {
70
- &.cdk-focused {
71
- @include _kbq-form-field-state(states-focused);
72
-
73
- & .kbq-form-field__container {
74
- box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-focused-focus-outline);
69
+ &.kbq-form-field-type-select {
70
+ &:not(:has(.cdk-keyboard-focused, .kbq-focused)) {
71
+ &.cdk-focused {
72
+ @include _kbq-form-field-state(states-focused);
73
+
74
+ & .kbq-form-field__container {
75
+ box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-focused-focus-outline);
76
+ }
75
77
  }
76
- }
77
78
 
78
- // Invalid by control `ErrorStateMatcher`
79
- &.kbq-form-field_invalid,
80
- // Invalid by `KbqValidateDirective`
81
- &.kbq-form-field_has-validate-directive.ng-invalid {
82
- @include _kbq-form-field-state(states-error);
79
+ // Invalid by control `ErrorStateMatcher`
80
+ &.kbq-form-field_invalid,
81
+ // Invalid by `KbqValidateDirective`
82
+ &.kbq-form-field_has-validate-directive.ng-invalid {
83
+ @include _kbq-form-field-state(states-error);
83
84
 
84
- &.cdk-focused .kbq-form-field__container {
85
- box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-error-focused-focus-outline);
86
- }
85
+ &.cdk-focused .kbq-form-field__container {
86
+ box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-error-focused-focus-outline);
87
+ }
87
88
 
88
- & .kbq-icon.kbq-empty {
89
- color: var(--kbq-form-field-states-error-text);
90
- -webkit-text-fill-color: var(--kbq-form-field-states-error-text);
89
+ & .kbq-icon.kbq-empty {
90
+ color: var(--kbq-form-field-states-error-text);
91
+ -webkit-text-fill-color: var(--kbq-form-field-states-error-text);
92
+ }
91
93
  }
92
94
  }
93
95
  }
94
96
 
97
+ // todo quick fix for bug DS-4060. Technical debt DS-4096
98
+ & .kbq-form-field__container:has(.kbq-input:-webkit-autofill),
99
+ & .kbq-form-field__container:has(.kbq-input:-webkit-autofill:hover),
100
+ & .kbq-form-field__container:has(.kbq-input:-webkit-autofill:focus) {
101
+ background-color: var(--kbq-form-field-states-autofill-background) !important;
102
+ }
103
+
95
104
  &.kbq-disabled {
96
105
  @include _kbq-form-field-state(states-disabled);
97
106
 
@@ -1,9 +1,11 @@
1
+ import { KbqIconButton } from '@koobiq/components/icon';
1
2
  import * as i0 from "@angular/core";
2
3
  /**
3
4
  * Element to be placed in end of the form field.
4
5
  * Resets form control by click.
5
6
  */
6
- export declare class KbqCleaner {
7
+ export declare class KbqCleaner extends KbqIconButton {
8
+ constructor();
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqCleaner, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqCleaner, "kbq-cleaner", ["kbqCleaner"], {}, {}, never, never, true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqCleaner, "kbq-cleaner", ["kbqCleaner"], {}, {}, never, ["*"], true, never>;
9
11
  }
@@ -3,6 +3,10 @@
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
 
6
- width: var(--kbq-form-field-size-addon-width);
7
- height: 100%;
6
+ width: 26px;
7
+ height: var(--kbq-size-xxl);
8
+
9
+ outline: none;
10
+
11
+ border-radius: var(--kbq-size-xxs);
8
12
  }
@@ -54,7 +54,7 @@
54
54
 
55
55
  padding-left: var(--kbq-form-field-size-infix-left-padding);
56
56
 
57
- &:has(.kbq-select_multiple):not(:has(.kbq-select__trigger_empty)),
57
+ &:has(.kbq-select_multiple, .kbq-select_multiline):not(:has(.kbq-select__trigger_empty)),
58
58
  &:has(.kbq-tag-list) {
59
59
  padding-left: 0;
60
60
 
@@ -98,7 +98,11 @@
98
98
  justify-content: center;
99
99
  align-items: center;
100
100
 
101
- min-width: var(--kbq-form-field-size-addon-width);
101
+ & .kbq-prefix,
102
+ & .kbq-suffix {
103
+ min-width: var(--kbq-form-field-size-addon-width);
104
+ text-align: center;
105
+ }
102
106
  }
103
107
 
104
108
  .kbq-form-field__prefix {
@@ -1,4 +1,5 @@
1
1
  import { AfterContentInit, ChangeDetectorRef, QueryList } from '@angular/core';
2
+ import { KbqComponentColors } from '@koobiq/components/core';
2
3
  import { KbqFormField } from './form-field';
3
4
  import { KbqHint } from './hint';
4
5
  import * as i0 from "@angular/core";
@@ -31,6 +32,12 @@ export declare class KbqPasswordHint extends KbqHint implements AfterContentInit
31
32
  hasError: boolean;
32
33
  checked: boolean;
33
34
  get icon(): string;
35
+ /**
36
+ * The form field hint icon color.
37
+ *
38
+ * @docs-private
39
+ */
40
+ protected get iconColor(): KbqComponentColors;
34
41
  private checkRule;
35
42
  private get control();
36
43
  private lastControlValue;
@@ -1,10 +1,15 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, OnDestroy, TemplateRef } from '@angular/core';
2
3
  import { KbqIconButton } from '@koobiq/components/icon';
3
4
  import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
4
5
  import * as i0 from "@angular/core";
5
6
  /** Component which changes password visibility. */
6
- export declare class KbqPasswordToggle extends KbqTooltipTrigger {
7
+ export declare class KbqPasswordToggle extends KbqTooltipTrigger implements AfterViewInit, OnDestroy, AfterContentInit {
8
+ protected readonly nativeElement: any;
9
+ protected readonly focusMonitor: FocusMonitor;
10
+ protected readonly changeDetectorRef: ChangeDetectorRef;
7
11
  private readonly formField;
12
+ tabindex: number;
8
13
  /**
9
14
  * @docs-private
10
15
  */
@@ -12,6 +17,7 @@ export declare class KbqPasswordToggle extends KbqTooltipTrigger {
12
17
  get content(): string | TemplateRef<any>;
13
18
  set content(content: string | TemplateRef<any>);
14
19
  kbqTooltipHidden: string | TemplateRef<any>;
20
+ protected hasError: boolean;
15
21
  /** Form field password control. */
16
22
  private get control();
17
23
  /**
@@ -27,10 +33,24 @@ export declare class KbqPasswordToggle extends KbqTooltipTrigger {
27
33
  */
28
34
  get visibility(): 'hidden' | 'visible';
29
35
  constructor();
36
+ /**
37
+ * @docs-private
38
+ */
39
+ ngAfterContentInit(): void;
40
+ /**
41
+ * @docs-private
42
+ */
43
+ ngAfterViewInit(): void;
44
+ /**
45
+ * @docs-private
46
+ */
47
+ ngOnDestroy(): void;
30
48
  /**
31
49
  * @docs-private
32
50
  */
33
51
  toggle(event: KeyboardEvent): void;
52
+ private updateState;
34
53
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordToggle, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordToggle, "kbq-password-toggle", ["kbqPasswordToggle"], { "content": { "alias": "kbqTooltipNotHidden"; "required": false; }; "kbqTooltipHidden": { "alias": "kbqTooltipHidden"; "required": false; }; }, {}, never, never, true, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordToggle, "kbq-password-toggle", ["kbqPasswordToggle"], { "tabindex": { "alias": "tabindex"; "required": false; }; "content": { "alias": "kbqTooltipNotHidden"; "required": false; }; "kbqTooltipHidden": { "alias": "kbqTooltipHidden"; "required": false; }; }, {}, never, ["*"], true, never>;
55
+ static ngAcceptInputType_tabindex: unknown;
36
56
  }
@@ -3,14 +3,10 @@
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
 
6
- width: var(--kbq-form-field-size-addon-width);
7
- height: 100%;
6
+ width: 26px;
7
+ height: var(--kbq-size-xxl);
8
8
 
9
- &::-moz-focus-inner {
10
- border: 0;
11
- }
9
+ border-radius: var(--kbq-size-xxs);
12
10
 
13
- &:focus {
14
- outline: none;
15
- }
11
+ outline: none;
16
12
  }
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class KbqReactivePasswordHint extends KbqHint {
5
5
  private readonly formField;
6
6
  private readonly destroyRef;
7
+ private readonly changeDetectorRef;
7
8
  /** Whether the form field control has an error. */
8
9
  readonly hasError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
10
  /**
@@ -91,8 +91,14 @@
91
91
 
92
92
  &.cdk-keyboard-focused {
93
93
  box-shadow:
94
- inset 0 0 0.1px 1px var(--kbq-states-line-focus-theme),
95
- 0 0 0.1px 1px var(--kbq-states-line-focus-theme);
94
+ inset 0 0 0 1px var(--kbq-states-line-focus-theme),
95
+ 0 0 0 1px var(--kbq-states-line-focus-theme);
96
+
97
+ &.kbq-error {
98
+ box-shadow:
99
+ inset 0 0 0 1px var(--kbq-states-line-focus-error),
100
+ 0 0 0 1px var(--kbq-states-line-focus-error);
101
+ }
96
102
  }
97
103
  }
98
104
  }
@@ -1,6 +1,8 @@
1
1
  @use '../core/styles/common/tokens';
2
2
 
3
3
  @mixin _kbq-list-item($state-name) {
4
+ --kbq-option-background: var(--kbq-list-#{$state-name}-container-background);
5
+
4
6
  background: var(--kbq-list-#{$state-name}-container-background);
5
7
 
6
8
  .kbq-list-text {
@@ -24,7 +26,8 @@
24
26
  .kbq-list-option {
25
27
  @include _kbq-list-item(default);
26
28
 
27
- &:hover:not(.kbq-disabled) {
29
+ &:hover:not(.kbq-disabled),
30
+ &.kbq-action-button-focused:not(.kbq-disabled) {
28
31
  @include _kbq-list-item(states-hover);
29
32
  }
30
33
 
@@ -3,8 +3,9 @@ import * as i1 from "./list.component";
3
3
  import * as i2 from "./list-selection.component";
4
4
  import * as i3 from "@angular/cdk/a11y";
5
5
  import * as i4 from "@koobiq/components/core";
6
+ import * as i5 from "@koobiq/components/icon";
6
7
  export declare class KbqListModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqListModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqListModule, [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption], [typeof i3.A11yModule, typeof i4.KbqPseudoCheckboxModule, typeof i4.KbqLineModule, typeof i4.KbqOptionModule], [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption, typeof i4.KbqOptionModule]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqListModule, [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption], [typeof i3.A11yModule, typeof i4.KbqPseudoCheckboxModule, typeof i4.KbqLineModule, typeof i4.KbqOptionModule, typeof i4.KbqActionContainer, typeof i5.KbqIconModule], [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption, typeof i4.KbqOptionModule]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqListModule>;
10
11
  }
package/list/list.scss CHANGED
@@ -32,19 +32,13 @@
32
32
 
33
33
  &:not(.kbq-disabled) {
34
34
  cursor: pointer;
35
- }
36
-
37
- & .kbq-option-action {
38
- display: none;
39
- height: var(--kbq-size-xl);
40
- align-items: center;
41
- }
42
35
 
43
- &:not(.kbq-disabled):hover,
44
- &:not(.kbq-disabled).kbq-focused,
45
- &:not(.kbq-disabled).kbq-action-button-focused {
46
- & .kbq-option-action {
47
- display: flex;
36
+ &:hover,
37
+ &.kbq-focused,
38
+ &.kbq-action-button-focused {
39
+ & .kbq-action-container {
40
+ display: flex;
41
+ }
48
42
  }
49
43
  }
50
44
  }
@@ -31,7 +31,7 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
31
31
  get kbqVisible(): boolean;
32
32
  set kbqVisible(value: boolean);
33
33
  private _kbqVisible;
34
- kbqVisibleChange: EventEmitter<boolean>;
34
+ readonly kbqVisibleChange: EventEmitter<boolean>;
35
35
  kbqWidth: number | string;
36
36
  kbqSize: ModalSize;
37
37
  kbqWrapClassName: string;
@@ -50,20 +50,20 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
50
50
  private _kbqMaskClosable;
51
51
  kbqMaskStyle: object;
52
52
  kbqBodyStyle: object;
53
- kbqAfterOpen: EventEmitter<void>;
54
- kbqAfterClose: EventEmitter<R | undefined>;
53
+ readonly kbqAfterOpen: EventEmitter<void>;
54
+ readonly kbqAfterClose: EventEmitter<R | undefined>;
55
55
  kbqOkText: string;
56
56
  kbqOkType: KbqComponentColors;
57
57
  kbqRestoreFocus: boolean;
58
58
  get kbqOkLoading(): boolean;
59
59
  set kbqOkLoading(value: boolean);
60
60
  private _kbqOkLoading;
61
- kbqOnOk: EventEmitter<T> | OnClickCallback<T>;
61
+ readonly kbqOnOk: EventEmitter<T> | OnClickCallback<T>;
62
62
  kbqCancelText: string;
63
63
  get kbqCancelLoading(): boolean;
64
64
  set kbqCancelLoading(value: boolean);
65
65
  private _kbqCancelLoading;
66
- kbqOnCancel: EventEmitter<T> | OnClickCallback<T>;
66
+ readonly kbqOnCancel: EventEmitter<T> | OnClickCallback<T>;
67
67
  modalContainer: ElementRef;
68
68
  bodyContainer: ViewContainerRef;
69
69
  autoFocusedButtons: QueryList<ElementRef>;
@@ -85,8 +85,8 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
85
85
  private container;
86
86
  constructor(overlay: Overlay, renderer: Renderer2, cfr: ComponentFactoryResolver, elementRef: ElementRef, viewContainer: ViewContainerRef, modalControl: KbqModalControlService, changeDetector: ChangeDetectorRef, focusMonitor: FocusMonitor);
87
87
  kbqGetContainer: HTMLElement | OverlayRef | (() => HTMLElement | OverlayRef);
88
- ngOnInit(): void;
89
88
  ngOnChanges(changes: SimpleChanges): void;
89
+ ngOnInit(): void;
90
90
  ngAfterViewInit(): void;
91
91
  ngOnDestroy(): void;
92
92
  checkOverflow(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "18.32.0",
3
+ "version": "18.34.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,9 +24,9 @@
24
24
  "@angular/cdk": "^18.0.0",
25
25
  "@angular/core": "^18.0.0",
26
26
  "@angular/forms": "^18.0.0",
27
- "@koobiq/cdk": "18.32.0",
28
- "@koobiq/angular-moment-adapter": "18.32.0",
29
- "@koobiq/angular-luxon-adapter": "18.32.0",
27
+ "@koobiq/cdk": "18.34.0",
28
+ "@koobiq/angular-moment-adapter": "18.34.0",
29
+ "@koobiq/angular-luxon-adapter": "18.34.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
31
  "@koobiq/icons": "^10.4.0",
32
32
  "@koobiq/tokens-builder": "3.11.0",
@@ -118,12 +118,24 @@
118
118
  "esm": "./esm2022/checkbox/koobiq-components-checkbox.mjs",
119
119
  "default": "./fesm2022/koobiq-components-checkbox.mjs"
120
120
  },
121
+ "./clamped-text": {
122
+ "types": "./clamped-text/index.d.ts",
123
+ "esm2022": "./esm2022/clamped-text/koobiq-components-clamped-text.mjs",
124
+ "esm": "./esm2022/clamped-text/koobiq-components-clamped-text.mjs",
125
+ "default": "./fesm2022/koobiq-components-clamped-text.mjs"
126
+ },
121
127
  "./code-block": {
122
128
  "types": "./code-block/index.d.ts",
123
129
  "esm2022": "./esm2022/code-block/koobiq-components-code-block.mjs",
124
130
  "esm": "./esm2022/code-block/koobiq-components-code-block.mjs",
125
131
  "default": "./fesm2022/koobiq-components-code-block.mjs"
126
132
  },
133
+ "./content-panel": {
134
+ "types": "./content-panel/index.d.ts",
135
+ "esm2022": "./esm2022/content-panel/koobiq-components-content-panel.mjs",
136
+ "esm": "./esm2022/content-panel/koobiq-components-content-panel.mjs",
137
+ "default": "./fesm2022/koobiq-components-content-panel.mjs"
138
+ },
127
139
  "./core": {
128
140
  "types": "./core/index.d.ts",
129
141
  "esm2022": "./esm2022/core/koobiq-components-core.mjs",
@@ -154,6 +166,12 @@
154
166
  "esm": "./esm2022/dropdown/koobiq-components-dropdown.mjs",
155
167
  "default": "./fesm2022/koobiq-components-dropdown.mjs"
156
168
  },
169
+ "./dynamic-translation": {
170
+ "types": "./dynamic-translation/index.d.ts",
171
+ "esm2022": "./esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs",
172
+ "esm": "./esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs",
173
+ "default": "./fesm2022/koobiq-components-dynamic-translation.mjs"
174
+ },
157
175
  "./ellipsis-center": {
158
176
  "types": "./ellipsis-center/index.d.ts",
159
177
  "esm2022": "./esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs",
@@ -375,6 +393,12 @@
375
393
  "esm2022": "./esm2022/tree-select/koobiq-components-tree-select.mjs",
376
394
  "esm": "./esm2022/tree-select/koobiq-components-tree-select.mjs",
377
395
  "default": "./fesm2022/koobiq-components-tree-select.mjs"
396
+ },
397
+ "./username": {
398
+ "types": "./username/index.d.ts",
399
+ "esm2022": "./esm2022/username/koobiq-components-username.mjs",
400
+ "esm": "./esm2022/username/koobiq-components-username.mjs",
401
+ "default": "./fesm2022/koobiq-components-username.mjs"
378
402
  }
379
403
  },
380
404
  "schematics": "./schematics/collection.json",
@@ -12,7 +12,7 @@ export declare class KbqPopoverConfirmComponent extends KbqPopoverComponent {
12
12
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqPopoverConfirmComponent, "kbq-popover-confirm-component", never, {}, {}, never, never, false, never>;
13
13
  }
14
14
  export declare class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {
15
- confirm: EventEmitter<void>;
15
+ readonly confirm: EventEmitter<void>;
16
16
  get confirmText(): string;
17
17
  set confirmText(value: string);
18
18
  private _confirmText;
@@ -83,8 +83,8 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
83
83
  offset: number | null;
84
84
  /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */
85
85
  leaveDelay: number;
86
- placementChange: EventEmitter<any>;
87
- visibleChange: EventEmitter<boolean>;
86
+ readonly placementChange: EventEmitter<any>;
87
+ readonly visibleChange: EventEmitter<boolean>;
88
88
  protected originSelector: string;
89
89
  protected get overlayConfig(): OverlayConfig;
90
90
  ngOnInit(): void;