@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
1
+ import { _IdGenerator, A11yModule } from '@angular/cdk/a11y';
2
2
  import * as i0 from '@angular/core';
3
- import { forwardRef, inject, ElementRef, Renderer2, output, Input, Directive, NgModule } from '@angular/core';
3
+ import { forwardRef, InjectionToken, inject, ElementRef, Renderer2, signal, input, computed, booleanAttribute, linkedSignal, output, effect, untracked, Directive, NgModule } from '@angular/core';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormGroupDirective, NgForm, FormsModule } from '@angular/forms';
6
- import { validationTooltipShowDelay, validationTooltipHideDelay, kbqRevealSelection, DateAdapter, KBQ_LOCALE_SERVICE, KbqDateTimezoneService, KbqErrorStateTracker, ErrorStateMatcher, isLetterKey, hasModifierKey, isVerticalMovement, isHorizontalMovement, DELETE, BACKSPACE, TAB, SPACE, HOME, PAGE_UP, END, PAGE_DOWN, UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, kbqSetSelectionRange } from '@koobiq/components/core';
5
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormGroupDirective, NgForm, Validators, FormsModule } from '@angular/forms';
6
+ import * as i1 from '@koobiq/components/core';
7
+ import { ruRULocaleData, kbqLocaleConfigurationOverrideProvider, kbqRevealSelection, DateAdapter, KbqDateTimezoneService, KbqLocaleOverridesDirective, KbqErrorStateTracker, ErrorStateMatcher, validationTooltipShowDelay, validationTooltipHideDelay, isLetterKey, hasModifierKey, isVerticalMovement, isHorizontalMovement, DELETE, BACKSPACE, TAB, SPACE, HOME, PAGE_UP, END, PAGE_DOWN, UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, kbqSetSelectionRange } from '@koobiq/components/core';
7
8
  import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
8
- import { Subject, Subscription, noop } from 'rxjs';
9
- import { A11yModule } from '@angular/cdk/a11y';
9
+ import { noop } from 'rxjs';
10
10
  import { PlatformModule } from '@angular/cdk/platform';
11
11
 
12
12
  var TimeParts;
@@ -50,141 +50,39 @@ const KBQ_TIMEPICKER_VALIDATORS = {
50
50
  useExisting: forwardRef(() => KbqTimepicker),
51
51
  multi: true
52
52
  };
53
- let uniqueComponentIdSuffix = 0;
53
+ /**
54
+ * Default configuration of the timepicker.
55
+ *
56
+ * @docs-private
57
+ */
58
+ const KBQ_TIMEPICKER_DEFAULT_LOCALE_CONFIGURATION = ruRULocaleData.timepicker;
59
+ /**
60
+ * Injection token for providing the default configuration of the timepicker.
61
+ *
62
+ * @docs-private
63
+ */
64
+ const KBQ_TIMEPICKER_LOCALE_CONFIGURATION = new InjectionToken('KbqTimepickerLocaleConfiguration', { factory: () => KBQ_TIMEPICKER_DEFAULT_LOCALE_CONFIGURATION });
65
+ /**
66
+ * Utility provider for `KBQ_TIMEPICKER_LOCALE_CONFIGURATION`. Only the strings you pass are overridden; the rest
67
+ * keep following the active locale.
68
+ */
69
+ const kbqTimepickerLocaleConfigurationProvider = (configuration) => kbqLocaleConfigurationOverrideProvider('timepicker', configuration);
54
70
  const shortFormatSize = 5;
55
71
  const fullFormatSize = 8;
56
72
  /** Maximum number of digits in a single time part */
57
73
  const timePartLength = 2;
