@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,274 +1,40 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, TemplateRef, InjectionToken, ModelSignal, Signal, OutputEmitterRef, Type, Provider, OnInit, AfterContentInit } from '@angular/core';
2
+ import { InjectionToken, Signal, ModelSignal, TemplateRef, OutputEmitterRef, Provider, AfterViewInit, OnInit, ElementRef, DestroyRef, AfterContentInit, ChangeDetectorRef, Type } from '@angular/core';
3
3
  import * as _koobiq_components_core from '@koobiq/components/core';
4
- import { KbqPanelMaxHeight, PopUpPlacements, KbqComponentColors, PopUpSizes, KbqOption, DateAdapter, DateFormatter, KbqPseudoCheckboxState } from '@koobiq/components/core';
5
- import { Subject, BehaviorSubject, Observable } from 'rxjs';
4
+ import { KbqFilterBarLocaleConfiguration, KbqPanelMaxHeight, KbqDeepPartial, PopUpPlacements, PopUpSizes, KbqOption, DateAdapter, DateFormatter, KbqComponentColors, KbqPseudoCheckboxState } from '@koobiq/components/core';
5
+ export { KbqFilterBarLocaleConfiguration } from '@koobiq/components/core';
6
+ import { BehaviorSubject, Subject } from 'rxjs';
7
+ import { KbqButton, KbqButtonStyles } from '@koobiq/components/button';
6
8
  import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
7
9
  import { FormControl, FormGroup } from '@angular/forms';
8
- import { KbqButtonStyles, KbqButton } from '@koobiq/components/button';
9
10
  import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
10
11
  import { KbqPopoverTrigger } from '@koobiq/components/popover';
12
+ import * as _koobiq_components_filter_bar from '@koobiq/components/filter-bar';
11
13
  import { KbqSelect } from '@koobiq/components/select';
12
14
  import { KbqListSelection } from '@koobiq/components/list';
13
15
  import { KbqInput } from '@koobiq/components/input';
14
16
  import { FlatTreeControl, KbqTreeFlattener, KbqTreeFlatDataSource, KbqTreeSelection, KbqTreeOption } from '@koobiq/components/tree';
15
17
  import { KbqTreeSelect } from '@koobiq/components/tree-select';
16
18
 
17
- /** Injection Token for providing configuration of filter-bar */
18
- declare const KBQ_PIPE_DATA: InjectionToken<unknown>;
19
- /** function to get unique identifier of an element */
20
- declare function getId(item: KbqPipeTemplate): KbqPipeType | string | number;
21
- declare abstract class KbqBasePipe<V> implements AfterViewInit {
22
- /** changes of state */
23
- readonly stateChanges: Subject<void>;
24
- /** pipe data. Provided from subclass */
25
- readonly data: KbqPipeData<V>;
26
- /** KbqFilterBar instance
27
- * @docs-private */
28
- protected readonly filterBar: KbqFilterBarHost | null;
29
- /** @docs-private */
30
- protected readonly changeDetectorRef: ChangeDetectorRef;
31
- /** @docs-private */
32
- protected readonly destroyRef: DestroyRef;
33
- /** @docs-private */
34
- protected readonly focusMonitor: FocusMonitor;
35
- /** @docs-private */
36
- protected readonly elementRef: ElementRef<HTMLElement>;
37
- private readonly inputModalityDetector;
38
- private readonly document;
39
- /**
40
- * Whether this pipe has been destroyed. Guards deferred (`setTimeout`) work that could otherwise
41
- * read view queries or mutate `data` after the pipe was removed or the filter switched.
42
- * @docs-private
43
- */
44
- protected destroyed: boolean;
45
- /** values to select from the pipe template */
46
- protected values: any;
47
- /** TemplateRef for selecting an option */
48
- protected valueTemplate?: TemplateRef<any> | string;
49
- /**
50
- * Optional equality comparator forwarded from the pipe template to the underlying `kbq-select`.
51
- * Only consumed by the select / multi-select pipe components; when unset they fall back to their
52
- * own id-based `compareByValue`.
53
- */
54
- protected optionCompareWith?: (o1: KbqSelectValue | null | undefined, o2: KbqSelectValue | null | undefined) => boolean;
55
- /**
56
- * Values forwarded from the pipe template whose selection the user cannot remove. Only consumed by
57
- * the multi-select pipe components; other pipe types ignore it.
58
- */
59
- protected lockedValues?: unknown[];
60
- /**
61
- * Maximum height of the dropdown panel's scrollable list, forwarded from the pipe template to the
62
- * underlying `kbq-select` / `kbq-tree-select`. Only consumed by the select-family pipe components;
63
- * `undefined` leaves the list at the select-family default of 256px.
64
- */
65
- protected panelMaxHeight?: KbqPanelMaxHeight;
66
- /**
67
- * Whether the dropdown's option names and captions wrap instead of being truncated, forwarded from
68
- * the pipe template. Only consumed by the select / multi-select pipe components.
69
- */
70
- protected multilineOptions?: boolean;
71
- /**
72
- * Whether the current platform is a Mac.
73
- *
74
- * @docs-private
75
- */
76
- isMac: boolean;
77
- /** Data for the pipe.
78
- * @docs-private */
79
- $implicit: unknown;
80
- /** Whether the current pipe is empty. Used for apply style modifier */
81
- get isEmpty(): boolean;
82
- /** Whether the current pipe is removable or cleanable. Used for apply style modifier */
83
- get showRemoveButton(): boolean;
84
- /** localized data
85
- * @docs-private */
86
- get localeData(): KbqFilterBarConfiguration;
87
- constructor();
88
- ngAfterViewInit(): void;
89
- /** templateRef checker utility */
90
- isTemplateRef(value: unknown): boolean;
91
- /** updates values for selection and value template */
92
- updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
93
- /** removes pipe from filter-bar and triggers changes */
94
- onRemove(): void;
95
- /** clears the pipe and triggers changes */
96
- onClear(): void;
97
- /**
98
- * Value a cleared pipe is left with. Overridden by pipes that keep part of their value across a clear
99
- * — the multi-select pipes hold on to their locked options.
100
- *
101
- * @docs-private
102
- */
103
- protected clearedValue(): V | null;
104
- /**
105
- * Focus origin to hand to {@link FocusMonitor} whenever this pipe moves focus programmatically, so the
106
- * `.cdk-keyboard-focused` ring is painted for keyboard navigation only and never for a mouse-driven one.
107
- *
108
- * `InputModalityDetector.mostRecentModality` reflects what the user is doing *right now*, and is the
109
- * only source that stays correct while a panel is open: panel content lives in the CDK overlay
110
- * container, which is not a DOM descendant of the pipe host, so a focus origin captured on the host
111
- * itself would freeze at "how the trigger was focused" and couldn't tell a click inside the panel apart
112
- * from the keypress that opened it. The detector reacts only to `keydown`/`mousedown`/`touchstart`
113
- * (never to hover or scroll), so merely moving the mouse cannot strip a keyboard user's ring, and it
114
- * maps a screen reader's synthetic mousedown to `keyboard`. It falls back to `'program'` only before any
115
- * such interaction has ever occurred on the page — at which point no ring should be shown anyway.
116
- *
117
- * @docs-private
118
- */
119
- protected get currentFocusOrigin(): NonNullable<FocusOrigin>;
120
- /**
121
- * Restores focus to the pipe's trigger button after a value is chosen or the panel closes.
122
- * Focuses via {@link FocusMonitor} with `currentFocusOrigin` so a keyboard-driven interaction keeps
123
- * its focus ring, while a mouse-driven one does not.
124
- *
125
- * @docs-private
126
- */
127
- protected restoreTriggerFocus(): void;
128
- /** @docs-private */
129
- abstract open(): void;
130
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqBasePipe<any>, never>;
131
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqBasePipe<any>, never, never, {}, {}, never, never, true, never>;
132
- }
133
- /**
134
- * Keeps a pipe part at its natural width while its text is shorter than `maxSymbolsForFitContent`.
135
- *
136
- * @deprecated A pipe lays its name and value out as two shrinkable grid tracks, which already keeps a
137
- * short part intact; on a grid item this `min-width` only pushes the part past its track, where it is
138
- * clipped without an ellipsis. Will be removed in the next major.
139
- */
140
- declare class KbqPipeMinWidth {
141
- /** KbqFilterBar instance */
142
- protected readonly filterBar: KbqFilterBarHost | null;
143
- /** @docs-private */
144
- protected readonly elementRef: ElementRef<HTMLElement>;
145
- /** @docs-private */
146
- protected readonly changeDetectorRef: ChangeDetectorRef;
147
- /** @docs-private */
148
- protected minWidth: string;
149
- /** maximal symbols for apply fit-content to min-width */
150
- maxSymbolsForFitContent: number;
151
- /** current length of text */
152
- get textLength(): number;
153
- constructor();
154
- update: () => void;
155
- /** Schedules a deferred min-width recompute and returns the effect-cleanup that cancels it. */
156
- private scheduleMinWidthUpdate;
157
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeMinWidth, never>;
158
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPipeMinWidth, "[kbqPipeMinWidth]", never, {}, {}, never, never, true, never>;
159
- }
160
-
161
19
  /**
162
20
  * Default localized strings for the filter-bar, used when no `KBQ_LOCALE_SERVICE` (nor an explicit
163
- * `KBQ_FILTER_BAR_CONFIGURATION`) is provided. These are the Russian (`ru-RU`) strings, matching the
164
- * library-wide default-locale convention (every `KBQ_*_DEFAULT_CONFIGURATION` resolves to `ruRULocaleData`).
21
+ * `KBQ_FILTER_BAR_LOCALE_CONFIGURATION`) is provided. These are the Russian (`ru-RU`) strings, matching the
22
+ * library-wide default-locale convention (every `KBQ_*_DEFAULT_LOCALE_CONFIGURATION` resolves to
23
+ * `ruRULocaleData`).
165
24
  * Provide `KBQ_LOCALE_SERVICE` at the application root to localize the filter-bar for other locales.
166
25
  */
