@koobiq/components 18.39.0 → 19.1.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 (912) hide show
  1. package/accordion/accordion-content.d.ts +2 -2
  2. package/accordion/accordion-content.directive.d.ts +11 -0
  3. package/accordion/accordion-header.d.ts +2 -2
  4. package/accordion/accordion-header.directive.d.ts +7 -0
  5. package/accordion/accordion-item.d.ts +2 -2
  6. package/accordion/accordion-item.directive.d.ts +72 -0
  7. package/accordion/accordion-root.directive.d.ts +64 -0
  8. package/accordion/accordion-trigger.component.d.ts +2 -2
  9. package/accordion/accordion-trigger.directive.d.ts +13 -0
  10. package/accordion/accordion.component.d.ts +2 -4
  11. package/accordion/accordion.module.d.ts +7 -7
  12. package/accordion/public-api.d.ts +5 -0
  13. package/alert/_alert-theme.scss +4 -16
  14. package/alert/alert-tokens.scss +6 -12
  15. package/alert/alert.component.d.ts +5 -12
  16. package/alert/alert.module.d.ts +4 -4
  17. package/app-switcher/app-switcher.d.ts +8 -7
  18. package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
  19. package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
  20. package/autocomplete/autocomplete.component.d.ts +1 -1
  21. package/autocomplete/autocomplete.module.d.ts +7 -7
  22. package/badge/badge.component.d.ts +3 -3
  23. package/badge/badge.module.d.ts +4 -4
  24. package/breadcrumbs/breadcrumbs.d.ts +3 -2
  25. package/breadcrumbs/public-api.d.ts +2 -0
  26. package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
  27. package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
  28. package/breadcrumbs/utils.d.ts +19 -0
  29. package/button/button.component.d.ts +2 -2
  30. package/button/button.module.d.ts +6 -6
  31. package/button-toggle/_button-toggle-theme.scss +30 -27
  32. package/button-toggle/button-toggle.component.d.ts +2 -2
  33. package/button-toggle/button-toggle.module.d.ts +4 -4
  34. package/button-toggle/button-toggle.scss +2 -2
  35. package/checkbox/checkbox-module.d.ts +4 -4
  36. package/checkbox/checkbox-required-validator.d.ts +1 -1
  37. package/checkbox/checkbox.d.ts +1 -1
  38. package/checkbox/checkbox.scss +5 -21
  39. package/code-block/code-block.scss +2 -2
  40. package/core/common-behaviors/index.d.ts +0 -1
  41. package/core/formatters/date/formatter.pipe.d.ts +13 -0
  42. package/core/formatters/index.d.ts +4 -4
  43. package/core/formatters/number/formatter.d.ts +3 -3
  44. package/core/forms/forms-module.d.ts +1 -1
  45. package/core/forms/forms.directive.d.ts +2 -2
  46. package/core/highlight/highlight.pipe.d.ts +1 -1
  47. package/core/highlight/index.d.ts +3 -3
  48. package/core/line/line.d.ts +1 -6
  49. package/core/locales/en-US.d.ts +8 -0
  50. package/core/locales/es-LA.d.ts +8 -0
  51. package/core/locales/locale-service.d.ts +40 -0
  52. package/core/locales/pt-BR.d.ts +8 -0
  53. package/core/locales/ru-RU.d.ts +8 -0
  54. package/core/locales/tk-TM.d.ts +8 -0
  55. package/core/locales/types.d.ts +21 -0
  56. package/core/option/_option-theme.scss +5 -2
  57. package/core/option/action.d.ts +1 -1
  58. package/core/option/optgroup.d.ts +1 -1
  59. package/core/option/option-module.d.ts +5 -5
  60. package/core/option/option.d.ts +5 -1
  61. package/core/pop-up/constants.d.ts +4 -0
  62. package/core/pop-up/pop-up-trigger.d.ts +5 -5
  63. package/core/pop-up/pop-up.d.ts +1 -1
  64. package/core/select/common.d.ts +1 -1
  65. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  66. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
  67. package/core/styles/common/_select.scss +1 -1
  68. package/core/styles/common/_visually-hidden.scss +1 -0
  69. package/core/styles/theming/_scrollbar-theme.scss +19 -12
  70. package/core/utils/utils.d.ts +3 -0
  71. package/datepicker/calendar-body.component.d.ts +1 -1
  72. package/datepicker/calendar-header.component.d.ts +1 -1
  73. package/datepicker/calendar.component.d.ts +1 -1
  74. package/datepicker/datepicker-input.directive.d.ts +2 -2
  75. package/datepicker/datepicker-module.d.ts +15 -15
  76. package/datepicker/datepicker-toggle.component.d.ts +2 -2
  77. package/datepicker/datepicker.component.d.ts +2 -2
  78. package/datepicker/month-view.component.d.ts +1 -1
  79. package/divider/divider.component.d.ts +5 -1
  80. package/divider/divider.module.d.ts +3 -3
  81. package/dl/dl.component.d.ts +3 -3
  82. package/dl/dl.module.d.ts +4 -4
  83. package/dropdown/dropdown-content.directive.d.ts +1 -1
  84. package/dropdown/dropdown-item.component.d.ts +1 -1
  85. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  86. package/dropdown/dropdown.component.d.ts +1 -1
  87. package/dropdown/dropdown.module.d.ts +8 -8
  88. package/dropdown/dropdown.scss +1 -0
  89. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
  90. package/empty-state/empty-state.component.d.ts +5 -5
  91. package/empty-state/empty-state.module.d.ts +4 -4
  92. package/fesm2022/koobiq-components-accordion.mjs +459 -40
  93. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
  95. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-alert.mjs +28 -36
  97. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-app-switcher.mjs +66 -66
  99. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
  101. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-badge.mjs +20 -21
  103. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
  105. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
  107. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-button.mjs +25 -26
  109. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-checkbox.mjs +18 -16
  111. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
  113. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-code-block.mjs +15 -16
  115. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-content-panel.mjs +55 -57
  117. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-core.mjs +379 -367
  119. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-datepicker.mjs +107 -91
  121. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-divider.mjs +16 -14
  123. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-dl.mjs +19 -20
  125. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-dropdown.mjs +47 -48
  127. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
  129. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
  131. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-empty-state.mjs +26 -27
  133. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-file-upload.mjs +402 -152
  135. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-filter-bar.mjs +293 -258
  137. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-form-field.mjs +84 -92
  139. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-icon.mjs +18 -18
  141. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
  143. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-input.mjs +31 -30
  145. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-link.mjs +11 -10
  147. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-list.mjs +47 -45
  149. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
  151. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-markdown.mjs +14 -14
  153. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-modal.mjs +76 -64
  155. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
  157. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-navbar.mjs +77 -66
  159. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-notification-center.mjs +31 -32
  161. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
  163. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-popover.mjs +55 -46
  165. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
  167. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-progress-spinner.mjs +22 -23
  169. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-radio.mjs +20 -16
  171. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-resizer.mjs +10 -12
  173. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-risk-level.mjs +19 -12
  175. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
  177. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
  179. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-select.mjs +113 -74
  181. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-sidebar.mjs +16 -23
  183. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
  185. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-split-button.mjs +12 -12
  187. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-splitter.mjs +24 -25
  189. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-table.mjs +17 -18
  191. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tabs.mjs +85 -89
  193. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-tags.mjs +43 -47
  195. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-textarea.mjs +10 -11
  197. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-time-range.mjs +38 -40
  199. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-timepicker.mjs +68 -18
  201. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-timezone.mjs +68 -59
  203. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-title.mjs +23 -11
  205. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-toast.mjs +23 -24
  207. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-toggle.mjs +16 -14
  209. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-tooltip.mjs +20 -23
  211. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-top-bar.mjs +18 -20
  213. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-tree-select.mjs +81 -70
  215. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-tree.mjs +77 -66
  217. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-username.mjs +31 -37
  219. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  220. package/file-upload/file-upload.d.ts +33 -3
  221. package/file-upload/file-upload.module.d.ts +15 -15
  222. package/file-upload/multiple-file-upload.component.d.ts +25 -34
  223. package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
  224. package/file-upload/primitives/file-picker.d.ts +82 -0
  225. package/file-upload/primitives/index.d.ts +2 -0
  226. package/file-upload/public-api.d.ts +2 -1
  227. package/file-upload/single-file-upload.component.d.ts +25 -18
  228. package/filter-bar/pipes/pipe-multi-select.d.ts +4 -1
  229. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -0
  230. package/icon/_icon-button-theme.scss +2 -1
  231. package/inline-edit/inline-edit.d.ts +2 -3
  232. package/input/_input-theme.scss +2 -1
  233. package/input/input-number-validators.d.ts +2 -2
  234. package/input/input-number.d.ts +1 -1
  235. package/input/input-password.d.ts +1 -1
  236. package/input/input.d.ts +2 -2
  237. package/input/input.module.d.ts +8 -8
  238. package/link/_link-theme.scss +3 -0
  239. package/link/link.component.d.ts +1 -1
  240. package/link/link.module.d.ts +3 -3
  241. package/list/_list-theme.scss +6 -0
  242. package/list/list-selection.component.d.ts +3 -3
  243. package/list/list.component.d.ts +2 -2
  244. package/list/list.module.d.ts +6 -6
  245. package/list/list.scss +1 -0
  246. package/loader-overlay/loader-overlay.component.d.ts +4 -4
  247. package/loader-overlay/loader-overlay.module.d.ts +5 -5
  248. package/loader-overlay/loader-overlay.scss +22 -31
  249. package/modal/css-unit.pipe.d.ts +1 -1
  250. package/modal/modal.component.d.ts +1 -1
  251. package/modal/modal.directive.d.ts +4 -4
  252. package/modal/modal.module.d.ts +10 -10
  253. package/modal/modal.scss +1 -1
  254. package/modal/modal.service.d.ts +1 -1
  255. package/navbar/_navbar-theme.scss +1 -0
  256. package/navbar/navbar-brand.component.d.ts +1 -1
  257. package/navbar/navbar-item.component.d.ts +7 -7
  258. package/navbar/navbar-toggle.component.d.ts +1 -1
  259. package/navbar/navbar-toggle.scss +1 -1
  260. package/navbar/navbar.component.d.ts +4 -4
  261. package/navbar/navbar.module.d.ts +10 -10
  262. package/navbar/vertical-navbar.component.d.ts +1 -1
  263. package/navbar/vertical-navbar.scss +5 -2
  264. package/navbar-ic/navbar-ic-header.d.ts +3 -0
  265. package/navbar-ic/navbar-ic-item.d.ts +18 -0
  266. package/navbar-ic/navbar-ic.d.ts +13 -7
  267. package/notification-center/notification-center.d.ts +5 -5
  268. package/overflow-items/overflow-items.d.ts +1 -1
  269. package/package.json +11 -142
  270. package/popover/_popover-theme.scss +2 -2
  271. package/popover/popover-confirm.component.d.ts +2 -2
  272. package/popover/popover.component.d.ts +9 -9
  273. package/popover/popover.module.d.ts +9 -9
  274. package/prebuilt-themes/dark-theme.css +1 -1
  275. package/prebuilt-themes/light-theme.css +1 -1
  276. package/prebuilt-themes/theme.css +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +3 -3
  278. package/progress-bar/progress-bar.module.d.ts +3 -3
  279. package/progress-spinner/_progress-spinner-theme.scss +14 -4
  280. package/progress-spinner/progress-spinner-tokens.scss +2 -0
  281. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  282. package/progress-spinner/progress-spinner.module.d.ts +4 -4
  283. package/progress-spinner/progress-spinner.scss +1 -0
  284. package/radio/_radio-theme.scss +2 -1
  285. package/radio/radio-tokens.scss +1 -0
  286. package/radio/radio.component.d.ts +10 -5
  287. package/radio/radio.module.d.ts +3 -3
  288. package/risk-level/risk-level.component.d.ts +4 -1
  289. package/risk-level/risk-level.module.d.ts +7 -4
  290. package/schematics/migrations/icons-replacement/README.md +5 -1
  291. package/schematics/migrations/icons-replacement/index.js +1 -1
  292. package/schematics/migrations/new-icons-pack/README.md +52 -4
  293. package/schematics/migrations/new-icons-pack/data.js +1142 -1142
  294. package/schematics/migrations/new-icons-pack/index.js +18 -7
  295. package/schematics/migrations/new-icons-pack/migration.json +4570 -0
  296. package/schematics/migrations/new-icons-pack/replacement.json +18 -0
  297. package/schematics/migrations/new-icons-pack/schema.json +13 -0
  298. package/schematics/ng-add/index.js +6 -7
  299. package/scrollbar/_scrollbar-component-theme.scss +16 -14
  300. package/select/select-option.directive.d.ts +1 -1
  301. package/select/select.component.d.ts +6 -5
  302. package/select/select.module.d.ts +10 -10
  303. package/sidebar/sidebar.component.d.ts +3 -3
  304. package/sidebar/sidebar.module.d.ts +3 -3
  305. package/sidepanel/sidepanel-container.component.d.ts +1 -1
  306. package/sidepanel/sidepanel-directives.d.ts +5 -5
  307. package/sidepanel/sidepanel.module.d.ts +9 -9
  308. package/splitter/splitter.component.d.ts +4 -4
  309. package/splitter/splitter.module.d.ts +3 -3
  310. package/table/_table-theme.scss +1 -0
  311. package/table/table.component.d.ts +2 -2
  312. package/table/table.module.d.ts +4 -4
  313. package/tabs/paginated-tab-header.d.ts +1 -1
  314. package/tabs/tab-body.component.d.ts +2 -2
  315. package/tabs/tab-content.directive.d.ts +1 -1
  316. package/tabs/tab-group.component.d.ts +5 -5
  317. package/tabs/tab-header.component.d.ts +1 -1
  318. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  319. package/tabs/tab-label.directive.d.ts +1 -1
  320. package/tabs/tab.component.d.ts +3 -3
  321. package/tabs/tabs.module.d.ts +15 -15
  322. package/tags/tag-input.d.ts +1 -1
  323. package/tags/tag-list.component.d.ts +1 -1
  324. package/tags/tag.component.d.ts +4 -4
  325. package/tags/tag.module.d.ts +4 -4
  326. package/textarea/textarea.component.d.ts +1 -1
  327. package/textarea/textarea.module.d.ts +4 -4
  328. package/timepicker/timepicker.directive.d.ts +17 -7
  329. package/timepicker/timepicker.module.d.ts +5 -5
  330. package/timezone/cities-by-filter.pipe.d.ts +1 -1
  331. package/timezone/timezone-option.component.d.ts +1 -1
  332. package/timezone/timezone-option.directive.d.ts +1 -1
  333. package/timezone/timezone-select.component.d.ts +2 -2
  334. package/timezone/timezone.module.d.ts +15 -15
  335. package/timezone/utc-offset.pipe.d.ts +1 -1
  336. package/title/title.directive.d.ts +4 -1
  337. package/title/title.module.d.ts +3 -3
  338. package/toggle/toggle.component.d.ts +1 -1
  339. package/toggle/toggle.module.d.ts +3 -3
  340. package/tooltip/_tooltip-theme.scss +5 -6
  341. package/tooltip/tooltip.component.d.ts +3 -3
  342. package/tooltip/tooltip.scss +1 -0
  343. package/top-bar/top-bar.d.ts +1 -1
  344. package/tree/node.d.ts +1 -1
  345. package/tree/outlet.d.ts +1 -1
  346. package/tree/padding.directive.d.ts +1 -1
  347. package/tree/toggle.d.ts +3 -3
  348. package/tree/tree-base.d.ts +2 -2
  349. package/tree/tree-option.component.d.ts +1 -1
  350. package/tree/tree-option.scss +1 -1
  351. package/tree/tree-selection.component.d.ts +1 -1
  352. package/tree/tree.d.ts +1 -1
  353. package/tree/tree.module.d.ts +11 -11
  354. package/tree-select/tree-select.component.d.ts +2 -2
  355. package/tree-select/tree-select.module.d.ts +9 -9
  356. package/core/common-behaviors/focus-monitor.d.ts +0 -19
  357. package/esm2022/accordion/accordion-content.mjs +0 -19
  358. package/esm2022/accordion/accordion-header.mjs +0 -19
  359. package/esm2022/accordion/accordion-item.mjs +0 -25
  360. package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
  361. package/esm2022/accordion/accordion.component.mjs +0 -41
  362. package/esm2022/accordion/accordion.module.mjs +0 -44
  363. package/esm2022/accordion/index.mjs +0 -2
  364. package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
  365. package/esm2022/accordion/public-api.mjs +0 -7
  366. package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
  367. package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
  368. package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
  369. package/esm2022/actions-panel/actions-panel.mjs +0 -133
  370. package/esm2022/actions-panel/index.mjs +0 -6
  371. package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
  372. package/esm2022/actions-panel/module.mjs +0 -21
  373. package/esm2022/alert/alert.component.mjs +0 -124
  374. package/esm2022/alert/alert.module.mjs +0 -40
  375. package/esm2022/alert/index.mjs +0 -2
  376. package/esm2022/alert/koobiq-components-alert.mjs +0 -5
  377. package/esm2022/alert/public-api.mjs +0 -3
  378. package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
  379. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
  380. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
  381. package/esm2022/app-switcher/app-switcher.mjs +0 -446
  382. package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
  383. package/esm2022/app-switcher/index.mjs +0 -2
  384. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
  385. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
  386. package/esm2022/app-switcher/public-api.mjs +0 -7
  387. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
  388. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
  389. package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
  390. package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
  391. package/esm2022/autocomplete/index.mjs +0 -2
  392. package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
  393. package/esm2022/autocomplete/public-api.mjs +0 -5
  394. package/esm2022/badge/badge.component.mjs +0 -124
  395. package/esm2022/badge/badge.module.mjs +0 -36
  396. package/esm2022/badge/index.mjs +0 -2
  397. package/esm2022/badge/koobiq-components-badge.mjs +0 -5
  398. package/esm2022/badge/public-api.mjs +0 -3
  399. package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
  400. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
  401. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
  402. package/esm2022/breadcrumbs/index.mjs +0 -2
  403. package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
  404. package/esm2022/breadcrumbs/public-api.mjs +0 -4
  405. package/esm2022/button/button.component.mjs +0 -180
  406. package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
  407. package/esm2022/button/button.module.mjs +0 -41
  408. package/esm2022/button/index.mjs +0 -2
  409. package/esm2022/button/koobiq-components-button.mjs +0 -5
  410. package/esm2022/button/public-api.mjs +0 -4
  411. package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
  412. package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
  413. package/esm2022/button-toggle/index.mjs +0 -2
  414. package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
  415. package/esm2022/button-toggle/public-api.mjs +0 -3
  416. package/esm2022/checkbox/checkbox-config.mjs +0 -6
  417. package/esm2022/checkbox/checkbox-module.mjs +0 -19
  418. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
  419. package/esm2022/checkbox/checkbox.mjs +0 -295
  420. package/esm2022/checkbox/index.mjs +0 -2
  421. package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
  422. package/esm2022/checkbox/public-api.mjs +0 -5
  423. package/esm2022/clamped-text/clamped-text.mjs +0 -202
  424. package/esm2022/clamped-text/constants.mjs +0 -20
  425. package/esm2022/clamped-text/index.mjs +0 -4
  426. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
  427. package/esm2022/clamped-text/module.mjs +0 -19
  428. package/esm2022/code-block/code-block-highlight.mjs +0 -418
  429. package/esm2022/code-block/code-block.mjs +0 -440
  430. package/esm2022/code-block/code-block.module.mjs +0 -19
  431. package/esm2022/code-block/index.mjs +0 -2
  432. package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
  433. package/esm2022/code-block/public-api.mjs +0 -5
  434. package/esm2022/code-block/types.mjs +0 -2
  435. package/esm2022/content-panel/content-panel.mjs +0 -432
  436. package/esm2022/content-panel/index.mjs +0 -3
  437. package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
  438. package/esm2022/content-panel/module.mjs +0 -42
  439. package/esm2022/core/animation/animation.mjs +0 -39
  440. package/esm2022/core/animation/fade-animations.mjs +0 -9
  441. package/esm2022/core/animation/index.mjs +0 -4
  442. package/esm2022/core/animation/select-animations.mjs +0 -45
  443. package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
  444. package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
  445. package/esm2022/core/common-behaviors/color.mjs +0 -89
  446. package/esm2022/core/common-behaviors/common-module.mjs +0 -76
  447. package/esm2022/core/common-behaviors/constructor.mjs +0 -2
  448. package/esm2022/core/common-behaviors/disabled.mjs +0 -19
  449. package/esm2022/core/common-behaviors/error-state.mjs +0 -50
  450. package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
  451. package/esm2022/core/common-behaviors/hover.mjs +0 -34
  452. package/esm2022/core/common-behaviors/index.mjs +0 -14
  453. package/esm2022/core/common-behaviors/orientation.mjs +0 -2
  454. package/esm2022/core/common-behaviors/read-state.mjs +0 -33
  455. package/esm2022/core/common-behaviors/size.mjs +0 -2
  456. package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
  457. package/esm2022/core/datetime/date-adapter.mjs +0 -14
  458. package/esm2022/core/datetime/date-formats.mjs +0 -3
  459. package/esm2022/core/datetime/index.mjs +0 -3
  460. package/esm2022/core/error/error-state-matcher.mjs +0 -56
  461. package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
  462. package/esm2022/core/form-field/form-field-ref.mjs +0 -10
  463. package/esm2022/core/form-field/index.mjs +0 -3
  464. package/esm2022/core/formatters/date/formatter.mjs +0 -25
  465. package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
  466. package/esm2022/core/formatters/filesize/config.mjs +0 -32
  467. package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
  468. package/esm2022/core/formatters/filesize/index.mjs +0 -4
  469. package/esm2022/core/formatters/filesize/size.mjs +0 -65
  470. package/esm2022/core/formatters/index.mjs +0 -146
  471. package/esm2022/core/formatters/number/formatter.mjs +0 -347
  472. package/esm2022/core/forms/forms-module.mjs +0 -24
  473. package/esm2022/core/forms/forms.directive.mjs +0 -66
  474. package/esm2022/core/forms/index.mjs +0 -4
  475. package/esm2022/core/forms/validators.mjs +0 -184
  476. package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
  477. package/esm2022/core/highlight/index.mjs +0 -19
  478. package/esm2022/core/index.mjs +0 -2
  479. package/esm2022/core/koobiq-components-core.mjs +0 -5
  480. package/esm2022/core/line/line.mjs +0 -70
  481. package/esm2022/core/locales/en-US.mjs +0 -210
  482. package/esm2022/core/locales/es-LA.mjs +0 -209
  483. package/esm2022/core/locales/formatters.mjs +0 -193
  484. package/esm2022/core/locales/index.mjs +0 -10
  485. package/esm2022/core/locales/locale-service.mjs +0 -173
  486. package/esm2022/core/locales/locale-service.module.mjs +0 -19
  487. package/esm2022/core/locales/pt-BR.mjs +0 -209
  488. package/esm2022/core/locales/ru-RU.mjs +0 -224
  489. package/esm2022/core/locales/tk-TM.mjs +0 -210
  490. package/esm2022/core/locales/types.mjs +0 -2
  491. package/esm2022/core/navbar/index.mjs +0 -2
  492. package/esm2022/core/navbar/rectangle-item.mjs +0 -40
  493. package/esm2022/core/option/action-container.mjs +0 -23
  494. package/esm2022/core/option/action.mjs +0 -107
  495. package/esm2022/core/option/index.mjs +0 -6
  496. package/esm2022/core/option/optgroup.mjs +0 -37
  497. package/esm2022/core/option/option-module.mjs +0 -20
  498. package/esm2022/core/option/option.mjs +0 -322
  499. package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
  500. package/esm2022/core/pop-up/constants.mjs +0 -55
  501. package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
  502. package/esm2022/core/pop-up/index.mjs +0 -6
  503. package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
  504. package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
  505. package/esm2022/core/pop-up/pop-up.mjs +0 -152
  506. package/esm2022/core/public-api.mjs +0 -24
  507. package/esm2022/core/select/common.mjs +0 -203
  508. package/esm2022/core/select/constants.mjs +0 -25
  509. package/esm2022/core/select/errors.mjs +0 -26
  510. package/esm2022/core/select/events.mjs +0 -2
  511. package/esm2022/core/select/index.mjs +0 -5
  512. package/esm2022/core/selection/constants.mjs +0 -6
  513. package/esm2022/core/selection/index.mjs +0 -4
  514. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
  515. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
  516. package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
  517. package/esm2022/core/services/theme.service.mjs +0 -80
  518. package/esm2022/core/title/index.mjs +0 -2
  519. package/esm2022/core/title/title-text-ref.mjs +0 -3
  520. package/esm2022/core/tokens/index.mjs +0 -2
  521. package/esm2022/core/tokens/window.mjs +0 -19
  522. package/esm2022/core/utils/dom.mjs +0 -8
  523. package/esm2022/core/utils/index.mjs +0 -3
  524. package/esm2022/core/utils/public-api.mjs +0 -2
  525. package/esm2022/core/utils/utils.mjs +0 -31
  526. package/esm2022/core/validation/index.mjs +0 -2
  527. package/esm2022/core/validation/validation.mjs +0 -27
  528. package/esm2022/core/version.mjs +0 -3
  529. package/esm2022/datepicker/calendar-body.component.mjs +0 -87
  530. package/esm2022/datepicker/calendar-header.component.mjs +0 -164
  531. package/esm2022/datepicker/calendar.component.mjs +0 -185
  532. package/esm2022/datepicker/datepicker-animations.mjs +0 -32
  533. package/esm2022/datepicker/datepicker-errors.mjs +0 -6
  534. package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
  535. package/esm2022/datepicker/datepicker-intl.mjs +0 -40
  536. package/esm2022/datepicker/datepicker-module.mjs +0 -103
  537. package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
  538. package/esm2022/datepicker/datepicker.component.mjs +0 -388
  539. package/esm2022/datepicker/index.mjs +0 -2
  540. package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
  541. package/esm2022/datepicker/month-view.component.mjs +0 -148
  542. package/esm2022/datepicker/public-api.mjs +0 -11
  543. package/esm2022/divider/divider.component.mjs +0 -49
  544. package/esm2022/divider/divider.module.mjs +0 -18
  545. package/esm2022/divider/index.mjs +0 -2
  546. package/esm2022/divider/koobiq-components-divider.mjs +0 -5
  547. package/esm2022/divider/public-api.mjs +0 -3
  548. package/esm2022/dl/dl.component.mjs +0 -81
  549. package/esm2022/dl/dl.module.mjs +0 -36
  550. package/esm2022/dl/index.mjs +0 -2
  551. package/esm2022/dl/koobiq-components-dl.mjs +0 -5
  552. package/esm2022/dl/public-api.mjs +0 -3
  553. package/esm2022/dropdown/dropdown-animations.mjs +0 -41
  554. package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
  555. package/esm2022/dropdown/dropdown-errors.mjs +0 -29
  556. package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
  557. package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
  558. package/esm2022/dropdown/dropdown.component.mjs +0 -293
  559. package/esm2022/dropdown/dropdown.module.mjs +0 -51
  560. package/esm2022/dropdown/dropdown.types.mjs +0 -23
  561. package/esm2022/dropdown/index.mjs +0 -2
  562. package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
  563. package/esm2022/dropdown/public-api.mjs +0 -9
  564. package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
  565. package/esm2022/dynamic-translation/index.mjs +0 -3
  566. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
  567. package/esm2022/dynamic-translation/module.mjs +0 -25
  568. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
  569. package/esm2022/ellipsis-center/index.mjs +0 -2
  570. package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
  571. package/esm2022/ellipsis-center/public-api.mjs +0 -2
  572. package/esm2022/empty-state/empty-state.component.mjs +0 -109
  573. package/esm2022/empty-state/empty-state.module.mjs +0 -44
  574. package/esm2022/empty-state/index.mjs +0 -2
  575. package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
  576. package/esm2022/empty-state/public-api.mjs +0 -3
  577. package/esm2022/file-upload/file-drop.mjs +0 -87
  578. package/esm2022/file-upload/file-upload.mjs +0 -71
  579. package/esm2022/file-upload/file-upload.module.mjs +0 -79
  580. package/esm2022/file-upload/index.mjs +0 -2
  581. package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
  582. package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
  583. package/esm2022/file-upload/public-api.mjs +0 -6
  584. package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
  585. package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
  586. package/esm2022/filter-bar/filter-bar.mjs +0 -213
  587. package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
  588. package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
  589. package/esm2022/filter-bar/filter-refresher.mjs +0 -34
  590. package/esm2022/filter-bar/filter-reset.mjs +0 -49
  591. package/esm2022/filter-bar/filter-search.mjs +0 -173
  592. package/esm2022/filter-bar/filters.mjs +0 -266
  593. package/esm2022/filter-bar/index.mjs +0 -2
  594. package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
  595. package/esm2022/filter-bar/pipe-add.mjs +0 -140
  596. package/esm2022/filter-bar/pipe.directive.mjs +0 -37
  597. package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
  598. package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
  599. package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
  600. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
  601. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
  602. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
  603. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
  604. package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
  605. package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
  606. package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
  607. package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
  608. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
  609. package/esm2022/filter-bar/public-api.mjs +0 -22
  610. package/esm2022/form-field/cleaner.mjs +0 -28
  611. package/esm2022/form-field/error.mjs +0 -20
  612. package/esm2022/form-field/fieldset.mjs +0 -84
  613. package/esm2022/form-field/form-field-control.mjs +0 -4
  614. package/esm2022/form-field/form-field.mjs +0 -447
  615. package/esm2022/form-field/form-field.module.mjs +0 -87
  616. package/esm2022/form-field/hint.mjs +0 -36
  617. package/esm2022/form-field/index.mjs +0 -2
  618. package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
  619. package/esm2022/form-field/label.mjs +0 -19
  620. package/esm2022/form-field/password-hint.mjs +0 -165
  621. package/esm2022/form-field/password-toggle.mjs +0 -129
  622. package/esm2022/form-field/prefix.mjs +0 -19
  623. package/esm2022/form-field/public-api.mjs +0 -16
  624. package/esm2022/form-field/reactive-password-hint.mjs +0 -66
  625. package/esm2022/form-field/stepper.mjs +0 -144
  626. package/esm2022/form-field/suffix.mjs +0 -18
  627. package/esm2022/form-field/validate.directive.mjs +0 -190
  628. package/esm2022/icon/icon-button.component.mjs +0 -64
  629. package/esm2022/icon/icon-item.component.mjs +0 -31
  630. package/esm2022/icon/icon.component.mjs +0 -56
  631. package/esm2022/icon/icon.module.mjs +0 -27
  632. package/esm2022/icon/index.mjs +0 -2
  633. package/esm2022/icon/koobiq-components-icon.mjs +0 -5
  634. package/esm2022/icon/public-api.mjs +0 -5
  635. package/esm2022/index.mjs +0 -2
  636. package/esm2022/inline-edit/index.mjs +0 -3
  637. package/esm2022/inline-edit/inline-edit.mjs +0 -382
  638. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
  639. package/esm2022/inline-edit/module.mjs +0 -25
  640. package/esm2022/input/index.mjs +0 -2
  641. package/esm2022/input/input-errors.mjs +0 -4
  642. package/esm2022/input/input-number-validators.mjs +0 -88
  643. package/esm2022/input/input-number.mjs +0 -386
  644. package/esm2022/input/input-password.mjs +0 -253
  645. package/esm2022/input/input-value-accessor.mjs +0 -3
  646. package/esm2022/input/input.mjs +0 -299
  647. package/esm2022/input/input.module.mjs +0 -58
  648. package/esm2022/input/koobiq-components-input.mjs +0 -5
  649. package/esm2022/input/public-api.mjs +0 -7
  650. package/esm2022/koobiq-components.mjs +0 -5
  651. package/esm2022/link/index.mjs +0 -2
  652. package/esm2022/link/koobiq-components-link.mjs +0 -5
  653. package/esm2022/link/link.component.mjs +0 -143
  654. package/esm2022/link/link.module.mjs +0 -20
  655. package/esm2022/link/public-api.mjs +0 -3
  656. package/esm2022/list/index.mjs +0 -2
  657. package/esm2022/list/koobiq-components-list.mjs +0 -5
  658. package/esm2022/list/list-selection.component.mjs +0 -745
  659. package/esm2022/list/list.component.mjs +0 -43
  660. package/esm2022/list/list.module.mjs +0 -60
  661. package/esm2022/list/public-api.mjs +0 -4
  662. package/esm2022/loader-overlay/index.mjs +0 -2
  663. package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
  664. package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
  665. package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
  666. package/esm2022/loader-overlay/public-api.mjs +0 -3
  667. package/esm2022/markdown/index.mjs +0 -2
  668. package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
  669. package/esm2022/markdown/markdown.component.mjs +0 -67
  670. package/esm2022/markdown/markdown.module.mjs +0 -21
  671. package/esm2022/markdown/markdown.service.mjs +0 -36
  672. package/esm2022/markdown/markdown.values.mjs +0 -35
  673. package/esm2022/markdown/public-api.mjs +0 -5
  674. package/esm2022/modal/css-unit.pipe.mjs +0 -17
  675. package/esm2022/modal/index.mjs +0 -2
  676. package/esm2022/modal/koobiq-components-modal.mjs +0 -5
  677. package/esm2022/modal/modal-control.service.mjs +0 -89
  678. package/esm2022/modal/modal-ref.class.mjs +0 -7
  679. package/esm2022/modal/modal-util.mjs +0 -22
  680. package/esm2022/modal/modal.component.mjs +0 -540
  681. package/esm2022/modal/modal.directive.mjs +0 -94
  682. package/esm2022/modal/modal.module.mjs +0 -78
  683. package/esm2022/modal/modal.service.mjs +0 -135
  684. package/esm2022/modal/modal.type.mjs +0 -7
  685. package/esm2022/modal/public-api.mjs +0 -7
  686. package/esm2022/navbar/index.mjs +0 -2
  687. package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
  688. package/esm2022/navbar/navbar-brand.component.mjs +0 -105
  689. package/esm2022/navbar/navbar-item.component.mjs +0 -428
  690. package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
  691. package/esm2022/navbar/navbar.component.mjs +0 -251
  692. package/esm2022/navbar/navbar.module.mjs +0 -84
  693. package/esm2022/navbar/public-api.mjs +0 -7
  694. package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
  695. package/esm2022/navbar-ic/index.mjs +0 -2
  696. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
  697. package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
  698. package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
  699. package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
  700. package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
  701. package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
  702. package/esm2022/navbar-ic/public-api.mjs +0 -5
  703. package/esm2022/notification-center/index.mjs +0 -2
  704. package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
  705. package/esm2022/notification-center/notification-center-animations.mjs +0 -18
  706. package/esm2022/notification-center/notification-center.mjs +0 -329
  707. package/esm2022/notification-center/notification-center.module.mjs +0 -38
  708. package/esm2022/notification-center/notification-center.service.mjs +0 -127
  709. package/esm2022/notification-center/notification-item.mjs +0 -70
  710. package/esm2022/notification-center/public-api.mjs +0 -5
  711. package/esm2022/overflow-items/index.mjs +0 -3
  712. package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
  713. package/esm2022/overflow-items/module.mjs +0 -25
  714. package/esm2022/overflow-items/overflow-items.mjs +0 -290
  715. package/esm2022/popover/index.mjs +0 -2
  716. package/esm2022/popover/koobiq-components-popover.mjs +0 -5
  717. package/esm2022/popover/popover-animations.mjs +0 -16
  718. package/esm2022/popover/popover-confirm.component.mjs +0 -97
  719. package/esm2022/popover/popover.component.mjs +0 -410
  720. package/esm2022/popover/popover.module.mjs +0 -67
  721. package/esm2022/popover/public-api.mjs +0 -5
  722. package/esm2022/progress-bar/index.mjs +0 -2
  723. package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
  724. package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
  725. package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
  726. package/esm2022/progress-bar/public-api.mjs +0 -3
  727. package/esm2022/progress-spinner/index.mjs +0 -2
  728. package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
  729. package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
  730. package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
  731. package/esm2022/progress-spinner/public-api.mjs +0 -3
  732. package/esm2022/public-api.mjs +0 -2
  733. package/esm2022/radio/index.mjs +0 -2
  734. package/esm2022/radio/koobiq-components-radio.mjs +0 -5
  735. package/esm2022/radio/public-api.mjs +0 -3
  736. package/esm2022/radio/radio.component.mjs +0 -451
  737. package/esm2022/radio/radio.module.mjs +0 -18
  738. package/esm2022/resizer/index.mjs +0 -3
  739. package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
  740. package/esm2022/resizer/module.mjs +0 -17
  741. package/esm2022/resizer/resizer.mjs +0 -135
  742. package/esm2022/risk-level/index.mjs +0 -2
  743. package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
  744. package/esm2022/risk-level/public-api.mjs +0 -3
  745. package/esm2022/risk-level/risk-level.component.mjs +0 -40
  746. package/esm2022/risk-level/risk-level.module.mjs +0 -24
  747. package/esm2022/scrollbar/index.mjs +0 -2
  748. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
  749. package/esm2022/scrollbar/public-api.mjs +0 -5
  750. package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
  751. package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
  752. package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
  753. package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
  754. package/esm2022/search-expandable/index.mjs +0 -2
  755. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
  756. package/esm2022/search-expandable/public-api.mjs +0 -3
  757. package/esm2022/search-expandable/search-expandable.mjs +0 -177
  758. package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
  759. package/esm2022/select/index.mjs +0 -2
  760. package/esm2022/select/koobiq-components-select.mjs +0 -5
  761. package/esm2022/select/public-api.mjs +0 -4
  762. package/esm2022/select/select-option.directive.mjs +0 -69
  763. package/esm2022/select/select.component.mjs +0 -1154
  764. package/esm2022/select/select.module.mjs +0 -81
  765. package/esm2022/sidebar/index.mjs +0 -2
  766. package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
  767. package/esm2022/sidebar/public-api.mjs +0 -3
  768. package/esm2022/sidebar/sidebar-animations.mjs +0 -23
  769. package/esm2022/sidebar/sidebar.component.mjs +0 -169
  770. package/esm2022/sidebar/sidebar.module.mjs +0 -30
  771. package/esm2022/sidepanel/index.mjs +0 -2
  772. package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
  773. package/esm2022/sidepanel/public-api.mjs +0 -7
  774. package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
  775. package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
  776. package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
  777. package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
  778. package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
  779. package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
  780. package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
  781. package/esm2022/split-button/index.mjs +0 -2
  782. package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
  783. package/esm2022/split-button/public-api.mjs +0 -3
  784. package/esm2022/split-button/split-button.mjs +0 -133
  785. package/esm2022/split-button/split-button.module.mjs +0 -18
  786. package/esm2022/splitter/index.mjs +0 -2
  787. package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
  788. package/esm2022/splitter/public-api.mjs +0 -3
  789. package/esm2022/splitter/splitter.component.mjs +0 -492
  790. package/esm2022/splitter/splitter.module.mjs +0 -34
  791. package/esm2022/table/index.mjs +0 -2
  792. package/esm2022/table/koobiq-components-table.mjs +0 -5
  793. package/esm2022/table/public-api.mjs +0 -3
  794. package/esm2022/table/table.component.mjs +0 -36
  795. package/esm2022/table/table.module.mjs +0 -32
  796. package/esm2022/tabs/index.mjs +0 -2
  797. package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
  798. package/esm2022/tabs/paginated-tab-header.mjs +0 -490
  799. package/esm2022/tabs/public-api.mjs +0 -11
  800. package/esm2022/tabs/tab-body.component.mjs +0 -178
  801. package/esm2022/tabs/tab-content.directive.mjs +0 -15
  802. package/esm2022/tabs/tab-group.component.mjs +0 -384
  803. package/esm2022/tabs/tab-header.component.mjs +0 -60
  804. package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
  805. package/esm2022/tabs/tab-label.directive.mjs +0 -17
  806. package/esm2022/tabs/tab-nav-bar.mjs +0 -292
  807. package/esm2022/tabs/tab.component.mjs +0 -145
  808. package/esm2022/tabs/tabs-animations.mjs +0 -24
  809. package/esm2022/tabs/tabs.module.mjs +0 -95
  810. package/esm2022/tags/index.mjs +0 -2
  811. package/esm2022/tags/koobiq-components-tags.mjs +0 -5
  812. package/esm2022/tags/public-api.mjs +0 -6
  813. package/esm2022/tags/tag-default-options.mjs +0 -4
  814. package/esm2022/tags/tag-input.mjs +0 -281
  815. package/esm2022/tags/tag-list.component.mjs +0 -765
  816. package/esm2022/tags/tag-text-control.mjs +0 -2
  817. package/esm2022/tags/tag.component.mjs +0 -647
  818. package/esm2022/tags/tag.module.mjs +0 -67
  819. package/esm2022/textarea/index.mjs +0 -2
  820. package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
  821. package/esm2022/textarea/public-api.mjs +0 -3
  822. package/esm2022/textarea/textarea.component.mjs +0 -300
  823. package/esm2022/textarea/textarea.module.mjs +0 -20
  824. package/esm2022/time-range/constants.mjs +0 -42
  825. package/esm2022/time-range/index.mjs +0 -8
  826. package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
  827. package/esm2022/time-range/module.mjs +0 -36
  828. package/esm2022/time-range/time-range-editor.mjs +0 -224
  829. package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
  830. package/esm2022/time-range/time-range-title.mjs +0 -112
  831. package/esm2022/time-range/time-range.mjs +0 -234
  832. package/esm2022/time-range/time-range.service.mjs +0 -126
  833. package/esm2022/time-range/types.mjs +0 -2
  834. package/esm2022/timepicker/index.mjs +0 -2
  835. package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
  836. package/esm2022/timepicker/public-api.mjs +0 -4
  837. package/esm2022/timepicker/timepicker.constants.mjs +0 -29
  838. package/esm2022/timepicker/timepicker.directive.mjs +0 -686
  839. package/esm2022/timepicker/timepicker.module.mjs +0 -29
  840. package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
  841. package/esm2022/timezone/index.mjs +0 -2
  842. package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
  843. package/esm2022/timezone/public-api.mjs +0 -7
  844. package/esm2022/timezone/timezone-option.component.mjs +0 -50
  845. package/esm2022/timezone/timezone-option.directive.mjs +0 -54
  846. package/esm2022/timezone/timezone-select.component.mjs +0 -55
  847. package/esm2022/timezone/timezone.models.mjs +0 -2
  848. package/esm2022/timezone/timezone.module.mjs +0 -82
  849. package/esm2022/timezone/timezone.utils.mjs +0 -80
  850. package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
  851. package/esm2022/title/index.mjs +0 -2
  852. package/esm2022/title/koobiq-components-title.mjs +0 -5
  853. package/esm2022/title/public-api.mjs +0 -3
  854. package/esm2022/title/title.directive.mjs +0 -108
  855. package/esm2022/title/title.module.mjs +0 -18
  856. package/esm2022/toast/index.mjs +0 -2
  857. package/esm2022/toast/koobiq-components-toast.mjs +0 -5
  858. package/esm2022/toast/public-api.mjs +0 -6
  859. package/esm2022/toast/toast-animations.mjs +0 -10
  860. package/esm2022/toast/toast-container.component.mjs +0 -57
  861. package/esm2022/toast/toast.component.mjs +0 -125
  862. package/esm2022/toast/toast.module.mjs +0 -26
  863. package/esm2022/toast/toast.service.mjs +0 -197
  864. package/esm2022/toast/toast.type.mjs +0 -39
  865. package/esm2022/toggle/index.mjs +0 -2
  866. package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
  867. package/esm2022/toggle/public-api.mjs +0 -3
  868. package/esm2022/toggle/toggle.component.mjs +0 -254
  869. package/esm2022/toggle/toggle.module.mjs +0 -18
  870. package/esm2022/tooltip/index.mjs +0 -2
  871. package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
  872. package/esm2022/tooltip/public-api.mjs +0 -3
  873. package/esm2022/tooltip/tooltip.animations.mjs +0 -19
  874. package/esm2022/tooltip/tooltip.component.mjs +0 -400
  875. package/esm2022/tooltip/tooltip.module.mjs +0 -35
  876. package/esm2022/top-bar/index.mjs +0 -2
  877. package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
  878. package/esm2022/top-bar/module.mjs +0 -25
  879. package/esm2022/top-bar/public-api.mjs +0 -3
  880. package/esm2022/top-bar/top-bar.mjs +0 -74
  881. package/esm2022/tree/control/base-tree-control.mjs +0 -59
  882. package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
  883. package/esm2022/tree/control/flat-tree-control.mjs +0 -109
  884. package/esm2022/tree/control/nested-tree-control.mjs +0 -40
  885. package/esm2022/tree/control/tree-control.mjs +0 -2
  886. package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
  887. package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
  888. package/esm2022/tree/index.mjs +0 -2
  889. package/esm2022/tree/koobiq-components-tree.mjs +0 -5
  890. package/esm2022/tree/node.mjs +0 -31
  891. package/esm2022/tree/outlet.mjs +0 -15
  892. package/esm2022/tree/padding.directive.mjs +0 -108
  893. package/esm2022/tree/public-api.mjs +0 -17
  894. package/esm2022/tree/toggle.mjs +0 -93
  895. package/esm2022/tree/tree-base.mjs +0 -236
  896. package/esm2022/tree/tree-errors.mjs +0 -36
  897. package/esm2022/tree/tree-option.component.mjs +0 -303
  898. package/esm2022/tree/tree-selection.component.mjs +0 -568
  899. package/esm2022/tree/tree.mjs +0 -19
  900. package/esm2022/tree/tree.module.mjs +0 -64
  901. package/esm2022/tree-select/index.mjs +0 -2
  902. package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
  903. package/esm2022/tree-select/public-api.mjs +0 -3
  904. package/esm2022/tree-select/tree-select.component.mjs +0 -1034
  905. package/esm2022/tree-select/tree-select.module.mjs +0 -71
  906. package/esm2022/username/constants.mjs +0 -25
  907. package/esm2022/username/index.mjs +0 -6
  908. package/esm2022/username/koobiq-components-username.mjs +0 -5
  909. package/esm2022/username/module.mjs +0 -35
  910. package/esm2022/username/types.mjs +0 -32
  911. package/esm2022/username/username.mjs +0 -129
  912. package/esm2022/username/username.pipe.mjs +0 -92