74
+ /** Coerces a time format, falling back to the default for anything the enum does not name. */
75
+ const timeFormatAttribute = (value) => Object.values(TimeFormats).includes(value) ? value : DEFAULT_TIME_FORMAT;
58
76
  class KbqTimepicker {
59
- /** Object used to control when error messages are shown. */
60
- // TODO: Skipped for migration because:
61
- // Accessor inputs cannot be migrated as they are too complex.
62
- get errorStateMatcher() {
63
- return this.errorStateTracker.errorStateMatcher;
64
- }
65
- set errorStateMatcher(value) {
66
- this.errorStateTracker.errorStateMatcher = value;
67
- }
68
- /**
69
- * Implemented as part of KbqFormFieldControl.
70
- * @docs-private
71
- */
72
- // TODO: Skipped for migration because:
73
- // Accessor inputs cannot be migrated as they are too complex.
74
- get placeholder() {
75
- return this._placeholder;
76
- }
77
- set placeholder(value) {
78
- this._placeholder = value;
79
- this.defaultPlaceholder = false;
80
- }
81
- // TODO: Skipped for migration because:
82
- // Accessor inputs cannot be migrated as they are too complex.
83
- get disabled() {
84
- return this._disabled;
85
- }
86
- set disabled(value) {
87
- this._disabled = coerceBooleanProperty(value);
88
- // Browsers may not fire the blur event if the input is disabled too quickly.
89
- // Reset from here to ensure that the element doesn't become stuck.
90
- if (this.focused) {
91
- this.focused = false;
92
- }
93
- this.stateChanges.next();
94
- }
95
- // TODO: Skipped for migration because:
96
- // Accessor inputs cannot be migrated as they are too complex.
97
- get id() {
98
- return this._id;
99
- }
100
- set id(value) {
101
- this._id = value || this.uid;
102
- }
103
- /**
104
- * Implemented as part of KbqFormFieldControl.
105
- * @docs-private
106
- */
107
- // TODO: Skipped for migration because:
108
- // Accessor inputs cannot be migrated as they are too complex.
109
- get required() {
110
- return this._required;
111
- }
112
- set required(value) {
113
- this._required = coerceBooleanProperty(value);
114
- }
115
- // TODO: Skipped for migration because:
116
- // Accessor inputs cannot be migrated as they are too complex.
117
- get format() {
118
- return this._format;
119
- }
120
- set format(formatValue) {
121
- this._format =
122
- Object.keys(TimeFormats)
123
- .map((timeFormatKey) => TimeFormats[timeFormatKey])
124
- .indexOf(formatValue) > -1
125
- ? formatValue
126
- : DEFAULT_TIME_FORMAT;
127
- if (this.defaultPlaceholder) {
128
- this._placeholder = this.timeFormatPlaceholder;
129
- }
130
- if (this.value) {
131
- this.updateView();
132
- }
133
- }
134
- // TODO: Skipped for migration because:
135
- // Accessor inputs cannot be migrated as they are too complex.
136
- get min() {
137
- return this._min;
138
- }
139
- set min(value) {
140
- this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));
141
- this.validatorOnChange();
142
- }
143
- // TODO: Skipped for migration because:
144
- // Accessor inputs cannot be migrated as they are too complex.
145
- get max() {
146
- return this._max;
147
- }
148
- set max(value) {
149
- this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));
150
- this.validatorOnChange();
151
- }
152
- // TODO: Skipped for migration because:
153
- // Accessor inputs cannot be migrated as they are too complex.
154
- get value() {
155
- return this._value;
156
- }
157
- set value(value) {
158
- const newValue = this.dateAdapter.deserialize(value);
159
- this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);
160
- this._value = this.getValidDateOrNull(newValue);
161
- this.updateView();
162
- }
163
- // TODO: Skipped for migration because:
164
- // Accessor inputs cannot be migrated as they are too complex.
165
- set kbqValidationTooltip(tooltip) {
166
- if (!tooltip) {
167
- return;
168
- }
169
- tooltip.enterDelay = validationTooltipShowDelay;
170
- tooltip.trigger = 'manual';
171
- tooltip.initListeners();
172
- this.incorrectInput.subscribe(() => {
173
- if (tooltip.isOpen) {
174
- return;
175
- }
176
- tooltip.show();
177
- setTimeout(() => tooltip.hide(), validationTooltipHideDelay);
178
- });
179
- }
77
+ // TODO: nothing in the library uses it; kept as public API at the DS-2196 review. Document or deprecate it.
180
78
  get hasSelection() {
181
79
  return this.selectionStart !== this.selectionEnd;
182
80
  }
183
81
  get isFullFormat() {
184
- return this.format === TimeFormats.HHmmss;
82
+ return this.format() === TimeFormats.HHmmss;
185
83
  }
186
84
  get isShortFormat() {
187
- return this.format === TimeFormats.HHmm;
85
+ return this.format() === TimeFormats.HHmm;
188
86
  }