167
- declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: {
168
- reset: {
169
- buttonName: string;
170
- };
171
- search: {
172
- tooltip: string;
173
- placeholder: string;
174
- };
175
- filters: {
176
- defaultName: string;
177
- saveNewFilterTooltip: string;
178
- searchPlaceholder: string;
179
- searchEmptyResult: string;
180
- saveAsNewFilter: string;
181
- saveChanges: string;
182
- saveAsNew: string;
183
- change: string;
184
- resetChanges: string;
185
- remove: string;
186
- name: string;
187
- error: string;
188
- errorHint: string;
189
- saveButton: string;
190
- cancelButton: string;
191
- actionsTooltip: string;
192
- };
193
- add: {
194
- tooltip: string;
195
- addedAnnouncement: string;
196
- };
197
- refresher: {
198
- refresh: string;
199
- settings: string;
200
- };
201
- pipe: {
202
- clearButtonTooltip: string;
203
- removeButtonTooltip: string;
204
- applyButton: string;
205
- emptySearchResult: string;
206
- selectAll: string;
207
- };
208
- datePipe: {
209
- customPeriod: string;
210
- customPeriodFrom: string;
211
- customPeriodTo: string;
212
- customPeriodErrorHint: string;
213
- customPeriodMinIntervalErrorHint: string;
214
- customPeriodMaxIntervalErrorHint: string;
215
- backToPeriodSelection: string;
216
- };
217
- };
218
- /** Shape of the localized strings consumed by the filter-bar and its pipes. */
219
- type KbqFilterBarConfiguration = typeof KBQ_FILTER_BAR_DEFAULT_CONFIGURATION;
26
+ declare const KBQ_FILTER_BAR_DEFAULT_LOCALE_CONFIGURATION: KbqFilterBarLocaleConfiguration;
220
27
  /** Injection Token for providing configuration of filter-bar */
221
- declare const KBQ_FILTER_BAR_CONFIGURATION: InjectionToken<{
222
- reset: {
223
- buttonName: string;
224
- };
225
- search: {
226
- tooltip: string;
227
- placeholder: string;
228
- };
229
- filters: {
230
- defaultName: string;
231
- saveNewFilterTooltip: string;
232
- searchPlaceholder: string;
233
- searchEmptyResult: string;
234
- saveAsNewFilter: string;
235
- saveChanges: string;
236
- saveAsNew: string;
237
- change: string;
238
- resetChanges: string;
239
- remove: string;
240
- name: string;
241
- error: string;
242
- errorHint: string;
243
- saveButton: string;
244
- cancelButton: string;
245
- actionsTooltip: string;
246
- };
247
- add: {
248
- tooltip: string;
249
- addedAnnouncement: string;
250
- };
251
- refresher: {
252
- refresh: string;
253
- settings: string;
254
- };
255
- pipe: {
256
- clearButtonTooltip: string;
257
- removeButtonTooltip: string;
258
- applyButton: string;
259
- emptySearchResult: string;
260
- selectAll: string;
261
- };
262
- datePipe: {
263
- customPeriod: string;
264
- customPeriodFrom: string;
265
- customPeriodTo: string;
266
- customPeriodErrorHint: string;
267
- customPeriodMinIntervalErrorHint: string;
268
- customPeriodMaxIntervalErrorHint: string;
269
- backToPeriodSelection: string;
270
- };
271
- }>;
28
+ declare const KBQ_FILTER_BAR_LOCALE_CONFIGURATION: InjectionToken<KbqFilterBarLocaleConfiguration>;
29
+ /**
30
+ * Utility provider for `KBQ_FILTER_BAR_LOCALE_CONFIGURATION`. Only the strings you pass are overridden; the rest
31
+ * keep following the active locale.
32
+ */
33
+ declare const kbqFilterBarLocaleConfigurationProvider: (configuration: KbqDeepPartial<KbqFilterBarLocaleConfiguration>) => Provider;
34
+ /** @deprecated Use {@link KBQ_FILTER_BAR_DEFAULT_LOCALE_CONFIGURATION}. Will be removed in 22.0.0. */
35
+ declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: KbqFilterBarLocaleConfiguration;
36
+ /** @deprecated Use {@link KBQ_FILTER_BAR_LOCALE_CONFIGURATION}. Will be removed in 22.0.0. */
37
+ declare const KBQ_FILTER_BAR_CONFIGURATION: InjectionToken<KbqFilterBarLocaleConfiguration>;
272
38
  /**
273
39
  * Contract a pipe (or filter-bar sub-component) depends on instead of the concrete `KbqFilterBar`.
274
40
  * `KbqFilterBar` provides itself as {@link KBQ_FILTER_BAR_HOST}, so a pipe can be unit-tested against a
@@ -276,8 +42,12 @@ declare const KBQ_FILTER_BAR_CONFIGURATION: InjectionToken<{
276
42
  * they are expected to slim down once the state model moves to signals.
277
43
  */