@@ -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 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 { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { concatMap, fromEvent, interval, Subject, timer } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\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/**\n * Timeout duration when clicking the up/down arrow\n * @docs-private\n */\nexport const KBQ_STEPPER_INITIAL_TIMEOUT = 300;\n\n/**\n * Interval delay when clicking the up/down arrow\n * @docs-private\n */\nexport const KBQ_STEPPER_INTERVAL_DELAY = 75;\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 private readonly document = inject<Document>(DOCUMENT);\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 /** @docs-private */\n protected readonly mouseUp = new Subject<void>();\n\n /**\n * Timing observable simulating long press in native input-number.\n * - Value increases/decreases by step immediately.\n * - Brief pause (`300ms`)\n * - Numbers start running upward/downward with selected speed\n * (controlled by interval period)\n * @see KBQ_STEPPER_INTERVAL_DELAY\n * @see KBQ_STEPPER_INITIAL_TIMEOUT\n * @docs-private\n */\n private readonly longPress = timer(KBQ_STEPPER_INITIAL_TIMEOUT).pipe(\n concatMap(() => interval(KBQ_STEPPER_INTERVAL_DELAY)),\n takeUntilDestroyed(),\n takeUntil(this.mouseUp)\n );\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 /** @docs-private */\n onStepUp($event: MouseEvent): void {\n this.handleStep($event, this.stepUp);\n }\n\n /** @docs-private */\n onStepDown($event: MouseEvent): void {\n this.handleStep($event, this.stepDown);\n }\n\n private handleStep($event: MouseEvent, emitter: EventEmitter<void>): void {\n emitter.emit();\n // handle case when cursor is out of viewport.\n fromEvent(this.document, 'mouseup')\n .pipe(take(1))\n .subscribe(() => this.mouseUp.next());\n this.longPress.subscribe(() => emitter.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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"}
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 selector: 'kbq-cleaner',\n imports: [KbqIconModule],\n template: `\n <ng-content />\n `,\n styleUrls: ['cleaner.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqCleaner',\n host: {\n class: 'kbq-cleaner kbq kbq-circle-xmark_16'\n }\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 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 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 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 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 selector: 'kbq-fieldset',\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 styleUrls: ['./fieldset.scss', './fieldset-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-fieldset',\n role: 'group',\n '[attr.aria-label]': 'ariaLabel()'\n }\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 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 selector: 'kbq-password-hint',\n imports: [NgClass, KbqIconModule],\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 encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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';\n\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 selector: `kbq-password-toggle`,\n imports: [KbqIconModule, KbqToolTipModule],\n template: `\n <ng-content />\n `,\n styleUrls: ['password-toggle.scss', '../icon/icon-button.scss', '../icon/icon-button-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqPasswordToggle',\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 // 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 '(click)': 'toggle($event)',\n '(keydown.ENTER)': 'toggle($event)',\n '(keydown.SPACE)': 'toggle($event)'\n }\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 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 selector: 'kbq-reactive-password-hint',\n imports: [NgClass, KbqIconModule],\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 encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqReactivePasswordHint',\n host: {\n class: 'kbq-reactive-password-hint'\n }\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 { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KBQ_FORM_FIELD_REF } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { concatMap, fromEvent, interval, Subject, timer } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\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/**\n * Timeout duration when clicking the up/down arrow\n * @docs-private\n */\nexport const KBQ_STEPPER_INITIAL_TIMEOUT = 300;\n\n/**\n * Interval delay when clicking the up/down arrow\n * @docs-private\n */\nexport const KBQ_STEPPER_INTERVAL_DELAY = 75;\n\n/** Component which allow to increment or decrement number value. */\n@Component({\n selector: 'kbq-stepper',\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 encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqStepper',\n host: {\n class: 'kbq-stepper'\n }\n})\nexport class KbqStepper {\n private readonly formField = inject(KBQ_FORM_FIELD_REF, { optional: true });\n private readonly document = inject<Document>(DOCUMENT);\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 /** @docs-private */\n protected readonly mouseUp = new Subject<void>();\n\n /**\n * Timing observable simulating long press in native input-number.\n * - Value increases/decreases by step immediately.\n * - Brief pause (`300ms`)\n * - Numbers start running upward/downward with selected speed\n * (controlled by interval period)\n * @see KBQ_STEPPER_INTERVAL_DELAY\n * @see KBQ_STEPPER_INITIAL_TIMEOUT\n * @docs-private\n */\n private readonly longPress = timer(KBQ_STEPPER_INITIAL_TIMEOUT).pipe(\n concatMap(() => interval(KBQ_STEPPER_INTERVAL_DELAY)),\n takeUntilDestroyed(),\n takeUntil(this.mouseUp)\n );\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 /** @docs-private */\n onStepUp($event: MouseEvent): void {\n this.handleStep($event, this.stepUp);\n }\n\n /** @docs-private */\n onStepDown($event: MouseEvent): void {\n this.handleStep($event, this.stepDown);\n }\n\n private handleStep($event: MouseEvent, emitter: EventEmitter<void>): void {\n emitter.emit();\n // handle case when cursor is out of viewport.\n fromEvent(this.document, 'mouseup')\n .pipe(take(1))\n .subscribe(() => this.mouseUp.next());\n this.longPress.subscribe(() => emitter.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 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 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 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 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 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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"}