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