@koobiq/components 18.39.0 → 19.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/accordion/accordion-content.d.ts +2 -2
  2. package/accordion/accordion-content.directive.d.ts +11 -0
  3. package/accordion/accordion-header.d.ts +2 -2
  4. package/accordion/accordion-header.directive.d.ts +7 -0
  5. package/accordion/accordion-item.d.ts +2 -2
  6. package/accordion/accordion-item.directive.d.ts +72 -0
  7. package/accordion/accordion-root.directive.d.ts +64 -0
  8. package/accordion/accordion-trigger.component.d.ts +2 -2
  9. package/accordion/accordion-trigger.directive.d.ts +13 -0
  10. package/accordion/accordion.component.d.ts +2 -4
  11. package/accordion/accordion.module.d.ts +7 -7
  12. package/accordion/public-api.d.ts +5 -0
  13. package/alert/_alert-theme.scss +4 -16
  14. package/alert/alert-tokens.scss +6 -12
  15. package/alert/alert.component.d.ts +5 -12
  16. package/alert/alert.module.d.ts +4 -4
  17. package/app-switcher/app-switcher.d.ts +8 -7
  18. package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
  19. package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
  20. package/autocomplete/autocomplete.component.d.ts +1 -1
  21. package/autocomplete/autocomplete.module.d.ts +7 -7
  22. package/badge/badge.component.d.ts +3 -3
  23. package/badge/badge.module.d.ts +4 -4
  24. package/breadcrumbs/breadcrumbs.d.ts +3 -2
  25. package/breadcrumbs/public-api.d.ts +2 -0
  26. package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
  27. package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
  28. package/breadcrumbs/utils.d.ts +19 -0
  29. package/button/button.component.d.ts +2 -2
  30. package/button/button.module.d.ts +6 -6
  31. package/button-toggle/_button-toggle-theme.scss +30 -27
  32. package/button-toggle/button-toggle.component.d.ts +2 -2
  33. package/button-toggle/button-toggle.module.d.ts +4 -4
  34. package/button-toggle/button-toggle.scss +2 -2
  35. package/checkbox/checkbox-module.d.ts +4 -4
  36. package/checkbox/checkbox-required-validator.d.ts +1 -1
  37. package/checkbox/checkbox.d.ts +1 -1
  38. package/checkbox/checkbox.scss +5 -21
  39. package/code-block/code-block.scss +2 -2
  40. package/core/common-behaviors/index.d.ts +0 -1
  41. package/core/formatters/date/formatter.pipe.d.ts +13 -0
  42. package/core/formatters/index.d.ts +4 -4
  43. package/core/formatters/number/formatter.d.ts +3 -3
  44. package/core/forms/forms-module.d.ts +1 -1
  45. package/core/forms/forms.directive.d.ts +2 -2
  46. package/core/highlight/highlight.pipe.d.ts +1 -1
  47. package/core/highlight/index.d.ts +3 -3
  48. package/core/line/line.d.ts +1 -6
  49. package/core/locales/en-US.d.ts +8 -0
  50. package/core/locales/es-LA.d.ts +8 -0
  51. package/core/locales/locale-service.d.ts +40 -0
  52. package/core/locales/pt-BR.d.ts +8 -0
  53. package/core/locales/ru-RU.d.ts +8 -0
  54. package/core/locales/tk-TM.d.ts +8 -0
  55. package/core/locales/types.d.ts +21 -0
  56. package/core/option/_option-theme.scss +5 -2
  57. package/core/option/action.d.ts +1 -1
  58. package/core/option/optgroup.d.ts +1 -1
  59. package/core/option/option-module.d.ts +5 -5
  60. package/core/option/option.d.ts +5 -1
  61. package/core/pop-up/constants.d.ts +4 -0
  62. package/core/pop-up/pop-up-trigger.d.ts +5 -5
  63. package/core/pop-up/pop-up.d.ts +1 -1
  64. package/core/select/common.d.ts +1 -1
  65. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  66. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
  67. package/core/styles/common/_select.scss +1 -1
  68. package/core/styles/common/_visually-hidden.scss +1 -0
  69. package/core/styles/theming/_scrollbar-theme.scss +19 -12
  70. package/core/utils/utils.d.ts +3 -0
  71. package/datepicker/calendar-body.component.d.ts +1 -1
  72. package/datepicker/calendar-header.component.d.ts +1 -1
  73. package/datepicker/calendar.component.d.ts +1 -1
  74. package/datepicker/datepicker-input.directive.d.ts +2 -2
  75. package/datepicker/datepicker-module.d.ts +15 -15
  76. package/datepicker/datepicker-toggle.component.d.ts +2 -2
  77. package/datepicker/datepicker.component.d.ts +2 -2
  78. package/datepicker/month-view.component.d.ts +1 -1
  79. package/divider/divider.component.d.ts +5 -1
  80. package/divider/divider.module.d.ts +3 -3
  81. package/dl/dl.component.d.ts +3 -3
  82. package/dl/dl.module.d.ts +4 -4
  83. package/dropdown/dropdown-content.directive.d.ts +1 -1
  84. package/dropdown/dropdown-item.component.d.ts +1 -1
  85. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  86. package/dropdown/dropdown.component.d.ts +1 -1
  87. package/dropdown/dropdown.module.d.ts +8 -8
  88. package/dropdown/dropdown.scss +1 -0
  89. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
  90. package/empty-state/empty-state.component.d.ts +5 -5
  91. package/empty-state/empty-state.module.d.ts +4 -4
  92. package/fesm2022/koobiq-components-accordion.mjs +459 -40
  93. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
  95. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-alert.mjs +28 -36
  97. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-app-switcher.mjs +66 -66
  99. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
  101. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-badge.mjs +20 -21
  103. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
  105. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
  107. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-button.mjs +25 -26
  109. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-checkbox.mjs +18 -16
  111. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
  113. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-code-block.mjs +15 -16
  115. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-content-panel.mjs +55 -57
  117. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-core.mjs +379 -367
  119. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-datepicker.mjs +107 -91
  121. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-divider.mjs +16 -14
  123. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-dl.mjs +19 -20
  125. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-dropdown.mjs +47 -48
  127. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
  129. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
  131. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-empty-state.mjs +26 -27
  133. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-file-upload.mjs +402 -152
  135. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-filter-bar.mjs +293 -258
  137. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-form-field.mjs +84 -92
  139. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-icon.mjs +18 -18
  141. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
  143. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-input.mjs +31 -30
  145. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-link.mjs +11 -10
  147. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-list.mjs +47 -45
  149. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
  151. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-markdown.mjs +14 -14
  153. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-modal.mjs +76 -64
  155. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
  157. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-navbar.mjs +77 -66
  159. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-notification-center.mjs +31 -32
  161. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
  163. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-popover.mjs +55 -46
  165. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
  167. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-progress-spinner.mjs +22 -23
  169. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-radio.mjs +20 -16
  171. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-resizer.mjs +10 -12
  173. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-risk-level.mjs +19 -12
  175. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
  177. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
  179. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-select.mjs +113 -74
  181. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-sidebar.mjs +16 -23
  183. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
  185. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-split-button.mjs +12 -12
  187. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-splitter.mjs +24 -25
  189. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-table.mjs +17 -18
  191. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tabs.mjs +85 -89
  193. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-tags.mjs +43 -47
  195. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-textarea.mjs +10 -11
  197. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-time-range.mjs +38 -40
  199. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-timepicker.mjs +68 -18
  201. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-timezone.mjs +68 -59
  203. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-title.mjs +23 -11
  205. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-toast.mjs +23 -24
  207. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-toggle.mjs +16 -14
  209. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-tooltip.mjs +20 -23
  211. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-top-bar.mjs +18 -20
  213. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-tree-select.mjs +81 -70
  215. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-tree.mjs +77 -66
  217. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-username.mjs +31 -37
  219. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  220. package/file-upload/file-upload.d.ts +33 -3
  221. package/file-upload/file-upload.module.d.ts +15 -15
  222. package/file-upload/multiple-file-upload.component.d.ts +25 -34
  223. package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
  224. package/file-upload/primitives/file-picker.d.ts +82 -0
  225. package/file-upload/primitives/index.d.ts +2 -0
  226. package/file-upload/public-api.d.ts +2 -1
  227. package/file-upload/single-file-upload.component.d.ts +25 -18
  228. package/filter-bar/pipes/pipe-multi-select.d.ts +4 -1
  229. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -0
  230. package/icon/_icon-button-theme.scss +2 -1
  231. package/inline-edit/inline-edit.d.ts +2 -3
  232. package/input/_input-theme.scss +2 -1
  233. package/input/input-number-validators.d.ts +2 -2
  234. package/input/input-number.d.ts +1 -1
  235. package/input/input-password.d.ts +1 -1
  236. package/input/input.d.ts +2 -2
  237. package/input/input.module.d.ts +8 -8
  238. package/link/_link-theme.scss +3 -0
  239. package/link/link.component.d.ts +1 -1
  240. package/link/link.module.d.ts +3 -3
  241. package/list/_list-theme.scss +6 -0
  242. package/list/list-selection.component.d.ts +3 -3
  243. package/list/list.component.d.ts +2 -2
  244. package/list/list.module.d.ts +6 -6
  245. package/list/list.scss +1 -0
  246. package/loader-overlay/loader-overlay.component.d.ts +4 -4
  247. package/loader-overlay/loader-overlay.module.d.ts +5 -5
  248. package/loader-overlay/loader-overlay.scss +22 -31
  249. package/modal/css-unit.pipe.d.ts +1 -1
  250. package/modal/modal.component.d.ts +1 -1
  251. package/modal/modal.directive.d.ts +4 -4
  252. package/modal/modal.module.d.ts +10 -10
  253. package/modal/modal.scss +1 -1
  254. package/modal/modal.service.d.ts +1 -1
  255. package/navbar/_navbar-theme.scss +1 -0
  256. package/navbar/navbar-brand.component.d.ts +1 -1
  257. package/navbar/navbar-item.component.d.ts +7 -7
  258. package/navbar/navbar-toggle.component.d.ts +1 -1
  259. package/navbar/navbar-toggle.scss +1 -1
  260. package/navbar/navbar.component.d.ts +4 -4
  261. package/navbar/navbar.module.d.ts +10 -10
  262. package/navbar/vertical-navbar.component.d.ts +1 -1
  263. package/navbar/vertical-navbar.scss +5 -2
  264. package/navbar-ic/navbar-ic-header.d.ts +3 -0
  265. package/navbar-ic/navbar-ic-item.d.ts +18 -0
  266. package/navbar-ic/navbar-ic.d.ts +13 -7
  267. package/notification-center/notification-center.d.ts +5 -5
  268. package/overflow-items/overflow-items.d.ts +1 -1
  269. package/package.json +11 -142
  270. package/popover/_popover-theme.scss +2 -2
  271. package/popover/popover-confirm.component.d.ts +2 -2
  272. package/popover/popover.component.d.ts +9 -9
  273. package/popover/popover.module.d.ts +9 -9
  274. package/prebuilt-themes/dark-theme.css +1 -1
  275. package/prebuilt-themes/light-theme.css +1 -1
  276. package/prebuilt-themes/theme.css +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +3 -3
  278. package/progress-bar/progress-bar.module.d.ts +3 -3
  279. package/progress-spinner/_progress-spinner-theme.scss +14 -4
  280. package/progress-spinner/progress-spinner-tokens.scss +2 -0
  281. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  282. package/progress-spinner/progress-spinner.module.d.ts +4 -4
  283. package/progress-spinner/progress-spinner.scss +1 -0
  284. package/radio/_radio-theme.scss +2 -1
  285. package/radio/radio-tokens.scss +1 -0
  286. package/radio/radio.component.d.ts +10 -5
  287. package/radio/radio.module.d.ts +3 -3
  288. package/risk-level/risk-level.component.d.ts +4 -1
  289. package/risk-level/risk-level.module.d.ts +7 -4
  290. package/schematics/migrations/icons-replacement/README.md +5 -1
  291. package/schematics/migrations/icons-replacement/index.js +1 -1
  292. package/schematics/migrations/new-icons-pack/README.md +52 -4
  293. package/schematics/migrations/new-icons-pack/data.js +1142 -1142
  294. package/schematics/migrations/new-icons-pack/index.js +18 -7
  295. package/schematics/migrations/new-icons-pack/migration.json +4570 -0
  296. package/schematics/migrations/new-icons-pack/replacement.json +18 -0
  297. package/schematics/migrations/new-icons-pack/schema.json +13 -0
  298. package/schematics/ng-add/index.js +6 -7
  299. package/scrollbar/_scrollbar-component-theme.scss +16 -14
  300. package/select/select-option.directive.d.ts +1 -1
  301. package/select/select.component.d.ts +6 -5
  302. package/select/select.module.d.ts +10 -10
  303. package/sidebar/sidebar.component.d.ts +3 -3
  304. package/sidebar/sidebar.module.d.ts +3 -3
  305. package/sidepanel/sidepanel-container.component.d.ts +1 -1
  306. package/sidepanel/sidepanel-directives.d.ts +5 -5
  307. package/sidepanel/sidepanel.module.d.ts +9 -9
  308. package/splitter/splitter.component.d.ts +4 -4
  309. package/splitter/splitter.module.d.ts +3 -3
  310. package/table/_table-theme.scss +1 -0
  311. package/table/table.component.d.ts +2 -2
  312. package/table/table.module.d.ts +4 -4
  313. package/tabs/paginated-tab-header.d.ts +1 -1
  314. package/tabs/tab-body.component.d.ts +2 -2
  315. package/tabs/tab-content.directive.d.ts +1 -1
  316. package/tabs/tab-group.component.d.ts +5 -5
  317. package/tabs/tab-header.component.d.ts +1 -1
  318. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  319. package/tabs/tab-label.directive.d.ts +1 -1
  320. package/tabs/tab.component.d.ts +3 -3
  321. package/tabs/tabs.module.d.ts +15 -15
  322. package/tags/tag-input.d.ts +1 -1
  323. package/tags/tag-list.component.d.ts +1 -1
  324. package/tags/tag.component.d.ts +4 -4
  325. package/tags/tag.module.d.ts +4 -4
  326. package/textarea/textarea.component.d.ts +1 -1
  327. package/textarea/textarea.module.d.ts +4 -4
  328. package/timepicker/timepicker.directive.d.ts +17 -7
  329. package/timepicker/timepicker.module.d.ts +5 -5
  330. package/timezone/cities-by-filter.pipe.d.ts +1 -1
  331. package/timezone/timezone-option.component.d.ts +1 -1
  332. package/timezone/timezone-option.directive.d.ts +1 -1
  333. package/timezone/timezone-select.component.d.ts +2 -2
  334. package/timezone/timezone.module.d.ts +15 -15
  335. package/timezone/utc-offset.pipe.d.ts +1 -1
  336. package/title/title.directive.d.ts +4 -1
  337. package/title/title.module.d.ts +3 -3
  338. package/toggle/toggle.component.d.ts +1 -1
  339. package/toggle/toggle.module.d.ts +3 -3
  340. package/tooltip/_tooltip-theme.scss +5 -6
  341. package/tooltip/tooltip.component.d.ts +3 -3
  342. package/tooltip/tooltip.scss +1 -0
  343. package/top-bar/top-bar.d.ts +1 -1
  344. package/tree/node.d.ts +1 -1
  345. package/tree/outlet.d.ts +1 -1
  346. package/tree/padding.directive.d.ts +1 -1
  347. package/tree/toggle.d.ts +3 -3
  348. package/tree/tree-base.d.ts +2 -2
  349. package/tree/tree-option.component.d.ts +1 -1
  350. package/tree/tree-option.scss +1 -1
  351. package/tree/tree-selection.component.d.ts +1 -1
  352. package/tree/tree.d.ts +1 -1
  353. package/tree/tree.module.d.ts +11 -11
  354. package/tree-select/tree-select.component.d.ts +2 -2
  355. package/tree-select/tree-select.module.d.ts +9 -9
  356. package/core/common-behaviors/focus-monitor.d.ts +0 -19
  357. package/esm2022/accordion/accordion-content.mjs +0 -19
  358. package/esm2022/accordion/accordion-header.mjs +0 -19
  359. package/esm2022/accordion/accordion-item.mjs +0 -25
  360. package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
  361. package/esm2022/accordion/accordion.component.mjs +0 -41
  362. package/esm2022/accordion/accordion.module.mjs +0 -44
  363. package/esm2022/accordion/index.mjs +0 -2
  364. package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
  365. package/esm2022/accordion/public-api.mjs +0 -7
  366. package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
  367. package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
  368. package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
  369. package/esm2022/actions-panel/actions-panel.mjs +0 -133
  370. package/esm2022/actions-panel/index.mjs +0 -6
  371. package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
  372. package/esm2022/actions-panel/module.mjs +0 -21
  373. package/esm2022/alert/alert.component.mjs +0 -124
  374. package/esm2022/alert/alert.module.mjs +0 -40
  375. package/esm2022/alert/index.mjs +0 -2
  376. package/esm2022/alert/koobiq-components-alert.mjs +0 -5
  377. package/esm2022/alert/public-api.mjs +0 -3
  378. package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
  379. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
  380. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
  381. package/esm2022/app-switcher/app-switcher.mjs +0 -446
  382. package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
  383. package/esm2022/app-switcher/index.mjs +0 -2
  384. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
  385. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
  386. package/esm2022/app-switcher/public-api.mjs +0 -7
  387. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
  388. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
  389. package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
  390. package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
  391. package/esm2022/autocomplete/index.mjs +0 -2
  392. package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
  393. package/esm2022/autocomplete/public-api.mjs +0 -5
  394. package/esm2022/badge/badge.component.mjs +0 -124
  395. package/esm2022/badge/badge.module.mjs +0 -36
  396. package/esm2022/badge/index.mjs +0 -2
  397. package/esm2022/badge/koobiq-components-badge.mjs +0 -5
  398. package/esm2022/badge/public-api.mjs +0 -3
  399. package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
  400. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
  401. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
  402. package/esm2022/breadcrumbs/index.mjs +0 -2
  403. package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
  404. package/esm2022/breadcrumbs/public-api.mjs +0 -4
  405. package/esm2022/button/button.component.mjs +0 -180
  406. package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
  407. package/esm2022/button/button.module.mjs +0 -41
  408. package/esm2022/button/index.mjs +0 -2
  409. package/esm2022/button/koobiq-components-button.mjs +0 -5
  410. package/esm2022/button/public-api.mjs +0 -4
  411. package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
  412. package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
  413. package/esm2022/button-toggle/index.mjs +0 -2
  414. package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
  415. package/esm2022/button-toggle/public-api.mjs +0 -3
  416. package/esm2022/checkbox/checkbox-config.mjs +0 -6
  417. package/esm2022/checkbox/checkbox-module.mjs +0 -19
  418. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
  419. package/esm2022/checkbox/checkbox.mjs +0 -295
  420. package/esm2022/checkbox/index.mjs +0 -2
  421. package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
  422. package/esm2022/checkbox/public-api.mjs +0 -5
  423. package/esm2022/clamped-text/clamped-text.mjs +0 -202
  424. package/esm2022/clamped-text/constants.mjs +0 -20
  425. package/esm2022/clamped-text/index.mjs +0 -4
  426. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
  427. package/esm2022/clamped-text/module.mjs +0 -19
  428. package/esm2022/code-block/code-block-highlight.mjs +0 -418
  429. package/esm2022/code-block/code-block.mjs +0 -440
  430. package/esm2022/code-block/code-block.module.mjs +0 -19
  431. package/esm2022/code-block/index.mjs +0 -2
  432. package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
  433. package/esm2022/code-block/public-api.mjs +0 -5
  434. package/esm2022/code-block/types.mjs +0 -2
  435. package/esm2022/content-panel/content-panel.mjs +0 -432
  436. package/esm2022/content-panel/index.mjs +0 -3
  437. package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
  438. package/esm2022/content-panel/module.mjs +0 -42
  439. package/esm2022/core/animation/animation.mjs +0 -39
  440. package/esm2022/core/animation/fade-animations.mjs +0 -9
  441. package/esm2022/core/animation/index.mjs +0 -4
  442. package/esm2022/core/animation/select-animations.mjs +0 -45
  443. package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
  444. package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
  445. package/esm2022/core/common-behaviors/color.mjs +0 -89
  446. package/esm2022/core/common-behaviors/common-module.mjs +0 -76
  447. package/esm2022/core/common-behaviors/constructor.mjs +0 -2
  448. package/esm2022/core/common-behaviors/disabled.mjs +0 -19
  449. package/esm2022/core/common-behaviors/error-state.mjs +0 -50
  450. package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
  451. package/esm2022/core/common-behaviors/hover.mjs +0 -34
  452. package/esm2022/core/common-behaviors/index.mjs +0 -14
  453. package/esm2022/core/common-behaviors/orientation.mjs +0 -2
  454. package/esm2022/core/common-behaviors/read-state.mjs +0 -33
  455. package/esm2022/core/common-behaviors/size.mjs +0 -2
  456. package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
  457. package/esm2022/core/datetime/date-adapter.mjs +0 -14
  458. package/esm2022/core/datetime/date-formats.mjs +0 -3
  459. package/esm2022/core/datetime/index.mjs +0 -3
  460. package/esm2022/core/error/error-state-matcher.mjs +0 -56
  461. package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
  462. package/esm2022/core/form-field/form-field-ref.mjs +0 -10
  463. package/esm2022/core/form-field/index.mjs +0 -3
  464. package/esm2022/core/formatters/date/formatter.mjs +0 -25
  465. package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
  466. package/esm2022/core/formatters/filesize/config.mjs +0 -32
  467. package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
  468. package/esm2022/core/formatters/filesize/index.mjs +0 -4
  469. package/esm2022/core/formatters/filesize/size.mjs +0 -65
  470. package/esm2022/core/formatters/index.mjs +0 -146
  471. package/esm2022/core/formatters/number/formatter.mjs +0 -347
  472. package/esm2022/core/forms/forms-module.mjs +0 -24
  473. package/esm2022/core/forms/forms.directive.mjs +0 -66
  474. package/esm2022/core/forms/index.mjs +0 -4
  475. package/esm2022/core/forms/validators.mjs +0 -184
  476. package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
  477. package/esm2022/core/highlight/index.mjs +0 -19
  478. package/esm2022/core/index.mjs +0 -2
  479. package/esm2022/core/koobiq-components-core.mjs +0 -5
  480. package/esm2022/core/line/line.mjs +0 -70
  481. package/esm2022/core/locales/en-US.mjs +0 -210
  482. package/esm2022/core/locales/es-LA.mjs +0 -209
  483. package/esm2022/core/locales/formatters.mjs +0 -193
  484. package/esm2022/core/locales/index.mjs +0 -10
  485. package/esm2022/core/locales/locale-service.mjs +0 -173
  486. package/esm2022/core/locales/locale-service.module.mjs +0 -19
  487. package/esm2022/core/locales/pt-BR.mjs +0 -209
  488. package/esm2022/core/locales/ru-RU.mjs +0 -224
  489. package/esm2022/core/locales/tk-TM.mjs +0 -210
  490. package/esm2022/core/locales/types.mjs +0 -2
  491. package/esm2022/core/navbar/index.mjs +0 -2
  492. package/esm2022/core/navbar/rectangle-item.mjs +0 -40
  493. package/esm2022/core/option/action-container.mjs +0 -23
  494. package/esm2022/core/option/action.mjs +0 -107
  495. package/esm2022/core/option/index.mjs +0 -6
  496. package/esm2022/core/option/optgroup.mjs +0 -37
  497. package/esm2022/core/option/option-module.mjs +0 -20
  498. package/esm2022/core/option/option.mjs +0 -322
  499. package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
  500. package/esm2022/core/pop-up/constants.mjs +0 -55
  501. package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
  502. package/esm2022/core/pop-up/index.mjs +0 -6
  503. package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
  504. package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
  505. package/esm2022/core/pop-up/pop-up.mjs +0 -152
  506. package/esm2022/core/public-api.mjs +0 -24
  507. package/esm2022/core/select/common.mjs +0 -203
  508. package/esm2022/core/select/constants.mjs +0 -25
  509. package/esm2022/core/select/errors.mjs +0 -26
  510. package/esm2022/core/select/events.mjs +0 -2
  511. package/esm2022/core/select/index.mjs +0 -5
  512. package/esm2022/core/selection/constants.mjs +0 -6
  513. package/esm2022/core/selection/index.mjs +0 -4
  514. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
  515. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
  516. package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
  517. package/esm2022/core/services/theme.service.mjs +0 -80
  518. package/esm2022/core/title/index.mjs +0 -2
  519. package/esm2022/core/title/title-text-ref.mjs +0 -3
  520. package/esm2022/core/tokens/index.mjs +0 -2
  521. package/esm2022/core/tokens/window.mjs +0 -19
  522. package/esm2022/core/utils/dom.mjs +0 -8
  523. package/esm2022/core/utils/index.mjs +0 -3
  524. package/esm2022/core/utils/public-api.mjs +0 -2
  525. package/esm2022/core/utils/utils.mjs +0 -31
  526. package/esm2022/core/validation/index.mjs +0 -2
  527. package/esm2022/core/validation/validation.mjs +0 -27
  528. package/esm2022/core/version.mjs +0 -3
  529. package/esm2022/datepicker/calendar-body.component.mjs +0 -87
  530. package/esm2022/datepicker/calendar-header.component.mjs +0 -164
  531. package/esm2022/datepicker/calendar.component.mjs +0 -185
  532. package/esm2022/datepicker/datepicker-animations.mjs +0 -32
  533. package/esm2022/datepicker/datepicker-errors.mjs +0 -6
  534. package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
  535. package/esm2022/datepicker/datepicker-intl.mjs +0 -40
  536. package/esm2022/datepicker/datepicker-module.mjs +0 -103
  537. package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
  538. package/esm2022/datepicker/datepicker.component.mjs +0 -388
  539. package/esm2022/datepicker/index.mjs +0 -2
  540. package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
  541. package/esm2022/datepicker/month-view.component.mjs +0 -148
  542. package/esm2022/datepicker/public-api.mjs +0 -11
  543. package/esm2022/divider/divider.component.mjs +0 -49
  544. package/esm2022/divider/divider.module.mjs +0 -18
  545. package/esm2022/divider/index.mjs +0 -2
  546. package/esm2022/divider/koobiq-components-divider.mjs +0 -5
  547. package/esm2022/divider/public-api.mjs +0 -3
  548. package/esm2022/dl/dl.component.mjs +0 -81
  549. package/esm2022/dl/dl.module.mjs +0 -36
  550. package/esm2022/dl/index.mjs +0 -2
  551. package/esm2022/dl/koobiq-components-dl.mjs +0 -5
  552. package/esm2022/dl/public-api.mjs +0 -3
  553. package/esm2022/dropdown/dropdown-animations.mjs +0 -41
  554. package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
  555. package/esm2022/dropdown/dropdown-errors.mjs +0 -29
  556. package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
  557. package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
  558. package/esm2022/dropdown/dropdown.component.mjs +0 -293
  559. package/esm2022/dropdown/dropdown.module.mjs +0 -51
  560. package/esm2022/dropdown/dropdown.types.mjs +0 -23
  561. package/esm2022/dropdown/index.mjs +0 -2
  562. package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
  563. package/esm2022/dropdown/public-api.mjs +0 -9
  564. package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
  565. package/esm2022/dynamic-translation/index.mjs +0 -3
  566. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
  567. package/esm2022/dynamic-translation/module.mjs +0 -25
  568. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
  569. package/esm2022/ellipsis-center/index.mjs +0 -2
  570. package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
  571. package/esm2022/ellipsis-center/public-api.mjs +0 -2
  572. package/esm2022/empty-state/empty-state.component.mjs +0 -109
  573. package/esm2022/empty-state/empty-state.module.mjs +0 -44
  574. package/esm2022/empty-state/index.mjs +0 -2
  575. package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
  576. package/esm2022/empty-state/public-api.mjs +0 -3
  577. package/esm2022/file-upload/file-drop.mjs +0 -87
  578. package/esm2022/file-upload/file-upload.mjs +0 -71
  579. package/esm2022/file-upload/file-upload.module.mjs +0 -79
  580. package/esm2022/file-upload/index.mjs +0 -2
  581. package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
  582. package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
  583. package/esm2022/file-upload/public-api.mjs +0 -6
  584. package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
  585. package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
  586. package/esm2022/filter-bar/filter-bar.mjs +0 -213
  587. package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
  588. package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
  589. package/esm2022/filter-bar/filter-refresher.mjs +0 -34
  590. package/esm2022/filter-bar/filter-reset.mjs +0 -49
  591. package/esm2022/filter-bar/filter-search.mjs +0 -173
  592. package/esm2022/filter-bar/filters.mjs +0 -266
  593. package/esm2022/filter-bar/index.mjs +0 -2
  594. package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
  595. package/esm2022/filter-bar/pipe-add.mjs +0 -140
  596. package/esm2022/filter-bar/pipe.directive.mjs +0 -37
  597. package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
  598. package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
  599. package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
  600. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
  601. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
  602. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
  603. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
  604. package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
  605. package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
  606. package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
  607. package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
  608. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
  609. package/esm2022/filter-bar/public-api.mjs +0 -22
  610. package/esm2022/form-field/cleaner.mjs +0 -28
  611. package/esm2022/form-field/error.mjs +0 -20
  612. package/esm2022/form-field/fieldset.mjs +0 -84
  613. package/esm2022/form-field/form-field-control.mjs +0 -4
  614. package/esm2022/form-field/form-field.mjs +0 -447
  615. package/esm2022/form-field/form-field.module.mjs +0 -87
  616. package/esm2022/form-field/hint.mjs +0 -36
  617. package/esm2022/form-field/index.mjs +0 -2
  618. package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
  619. package/esm2022/form-field/label.mjs +0 -19
  620. package/esm2022/form-field/password-hint.mjs +0 -165
  621. package/esm2022/form-field/password-toggle.mjs +0 -129
  622. package/esm2022/form-field/prefix.mjs +0 -19
  623. package/esm2022/form-field/public-api.mjs +0 -16
  624. package/esm2022/form-field/reactive-password-hint.mjs +0 -66
  625. package/esm2022/form-field/stepper.mjs +0 -144
  626. package/esm2022/form-field/suffix.mjs +0 -18
  627. package/esm2022/form-field/validate.directive.mjs +0 -190
  628. package/esm2022/icon/icon-button.component.mjs +0 -64
  629. package/esm2022/icon/icon-item.component.mjs +0 -31
  630. package/esm2022/icon/icon.component.mjs +0 -56
  631. package/esm2022/icon/icon.module.mjs +0 -27
  632. package/esm2022/icon/index.mjs +0 -2
  633. package/esm2022/icon/koobiq-components-icon.mjs +0 -5
  634. package/esm2022/icon/public-api.mjs +0 -5
  635. package/esm2022/index.mjs +0 -2
  636. package/esm2022/inline-edit/index.mjs +0 -3
  637. package/esm2022/inline-edit/inline-edit.mjs +0 -382
  638. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
  639. package/esm2022/inline-edit/module.mjs +0 -25
  640. package/esm2022/input/index.mjs +0 -2
  641. package/esm2022/input/input-errors.mjs +0 -4
  642. package/esm2022/input/input-number-validators.mjs +0 -88
  643. package/esm2022/input/input-number.mjs +0 -386
  644. package/esm2022/input/input-password.mjs +0 -253
  645. package/esm2022/input/input-value-accessor.mjs +0 -3
  646. package/esm2022/input/input.mjs +0 -299
  647. package/esm2022/input/input.module.mjs +0 -58
  648. package/esm2022/input/koobiq-components-input.mjs +0 -5
  649. package/esm2022/input/public-api.mjs +0 -7
  650. package/esm2022/koobiq-components.mjs +0 -5
  651. package/esm2022/link/index.mjs +0 -2
  652. package/esm2022/link/koobiq-components-link.mjs +0 -5
  653. package/esm2022/link/link.component.mjs +0 -143
  654. package/esm2022/link/link.module.mjs +0 -20
  655. package/esm2022/link/public-api.mjs +0 -3
  656. package/esm2022/list/index.mjs +0 -2
  657. package/esm2022/list/koobiq-components-list.mjs +0 -5
  658. package/esm2022/list/list-selection.component.mjs +0 -745
  659. package/esm2022/list/list.component.mjs +0 -43
  660. package/esm2022/list/list.module.mjs +0 -60
  661. package/esm2022/list/public-api.mjs +0 -4
  662. package/esm2022/loader-overlay/index.mjs +0 -2
  663. package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
  664. package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
  665. package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
  666. package/esm2022/loader-overlay/public-api.mjs +0 -3
  667. package/esm2022/markdown/index.mjs +0 -2
  668. package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
  669. package/esm2022/markdown/markdown.component.mjs +0 -67
  670. package/esm2022/markdown/markdown.module.mjs +0 -21
  671. package/esm2022/markdown/markdown.service.mjs +0 -36
  672. package/esm2022/markdown/markdown.values.mjs +0 -35
  673. package/esm2022/markdown/public-api.mjs +0 -5
  674. package/esm2022/modal/css-unit.pipe.mjs +0 -17
  675. package/esm2022/modal/index.mjs +0 -2
  676. package/esm2022/modal/koobiq-components-modal.mjs +0 -5
  677. package/esm2022/modal/modal-control.service.mjs +0 -89
  678. package/esm2022/modal/modal-ref.class.mjs +0 -7
  679. package/esm2022/modal/modal-util.mjs +0 -22
  680. package/esm2022/modal/modal.component.mjs +0 -540
  681. package/esm2022/modal/modal.directive.mjs +0 -94
  682. package/esm2022/modal/modal.module.mjs +0 -78
  683. package/esm2022/modal/modal.service.mjs +0 -135
  684. package/esm2022/modal/modal.type.mjs +0 -7
  685. package/esm2022/modal/public-api.mjs +0 -7
  686. package/esm2022/navbar/index.mjs +0 -2
  687. package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
  688. package/esm2022/navbar/navbar-brand.component.mjs +0 -105
  689. package/esm2022/navbar/navbar-item.component.mjs +0 -428
  690. package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
  691. package/esm2022/navbar/navbar.component.mjs +0 -251
  692. package/esm2022/navbar/navbar.module.mjs +0 -84
  693. package/esm2022/navbar/public-api.mjs +0 -7
  694. package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
  695. package/esm2022/navbar-ic/index.mjs +0 -2
  696. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
  697. package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
  698. package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
  699. package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
  700. package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
  701. package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
  702. package/esm2022/navbar-ic/public-api.mjs +0 -5
  703. package/esm2022/notification-center/index.mjs +0 -2
  704. package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
  705. package/esm2022/notification-center/notification-center-animations.mjs +0 -18
  706. package/esm2022/notification-center/notification-center.mjs +0 -329
  707. package/esm2022/notification-center/notification-center.module.mjs +0 -38
  708. package/esm2022/notification-center/notification-center.service.mjs +0 -127
  709. package/esm2022/notification-center/notification-item.mjs +0 -70
  710. package/esm2022/notification-center/public-api.mjs +0 -5
  711. package/esm2022/overflow-items/index.mjs +0 -3
  712. package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
  713. package/esm2022/overflow-items/module.mjs +0 -25
  714. package/esm2022/overflow-items/overflow-items.mjs +0 -290
  715. package/esm2022/popover/index.mjs +0 -2
  716. package/esm2022/popover/koobiq-components-popover.mjs +0 -5
  717. package/esm2022/popover/popover-animations.mjs +0 -16
  718. package/esm2022/popover/popover-confirm.component.mjs +0 -97
  719. package/esm2022/popover/popover.component.mjs +0 -410
  720. package/esm2022/popover/popover.module.mjs +0 -67
  721. package/esm2022/popover/public-api.mjs +0 -5
  722. package/esm2022/progress-bar/index.mjs +0 -2
  723. package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
  724. package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
  725. package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
  726. package/esm2022/progress-bar/public-api.mjs +0 -3
  727. package/esm2022/progress-spinner/index.mjs +0 -2
  728. package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
  729. package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
  730. package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
  731. package/esm2022/progress-spinner/public-api.mjs +0 -3
  732. package/esm2022/public-api.mjs +0 -2
  733. package/esm2022/radio/index.mjs +0 -2
  734. package/esm2022/radio/koobiq-components-radio.mjs +0 -5
  735. package/esm2022/radio/public-api.mjs +0 -3
  736. package/esm2022/radio/radio.component.mjs +0 -451
  737. package/esm2022/radio/radio.module.mjs +0 -18
  738. package/esm2022/resizer/index.mjs +0 -3
  739. package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
  740. package/esm2022/resizer/module.mjs +0 -17
  741. package/esm2022/resizer/resizer.mjs +0 -135
  742. package/esm2022/risk-level/index.mjs +0 -2
  743. package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
  744. package/esm2022/risk-level/public-api.mjs +0 -3
  745. package/esm2022/risk-level/risk-level.component.mjs +0 -40
  746. package/esm2022/risk-level/risk-level.module.mjs +0 -24
  747. package/esm2022/scrollbar/index.mjs +0 -2
  748. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
  749. package/esm2022/scrollbar/public-api.mjs +0 -5
  750. package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
  751. package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
  752. package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
  753. package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
  754. package/esm2022/search-expandable/index.mjs +0 -2
  755. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
  756. package/esm2022/search-expandable/public-api.mjs +0 -3
  757. package/esm2022/search-expandable/search-expandable.mjs +0 -177
  758. package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
  759. package/esm2022/select/index.mjs +0 -2
  760. package/esm2022/select/koobiq-components-select.mjs +0 -5
  761. package/esm2022/select/public-api.mjs +0 -4
  762. package/esm2022/select/select-option.directive.mjs +0 -69
  763. package/esm2022/select/select.component.mjs +0 -1154
  764. package/esm2022/select/select.module.mjs +0 -81
  765. package/esm2022/sidebar/index.mjs +0 -2
  766. package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
  767. package/esm2022/sidebar/public-api.mjs +0 -3
  768. package/esm2022/sidebar/sidebar-animations.mjs +0 -23
  769. package/esm2022/sidebar/sidebar.component.mjs +0 -169
  770. package/esm2022/sidebar/sidebar.module.mjs +0 -30
  771. package/esm2022/sidepanel/index.mjs +0 -2
  772. package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
  773. package/esm2022/sidepanel/public-api.mjs +0 -7
  774. package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
  775. package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
  776. package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
  777. package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
  778. package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
  779. package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
  780. package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
  781. package/esm2022/split-button/index.mjs +0 -2
  782. package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
  783. package/esm2022/split-button/public-api.mjs +0 -3
  784. package/esm2022/split-button/split-button.mjs +0 -133
  785. package/esm2022/split-button/split-button.module.mjs +0 -18
  786. package/esm2022/splitter/index.mjs +0 -2
  787. package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
  788. package/esm2022/splitter/public-api.mjs +0 -3
  789. package/esm2022/splitter/splitter.component.mjs +0 -492
  790. package/esm2022/splitter/splitter.module.mjs +0 -34
  791. package/esm2022/table/index.mjs +0 -2
  792. package/esm2022/table/koobiq-components-table.mjs +0 -5
  793. package/esm2022/table/public-api.mjs +0 -3
  794. package/esm2022/table/table.component.mjs +0 -36
  795. package/esm2022/table/table.module.mjs +0 -32
  796. package/esm2022/tabs/index.mjs +0 -2
  797. package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
  798. package/esm2022/tabs/paginated-tab-header.mjs +0 -490
  799. package/esm2022/tabs/public-api.mjs +0 -11
  800. package/esm2022/tabs/tab-body.component.mjs +0 -178
  801. package/esm2022/tabs/tab-content.directive.mjs +0 -15
  802. package/esm2022/tabs/tab-group.component.mjs +0 -384
  803. package/esm2022/tabs/tab-header.component.mjs +0 -60
  804. package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
  805. package/esm2022/tabs/tab-label.directive.mjs +0 -17
  806. package/esm2022/tabs/tab-nav-bar.mjs +0 -292
  807. package/esm2022/tabs/tab.component.mjs +0 -145
  808. package/esm2022/tabs/tabs-animations.mjs +0 -24
  809. package/esm2022/tabs/tabs.module.mjs +0 -95
  810. package/esm2022/tags/index.mjs +0 -2
  811. package/esm2022/tags/koobiq-components-tags.mjs +0 -5
  812. package/esm2022/tags/public-api.mjs +0 -6
  813. package/esm2022/tags/tag-default-options.mjs +0 -4
  814. package/esm2022/tags/tag-input.mjs +0 -281
  815. package/esm2022/tags/tag-list.component.mjs +0 -765
  816. package/esm2022/tags/tag-text-control.mjs +0 -2
  817. package/esm2022/tags/tag.component.mjs +0 -647
  818. package/esm2022/tags/tag.module.mjs +0 -67
  819. package/esm2022/textarea/index.mjs +0 -2
  820. package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
  821. package/esm2022/textarea/public-api.mjs +0 -3
  822. package/esm2022/textarea/textarea.component.mjs +0 -300
  823. package/esm2022/textarea/textarea.module.mjs +0 -20
  824. package/esm2022/time-range/constants.mjs +0 -42
  825. package/esm2022/time-range/index.mjs +0 -8
  826. package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
  827. package/esm2022/time-range/module.mjs +0 -36
  828. package/esm2022/time-range/time-range-editor.mjs +0 -224
  829. package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
  830. package/esm2022/time-range/time-range-title.mjs +0 -112
  831. package/esm2022/time-range/time-range.mjs +0 -234
  832. package/esm2022/time-range/time-range.service.mjs +0 -126
  833. package/esm2022/time-range/types.mjs +0 -2
  834. package/esm2022/timepicker/index.mjs +0 -2
  835. package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
  836. package/esm2022/timepicker/public-api.mjs +0 -4
  837. package/esm2022/timepicker/timepicker.constants.mjs +0 -29
  838. package/esm2022/timepicker/timepicker.directive.mjs +0 -686
  839. package/esm2022/timepicker/timepicker.module.mjs +0 -29
  840. package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
  841. package/esm2022/timezone/index.mjs +0 -2
  842. package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
  843. package/esm2022/timezone/public-api.mjs +0 -7
  844. package/esm2022/timezone/timezone-option.component.mjs +0 -50
  845. package/esm2022/timezone/timezone-option.directive.mjs +0 -54
  846. package/esm2022/timezone/timezone-select.component.mjs +0 -55
  847. package/esm2022/timezone/timezone.models.mjs +0 -2
  848. package/esm2022/timezone/timezone.module.mjs +0 -82
  849. package/esm2022/timezone/timezone.utils.mjs +0 -80
  850. package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
  851. package/esm2022/title/index.mjs +0 -2
  852. package/esm2022/title/koobiq-components-title.mjs +0 -5
  853. package/esm2022/title/public-api.mjs +0 -3
  854. package/esm2022/title/title.directive.mjs +0 -108
  855. package/esm2022/title/title.module.mjs +0 -18
  856. package/esm2022/toast/index.mjs +0 -2
  857. package/esm2022/toast/koobiq-components-toast.mjs +0 -5
  858. package/esm2022/toast/public-api.mjs +0 -6
  859. package/esm2022/toast/toast-animations.mjs +0 -10
  860. package/esm2022/toast/toast-container.component.mjs +0 -57
  861. package/esm2022/toast/toast.component.mjs +0 -125
  862. package/esm2022/toast/toast.module.mjs +0 -26
  863. package/esm2022/toast/toast.service.mjs +0 -197
  864. package/esm2022/toast/toast.type.mjs +0 -39
  865. package/esm2022/toggle/index.mjs +0 -2
  866. package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
  867. package/esm2022/toggle/public-api.mjs +0 -3
  868. package/esm2022/toggle/toggle.component.mjs +0 -254
  869. package/esm2022/toggle/toggle.module.mjs +0 -18
  870. package/esm2022/tooltip/index.mjs +0 -2
  871. package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
  872. package/esm2022/tooltip/public-api.mjs +0 -3
  873. package/esm2022/tooltip/tooltip.animations.mjs +0 -19
  874. package/esm2022/tooltip/tooltip.component.mjs +0 -400
  875. package/esm2022/tooltip/tooltip.module.mjs +0 -35
  876. package/esm2022/top-bar/index.mjs +0 -2
  877. package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
  878. package/esm2022/top-bar/module.mjs +0 -25
  879. package/esm2022/top-bar/public-api.mjs +0 -3
  880. package/esm2022/top-bar/top-bar.mjs +0 -74
  881. package/esm2022/tree/control/base-tree-control.mjs +0 -59
  882. package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
  883. package/esm2022/tree/control/flat-tree-control.mjs +0 -109
  884. package/esm2022/tree/control/nested-tree-control.mjs +0 -40
  885. package/esm2022/tree/control/tree-control.mjs +0 -2
  886. package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
  887. package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
  888. package/esm2022/tree/index.mjs +0 -2
  889. package/esm2022/tree/koobiq-components-tree.mjs +0 -5
  890. package/esm2022/tree/node.mjs +0 -31
  891. package/esm2022/tree/outlet.mjs +0 -15
  892. package/esm2022/tree/padding.directive.mjs +0 -108
  893. package/esm2022/tree/public-api.mjs +0 -17
  894. package/esm2022/tree/toggle.mjs +0 -93
  895. package/esm2022/tree/tree-base.mjs +0 -236
  896. package/esm2022/tree/tree-errors.mjs +0 -36
  897. package/esm2022/tree/tree-option.component.mjs +0 -303
  898. package/esm2022/tree/tree-selection.component.mjs +0 -568
  899. package/esm2022/tree/tree.mjs +0 -19
  900. package/esm2022/tree/tree.module.mjs +0 -64
  901. package/esm2022/tree-select/index.mjs +0 -2
  902. package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
  903. package/esm2022/tree-select/public-api.mjs +0 -3
  904. package/esm2022/tree-select/tree-select.component.mjs +0 -1034
  905. package/esm2022/tree-select/tree-select.module.mjs +0 -71
  906. package/esm2022/username/constants.mjs +0 -25
  907. package/esm2022/username/index.mjs +0 -6
  908. package/esm2022/username/koobiq-components-username.mjs +0 -5
  909. package/esm2022/username/module.mjs +0 -35
  910. package/esm2022/username/types.mjs +0 -32
  911. package/esm2022/username/username.mjs +0 -129
  912. package/esm2022/username/username.pipe.mjs +0 -92
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-timepicker.mjs","sources":["../../../packages/components/timepicker/timepicker.constants.ts","../../../packages/components/timepicker/timepicker.directive.ts","../../../packages/components/timepicker/timepicker.module.ts","../../../packages/components/timepicker/koobiq-components-timepicker.ts"],"sourcesContent":["export enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\n/** Object that maps each time format to a related locale key */\nexport const TimeFormatToLocaleKeys: Record<TimeFormats, 'full' | 'short'> = {\n [TimeFormats.HHmmss]: 'full',\n [TimeFormats.HHmm]: 'short'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n BACKSPACE,\n DELETE,\n DOWN_ARROW,\n END,\n hasModifierKey,\n HOME,\n isHorizontalMovement,\n isLetterKey,\n isVerticalMovement,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n TAB,\n UP_ARROW\n} from '@koobiq/cdk/keycodes';\nimport {\n DateAdapter,\n KBQ_LOCALE_SERVICE,\n KbqLocaleService,\n validationTooltipHideDelay,\n validationTooltipShowDelay\n} from '@koobiq/components/core';\nimport { KbqFormFieldControl } from '@koobiq/components/form-field';\nimport { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip';\nimport { noop, Subject, Subscription } from 'rxjs';\n\nimport {\n AM_PM_FORMAT_REGEXP,\n DEFAULT_TIME_FORMAT,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n HOURS_PER_DAY,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeFormatToLocaleKeys,\n TimeParts\n} from './timepicker.constants';\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n@Directive({\n selector: 'input[kbqTimepicker]',\n exportAs: 'kbqTimepicker',\n host: {\n class: 'kbq-input kbq-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n\n '(paste)': 'onPaste($event)',\n\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n KBQ_TIMEPICKER_VALIDATORS,\n KBQ_TIMEPICKER_VALUE_ACCESSOR,\n { provide: KbqFormFieldControl, useExisting: KbqTimepicker }]\n})\nexport class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy {\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n errorState: boolean;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format =\n Object.keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1\n ? formatValue\n : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = this.timeFormatPlaceholder;\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set kbqValidationTooltip(tooltip: KbqWarningTooltipTrigger) {\n if (!tooltip) {\n return;\n }\n\n tooltip.enterDelay = validationTooltipShowDelay;\n tooltip.trigger = 'manual';\n\n tooltip.initListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isOpen) {\n return;\n }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() readonly incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n /** Localized placeholder */\n get timeFormatPlaceholder(): string {\n return (\n this.localeService?.getParams('timepicker')?.placeholder[TimeFormatToLocaleKeys[this.format]] ||\n TIMEFORMAT_PLACEHOLDERS[this.format]\n );\n }\n\n private readonly uid = `kbq-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control: AbstractControl;\n\n private defaultPlaceholder = true;\n private separator = ':';\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n private localeSubscription = Subscription.EMPTY;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>,\n @Optional() @Inject(KBQ_LOCALE_SERVICE) private localeService?: KbqLocaleService\n ) {\n if (!this.dateAdapter) {\n throw Error(\n `KbqTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`\n );\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n\n this.localeSubscription = dateAdapter.localeChanges.subscribe(this.updateLocaleParams);\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.localeSubscription.unsubscribe();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n if (this.viewValue === this.getTimeStringFromDate(this.value, this.format)) {\n return;\n }\n\n this.setViewValue(this.formatUserPaste(this.viewValue));\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) {\n return;\n }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n if (!this.viewValue) {\n this.onChange(null);\n } else {\n this.control.updateValueAndValidity();\n }\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n };\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||\n event.ctrlKey ||\n event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) {\n return value;\n }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(\n Object.values(match.groups)\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(\n /^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/\n );\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement>this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private fixEmptyDigit() {\n const hasEmptyDigit = this.viewValue\n .split(this.separator)\n .map((part) => part.length)\n .some((item) => !item);\n\n if (hasEmptyDigit && this.value) {\n this.value = this.dateAdapter.clone(this.value);\n }\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n this.fixEmptyDigit();\n\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n this.fixEmptyDigit();\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) {\n seconds = 0;\n }\n\n if (minutes > MINUTES_PER_HOUR) {\n minutes = 0;\n }\n\n if (hours > HOURS_PER_DAY) {\n hours = 0;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) {\n seconds = SECONDS_PER_MINUTE;\n }\n\n if (minutes < 0) {\n minutes = MINUTES_PER_HOUR;\n }\n\n if (hours < 0) {\n hours = HOURS_PER_DAY;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time value edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) {\n return '';\n }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) {\n return null;\n }\n\n const date = this.value || this.dateAdapter.today();\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS && this.isShortFormat) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = this.dateAdapter.getSeconds(date);\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(date),\n this.dateAdapter.getMonth(date),\n this.dateAdapter.getDate(date),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(date)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused || this.empty || this.lastValueValid\n ? null\n : { kbqTimepickerParse: { text: this.viewValue } };\n };\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.min || !controlValue || this.dateAdapter.compareDateTime(this.min, controlValue) <= 0\n ? null\n : { kbqTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n };\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.max || !controlValue || this.dateAdapter.compareDateTime(this.max, controlValue) >= 0\n ? null\n : { kbqTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n };\n\n private getValidDateOrNull(obj: any): D | null {\n return this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n private setControl(control: AbstractControl) {\n if (this.control) {\n return;\n }\n\n this.control = control;\n\n this.control.valueChanges.subscribe((value) => (this._value = value));\n }\n\n private validatorOnChange = () => {};\n\n private updateLocaleParams = () => {\n if (!this.defaultPlaceholder) return;\n\n // update via private property instead of setter to save it as default placeholder\n this._placeholder = this.timeFormatPlaceholder;\n // update value so view value will be also updated\n this.value = this._value;\n };\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqTimepicker } from './timepicker.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n FormsModule\n ],\n declarations: [KbqTimepicker],\n exports: [KbqTimepicker, KbqFormFieldModule]\n})\nexport class KbqTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-timepicker.mjs","sources":["../../../packages/components/timepicker/timepicker.constants.ts","../../../packages/components/timepicker/timepicker.directive.ts","../../../packages/components/timepicker/timepicker.module.ts","../../../packages/components/timepicker/koobiq-components-timepicker.ts"],"sourcesContent":["export enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\n/** Object that maps each time format to a related locale key */\nexport const TimeFormatToLocaleKeys: Record<TimeFormats, 'full' | 'short'> = {\n [TimeFormats.HHmmss]: 'full',\n [TimeFormats.HHmm]: 'short'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Inject,\n Injectable,\n Input,\n OnDestroy,\n Optional,\n Output,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormGroupDirective,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n NgForm,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n BACKSPACE,\n DELETE,\n DOWN_ARROW,\n END,\n hasModifierKey,\n HOME,\n isHorizontalMovement,\n isLetterKey,\n isVerticalMovement,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n TAB,\n UP_ARROW\n} from '@koobiq/cdk/keycodes';\nimport {\n DateAdapter,\n ErrorStateMatcher,\n KBQ_LOCALE_SERVICE,\n KbqErrorStateTracker,\n KbqLocaleService,\n validationTooltipHideDelay,\n validationTooltipShowDelay\n} from '@koobiq/components/core';\nimport { KbqFormFieldControl } from '@koobiq/components/form-field';\nimport type { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip';\nimport { noop, Subject, Subscription } from 'rxjs';\n\nimport {\n AM_PM_FORMAT_REGEXP,\n DEFAULT_TIME_FORMAT,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n HOURS_PER_DAY,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeFormatToLocaleKeys,\n TimeParts\n} from './timepicker.constants';\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\n@Injectable()\nclass KbqTimepickerErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: AbstractControl | null): boolean {\n return !!control?.invalid;\n }\n}\n\nconst KBQ_TIMEPICKER_ERROR_STATE_MATCHER: Provider = {\n provide: ErrorStateMatcher,\n useClass: KbqTimepickerErrorStateMatcher\n};\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n@Directive({\n selector: 'input[kbqTimepicker]',\n exportAs: 'kbqTimepicker',\n host: {\n class: 'kbq-input kbq-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n '(paste)': 'onPaste($event)',\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n KBQ_TIMEPICKER_VALIDATORS,\n KBQ_TIMEPICKER_VALUE_ACCESSOR,\n KBQ_TIMEPICKER_ERROR_STATE_MATCHER,\n { provide: KbqFormFieldControl, useExisting: KbqTimepicker }]\n})\nexport class KbqTimepicker<D>\n implements KbqFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy, DoCheck, AfterContentInit\n{\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /** Object used to control when error messages are shown. */\n @Input()\n get errorStateMatcher() {\n return this.errorStateTracker.errorStateMatcher;\n }\n\n set errorStateMatcher(value: ErrorStateMatcher) {\n this.errorStateTracker.errorStateMatcher = value;\n }\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format =\n Object.keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1\n ? formatValue\n : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = this.timeFormatPlaceholder;\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set kbqValidationTooltip(tooltip: KbqWarningTooltipTrigger) {\n if (!tooltip) {\n return;\n }\n\n tooltip.enterDelay = validationTooltipShowDelay;\n tooltip.trigger = 'manual';\n\n tooltip.initListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isOpen) {\n return;\n }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() readonly incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n /** Localized placeholder */\n get timeFormatPlaceholder(): string {\n return (\n this.localeService?.getParams('timepicker')?.placeholder[TimeFormatToLocaleKeys[this.format]] ||\n TIMEFORMAT_PLACEHOLDERS[this.format]\n );\n }\n\n /** @docs-private */\n get errorState(): boolean {\n return this.errorStateTracker.errorState;\n }\n\n set errorState(value: boolean) {\n this.errorStateTracker.errorState = value;\n }\n\n private readonly uid = `kbq-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control?: AbstractControl;\n\n private defaultPlaceholder = true;\n private separator = ':';\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n private localeSubscription = Subscription.EMPTY;\n\n private errorStateTracker: KbqErrorStateTracker;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>,\n @Optional() @Inject(KBQ_LOCALE_SERVICE) private localeService?: KbqLocaleService\n ) {\n if (!this.dateAdapter) {\n throw Error(\n `KbqTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`\n );\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n this.onTouched = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n\n this.errorStateTracker = new KbqErrorStateTracker(\n inject(ErrorStateMatcher),\n null,\n inject(FormGroupDirective, { optional: true }),\n inject(NgForm, { optional: true }),\n this.stateChanges\n );\n\n this.localeSubscription = dateAdapter.localeChanges.subscribe(this.updateLocaleParams);\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n }\n\n ngAfterContentInit() {\n this.updateErrorState();\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.localeSubscription.unsubscribe();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n if (this.viewValue === this.getTimeStringFromDate(this.value, this.format)) {\n return;\n }\n\n this.setViewValue(this.formatUserPaste(this.viewValue));\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) {\n return;\n }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n if (!this.viewValue) {\n this.onChange(null);\n } else {\n this.control?.updateValueAndValidity();\n }\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n };\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||\n event.ctrlKey ||\n event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) {\n return value;\n }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(\n Object.values(match.groups)\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(\n /^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/\n );\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement>this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private fixEmptyDigit() {\n const hasEmptyDigit = this.viewValue\n .split(this.separator)\n .map((part) => part.length)\n .some((item) => !item);\n\n if (hasEmptyDigit && this.value) {\n this.value = this.dateAdapter.clone(this.value);\n }\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n this.fixEmptyDigit();\n\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n this.fixEmptyDigit();\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) {\n seconds = 0;\n }\n\n if (minutes > MINUTES_PER_HOUR) {\n minutes = 0;\n }\n\n if (hours > HOURS_PER_DAY) {\n hours = 0;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) {\n seconds = SECONDS_PER_MINUTE;\n }\n\n if (minutes < 0) {\n minutes = MINUTES_PER_HOUR;\n }\n\n if (hours < 0) {\n hours = HOURS_PER_DAY;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time value edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) {\n return '';\n }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) {\n return null;\n }\n\n const date = this.value || this.dateAdapter.today();\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS && this.isShortFormat) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = this.dateAdapter.getSeconds(date);\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(date),\n this.dateAdapter.getMonth(date),\n this.dateAdapter.getDate(date),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(date)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused || this.empty || this.lastValueValid\n ? null\n : { kbqTimepickerParse: { text: this.viewValue } };\n };\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.min || !controlValue || this.dateAdapter.compareDateTime(this.min, controlValue) <= 0\n ? null\n : { kbqTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n };\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.max || !controlValue || this.dateAdapter.compareDateTime(this.max, controlValue) >= 0\n ? null\n : { kbqTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n };\n\n private getValidDateOrNull(obj: any): D | null {\n return this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n /** @docs-private */\n updateErrorState() {\n this.errorStateTracker.updateErrorState();\n }\n\n private setControl(control: AbstractControl) {\n if (this.control) return;\n\n this.control = control;\n\n this.control.valueChanges.subscribe((value) => (this._value = value));\n\n // @TODO resolve types\n this.errorStateTracker.ngControl = { control } as unknown as NgControl;\n }\n\n private validatorOnChange = () => {};\n\n private updateLocaleParams = () => {\n if (!this.defaultPlaceholder) return;\n\n // update via private property instead of setter to save it as default placeholder\n this._placeholder = this.timeFormatPlaceholder;\n // update value so view value will be also updated\n this.value = this._value;\n };\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqTimepicker } from './timepicker.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n FormsModule,\n KbqTimepicker\n ],\n exports: [KbqTimepicker, KbqFormFieldModule]\n})\nexport class KbqTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}