@koobiq/components 18.35.0 → 18.36.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 (546) hide show
  1. package/accordion/accordion.component.d.ts +1 -1
  2. package/app-switcher/_app-switcher-theme.scss +34 -0
  3. package/app-switcher/app-switcher-animations.d.ts +5 -0
  4. package/app-switcher/app-switcher-dropdown-app.d.ts +11 -0
  5. package/app-switcher/app-switcher-dropdown-app.scss +85 -0
  6. package/app-switcher/app-switcher-dropdown-site.d.ts +9 -0
  7. package/app-switcher/app-switcher-dropdown-site.scss +53 -0
  8. package/app-switcher/app-switcher.d.ts +191 -0
  9. package/app-switcher/app-switcher.module.d.ts +10 -0
  10. package/app-switcher/app-switcher.scss +64 -0
  11. package/app-switcher/index.d.ts +1 -0
  12. package/app-switcher/kbq-app-switcher-list-item.d.ts +16 -0
  13. package/app-switcher/kbq-app-switcher-list-item.scss +180 -0
  14. package/app-switcher/public-api.d.ts +6 -0
  15. package/badge/badge.component.d.ts +1 -1
  16. package/badge/badge.component.scss +2 -0
  17. package/breadcrumbs/breadcrumbs.scss +4 -0
  18. package/button/button.component.d.ts +2 -2
  19. package/core/common-behaviors/clipboard.d.ts +1 -1
  20. package/core/common-behaviors/color.d.ts +5 -5
  21. package/core/common-behaviors/focus-monitor.d.ts +19 -0
  22. package/core/common-behaviors/hovered.d.ts +13 -0
  23. package/core/common-behaviors/index.d.ts +4 -0
  24. package/core/common-behaviors/orientation.d.ts +4 -0
  25. package/core/common-behaviors/read-state.d.ts +12 -0
  26. package/core/locales/en-US.d.ts +62 -0
  27. package/core/locales/es-LA.d.ts +62 -0
  28. package/core/locales/fa-IR.d.ts +62 -0
  29. package/core/locales/locale-service.d.ts +434 -0
  30. package/core/locales/pt-BR.d.ts +62 -0
  31. package/core/locales/ru-RU.d.ts +62 -0
  32. package/core/locales/tk-TM.d.ts +62 -0
  33. package/core/locales/types.d.ts +22 -0
  34. package/core/locales/zh-CN.d.ts +62 -0
  35. package/core/navbar/rectangle-item.d.ts +1 -1
  36. package/core/option/action.d.ts +1 -1
  37. package/core/option/option.d.ts +1 -1
  38. package/core/pop-up/constants.d.ts +2 -1
  39. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  40. package/core/pop-up/pop-up.d.ts +2 -1
  41. package/core/select/common.d.ts +3 -0
  42. package/core/select/constants.d.ts +5 -0
  43. package/core/styles/common/_select.scss +5 -0
  44. package/core/utils/dom.d.ts +1 -6
  45. package/divider/divider.scss +1 -0
  46. package/dropdown/dropdown.component.d.ts +5 -1
  47. package/dropdown/dropdown.module.d.ts +1 -1
  48. package/esm2022/accordion/accordion-content.mjs +3 -3
  49. package/esm2022/accordion/accordion-header.mjs +3 -3
  50. package/esm2022/accordion/accordion-item.mjs +3 -3
  51. package/esm2022/accordion/accordion-trigger.component.mjs +3 -3
  52. package/esm2022/accordion/accordion.component.mjs +5 -5
  53. package/esm2022/accordion/accordion.module.mjs +4 -4
  54. package/esm2022/actions-panel/actions-panel-container.mjs +3 -3
  55. package/esm2022/actions-panel/actions-panel.mjs +3 -3
  56. package/esm2022/actions-panel/module.mjs +4 -4
  57. package/esm2022/alert/alert.component.mjs +12 -12
  58. package/esm2022/alert/alert.module.mjs +4 -4
  59. package/esm2022/app-switcher/app-switcher-animations.mjs +18 -0
  60. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +75 -0
  61. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +60 -0
  62. package/esm2022/app-switcher/app-switcher.mjs +446 -0
  63. package/esm2022/app-switcher/app-switcher.module.mjs +45 -0
  64. package/esm2022/app-switcher/index.mjs +2 -0
  65. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +84 -0
  66. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +5 -0
  67. package/esm2022/app-switcher/public-api.mjs +7 -0
  68. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  69. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  70. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  71. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  72. package/esm2022/badge/badge.component.mjs +11 -11
  73. package/esm2022/badge/badge.module.mjs +4 -4
  74. package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
  75. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  76. package/esm2022/button/button.component.mjs +7 -7
  77. package/esm2022/button/button.dropdown-trigger.directive.mjs +3 -3
  78. package/esm2022/button/button.module.mjs +4 -4
  79. package/esm2022/button-toggle/button-toggle.component.mjs +6 -6
  80. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  81. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  82. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  83. package/esm2022/checkbox/checkbox.mjs +3 -3
  84. package/esm2022/clamped-text/clamped-text.mjs +3 -3
  85. package/esm2022/clamped-text/module.mjs +4 -4
  86. package/esm2022/code-block/code-block-highlight.mjs +7 -7
  87. package/esm2022/code-block/code-block.mjs +4 -4
  88. package/esm2022/code-block/code-block.module.mjs +4 -4
  89. package/esm2022/content-panel/content-panel.mjs +24 -24
  90. package/esm2022/content-panel/module.mjs +4 -4
  91. package/esm2022/content-panel/resizable.mjs +6 -6
  92. package/esm2022/core/common-behaviors/clipboard.mjs +4 -4
  93. package/esm2022/core/common-behaviors/color.mjs +6 -7
  94. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  95. package/esm2022/core/common-behaviors/focus-monitor.mjs +37 -0
  96. package/esm2022/core/common-behaviors/hovered.mjs +31 -0
  97. package/esm2022/core/common-behaviors/index.mjs +5 -1
  98. package/esm2022/core/common-behaviors/orientation.mjs +2 -0
  99. package/esm2022/core/common-behaviors/read-state.mjs +33 -0
  100. package/esm2022/core/error/error-state-matcher.mjs +9 -9
  101. package/esm2022/core/form-field/field-sizing-content.mjs +3 -3
  102. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  103. package/esm2022/core/formatters/date/formatter.pipe.mjs +78 -78
  104. package/esm2022/core/formatters/filesize/formatter.mjs +3 -3
  105. package/esm2022/core/formatters/index.mjs +4 -4
  106. package/esm2022/core/formatters/number/formatter.mjs +12 -12
  107. package/esm2022/core/forms/forms-module.mjs +4 -4
  108. package/esm2022/core/forms/forms.directive.mjs +6 -6
  109. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  110. package/esm2022/core/highlight/index.mjs +4 -4
  111. package/esm2022/core/line/line.mjs +7 -7
  112. package/esm2022/core/locales/en-US.mjs +105 -1
  113. package/esm2022/core/locales/es-LA.mjs +105 -1
  114. package/esm2022/core/locales/fa-IR.mjs +75 -1
  115. package/esm2022/core/locales/locale-service.mjs +3 -3
  116. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  117. package/esm2022/core/locales/pt-BR.mjs +105 -1
  118. package/esm2022/core/locales/ru-RU.mjs +119 -1
  119. package/esm2022/core/locales/tk-TM.mjs +105 -1
  120. package/esm2022/core/locales/types.mjs +1 -1
  121. package/esm2022/core/locales/zh-CN.mjs +63 -1
  122. package/esm2022/core/navbar/rectangle-item.mjs +7 -6
  123. package/esm2022/core/option/action-container.mjs +3 -3
  124. package/esm2022/core/option/action.mjs +4 -4
  125. package/esm2022/core/option/optgroup.mjs +3 -3
  126. package/esm2022/core/option/option-module.mjs +4 -4
  127. package/esm2022/core/option/option.mjs +4 -4
  128. package/esm2022/core/pop-up/constants.mjs +2 -1
  129. package/esm2022/core/pop-up/pop-up-trigger.mjs +6 -6
  130. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  131. package/esm2022/core/select/common.mjs +27 -17
  132. package/esm2022/core/select/constants.mjs +6 -1
  133. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  134. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  135. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  136. package/esm2022/core/services/theme.service.mjs +3 -3
  137. package/esm2022/core/utils/dom.mjs +2 -8
  138. package/esm2022/core/version.mjs +2 -2
  139. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  140. package/esm2022/datepicker/calendar-header.component.mjs +3 -3
  141. package/esm2022/datepicker/calendar.component.mjs +3 -3
  142. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  143. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  144. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  145. package/esm2022/datepicker/datepicker-toggle.component.mjs +9 -9
  146. package/esm2022/datepicker/datepicker.component.mjs +6 -6
  147. package/esm2022/datepicker/month-view.component.mjs +3 -3
  148. package/esm2022/divider/divider.component.mjs +4 -4
  149. package/esm2022/divider/divider.module.mjs +4 -4
  150. package/esm2022/dl/dl.component.mjs +9 -9
  151. package/esm2022/dl/dl.module.mjs +4 -4
  152. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  153. package/esm2022/dropdown/dropdown-item.component.mjs +3 -3
  154. package/esm2022/dropdown/dropdown-trigger.directive.mjs +5 -5
  155. package/esm2022/dropdown/dropdown.component.mjs +18 -8
  156. package/esm2022/dropdown/dropdown.module.mjs +14 -10
  157. package/esm2022/dynamic-translation/dynamic-translation.mjs +9 -9
  158. package/esm2022/dynamic-translation/module.mjs +4 -4
  159. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -7
  160. package/esm2022/empty-state/empty-state.component.mjs +15 -15
  161. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  162. package/esm2022/file-upload/file-drop.mjs +3 -3
  163. package/esm2022/file-upload/file-upload.mjs +1 -1
  164. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  165. package/esm2022/file-upload/multiple-file-upload.component.mjs +19 -8
  166. package/esm2022/file-upload/single-file-upload.component.mjs +13 -5
  167. package/esm2022/filter-bar/filter-bar-button.mjs +3 -3
  168. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  169. package/esm2022/filter-bar/filter-bar.module.mjs +4 -4
  170. package/esm2022/filter-bar/filter-refresher.mjs +3 -3
  171. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  172. package/esm2022/filter-bar/filter-search.mjs +3 -3
  173. package/esm2022/filter-bar/filters.mjs +4 -4
  174. package/esm2022/filter-bar/pipe-add.mjs +5 -5
  175. package/esm2022/filter-bar/pipe.directive.mjs +3 -3
  176. package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -7
  177. package/esm2022/filter-bar/pipes/pipe-button.mjs +3 -3
  178. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  179. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  180. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +12 -7
  181. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +12 -7
  182. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  183. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  184. package/esm2022/filter-bar/pipes/pipe-state.mjs +3 -3
  185. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  186. package/esm2022/filter-bar/pipes/pipe-title.mjs +3 -3
  187. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +6 -6
  188. package/esm2022/form-field/cleaner.mjs +3 -3
  189. package/esm2022/form-field/error.mjs +3 -3
  190. package/esm2022/form-field/fieldset.mjs +11 -11
  191. package/esm2022/form-field/form-field.mjs +11 -11
  192. package/esm2022/form-field/form-field.module.mjs +4 -4
  193. package/esm2022/form-field/hint.mjs +3 -3
  194. package/esm2022/form-field/label.mjs +3 -3
  195. package/esm2022/form-field/password-hint.mjs +3 -3
  196. package/esm2022/form-field/password-toggle.mjs +7 -7
  197. package/esm2022/form-field/prefix.mjs +3 -3
  198. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  199. package/esm2022/form-field/stepper.mjs +3 -3
  200. package/esm2022/form-field/suffix.mjs +3 -3
  201. package/esm2022/form-field/validate.directive.mjs +3 -3
  202. package/esm2022/icon/icon-button.component.mjs +3 -3
  203. package/esm2022/icon/icon-item.component.mjs +3 -3
  204. package/esm2022/icon/icon.component.mjs +4 -4
  205. package/esm2022/icon/icon.module.mjs +4 -4
  206. package/esm2022/inline-edit/index.mjs +3 -0
  207. package/esm2022/inline-edit/inline-edit.mjs +378 -0
  208. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +5 -0
  209. package/esm2022/inline-edit/module.mjs +25 -0
  210. package/esm2022/input/input-number-validators.mjs +6 -6
  211. package/esm2022/input/input-number.mjs +4 -4
  212. package/esm2022/input/input-password.mjs +4 -4
  213. package/esm2022/input/input.mjs +7 -7
  214. package/esm2022/input/input.module.mjs +4 -4
  215. package/esm2022/link/link.component.mjs +6 -6
  216. package/esm2022/link/link.module.mjs +4 -4
  217. package/esm2022/list/list-selection.component.mjs +10 -10
  218. package/esm2022/list/list.component.mjs +6 -6
  219. package/esm2022/list/list.module.mjs +4 -4
  220. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  221. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  222. package/esm2022/markdown/markdown.component.mjs +5 -5
  223. package/esm2022/markdown/markdown.module.mjs +4 -4
  224. package/esm2022/markdown/markdown.service.mjs +3 -3
  225. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  226. package/esm2022/modal/modal-control.service.mjs +3 -3
  227. package/esm2022/modal/modal.component.mjs +4 -4
  228. package/esm2022/modal/modal.directive.mjs +12 -12
  229. package/esm2022/modal/modal.module.mjs +4 -4
  230. package/esm2022/modal/modal.service.mjs +3 -3
  231. package/esm2022/navbar/navbar-item.component.mjs +49 -38
  232. package/esm2022/navbar/navbar.component.mjs +10 -10
  233. package/esm2022/navbar/navbar.module.mjs +4 -4
  234. package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
  235. package/esm2022/navbar-ic/navbar-ic-header.mjs +7 -7
  236. package/esm2022/navbar-ic/navbar-ic-item.mjs +30 -38
  237. package/esm2022/navbar-ic/navbar-ic.mjs +18 -13
  238. package/esm2022/navbar-ic/navbar-ic.module.mjs +4 -4
  239. package/esm2022/notification-center/index.mjs +2 -0
  240. package/esm2022/notification-center/koobiq-components-notification-center.mjs +5 -0
  241. package/esm2022/notification-center/notification-center-animations.mjs +18 -0
  242. package/esm2022/notification-center/notification-center.mjs +353 -0
  243. package/esm2022/notification-center/notification-center.module.mjs +38 -0
  244. package/esm2022/notification-center/notification-center.service.mjs +127 -0
  245. package/esm2022/notification-center/notification-item.mjs +70 -0
  246. package/esm2022/notification-center/public-api.mjs +5 -0
  247. package/esm2022/overflow-items/module.mjs +4 -4
  248. package/esm2022/overflow-items/overflow-items.mjs +95 -41
  249. package/esm2022/popover/popover-confirm.component.mjs +10 -10
  250. package/esm2022/popover/popover.component.mjs +18 -13
  251. package/esm2022/popover/popover.module.mjs +4 -4
  252. package/esm2022/progress-bar/progress-bar.component.mjs +9 -9
  253. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  254. package/esm2022/progress-spinner/progress-spinner.component.mjs +9 -9
  255. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  256. package/esm2022/radio/radio.component.mjs +6 -6
  257. package/esm2022/radio/radio.module.mjs +4 -4
  258. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  259. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  260. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  261. package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
  262. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  263. package/esm2022/search-expandable/index.mjs +2 -0
  264. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +5 -0
  265. package/esm2022/search-expandable/public-api.mjs +3 -0
  266. package/esm2022/search-expandable/search-expandable.mjs +177 -0
  267. package/esm2022/search-expandable/search-expandable.module.mjs +18 -0
  268. package/esm2022/select/select-option.directive.mjs +3 -3
  269. package/esm2022/select/select.component.mjs +37 -10
  270. package/esm2022/select/select.module.mjs +4 -4
  271. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  272. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  273. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  274. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  275. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  276. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  277. package/esm2022/split-button/index.mjs +2 -0
  278. package/esm2022/split-button/koobiq-components-split-button.mjs +5 -0
  279. package/esm2022/split-button/public-api.mjs +3 -0
  280. package/esm2022/split-button/split-button.mjs +92 -0
  281. package/esm2022/split-button/split-button.module.mjs +18 -0
  282. package/esm2022/splitter/splitter.component.mjs +13 -13
  283. package/esm2022/splitter/splitter.module.mjs +4 -4
  284. package/esm2022/table/table.component.mjs +6 -6
  285. package/esm2022/table/table.module.mjs +4 -4
  286. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  287. package/esm2022/tabs/tab-body.component.mjs +6 -6
  288. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  289. package/esm2022/tabs/tab-group.component.mjs +15 -15
  290. package/esm2022/tabs/tab-header.component.mjs +4 -4
  291. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  292. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  293. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  294. package/esm2022/tabs/tab.component.mjs +3 -3
  295. package/esm2022/tabs/tabs.module.mjs +4 -4
  296. package/esm2022/tags/tag-input.mjs +17 -11
  297. package/esm2022/tags/tag-list.component.mjs +236 -194
  298. package/esm2022/tags/tag.component.mjs +209 -138
  299. package/esm2022/tags/tag.module.mjs +4 -4
  300. package/esm2022/textarea/textarea.component.mjs +5 -5
  301. package/esm2022/textarea/textarea.module.mjs +4 -4
  302. package/esm2022/time-range/constants.mjs +21 -0
  303. package/esm2022/time-range/index.mjs +8 -0
  304. package/esm2022/time-range/koobiq-components-time-range.mjs +5 -0
  305. package/esm2022/time-range/module.mjs +36 -0
  306. package/esm2022/time-range/time-range-editor.mjs +219 -0
  307. package/esm2022/time-range/time-range-title-as-form-field.mjs +59 -0
  308. package/esm2022/time-range/time-range-title.mjs +112 -0
  309. package/esm2022/time-range/time-range.mjs +229 -0
  310. package/esm2022/time-range/time-range.service.mjs +189 -0
  311. package/esm2022/time-range/types.mjs +2 -0
  312. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  313. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  314. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  315. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  316. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  317. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  318. package/esm2022/timezone/timezone.module.mjs +4 -4
  319. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  320. package/esm2022/title/title.directive.mjs +3 -3
  321. package/esm2022/title/title.module.mjs +4 -4
  322. package/esm2022/toast/toast-container.component.mjs +3 -3
  323. package/esm2022/toast/toast.component.mjs +20 -14
  324. package/esm2022/toast/toast.module.mjs +4 -4
  325. package/esm2022/toast/toast.service.mjs +5 -4
  326. package/esm2022/toast/toast.type.mjs +1 -1
  327. package/esm2022/toggle/toggle.component.mjs +3 -3
  328. package/esm2022/toggle/toggle.module.mjs +4 -4
  329. package/esm2022/tooltip/tooltip.component.mjs +19 -19
  330. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  331. package/esm2022/top-bar/module.mjs +4 -4
  332. package/esm2022/top-bar/top-bar.mjs +9 -9
  333. package/esm2022/tree/node.mjs +3 -3
  334. package/esm2022/tree/outlet.mjs +3 -3
  335. package/esm2022/tree/padding.directive.mjs +3 -3
  336. package/esm2022/tree/toggle.mjs +16 -12
  337. package/esm2022/tree/tree-base.mjs +7 -7
  338. package/esm2022/tree/tree-option.component.mjs +5 -9
  339. package/esm2022/tree/tree-selection.component.mjs +4 -4
  340. package/esm2022/tree/tree.mjs +3 -3
  341. package/esm2022/tree/tree.module.mjs +4 -4
  342. package/esm2022/tree-select/tree-select.component.mjs +54 -14
  343. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  344. package/esm2022/username/module.mjs +4 -4
  345. package/esm2022/username/username.mjs +15 -15
  346. package/esm2022/username/username.pipe.mjs +8 -8
  347. package/fesm2022/koobiq-components-accordion.mjs +20 -20
  348. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  349. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  350. package/fesm2022/koobiq-components-alert.mjs +16 -16
  351. package/fesm2022/koobiq-components-app-switcher.mjs +704 -0
  352. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -0
  353. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  354. package/fesm2022/koobiq-components-badge.mjs +14 -14
  355. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  356. package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
  357. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  358. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  359. package/fesm2022/koobiq-components-button.mjs +13 -13
  360. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  361. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  362. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  363. package/fesm2022/koobiq-components-code-block.mjs +13 -13
  364. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  365. package/fesm2022/koobiq-components-content-panel.mjs +34 -34
  366. package/fesm2022/koobiq-components-core.mjs +1032 -263
  367. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  368. package/fesm2022/koobiq-components-datepicker.mjs +40 -40
  369. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  370. package/fesm2022/koobiq-components-divider.mjs +8 -8
  371. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  372. package/fesm2022/koobiq-components-dl.mjs +13 -13
  373. package/fesm2022/koobiq-components-dropdown.mjs +39 -25
  374. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  375. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  376. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  377. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  378. package/fesm2022/koobiq-components-file-upload.mjs +36 -18
  379. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  380. package/fesm2022/koobiq-components-filter-bar.mjs +96 -86
  381. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  382. package/fesm2022/koobiq-components-form-field.mjs +60 -60
  383. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  384. package/fesm2022/koobiq-components-icon.mjs +13 -13
  385. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  386. package/fesm2022/koobiq-components-inline-edit.mjs +407 -0
  387. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -0
  388. package/fesm2022/koobiq-components-input.mjs +22 -22
  389. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  390. package/fesm2022/koobiq-components-link.mjs +10 -10
  391. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  392. package/fesm2022/koobiq-components-list.mjs +19 -19
  393. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  394. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  395. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  396. package/fesm2022/koobiq-components-markdown.mjs +12 -12
  397. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  398. package/fesm2022/koobiq-components-modal.mjs +28 -28
  399. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  400. package/fesm2022/koobiq-components-navbar-ic.mjs +53 -56
  401. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  402. package/fesm2022/koobiq-components-navbar.mjs +65 -54
  403. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  404. package/fesm2022/koobiq-components-notification-center.mjs +586 -0
  405. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -0
  406. package/fesm2022/koobiq-components-overflow-items.mjs +98 -44
  407. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  408. package/fesm2022/koobiq-components-popover.mjs +30 -25
  409. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  410. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  411. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  412. package/fesm2022/koobiq-components-radio.mjs +10 -10
  413. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  414. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  415. package/fesm2022/koobiq-components-search-expandable.mjs +199 -0
  416. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -0
  417. package/fesm2022/koobiq-components-select.mjs +43 -16
  418. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  419. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  420. package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
  421. package/fesm2022/koobiq-components-split-button.mjs +114 -0
  422. package/fesm2022/koobiq-components-split-button.mjs.map +1 -0
  423. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  424. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  425. package/fesm2022/koobiq-components-table.mjs +10 -10
  426. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  427. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  428. package/fesm2022/koobiq-components-tags.mjs +461 -346
  429. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  430. package/fesm2022/koobiq-components-textarea.mjs +8 -8
  431. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  432. package/fesm2022/koobiq-components-time-range.mjs +840 -0
  433. package/fesm2022/koobiq-components-time-range.mjs.map +1 -0
  434. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  435. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  436. package/fesm2022/koobiq-components-timezone.mjs +24 -24
  437. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  438. package/fesm2022/koobiq-components-title.mjs +7 -7
  439. package/fesm2022/koobiq-components-toast.mjs +28 -21
  440. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  441. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  442. package/fesm2022/koobiq-components-tooltip.mjs +22 -22
  443. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  445. package/fesm2022/koobiq-components-tree-select.mjs +57 -17
  446. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-tree.mjs +44 -44
  448. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  449. package/fesm2022/koobiq-components-username.mjs +27 -27
  450. package/file-upload/_file-upload-theme.scss +1 -1
  451. package/file-upload/file-upload.d.ts +1 -1
  452. package/file-upload/multiple-file-upload.component.d.ts +1 -0
  453. package/file-upload/single-file-upload.component.d.ts +1 -0
  454. package/filter-bar/pipes/base-pipe.d.ts +1 -1
  455. package/filter-bar/pipes/base-pipe.scss +3 -3
  456. package/filter-bar/pipes/pipe-date.scss +1 -0
  457. package/form-field/fieldset-tokens.scss +1 -1
  458. package/form-field/form-field-tokens.scss +1 -1
  459. package/form-field/form-field.d.ts +1 -1
  460. package/form-field/form-field.scss +1 -9
  461. package/form-field/password-toggle.d.ts +1 -1
  462. package/icon/icon.component.d.ts +2 -2
  463. package/inline-edit/index.d.ts +2 -0
  464. package/inline-edit/inline-edit-tokens.scss +8 -0
  465. package/inline-edit/inline-edit.d.ts +136 -0
  466. package/inline-edit/inline-edit.scss +208 -0
  467. package/inline-edit/module.d.ts +7 -0
  468. package/input/input-number.d.ts +1 -1
  469. package/input/input-password.d.ts +2 -2
  470. package/input/input.d.ts +2 -2
  471. package/link/link.component.d.ts +3 -3
  472. package/list/list-selection.component.d.ts +1 -1
  473. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  474. package/markdown/_markdown-theme.scss +1 -1
  475. package/markdown/markdown-tokens.scss +1 -0
  476. package/markdown/markdown.scss +8 -0
  477. package/modal/modal.component.d.ts +1 -1
  478. package/navbar/navbar-item.component.d.ts +3 -2
  479. package/navbar/navbar.component.d.ts +4 -4
  480. package/navbar/vertical-navbar.component.d.ts +2 -2
  481. package/navbar-ic/navbar-ic-header.d.ts +1 -1
  482. package/navbar-ic/navbar-ic-item.d.ts +2 -2
  483. package/navbar-ic/navbar-ic.d.ts +4 -2
  484. package/notification-center/_notification-center-theme.scss +27 -0
  485. package/notification-center/index.d.ts +1 -0
  486. package/notification-center/notification-center-animations.d.ts +5 -0
  487. package/notification-center/notification-center.d.ts +153 -0
  488. package/notification-center/notification-center.module.d.ts +7 -0
  489. package/notification-center/notification-center.scss +126 -0
  490. package/notification-center/notification-center.service.d.ts +72 -0
  491. package/notification-center/notification-item.d.ts +27 -0
  492. package/notification-center/notification-item.scss +157 -0
  493. package/notification-center/public-api.d.ts +4 -0
  494. package/overflow-items/overflow-items.d.ts +23 -9
  495. package/package.json +46 -10
  496. package/popover/popover.component.d.ts +5 -1
  497. package/popover/popover.scss +15 -7
  498. package/prebuilt-themes/dark-theme.css +1 -1
  499. package/prebuilt-themes/light-theme.css +1 -1
  500. package/prebuilt-themes/theme.css +1 -1
  501. package/schematics/ng-add/index.js +5 -5
  502. package/search-expandable/index.d.ts +1 -0
  503. package/search-expandable/public-api.d.ts +2 -0
  504. package/search-expandable/search-expandable.d.ts +70 -0
  505. package/search-expandable/search-expandable.module.d.ts +7 -0
  506. package/search-expandable/search-expandable.scss +21 -0
  507. package/select/select.component.d.ts +38 -3
  508. package/split-button/_split-button-theme.scss +59 -0
  509. package/split-button/index.d.ts +1 -0
  510. package/split-button/public-api.d.ts +2 -0
  511. package/split-button/split-button.d.ts +31 -0
  512. package/split-button/split-button.module.d.ts +7 -0
  513. package/split-button/split-button.scss +83 -0
  514. package/splitter/splitter.component.d.ts +5 -5
  515. package/tabs/paginated-tab-header.d.ts +1 -1
  516. package/tabs/tab-header.component.d.ts +2 -2
  517. package/tabs/tab-label-wrapper.directive.d.ts +2 -2
  518. package/tabs/tab-nav-bar.d.ts +3 -3
  519. package/tags/_tag-theme.scss +21 -15
  520. package/tags/tag-input.d.ts +2 -0
  521. package/tags/tag-list.component.d.ts +133 -45
  522. package/tags/tag-list.scss +11 -0
  523. package/tags/tag-tokens.scss +17 -1
  524. package/tags/tag.component.d.ts +79 -20
  525. package/tags/tag.scss +9 -0
  526. package/textarea/textarea.component.d.ts +2 -2
  527. package/time-range/constants.d.ts +8 -0
  528. package/time-range/index.d.ts +7 -0
  529. package/time-range/module.d.ts +10 -0
  530. package/time-range/time-range-editor.d.ts +67 -0
  531. package/time-range/time-range-title-as-form-field.d.ts +40 -0
  532. package/time-range/time-range-title.d.ts +18 -0
  533. package/time-range/time-range.d.ts +75 -0
  534. package/time-range/time-range.scss +66 -0
  535. package/time-range/time-range.service.d.ts +29 -0
  536. package/time-range/types.d.ts +43 -0
  537. package/timepicker/timepicker.directive.d.ts +2 -2
  538. package/toast/toast.component.d.ts +6 -4
  539. package/toast/toast.component.scss +11 -1
  540. package/toast/toast.service.d.ts +1 -0
  541. package/toast/toast.type.d.ts +1 -0
  542. package/tree/toggle.d.ts +1 -1
  543. package/tree/tree-base.d.ts +2 -2
  544. package/tree/tree-option.component.d.ts +1 -1
  545. package/tree/tree-selection.component.d.ts +1 -1
  546. package/tree-select/tree-select.component.d.ts +44 -3
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-form-field.mjs","sources":["../../../packages/components/form-field/cleaner.ts","../../../packages/components/form-field/hint.ts","../../../packages/components/form-field/hint.html","../../../packages/components/form-field/error.ts","../../../packages/components/form-field/fieldset.ts","../../../packages/components/form-field/form-field-control.ts","../../../packages/components/form-field/label.ts","../../../packages/components/form-field/password-hint.ts","../../../packages/components/form-field/password-toggle.ts","../../../packages/components/form-field/prefix.ts","../../../packages/components/form-field/reactive-password-hint.ts","../../../packages/components/form-field/stepper.ts","../../../packages/components/form-field/suffix.ts","../../../packages/components/form-field/form-field.ts","../../../packages/components/form-field/form-field.html","../../../packages/components/form-field/validate.directive.ts","../../../packages/components/form-field/form-field.module.ts","../../../packages/components/form-field/koobiq-components-form-field.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconButton, KbqIconModule } from '@koobiq/components/icon';\n\n/**\n * Element to be placed in end of the form field.\n * Resets form control by click.\n */\n@Component({\n standalone: true,\n imports: [KbqIconModule],\n selector: 'kbq-cleaner',\n exportAs: 'kbqCleaner',\n template: `\n <ng-content />\n `,\n styleUrls: ['cleaner.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n host: {\n class: 'kbq-cleaner kbq kbq-xmark-circle_16'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqCleaner extends KbqIconButton {\n constructor() {\n super();\n\n this.color = KbqComponentColors.ContrastFade;\n this.autoColor = true;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\nlet nextUniqueId = 0;\n\n/** Hint text to be shown below the form field control. */\n@Component({\n standalone: true,\n selector: 'kbq-hint',\n exportAs: 'kbqHint',\n templateUrl: './hint.html',\n styleUrls: ['./hint.scss', './hint-tokens.scss'],\n host: {\n class: 'kbq-hint',\n '[attr.id]': 'id',\n '[class.kbq-hint_fill-text-off]': 'fillTextOff',\n '[class.kbq-hint_compact]': 'compact'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqHint extends KbqColorDirective {\n /** Unique ID for the hint. */\n @Input() id: string = `kbq-hint-${nextUniqueId++}`;\n\n /** Disables `color` for the hint text. */\n @Input({ transform: booleanAttribute }) fillTextOff: boolean = false;\n\n /** Makes the hint size smaller. */\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint__text\">\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { KbqComponentColors } from '@koobiq/components/core';\nimport { KbqHint } from './hint';\n\n/** Error text to be shown below the form field control. */\n@Component({\n standalone: true,\n selector: 'kbq-error',\n exportAs: 'kbqError',\n templateUrl: './hint.html',\n styleUrls: [\n './hint.scss',\n './hint-tokens.scss'\n ],\n host: {\n class: 'kbq-error'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqError extends KbqHint {\n constructor() {\n super();\n\n this.color = KbqComponentColors.Error;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n ElementRef,\n Signal,\n ViewEncapsulation\n} from '@angular/core';\n\n/** Directive for marking an element as legend of `KbqFieldset` */\n@Directive({\n standalone: true,\n selector: '[kbqLegend]',\n host: {\n class: 'kbq-legend'\n }\n})\nexport class KbqLegend {}\n\n/** Directive for marking elements as items inside `KbqFieldset` */\n@Directive({\n standalone: true,\n selector: '[kbqFieldsetItem]',\n host: {\n class: 'kbq-fieldset-item'\n }\n})\nexport class KbqFieldsetItem {}\n\n/**\n * A group of form-fields and related controls.\n * Container component emulating the native `fieldset` element.\n */\n@Component({\n standalone: true,\n selector: 'kbq-fieldset',\n host: {\n class: 'kbq-fieldset',\n role: 'group',\n '[attr.aria-label]': 'ariaLabel()'\n },\n styleUrls: ['./fieldset.scss', './fieldset-tokens.scss'],\n template: `\n <ng-content select=\"[kbqLegend]\" />\n\n <div class=\"kbq-fieldset__container\">\n <ng-content />\n </div>\n\n <div class=\"kbq-form-field__hint\">\n <ng-content select=\"kbq-error\" />\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqFieldset {\n private readonly legend: Signal<ElementRef<HTMLElement> | undefined> = contentChild(KbqLegend, {\n read: ElementRef\n });\n\n /**\n * Computes the aria-label from the inner text of the legend element.\n * Used to enhance accessibility by labeling the group.\n * @docs-private\n */\n protected readonly ariaLabel = computed(() => this.legend()?.nativeElement?.innerText);\n}\n","import { NgControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n/** An interface which allows a control to work inside of a `KbqFormField`. */\nexport abstract class KbqFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `KbqFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `kbq-form-field` elements\n * based on their control type. The form field will add a class,\n * `kbq-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n\n /** Focuses the control. */\n abstract focus(options?: FocusOptions): void;\n}\n","import { Directive } from '@angular/core';\n\n/** Label for the form field. */\n@Directive({\n selector: 'kbq-label',\n exportAs: 'kbqLabel',\n standalone: true,\n host: {\n class: 'kbq-label'\n }\n})\nexport class KbqLabel {}\n","import { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_FORM_FIELD_REF, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { Subject } from 'rxjs';\nimport { KbqFormField } from './form-field';\nimport { KbqHint } from './hint';\n\nlet nextPasswordHintUniqueId = 0;\n\nexport enum PasswordRules {\n Length,\n UpperLatin,\n LowerLatin,\n Digit,\n LatinAndSpecialSymbols,\n Custom\n}\n\nexport const regExpPasswordValidator = {\n [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),\n [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),\n [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),\n [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`\"'#№$%&()*+,-./\\\\:;<=>?@[\\]^_{|}~A-Za-z0-9]/)\n};\n\nexport const hasPasswordStrengthError = (passwordHints: QueryList<KbqPasswordHint>): boolean => {\n return passwordHints.some((hint) => hint.hasError);\n};\n\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule],\n selector: 'kbq-password-hint',\n template: `\n <i class=\"kbq-password-hint__icon\" kbq-icon=\"\" [ngClass]=\"icon\" [color]=\"iconColor\"></i>\n\n <span class=\"kbq-hint__text\">\n <ng-content />\n </span>\n `,\n styleUrls: ['hint.scss', 'hint-tokens.scss'],\n host: {\n '[attr.id]': 'id',\n class: 'kbq-hint kbq-password-hint',\n '[class.kbq-success]': 'checked',\n '[class.kbq-error]': 'hasError',\n '[class.kbq-hint_fill-text-off]': 'fillTextOff',\n '[class.kbq-hint_compact]': 'compact'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqPasswordHint extends KbqHint implements AfterContentInit {\n @Input() id: string = `kbq-hint-${nextPasswordHintUniqueId++}`;\n\n @Input() rule: PasswordRules | any;\n\n @Input() min: number;\n @Input() max: number;\n @Input() regex: RegExp | null;\n @Input('checkRule') customCheckRule: (value: string) => boolean;\n\n @Input() viewFormField?: KbqFormField;\n\n @Input() fillTextOff: boolean = true;\n\n hasError: boolean = false;\n checked: boolean = false;\n\n get icon(): string {\n return this.checked ? 'kbq-check-s_16' : 'kbq-xmark-s_16';\n }\n\n /**\n * The form field hint icon color.\n *\n * @docs-private\n */\n protected get iconColor(): KbqComponentColors {\n if (this.control?.ngControl.untouched && this.control?.ngControl.pristine) {\n return KbqComponentColors.ContrastFade;\n }\n\n return this.checked ? KbqComponentColors.Success : KbqComponentColors.Error;\n }\n\n private checkRule: (value: string) => boolean;\n\n private get control() {\n return this.formField.control;\n }\n\n private lastControlValue: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(forwardRef(() => KBQ_FORM_FIELD_REF)) private formField: any\n ) {\n super();\n this.color = KbqComponentColors.ContrastFade;\n this.setDefaultColor(KbqComponentColors.ContrastFade);\n }\n\n ngAfterContentInit(): void {\n this.formField = this.formField || this.viewFormField;\n\n if (this.rule === PasswordRules.Custom && this.regex === undefined && this.customCheckRule === undefined) {\n throw Error('You should set [regex] or [checkRule] for PasswordRules.Custom');\n }\n\n if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {\n throw Error('For [rule] \"Length\" need set [min] and [max]');\n }\n\n if (this.rule === PasswordRules.Length) {\n this.checkRule = this.checkLengthRule;\n } else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkRegexRule;\n } else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkSpecialSymbolsRegexRule;\n } else if (this.rule === PasswordRules.Custom) {\n this.checkRule = this.regex === undefined ? this.customCheckRule : this.checkRegexRule;\n } else {\n throw Error(`Unknown [rule]=${this.rule}`);\n }\n\n // prevent error when formField.control is undefined\n setTimeout(() => {\n this.formField.control.stateChanges.subscribe(this.checkValue);\n\n (this.formField.control as unknown as { checkRule: Subject<any> }).checkRule.subscribe(() => {\n this.checked = this.checkRule(this.control.value);\n this.hasError = !this.checkRule(this.control.value);\n });\n });\n }\n\n private checkValue = () => {\n if (this.control.focused && this.isValueChanged()) {\n this.hasError = false;\n\n this.checked = this.checkRule(this.control.value);\n } else if (!this.control.focused && !this.isValueChanged()) {\n this.hasError = !this.checkRule(this.control.value);\n }\n\n if (!this.control.required && !this.control.value) {\n this.checked = this.hasError = false;\n }\n\n this.lastControlValue = this.control.value;\n this.changeDetectorRef.markForCheck();\n };\n\n private checkLengthRule(value: string): boolean {\n return value.length >= this.min && value.length <= this.max;\n }\n\n private checkRegexRule = (value: string): boolean => {\n return !!this.regex?.test(value);\n };\n\n private checkSpecialSymbolsRegexRule(value: string): boolean {\n return !!value && !this.regex?.test(value);\n }\n\n private isValueChanged(): boolean {\n return this.lastControlValue !== this.formField.control.value;\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_FORM_FIELD_REF, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqIconButton, KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { KbqFormField } from './form-field';\nimport { KbqFormFieldControl } from './form-field-control';\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\ntype KbqInputPassword = KbqFormFieldControl<unknown> & {\n elementType: string;\n toggleType: () => void;\n};\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\nconst isInputPassword = (control: KbqFormFieldControl<unknown>): control is KbqInputPassword => {\n return 'elementType' in control;\n};\n\nconst getKbqPasswordToggleMissingControlError = (): Error => {\n return Error('kbq-password-toggle should use with kbqInputPassword');\n};\n\n/** Component which changes password visibility. */\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule, KbqToolTipModule],\n selector: `kbq-password-toggle`,\n exportAs: 'kbqPasswordToggle',\n template: `\n <ng-content />\n `,\n styleUrls: ['password-toggle.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n host: {\n class: 'kbq-password-toggle kbq kbq-icon-button kbq-contrast-fade',\n '[class.kbq-error]': 'hasError',\n '[class.kbq-eye_16]': 'hidden',\n '[class.kbq-eye-slash_16]': '!hidden',\n\n // legacy style for backward compatibility\n '[style.visibility]': 'visibility',\n '[class.cdk-visually-hidden]': 'visibility === \"hidden\"',\n '[attr.aria-hidden]': 'visibility === \"hidden\"',\n '[attr.tabindex]': 'tabindex',\n\n '(click)': 'toggle($event)',\n '(keydown.ENTER)': 'toggle($event)',\n '(keydown.SPACE)': 'toggle($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqPasswordToggle extends KbqTooltipTrigger implements AfterViewInit, OnDestroy, AfterContentInit {\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n protected readonly focusMonitor = inject(FocusMonitor);\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n // @TODO fix types (#DS-2915)\n private readonly formField = inject(KBQ_FORM_FIELD_REF, { optional: true }) as unknown as KbqFormField | undefined;\n\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n\n /**\n * @docs-private\n */\n @ViewChild(KbqIconButton) readonly icon: KbqIconButton;\n\n @Input('kbqTooltipNotHidden')\n get content(): string | TemplateRef<any> {\n return this.control.elementType === 'password' ? this.kbqTooltipHidden : this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input() kbqTooltipHidden: string | TemplateRef<any>;\n\n protected hasError: boolean = false;\n\n /** Form field password control. */\n private get control(): KbqInputPassword {\n const control = this.formField?.control;\n\n if (!control || !isInputPassword(control)) {\n throw getKbqPasswordToggleMissingControlError();\n }\n\n return control;\n }\n\n /**\n * @docs-private\n */\n get hidden(): boolean {\n return this.control.elementType === 'password';\n }\n\n /**\n * @docs-private\n */\n get iconClass(): string {\n return this.hidden ? 'kbq-eye_16' : 'kbq-eye-slash_16';\n }\n\n /**\n * @docs-private\n */\n get visibility(): 'hidden' | 'visible' {\n return this.control.disabled || this.control.empty ? 'hidden' : 'visible';\n }\n\n constructor() {\n super();\n\n this.trigger = `${PopUpTriggers.Hover}`;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit(): void {\n this.formField?.control?.stateChanges.subscribe(this.updateState);\n\n this.updateState();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.nativeElement, true);\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.nativeElement);\n }\n\n /**\n * @docs-private\n */\n toggle(event: KeyboardEvent) {\n this.hide();\n\n const input = this.control;\n\n input.toggleType();\n\n this.updateData();\n\n event.preventDefault();\n }\n\n private updateState = () => {\n this.hasError = !!this.formField?.control?.errorState;\n\n this.changeDetectorRef.markForCheck();\n };\n}\n","import { Directive } from '@angular/core';\n\n/** Element to be placed in front of the form field. */\n@Directive({\n standalone: true,\n selector: '[kbqPrefix]',\n exportAs: 'kbqPrefix',\n host: {\n class: 'kbq-prefix'\n }\n})\nexport class KbqPrefix {}\n","import { NgClass } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_FORM_FIELD_REF, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { EMPTY } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { KbqFormField } from './form-field';\nimport { KbqHint } from './hint';\n\n/** Password hint to be shown below the password form field control. */\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule],\n selector: 'kbq-reactive-password-hint',\n exportAs: 'kbqReactivePasswordHint',\n template: `\n <i kbq-icon=\"\" [ngClass]=\"icon()\" [color]=\"color\"></i>\n\n <span class=\"kbq-hint__text\">\n <ng-content />\n </span>\n `,\n styleUrls: [\n './hint.scss',\n './hint-tokens.scss'\n ],\n host: {\n class: 'kbq-reactive-password-hint'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqReactivePasswordHint extends KbqHint {\n // @TODO fix types (#DS-2915)\n private readonly formField = inject<KbqFormField>(KBQ_FORM_FIELD_REF, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n /** Whether the form field control has an error. */\n readonly hasError = input(false, { transform: booleanAttribute });\n\n /**\n * The form field hint icon.\n *\n * @docs-private\n */\n protected readonly icon = computed(() => (this.hasError() ? 'kbq-xmark-s_16' : 'kbq-check-s_16'));\n\n constructor() {\n super();\n\n this.fillTextOff = true;\n this.compact = false;\n this.color = KbqComponentColors.ContrastFade;\n\n afterNextRender(() => {\n (this.formField?.control?.stateChanges || EMPTY)\n .pipe(delay(0), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.color = this.makeColor();\n\n this.changeDetectorRef.markForCheck();\n });\n });\n }\n\n private makeColor(): KbqComponentColors {\n if (this.formField?.control.ngControl?.untouched && this.formField.control.ngControl.pristine) {\n return KbqComponentColors.ContrastFade;\n }\n\n return this.hasError() ? KbqComponentColors.Error : KbqComponentColors.Success;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, ViewEncapsulation } from '@angular/core';\nimport { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqFormFieldControl } from './form-field-control';\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\ntype KbqNumberInput = KbqFormFieldControl<unknown> & {\n stepUp: (step: number) => void;\n stepDown: (step: number) => void;\n step: number;\n};\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\nconst isNumberInput = (control: KbqFormFieldControl<unknown>): control is KbqNumberInput => {\n return 'stepUp' in control && 'stepDown' in control;\n};\n\nconst getKbqStepperToggleMissingControlError = (): Error => {\n return Error('kbq-stepper should use with kbqNumberInput');\n};\n\n/** Component which allow to increment or decrement number value. */\n@Component({\n standalone: true,\n selector: 'kbq-stepper',\n exportAs: 'kbqStepper',\n imports: [KbqIconModule],\n template: `\n <i\n class=\"kbq-stepper-step-up\"\n color=\"contrast-fade\"\n kbq-icon-button=\"kbq-chevron-up-s_16\"\n [tabindex]=\"-1\"\n [autoColor]=\"true\"\n [disabled]=\"control.disabled\"\n (mousedown)=\"onStepUp($event)\"\n ></i>\n <i\n class=\"kbq-stepper-step-down\"\n color=\"contrast-fade\"\n kbq-icon-button=\"kbq-chevron-down-s_16\"\n [tabindex]=\"-1\"\n [autoColor]=\"true\"\n [disabled]=\"control.disabled\"\n (mousedown)=\"onStepDown($event)\"\n ></i>\n `,\n styleUrls: ['stepper.scss'],\n host: {\n class: 'kbq-stepper'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqStepper {\n private readonly formField = inject(KBQ_FORM_FIELD_REF, { optional: true });\n\n /** Emitted when the stepper is incremented. */\n @Output() readonly stepUp: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emitted when the stepper is decremented. */\n @Output() readonly stepDown: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Form field number control.\n *\n * @docs-private\n */\n protected get control(): KbqNumberInput {\n const control = this.formField?.control;\n const input = control.numberInput;\n\n if (!isNumberInput(input)) {\n throw getKbqStepperToggleMissingControlError();\n }\n\n return input;\n }\n\n /**\n * @docs-private\n */\n connectTo(numberInput: KbqNumberInput): void {\n if (!numberInput) return;\n\n this.stepUp.subscribe(() => {\n numberInput.stepUp(numberInput.step);\n });\n\n this.stepDown.subscribe(() => {\n numberInput.stepDown(numberInput.step);\n });\n }\n\n /**\n * @docs-private\n */\n onStepUp($event: MouseEvent): void {\n this.stepUp.emit();\n $event.preventDefault();\n }\n\n /**\n * @docs-private\n */\n onStepDown($event: MouseEvent): void {\n this.stepDown.emit();\n $event.preventDefault();\n }\n}\n","import { Directive } from '@angular/core';\n\n/** Element to be placed at the end of the form field. */\n@Directive({\n standalone: true,\n selector: '[kbqSuffix]',\n host: {\n class: 'kbq-suffix'\n }\n})\nexport class KbqSuffix {}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n OnDestroy,\n Optional,\n Provider,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { ESCAPE, F8 } from '@koobiq/cdk/keycodes';\nimport { KBQ_FORM_FIELD_REF, KbqColorDirective } from '@koobiq/components/core';\nimport { EMPTY, merge } from 'rxjs';\nimport { delay, startWith } from 'rxjs/operators';\nimport { KbqCleaner } from './cleaner';\nimport { KbqError } from './error';\nimport { KbqFormFieldControl } from './form-field-control';\nimport { KbqHint } from './hint';\nimport { KbqLabel } from './label';\nimport { hasPasswordStrengthError, KbqPasswordHint } from './password-hint';\nimport { KbqPasswordToggle } from './password-toggle';\nimport { KbqPrefix } from './prefix';\nimport { KbqReactivePasswordHint } from './reactive-password-hint';\nimport { KbqStepper } from './stepper';\nimport { KbqSuffix } from './suffix';\n\n/** @docs-private */\nexport function getKbqFormFieldMissingControlError(): Error {\n return Error('kbq-form-field must contain a KbqFormFieldControl');\n}\n\n/** @docs-private */\nexport function getKbqFormFieldYouCanNotUseCleanerInNumberInputError(): Error {\n return Error(`You can't use kbq-cleaner with input that have type=\"number\"`);\n}\n\n/**\n * Default options for the kbq-form-field that can be configured using the `KBQ_FORM_FIELD_DEFAULT_OPTIONS`\n * injection token.\n */\nexport type KbqFormFieldDefaultOptions = Partial<{\n /** Disables form field borders and shadows. */\n noBorders: boolean;\n}>;\n\n/**\n * Injection token that can be used to configure the default options for all kbq-form-field's.\n */\nexport const KBQ_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken<KbqFormFieldDefaultOptions>(\n 'KBQ_FORM_FIELD_DEFAULT_OPTIONS'\n);\n\n/** Utility provider for `KBQ_FORM_FIELD_DEFAULT_OPTIONS`. */\nexport const kbqFormFieldDefaultOptionsProvider = (options: KbqFormFieldDefaultOptions): Provider => ({\n provide: KBQ_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: options\n});\n\n/** Container for form controls that applies styling and behavior. */\n@Component({\n standalone: true,\n selector: 'kbq-form-field',\n exportAs: 'kbqFormField',\n templateUrl: 'form-field.html',\n styleUrls: [\n 'form-field.scss',\n 'form-field-tokens.scss',\n // KbqInput is a directive and can't have styles, so we need to include its styles here.\n // The KbqInput styles are fairly minimal so it shouldn't be a big deal for people who aren't using KbqInput.\n '../input/input.scss',\n '../input/input-tokens.scss',\n '../timepicker/timepicker.scss',\n '../datepicker/datepicker-input.scss',\n '../textarea/textarea.scss',\n '../tags/tag-input-tokens.scss'\n ],\n host: {\n class: 'kbq-form-field',\n\n '[class.kbq-form-field_invalid]': 'invalid',\n '[class.kbq-disabled]': 'disabled',\n '[class.kbq-form-field_no-borders]': 'noBorders()',\n\n '[class.ng-untouched]': 'shouldForward(\"untouched\")',\n '[class.ng-touched]': 'shouldForward(\"touched\")',\n '[class.ng-pristine]': 'shouldForward(\"pristine\")',\n '[class.ng-dirty]': 'shouldForward(\"dirty\")',\n '[class.ng-valid]': 'shouldForward(\"valid\")',\n '[class.ng-invalid]': 'shouldForward(\"invalid\")',\n '[class.ng-pending]': 'shouldForward(\"pending\")',\n\n '(keydown)': 'onKeyDown($event)',\n '(mouseenter)': 'onHoverChanged(true)',\n '(mouseleave)': 'onHoverChanged(false)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }]\n})\nexport class KbqFormField\n extends KbqColorDirective\n implements AfterContentInit, AfterViewInit, OnDestroy, AfterContentChecked\n{\n private readonly destroyRef = inject(DestroyRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\n /**\n * @docs-private\n */\n readonly elementRef = inject(ElementRef);\n\n /** Disables form field borders and shadows. */\n readonly noBorders = input(this.defaultOptions?.noBorders, { transform: booleanAttribute });\n\n /**\n * The form field control.\n *\n * @docs-private\n */\n @ContentChild(KbqFormFieldControl) control: KbqFormFieldControl<unknown>;\n /**\n * @docs-private\n */\n @ContentChild(KbqStepper) readonly stepper: KbqStepper;\n /**\n * @docs-private\n *\n * @TODO Should be readonly (#DS-3883)\n */\n @ContentChild(KbqCleaner, { descendants: false }) cleaner: KbqCleaner | null;\n /**\n * @docs-private\n */\n @ContentChild(KbqPasswordToggle) passwordToggle: KbqPasswordToggle | null;\n /**\n * @docs-private\n */\n @ContentChildren(KbqHint) hint: QueryList<KbqHint>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqPasswordHint) passwordHints: QueryList<KbqPasswordHint>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqSuffix) suffix: QueryList<KbqSuffix>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqPrefix) prefix: QueryList<KbqPrefix>;\n /**\n * @docs-private\n */\n @ViewChild('connectionContainer', { static: true }) connectionContainerRef: ElementRef;\n\n @ContentChildren(KbqReactivePasswordHint) private readonly reactivePasswordHint: QueryList<KbqReactivePasswordHint>;\n @ContentChildren(KbqError) private readonly error: QueryList<KbqError>;\n @ContentChild(KbqLabel) private readonly label: KbqLabel | null;\n\n /**\n * @docs-private\n */\n hovered: boolean = false;\n\n /**\n * @docs-private\n */\n canCleanerClearByEsc: boolean = true;\n\n /** Whether the form field is invalid. */\n get invalid(): boolean {\n return !!this.control?.errorState;\n }\n\n /**\n * Whether the form field control has an reactive password hint.\n *\n * @docs-private\n */\n protected get hasReactivePasswordHint(): boolean {\n return this.reactivePasswordHint.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-error.\n *\n * @docs-private\n */\n protected get hasError(): boolean {\n return this.error.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-label.\n *\n * @docs-private\n */\n protected get hasLabel(): boolean {\n return !!this.label;\n }\n\n /**\n * Whether the form-field contains kbq-password-hint.\n *\n * @docs-private\n */\n get hasPasswordHint(): boolean {\n return this.passwordHints?.length > 0;\n }\n\n /**\n * Current focus origin state.\n *\n * @docs-private\n */\n get focusOrigin(): FocusOrigin {\n return this._focusOrigin;\n }\n\n private _focusOrigin: FocusOrigin;\n\n /**\n * @docs-private\n */\n get hasFocus(): boolean {\n return this.control?.focused;\n }\n\n /**\n * Whether the form-field contains kbq-hint.\n *\n * @docs-private\n */\n get hasHint(): boolean {\n return this.hint?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbqSuffix.\n *\n * @docs-private\n */\n get hasSuffix(): boolean {\n return this.suffix?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbqPrefix.\n *\n * @docs-private\n */\n get hasPrefix(): boolean {\n return this.prefix?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-cleaner.\n *\n * @docs-private\n */\n get hasCleaner(): boolean {\n return !!this.cleaner;\n }\n\n /**\n * Whether the form-field contains kbq-stepper.\n *\n * @docs-private\n */\n get hasStepper(): boolean {\n return !!this.stepper;\n }\n\n /**\n * Whether the form-field contains kbq-password-toggle.\n *\n * @docs-private\n */\n get hasPasswordToggle(): boolean {\n return !!this.passwordToggle;\n }\n\n /**\n * @docs-private\n */\n get canShowCleaner(): boolean {\n return this.hasCleaner && this.control?.ngControl ? this.control.ngControl.value && !this.disabled : false;\n }\n\n /** Whether the form field is disabled. */\n get disabled(): boolean {\n return this.control?.disabled;\n }\n\n /**\n * @deprecated stepper should be always visible when provided, so this parameter is redundant,\n * use `hasStepper` instead\n *\n * @docs-private\n */\n canShowStepper = true;\n\n ngAfterContentInit(): void {\n this.validateControlChild();\n\n if ((this.control as any).numberInput && this.hasCleaner) {\n this.cleaner = null;\n throw getKbqFormFieldYouCanNotUseCleanerInNumberInputError();\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this.control.stateChanges.pipe(startWith(), delay(0)).subscribe((state: any) => {\n if (this.passwordHints.length && !state?.focused && hasPasswordStrengthError(this.passwordHints)) {\n this.control.ngControl?.control?.setErrors({ passwordStrength: true });\n }\n });\n\n if (this.hasStepper) {\n this.stepper.connectTo((this.control as any).numberInput);\n }\n\n this.initializeControl();\n this.initializePrefixAndSuffix();\n this.initializeHint();\n }\n\n ngAfterContentChecked(): void {\n this.validateControlChild();\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n\n // Because the above changes a value used in the template after it was checked, we need\n // to trigger CD or the change might not be reflected if there is no other CD scheduled.\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.stopFocusMonitor();\n }\n\n /** Focuses the control. */\n focus(options?: FocusOptions): void {\n this.control.focus(options);\n }\n\n /**\n * @deprecated Use `focus` instead.\n *\n * @docs-private\n */\n focusViaKeyboard(options?: FocusOptions): void {\n this.control.focus(options);\n }\n\n /**\n * @docs-private\n */\n clearValue(event: Event): void {\n event.stopPropagation();\n\n this.control?.ngControl?.reset();\n this.control?.focus();\n }\n\n /**\n * Handles a click on the control's container.\n *\n * @docs-private\n */\n onContainerClick(event: MouseEvent): void {\n if (this.control?.onContainerClick) {\n this.control.onContainerClick(event);\n }\n }\n\n /**\n * Handles keydown events.\n *\n * @docs-private\n */\n onKeyDown(event: KeyboardEvent): void {\n if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {\n (this.control as unknown as { toggleType(): void }).toggleType();\n }\n\n if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {\n this.control?.ngControl?.reset();\n\n event.preventDefault();\n }\n }\n\n /**\n * @docs-private\n */\n onHoverChanged(isHovered: boolean): void {\n if (isHovered !== this.hovered) {\n this.hovered = isHovered;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this.connectionContainerRef || this.elementRef;\n }\n\n /**\n * Determines whether a class from the NgControl should be forwarded to the host element.\n *\n * @docs-private\n */\n shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this.control?.ngControl;\n\n return ngControl && ngControl[prop];\n }\n\n /**\n * Runs the focus monitor for the form field.\n *\n * @docs-private\n */\n runFocusMonitor = () => {\n this.focusMonitor\n .monitor(this.elementRef.nativeElement, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((origin) => (this._focusOrigin = origin));\n };\n\n /**\n * Stops the focus monitor for the form field.\n *\n * @docs-private\n */\n stopFocusMonitor(): void {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n /**\n * Throws an error if the form-field control is missing.\n *\n * @docs-private\n */\n protected validateControlChild() {\n if (!this.control) {\n throw getKbqFormFieldMissingControlError();\n }\n }\n\n /** Initializes the form field control. */\n private initializeControl(): void {\n if (this.control.controlType) {\n this.elementRef.nativeElement.classList.add(`kbq-form-field-type-${this.control.controlType}`);\n }\n\n merge(this.control.stateChanges, this.control.ngControl?.valueChanges || EMPTY)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** Initializes the kbqPrefix and kbqSuffix containers. */\n private initializePrefixAndSuffix(): void {\n // Mark the form field as dirty whenever the prefix or suffix children change. This is necessary because we\n // conditionally display the prefix/suffix containers based on whether there is projected content.\n merge(this.prefix.changes, this.suffix.changes)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** Initializes the KbqHint, KbqPasswordHint, KbqReactivePasswordHint and KbqError containers. */\n private initializeHint(): void {\n merge(this.hint.changes, this.passwordHints.changes, this.reactivePasswordHint.changes, this.error.changes)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n}\n\n/**\n * @docs-private\n *\n * @deprecated Will be removed in next major release, use `noBorders` input instead.\n */\n@Directive({\n standalone: true,\n selector: 'kbq-form-field[kbqFormFieldWithoutBorders]',\n exportAs: 'kbqFormFieldWithoutBorders',\n host: { class: 'kbq-form-field_without-borders' }\n})\nexport class KbqFormFieldWithoutBorders {}\n\n/**\n * @docs-private\n */\n@Directive({\n standalone: true,\n selector: '[kbqInput], [kbqTextarea]',\n exportAs: 'KbqTrim',\n host: { class: 'kbq-trim' }\n})\nexport class KbqTrim {\n private original: (fn: any) => void;\n\n constructor(\n @Attribute('no-trim') private readonly noTrim: boolean,\n @Optional() @Self() private ngControl: NgControl\n ) {\n this.noTrim = coerceBooleanProperty(noTrim);\n\n if (this.noTrim || !this.ngControl?.valueAccessor) {\n return;\n }\n\n this.original = this.ngControl.valueAccessor.registerOnChange;\n\n this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;\n }\n\n trim(value) {\n if (this.noTrim) {\n return value;\n }\n\n return typeof value === 'string' ? value.trim() : value;\n }\n\n private registerOnChange = (fn) => {\n return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));\n };\n}\n","@if (hasLabel) {\n <label class=\"kbq-form-field__label\" [attr.for]=\"control.id\">\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div #connectionContainer class=\"kbq-form-field__container\" (click)=\"onContainerClick($event)\">\n @if (hasPrefix) {\n <div class=\"kbq-form-field__prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field__infix\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field__suffix\">\n @if (canShowCleaner) {\n <div class=\"kbq-form-field__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <ng-content select=\"kbq-password-toggle, kbq-stepper, [kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError || hasReactivePasswordHint) {\n <div class=\"kbq-form-field__hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Optional,\n Self\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControlDirective,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn\n} from '@angular/forms';\nimport { KBQ_VALIDATION, KbqValidationOptions } from '@koobiq/components/core';\nimport { KbqFormField } from './form-field';\nimport { KbqFormFieldControl } from './form-field-control';\n\n/**\n * @deprecated Will be removed in next major release (#DS-2838)\n *\n * Legacy validation directive.\n *\n * ### How to disable?\n *\n * ```typescript\n * import { kbqDisableLegacyValidationDirectiveProvider } from '@koobiq/components/core';\n *\n * @NgModule({\n * providers: [kbqDisableLegacyValidationDirectiveProvider()]\n * })\n * ```\n *\n * @docs-private\n */\n@Directive({\n standalone: true,\n selector: `\n input[kbqInput],\n input[kbqNumberInput],\n input[kbqInputPassword],\n input[kbqTimepicker],\n input[kbqDatepicker],\n textarea[kbqTextarea],\n kbq-select,\n kbq-tree-select,\n kbq-tag-list\n `,\n exportAs: 'KbqValidate'\n})\nexport class KbqValidateDirective implements AfterContentInit {\n get isNgModel(): boolean {\n return this.ngControl instanceof NgModel;\n }\n\n get isFormControlName(): boolean {\n return this.ngControl instanceof FormControlName;\n }\n\n get isFormControl(): boolean {\n return this.ngControl instanceof FormControlDirective;\n }\n\n get validationControl(): any {\n return this.ngControl?.control || this.ngControl;\n }\n\n get parent() {\n return this.parentForm || this.parentFormGroup;\n }\n\n get hasNotSubmittedParent(): boolean {\n return this.parent && !this.parent.submitted;\n }\n\n constructor(\n @Inject(forwardRef(() => KbqFormFieldControl)) private formFieldControl: KbqFormFieldControl<any>,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Self() private ngControl: NgControl,\n @Optional() private parentForm: NgForm,\n @Optional() private parentFormGroup: FormGroupDirective,\n @Optional() @Inject(KBQ_VALIDATION) private mcValidation: KbqValidationOptions,\n private cdr: ChangeDetectorRef,\n @Optional() @Host() private readonly parentFormField: KbqFormField | null,\n private readonly elementRef: ElementRef\n ) {}\n\n ngAfterContentInit() {\n if (this.mcValidation.useValidation) {\n this.parentFormField?.elementRef.nativeElement.classList.add('kbq-form-field_has-validate-directive');\n this.elementRef.nativeElement.classList.add('kbq-control_has-validate-directive');\n\n this.setMosaicValidation();\n }\n }\n\n setValidState(control: AbstractControl, validator: ValidatorFn): void {\n if (!control) {\n return;\n }\n\n control.clearValidators();\n control.updateValueAndValidity({ emitEvent: false });\n control.setValidators(validator);\n }\n\n /** This function do next:\n * - run validation on submitting parent form\n * - prevent validation in required validator if form doesn't submitted\n * - if control has focus validation will be prevented\n */\n setMosaicValidation(): void {\n if (!this.validationControl) {\n return;\n }\n\n if (this.parent?.onSubmit) {\n const originalSubmit = this.parent.onSubmit;\n\n this.parent.onSubmit = ($event: Event) => {\n this.validationControl!.updateValueAndValidity({ emitEvent: false });\n\n return originalSubmit.call(this.parent, $event);\n };\n }\n\n if (this.isNgModel) {\n this.setMosaicValidationForModelControl();\n } else if (this.isFormControl || this.isFormControlName) {\n this.setMosaicValidationForFormControl();\n }\n }\n\n setMosaicValidationForModelControl() {\n if (!this.rawValidators) {\n return;\n }\n\n this.rawValidators.forEach((validator: Validator) => {\n const originalValidate = validator.validate;\n\n if (validator instanceof RequiredValidator) {\n // changed required validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.hasNotSubmittedParent) {\n return null;\n }\n\n return originalValidate.call(validator, control);\n };\n } else {\n // changed all other validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.formFieldControl.focused) {\n return null;\n }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n }\n\n setMosaicValidationForFormControl() {\n // changed required validation logic after initialization\n if (this.validationControl.invalid && this.validationControl.errors!.required) {\n Promise.resolve().then(() => {\n this.setValidState(this.validationControl, this.validationControl.validator);\n this.cdr.markForCheck();\n });\n }\n\n // check dynamic updates\n this.validationControl.statusChanges!.subscribe(() => {\n // changed required validation logic\n if (\n this.validationControl.invalid &&\n this.hasNotSubmittedParent &&\n this.validationControl.errors!.required\n ) {\n this.setValidState(this.validationControl, this.validationControl.validator);\n }\n\n // changed all other validation logic\n if (this.validationControl.invalid && this.formFieldControl.focused) {\n this.setValidState(this.validationControl, this.validationControl.validator);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqCleaner } from './cleaner';\nimport { KbqError } from './error';\nimport { KbqFieldset, KbqFieldsetItem, KbqLegend } from './fieldset';\nimport { KbqFormField, KbqFormFieldWithoutBorders, KbqTrim } from './form-field';\nimport { KbqHint } from './hint';\nimport { KbqLabel } from './label';\nimport { KbqPasswordHint } from './password-hint';\nimport { KbqPasswordToggle } from './password-toggle';\nimport { KbqPrefix } from './prefix';\nimport { KbqReactivePasswordHint } from './reactive-password-hint';\nimport { KbqStepper } from './stepper';\nimport { KbqSuffix } from './suffix';\nimport { KbqValidateDirective } from './validate.directive';\n\nconst COMPONENTS = [\n KbqCleaner,\n KbqFormField,\n KbqPrefix,\n KbqSuffix,\n KbqPasswordToggle,\n KbqStepper,\n KbqLabel,\n KbqHint,\n KbqError,\n KbqReactivePasswordHint,\n KbqLegend,\n KbqFieldset,\n KbqFieldsetItem,\n\n // Legacy components\n KbqPasswordHint,\n KbqFormFieldWithoutBorders,\n KbqValidateDirective,\n KbqTrim\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqFormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.KbqFormField"],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-form-field.mjs","sources":["../../../packages/components/form-field/cleaner.ts","../../../packages/components/form-field/hint.ts","../../../packages/components/form-field/hint.html","../../../packages/components/form-field/error.ts","../../../packages/components/form-field/fieldset.ts","../../../packages/components/form-field/form-field-control.ts","../../../packages/components/form-field/label.ts","../../../packages/components/form-field/password-hint.ts","../../../packages/components/form-field/password-toggle.ts","../../../packages/components/form-field/prefix.ts","../../../packages/components/form-field/reactive-password-hint.ts","../../../packages/components/form-field/stepper.ts","../../../packages/components/form-field/suffix.ts","../../../packages/components/form-field/form-field.ts","../../../packages/components/form-field/form-field.html","../../../packages/components/form-field/validate.directive.ts","../../../packages/components/form-field/form-field.module.ts","../../../packages/components/form-field/koobiq-components-form-field.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconButton, KbqIconModule } from '@koobiq/components/icon';\n\n/**\n * Element to be placed in end of the form field.\n * Resets form control by click.\n */\n@Component({\n standalone: true,\n imports: [KbqIconModule],\n selector: 'kbq-cleaner',\n exportAs: 'kbqCleaner',\n template: `\n <ng-content />\n `,\n styleUrls: ['cleaner.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n host: {\n class: 'kbq-cleaner kbq kbq-xmark-circle_16'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqCleaner extends KbqIconButton {\n constructor() {\n super();\n\n this.color = KbqComponentColors.ContrastFade;\n this.autoColor = true;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\nlet nextUniqueId = 0;\n\n/** Hint text to be shown below the form field control. */\n@Component({\n standalone: true,\n selector: 'kbq-hint',\n exportAs: 'kbqHint',\n templateUrl: './hint.html',\n styleUrls: ['./hint.scss', './hint-tokens.scss'],\n host: {\n class: 'kbq-hint',\n '[attr.id]': 'id',\n '[class.kbq-hint_fill-text-off]': 'fillTextOff',\n '[class.kbq-hint_compact]': 'compact'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqHint extends KbqColorDirective {\n /** Unique ID for the hint. */\n @Input() id: string = `kbq-hint-${nextUniqueId++}`;\n\n /** Disables `color` for the hint text. */\n @Input({ transform: booleanAttribute }) fillTextOff: boolean = false;\n\n /** Makes the hint size smaller. */\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n<span class=\"kbq-hint__text\">\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { KbqComponentColors } from '@koobiq/components/core';\nimport { KbqHint } from './hint';\n\n/** Error text to be shown below the form field control. */\n@Component({\n standalone: true,\n selector: 'kbq-error',\n exportAs: 'kbqError',\n templateUrl: './hint.html',\n styleUrls: [\n './hint.scss',\n './hint-tokens.scss'\n ],\n host: {\n class: 'kbq-error'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqError extends KbqHint {\n constructor() {\n super();\n\n this.color = KbqComponentColors.Error;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n ElementRef,\n Signal,\n ViewEncapsulation\n} from '@angular/core';\n\n/** Directive for marking an element as legend of `KbqFieldset` */\n@Directive({\n standalone: true,\n selector: '[kbqLegend]',\n host: {\n class: 'kbq-legend'\n }\n})\nexport class KbqLegend {}\n\n/** Directive for marking elements as items inside `KbqFieldset` */\n@Directive({\n standalone: true,\n selector: '[kbqFieldsetItem]',\n host: {\n class: 'kbq-fieldset-item'\n }\n})\nexport class KbqFieldsetItem {}\n\n/**\n * A group of form-fields and related controls.\n * Container component emulating the native `fieldset` element.\n */\n@Component({\n standalone: true,\n selector: 'kbq-fieldset',\n host: {\n class: 'kbq-fieldset',\n role: 'group',\n '[attr.aria-label]': 'ariaLabel()'\n },\n styleUrls: ['./fieldset.scss', './fieldset-tokens.scss'],\n template: `\n <ng-content select=\"[kbqLegend]\" />\n\n <div class=\"kbq-fieldset__container\">\n <ng-content />\n </div>\n\n <div class=\"kbq-form-field__hint\">\n <ng-content select=\"kbq-error\" />\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqFieldset {\n private readonly legend: Signal<ElementRef<HTMLElement> | undefined> = contentChild(KbqLegend, {\n read: ElementRef\n });\n\n /**\n * Computes the aria-label from the inner text of the legend element.\n * Used to enhance accessibility by labeling the group.\n * @docs-private\n */\n protected readonly ariaLabel = computed(() => this.legend()?.nativeElement?.innerText);\n}\n","import { NgControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\n/** An interface which allows a control to work inside of a `KbqFormField`. */\nexport abstract class KbqFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `KbqFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `kbq-form-field` elements\n * based on their control type. The form field will add a class,\n * `kbq-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n\n /** Focuses the control. */\n abstract focus(options?: FocusOptions): void;\n}\n","import { Directive } from '@angular/core';\n\n/** Label for the form field. */\n@Directive({\n selector: 'kbq-label',\n exportAs: 'kbqLabel',\n standalone: true,\n host: {\n class: 'kbq-label'\n }\n})\nexport class KbqLabel {}\n","import { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_FORM_FIELD_REF, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { Subject } from 'rxjs';\nimport { KbqFormField } from './form-field';\nimport { KbqHint } from './hint';\n\nlet nextPasswordHintUniqueId = 0;\n\nexport enum PasswordRules {\n Length,\n UpperLatin,\n LowerLatin,\n Digit,\n LatinAndSpecialSymbols,\n Custom\n}\n\nexport const regExpPasswordValidator = {\n [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),\n [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),\n [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),\n [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`\"'#№$%&()*+,-./\\\\:;<=>?@[\\]^_{|}~A-Za-z0-9]/)\n};\n\nexport const hasPasswordStrengthError = (passwordHints: QueryList<KbqPasswordHint>): boolean => {\n return passwordHints.some((hint) => hint.hasError);\n};\n\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule],\n selector: 'kbq-password-hint',\n template: `\n <i class=\"kbq-password-hint__icon\" kbq-icon=\"\" [ngClass]=\"icon\" [color]=\"iconColor\"></i>\n\n <span class=\"kbq-hint__text\">\n <ng-content />\n </span>\n `,\n styleUrls: ['hint.scss', 'hint-tokens.scss'],\n host: {\n '[attr.id]': 'id',\n class: 'kbq-hint kbq-password-hint',\n '[class.kbq-success]': 'checked',\n '[class.kbq-error]': 'hasError',\n '[class.kbq-hint_fill-text-off]': 'fillTextOff',\n '[class.kbq-hint_compact]': 'compact'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqPasswordHint extends KbqHint implements AfterContentInit {\n @Input() id: string = `kbq-hint-${nextPasswordHintUniqueId++}`;\n\n @Input() rule: PasswordRules | any;\n\n @Input() min: number;\n @Input() max: number;\n @Input() regex: RegExp | null;\n @Input('checkRule') customCheckRule: (value: string) => boolean;\n\n @Input() viewFormField?: KbqFormField;\n\n @Input() fillTextOff: boolean = true;\n\n hasError: boolean = false;\n checked: boolean = false;\n\n get icon(): string {\n return this.checked ? 'kbq-check-s_16' : 'kbq-xmark-s_16';\n }\n\n /**\n * The form field hint icon color.\n *\n * @docs-private\n */\n protected get iconColor(): KbqComponentColors {\n if (this.control?.ngControl.untouched && this.control?.ngControl.pristine) {\n return KbqComponentColors.ContrastFade;\n }\n\n return this.checked ? KbqComponentColors.Success : KbqComponentColors.Error;\n }\n\n private checkRule: (value: string) => boolean;\n\n private get control() {\n return this.formField.control;\n }\n\n private lastControlValue: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(forwardRef(() => KBQ_FORM_FIELD_REF)) private formField: any\n ) {\n super();\n this.color = KbqComponentColors.ContrastFade;\n this.setDefaultColor(KbqComponentColors.ContrastFade);\n }\n\n ngAfterContentInit(): void {\n this.formField = this.formField || this.viewFormField;\n\n if (this.rule === PasswordRules.Custom && this.regex === undefined && this.customCheckRule === undefined) {\n throw Error('You should set [regex] or [checkRule] for PasswordRules.Custom');\n }\n\n if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {\n throw Error('For [rule] \"Length\" need set [min] and [max]');\n }\n\n if (this.rule === PasswordRules.Length) {\n this.checkRule = this.checkLengthRule;\n } else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkRegexRule;\n } else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {\n this.regex = regExpPasswordValidator[this.rule];\n this.checkRule = this.checkSpecialSymbolsRegexRule;\n } else if (this.rule === PasswordRules.Custom) {\n this.checkRule = this.regex === undefined ? this.customCheckRule : this.checkRegexRule;\n } else {\n throw Error(`Unknown [rule]=${this.rule}`);\n }\n\n // prevent error when formField.control is undefined\n setTimeout(() => {\n this.formField.control.stateChanges.subscribe(this.checkValue);\n\n (this.formField.control as unknown as { checkRule: Subject<any> }).checkRule.subscribe(() => {\n this.checked = this.checkRule(this.control.value);\n this.hasError = !this.checkRule(this.control.value);\n });\n });\n }\n\n private checkValue = () => {\n if (this.control.focused && this.isValueChanged()) {\n this.hasError = false;\n\n this.checked = this.checkRule(this.control.value);\n } else if (!this.control.focused && !this.isValueChanged()) {\n this.hasError = !this.checkRule(this.control.value);\n }\n\n if (!this.control.required && !this.control.value) {\n this.checked = this.hasError = false;\n }\n\n this.lastControlValue = this.control.value;\n this.changeDetectorRef.markForCheck();\n };\n\n private checkLengthRule(value: string): boolean {\n return value.length >= this.min && value.length <= this.max;\n }\n\n private checkRegexRule = (value: string): boolean => {\n return !!this.regex?.test(value);\n };\n\n private checkSpecialSymbolsRegexRule(value: string): boolean {\n return !!value && !this.regex?.test(value);\n }\n\n private isValueChanged(): boolean {\n return this.lastControlValue !== this.formField.control.value;\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_FORM_FIELD_REF, kbqInjectNativeElement, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqIconButton, KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { KbqFormField } from './form-field';\nimport { KbqFormFieldControl } from './form-field-control';\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\ntype KbqInputPassword = KbqFormFieldControl<unknown> & {\n elementType: string;\n toggleType: () => void;\n};\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\nconst isInputPassword = (control: KbqFormFieldControl<unknown>): control is KbqInputPassword => {\n return 'elementType' in control;\n};\n\nconst getKbqPasswordToggleMissingControlError = (): Error => {\n return Error('kbq-password-toggle should use with kbqInputPassword');\n};\n\n/** Component which changes password visibility. */\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule, KbqToolTipModule],\n selector: `kbq-password-toggle`,\n exportAs: 'kbqPasswordToggle',\n template: `\n <ng-content />\n `,\n styleUrls: ['password-toggle.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n host: {\n class: 'kbq-password-toggle kbq kbq-icon-button kbq-contrast-fade',\n '[class.kbq-error]': 'hasError',\n '[class.kbq-eye_16]': 'hidden',\n '[class.kbq-eye-slash_16]': '!hidden',\n\n // legacy style for backward compatibility\n '[style.visibility]': 'visibility',\n '[class.cdk-visually-hidden]': 'visibility === \"hidden\"',\n '[attr.aria-hidden]': 'visibility === \"hidden\"',\n '[attr.tabindex]': 'tabindex',\n\n '(click)': 'toggle($event)',\n '(keydown.ENTER)': 'toggle($event)',\n '(keydown.SPACE)': 'toggle($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqPasswordToggle extends KbqTooltipTrigger implements AfterViewInit, OnDestroy, AfterContentInit {\n protected readonly nativeElement = kbqInjectNativeElement();\n protected readonly focusMonitor = inject(FocusMonitor);\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n // @TODO fix types (#DS-2915)\n private readonly formField = inject(KBQ_FORM_FIELD_REF, { optional: true }) as unknown as KbqFormField | undefined;\n\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n\n /**\n * @docs-private\n */\n @ViewChild(KbqIconButton) readonly icon: KbqIconButton;\n\n @Input('kbqTooltipNotHidden')\n get content(): string | TemplateRef<any> {\n return this.control.elementType === 'password' ? this.kbqTooltipHidden : this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input() kbqTooltipHidden: string | TemplateRef<any>;\n\n protected hasError: boolean = false;\n\n /** Form field password control. */\n private get control(): KbqInputPassword {\n const control = this.formField?.control;\n\n if (!control || !isInputPassword(control)) {\n throw getKbqPasswordToggleMissingControlError();\n }\n\n return control;\n }\n\n /**\n * @docs-private\n */\n get hidden(): boolean {\n return this.control.elementType === 'password';\n }\n\n /**\n * @docs-private\n */\n get iconClass(): string {\n return this.hidden ? 'kbq-eye_16' : 'kbq-eye-slash_16';\n }\n\n /**\n * @docs-private\n */\n get visibility(): 'hidden' | 'visible' {\n return this.control.disabled || this.control.empty ? 'hidden' : 'visible';\n }\n\n constructor() {\n super();\n\n this.trigger = `${PopUpTriggers.Hover}`;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit(): void {\n this.formField?.control?.stateChanges.subscribe(this.updateState);\n\n this.updateState();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.nativeElement, true);\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.nativeElement);\n }\n\n /**\n * @docs-private\n */\n toggle(event: KeyboardEvent) {\n this.hide();\n\n const input = this.control;\n\n input.toggleType();\n\n this.updateData();\n\n event.preventDefault();\n }\n\n private updateState = () => {\n this.hasError = !!this.formField?.control?.errorState;\n\n this.changeDetectorRef.markForCheck();\n };\n}\n","import { Directive } from '@angular/core';\n\n/** Element to be placed in front of the form field. */\n@Directive({\n standalone: true,\n selector: '[kbqPrefix]',\n exportAs: 'kbqPrefix',\n host: {\n class: 'kbq-prefix'\n }\n})\nexport class KbqPrefix {}\n","import { NgClass } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_FORM_FIELD_REF, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { EMPTY } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { KbqFormField } from './form-field';\nimport { KbqHint } from './hint';\n\n/** Password hint to be shown below the password form field control. */\n@Component({\n standalone: true,\n imports: [NgClass, KbqIconModule],\n selector: 'kbq-reactive-password-hint',\n exportAs: 'kbqReactivePasswordHint',\n template: `\n <i kbq-icon=\"\" [ngClass]=\"icon()\" [color]=\"color\"></i>\n\n <span class=\"kbq-hint__text\">\n <ng-content />\n </span>\n `,\n styleUrls: [\n './hint.scss',\n './hint-tokens.scss'\n ],\n host: {\n class: 'kbq-reactive-password-hint'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqReactivePasswordHint extends KbqHint {\n // @TODO fix types (#DS-2915)\n private readonly formField = inject<KbqFormField>(KBQ_FORM_FIELD_REF, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n /** Whether the form field control has an error. */\n readonly hasError = input(false, { transform: booleanAttribute });\n\n /**\n * The form field hint icon.\n *\n * @docs-private\n */\n protected readonly icon = computed(() => (this.hasError() ? 'kbq-xmark-s_16' : 'kbq-check-s_16'));\n\n constructor() {\n super();\n\n this.fillTextOff = true;\n this.compact = false;\n this.color = KbqComponentColors.ContrastFade;\n\n afterNextRender(() => {\n (this.formField?.control?.stateChanges || EMPTY)\n .pipe(delay(0), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.color = this.makeColor();\n\n this.changeDetectorRef.markForCheck();\n });\n });\n }\n\n private makeColor(): KbqComponentColors {\n if (this.formField?.control.ngControl?.untouched && this.formField.control.ngControl.pristine) {\n return KbqComponentColors.ContrastFade;\n }\n\n return this.hasError() ? KbqComponentColors.Error : KbqComponentColors.Success;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, ViewEncapsulation } from '@angular/core';\nimport { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqFormFieldControl } from './form-field-control';\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\ntype KbqNumberInput = KbqFormFieldControl<unknown> & {\n stepUp: (step: number) => void;\n stepDown: (step: number) => void;\n step: number;\n};\n\n// @TODO Temporary solution to resolve circular dependency (#DS-3893)\nconst isNumberInput = (control: KbqFormFieldControl<unknown>): control is KbqNumberInput => {\n return 'stepUp' in control && 'stepDown' in control;\n};\n\nconst getKbqStepperToggleMissingControlError = (): Error => {\n return Error('kbq-stepper should use with kbqNumberInput');\n};\n\n/** Component which allow to increment or decrement number value. */\n@Component({\n standalone: true,\n selector: 'kbq-stepper',\n exportAs: 'kbqStepper',\n imports: [KbqIconModule],\n template: `\n <i\n class=\"kbq-stepper-step-up\"\n color=\"contrast-fade\"\n kbq-icon-button=\"kbq-chevron-up-s_16\"\n [tabindex]=\"-1\"\n [autoColor]=\"true\"\n [disabled]=\"control.disabled\"\n (mousedown)=\"onStepUp($event)\"\n ></i>\n <i\n class=\"kbq-stepper-step-down\"\n color=\"contrast-fade\"\n kbq-icon-button=\"kbq-chevron-down-s_16\"\n [tabindex]=\"-1\"\n [autoColor]=\"true\"\n [disabled]=\"control.disabled\"\n (mousedown)=\"onStepDown($event)\"\n ></i>\n `,\n styleUrls: ['stepper.scss'],\n host: {\n class: 'kbq-stepper'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqStepper {\n private readonly formField = inject(KBQ_FORM_FIELD_REF, { optional: true });\n\n /** Emitted when the stepper is incremented. */\n @Output() readonly stepUp: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emitted when the stepper is decremented. */\n @Output() readonly stepDown: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Form field number control.\n *\n * @docs-private\n */\n protected get control(): KbqNumberInput {\n const control = this.formField?.control;\n const input = control.numberInput;\n\n if (!isNumberInput(input)) {\n throw getKbqStepperToggleMissingControlError();\n }\n\n return input;\n }\n\n /**\n * @docs-private\n */\n connectTo(numberInput: KbqNumberInput): void {\n if (!numberInput) return;\n\n this.stepUp.subscribe(() => {\n numberInput.stepUp(numberInput.step);\n });\n\n this.stepDown.subscribe(() => {\n numberInput.stepDown(numberInput.step);\n });\n }\n\n /**\n * @docs-private\n */\n onStepUp($event: MouseEvent): void {\n this.stepUp.emit();\n $event.preventDefault();\n }\n\n /**\n * @docs-private\n */\n onStepDown($event: MouseEvent): void {\n this.stepDown.emit();\n $event.preventDefault();\n }\n}\n","import { Directive } from '@angular/core';\n\n/** Element to be placed at the end of the form field. */\n@Directive({\n standalone: true,\n selector: '[kbqSuffix]',\n host: {\n class: 'kbq-suffix'\n }\n})\nexport class KbqSuffix {}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n OnDestroy,\n Optional,\n Provider,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { ESCAPE, F8 } from '@koobiq/cdk/keycodes';\nimport { KBQ_FORM_FIELD_REF, KbqColorDirective } from '@koobiq/components/core';\nimport { EMPTY, merge } from 'rxjs';\nimport { delay, startWith } from 'rxjs/operators';\nimport { KbqCleaner } from './cleaner';\nimport { KbqError } from './error';\nimport { KbqFormFieldControl } from './form-field-control';\nimport { KbqHint } from './hint';\nimport { KbqLabel } from './label';\nimport { hasPasswordStrengthError, KbqPasswordHint } from './password-hint';\nimport { KbqPasswordToggle } from './password-toggle';\nimport { KbqPrefix } from './prefix';\nimport { KbqReactivePasswordHint } from './reactive-password-hint';\nimport { KbqStepper } from './stepper';\nimport { KbqSuffix } from './suffix';\n\n/** @docs-private */\nexport function getKbqFormFieldMissingControlError(): Error {\n return Error('kbq-form-field must contain a KbqFormFieldControl');\n}\n\n/** @docs-private */\nexport function getKbqFormFieldYouCanNotUseCleanerInNumberInputError(): Error {\n return Error(`You can't use kbq-cleaner with input that have type=\"number\"`);\n}\n\n/**\n * Default options for the kbq-form-field that can be configured using the `KBQ_FORM_FIELD_DEFAULT_OPTIONS`\n * injection token.\n */\nexport type KbqFormFieldDefaultOptions = Partial<{\n /** Disables form field borders and shadows. */\n noBorders: boolean;\n}>;\n\n/**\n * Injection token that can be used to configure the default options for all kbq-form-field's.\n */\nexport const KBQ_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken<KbqFormFieldDefaultOptions>(\n 'KBQ_FORM_FIELD_DEFAULT_OPTIONS'\n);\n\n/** Utility provider for `KBQ_FORM_FIELD_DEFAULT_OPTIONS`. */\nexport const kbqFormFieldDefaultOptionsProvider = (options: KbqFormFieldDefaultOptions): Provider => ({\n provide: KBQ_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: options\n});\n\n/** Container for form controls that applies styling and behavior. */\n@Component({\n standalone: true,\n selector: 'kbq-form-field',\n exportAs: 'kbqFormField',\n templateUrl: 'form-field.html',\n styleUrls: [\n 'form-field.scss',\n 'form-field-tokens.scss',\n // KbqInput is a directive and can't have styles, so we need to include its styles here.\n // The KbqInput styles are fairly minimal so it shouldn't be a big deal for people who aren't using KbqInput.\n '../input/input.scss',\n '../input/input-tokens.scss',\n '../timepicker/timepicker.scss',\n '../datepicker/datepicker-input.scss',\n '../textarea/textarea.scss',\n '../tags/tag-input-tokens.scss'\n ],\n host: {\n class: 'kbq-form-field',\n\n '[class.kbq-form-field_invalid]': 'invalid',\n '[class.kbq-disabled]': 'disabled',\n '[class.kbq-form-field_no-borders]': 'noBorders()',\n\n '[class.ng-untouched]': 'shouldForward(\"untouched\")',\n '[class.ng-touched]': 'shouldForward(\"touched\")',\n '[class.ng-pristine]': 'shouldForward(\"pristine\")',\n '[class.ng-dirty]': 'shouldForward(\"dirty\")',\n '[class.ng-valid]': 'shouldForward(\"valid\")',\n '[class.ng-invalid]': 'shouldForward(\"invalid\")',\n '[class.ng-pending]': 'shouldForward(\"pending\")',\n\n '(keydown)': 'onKeyDown($event)',\n '(mouseenter)': 'onHoverChanged(true)',\n '(mouseleave)': 'onHoverChanged(false)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: KBQ_FORM_FIELD_REF, useExisting: KbqFormField }]\n})\nexport class KbqFormField\n extends KbqColorDirective\n implements AfterContentInit, AfterViewInit, OnDestroy, AfterContentChecked\n{\n private readonly destroyRef = inject(DestroyRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly defaultOptions = inject(KBQ_FORM_FIELD_DEFAULT_OPTIONS, { optional: true });\n /**\n * @docs-private\n */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Disables form field borders and shadows. */\n readonly noBorders = input(this.defaultOptions?.noBorders, { transform: booleanAttribute });\n\n /**\n * The form field control.\n *\n * @docs-private\n */\n @ContentChild(KbqFormFieldControl) control: KbqFormFieldControl<unknown>;\n /**\n * @docs-private\n */\n @ContentChild(KbqStepper) readonly stepper: KbqStepper;\n /**\n * @docs-private\n *\n * @TODO Should be readonly (#DS-3883)\n */\n @ContentChild(KbqCleaner, { descendants: false }) cleaner: KbqCleaner | null;\n /**\n * @docs-private\n */\n @ContentChild(KbqPasswordToggle) passwordToggle: KbqPasswordToggle | null;\n /**\n * @docs-private\n */\n @ContentChildren(KbqHint) hint: QueryList<KbqHint>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqPasswordHint) passwordHints: QueryList<KbqPasswordHint>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqSuffix) suffix: QueryList<KbqSuffix>;\n /**\n * @docs-private\n */\n @ContentChildren(KbqPrefix) prefix: QueryList<KbqPrefix>;\n /**\n * @docs-private\n */\n @ViewChild('connectionContainer', { static: true }) connectionContainerRef: ElementRef;\n\n @ContentChildren(KbqReactivePasswordHint) private readonly reactivePasswordHint: QueryList<KbqReactivePasswordHint>;\n @ContentChildren(KbqError) private readonly error: QueryList<KbqError>;\n @ContentChild(KbqLabel) private readonly label: KbqLabel | null;\n\n /**\n * @docs-private\n */\n hovered: boolean = false;\n\n /**\n * @docs-private\n */\n canCleanerClearByEsc: boolean = true;\n\n /** Whether the form field is invalid. */\n get invalid(): boolean {\n return !!this.control?.errorState;\n }\n\n /**\n * Whether the form field control has an reactive password hint.\n *\n * @docs-private\n */\n protected get hasReactivePasswordHint(): boolean {\n return this.reactivePasswordHint.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-error.\n *\n * @docs-private\n */\n protected get hasError(): boolean {\n return this.error.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-label.\n *\n * @docs-private\n */\n protected get hasLabel(): boolean {\n return !!this.label;\n }\n\n /**\n * Whether the form-field contains kbq-password-hint.\n *\n * @docs-private\n */\n get hasPasswordHint(): boolean {\n return this.passwordHints?.length > 0;\n }\n\n /**\n * Current focus origin state.\n *\n * @docs-private\n */\n get focusOrigin(): FocusOrigin {\n return this._focusOrigin;\n }\n\n private _focusOrigin: FocusOrigin;\n\n /**\n * @docs-private\n */\n get hasFocus(): boolean {\n return this.control?.focused;\n }\n\n /**\n * Whether the form-field contains kbq-hint.\n *\n * @docs-private\n */\n get hasHint(): boolean {\n return this.hint?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbqSuffix.\n *\n * @docs-private\n */\n get hasSuffix(): boolean {\n return this.suffix?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbqPrefix.\n *\n * @docs-private\n */\n get hasPrefix(): boolean {\n return this.prefix?.length > 0;\n }\n\n /**\n * Whether the form-field contains kbq-cleaner.\n *\n * @docs-private\n */\n get hasCleaner(): boolean {\n return !!this.cleaner;\n }\n\n /**\n * Whether the form-field contains kbq-stepper.\n *\n * @docs-private\n */\n get hasStepper(): boolean {\n return !!this.stepper;\n }\n\n /**\n * Whether the form-field contains kbq-password-toggle.\n *\n * @docs-private\n */\n get hasPasswordToggle(): boolean {\n return !!this.passwordToggle;\n }\n\n /**\n * @docs-private\n */\n get canShowCleaner(): boolean {\n return this.hasCleaner && this.control?.ngControl ? this.control.ngControl.value && !this.disabled : false;\n }\n\n /** Whether the form field is disabled. */\n get disabled(): boolean {\n return this.control?.disabled;\n }\n\n /**\n * @deprecated stepper should be always visible when provided, so this parameter is redundant,\n * use `hasStepper` instead\n *\n * @docs-private\n */\n canShowStepper = true;\n\n ngAfterContentInit(): void {\n this.validateControlChild();\n\n if ((this.control as any).numberInput && this.hasCleaner) {\n this.cleaner = null;\n throw getKbqFormFieldYouCanNotUseCleanerInNumberInputError();\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this.control.stateChanges.pipe(startWith(), delay(0)).subscribe((state: any) => {\n if (this.passwordHints.length && !state?.focused && hasPasswordStrengthError(this.passwordHints)) {\n this.control.ngControl?.control?.setErrors({ passwordStrength: true });\n }\n });\n\n if (this.hasStepper) {\n this.stepper.connectTo((this.control as any).numberInput);\n }\n\n this.initializeControl();\n this.initializePrefixAndSuffix();\n this.initializeHint();\n }\n\n ngAfterContentChecked(): void {\n this.validateControlChild();\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n\n // Because the above changes a value used in the template after it was checked, we need\n // to trigger CD or the change might not be reflected if there is no other CD scheduled.\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.stopFocusMonitor();\n }\n\n /** Focuses the control. */\n focus(options?: FocusOptions): void {\n this.control.focus(options);\n }\n\n /**\n * @deprecated Use `focus` instead.\n *\n * @docs-private\n */\n focusViaKeyboard(options?: FocusOptions): void {\n this.control.focus(options);\n }\n\n /**\n * @docs-private\n */\n clearValue(event: Event): void {\n event.stopPropagation();\n\n this.control?.ngControl?.reset();\n this.control?.focus();\n }\n\n /**\n * Handles a click on the control's container.\n *\n * @docs-private\n */\n onContainerClick(event: MouseEvent): void {\n if (this.control?.onContainerClick) {\n this.control.onContainerClick(event);\n }\n }\n\n /**\n * Handles keydown events.\n *\n * @docs-private\n */\n onKeyDown(event: KeyboardEvent): void {\n if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {\n (this.control as unknown as { toggleType(): void }).toggleType();\n }\n\n if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {\n this.control?.ngControl?.reset();\n\n event.preventDefault();\n }\n }\n\n /**\n * @docs-private\n */\n onHoverChanged(isHovered: boolean): void {\n if (isHovered !== this.hovered) {\n this.hovered = isHovered;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this.connectionContainerRef || this.elementRef;\n }\n\n /**\n * Determines whether a class from the NgControl should be forwarded to the host element.\n *\n * @docs-private\n */\n shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this.control?.ngControl;\n\n return ngControl && ngControl[prop];\n }\n\n /**\n * Runs the focus monitor for the form field.\n *\n * @docs-private\n */\n runFocusMonitor = () => {\n this.focusMonitor\n .monitor(this.elementRef.nativeElement, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((origin) => (this._focusOrigin = origin));\n };\n\n /**\n * Stops the focus monitor for the form field.\n *\n * @docs-private\n */\n stopFocusMonitor(): void {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n /**\n * Throws an error if the form-field control is missing.\n *\n * @docs-private\n */\n protected validateControlChild() {\n if (!this.control) {\n throw getKbqFormFieldMissingControlError();\n }\n }\n\n /** Initializes the form field control. */\n private initializeControl(): void {\n if (this.control.controlType) {\n this.elementRef.nativeElement.classList.add(`kbq-form-field-type-${this.control.controlType}`);\n }\n\n merge(this.control.stateChanges, this.control.ngControl?.valueChanges || EMPTY)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** Initializes the kbqPrefix and kbqSuffix containers. */\n private initializePrefixAndSuffix(): void {\n // Mark the form field as dirty whenever the prefix or suffix children change. This is necessary because we\n // conditionally display the prefix/suffix containers based on whether there is projected content.\n merge(this.prefix.changes, this.suffix.changes)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** Initializes the KbqHint, KbqPasswordHint, KbqReactivePasswordHint and KbqError containers. */\n private initializeHint(): void {\n merge(this.hint.changes, this.passwordHints.changes, this.reactivePasswordHint.changes, this.error.changes)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n }\n}\n\n/**\n * @docs-private\n *\n * @deprecated Will be removed in next major release, use `noBorders` input instead.\n */\n@Directive({\n standalone: true,\n selector: 'kbq-form-field[kbqFormFieldWithoutBorders]',\n exportAs: 'kbqFormFieldWithoutBorders',\n host: { class: 'kbq-form-field_without-borders' }\n})\nexport class KbqFormFieldWithoutBorders {}\n\n/**\n * @docs-private\n */\n@Directive({\n standalone: true,\n selector: '[kbqInput], [kbqTextarea]',\n exportAs: 'KbqTrim',\n host: { class: 'kbq-trim' }\n})\nexport class KbqTrim {\n private original: (fn: any) => void;\n\n constructor(\n @Attribute('no-trim') private readonly noTrim: boolean,\n @Optional() @Self() private ngControl: NgControl\n ) {\n this.noTrim = coerceBooleanProperty(noTrim);\n\n if (this.noTrim || !this.ngControl?.valueAccessor) {\n return;\n }\n\n this.original = this.ngControl.valueAccessor.registerOnChange;\n\n this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;\n }\n\n trim(value) {\n if (this.noTrim) {\n return value;\n }\n\n return typeof value === 'string' ? value.trim() : value;\n }\n\n private registerOnChange = (fn) => {\n return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));\n };\n}\n","@if (hasLabel) {\n <label class=\"kbq-form-field__label\" [attr.for]=\"control.id\">\n <ng-content select=\"kbq-label\" />\n </label>\n}\n\n<div #connectionContainer class=\"kbq-form-field__container\" (click)=\"onContainerClick($event)\">\n @if (hasPrefix) {\n <div class=\"kbq-form-field__prefix\">\n <ng-content select=\"[kbqPrefix]\" />\n </div>\n }\n\n <div class=\"kbq-form-field__infix\">\n <ng-content />\n </div>\n\n @if (hasSuffix || hasCleaner || hasPasswordToggle || hasStepper) {\n <div class=\"kbq-form-field__suffix\">\n @if (canShowCleaner) {\n <div class=\"kbq-form-field__cleaner\" (click)=\"clearValue($event)\" (keydown.enter)=\"clearValue($event)\">\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <ng-content select=\"kbq-password-toggle, kbq-stepper, [kbqSuffix]\" />\n </div>\n }\n</div>\n\n@if (hasHint || hasPasswordHint || hasError || hasReactivePasswordHint) {\n <div class=\"kbq-form-field__hint\">\n @if (invalid) {\n <ng-content select=\"kbq-error\" />\n }\n\n <ng-content select=\"kbq-hint, kbq-password-hint, kbq-reactive-password-hint\" />\n </div>\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Optional,\n Self\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControlDirective,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn\n} from '@angular/forms';\nimport { KBQ_VALIDATION, KbqValidationOptions } from '@koobiq/components/core';\nimport { KbqFormField } from './form-field';\nimport { KbqFormFieldControl } from './form-field-control';\n\n/**\n * @deprecated Will be removed in next major release (#DS-2838)\n *\n * Legacy validation directive.\n *\n * ### How to disable?\n *\n * ```typescript\n * import { kbqDisableLegacyValidationDirectiveProvider } from '@koobiq/components/core';\n *\n * @NgModule({\n * providers: [kbqDisableLegacyValidationDirectiveProvider()]\n * })\n * ```\n *\n * @docs-private\n */\n@Directive({\n standalone: true,\n selector: `\n input[kbqInput],\n input[kbqNumberInput],\n input[kbqInputPassword],\n input[kbqTimepicker],\n input[kbqDatepicker],\n textarea[kbqTextarea],\n kbq-select,\n kbq-tree-select,\n kbq-tag-list\n `,\n exportAs: 'KbqValidate'\n})\nexport class KbqValidateDirective implements AfterContentInit {\n get isNgModel(): boolean {\n return this.ngControl instanceof NgModel;\n }\n\n get isFormControlName(): boolean {\n return this.ngControl instanceof FormControlName;\n }\n\n get isFormControl(): boolean {\n return this.ngControl instanceof FormControlDirective;\n }\n\n get validationControl(): any {\n return this.ngControl?.control || this.ngControl;\n }\n\n get parent() {\n return this.parentForm || this.parentFormGroup;\n }\n\n get hasNotSubmittedParent(): boolean {\n return this.parent && !this.parent.submitted;\n }\n\n constructor(\n @Inject(forwardRef(() => KbqFormFieldControl)) private formFieldControl: KbqFormFieldControl<any>,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Self() private ngControl: NgControl,\n @Optional() private parentForm: NgForm,\n @Optional() private parentFormGroup: FormGroupDirective,\n @Optional() @Inject(KBQ_VALIDATION) private mcValidation: KbqValidationOptions,\n private cdr: ChangeDetectorRef,\n @Optional() @Host() private readonly parentFormField: KbqFormField | null,\n private readonly elementRef: ElementRef\n ) {}\n\n ngAfterContentInit() {\n if (this.mcValidation.useValidation) {\n this.parentFormField?.elementRef.nativeElement.classList.add('kbq-form-field_has-validate-directive');\n this.elementRef.nativeElement.classList.add('kbq-control_has-validate-directive');\n\n this.setMosaicValidation();\n }\n }\n\n setValidState(control: AbstractControl, validator: ValidatorFn): void {\n if (!control) {\n return;\n }\n\n control.clearValidators();\n control.updateValueAndValidity({ emitEvent: false });\n control.setValidators(validator);\n }\n\n /** This function do next:\n * - run validation on submitting parent form\n * - prevent validation in required validator if form doesn't submitted\n * - if control has focus validation will be prevented\n */\n setMosaicValidation(): void {\n if (!this.validationControl) {\n return;\n }\n\n if (this.parent?.onSubmit) {\n const originalSubmit = this.parent.onSubmit;\n\n this.parent.onSubmit = ($event: Event) => {\n this.validationControl!.updateValueAndValidity({ emitEvent: false });\n\n return originalSubmit.call(this.parent, $event);\n };\n }\n\n if (this.isNgModel) {\n this.setMosaicValidationForModelControl();\n } else if (this.isFormControl || this.isFormControlName) {\n this.setMosaicValidationForFormControl();\n }\n }\n\n setMosaicValidationForModelControl() {\n if (!this.rawValidators) {\n return;\n }\n\n this.rawValidators.forEach((validator: Validator) => {\n const originalValidate = validator.validate;\n\n if (validator instanceof RequiredValidator) {\n // changed required validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.hasNotSubmittedParent) {\n return null;\n }\n\n return originalValidate.call(validator, control);\n };\n } else {\n // changed all other validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (this.formFieldControl.focused) {\n return null;\n }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n }\n\n setMosaicValidationForFormControl() {\n // changed required validation logic after initialization\n if (this.validationControl.invalid && this.validationControl.errors!.required) {\n Promise.resolve().then(() => {\n this.setValidState(this.validationControl, this.validationControl.validator);\n this.cdr.markForCheck();\n });\n }\n\n // check dynamic updates\n this.validationControl.statusChanges!.subscribe(() => {\n // changed required validation logic\n if (\n this.validationControl.invalid &&\n this.hasNotSubmittedParent &&\n this.validationControl.errors!.required\n ) {\n this.setValidState(this.validationControl, this.validationControl.validator);\n }\n\n // changed all other validation logic\n if (this.validationControl.invalid && this.formFieldControl.focused) {\n this.setValidState(this.validationControl, this.validationControl.validator);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqCleaner } from './cleaner';\nimport { KbqError } from './error';\nimport { KbqFieldset, KbqFieldsetItem, KbqLegend } from './fieldset';\nimport { KbqFormField, KbqFormFieldWithoutBorders, KbqTrim } from './form-field';\nimport { KbqHint } from './hint';\nimport { KbqLabel } from './label';\nimport { KbqPasswordHint } from './password-hint';\nimport { KbqPasswordToggle } from './password-toggle';\nimport { KbqPrefix } from './prefix';\nimport { KbqReactivePasswordHint } from './reactive-password-hint';\nimport { KbqStepper } from './stepper';\nimport { KbqSuffix } from './suffix';\nimport { KbqValidateDirective } from './validate.directive';\n\nconst COMPONENTS = [\n KbqCleaner,\n KbqFormField,\n KbqPrefix,\n KbqSuffix,\n KbqPasswordToggle,\n KbqStepper,\n KbqLabel,\n KbqHint,\n KbqError,\n KbqReactivePasswordHint,\n KbqLegend,\n KbqFieldset,\n KbqFieldsetItem,\n\n // Legacy components\n KbqPasswordHint,\n KbqFormFieldWithoutBorders,\n KbqValidateDirective,\n KbqTrim\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqFormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.KbqFormField"],"mappings":"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"}
@@ -37,10 +37,10 @@ class KbqIcon extends KbqColorDirective {
37
37
  }
38
38
  this.updateMaxHeight();
39
39
  }
40
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIcon, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KbqIcon, isStandalone: true, selector: "[kbq-icon]", inputs: { small: "small", autoColor: "autoColor", iconName: ["kbq-icon", "iconName"] }, host: { properties: { "class": "iconName", "class.kbq-error": "color === \"error\" || hasError" }, classAttribute: "kbq kbq-icon" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-rotate_90{transform:rotate(90deg)}.kbq-icon-rotate_180{transform:rotate(180deg)}.kbq-icon-rotate_270{transform:rotate(270deg)}.kbq-icon-flip-h{transform:scaleY(-1)}.kbq-icon-flip-v{transform:scaleX(-1)}.kbq-icon-flip-vh{transform:scale(-1)}.kbq-icon{color:var(--kbq-icon-contrast-color)}.kbq-icon.kbq-theme{color:var(--kbq-icon-theme-color)}.kbq-icon.kbq-contrast{color:var(--kbq-icon-contrast-color)}.kbq-icon.kbq-contrast-fade{color:var(--kbq-icon-fade-contrast-color)}.kbq-icon.kbq-error{color:var(--kbq-icon-error-color)}.kbq-icon.kbq-warning{color:var(--kbq-icon-warning-color)}.kbq-icon.kbq-success{color:var(--kbq-icon-success-color)}\n", ".kbq-icon{--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIcon, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqIcon, isStandalone: true, selector: "[kbq-icon]", inputs: { small: "small", autoColor: "autoColor", iconName: ["kbq-icon", "iconName"] }, host: { properties: { "class": "iconName", "class.kbq-error": "color === \"error\" || hasError" }, classAttribute: "kbq kbq-icon" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-rotate_90{transform:rotate(90deg)}.kbq-icon-rotate_180{transform:rotate(180deg)}.kbq-icon-rotate_270{transform:rotate(270deg)}.kbq-icon-flip-h{transform:scaleY(-1)}.kbq-icon-flip-v{transform:scaleX(-1)}.kbq-icon-flip-vh{transform:scale(-1)}.kbq-icon{color:var(--kbq-icon-contrast-color)}.kbq-icon.kbq-theme{color:var(--kbq-icon-theme-color)}.kbq-icon.kbq-contrast{color:var(--kbq-icon-contrast-color)}.kbq-icon.kbq-contrast-fade{color:var(--kbq-icon-fade-contrast-color)}.kbq-icon.kbq-error{color:var(--kbq-icon-error-color)}.kbq-icon.kbq-warning{color:var(--kbq-icon-warning-color)}.kbq-icon.kbq-success{color:var(--kbq-icon-success-color)}\n", ".kbq-icon{--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIcon, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIcon, decorators: [{
44
44
  type: Component,
45
45
  args: [{ standalone: true, selector: '[kbq-icon]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
46
46
  class: 'kbq kbq-icon',
@@ -92,10 +92,10 @@ class KbqIconButton extends KbqIcon {
92
92
  stopFocusMonitor() {
93
93
  this.focusMonitor.stopMonitoring(this.getHostElement());
94
94
  }
95
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconButton, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
96
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: KbqIconButton, isStandalone: true, selector: "[kbq-icon-button]", inputs: { small: "small", iconName: ["kbq-icon-button", "iconName"], tabindex: "tabindex", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.tabindex": "tabindex", "attr.disabled": "disabled", "class.kbq-disabled": "disabled", "class.kbq-icon-button_small": "small" }, classAttribute: "kbq kbq-icon-button" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-button{padding:var(--kbq-icon-button-size-normal-vertical-padding) var(--kbq-icon-button-size-normal-horizontal-padding)}.kbq-icon-button:not(.kbq-disabled){cursor:pointer}.kbq-icon-button.kbq-disabled:not(button){pointer-events:none}.kbq-icon-button.kbq-icon-button_small{padding:var(--kbq-icon-button-size-small-vertical-padding) var(--kbq-icon-button-size-small-horizontal-padding)}.kbq-icon-button:focus{outline:none}.kbq-icon-button.kbq-theme{color:var(--kbq-icon-button-theme-default)}.kbq-icon-button.kbq-theme:hover{color:var(--kbq-icon-button-theme-states-hover)}.kbq-icon-button.kbq-theme:active,.kbq-icon-button.kbq-theme.kbq-active{color:var(--kbq-icon-button-theme-states-active)}.kbq-icon-button.kbq-theme.kbq-disabled{color:var(--kbq-icon-button-theme-states-disabled)}.kbq-icon-button.kbq-contrast{color:var(--kbq-icon-button-contrast-default)}.kbq-icon-button.kbq-contrast:hover{color:var(--kbq-icon-button-contrast-states-hover)}.kbq-icon-button.kbq-contrast:active,.kbq-icon-button.kbq-contrast.kbq-active{color:var(--kbq-icon-button-contrast-states-active)}.kbq-icon-button.kbq-contrast.kbq-disabled{color:var(--kbq-icon-button-contrast-states-disabled)}.kbq-icon-button.kbq-contrast-fade{color:var(--kbq-icon-button-fade-contrast-default)}.kbq-icon-button.kbq-contrast-fade:hover{color:var(--kbq-icon-button-fade-contrast-states-hover)}.kbq-icon-button.kbq-contrast-fade:active,.kbq-icon-button.kbq-contrast-fade.kbq-active{color:var(--kbq-icon-button-fade-contrast-states-active)}.kbq-icon-button.kbq-contrast-fade.kbq-disabled{color:var(--kbq-icon-button-fade-contrast-states-disabled)}.kbq-icon-button.kbq-error{color:var(--kbq-icon-button-error-default)}.kbq-icon-button.kbq-error:hover{color:var(--kbq-icon-button-error-states-hover)}.kbq-icon-button.kbq-error:active,.kbq-icon-button.kbq-error.kbq-active{color:var(--kbq-icon-button-error-states-active)}.kbq-icon-button.kbq-error.kbq-disabled{color:var(--kbq-icon-button-error-states-disabled)}.kbq-icon-button.kbq-success{color:var(--kbq-icon-button-success-default)}.kbq-icon-button.kbq-success:hover{color:var(--kbq-icon-button-success-states-hover)}.kbq-icon-button.kbq-success:active,.kbq-icon-button.kbq-success.kbq-active{color:var(--kbq-icon-button-success-states-active)}.kbq-icon-button.kbq-success.kbq-disabled{color:var(--kbq-icon-button-success-states-disabled)}.kbq-icon-button.kbq-warning{color:var(--kbq-icon-button-warning-default)}.kbq-icon-button.kbq-warning:hover{color:var(--kbq-icon-button-warning-states-hover)}.kbq-icon-button.kbq-warning:active,.kbq-icon-button.kbq-warning.kbq-active{color:var(--kbq-icon-button-warning-states-active)}.kbq-icon-button.kbq-warning.kbq-disabled{color:var(--kbq-icon-button-warning-states-disabled)}.kbq-icon-button.cdk-keyboard-focused{box-shadow:inset 0 0 0 1px var(--kbq-states-line-focus-theme),0 0 0 1px var(--kbq-states-line-focus-theme)}.kbq-icon-button.cdk-keyboard-focused.kbq-error{box-shadow:inset 0 0 0 1px var(--kbq-states-line-focus-error),0 0 0 1px var(--kbq-states-line-focus-error)}\n", ".kbq-icon-button{--kbq-icon-button-size-horizontal-padding: var(--kbq-size-s);--kbq-icon-button-size-left-icon-padding: var(--kbq-size-xs);--kbq-icon-button-size-normal-horizontal-padding: 0;--kbq-icon-button-size-normal-vertical-padding: 0;--kbq-icon-button-size-small-horizontal-padding: var(--kbq-size-xxs);--kbq-icon-button-size-small-vertical-padding: var(--kbq-size-xxs);--kbq-icon-button-theme-default: var(--kbq-icon-theme);--kbq-icon-button-theme-states-hover: var(--kbq-states-icon-theme-hover);--kbq-icon-button-theme-states-active: var(--kbq-states-icon-theme-active);--kbq-icon-button-theme-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-contrast-default: var(--kbq-icon-contrast);--kbq-icon-button-contrast-states-hover: var(--kbq-states-icon-contrast-hover);--kbq-icon-button-contrast-states-active: var(--kbq-states-icon-contrast-active);--kbq-icon-button-contrast-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-fade-contrast-default: var(--kbq-icon-contrast-fade);--kbq-icon-button-fade-contrast-states-hover: var(--kbq-states-icon-contrast-fade-hover);--kbq-icon-button-fade-contrast-states-active: var(--kbq-states-icon-contrast-fade-active);--kbq-icon-button-fade-contrast-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-error-default: var(--kbq-icon-error);--kbq-icon-button-error-states-hover: var(--kbq-states-icon-error-hover);--kbq-icon-button-error-states-active: var(--kbq-states-icon-error-active);--kbq-icon-button-error-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-success-default: var(--kbq-icon-success);--kbq-icon-button-success-states-hover: var(--kbq-states-icon-success-hover);--kbq-icon-button-success-states-active: var(--kbq-states-icon-success-active);--kbq-icon-button-success-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-warning-default: var(--kbq-icon-warning);--kbq-icon-button-warning-states-hover: var(--kbq-states-icon-warning-hover);--kbq-icon-button-warning-states-active: var(--kbq-states-icon-warning-active);--kbq-icon-button-warning-states-disabled: var(--kbq-states-icon-disabled)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
95
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconButton, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
96
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: KbqIconButton, isStandalone: true, selector: "[kbq-icon-button]", inputs: { small: "small", iconName: ["kbq-icon-button", "iconName"], tabindex: "tabindex", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.tabindex": "tabindex", "attr.disabled": "disabled", "class.kbq-disabled": "disabled", "class.kbq-icon-button_small": "small" }, classAttribute: "kbq kbq-icon-button" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-button{padding:var(--kbq-icon-button-size-normal-vertical-padding) var(--kbq-icon-button-size-normal-horizontal-padding)}.kbq-icon-button:not(.kbq-disabled){cursor:pointer}.kbq-icon-button.kbq-disabled:not(button){pointer-events:none}.kbq-icon-button.kbq-icon-button_small{padding:var(--kbq-icon-button-size-small-vertical-padding) var(--kbq-icon-button-size-small-horizontal-padding)}.kbq-icon-button:focus{outline:none}.kbq-icon-button.kbq-theme{color:var(--kbq-icon-button-theme-default)}.kbq-icon-button.kbq-theme:hover{color:var(--kbq-icon-button-theme-states-hover)}.kbq-icon-button.kbq-theme:active,.kbq-icon-button.kbq-theme.kbq-active{color:var(--kbq-icon-button-theme-states-active)}.kbq-icon-button.kbq-theme.kbq-disabled{color:var(--kbq-icon-button-theme-states-disabled)}.kbq-icon-button.kbq-contrast{color:var(--kbq-icon-button-contrast-default)}.kbq-icon-button.kbq-contrast:hover{color:var(--kbq-icon-button-contrast-states-hover)}.kbq-icon-button.kbq-contrast:active,.kbq-icon-button.kbq-contrast.kbq-active{color:var(--kbq-icon-button-contrast-states-active)}.kbq-icon-button.kbq-contrast.kbq-disabled{color:var(--kbq-icon-button-contrast-states-disabled)}.kbq-icon-button.kbq-contrast-fade{color:var(--kbq-icon-button-fade-contrast-default)}.kbq-icon-button.kbq-contrast-fade:hover{color:var(--kbq-icon-button-fade-contrast-states-hover)}.kbq-icon-button.kbq-contrast-fade:active,.kbq-icon-button.kbq-contrast-fade.kbq-active{color:var(--kbq-icon-button-fade-contrast-states-active)}.kbq-icon-button.kbq-contrast-fade.kbq-disabled{color:var(--kbq-icon-button-fade-contrast-states-disabled)}.kbq-icon-button.kbq-error{color:var(--kbq-icon-button-error-default)}.kbq-icon-button.kbq-error:hover{color:var(--kbq-icon-button-error-states-hover)}.kbq-icon-button.kbq-error:active,.kbq-icon-button.kbq-error.kbq-active{color:var(--kbq-icon-button-error-states-active)}.kbq-icon-button.kbq-error.kbq-disabled{color:var(--kbq-icon-button-error-states-disabled)}.kbq-icon-button.kbq-success{color:var(--kbq-icon-button-success-default)}.kbq-icon-button.kbq-success:hover{color:var(--kbq-icon-button-success-states-hover)}.kbq-icon-button.kbq-success:active,.kbq-icon-button.kbq-success.kbq-active{color:var(--kbq-icon-button-success-states-active)}.kbq-icon-button.kbq-success.kbq-disabled{color:var(--kbq-icon-button-success-states-disabled)}.kbq-icon-button.kbq-warning{color:var(--kbq-icon-button-warning-default)}.kbq-icon-button.kbq-warning:hover{color:var(--kbq-icon-button-warning-states-hover)}.kbq-icon-button.kbq-warning:active,.kbq-icon-button.kbq-warning.kbq-active{color:var(--kbq-icon-button-warning-states-active)}.kbq-icon-button.kbq-warning.kbq-disabled{color:var(--kbq-icon-button-warning-states-disabled)}.kbq-icon-button.cdk-keyboard-focused{box-shadow:inset 0 0 0 1px var(--kbq-states-line-focus-theme),0 0 0 1px var(--kbq-states-line-focus-theme)}.kbq-icon-button.cdk-keyboard-focused.kbq-error{box-shadow:inset 0 0 0 1px var(--kbq-states-line-focus-error),0 0 0 1px var(--kbq-states-line-focus-error)}\n", ".kbq-icon-button{--kbq-icon-button-size-horizontal-padding: var(--kbq-size-s);--kbq-icon-button-size-left-icon-padding: var(--kbq-size-xs);--kbq-icon-button-size-normal-horizontal-padding: 0;--kbq-icon-button-size-normal-vertical-padding: 0;--kbq-icon-button-size-small-horizontal-padding: var(--kbq-size-xxs);--kbq-icon-button-size-small-vertical-padding: var(--kbq-size-xxs);--kbq-icon-button-theme-default: var(--kbq-icon-theme);--kbq-icon-button-theme-states-hover: var(--kbq-states-icon-theme-hover);--kbq-icon-button-theme-states-active: var(--kbq-states-icon-theme-active);--kbq-icon-button-theme-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-contrast-default: var(--kbq-icon-contrast);--kbq-icon-button-contrast-states-hover: var(--kbq-states-icon-contrast-hover);--kbq-icon-button-contrast-states-active: var(--kbq-states-icon-contrast-active);--kbq-icon-button-contrast-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-fade-contrast-default: var(--kbq-icon-contrast-fade);--kbq-icon-button-fade-contrast-states-hover: var(--kbq-states-icon-contrast-fade-hover);--kbq-icon-button-fade-contrast-states-active: var(--kbq-states-icon-contrast-fade-active);--kbq-icon-button-fade-contrast-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-error-default: var(--kbq-icon-error);--kbq-icon-button-error-states-hover: var(--kbq-states-icon-error-hover);--kbq-icon-button-error-states-active: var(--kbq-states-icon-error-active);--kbq-icon-button-error-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-success-default: var(--kbq-icon-success);--kbq-icon-button-success-states-hover: var(--kbq-states-icon-success-hover);--kbq-icon-button-success-states-active: var(--kbq-states-icon-success-active);--kbq-icon-button-success-states-disabled: var(--kbq-states-icon-disabled);--kbq-icon-button-warning-default: var(--kbq-icon-warning);--kbq-icon-button-warning-states-hover: var(--kbq-states-icon-warning-hover);--kbq-icon-button-warning-states-active: var(--kbq-states-icon-warning-active);--kbq-icon-button-warning-states-disabled: var(--kbq-states-icon-disabled)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconButton, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconButton, decorators: [{
99
99
  type: Component,
100
100
  args: [{ standalone: true, selector: `[kbq-icon-button]`, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
101
101
  class: 'kbq kbq-icon-button',
@@ -123,10 +123,10 @@ class KbqIconItem extends KbqIcon {
123
123
  this.fade = false;
124
124
  this.big = false;
125
125
  }
126
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
127
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KbqIconItem, isStandalone: true, selector: "[kbq-icon-item]", inputs: { iconName: ["kbq-icon-item", "iconName"], fade: "fade", big: "big" }, host: { properties: { "class.kbq-icon-item_normal": "!big", "class.kbq-icon-item_big": "big", "class.kbq-icon-item_fade-off": "!fade", "class.kbq-icon-item_fade-on": "fade" }, classAttribute: "kbq kbq-icon-item kbq-icon-item_filled" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-item{box-sizing:border-box;border-radius:50%}.kbq-icon-item.kbq-icon-item_normal{padding:var(--kbq-icon-item-size-normal-vertical-padding) var(--kbq-icon-item-size-normal-horizontal-padding)}.kbq-icon-item.kbq-icon-item_big{padding:var(--kbq-icon-item-size-big-vertical-padding) var(--kbq-icon-item-size-big-horizontal-padding)}.kbq-icon-item.kbq-icon-item_filled{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-theme{color:var(--kbq-icon-item-filled-fade-off-theme-color);background:var(--kbq-icon-item-filled-fade-off-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-contrast{color:var(--kbq-icon-item-filled-fade-off-contrast-color);background:var(--kbq-icon-item-filled-fade-off-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-error{color:var(--kbq-icon-item-filled-fade-off-error-color);background:var(--kbq-icon-item-filled-fade-off-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-warning{color:var(--kbq-icon-item-filled-fade-off-warning-color);background:var(--kbq-icon-item-filled-fade-off-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-success{color:var(--kbq-icon-item-filled-fade-off-success-color);background:var(--kbq-icon-item-filled-fade-off-success-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-theme{color:var(--kbq-icon-item-filled-fade-on-theme-color);background:var(--kbq-icon-item-filled-fade-on-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-contrast{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-error{color:var(--kbq-icon-item-filled-fade-on-error-color);background:var(--kbq-icon-item-filled-fade-on-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-warning{color:var(--kbq-icon-item-filled-fade-on-warning-color);background:var(--kbq-icon-item-filled-fade-on-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-success{color:var(--kbq-icon-item-filled-fade-on-success-color);background:var(--kbq-icon-item-filled-fade-on-success-background)}\n", ".kbq-icon-item{--kbq-icon-item-size-normal-horizontal-padding: var(--kbq-size-s);--kbq-icon-item-size-normal-vertical-padding: var(--kbq-size-s);--kbq-icon-item-size-big-horizontal-padding: var(--kbq-size-l);--kbq-icon-item-size-big-vertical-padding: var(--kbq-size-l);--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
127
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqIconItem, isStandalone: true, selector: "[kbq-icon-item]", inputs: { iconName: ["kbq-icon-item", "iconName"], fade: "fade", big: "big" }, host: { properties: { "class.kbq-icon-item_normal": "!big", "class.kbq-icon-item_big": "big", "class.kbq-icon-item_fade-off": "!fade", "class.kbq-icon-item_fade-on": "fade" }, classAttribute: "kbq kbq-icon-item kbq-icon-item_filled" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-item{box-sizing:border-box;border-radius:50%}.kbq-icon-item.kbq-icon-item_normal{padding:var(--kbq-icon-item-size-normal-vertical-padding) var(--kbq-icon-item-size-normal-horizontal-padding)}.kbq-icon-item.kbq-icon-item_big{padding:var(--kbq-icon-item-size-big-vertical-padding) var(--kbq-icon-item-size-big-horizontal-padding)}.kbq-icon-item.kbq-icon-item_filled{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-theme{color:var(--kbq-icon-item-filled-fade-off-theme-color);background:var(--kbq-icon-item-filled-fade-off-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-contrast{color:var(--kbq-icon-item-filled-fade-off-contrast-color);background:var(--kbq-icon-item-filled-fade-off-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-error{color:var(--kbq-icon-item-filled-fade-off-error-color);background:var(--kbq-icon-item-filled-fade-off-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-warning{color:var(--kbq-icon-item-filled-fade-off-warning-color);background:var(--kbq-icon-item-filled-fade-off-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-success{color:var(--kbq-icon-item-filled-fade-off-success-color);background:var(--kbq-icon-item-filled-fade-off-success-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-theme{color:var(--kbq-icon-item-filled-fade-on-theme-color);background:var(--kbq-icon-item-filled-fade-on-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-contrast{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-error{color:var(--kbq-icon-item-filled-fade-on-error-color);background:var(--kbq-icon-item-filled-fade-on-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-warning{color:var(--kbq-icon-item-filled-fade-on-warning-color);background:var(--kbq-icon-item-filled-fade-on-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-success{color:var(--kbq-icon-item-filled-fade-on-success-color);background:var(--kbq-icon-item-filled-fade-on-success-background)}\n", ".kbq-icon-item{--kbq-icon-item-size-normal-horizontal-padding: var(--kbq-size-s);--kbq-icon-item-size-normal-vertical-padding: var(--kbq-size-s);--kbq-icon-item-size-big-horizontal-padding: var(--kbq-size-l);--kbq-icon-item-size-big-vertical-padding: var(--kbq-size-l);--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconItem, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconItem, decorators: [{
130
130
  type: Component,
131
131
  args: [{ standalone: true, selector: `[kbq-icon-item]`, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
132
132
  class: 'kbq kbq-icon-item kbq-icon-item_filled',
@@ -150,15 +150,15 @@ const COMPONENTS = [
150
150
  KbqIconItem
151
151
  ];
152
152
  class KbqIconModule {
153
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
154
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqIconModule, imports: [KbqIcon,
153
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
154
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqIconModule, imports: [KbqIcon,
155
155
  KbqIconButton,
156
156
  KbqIconItem], exports: [KbqIcon,
157
157
  KbqIconButton,
158
158
  KbqIconItem] }); }
159
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconModule }); }
159
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconModule }); }
160
160
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqIconModule, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqIconModule, decorators: [{
162
162
  type: NgModule,
163
163
  args: [{
164
164
  imports: COMPONENTS,