189
87
  get viewValue() {
190
88
  return this.elementRef.nativeElement.value;
@@ -192,13 +90,6 @@ class KbqTimepicker {
192
90
  get ngControl() {
193
91
  return this.control;
194
92
  }
195
- /**
196
- * Implemented as part of KbqFormFieldControl.
197
- * @docs-private
198
- */
199
- get empty() {
200
- return !this.viewValue && !this.isBadInput();
201
- }
202
93
  get selectionStart() {
203
94
  return this.elementRef.nativeElement.selectionStart;
204
95
  }
@@ -215,54 +106,93 @@ class KbqTimepicker {
215
106
  }
216
107
  /** Localized placeholder */
217
108
  get timeFormatPlaceholder() {
218
- return (this.localeService?.getParams('timepicker')?.placeholder[TimeFormatToLocaleKeys[this.format]] ||
219
- TIMEFORMAT_PLACEHOLDERS[this.format]);
220
- }
221
- /** @docs-private */
222
- get errorState() {
223
- return this.errorStateTracker.errorState;
224
- }
225
- set errorState(value) {
226
- this.errorStateTracker.errorState = value;
109
+ return (this.localeConfiguration().placeholder[TimeFormatToLocaleKeys[this.format()]] ||
110
+ TIMEFORMAT_PLACEHOLDERS[this.format()]);
227
111
  }
228
112
  constructor() {
113
+ this.uid = inject(_IdGenerator).getId('kbq-timepicker-');
229
114
  this.elementRef = inject(ElementRef);
230
115
  this.renderer = inject(Renderer2);
231
116
  this.dateAdapter = inject(DateAdapter, { optional: true });
232
- this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
233
117
  this.timezoneService = inject(KbqDateTimezoneService);
118
+ this.localeConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read('timepicker', KBQ_TIMEPICKER_LOCALE_CONFIGURATION);
119
+ this.errorStateTracker = new KbqErrorStateTracker(inject(ErrorStateMatcher), null, inject(FormGroupDirective, { optional: true }), inject(NgForm, { optional: true }));
120
+ /** @docs-private */
121
+ this.errorState = this.errorStateTracker.errorState;
122
+ this.focusedValue = signal(false, ...(ngDevMode ? [{ debugName: "focusedValue" }] : /* istanbul ignore next */ []));
234
123
  /**
235
124
  * Implemented as part of KbqFormFieldControl.
125
+ *
236
126
  * @docs-private
237
127
  */
238
- this.stateChanges = new Subject();
128
+ this.focused = this.focusedValue.asReadonly();
239
129
  /**
240
130
  * Implemented as part of KbqFormFieldControl.
131
+ *
132
+ * @docs-private
133
+ */
134
+ this.controlType = 'timepicker';
135
+ /** Object used to control when error messages are shown. */
136
+ this.errorStateMatcher = input(...(ngDevMode ? [undefined, { debugName: "errorStateMatcher" }] : /* istanbul ignore next */ []));
137
+ /** @docs-private */
138
+ this.placeholderInput = input(undefined, { ...(ngDevMode ? { debugName: "placeholderInput" } : /* istanbul ignore next */ {}), alias: 'placeholder' });
139
+ /**
140
+ * Implemented as part of KbqFormFieldControl. Defaults to the localized pattern of `format`.
141
+ *
241
142
  * @docs-private
242
143
  */
243
- this.focused = false;
144
+ this.placeholder = computed(() => this.placeholderInput() ?? this.timeFormatPlaceholder, ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
145
+ /** @docs-private */
146
+ this.disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled',
147
+ transform: booleanAttribute });
148
+ /** Whether the timepicker is disabled. Also set by the bound form control. */
149
+ this.disabled = linkedSignal(() => this.disabledInput(), ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
150
+ /** @docs-private */
151
+ this.idInput = input(undefined, { ...(ngDevMode ? { debugName: "idInput" } : /* istanbul ignore next */ {}), alias: 'id' });
152
+ /** Unique id of the element, generated when not provided. */
153
+ this.id = computed(() => this.idInput() || this.uid, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
244
154
  /**
245
155
  * Implemented as part of KbqFormFieldControl.
156
+ *
246
157
  * @docs-private
247
158
  */
248
- this.controlType = 'timepicker';
249
- this._placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];
250
- this._format = DEFAULT_TIME_FORMAT;
251
- this._min = null;
252
- this._max = null;
159
+ this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
160
+ /** Time format the input parses and renders. An unsupported value falls back to the default. */
161
+ this.format = input(DEFAULT_TIME_FORMAT, { ...(ngDevMode ? { debugName: "format" } : /* istanbul ignore next */ {}), transform: timeFormatAttribute });
162
+ /** Earliest time the control accepts. Anything the date adapter cannot read is treated as unset. */
163
+ this.min = input(null, ...(ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []));
164
+ /** Latest time the control accepts. Anything the date adapter cannot read is treated as unset. */
165
+ this.max = input(null, ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
166
+ /** `min` as the date adapter reads it, or null when it cannot. */
167
+ this.minDate = computed(() => this.getValidDateOrNull(this.dateAdapter.deserialize(this.min())), ...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
168
+ /** `max` as the date adapter reads it, or null when it cannot. */
169
+ this.maxDate = computed(() => this.getValidDateOrNull(this.dateAdapter.deserialize(this.max())), ...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
170
+ /** @docs-private */
171
+ this.valueInput = input(undefined, { ...(ngDevMode ? { debugName: "valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
172
+ this.valueState = signal(null, ...(ngDevMode ? [{ debugName: "valueState" }] : /* istanbul ignore next */ []));
173
+ /** The time the control holds: set with `[value]`, by the form control and by typing. */
174
+ this.value = this.valueState.asReadonly();
175
+ /** Tooltip shown for a moment whenever a keystroke is rejected. */
176
+ this.kbqValidationTooltip = input(...(ngDevMode ? [undefined, { debugName: "kbqValidationTooltip" }] : /* istanbul ignore next */ []));
253
177
  this.incorrectInput = output();
254
- this.uid = `kbq-timepicker-${uniqueComponentIdSuffix++}`;
178
+ this.emptyValue = signal(true, ...(ngDevMode ? [{ debugName: "emptyValue" }] : /* istanbul ignore next */ []));
179
+ /**
180
+ * Implemented as part of KbqFormFieldControl.
181
+ *
182
+ * @docs-private
183
+ */
184
+ this.empty = this.emptyValue.asReadonly();
255
185
  this.lastValueValid = false;
256
- this.defaultPlaceholder = true;
257
186
  this.separator = ':';
258
- this.localeSubscription = Subscription.EMPTY;
187
+ /** Start of the part a caret key selects on a timer, until the selection lands there. */
188
+ this.pendingCaret = null;
259
189
  this.onInput = () => {
260
190
  const formattedValue = this.formatUserInput(this.viewValue);
261
191
  const newTimeObj = this.getDateFromTimeString(formattedValue);
262
192
  this.lastValueValid = !!newTimeObj;
263
193
  const selectionStart = this.selectionStart;
264
194
  const selectionEnd = this.selectionEnd;
265
- const nextViewValue = newTimeObj ? this.getTimeStringFromDate(newTimeObj, this.format) : formattedValue;
195
+ const nextViewValue = newTimeObj ? this.getTimeStringFromDate(newTimeObj, this.format()) : formattedValue;
266
196
  // A complete time is always rewritten, so that the caret keeps walking between the time parts.
267
197
  // An incomplete one (e.g. `23:1`) is rewritten only when normalization trimmed it — otherwise
268
198
  // the extra digits stay in the input and the value grows unbounded.
@@ -281,37 +211,29 @@ class KbqTimepicker {
281
211
  }
282
212
  return;
283
213
  }
284
- this.value = newTimeObj;
214
+ this.setValue(newTimeObj);
285
215
  this.onChange(newTimeObj);
286
- this.stateChanges.next();
287
216
  };
288
217
  this.parseValidator = () => {
289
- return this.focused || this.empty || this.lastValueValid
218
+ return this.focused() || this.isEmpty() || this.lastValueValid
290
219
  ? null
291
220
  : { kbqTimepickerParse: { text: this.viewValue } };
292
221
  };
293
222
  this.minValidator = (control) => {
294
223
  const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));
295
- return !this.min || !controlValue || this.dateAdapter.compareDateTime(this.min, controlValue) <= 0
224
+ const min = this.minDate();
225
+ return !min || !controlValue || this.dateAdapter.compareDateTime(min, controlValue) <= 0
296
226
  ? null
297
- : { kbqTimepickerLowerThenMin: { min: this.min, actual: controlValue } };
227
+ : { kbqTimepickerLowerThenMin: { min, actual: controlValue } };
298
228
  };
299
229
  this.maxValidator = (control) => {
300
230
  const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));
301
- return !this.max || !controlValue || this.dateAdapter.compareDateTime(this.max, controlValue) >= 0
231
+ const max = this.maxDate();
232
+ return !max || !controlValue || this.dateAdapter.compareDateTime(max, controlValue) >= 0
302
233
  ? null
303
- : { kbqTimepickerHigherThenMax: { max: this.max, actual: controlValue } };
234
+ : { kbqTimepickerHigherThenMax: { max, actual: controlValue } };
304
235
  };
305
236
  this.validatorOnChange = () => { };
306
- this.updateLocaleParams = () => {
307
- if (!this.defaultPlaceholder)
308
- return;
309
- // update via private property instead of setter to save it as default placeholder
310
- this._placeholder = this.timeFormatPlaceholder;
311
- // update value so view value will be also updated
312
- this.value = this._value;
313
- };
314
- const dateAdapter = this.dateAdapter;
315
237
  if (!this.dateAdapter) {
316
238
  throw Error(`KbqTimepicker: No provider found for DateAdapter. You must import one of the existing ` +
317
239
  `modules at your application root or provide a custom implementation or use exists ones.`);
@@ -319,14 +241,70 @@ class KbqTimepicker {
319
241
  this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);
320
242
  this.onChange = noop;
321
243
  this.onTouched = noop;
322
- // Force setter to be called in case id was not specified.
323
- this.id = this.id;
324
- this.errorStateTracker = new KbqErrorStateTracker(inject(ErrorStateMatcher), null, inject(FormGroupDirective, { optional: true }), inject(NgForm, { optional: true }), this.stateChanges);
325
- this.localeSubscription = dateAdapter.localeChanges.subscribe(this.updateLocaleParams);
244
+ // A bound value is applied whenever the binding changes; an unbound one leaves the value to the form.
245
+ let bound = false;
246
+ effect(() => {
247
+ const value = this.valueInput();
248
+ if (!bound && value === undefined)
249
+ return;
250
+ bound = true;
251
+ untracked(() => this.setValue(value ?? null));
252
+ });
253
+ effect(() => {
254
+ this.localeConfiguration();
255
+ this.format();
256
+ // Re-assigning the value re-runs it through the date adapter, which formats on the new locale
257
+ // and the new format. Only a complete value: with none, `updateView()` would render `''` over
258
+ // whatever the user has half typed, and `setValue` would clear a pending parse error with it.
259
+ untracked(() => {
260
+ const value = this.valueState();
261
+ if (value)
262
+ this.setValue(value);
263
+ });
264
+ });
265
+ // Browsers may not fire the blur event if the input is disabled too quickly.
266
+ // Reset from here to ensure that the element doesn't become stuck.
267
+ effect(() => {
268
+ if (this.disabled()) {
269
+ untracked(() => this.focusedValue.set(false));
270
+ }
271
+ });
272
+ effect((onCleanup) => {
273
+ const tooltip = this.kbqValidationTooltip();
274
+ if (!tooltip)
275
+ return;
276
+ // Borrowed, not taken over: restored in the teardown, so a tooltip that is unbound - or outlives
277
+ // this timepicker - gets its own trigger and delay back instead of staying listener-less.
278
+ const { trigger, enterDelay } = tooltip;
279
+ let pendingHide;
280
+ tooltip.enterDelay = validationTooltipShowDelay;
281
+ // The setter re-initialises the listeners, so `manual` also removes the hover and focus handlers.
282
+ tooltip.trigger = 'manual';
283
+ const subscription = this.incorrectInput.subscribe(() => {
284
+ if (tooltip.isOpen)
285
+ return;
286
+ tooltip.show();
287
+ pendingHide = setTimeout(() => {
288
+ pendingHide = undefined;
289
+ tooltip.hide();
290
+ }, validationTooltipHideDelay);
291
+ });
292
+ onCleanup(() => {
293
+ subscription.unsubscribe();
294
+ // A hide still pending means this timepicker opened the tooltip: close it now rather than
295
+ // leave the timer to reach a tooltip it no longer drives, or leave it open for good.
296
+ if (pendingHide !== undefined) {
297
+ clearTimeout(pendingHide);
298
+ tooltip.hide();
299
+ }
300
+ tooltip.enterDelay = enterDelay;
301
+ tooltip.trigger = trigger;
302
+ });
303
+ });
326
304
  this.timezoneService.changes.pipe(takeUntilDestroyed()).subscribe(() => {
327
305
  // The rendered text names a wall clock in the zone it was formatted in. Left as it is, the
328
306
  // next keystroke re-parses it against the new zone and emits a different instant.
329
- this.value = this._value;
307
+ this.setValue(this.valueState() ?? null);
330
308
  });
331
309
  }
332
310
  ngDoCheck() {
@@ -336,13 +314,19 @@ class KbqTimepicker {
336
314
  // that whatever logic is in here has to be super lean or we risk destroying the performance.
337
315
  this.updateErrorState();
338
316
  }
317
+ // The browser changes the rendered text without notice as the user types; `setViewValue()` covers the rest.
318
+ this.emptyValue.set(this.isEmpty());
339
319
  }
340
320
  ngAfterContentInit() {
341
321
  this.updateErrorState();
342
322
  }
343
- ngOnDestroy() {
344
- this.stateChanges.complete();
345
- this.localeSubscription.unsubscribe();
323
+ ngOnChanges(changes) {
324
+ // `min` and `max` feed the validators, which Angular only re-runs when it is told to. Here rather than
325
+ // in an effect: an effect runs once with nothing bound - emitting `valueChanges` into the form on
326
+ // open - tracks whatever signals the validators read, and runs after the template has already read
327
+ // `errors`, which `checkNoChanges` then sees change.
328
+ if (changes['min'] || changes['max'])
329
+ this.validatorOnChange();
346
330
  }
347
331
  getSize() {
348
332
  return this.isFullFormat ? fullFormatSize : shortFormatSize;
@@ -351,15 +335,14 @@ class KbqTimepicker {
351
335
  this.elementRef.nativeElement.focus();
352
336
  }
353
337
  focusChanged(isFocused) {
354
- if (isFocused !== this.focused) {
355
- this.focused = isFocused;
338
+ if (isFocused !== this.focused()) {
339
+ this.focusedValue.set(isFocused);
356
340
  this.onTouched();
357
- this.stateChanges.next();
358
341
  }
359
342
  }
360
343
  onBlur() {
361
344
  this.focusChanged(false);
362
- if (this.viewValue !== this.getTimeStringFromDate(this.value, this.format)) {
345
+ if (this.viewValue !== this.getTimeStringFromDate(this.value(), this.format())) {
363
346
  this.setViewValue(this.formatUserPaste(this.viewValue));
364
347
  this.onInput();
365
348
  }
@@ -371,13 +354,13 @@ class KbqTimepicker {
371
354
  if (!newTimeObj) {
372
355
  return;
373
356
  }
374
- this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));
375
- this.value = newTimeObj;
357
+ this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format()));
358
+ this.setValue(newTimeObj);
376
359
  this.onChange(newTimeObj);
377
- this.stateChanges.next();
378
360
  }
379
361
  /**
380
362
  * Implemented as part of KbqFormFieldControl.
363
+ *
381
364
  * @docs-private
382
365
  */
383
366
  onContainerClick() {
@@ -387,7 +370,6 @@ class KbqTimepicker {
387
370
  const keyCode = event.keyCode;
388
371
  if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {
389
372
  event.preventDefault();
390
- // TODO: The 'emit' function requires a mandatory void argument
391
373
  this.incorrectInput.emit();
392
374
  }
393
375
  else if ((hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||
@@ -421,7 +403,6 @@ class KbqTimepicker {
421
403
  setTimeout(this.onInput);
422
404
  }
423
405
  else {
424
- // TODO: The 'emit' function requires a mandatory void argument
425
406
  this.incorrectInput.emit();
426
407
  }
427
408
  }
@@ -431,13 +412,15 @@ class KbqTimepicker {
431
412
  }
432
413
  validate(control) {
433
414
  this.setControl(control);
434
- return this.validator ? this.validator(control) : null;
415
+ // Untracked, as `writeValue()`: a form control set from a consumer's `effect()` writes and validates on the
416
+ // spot, and the state read on the way — `focused`, the value, the inputs — would make the effect run again.
417
+ return this.validator ? untracked(() => this.validator(control)) : null;
435
418
  }
436
419
  registerOnValidatorChange(fn) {
437
420
  this.validatorOnChange = fn;
438
421
  }
439
422
  writeValue(value) {
440
- this.value = value;
423
+ untracked(() => this.setValue(value));
441
424
  }
442
425
  registerOnChange(fn) {
443
426
  this.onChange = fn;
@@ -446,7 +429,7 @@ class KbqTimepicker {
446
429
  this.onTouched = fn;
447
430
  }
448
431
  setDisabledState(isDisabled) {
449
- this.disabled = isDisabled;
432
+ this.disabled.set(isDisabled);
450
433
  }
451
434
  formatUserPaste(value) {
452
435
  if (value.match(AM_PM_FORMAT_REGEXP)) {
@@ -502,6 +485,10 @@ class KbqTimepicker {
502
485
  const validity = this.elementRef.nativeElement.validity;
503
486
  return validity && validity.badInput;
504
487
  }
488
+ /** Whether the input renders no text, read from the element rather than from the last change detection. */
489
+ isEmpty() {
490
+ return !this.viewValue && !this.isBadInput();
491
+ }
505
492
  spaceKeyHandler(event) {
506
493
  event.preventDefault();
507
494
  if (this.selectionStart === this.selectionEnd) {
@@ -523,36 +510,38 @@ class KbqTimepicker {
523
510
  return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');
524
511
  }
525
512
  verticalArrowKeyHandler(keyCode) {
526
- if (!this.value) {
513
+ const value = this.value();
514
+ if (!value) {
527
515
  return;
528
516
  }
529
517
  let changedTime;
530
518
  const newEditParams = this.getTimeEditMetrics(this.selectionStart);
531
519
  if (keyCode === UP_ARROW) {
532
- changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);
520
+ changedTime = this.incrementTime(value, newEditParams.modifiedTimePart);
533
521
  }
534
522
  if (keyCode === DOWN_ARROW) {
535
- changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);
523
+ changedTime = this.decrementTime(value, newEditParams.modifiedTimePart);
536
524
  }
537
- this.value = changedTime;
525
+ this.setValue(changedTime);
538
526
  this.setSelection(newEditParams.cursorStartPosition, newEditParams.cursorEndPosition);
539
527
  this.onChange(changedTime);
540
- this.stateChanges.next();
541
528
  }
542
529
  fixEmptyDigit() {
543
530
  const hasEmptyDigit = this.viewValue
544
531
  .split(this.separator)
545
532
  .map((part) => part.length)
546
533
  .some((item) => !item);
547
- if (hasEmptyDigit && this.value) {
548
- this.value = this.dateAdapter.clone(this.value);
534
+ const value = this.value();
535
+ if (hasEmptyDigit && value) {
536
+ this.setValue(this.dateAdapter.clone(value));
549
537
  }
550
538
  }
551
539
  horizontalArrowKeyHandler(keyCode) {
552
- if (!this.value) {
540
+ if (!this.value()) {
553
541
  return;
554
542
  }
555
- let cursorPos = this.selectionStart;
543
+ // A key pressed before the previous one's selection has landed moves on from where that one goes.
544
+ let cursorPos = this.pendingCaret?.start ?? this.selectionStart;
556
545
  if (keyCode === LEFT_ARROW) {
557
546
  this.fixEmptyDigit();
558
547
  cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;
@@ -565,7 +554,12 @@ class KbqTimepicker {
565
554
  this.createSelectionOfTimeComponentInInput(cursorPos);
566
555
  }
567
556
  createSelectionOfTimeComponentInInput(cursorPos) {
557
+ const pendingCaret = { start: this.getTimeEditMetrics(cursorPos).cursorStartPosition };
558
+ this.pendingCaret = pendingCaret;
568
559
  setTimeout(() => {
560
+ if (this.pendingCaret === pendingCaret) {
561
+ this.pendingCaret = null;
562
+ }
569
563
  const newEditParams = this.getTimeEditMetrics(cursorPos);
570
564
  this.setSelection(newEditParams.cursorStartPosition, newEditParams.cursorEndPosition);
571
565
  });
@@ -595,7 +589,7 @@ class KbqTimepicker {
595
589
  if (hours > HOURS_PER_DAY) {
596
590
  hours = 0;
597
591
  }
598
- return this.dateAdapter.createDateTime(this.dateAdapter.getYear(this.value), this.dateAdapter.getMonth(this.value), this.dateAdapter.getDate(this.value), hours, minutes, seconds, this.dateAdapter.getMilliseconds(this.value));
592
+ return this.dateAdapter.createDateTime(this.dateAdapter.getYear(this.value()), this.dateAdapter.getMonth(this.value()), this.dateAdapter.getDate(this.value()), hours, minutes, seconds, this.dateAdapter.getMilliseconds(this.value()));
599
593
  }
600
594
  decrementTime(dateVal, whatToDecrement = TimeParts.seconds) {
601
595
  let hours = this.dateAdapter.getHours(dateVal);
@@ -622,10 +616,11 @@ class KbqTimepicker {
622
616
  if (hours < 0) {
623
617
  hours = HOURS_PER_DAY;
624
618
  }
625
- return this.dateAdapter.createDateTime(this.dateAdapter.getYear(this.value), this.dateAdapter.getMonth(this.value), this.dateAdapter.getDate(this.value), hours, minutes, seconds, this.dateAdapter.getMilliseconds(this.value));
619
+ return this.dateAdapter.createDateTime(this.dateAdapter.getYear(this.value()), this.dateAdapter.getMonth(this.value()), this.dateAdapter.getDate(this.value()), hours, minutes, seconds, this.dateAdapter.getMilliseconds(this.value()));
626
620
  }
627
621
  /**
628
- * @description Get params for arrow-keys (up/down) time value edit.
622
+ * Get params for arrow-keys (up/down) time value edit.
623
+ *
629
624
  * @param cursorPosition Current cursor position in timeString
630
625
  */
631
626
  getTimeEditMetrics(cursorPosition) {
@@ -654,7 +649,7 @@ class KbqTimepicker {
654
649
  return { modifiedTimePart, cursorStartPosition, cursorEndPosition };
655
650
  }
656
651
  /**
657
- * @description Create time string for displaying inside input element of UI
652
+ * Create time string for displaying inside input element of UI
658
653
  */
659
654
  getTimeStringFromDate(value, timeFormat) {
660
655
  if (!value || !this.dateAdapter.isValid(value)) {
@@ -666,12 +661,12 @@ class KbqTimepicker {
666
661
  if (!timeString) {
667
662
  return null;
668
663
  }
669
- const date = this.value || this.dateAdapter.today();
664
+ const date = this.value() || this.dateAdapter.today();
670
665
  const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);
671
666
  const HM = timeString.match(HOURS_MINUTES_REGEXP);
672
667
  const H = timeString.match(HOURS_ONLY_REGEXP);
673
668
  const amPm = timeString.match(AM_PM_FORMAT_REGEXP);
674
- let hours = 0;
669
+ let hours;
675
670
  let minutes = 0;
676
671
  let seconds = 0;
677
672
  if (amPm) {
@@ -710,6 +705,8 @@ class KbqTimepicker {
710
705
  setViewValue(value) {
711
706
  const element = this.elementRef.nativeElement;
712
707
  this.renderer.setProperty(element, 'value', value);
708
+ // Right away: a form or a `[value]` binding writes after `ngDoCheck()` has run.
709
+ this.emptyValue.set(this.isEmpty());
713
710
  // A paste or a model write replaces the whole value, and the offset the previous one was left
714
711
  // at has to go with it.
715
712
  kbqRevealSelection(element);
@@ -718,29 +715,37 @@ class KbqTimepicker {
718
715
  kbqSetSelectionRange(this.elementRef.nativeElement, start, end);
719
716
  }
720
717
  updateView() {
721
- const formattedValue = this.getTimeStringFromDate(this.value, this.format);
718
+ const formattedValue = this.getTimeStringFromDate(this.value(), this.format());
722
719
  this.setViewValue(formattedValue);
723
720
  }
724
721
  /** @docs-private */
725
722
  updateErrorState() {
723
+ this.errorStateTracker.errorStateMatcher = this.errorStateMatcher();
726
724
  this.errorStateTracker.updateErrorState();
727
725
  }
726
+ /** Takes a value from any source, re-rendering the element with it. */
727
+ setValue(value) {
728
+ const newValue = this.dateAdapter.deserialize(value);
729
+ this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);
730
+ this.valueState.set(this.getValidDateOrNull(newValue));
731
+ this.updateView();
732
+ }
728
733
  setControl(control) {
729
734
  if (this.control)
730
735
  return;
731
736
  this.control = control;
732
- this.control.valueChanges.subscribe((value) => (this._value = value));
737
+ this.control.valueChanges.subscribe((value) => this.valueState.set(value));
733
738
  // @TODO resolve types
734
739
  this.errorStateTracker.ngControl = { control };
735
740
  }
736
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
737
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.30", type: KbqTimepicker, isStandalone: true, selector: "input[kbqTimepicker]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", format: "format", min: "min", max: "max", value: "value", kbqValidationTooltip: "kbqValidationTooltip" }, outputs: { incorrectInput: "incorrectInput" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "attr.required": "required", "attr.size": "getSize()", "attr.autocomplete": "\"off\"" }, classAttribute: "kbq-input kbq-timepicker" }, providers: [
741
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
742
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqTimepicker, isStandalone: true, selector: "input[kbqTimepicker]", inputs: { errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, placeholderInput: { classPropertyName: "placeholderInput", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, kbqValidationTooltip: { classPropertyName: "kbqValidationTooltip", publicName: "kbqValidationTooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { incorrectInput: "incorrectInput" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.id": "id()", "attr.placeholder": "placeholder()", "attr.disabled": "disabled() || null", "attr.required": "required() || null", "attr.size": "getSize()", "attr.autocomplete": "\"off\"" }, classAttribute: "kbq-input kbq-timepicker" }, providers: [
738
743
  KBQ_TIMEPICKER_VALIDATORS,
739
744
  KBQ_TIMEPICKER_VALUE_ACCESSOR,
740
745
  { provide: KbqFormFieldControl, useExisting: KbqTimepicker }
741
- ], exportAs: ["kbqTimepicker"], ngImport: i0 }); }
746
+ ], exportAs: ["kbqTimepicker"], usesOnChanges: true, hostDirectives: [{ directive: i1.KbqLocaleOverridesDirective, inputs: ["kbqLocaleOverrides", "localeOverrides"] }], ngImport: i0 }); }
742
747
  }
743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepicker, decorators: [{
748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepicker, decorators: [{
744
749
  type: Directive,
745
750
  args: [{
746
751
  selector: 'input[kbqTimepicker]',
@@ -753,10 +758,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
753
758
  class: 'kbq-input kbq-timepicker',
754
759
  // Native input properties that are overwritten by Angular inputs need to be synced with
755
760
  // the native input element. Otherwise property bindings for those don't work.
756
- '[attr.id]': 'id',
757
- '[attr.placeholder]': 'placeholder',
758
- '[attr.disabled]': 'disabled || null',
759
- '[attr.required]': 'required',
761
+ '[attr.id]': 'id()',
762
+ '[attr.placeholder]': 'placeholder()',
763
+ '[attr.disabled]': 'disabled() || null',
764
+ '[attr.required]': 'required() || null',
760
765
  '[attr.size]': 'getSize()',
761
766
  '[attr.autocomplete]': '"off"',
762
767
  '(blur)': 'onBlur()',
@@ -764,41 +769,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
764
769
  '(paste)': 'onPaste($event)',
765
770
  '(keydown)': 'onKeyDown($event)'
766
771
  },
772
+ hostDirectives: [
773
+ { directive: KbqLocaleOverridesDirective, inputs: ['kbqLocaleOverrides: localeOverrides'] }
774
+ ],
767
775
  exportAs: 'kbqTimepicker'
768
776
  }]
769
- }], ctorParameters: () => [], propDecorators: { errorStateMatcher: [{
770
- type: Input
771
- }], placeholder: [{
772
- type: Input
773
- }], disabled: [{
774
- type: Input
775
- }], id: [{
776
- type: Input
777
- }], required: [{
778
- type: Input
779
- }], format: [{
780
- type: Input
781
- }], min: [{
782
- type: Input
783
- }], max: [{
784
- type: Input
785
- }], value: [{
786
- type: Input
787
- }], kbqValidationTooltip: [{
788
- type: Input
789
- }], incorrectInput: [{ type: i0.Output, args: ["incorrectInput"] }] } });
777
+ }], ctorParameters: () => [], propDecorators: { errorStateMatcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorStateMatcher", required: false }] }], placeholderInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], kbqValidationTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqValidationTooltip", required: false }] }], incorrectInput: [{ type: i0.Output, args: ["incorrectInput"] }] } });
790
778
 
791
779
  class KbqTimepickerModule {
792
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
793
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepickerModule, imports: [A11yModule,
780
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
781
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepickerModule, imports: [A11yModule,
794
782
  PlatformModule,
795
783
  FormsModule,
796
784
  KbqTimepicker], exports: [KbqTimepicker, KbqFormFieldModule] }); }
797
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepickerModule, imports: [A11yModule,
785
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepickerModule, imports: [A11yModule,
798
786
  PlatformModule,
799
787
  FormsModule, KbqFormFieldModule] }); }
800
788
  }
801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImport: i0, type: KbqTimepickerModule, decorators: [{
789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqTimepickerModule, decorators: [{
802
790
  type: NgModule,
803
791
  args: [{
804
792
  imports: [
@@ -815,5 +803,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
815
803
  * Generated bundle index. Do not edit.
816
804
  */
817
805
 
818
- export { AM_PM_FORMAT_REGEXP, DEFAULT_TIME_FORMAT, HOURS_MINUTES_REGEXP, HOURS_MINUTES_SECONDS_REGEXP, HOURS_ONLY_REGEXP, HOURS_PER_DAY, KBQ_TIMEPICKER_VALIDATORS, KBQ_TIMEPICKER_VALUE_ACCESSOR, KbqTimepicker, KbqTimepickerModule, MINUTES_PER_HOUR, SECONDS_PER_MINUTE, TIMEFORMAT_PLACEHOLDERS, TimeFormatToLocaleKeys, TimeFormats, TimeParts };
806
+ export { AM_PM_FORMAT_REGEXP, DEFAULT_TIME_FORMAT, HOURS_MINUTES_REGEXP, HOURS_MINUTES_SECONDS_REGEXP, HOURS_ONLY_REGEXP, HOURS_PER_DAY, KBQ_TIMEPICKER_DEFAULT_LOCALE_CONFIGURATION, KBQ_TIMEPICKER_LOCALE_CONFIGURATION, KBQ_TIMEPICKER_VALIDATORS, KBQ_TIMEPICKER_VALUE_ACCESSOR, KbqTimepicker, KbqTimepickerModule, MINUTES_PER_HOUR, SECONDS_PER_MINUTE, TIMEFORMAT_PLACEHOLDERS, TimeFormatToLocaleKeys, TimeFormats, TimeParts, kbqTimepickerLocaleConfigurationProvider };
819
807
  //# sourceMappingURL=koobiq-components-timepicker.mjs.map