278
44
  interface KbqFilterBarHost {
279
- /** Localized strings and configuration for the filter-bar and its pipes. */
280
- configuration: KbqFilterBarConfiguration;
45
+ /**
46
+ * Localized strings and configuration for the filter-bar and its pipes. Read via `localeConfiguration()`:
47
+ * the bar derives it from the active locale, so an override is registered with
48
+ * `kbqFilterBarLocaleConfigurationProvider` or bound as `[localeOverrides]`.
49
+ */
50
+ readonly localeConfiguration: Signal<KbqFilterBarLocaleConfiguration>;
281
51
  /** Currently selected filter. A two-way-bindable `model()`: read via `filter()`, write via `filter.set()`. */
282
52
  readonly filter: ModelSignal<KbqFilter | null>;
283
53
  /** Templates used when adding a pipe (also hold the option lists). Read via `pipeTemplates()`. */
@@ -324,13 +94,16 @@ interface KbqFilterBarHost {
324
94
  */
325
95
  declare const KBQ_FILTER_BAR_HOST: InjectionToken<KbqFilterBarHost>;
326
96
  /**
327
- * Injection Token for providing pipes in filter-bar. Defaults to {@link defaultFilterBarPipes} so the
328
- * standalone `KbqFilterBar` works without `KbqFilterBarModule`; override it with
329
- * {@link kbqFilterBarPipesProvider} or a provider of your own.
97
+ * Contract a projected child depends on instead of the concrete `KbqFilters`. `KbqFilters` provides
98
+ * itself as {@link KBQ_FILTERS}, so a child declared in its template does not import the component that
99
+ * declares it.
330
100
  */
331
- declare const KBQ_FILTER_BAR_PIPES: InjectionToken<Map<KbqPipeType, Type<KbqBasePipe<unknown>>>>;
332
- /** Utility provider for `KBQ_FILTER_BAR_PIPES`. */
333
- declare const kbqFilterBarPipesProvider: () => Provider;
101
+ interface KbqFiltersHost {
102
+ /** Remembers the control focus returns to once the save popover closes. */
103
+ saveFocusedElement(button?: KbqButton): void;
104
+ }
105
+ /** Injection token exposing the {@link KbqFiltersHost} seam. */
106
+ declare const KBQ_FILTERS: InjectionToken<KbqFiltersHost>;
334
107
  /** list of pipe types available out of the box */
335
108
  declare enum KbqPipeTypes {
336
109
  ReadOnly = "readonly",
@@ -345,8 +118,6 @@ declare enum KbqPipeTypes {
345
118
  Datetime = "datetime"
346
119
  }
347
120
  type KbqPipeType = `${KbqPipeTypes}` | (string & {});
348
- /** list of pipes available out of the box. */
349
- declare const defaultFilterBarPipes: [KbqPipeType, Type<KbqBasePipe<unknown>>][];
350
121
  interface KbqDateTimeValue {
351
122
  name?: string;
352
123
  start?: string;
@@ -385,12 +156,33 @@ interface KbqPipe {
385
156
  * Default is true
386
157
  * */
387
158
  selectedAllEqualsSelectedNothing?: boolean;
388
- /** @deprecated use cleanable = false and removable = false instead */
389
- required?: boolean;
390
159
  cleanable: boolean;
391
160
  removable: boolean;
392
161
  disabled: boolean;
393
162
  }
163
+ /**
164
+ * One pipe as it is persisted: what identifies it, and what the user put in it.
165
+ *
166
+ * Deliberately not the pipe itself. A pipe built from a template keeps whatever that template carried
167
+ * (`pipe-add.ts` strips only `values` and `valueTemplate`), so it can hold a `compareWith` function or a
168
+ * `DateTime` bound — things `JSON.stringify` drops silently rather than rejecting. Everything but the
169
+ * value is rebuilt from the application's own filters and templates while restoring.
170
+ */
171
+ interface KbqFilterBarPipeState {
172
+ /** `getId(pipe)` — the pipe's `id`, or its `name` when it has none. */
173
+ id: string | number;
174
+ /** The pipe's value, in whatever shape the pipe stores it. Has to survive `JSON.stringify`. */
175
+ value: unknown;
176
+ }
177
+ /** The persisted state of a filter bar: which filter was selected, and the edits made to it. */
178
+ interface KbqFilterBarState {
179
+ /** `KbqFilter.name`, the only identity a filter has. Empty for a filter the user never saved. */
180
+ name: string;
181
+ /** Whether the filter carried unsaved changes. */
182
+ changed: boolean;
183
+ /** The filter's pipes, in order. */
184
+ pipes: KbqFilterBarPipeState[];
185
+ }
394
186
  interface KbqPipeData<V> extends KbqPipe {
395
187
  value: V | null;
396
188
  }
@@ -432,6 +224,12 @@ interface KbqPipeTemplate extends Omit<KbqPipe, 'value'> {
432
224
  * `KbqSelect.multiline`, which lays the trigger's values out in rows.
433
225
  */
434
226
  multilineOptions?: boolean;
227
+ /**
228
+ * Message shown in the dropdown of the `select`, `multiselect`, `tree-select` and `multi-tree-select`
229
+ * pipes when `values` is empty. Defaults to the localized `pipe.noOptions` string. Ignored by other pipe
230
+ * types.
231
+ */
232
+ noOptionsText?: string;
435
233
  /**
436
234
  * Earliest selectable instant for the `date` / `datetime` pipe custom period. Accepts any value the
437
235
  * configured `DateAdapter` can deserialize (with the default Luxon adapter: an ISO-8601 string, a
@@ -502,9 +300,12 @@ declare class KbqFilterReset {
502
300
  private readonly filterBar;
503
301
  /** Event that is generated whenever the user reset a filter. */
504
302
  readonly onResetFilter: _angular_core.OutputEmitterRef<KbqFilter | null>;
505
- /** localized data
506
- * @docs-private */
507
- get localeData(): string;
303
+ /**
304
+ * Default label of the reset button, shown when no content is projected.
305
+ *
306
+ * @docs-private
307
+ */
308
+ protected readonly buttonName: _angular_core.Signal<string>;
508
309
  protected resetFilter(): void;
509
310
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterReset, never>;
510
311
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterReset, "kbq-filter-reset", never, {}, { "onResetFilter": "onResetFilter"; }, never, ["*"], true, never>;
@@ -549,30 +350,16 @@ declare class KbqFilterSavePopover implements AfterViewInit {
549
350
  /** Custom error text passed to `showError()`; `null` when the locale-derived default should be used. */
550
351
  private customErrorText;
551
352
  isSaving: boolean;
552
- /** localized data
553
- * @docs-private */
554
- get localeData(): {
555
- defaultName: string;
556
- saveNewFilterTooltip: string;
557
- searchPlaceholder: string;
558
- searchEmptyResult: string;
559
- saveAsNewFilter: string;
560
- saveChanges: string;
561
- saveAsNew: string;
562
- change: string;
563
- resetChanges: string;
564
- remove: string;
565
- name: string;
566
- error: string;
567
- errorHint: string;
568
- saveButton: string;
569
- cancelButton: string;
570
- actionsTooltip: string;
571
- };
572
- /** Filter saving error text (custom or locale-derived).
573
- * @docs-private */
353
+ /**
354
+ * Filter saving error text (custom or locale-derived).
355
+ *
356
+ * @docs-private
357
+ */
574
358
  get filterSavingErrorText(): string;
575
- /** header of popover. Depends on the mode */
359
+ /**
360
+ * Header of the popover, which depends on the mode: a new filter or a new name for the current one.
361
+ * It doubles as the caption of the unlabelled name field.
362
+ */
576
363
  get popoverHeader(): string;
577
364
  ngAfterViewInit(): void;
578
365
  openSaveAsNewFilterPopover(): void;
@@ -598,33 +385,28 @@ declare class KbqFilters implements OnInit {
598
385
  protected readonly focusMonitor: FocusMonitor;
599
386
  /** @docs-private */
600
387
  protected readonly placements: typeof PopUpPlacements;
601
- /** @docs-private */
602
- protected readonly styles: typeof KbqButtonStyles;
603
- /** @docs-private */
604
- protected readonly colors: typeof KbqComponentColors;
605
388
  /** KbqFilterBar instance */
606
389
  protected readonly filterBar: KbqFilterBar;
607
390
  /** @docs-private */
608
- private readonly changeDetectorRef;
609
- /** @docs-private */
610
- protected readonly mainButton: _angular_core.Signal<KbqButton>;
391
+ protected readonly mainButton: Signal<KbqButton>;
611
392
  /** @docs-private */
612
- protected readonly saveNewFilterButton: _angular_core.Signal<KbqButton>;
393
+ protected readonly saveNewFilterButton: Signal<KbqButton>;
613
394
  /** @docs-private */
614
- protected readonly filterActionsButton: _angular_core.Signal<KbqButton>;
395
+ protected readonly filterActionsButton: Signal<KbqButton>;
615
396
  /** @docs-private */
616
- protected readonly popover: _angular_core.Signal<KbqPopoverTrigger>;
397
+ protected readonly popover: Signal<KbqPopoverTrigger>;
617
398
  /** @docs-private */
618
- protected readonly dropdown: _angular_core.Signal<KbqDropdownTrigger>;
399
+ protected readonly dropdown: Signal<KbqDropdownTrigger>;
619
400
  /** @docs-private */
620
- protected readonly filterActionsDropdown: _angular_core.Signal<KbqDropdownTrigger | undefined>;
401
+ protected readonly filterActionsDropdown: Signal<KbqDropdownTrigger | undefined>;
621
402
  /** @docs-private */
622
- protected readonly savePopover: _angular_core.Signal<KbqFilterSavePopover>;
403
+ protected readonly savePopover: Signal<KbqFilterSavePopover>;
623
404
  private readonly search;
624
405
  /** control for search filter */
625
406
  readonly searchControl: FormControl<string | null>;
626
- /** filtered by search filters */
627
- filteredOptions: Observable<KbqFilter[]>;
407
+ private readonly searchQuery;
408
+ /** Saved filters whose name matches the search query. */
409
+ readonly filteredOptions: Signal<KbqFilter[]>;
628
410
  /** @docs-private */
629
411
  protected readonly popoverSize = PopUpSizes.Medium;
630
412
  /** @docs-private */
@@ -655,28 +437,11 @@ declare class KbqFilters implements OnInit {
655
437
  get filter(): KbqFilter | null;
656
438
  /** Component state. True if 'filters' input contains no elements. */
657
439
  get isEmpty(): boolean;
658
- /** localized data
659
- * @docs-private */
660
- get localeData(): {
661
- defaultName: string;
662
- saveNewFilterTooltip: string;
663
- searchPlaceholder: string;
664
- searchEmptyResult: string;
665
- saveAsNewFilter: string;
666
- saveChanges: string;
667
- saveAsNew: string;
668
- change: string;
669
- resetChanges: string;
670
- remove: string;
671
- name: string;
672
- error: string;
673
- errorHint: string;
674
- saveButton: string;
675
- cancelButton: string;
676
- actionsTooltip: string;
677
- };
678
- /** Current focus origin state.
679
- * @docs-private */
440
+ /**
441
+ * Current focus origin state.
442
+ *
443
+ * @docs-private
444
+ */
680
445
  get focusOrigin(): FocusOrigin;
681
446
  private _focusOrigin;
682
447
  private focusedElementBeforeOpen;
@@ -698,8 +463,10 @@ declare class KbqFilters implements OnInit {
698
463
  onDropdownOpen(): void;
699
464
  resetFilterChanges(): void;
700
465
  removeFilter(): void;
701
- /** Hide the popup and restore focus.
702
- * Use this method in the onSave or onChangeFilter events after the data has been successfully saved. */
466
+ /**
467
+ * Hide the popup and restore focus.
468
+ * Use this method in the onSave or onChangeFilter events after the data has been successfully saved.
469
+ */
703
470
  filterSavedSuccessfully(): void;
704
471
  /** Shows an error. Use this method in the onSave or onChangeFilter events if saving data failed. */
705
472
  filterSavedUnsuccessfully(error?: KbqSaveFilterError): void;
@@ -719,8 +486,11 @@ declare class KbqFilters implements OnInit {
719
486
  set showFilterSavingError(value: boolean);
720
487
  /** @docs-private */
721
488
  get filterSavingErrorText(): string;
722
- /** header of popover. Depends on the mode
723
- * @docs-private */
489
+ /**
490
+ * header of popover. Depends on the mode
491
+ *
492
+ * @docs-private
493
+ */
724
494
  get popoverHeader(): string;
725
495
  /** @docs-private */
726
496
  openSaveAsNewFilterPopover(): void;
@@ -737,66 +507,14 @@ declare class KbqFilters implements OnInit {
737
507
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilters, "kbq-filters", ["kbqFilters"], { "filters": { "alias": "filters"; "required": true; "isSignal": true; }; }, { "onSelectFilter": "onSelectFilter"; "onSave": "onSave"; "onChangeFilter": "onChangeFilter"; "onRemoveFilter": "onRemoveFilter"; "onResetFilterChanges": "onResetFilterChanges"; }, never, ["*"], true, never>;
738
508
  }
739
509
 
740
- declare class KbqFilterBar implements KbqFilterBarHost {
741
- /** @docs-private */
742
- protected readonly changeDetectorRef: ChangeDetectorRef;
743
- /** @docs-private */
744
- protected readonly localeService: _koobiq_components_core.KbqLocaleService | null;
745
- readonly externalConfiguration: {
746
- reset: {
747
- buttonName: string;
748
- };
749
- search: {
750
- tooltip: string;
751
- placeholder: string;
752
- };
753
- filters: {
754
- defaultName: string;
755
- saveNewFilterTooltip: string;
756
- searchPlaceholder: string;
757
- searchEmptyResult: string;
758
- saveAsNewFilter: string;
759
- saveChanges: string;
760
- saveAsNew: string;
761
- change: string;
762
- resetChanges: string;
763
- remove: string;
764
- name: string;
765
- error: string;
766
- errorHint: string;
767
- saveButton: string;
768
- cancelButton: string;
769
- actionsTooltip: string;
770
- };
771
- add: {
772
- tooltip: string;
773
- addedAnnouncement: string;
774
- };
775
- refresher: {
776
- refresh: string;
777
- settings: string;
778
- };
779
- pipe: {
780
- clearButtonTooltip: string;
781
- removeButtonTooltip: string;
782
- applyButton: string;
783
- emptySearchResult: string;
784
- selectAll: string;
785
- };
786
- datePipe: {
787
- customPeriod: string;
788
- customPeriodFrom: string;
789
- customPeriodTo: string;
790
- customPeriodErrorHint: string;
791
- customPeriodMinIntervalErrorHint: string;
792
- customPeriodMaxIntervalErrorHint: string;
793
- backToPeriodSelection: string;
794
- };
795
- } | null;
796
- /** Localized strings and configuration for the filter-bar and its pipes. */
797
- get configuration(): KbqFilterBarConfiguration;
798
- set configuration(value: KbqFilterBarConfiguration);
799
- private readonly _configuration;
510
+ declare class KbqFilterBar implements KbqFilterBarHost, AfterContentInit {
511
+ /**
512
+ * Localized strings and configuration for the filter-bar and its pipes.
513
+ *
514
+ * Read through a signal so that a runtime `setLocale()` reaches the pipes and the projected
515
+ * sub-components, which render these strings from their own `OnPush` views.
516
+ */
517
+ readonly localeConfiguration: _angular_core.Signal<_koobiq_components_core.KbqFilterBarLocaleConfiguration>;
800
518
  /** @docs-private */
801
519
  readonly filters: _angular_core.Signal<KbqFilters | undefined>;
802
520
  /** @docs-private */
@@ -834,21 +552,46 @@ declare class KbqFilterBar implements KbqFilterBarHost {
834
552
  readonly isDisabled: _angular_core.Signal<boolean>;
835
553
  private savedFilter;
836
554
  /**
837
- * All changes.
838
- * @deprecated noop. Reactivity is driven by the `filter` signal now; this never emits and will be
839
- * removed in the next major.
555
+ * Persistence of the selected filter and its edits, applied as a host directive. `useStateSaving` and
556
+ * `stateSavingKey` are its inputs, forwarded onto the filter bar.
840
557
  */
841
- readonly changes: BehaviorSubject<void>;
558
+ private readonly stateSaving;
559
+ /** The payload read while initializing, held until the data it needs to be applied has arrived. */
560
+ private pendingState;
561
+ /** The filter that was selected when the payload was read, to tell a later change from that one. */
562
+ private filterWhenPending;
563
+ /** Whether the filter is being written by a restore, so the write below does not echo it back. */
564
+ private restoring;
565
+ /** Whether the persisted state has been read; reading twice would resurrect a dismissed filter. */
566
+ private hasRead;
842
567
  /** Event that emits whenever the filter is reset. */
843
568
  readonly onResetFilter: BehaviorSubject<boolean>;
844
569
  /** internal filter changes */
845
570
  readonly internalFilterChanges: BehaviorSubject<KbqFilter | null>;
846
571
  /** internal changes in templates */
847
572
  readonly internalTemplatesChanges: BehaviorSubject<KbqPipeTemplate[] | null>;
848
- /** Requests that an already-added pipe open its pop-up. See {@link KbqFilterBarHost.openPipe}.
849
- * @docs-private */
573
+ /**
574
+ * Requests that an already-added pipe open its pop-up. See {@link KbqFilterBarHost.openPipe}.
575
+ *
576
+ * @docs-private
577
+ */
850
578
  readonly openPipe: BehaviorSubject<string | number | null>;
851
579
  constructor();
580
+ ngAfterContentInit(): void;
581
+ /** Reads the persisted state and applies it. Runs while initializing, and again on a key change. */
582
+ private restoreState;
583
+ /**
584
+ * Removes the state persisted for this filter bar.
585
+ *
586
+ * Persistence itself stays on — the next change is written again. Unset `useStateSaving` to stop it.
587
+ * Unrelated to `restoreFilterState()`, which reverts to an in-memory snapshot within one session.
588
+ */
589
+ clearSavedState(): void;
590
+ /**
591
+ * Whether state is currently persisted for this filter bar — restored on init, or written since.
592
+ * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.
593
+ */
594
+ get hasSavedState(): boolean;
852
595
  /** Remove pipe from current filter and emit event */
853
596
  removePipe(pipe: KbqPipe): void;
854
597
  /**
@@ -860,25 +603,47 @@ declare class KbqFilterBar implements KbqFilterBarHost {
860
603
  */
861
604
  saveFilterState(filter?: KbqFilter): void;
862
605
  /**
863
- * Restore previously saved filter state.
864
- *
865
- * @see `saveFilterState` — pipe `value` payloads must be structured-cloneable.
606
+ * Restore previously saved filter state. As with {@link saveFilterState}, pipe `value` payloads must be
607
+ * structured-cloneable.
866
608
  */
867
609
  restoreFilterState(filter?: KbqFilter): void;
868
610
  /** Set the filter state "changed" to false */
869
611
  resetFilterChangedState(): void;
870
- private updateLocaleParams;
871
- private initDefaultParams;
612
+ /** Whether this filter bar reads and writes its state at all. */
613
+ private get persists();
614
+ /**
615
+ * Persists which filter is selected and the edits made to it.
616
+ *
617
+ * A bar with nothing selected removes its entry rather than storing an empty filter: the next load
618
+ * should fall back to whatever default the application supplies, not to a filter with no name.
619
+ */
620
+ private persistState;
621
+ /**
622
+ * The filter a named payload is rebuilt over when no `<kbq-filters>` is projected.
623
+ *
624
+ * A name is looked up in the projected list, and not finding it there normally means the list has not
625
+ * arrived yet — applications load their saved filters from a server, and waiting is what lets a late
626
+ * one still restore. With no `<kbq-filters>` in the markup at all there is no list the name could ever
627
+ * appear in, so that wait would never end: the bar would write on every change and read nothing back.
628
+ * The filter the application already selected is the only base there will be, and it is the right one
629
+ * while it carries that same name.
630
+ */
631
+ private baseWithoutFilterList;
632
+ /**
633
+ * Rebuilds the persisted filter and selects it, or leaves the payload pending while what it needs is
634
+ * still missing.
635
+ */
636
+ private applyPendingState;
872
637
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterBar, never>;
873
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "selectedAllEqualsSelectedNothing": { "alias": "selectedAllEqualsSelectedNothing"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; "isSignal": true; }; }, { "filter": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; "onClearPipe": "onClearPipe"; "onClosePipe": "onClosePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-search-expandable", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
638
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "selectedAllEqualsSelectedNothing": { "alias": "selectedAllEqualsSelectedNothing"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; "isSignal": true; }; }, { "filter": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; "onClearPipe": "onClearPipe"; "onClosePipe": "onClosePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-search-expandable", "kbq-filter-refresher, [kbq-filter-refresher]"], true, [{ directive: typeof _koobiq_components_core.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }, { directive: typeof _koobiq_components_core.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
874
639
  }
875
640
 
876
641
  declare class KbqFilterBarButton {
877
642
  private readonly button;
878
643
  /** KbqFilterBar host seam */
879
644
  private readonly filterBar;
880
- /** KbqFilters instance */
881
- protected readonly filters: KbqFilters;
645
+ /** KbqFilters host seam */
646
+ private readonly filters;
882
647
  constructor();
883
648
  /** @docs-private */
884
649
  saveFocusedElement(): void;
@@ -886,69 +651,184 @@ declare class KbqFilterBarButton {
886
651
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqFilterBarButton, "[kbqFilterBarButton]", never, {}, {}, never, never, true, never>;
887
652
  }
888
653
 
654
+ /** Injection Token for providing configuration of filter-bar */
655
+ declare const KBQ_PIPE_DATA: InjectionToken<unknown>;
656
+ /** function to get unique identifier of an element */
657
+ declare function getId(item: KbqPipeTemplate): KbqPipeType | string | number;
658
+ declare abstract class KbqBasePipe<V> implements AfterViewInit {
659
+ /** changes of state */
660
+ readonly stateChanges: Subject<void>;
661
+ /** pipe data. Provided from subclass */
662
+ readonly data: KbqPipeData<V>;
663
+ /**
664
+ * KbqFilterBar instance
665
+ *
666
+ * @docs-private
667
+ */
668
+ protected readonly filterBar: _koobiq_components_filter_bar.KbqFilterBarHost | null;
669
+ /** @docs-private */
670
+ protected readonly changeDetectorRef: ChangeDetectorRef;
671
+ /** @docs-private */
672
+ protected readonly destroyRef: DestroyRef;
673
+ /** @docs-private */
674
+ protected readonly focusMonitor: FocusMonitor;
675
+ /** @docs-private */
676
+ protected readonly elementRef: ElementRef<HTMLElement>;
677
+ private readonly inputModalityDetector;
678
+ private readonly document;
679
+ /**
680
+ * Whether this pipe has been destroyed. Guards deferred (`setTimeout`) work that could otherwise
681
+ * read view queries or mutate `data` after the pipe was removed or the filter switched.
682
+ *
683
+ * @docs-private
684
+ */
685
+ protected destroyed: boolean;
686
+ /** values to select from the pipe template */
687
+ protected values: any;
688
+ /** TemplateRef for selecting an option */
689
+ protected valueTemplate?: TemplateRef<any> | string;
690
+ /**
691
+ * Optional equality comparator forwarded from the pipe template to the underlying `kbq-select`.
692
+ * Only consumed by the select / multi-select pipe components; when unset they fall back to their
693
+ * own id-based `compareByValue`.
694
+ */
695
+ protected optionCompareWith?: (o1: KbqSelectValue | null | undefined, o2: KbqSelectValue | null | undefined) => boolean;
696
+ /**
697
+ * Values forwarded from the pipe template whose selection the user cannot remove. Only consumed by
698
+ * the multi-select pipe components; other pipe types ignore it.
699
+ */
700
+ protected lockedValues?: unknown[];
701
+ /**
702
+ * Maximum height of the dropdown panel's scrollable list, forwarded from the pipe template to the
703
+ * underlying `kbq-select` / `kbq-tree-select`. Only consumed by the select-family pipe components;
704
+ * `undefined` leaves the list at the select-family default of 256px.
705
+ */
706
+ protected panelMaxHeight?: KbqPanelMaxHeight;
707
+ /**
708
+ * Whether the dropdown's option names and captions wrap instead of being truncated, forwarded from
709
+ * the pipe template. Only consumed by the select / multi-select pipe components.
710
+ */
711
+ protected multilineOptions?: boolean;
712
+ /**
713
+ * Message shown in place of the options when the pipe template has none, forwarded from the pipe
714
+ * template. Only consumed by the select-family pipe components; `undefined` falls back to the localized
715
+ * `pipe.noOptions` string.
716
+ */
717
+ protected noOptionsText?: string;
718
+ /**
719
+ * Whether the current platform is a Mac.
720
+ *
721
+ * @docs-private
722
+ */
723
+ isMac: boolean;
724
+ /**
725
+ * Data for the pipe.
726
+ *
727
+ * @docs-private
728
+ */
729
+ $implicit: unknown;
730
+ /** Whether the current pipe is empty. Used for apply style modifier */
731
+ get isEmpty(): boolean;
732
+ /** Whether the current pipe is removable or cleanable. Used for apply style modifier */
733
+ get showRemoveButton(): boolean;
734
+ /**
735
+ * Whether the pipe template provides no values to choose from. The select-family pipe components then
736
+ * show `noOptionsMessage` instead of the list; the date pipes open straight on the custom period.
737
+ */
738
+ protected get noOptions(): boolean;
739
+ /** Message the select-family pipe components show when there are no options. */
740
+ protected get noOptionsMessage(): string;
741
+ /**
742
+ * Localized strings of the filter-bar, falling back to the defaults outside a bar.
743
+ *
744
+ * @docs-private
745
+ */
746
+ readonly localeConfiguration: _angular_core.Signal<KbqFilterBarLocaleConfiguration>;
747
+ constructor();
748
+ ngAfterViewInit(): void;
749
+ /** templateRef checker utility */
750
+ isTemplateRef(value: unknown): boolean;
751
+ /** updates values for selection and value template */
752
+ updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
753
+ /** removes pipe from filter-bar and triggers changes */
754
+ onRemove(): void;
755
+ /** clears the pipe and triggers changes */
756
+ onClear(): void;
757
+ /**
758
+ * Value a cleared pipe is left with. Overridden by pipes that keep part of their value across a clear
759
+ * — the multi-select pipes hold on to their locked options.
760
+ *
761
+ * @docs-private
762
+ */
763
+ protected clearedValue(): V | null;
764
+ /**
765
+ * Focus origin to hand to {@link FocusMonitor} whenever this pipe moves focus programmatically, so the
766
+ * `.cdk-keyboard-focused` ring is painted for keyboard navigation only and never for a mouse-driven one.
767
+ *
768
+ * `InputModalityDetector.mostRecentModality` reflects what the user is doing *right now*, and is the
769
+ * only source that stays correct while a panel is open: panel content lives in the CDK overlay
770
+ * container, which is not a DOM descendant of the pipe host, so a focus origin captured on the host
771
+ * itself would freeze at "how the trigger was focused" and couldn't tell a click inside the panel apart
772
+ * from the keypress that opened it. The detector reacts only to `keydown`/`mousedown`/`touchstart`
773
+ * (never to hover or scroll), so merely moving the mouse cannot strip a keyboard user's ring, and it
774
+ * maps a screen reader's synthetic mousedown to `keyboard`. It falls back to `'program'` only before any
775
+ * such interaction has ever occurred on the page — at which point no ring should be shown anyway.
776
+ *
777
+ * @docs-private
778
+ */
779
+ protected get currentFocusOrigin(): NonNullable<FocusOrigin>;
780
+ /**
781
+ * Restores focus to the pipe's trigger button after a value is chosen or the panel closes.
782
+ * Focuses via {@link FocusMonitor} with `currentFocusOrigin` so a keyboard-driven interaction keeps
783
+ * its focus ring, while a mouse-driven one does not.
784
+ *
785
+ * @docs-private
786
+ */
787
+ protected restoreTriggerFocus(): void;
788
+ /**
789
+ * Focuses the pipe's trigger button with `currentFocusOrigin`, unconditionally.
790
+ *
791
+ * @docs-private
792
+ */
793
+ protected focusTrigger(): void;
794
+ /**
795
+ * Every pipe opens untracked: called from a consumer's `effect()`, the state read on the way would make the
796
+ * effect run again on every open and close.
797
+ *
798
+ * @docs-private
799
+ */
800
+ abstract open(): void;
801
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqBasePipe<any>, never>;
802
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqBasePipe<any>, never, never, {}, {}, never, never, true, never>;
803
+ }
804
+
805
+ /** list of pipes available out of the box. */
806
+ declare const defaultFilterBarPipes: [KbqPipeType, Type<KbqBasePipe<unknown>>][];
807
+ /**
808
+ * Injection Token for providing pipes in filter-bar. Defaults to {@link defaultFilterBarPipes} so the
809
+ * standalone `KbqFilterBar` works without `KbqFilterBarModule`; override it with
810
+ * {@link kbqFilterBarPipesProvider} or a provider of your own.
811
+ */
812
+ declare const KBQ_FILTER_BAR_PIPES: InjectionToken<Map<KbqPipeType, Type<KbqBasePipe<unknown>>>>;
813
+ /** Utility provider for `KBQ_FILTER_BAR_PIPES`. */
814
+ declare const kbqFilterBarPipesProvider: () => Provider;
815
+
889
816
  declare class KbqFilterRefresher {
890
817
  /** KbqFilterBar host seam */
891
818
  private readonly filterBar;
892
- /** localized data
893
- * @docs-private */
894
- protected get localeData(): {
895
- reset: {
896
- buttonName: string;
897
- };
898
- search: {
899
- tooltip: string;
900
- placeholder: string;
901
- };
902
- filters: {
903
- defaultName: string;
904
- saveNewFilterTooltip: string;
905
- searchPlaceholder: string;
906
- searchEmptyResult: string;
907
- saveAsNewFilter: string;
908
- saveChanges: string;
909
- saveAsNew: string;
910
- change: string;
911
- resetChanges: string;
912
- remove: string;
913
- name: string;
914
- error: string;
915
- errorHint: string;
916
- saveButton: string;
917
- cancelButton: string;
918
- actionsTooltip: string;
919
- };
920
- add: {
921
- tooltip: string;
922
- addedAnnouncement: string;
923
- };
924
- refresher: {
925
- refresh: string;
926
- settings: string;
927
- };
928
- pipe: {
929
- clearButtonTooltip: string;
930
- removeButtonTooltip: string;
931
- applyButton: string;
932
- emptySearchResult: string;
933
- selectAll: string;
934
- };
935
- datePipe: {
936
- customPeriod: string;
937
- customPeriodFrom: string;
938
- customPeriodTo: string;
939
- customPeriodErrorHint: string;
940
- customPeriodMinIntervalErrorHint: string;
941
- customPeriodMaxIntervalErrorHint: string;
942
- backToPeriodSelection: string;
943
- };
944
- };
819
+ /**
820
+ * Localized strings of the filter-bar, falling back to the defaults outside a bar.
821
+ *
822
+ * @docs-private
823
+ */
824
+ protected readonly localeConfiguration: _angular_core.Signal<_koobiq_components_core.KbqFilterBarLocaleConfiguration>;
945
825
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterRefresher, never>;
946
826
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterRefresher, "kbq-filter-refresher, [kbq-filter-refresher]", never, {}, {}, never, never, true, never>;
947
827
  }
948
828
 
949
829
  declare class KbqPipeAdd {
950
830
  /** KbqFilterBar instance */
951
- protected readonly filterBar: KbqFilterBarHost;
831
+ protected readonly filterBar: _koobiq_components_filter_bar.KbqFilterBarHost;
952
832
  /** @docs-private */
953
833
  readonly select: _angular_core.Signal<KbqSelect>;
954
834
  /** Event that is generated after add pipe. */
@@ -962,6 +842,7 @@ declare class KbqPipeAdd {
962
842
  readonly addedPipes: _angular_core.Signal<(string | number | (string & {}))[]>;
963
843
  /**
964
844
  * Visually-hidden live-region text announcing a newly-added pipe to assistive tech (WCAG 4.1.3).
845
+ *
965
846
  * @docs-private
966
847
  */
967
848
  protected readonly announcement: _angular_core.WritableSignal<string>;
@@ -991,32 +872,28 @@ declare class KbqPipeButton {
991
872
  /** KbqPipe instance */
992
873
  protected readonly pipe: KbqBasePipe<any>;
993
874
  /** KbqFilterBar instance */
994
- protected readonly filterBar: KbqFilterBarHost;
875
+ protected readonly filterBar: _koobiq_components_filter_bar.KbqFilterBarHost;
995
876
  /** @docs-private */
996
877
  protected readonly changeDetectorRef: ChangeDetectorRef;
997
878
  /** enables/disables read-only state */
998
879
  readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
999
- /** localized data
1000
- * @docs-private */
1001
- get localeData(): {
1002
- clearButtonTooltip: string;
1003
- removeButtonTooltip: string;
1004
- applyButton: string;
1005
- emptySearchResult: string;
1006
- selectAll: string;
1007
- };
880
+ /**
881
+ * Localized strings of the filter-bar.
882
+ *
883
+ * @docs-private
884
+ */
885
+ protected readonly localeConfiguration: _angular_core.Signal<_koobiq_components_core.KbqFilterBarLocaleConfiguration>;
1008
886
  constructor();
1009
887
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeButton, never>;
1010
888
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeButton, "kbq-pipe-button", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1011
889
  }
1012
890
 
1013
891
  declare class KbqPipeState<T> {
1014
- /** @docs-private */
1015
892
  private readonly button;
1016
- /** @docs-private */
1017
893
  private readonly pipe;
1018
- /** KbqFilterBar instance
1019
- * @docs-private */
894
+ /**
895
+ * KbqFilterBar instance
896
+ */
1020
897
  private readonly filterBar;
1021
898
  /**
1022
899
  * Pipe state the styled button belongs to.
@@ -1054,20 +931,34 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1054
931
  /** @docs-private */
1055
932
  protected readonly colors: typeof KbqComponentColors;
1056
933
  /** Whether the current state is list of periods. When false will displayed control for set custom period */
1057
- protected isListMode: boolean;
934
+ protected readonly isListMode: _angular_core.WritableSignal<boolean>;
1058
935
  /** @docs-private */
1059
936
  protected formGroup: FormGroup;
1060
937
  /** @docs-private */
1061
- protected showStartCalendar: boolean;
938
+ protected readonly showStartCalendar: _angular_core.WritableSignal<boolean>;
1062
939
  /** @docs-private */
1063
- protected showEndCalendar: boolean;
940
+ protected readonly showEndCalendar: _angular_core.WritableSignal<boolean>;
941
+ /**
942
+ * Id of the "From" label, which names the start inputs.
943
+ *
944
+ * @docs-private
945
+ */
946
+ protected readonly fromLabelId: string;
947
+ /**
948
+ * Id of the "To" label, which names the end inputs.
949
+ *
950
+ * @docs-private
951
+ */
952
+ protected readonly toLabelId: string;
1064
953
  /**
1065
954
  * Lower bound instant applied to the calendars, date inputs and (datetime) timepickers.
955
+ *
1066
956
  * @docs-private
1067
957
  */
1068
958
  protected min: any;
1069
959
  /**
1070
960
  * Upper bound instant applied to the calendars, date inputs and (datetime) timepickers.
961
+ *
1071
962
  * @docs-private
1072
963
  */
1073
964
  protected max: any;
@@ -1082,7 +973,8 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1082
973
  /** @docs-private */
1083
974
  readonly listSelection: _angular_core.Signal<KbqListSelection<any> | undefined>;
1084
975
  /** @docs-private */
1085
- readonly returnButton: _angular_core.Signal<KbqButton>;
976
+ readonly returnButton: _angular_core.Signal<KbqButton | undefined>;
977
+ private readonly periodStartInput;
1086
978
  /** Resolves the `minDateTime` / `maxDateTime` bounds from the pipe template matching this pipe. */
1087
979
  private updateDateBounds;
1088
980
  /**
@@ -1098,6 +990,12 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1098
990
  * would otherwise disable the constraint without any error (e.g. a `{ days: 5 }` typo'd as `5`).
1099
991
  */
1100
992
  private toValidInterval;
993
+ /**
994
+ * Resolves the relative `start` of a preset (a duration-like object such as `{ days: -7 }`) against today.
995
+ * Anything else — a date instance, an ISO string left without its `end` — yields `undefined`, so the
996
+ * defaults apply instead of `plus()` throwing.
997
+ */
998
+ private toRelativeStart;
1101
999
  /** Clamps `value` into the configured `[min, max]` bounds using full-instant comparison. */
1102
1000
  private clampToBounds;
1103
1001
  /**
@@ -1131,6 +1029,7 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1131
1029
  private computeDefaultRange;
1132
1030
  /**
1133
1031
  * Upper bound for the START date input: the earlier of the END value and the configured `max`.
1032
+ *
1134
1033
  * @docs-private
1135
1034
  */
1136
1035
  get startMax(): any;
@@ -1143,24 +1042,30 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1143
1042
  * `[min, max]` (`kbqDatepickerMin`/`kbqDatepickerMax`, `kbqTimepickerLowerThenMin`/
1144
1043
  * `kbqTimepickerHigherThenMax`) or unparseable typed text (`kbqDatepickerParse`/`kbqTimepickerParse`)
1145
1044
  * — is left to the field's own error styling instead of being mislabelled as an ordering problem.
1045
+ *
1146
1046
  * @docs-private
1147
1047
  */
1148
1048
  protected get isPeriodInverted(): boolean;
1149
1049
  /**
1150
1050
  * Localized "period too short" hint with the `minInterval` limit interpolated and locale-formatted.
1051
+ *
1151
1052
  * @docs-private
1152
1053
  */
1153
1054
  get minIntervalErrorHint(): string;
1154
1055
  /**
1155
1056
  * Localized "period too long" hint with the `maxInterval` limit interpolated and locale-formatted.
1057
+ *
1156
1058
  * @docs-private
1157
1059
  */
1158
1060
  get maxIntervalErrorHint(): string;
1159
1061
  /** Whether the current pipe is empty. */
1160
1062
  get isEmpty(): boolean;
1161
1063
  ngAfterViewInit(): void;
1162
- /** keydown handler
1163
- * @docs-private */
1064
+ /**
1065
+ * keydown handler
1066
+ *
1067
+ * @docs-private
1068
+ */
1164
1069
  onKeydown($event: KeyboardEvent): void;
1165
1070
  onApplyPeriod(): void;
1166
1071
  onSelect(item: KbqDateTimeValue): void;
@@ -1173,6 +1078,12 @@ declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTi
1173
1078
  onFocusStartInput(): void;
1174
1079
  onFocusEndInput(): void;
1175
1080
  hideCalendars(): void;
1081
+ /**
1082
+ * Hides the calendars before the browser moves focus on Tab or Shift+Tab out of a date input.
1083
+ *
1084
+ * @docs-private
1085
+ */
1086
+ protected onDateInputTab(): void;
1176
1087
  /**
1177
1088
  * Whether this pipe edits the time part (`datetime`) or only the date (`date`). Gates whether the
1178
1089
  * `minDateTime` / `maxDateTime` bounds keep their time or are pinned to day edges.
@@ -1248,12 +1159,15 @@ declare class KbqPipeInputComponent extends KbqBasePipe<string | null> implement
1248
1159
  declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements AfterViewInit, OnInit {
1249
1160
  /** control for search options */
1250
1161
  readonly searchControl: FormControl<string | null>;
1251
- /** filtered by search options */
1252
- filteredOptions: Observable<KbqSelectValue[]>;
1162
+ /**
1163
+ * Options of the pipe template that match the search query. Follows the templates too, so options
1164
+ * supplied after initialization render on first open.
1165
+ */
1166
+ readonly filteredOptions: Signal<KbqSelectValue[]>;
1253
1167
  /** @docs-private */
1254
- readonly select: _angular_core.Signal<KbqSelect>;
1168
+ readonly select: Signal<KbqSelect>;
1255
1169
  /** @docs-private */
1256
- readonly options: _angular_core.Signal<readonly KbqOption[]>;
1170
+ readonly options: Signal<readonly KbqOption[]>;
1257
1171
  /** selected value */
1258
1172
  get selected(): KbqSelectValue[] | null;
1259
1173
  /** Whether the current pipe is empty. */
@@ -1318,7 +1232,7 @@ declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implement
1318
1232
  treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
1319
1233
  dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
1320
1234
  /** @docs-private */
1321
- readonly select: _angular_core.Signal<KbqTreeSelect>;
1235
+ readonly select: _angular_core.Signal<KbqTreeSelect<KbqTreeSelectFlatNode>>;
1322
1236
  constructor();
1323
1237
  ngOnInit(): void;
1324
1238
  ngAfterViewInit(): void;
@@ -1340,7 +1254,7 @@ declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implement
1340
1254
 
1341
1255
  declare class KbqPipeMultiTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelectValue[]> implements OnInit {
1342
1256
  /** @docs-private */
1343
- readonly tree: _angular_core.Signal<KbqTreeSelection>;
1257
+ readonly tree: _angular_core.Signal<KbqTreeSelection<KbqTreeSelectFlatNode>>;
1344
1258
  /** selected value */
1345
1259
  get selected(): KbqSelectValue[] | null;
1346
1260
  /** Whether the current pipe is empty. */
@@ -1408,19 +1322,20 @@ declare class KbqPipeReadonlyComponent extends KbqBasePipe<string | null> {
1408
1322
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeReadonlyComponent, "kbq-pipe-readonly", never, {}, {}, never, never, true, never>;
1409
1323
  }
1410
1324
 
1411
- declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit, OnInit {
1325
+ declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit {
1412
1326
  /** control for search options */
1413
1327
  readonly searchControl: FormControl<string | null>;
1414
- /** filtered by search options */
1415
- filteredOptions: Observable<KbqSelectValue[]>;
1328
+ /**
1329
+ * Options of the pipe template that match the search query. Follows the templates too, so options
1330
+ * supplied after initialization render on first open.
1331
+ */
1332
+ readonly filteredOptions: Signal<KbqSelectValue[]>;
1416
1333
  /** @docs-private */
1417
- readonly select: _angular_core.Signal<KbqSelect>;
1334
+ readonly select: Signal<KbqSelect>;
1418
1335
  /** selected value */
1419
1336
  get selected(): KbqSelectValue | null;
1420
1337
  /** Whether the current pipe is empty. */
1421
1338
  get isEmpty(): boolean;
1422
- /** @docs-private */
1423
- ngOnInit(): void;
1424
1339
  ngAfterViewInit(): void;
1425
1340
  onSelect(item: KbqSelectValue): void;
1426
1341
  /** Comparator of selected options */
@@ -1470,5 +1385,5 @@ declare class KbqPipeTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelect
1470
1385
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeTreeSelectComponent, "kbq-pipe-tree-select", never, {}, {}, never, never, true, never>;
1471
1386
  }
1472
1387
 
1473
- export { KBQ_FILTER_BAR_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_CONFIGURATION, KBQ_FILTER_BAR_HOST, KBQ_FILTER_BAR_PIPES, KBQ_PIPE_DATA, KbqBasePipe, KbqFilterBar, KbqFilterBarButton, KbqFilterBarModule, KbqFilterRefresher as KbqFilterBarRefresher, KbqFilterRefresher, KbqFilterReset, KbqFilterSavePopover, KbqFilters, KbqPipeAdd, KbqPipeButton, KbqPipeDateBaseComponent, KbqPipeDateComponent, KbqPipeDatetimeComponent, KbqPipeDirective, KbqPipeInputComponent, KbqPipeMinWidth, KbqPipeMultiSelectComponent, KbqPipeMultiTreeSelectComponent, KbqPipeReadonlyComponent, KbqPipeSelectComponent, KbqPipeState, KbqPipeTextComponent, KbqPipeTreeSelectComponent, KbqPipeTypes, KbqSaveFilterStatuses, KbqTreeSelectFlatNode, KbqTreeSelectPipeBase, defaultFilterBarPipes, getId, kbqBuildTree, kbqFilterBarPipesProvider };
1474
- export type { KbqDateTimeValue, KbqFilter, KbqFilterBarConfiguration, KbqFilterBarHost, KbqPipe, KbqPipeData, KbqPipeTemplate, KbqPipeType, KbqSaveFilterError, KbqSaveFilterEvent, KbqSelectValue, KbqTreeSelectNode };
1388
+ export { KBQ_FILTERS, KBQ_FILTER_BAR_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_LOCALE_CONFIGURATION, KBQ_FILTER_BAR_HOST, KBQ_FILTER_BAR_LOCALE_CONFIGURATION, KBQ_FILTER_BAR_PIPES, KBQ_PIPE_DATA, KbqBasePipe, KbqFilterBar, KbqFilterBarButton, KbqFilterBarModule, KbqFilterRefresher, KbqFilterReset, KbqFilterSavePopover, KbqFilters, KbqPipeAdd, KbqPipeButton, KbqPipeDateBaseComponent, KbqPipeDateComponent, KbqPipeDatetimeComponent, KbqPipeDirective, KbqPipeInputComponent, KbqPipeMultiSelectComponent, KbqPipeMultiTreeSelectComponent, KbqPipeReadonlyComponent, KbqPipeSelectComponent, KbqPipeState, KbqPipeTextComponent, KbqPipeTreeSelectComponent, KbqPipeTypes, KbqSaveFilterStatuses, KbqTreeSelectFlatNode, KbqTreeSelectPipeBase, defaultFilterBarPipes, getId, kbqBuildTree, kbqFilterBarLocaleConfigurationProvider, kbqFilterBarPipesProvider };
1389
+ export type { KbqDateTimeValue, KbqFilter, KbqFilterBarHost, KbqFilterBarPipeState, KbqFilterBarState, KbqFiltersHost, KbqPipe, KbqPipeData, KbqPipeTemplate, KbqPipeType, KbqSaveFilterError, KbqSaveFilterEvent, KbqSelectValue, KbqTreeSelectNode };