@koobiq/components 21.0.0 → 21.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/badge/_badge-theme.scss +31 -0
  2. package/breadcrumbs/breadcrumbs.scss +5 -1
  3. package/checkbox/_checkbox-theme.scss +0 -17
  4. package/checkbox/checkbox-tokens.scss +0 -4
  5. package/code-block/_code-block-theme.scss +7 -6
  6. package/code-block/code-block-tokens.scss +8 -4
  7. package/code-block/code-block.scss +54 -32
  8. package/content-panel/content-panel-header.scss +2 -3
  9. package/content-panel/content-panel.scss +3 -0
  10. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
  11. package/fesm2022/koobiq-components-accordion.mjs +4 -4
  12. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  13. package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
  14. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  15. package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
  16. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  17. package/fesm2022/koobiq-components-badge.mjs +2 -2
  18. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  19. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
  20. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
  22. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-checkbox.mjs +18 -8
  24. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
  26. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-code-block.mjs +106 -394
  28. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-content-panel.mjs +4 -4
  30. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-core.mjs +300 -37
  32. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-datepicker.mjs +151 -60
  34. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-divider.mjs +3 -3
  36. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-dropdown.mjs +3 -3
  38. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-file-upload.mjs +17 -8
  40. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-filter-bar.mjs +124 -41
  42. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-flag.mjs +3 -3
  44. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-form-field.mjs +90 -27
  46. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-icon.mjs +38 -17
  48. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
  50. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-input.mjs +76 -17
  52. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-list.mjs +1 -1
  54. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-modal.mjs +3 -3
  56. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-navbar.mjs +86 -25
  58. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-notification-center.mjs +4 -4
  60. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
  62. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-popover.mjs +86 -7
  64. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-radio.mjs +41 -19
  66. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
  68. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-select.mjs +49 -12
  70. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
  72. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-splitter.mjs +49 -25
  74. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-tabs.mjs +30 -11
  76. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-tags.mjs +1 -1
  78. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-textarea.mjs +28 -11
  80. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-time-range.mjs +2 -2
  82. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-timepicker.mjs +71 -16
  84. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  86. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-toast.mjs +2 -2
  88. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-toggle.mjs +25 -9
  90. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-tooltip.mjs +90 -17
  92. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-top-bar.mjs +27 -7
  94. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-tree-select.mjs +24 -9
  96. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-tree.mjs +288 -109
  98. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  99. package/file-upload/_file-upload-theme.scss +0 -12
  100. package/file-upload/file-upload-tokens.scss +0 -1
  101. package/file-upload/file-upload.scss +0 -1
  102. package/filter-bar/_filter-bar-theme.scss +7 -8
  103. package/filter-bar/filter-bar.scss +0 -1
  104. package/filter-bar/pipes/base-pipe.scss +36 -2
  105. package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
  106. package/form-field/_fieldset-theme.scss +2 -7
  107. package/form-field/_form-field-theme.scss +9 -22
  108. package/form-field/_hint-theme.scss +20 -0
  109. package/form-field/fieldset-tokens.scss +0 -1
  110. package/form-field/fieldset.scss +0 -3
  111. package/form-field/form-field-tokens.scss +1 -1
  112. package/form-field/form-field.scss +9 -0
  113. package/form-field/hint-tokens.scss +3 -0
  114. package/modal/modal.scss +2 -0
  115. package/navbar/_navbar-item_vertical.scss +48 -2
  116. package/navbar/_navbar-theme.scss +11 -3
  117. package/navbar/navbar-item.scss +17 -0
  118. package/navbar/navbar-tokens.scss +3 -0
  119. package/package.json +4 -4
  120. package/popover/popover.scss +1 -1
  121. package/radio/_radio-theme.scss +0 -30
  122. package/radio/radio-tokens.scss +0 -2
  123. package/schematics/collection.json +94 -89
  124. package/schematics/migrations/accordion-state-saving-default/{index.js → index.cjs} +5 -4
  125. package/schematics/migrations/actions-panel-overlay-container/{index.js → index.cjs} +5 -4
  126. package/schematics/migrations/alert-signals/{index.js → index.cjs} +14 -13
  127. package/schematics/migrations/angular-animations-removal/index.cjs +21 -0
  128. package/schematics/migrations/app-switcher-signals/{index.js → index.cjs} +7 -6
  129. package/schematics/migrations/autocomplete-panel-width-auto/{index.js → index.cjs} +6 -5
  130. package/schematics/migrations/autocomplete-signals/{index.js → index.cjs} +7 -6
  131. package/schematics/migrations/badge-signals/{index.js → index.cjs} +7 -6
  132. package/schematics/migrations/button-state-and-styles/{index.js → index.cjs} +7 -6
  133. package/schematics/migrations/button-supported-colors/{index.js → index.cjs} +7 -6
  134. package/schematics/migrations/button-toggle-signals-and-aria/{index.js → index.cjs} +7 -6
  135. package/schematics/migrations/button-truncation/{index.js → index.cjs} +7 -6
  136. package/schematics/migrations/checkbox-signals/{index.js → index.cjs} +9 -8
  137. package/schematics/migrations/clamped-text-disclosure/{index.js → index.cjs} +5 -4
  138. package/schematics/migrations/code-block-highlight-js-core/README.md +53 -0
  139. package/schematics/migrations/code-block-highlight-js-core/data.cjs +64 -0
  140. package/schematics/migrations/code-block-highlight-js-core/index.cjs +319 -0
  141. package/schematics/migrations/code-block-highlight-js-core/schema.json +20 -0
  142. package/schematics/migrations/code-block-signals/{index.js → index.cjs} +7 -6
  143. package/schematics/migrations/color-signals/index.cjs +20 -0
  144. package/schematics/migrations/core-mixins-removal/index.cjs +18 -0
  145. package/schematics/migrations/css-selectors/{index.js → index.cjs} +4 -3
  146. package/schematics/migrations/datepicker-signals/index.cjs +18 -0
  147. package/schematics/migrations/deprecated-icons/README.md +21 -5
  148. package/schematics/migrations/deprecated-icons/{index.js → index.cjs} +15 -28
  149. package/schematics/migrations/deprecated-icons/schema.json +1 -1
  150. package/schematics/migrations/design-tokens-v4/{index.js → index.cjs} +3 -2
  151. package/schematics/migrations/divider-signals-and-aria/{index.js → index.cjs} +5 -4
  152. package/schematics/migrations/dl-attribute-coercion/{index.js → index.cjs} +7 -6
  153. package/schematics/migrations/dl-standalone-names/{index.js → index.cjs} +11 -10
  154. package/schematics/migrations/dropdown-demote-overlay/{index.js → index.cjs} +7 -6
  155. package/schematics/migrations/dropdown-signals/index.cjs +20 -0
  156. package/schematics/migrations/empty-state-error-color/{index.js → index.cjs} +5 -4
  157. package/schematics/migrations/empty-state-size-attr/{index.js → index.cjs} +6 -5
  158. package/schematics/migrations/file-upload-cva-and-primitives/{index.js → index.cjs} +5 -4
  159. package/schematics/migrations/file-upload-deprecated-outputs/{index.js → index.cjs} +5 -4
  160. package/schematics/migrations/filter-bar-rename-action/{index.js → index.cjs} +5 -4
  161. package/schematics/migrations/filter-bar-signals/{index.js → index.cjs} +16 -15
  162. package/schematics/migrations/filter-bar-state-saving-default/{index.js → index.cjs} +5 -4
  163. package/schematics/migrations/flag-inner-html/{index.js → index.cjs} +5 -4
  164. package/schematics/migrations/form-field-signals/{index.js → index.cjs} +18 -17
  165. package/schematics/migrations/icon-semantics-and-api/{data.js → data.cjs} +4 -4
  166. package/schematics/migrations/icon-semantics-and-api/{index.js → index.cjs} +6 -5
  167. package/schematics/migrations/icons-replacement/README.md +16 -2
  168. package/schematics/migrations/icons-replacement/{index.js → index.cjs} +21 -18
  169. package/schematics/migrations/icons-replacement/schema.json +12 -3
  170. package/schematics/migrations/inline-edit-a11y-and-types/{index.js → index.cjs} +5 -4
  171. package/schematics/migrations/input-number-surface/{index.js → index.cjs} +5 -4
  172. package/schematics/migrations/input-signals/index.cjs +18 -0
  173. package/schematics/migrations/link-deprecated-path/{index.js → index.cjs} +4 -3
  174. package/schematics/migrations/link-signals/{index.js → index.cjs} +5 -4
  175. package/schematics/migrations/list-signals/index.cjs +18 -0
  176. package/schematics/migrations/list-tree-multiple-input/{index.js → index.cjs} +7 -6
  177. package/schematics/migrations/loader-overlay-signals/{index.js → index.cjs} +7 -6
  178. package/schematics/migrations/loader-overlay-size-attr/{index.js → index.cjs} +6 -5
  179. package/schematics/migrations/locale-configuration-providers/{index.js → index.cjs} +5 -4
  180. package/schematics/migrations/mandatory-peer-dependencies/{index.js → index.cjs} +3 -2
  181. package/schematics/migrations/markdown-signals/{index.js → index.cjs} +7 -6
  182. package/schematics/migrations/modal-dialog-semantics/{index.js → index.cjs} +5 -4
  183. package/schematics/migrations/modal-signals/index.cjs +20 -0
  184. package/schematics/migrations/navbar-signals-and-aria/{index.js → index.cjs} +7 -6
  185. package/schematics/migrations/new-icons-pack/README.md +37 -25
  186. package/schematics/migrations/new-icons-pack/{index.js → index.cjs} +29 -38
  187. package/schematics/migrations/new-icons-pack/replacement.json +2 -14
  188. package/schematics/migrations/new-icons-pack/schema.json +3 -3
  189. package/schematics/migrations/notification-center-signals/{index.js → index.cjs} +5 -4
  190. package/schematics/migrations/option-signals/index.cjs +20 -0
  191. package/schematics/migrations/popover-leave-delay/{index.js → index.cjs} +5 -4
  192. package/schematics/migrations/progress-bar-percentage-and-aria/{index.js → index.cjs} +5 -4
  193. package/schematics/migrations/progress-spinner-signals/{index.js → index.cjs} +7 -6
  194. package/schematics/migrations/query-list-signals/index.cjs +18 -0
  195. package/schematics/migrations/radio-signals-and-aria/{index.js → index.cjs} +9 -8
  196. package/schematics/migrations/read-state-dwell-handlers/{index.js → index.cjs} +5 -4
  197. package/schematics/migrations/scrollbar-deprecated-path/{index.js → index.cjs} +4 -3
  198. package/schematics/migrations/select-signal-inputs/{index.js → index.cjs} +5 -4
  199. package/schematics/migrations/sidepanel-non-modal-behavior/{index.js → index.cjs} +5 -4
  200. package/schematics/migrations/signal-inputs-subclasses/index.cjs +18 -0
  201. package/schematics/migrations/split-button-optional-disabled/{index.js → index.cjs} +5 -4
  202. package/schematics/migrations/splitter-deprecated-path/{index.js → index.cjs} +4 -3
  203. package/schematics/migrations/state-saving-default/{index.js → index.cjs} +5 -4
  204. package/schematics/migrations/table-cell-content/{index.js → index.cjs} +5 -4
  205. package/schematics/migrations/tabs-signals-and-aria/{index.js → index.cjs} +5 -4
  206. package/schematics/migrations/tag-list-cleaner/{index.js → index.cjs} +7 -6
  207. package/schematics/migrations/tag-slots/{index.js → index.cjs} +6 -5
  208. package/schematics/migrations/tags-signals/{index.js → index.cjs} +7 -6
  209. package/schematics/migrations/textarea-signals/{index.js → index.cjs} +7 -6
  210. package/schematics/migrations/time-range-title-for/{index.js → index.cjs} +5 -4
  211. package/schematics/migrations/timepicker-signals/{index.js → index.cjs} +7 -6
  212. package/schematics/migrations/timezone-grouping-utils/{index.js → index.cjs} +5 -4
  213. package/schematics/migrations/title-encapsulation/{index.js → index.cjs} +5 -4
  214. package/schematics/migrations/toast-stack-and-defaults/{index.js → index.cjs} +5 -4
  215. package/schematics/migrations/tooltip-pointer-events-and-types/{index.js → index.cjs} +5 -4
  216. package/schematics/migrations/top-bar-container-selectors/{index.js → index.cjs} +5 -4
  217. package/schematics/migrations/tree-select-signals/{index.js → index.cjs} +5 -4
  218. package/schematics/migrations/tree-signals/{index.js → index.cjs} +5 -4
  219. package/schematics/migrations/tree-state-saving-default/{index.js → index.cjs} +5 -4
  220. package/schematics/migrations/username-pipe-injection/{index.js → index.cjs} +5 -4
  221. package/schematics/migrations/v20-upgrade/{data.js → data.cjs} +7 -7
  222. package/schematics/migrations/v20-upgrade/index.cjs +19 -0
  223. package/schematics/migrations/v21-upgrade/{data.js → data.cjs} +22 -22
  224. package/schematics/migrations/v21-upgrade/{index.js → index.cjs} +11 -10
  225. package/schematics/migrations/zoneless-change-detection/index.cjs +21 -0
  226. package/schematics/migrations.json +87 -82
  227. package/schematics/ng-add/{index.js → index.cjs} +15 -289
  228. package/schematics/utils/{angular-parsing.js → angular-parsing.cjs} +2 -2
  229. package/schematics/utils/custom-data.cjs +64 -0
  230. package/schematics/utils/{deprecated-path-migration.js → deprecated-path-migration.cjs} +4 -3
  231. package/schematics/utils/html-config.cjs +148 -0
  232. package/schematics/utils/{icon-migration.js → icon-migration.cjs} +11 -5
  233. package/schematics/utils/list-item-pattern.cjs +16 -0
  234. package/schematics/utils/{messages.js → messages.cjs} +4 -0
  235. package/schematics/utils/package-config.cjs +99 -0
  236. package/schematics/utils/project-files.cjs +25 -0
  237. package/schematics/utils/replacement-driver.cjs +337 -0
  238. package/schematics/utils/safe-rule.cjs +23 -0
  239. package/schematics/utils/signal-members-migration.cjs +779 -0
  240. package/schematics/utils/tag-patterns.cjs +21 -0
  241. package/schematics/utils/template-ref-access.cjs +155 -0
  242. package/schematics/utils/{typescript.js → typescript.cjs} +1 -1
  243. package/schematics/utils/warn-only-migration.cjs +52 -0
  244. package/schematics/utils/workspace-styles.cjs +123 -0
  245. package/select/select.scss +7 -0
  246. package/tabs/_tabs-common.scss +23 -0
  247. package/textarea/textarea-tokens.scss +4 -1
  248. package/toast/toast.component.scss +1 -0
  249. package/toggle/_toggle-theme.scss +0 -17
  250. package/tooltip/tooltip.scss +1 -1
  251. package/top-bar/top-bar-tokens.scss +1 -0
  252. package/top-bar/top-bar.scss +10 -0
  253. package/types/koobiq-components-accordion.d.ts +25 -0
  254. package/types/koobiq-components-button-toggle.d.ts +6 -0
  255. package/types/koobiq-components-checkbox.d.ts +30 -0
  256. package/types/koobiq-components-clamped-text.d.ts +16 -3
  257. package/types/koobiq-components-code-block.d.ts +55 -14
  258. package/types/koobiq-components-core.d.ts +226 -13
  259. package/types/koobiq-components-datepicker.d.ts +28 -1
  260. package/types/koobiq-components-divider.d.ts +28 -10
  261. package/types/koobiq-components-dropdown.d.ts +19 -0
  262. package/types/koobiq-components-filter-bar.d.ts +79 -6
  263. package/types/koobiq-components-flag.d.ts +18 -0
  264. package/types/koobiq-components-form-field.d.ts +87 -6
  265. package/types/koobiq-components-icon.d.ts +15 -0
  266. package/types/koobiq-components-inline-edit.d.ts +8 -1
  267. package/types/koobiq-components-input.d.ts +22 -3
  268. package/types/koobiq-components-list.d.ts +6 -0
  269. package/types/koobiq-components-modal.d.ts +7 -0
  270. package/types/koobiq-components-navbar.d.ts +71 -7
  271. package/types/koobiq-components-notification-center.d.ts +13 -0
  272. package/types/koobiq-components-overflow-items.d.ts +26 -2
  273. package/types/koobiq-components-popover.d.ts +38 -3
  274. package/types/koobiq-components-radio.d.ts +30 -0
  275. package/types/koobiq-components-search-expandable.d.ts +10 -0
  276. package/types/koobiq-components-select.d.ts +36 -4
  277. package/types/koobiq-components-sidepanel.d.ts +52 -1
  278. package/types/koobiq-components-splitter.d.ts +13 -4
  279. package/types/koobiq-components-tabs.d.ts +4 -0
  280. package/types/koobiq-components-tags.d.ts +6 -0
  281. package/types/koobiq-components-textarea.d.ts +9 -2
  282. package/types/koobiq-components-timepicker.d.ts +15 -0
  283. package/types/koobiq-components-toggle.d.ts +30 -0
  284. package/types/koobiq-components-tooltip.d.ts +55 -10
  285. package/types/koobiq-components-top-bar.d.ts +11 -3
  286. package/types/koobiq-components-tree-select.d.ts +23 -8
  287. package/types/koobiq-components-tree.d.ts +144 -60
  288. package/schematics/migrations/angular-animations-removal/index.js +0 -20
  289. package/schematics/migrations/color-signals/index.js +0 -19
  290. package/schematics/migrations/core-mixins-removal/index.js +0 -17
  291. package/schematics/migrations/datepicker-signals/index.js +0 -17
  292. package/schematics/migrations/dropdown-signals/index.js +0 -19
  293. package/schematics/migrations/input-signals/index.js +0 -17
  294. package/schematics/migrations/list-signals/index.js +0 -17
  295. package/schematics/migrations/modal-signals/index.js +0 -19
  296. package/schematics/migrations/option-signals/index.js +0 -19
  297. package/schematics/migrations/query-list-signals/index.js +0 -17
  298. package/schematics/migrations/signal-inputs-subclasses/index.js +0 -17
  299. package/schematics/migrations/v20-upgrade/index.js +0 -18
  300. package/schematics/migrations/zoneless-change-detection/index.js +0 -20
  301. package/schematics/utils/package-config.js +0 -13
  302. /package/schematics/migrations/accordion-state-saving-default/{data.js → data.cjs} +0 -0
  303. /package/schematics/migrations/actions-panel-overlay-container/{data.js → data.cjs} +0 -0
  304. /package/schematics/migrations/alert-signals/{data.js → data.cjs} +0 -0
  305. /package/schematics/migrations/angular-animations-removal/{data.js → data.cjs} +0 -0
  306. /package/schematics/migrations/app-switcher-signals/{data.js → data.cjs} +0 -0
  307. /package/schematics/migrations/autocomplete-signals/{data.js → data.cjs} +0 -0
  308. /package/schematics/migrations/badge-signals/{data.js → data.cjs} +0 -0
  309. /package/schematics/migrations/button-state-and-styles/{data.js → data.cjs} +0 -0
  310. /package/schematics/migrations/button-supported-colors/{data.js → data.cjs} +0 -0
  311. /package/schematics/migrations/button-toggle-signals-and-aria/{data.js → data.cjs} +0 -0
  312. /package/schematics/migrations/button-truncation/{data.js → data.cjs} +0 -0
  313. /package/schematics/migrations/checkbox-signals/{data.js → data.cjs} +0 -0
  314. /package/schematics/migrations/clamped-text-disclosure/{data.js → data.cjs} +0 -0
  315. /package/schematics/migrations/code-block-signals/{data.js → data.cjs} +0 -0
  316. /package/schematics/migrations/color-signals/{data.js → data.cjs} +0 -0
  317. /package/schematics/migrations/core-mixins-removal/{data.js → data.cjs} +0 -0
  318. /package/schematics/migrations/css-selectors/{data.js → data.cjs} +0 -0
  319. /package/schematics/migrations/datepicker-signals/{data.js → data.cjs} +0 -0
  320. /package/schematics/migrations/deprecated-icons/{data.js → data.cjs} +0 -0
  321. /package/schematics/migrations/divider-signals-and-aria/{data.js → data.cjs} +0 -0
  322. /package/schematics/migrations/dl-attribute-coercion/{data.js → data.cjs} +0 -0
  323. /package/schematics/migrations/dl-standalone-names/{data.js → data.cjs} +0 -0
  324. /package/schematics/migrations/dropdown-demote-overlay/{data.js → data.cjs} +0 -0
  325. /package/schematics/migrations/dropdown-signals/{data.js → data.cjs} +0 -0
  326. /package/schematics/migrations/empty-state-error-color/{data.js → data.cjs} +0 -0
  327. /package/schematics/migrations/file-upload-cva-and-primitives/{data.js → data.cjs} +0 -0
  328. /package/schematics/migrations/file-upload-deprecated-outputs/{data.js → data.cjs} +0 -0
  329. /package/schematics/migrations/filter-bar-rename-action/{data.js → data.cjs} +0 -0
  330. /package/schematics/migrations/filter-bar-signals/{data.js → data.cjs} +0 -0
  331. /package/schematics/migrations/filter-bar-state-saving-default/{data.js → data.cjs} +0 -0
  332. /package/schematics/migrations/flag-inner-html/{data.js → data.cjs} +0 -0
  333. /package/schematics/migrations/form-field-signals/{data.js → data.cjs} +0 -0
  334. /package/schematics/migrations/icons-replacement/{data.js → data.cjs} +0 -0
  335. /package/schematics/migrations/inline-edit-a11y-and-types/{data.js → data.cjs} +0 -0
  336. /package/schematics/migrations/input-number-surface/{data.js → data.cjs} +0 -0
  337. /package/schematics/migrations/input-signals/{data.js → data.cjs} +0 -0
  338. /package/schematics/migrations/link-signals/{data.js → data.cjs} +0 -0
  339. /package/schematics/migrations/list-signals/{data.js → data.cjs} +0 -0
  340. /package/schematics/migrations/list-tree-multiple-input/{data.js → data.cjs} +0 -0
  341. /package/schematics/migrations/loader-overlay-signals/{data.js → data.cjs} +0 -0
  342. /package/schematics/migrations/locale-configuration-providers/{data.js → data.cjs} +0 -0
  343. /package/schematics/migrations/markdown-signals/{data.js → data.cjs} +0 -0
  344. /package/schematics/migrations/modal-dialog-semantics/{data.js → data.cjs} +0 -0
  345. /package/schematics/migrations/modal-signals/{data.js → data.cjs} +0 -0
  346. /package/schematics/migrations/navbar-signals-and-aria/{data.js → data.cjs} +0 -0
  347. /package/schematics/migrations/new-icons-pack/{data.js → data.cjs} +0 -0
  348. /package/schematics/migrations/notification-center-signals/{data.js → data.cjs} +0 -0
  349. /package/schematics/migrations/option-signals/{data.js → data.cjs} +0 -0
  350. /package/schematics/migrations/popover-leave-delay/{data.js → data.cjs} +0 -0
  351. /package/schematics/migrations/progress-bar-percentage-and-aria/{data.js → data.cjs} +0 -0
  352. /package/schematics/migrations/progress-spinner-signals/{data.js → data.cjs} +0 -0
  353. /package/schematics/migrations/query-list-signals/{data.js → data.cjs} +0 -0
  354. /package/schematics/migrations/radio-signals-and-aria/{data.js → data.cjs} +0 -0
  355. /package/schematics/migrations/read-state-dwell-handlers/{data.js → data.cjs} +0 -0
  356. /package/schematics/migrations/select-signal-inputs/{data.js → data.cjs} +0 -0
  357. /package/schematics/migrations/sidepanel-non-modal-behavior/{data.js → data.cjs} +0 -0
  358. /package/schematics/migrations/signal-inputs-subclasses/{data.js → data.cjs} +0 -0
  359. /package/schematics/migrations/split-button-optional-disabled/{data.js → data.cjs} +0 -0
  360. /package/schematics/migrations/state-saving-default/{data.js → data.cjs} +0 -0
  361. /package/schematics/migrations/table-cell-content/{data.js → data.cjs} +0 -0
  362. /package/schematics/migrations/tabs-signals-and-aria/{data.js → data.cjs} +0 -0
  363. /package/schematics/migrations/tag-list-cleaner/{data.js → data.cjs} +0 -0
  364. /package/schematics/migrations/tags-signals/{data.js → data.cjs} +0 -0
  365. /package/schematics/migrations/textarea-signals/{data.js → data.cjs} +0 -0
  366. /package/schematics/migrations/time-range-title-for/{data.js → data.cjs} +0 -0
  367. /package/schematics/migrations/timepicker-signals/{data.js → data.cjs} +0 -0
  368. /package/schematics/migrations/timezone-grouping-utils/{data.js → data.cjs} +0 -0
  369. /package/schematics/migrations/title-encapsulation/{data.js → data.cjs} +0 -0
  370. /package/schematics/migrations/toast-stack-and-defaults/{data.js → data.cjs} +0 -0
  371. /package/schematics/migrations/tooltip-pointer-events-and-types/{data.js → data.cjs} +0 -0
  372. /package/schematics/migrations/top-bar-container-selectors/{data.js → data.cjs} +0 -0
  373. /package/schematics/migrations/tree-select-signals/{data.js → data.cjs} +0 -0
  374. /package/schematics/migrations/tree-signals/{data.js → data.cjs} +0 -0
  375. /package/schematics/migrations/tree-state-saving-default/{data.js → data.cjs} +0 -0
  376. /package/schematics/migrations/username-pipe-injection/{data.js → data.cjs} +0 -0
  377. /package/schematics/migrations/zoneless-change-detection/{data.js → data.cjs} +0 -0
  378. /package/schematics/utils/{ast.js → ast.cjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, AfterContentInit, AfterViewInit, OnDestroy, Signal, SimpleChanges, ChangeDetectorRef, AfterContentChecked, ElementRef, DestroyRef, QueryList, InjectionToken, Provider } from '@angular/core';
2
+ import { InjectionToken, OnChanges, AfterContentInit, AfterViewInit, OnDestroy, Signal, SimpleChanges, ChangeDetectorRef, AfterContentChecked, ElementRef, DestroyRef, QueryList, Provider } from '@angular/core';
3
3
  import * as i1 from '@koobiq/components/tooltip';
4
4
  import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
5
5
  import * as i1$1 from '@angular/cdk/a11y';
@@ -16,6 +16,36 @@ import * as i2$1 from '@angular/cdk/platform';
16
16
 
17
17
  /** Orientation of the navbar an element belongs to. */
18
18
  type KbqNavbarOrientation = 'horizontal' | 'vertical';
19
+ /**
20
+ * A custom interactive component projected into a navbar item in place of a button or a form field.
21
+ *
22
+ * Provide the component's own class as `KBQ_NAVBAR_ITEM_TRIGGER`, and the item hands keyboard focus and
23
+ * activation to it: it gets no synthetic click, stays the single tab stop of the navbar, and keeps working
24
+ * with arrow-key navigation. The component owns its overlay — a dropdown, a popover, or anything else — and
25
+ * must not be reachable by Tab on its own (`tabindex` stays with the navbar, which moves focus between items
26
+ * with the arrow keys).
27
+ *
28
+ * The item paints its hover, pressed, selected and keyboard-focus states around the component, so the
29
+ * component styles only its content and must not add a focus outline of its own.
30
+ */
31
+ interface KbqNavbarItemTrigger {
32
+ /** Whether the component currently holds focus. */
33
+ readonly hasFocus: boolean;
34
+ /** Moves focus into the component. */
35
+ focus(): void;
36
+ /**
37
+ * Moves focus into the component as if it was reached with the keyboard — the focused element shows its
38
+ * keyboard focus state.
39
+ */
40
+ focusViaKeyboard?(): void;
41
+ }
42
+ /**
43
+ * Interactive content a navbar item recognizes as owning the interaction: a projected button or form field,
44
+ * or a custom component provided as `KBQ_NAVBAR_ITEM_TRIGGER`.
45
+ */
46
+ type KbqNavbarNestedElement = KbqButton | KbqFormField | KbqNavbarItemTrigger;
47
+ /** Makes a custom component projected into a navbar item the owner of the item's interaction. */
48
+ declare const KBQ_NAVBAR_ITEM_TRIGGER: InjectionToken<KbqNavbarItemTrigger>;
19
49
  /** @docs-private */
20
50
  interface KbqNavbarFocusableItemEvent {
21
51
  item: KbqNavbarFocusableItem;
@@ -33,6 +63,18 @@ declare class KbqNavbarItemSuffix {
33
63
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarItemSuffix, never>;
34
64
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarItemSuffix, "[kbqNavbarItemSuffix]", never, {}, {}, never, never, true, never>;
35
65
  }
66
+ /**
67
+ * Marks arbitrary content of a navbar item that takes the spot of the item icon.
68
+ *
69
+ * The navbar reserves a 40×40px square for the content and leaves the positioning inside the square to the
70
+ * content itself: it can fill the whole square or render smaller with its own paddings. The square size is
71
+ * controlled by the `--kbq-navbar-item-size-custom-content-width` and `--kbq-navbar-item-size-custom-content-height`
72
+ * tokens.
73
+ */
74
+ declare class KbqNavbarItemContent {
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarItemContent, never>;
76
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarItemContent, "[kbqNavbarItemContent]", never, {}, {}, never, never, true, never>;
77
+ }
36
78
  declare class KbqNavbarTitle {
37
79
  /** @docs-private */
38
80
  protected readonly isBrowser: boolean;
@@ -79,8 +121,10 @@ declare class KbqNavbarFocusableItem implements OnChanges, AfterContentInit, Aft
79
121
  readonly button: Signal<KbqButton | undefined>;
80
122
  /** @docs-private */
81
123
  readonly formField: Signal<KbqFormField | undefined>;
124
+ /** Custom interactive component projected into the item, if any. @docs-private */
125
+ readonly customTrigger: Signal<KbqNavbarItemTrigger | undefined>;
82
126
  /** Interactive element projected into the item, if any. */
83
- get nestedElement(): KbqButton | KbqFormField | undefined;
127
+ get nestedElement(): KbqNavbarNestedElement | undefined;
84
128
  /** @docs-private */
85
129
  get tooltip(): KbqTooltipTrigger;
86
130
  private _tooltip;
@@ -96,6 +140,19 @@ declare class KbqNavbarFocusableItem implements OnChanges, AfterContentInit, Aft
96
140
  get disabled(): boolean;
97
141
  set disabled(value: boolean);
98
142
  private readonly disabledState;
143
+ /**
144
+ * Keeps an element with nothing to interact with out of the roving focus order, without announcing or
145
+ * styling it as disabled.
146
+ *
147
+ * @docs-private
148
+ */
149
+ readonly decorative: i0.WritableSignal<boolean>;
150
+ /**
151
+ * Whether the item was disabled through `disabled`, as opposed to being decorative.
152
+ *
153
+ * @docs-private
154
+ */
155
+ get explicitlyDisabled(): boolean;
99
156
  /**
100
157
  * Items are never in the tab order themselves: the navbar host owns the single tab stop and moves focus
101
158
  * between items with the arrow keys (roving tabindex).
@@ -115,6 +172,13 @@ declare class KbqNavbarFocusableItem implements OnChanges, AfterContentInit, Aft
115
172
  setTooltip(value: KbqTooltipTrigger): void;
116
173
  /** @docs-private */
117
174
  onFocusHandler(): void;
175
+ /**
176
+ * Clears the keyboard focus ring once the focus leaves the item. The custom trigger takes the DOM focus
177
+ * from the item, so the CDK classes that drive the ring end up on the trigger and never come back.
178
+ *
179
+ * @docs-private
180
+ */
181
+ protected onFocusOut(event: FocusEvent): void;
118
182
  /** @docs-private */
119
183
  focus(origin?: FocusOrigin): void;
120
184
  /** @docs-private */
@@ -122,7 +186,7 @@ declare class KbqNavbarFocusableItem implements OnChanges, AfterContentInit, Aft
122
186
  /** @docs-private */
123
187
  getLabel(): string;
124
188
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarFocusableItem, never>;
125
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarFocusableItem, "kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle", never, { "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["title", "button", "formField"], never, true, never>;
189
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarFocusableItem, "kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle", never, { "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["title", "button", "formField", "customTrigger"], never, true, never>;
126
190
  }
127
191
  declare class KbqNavbarRectangleElement {
128
192
  /** @docs-private */
@@ -263,7 +327,7 @@ declare class KbqNavbarItem implements AfterContentInit {
263
327
  protected onKeyDown($event: KeyboardEvent): void;
264
328
  private updateDropdown;
265
329
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarItem, never>;
266
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqNavbarItem, "kbq-navbar-item, [kbq-navbar-item]", ["kbqNavbarItem"], { "collapsedText": { "alias": "collapsedText"; "required": false; "isSignal": true; }; "collapsable": { "alias": "collapsable"; "required": false; "isSignal": true; }; "tooltipDisabled": { "alias": "kbqTooltipDisabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, ["title", "icons"], ["[kbq-icon]:not([kbqNavbarItemSuffix])", "kbq-navbar-title, [kbq-navbar-title]", "[kbqNavbarItemSuffix]", "*"], true, [{ directive: typeof i1.KbqTooltipTrigger; inputs: { "kbqTooltip": "tooltipText"; "kbqTooltipClass": "kbqTooltipClass"; "kbqTooltipColor": "kbqTooltipColor"; "kbqTooltipContext": "kbqTooltipContext"; "kbqTooltipOffset": "kbqTooltipOffset"; "kbqTrigger": "kbqTrigger"; "kbqPlacement": "kbqPlacement"; "kbqPlacementPriority": "kbqPlacementPriority"; "kbqEnterDelay": "kbqEnterDelay"; "kbqLeaveDelay": "kbqLeaveDelay"; "kbqVisible": "kbqVisible"; }; outputs: { "kbqVisibleChange": "kbqVisibleChange"; "kbqPlacementChange": "kbqPlacementChange"; }; }]>;
330
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqNavbarItem, "kbq-navbar-item, [kbq-navbar-item]", ["kbqNavbarItem"], { "collapsedText": { "alias": "collapsedText"; "required": false; "isSignal": true; }; "collapsable": { "alias": "collapsable"; "required": false; "isSignal": true; }; "tooltipDisabled": { "alias": "kbqTooltipDisabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, ["title", "icons"], ["[kbq-icon]:not([kbqNavbarItemSuffix]), [kbqNavbarItemContent]", "kbq-navbar-title, [kbq-navbar-title]", "[kbqNavbarItemSuffix]", "*"], true, [{ directive: typeof i1.KbqTooltipTrigger; inputs: { "kbqTooltip": "tooltipText"; "kbqTooltipClass": "kbqTooltipClass"; "kbqTooltipColor": "kbqTooltipColor"; "kbqTooltipContext": "kbqTooltipContext"; "kbqTooltipOffset": "kbqTooltipOffset"; "kbqTrigger": "kbqTrigger"; "kbqPlacement": "kbqPlacement"; "kbqPlacementPriority": "kbqPlacementPriority"; "kbqEnterDelay": "kbqEnterDelay"; "kbqLeaveDelay": "kbqLeaveDelay"; "kbqVisible": "kbqVisible"; }; outputs: { "kbqVisibleChange": "kbqVisibleChange"; "kbqPlacementChange": "kbqPlacementChange"; }; }]>;
267
331
  }
268
332
 
269
333
  declare class KbqNavbarBrand implements AfterContentInit {
@@ -561,9 +625,9 @@ declare class KbqNavbarToggle implements OnDestroy {
561
625
 
562
626
  declare class KbqNavbarModule {
563
627
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarModule, never>;
564
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqNavbarModule, never, [typeof i1$1.A11yModule, typeof i2$1.PlatformModule, typeof i3.KbqIconModule, typeof i1.KbqToolTipModule, typeof KbqNavbar, typeof KbqNavbarContainer, typeof KbqNavbarTitle, typeof KbqNavbarItem, typeof KbqNavbarBrand, typeof KbqNavbarLogo, typeof KbqNavbarToggle, typeof KbqVerticalNavbar, typeof KbqNavbarDivider, typeof KbqNavbarFocusableItem, typeof KbqNavbarRectangleElement, typeof KbqNavbarBento, typeof KbqNavbarItemSuffix], [typeof KbqNavbar, typeof KbqNavbarContainer, typeof KbqNavbarTitle, typeof KbqNavbarItem, typeof KbqNavbarBrand, typeof KbqNavbarLogo, typeof KbqNavbarToggle, typeof KbqVerticalNavbar, typeof KbqNavbarDivider, typeof KbqNavbarFocusableItem, typeof KbqNavbarRectangleElement, typeof KbqNavbarBento, typeof KbqNavbarItemSuffix]>;
628
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqNavbarModule, never, [typeof i1$1.A11yModule, typeof i2$1.PlatformModule, typeof i3.KbqIconModule, typeof i1.KbqToolTipModule, typeof KbqNavbar, typeof KbqNavbarContainer, typeof KbqNavbarTitle, typeof KbqNavbarItem, typeof KbqNavbarBrand, typeof KbqNavbarLogo, typeof KbqNavbarToggle, typeof KbqVerticalNavbar, typeof KbqNavbarDivider, typeof KbqNavbarFocusableItem, typeof KbqNavbarRectangleElement, typeof KbqNavbarBento, typeof KbqNavbarItemContent, typeof KbqNavbarItemSuffix], [typeof KbqNavbar, typeof KbqNavbarContainer, typeof KbqNavbarTitle, typeof KbqNavbarItem, typeof KbqNavbarBrand, typeof KbqNavbarLogo, typeof KbqNavbarToggle, typeof KbqVerticalNavbar, typeof KbqNavbarDivider, typeof KbqNavbarFocusableItem, typeof KbqNavbarRectangleElement, typeof KbqNavbarBento, typeof KbqNavbarItemContent, typeof KbqNavbarItemSuffix]>;
565
629
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqNavbarModule>;
566
630
  }
567
631
 
568
- export { KBQ_NAVBAR_DEFAULT_LOCALE_CONFIGURATION, KBQ_NAVBAR_LOCALE_CONFIGURATION, KBQ_VERTICAL_NAVBAR_CONFIGURATION, KBQ_VERTICAL_NAVBAR_DEFAULT_CONFIGURATION, KbqFocusableComponent, KbqNavbar, KbqNavbarBento, KbqNavbarBrand, KbqNavbarContainer, KbqNavbarDivider, KbqNavbarFocusableItem, KbqNavbarItem, KbqNavbarItemSuffix, KbqNavbarLogo, KbqNavbarModule, KbqNavbarRectangleElement, KbqNavbarTitle, KbqNavbarToggle, KbqNavbarToggleRegistry, KbqVerticalNavbar, kbqNavbarLocaleConfigurationProvider };
569
- export type { KbqNavbarFocusableItemEvent, KbqNavbarOrientation };
632
+ export { KBQ_NAVBAR_DEFAULT_LOCALE_CONFIGURATION, KBQ_NAVBAR_ITEM_TRIGGER, KBQ_NAVBAR_LOCALE_CONFIGURATION, KBQ_VERTICAL_NAVBAR_CONFIGURATION, KBQ_VERTICAL_NAVBAR_DEFAULT_CONFIGURATION, KbqFocusableComponent, KbqNavbar, KbqNavbarBento, KbqNavbarBrand, KbqNavbarContainer, KbqNavbarDivider, KbqNavbarFocusableItem, KbqNavbarItem, KbqNavbarItemContent, KbqNavbarItemSuffix, KbqNavbarLogo, KbqNavbarModule, KbqNavbarRectangleElement, KbqNavbarTitle, KbqNavbarToggle, KbqNavbarToggleRegistry, KbqVerticalNavbar, kbqNavbarLocaleConfigurationProvider };
633
+ export type { KbqNavbarFocusableItemEvent, KbqNavbarItemTrigger, KbqNavbarNestedElement, KbqNavbarOrientation };
@@ -144,7 +144,20 @@ declare class KbqNotificationCenterService {
144
144
  set items(values: KbqNotificationItem[]);
145
145
  /** Whether there are no notifications. A snapshot, like `items`. */
146
146
  get isEmpty(): boolean;
147
+ /**
148
+ * Whether there are no notifications, for the center's own view to follow.
149
+ *
150
+ * @docs-private
151
+ */
152
+ readonly empty: Signal<boolean>;
147
153
  constructor();
154
+ /**
155
+ * Whether a notification is read, for a view to follow: `read` is flipped in place on the consumer's object,
156
+ * so a view handed that object is not told.
157
+ *
158
+ * @docs-private
159
+ */
160
+ isRead(item: KbqNotificationItem): boolean;
148
161
  /** Set silent mode */
149
162
  setSilentMode(value: boolean): void;
150
163
  /** Set loading mode */
@@ -1,6 +1,16 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
2
3
  import { KbqOrientation, KbqFlexWrap } from '@koobiq/components/core';
3
4
 
5
+ /**
6
+ * Elements that `KbqOverflowItems` observes for resize changes on top of its own element and
7
+ * `additionalResizeObserverTargets`. Provided by a component that is as wide as its content, such as the actions panel:
8
+ * items hidden by `KbqOverflowItems` drop out of that width, so the component does not grow back by itself once there
9
+ * is room for them again, and only the element that bounds it reports that room.
10
+ *
11
+ * @docs-private
12
+ */
13
+ declare const KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS: InjectionToken<readonly Element[]>;
4
14
  /**
5
15
  * Manages the visibility of the element.
6
16
  *
@@ -76,6 +86,7 @@ declare class KbqOverflowItems {
76
86
  private readonly document;
77
87
  private readonly window;
78
88
  private readonly platform;
89
+ private readonly resizeObserverTargets;
79
90
  /**
80
91
  * `KbqOverflowItem` directive references.
81
92
  */
@@ -102,7 +113,8 @@ declare class KbqOverflowItems {
102
113
  */
103
114
  readonly additionalResizeObserverTargets: _angular_core.InputSignal<Element | Element[]>;
104
115
  /**
105
- * Emits when the set of hidden items changes.
116
+ * Emits the set of hidden items after every recalculation, also when it has not changed: a recalculation shows every
117
+ * item before it hides the overflown ones again, so a consumer that hides items itself re-applies that here.
106
118
  */
107
119
  readonly changes: _angular_core.OutputEmitterRef<ReadonlySet<unknown>>;
108
120
  /**
@@ -117,6 +129,7 @@ declare class KbqOverflowItems {
117
129
  * Defines the wrap of the overflow items. Defaults to `'nowrap'`.
118
130
  */
119
131
  readonly wrap: _angular_core.InputSignal<KbqFlexWrap>;
132
+ /** The main axis of each orientation, as the `DOMRect` and `CSSStyleDeclaration` members to read. */
120
133
  private readonly orientationConfig;
121
134
  constructor();
122
135
  private setupObservers;
@@ -135,6 +148,17 @@ declare class KbqOverflowItems {
135
148
  */
136
149
  private setStyles;
137
150
  private hasOverflown;
151
+ /**
152
+ * Measures how far the children of the container that take part in its layout exceed its content box along the
153
+ * main axis, and the space each of them takes, its margins and one gap included.
154
+ */
155
+ private measure;
156
+ /**
157
+ * Children of the element that take part in its flex layout: neither `display: none` nor taken out of flow, as
158
+ * hidden items are, with the children of a `display: contents` child in its place.
159
+ */
160
+ private getLaidOutChildren;
161
+ private px;
138
162
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqOverflowItems, never>;
139
163
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqOverflowItems, "[kbqOverflowItems]", ["kbqOverflowItems"], { "reverseOverflowOrder": { "alias": "reverseOverflowOrder"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "additionalResizeObserverTargets": { "alias": "additionalResizeObserverTargets"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, { "changes": "changes"; }, ["items", "result"], never, true, never>;
140
164
  }
@@ -145,4 +169,4 @@ declare class KbqOverflowItemsModule {
145
169
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqOverflowItemsModule>;
146
170
  }
147
171
 
148
- export { ElementVisibilityManager, KbqOverflowItem, KbqOverflowItems, KbqOverflowItemsModule, KbqOverflowItemsResult };
172
+ export { ElementVisibilityManager, KBQ_OVERFLOW_ITEMS_RESIZE_OBSERVER_TARGETS, KbqOverflowItem, KbqOverflowItems, KbqOverflowItemsModule, KbqOverflowItemsResult };
@@ -2,10 +2,11 @@ import * as _angular_core from '@angular/core';
2
2
  import { Provider, InjectionToken, AfterViewInit, TemplateRef, OnChanges, AfterContentInit, OnInit, DestroyRef, EventEmitter, InputSignal, SimpleChanges, Type, ElementRef } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Subject } from 'rxjs';
5
+ import * as _angular_cdk_overlay from '@angular/cdk/overlay';
6
+ import { ScrollStrategy, ScrollDispatcher, OverlayConfig, OverlayRef, CdkScrollable } from '@angular/cdk/overlay';
5
7
  import * as _koobiq_components_core from '@koobiq/components/core';
6
- import { KbqPopUp, KbqPopUpTrigger, KbqPopUpPlacementValues, KbqStickToWindowPlacementValues, KbqPopUpSizeValues, KbqOverlayOrigin, KbqOverflowShadowContainer, KbqComponentColors } from '@koobiq/components/core';
8
+ import { KbqPopUp, KbqPopUpTrigger, KbqPopUpPlacementValues, KbqStickToWindowPlacementValues, KbqPopUpSizeValues, KbqOverlayOrigin, KbqCaretRect, KbqOverflowShadowContainer, KbqComponentColors } from '@koobiq/components/core';
7
9
  import { CdkTrapFocus } from '@angular/cdk/a11y';
8
- import { ScrollStrategy, ScrollDispatcher, OverlayConfig, OverlayRef, CdkScrollable } from '@angular/cdk/overlay';
9
10
 
10
11
  declare const defaultOffsetYWithArrow = 8;
11
12
  /** Leave delay applied to a hover-triggered popover when `kbqLeaveDelay` is not bound. */
@@ -25,6 +26,7 @@ declare class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {
25
26
  /** Debounce shared by the mutation observer and the scroll-shadow container (both expose `debounce`). */
26
27
  protected readonly contentObserverDebounce = 15;
27
28
  prefix: string;
29
+ protected arrowCenterInset: number;
28
30
  header: string | TemplateRef<any>;
29
31
  footer: string | TemplateRef<any>;
30
32
  trigger: KbqPopoverTrigger;
@@ -218,6 +220,11 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
218
220
  set popoverBackdropClass(value: string);
219
221
  /** Input (`kbqPopoverArrow`) — renders the arrow pointing at the trigger. */
220
222
  arrow: boolean;
223
+ /**
224
+ * Input (`kbqPopoverArrowCentered`) — centers the arrow on the trigger while preserving the panel placement.
225
+ * Defaults to `false`.
226
+ */
227
+ arrowCentered: boolean;
221
228
  /** Input (`kbqPopoverOffset`) — distance between the trigger and the panel, in pixels. */
222
229
  offset: number | null;
223
230
  /**
@@ -226,6 +233,11 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
226
233
  * collapses it. Focus then never enters the panel, so its content has to be reachable some other way.
227
234
  */
228
235
  autoFocus: boolean;
236
+ /**
237
+ * Input (`kbqRelativeToPointer`) — positions a click-opened popover at the click point. Keyboard and
238
+ * programmatic opens stay on the trigger. An explicit `kbqPopoverOrigin` takes precedence. Defaults to `false`.
239
+ */
240
+ relativeToPointer: boolean;
229
241
  /**
230
242
  * Input (`kbqPopoverOrigin`) — what the panel is positioned against: an element, or a rectangle in viewport
231
243
  * coordinates such as the one `kbqCreateCaretOrigin` keeps on the caret. `null` anchors it to the trigger.
@@ -259,6 +271,8 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
259
271
  protected originSelector: string;
260
272
  /** Whether a position re-apply is already queued for this turn. */
261
273
  private repositionScheduled;
274
+ private pointerOffset;
275
+ private readonly pointerOrigin;
262
276
  /**
263
277
  * Whether the open currently on screen was a deliberate one rather than a pointer or focus one.
264
278
  *
@@ -308,10 +322,14 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
308
322
  /** @docs-private */
309
323
  readonly arrowInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
310
324
  /** @docs-private */
325
+ readonly arrowCenteredInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
326
+ /** @docs-private */
311
327
  readonly offsetInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
312
328
  /** @docs-private */
313
329
  readonly autoFocusInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
314
330
  /** @docs-private */
331
+ readonly relativeToPointerInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
332
+ /** @docs-private */
315
333
  readonly popoverOriginInput: InputSignal<KbqOverlayOrigin | null | undefined>;
316
334
  /** @docs-private */
317
335
  readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
@@ -326,6 +344,23 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
326
344
  ngAfterContentInit(): void;
327
345
  /** @docs-private */
328
346
  show(delay?: number): void;
347
+ /** Current click point in viewport coordinates, or `null` when the host or an explicit origin is used. @docs-private */
348
+ getPointerPoint(): {
349
+ x: number;
350
+ y: number;
351
+ } | null;
352
+ /** Click point when pointer-relative positioning is active, otherwise the shared origin point. @docs-private */
353
+ getArrowPoint(): {
354
+ x: number;
355
+ y: number;
356
+ } | null;
357
+ /** @docs-private */
358
+ protected getResolvedOrigin(): _angular_cdk_overlay.FlexibleConnectedPositionStrategyOrigin | Readonly<KbqCaretRect>;
359
+ /** @docs-private */
360
+ protected getAnchorSize(): {
361
+ width: number;
362
+ height: number;
363
+ };
329
364
  /** @docs-private */
330
365
  updateData(): void;
331
366
  /** Body of `updateData()`. */
@@ -382,7 +417,7 @@ declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> imp
382
417
  /** Closes the popover once its trigger has scrolled out of a `.kbq-hide-nested-popup` container. */
383
418
  private hideIfNestedPopupScrolledAway;
384
419
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPopoverTrigger, never>;
385
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverHideIfNotInViewPort": { "alias": "kbqPopoverHideIfNotInViewPort"; "required": false; "isSignal": true; }; "triggerInput": { "alias": "kbqTrigger"; "required": false; "isSignal": true; }; "kbqLeaveDelayInput": { "alias": "kbqLeaveDelay"; "required": false; "isSignal": true; }; "enterDelayInput": { "alias": "kbqEnterDelay"; "required": false; "isSignal": true; }; "preventCloseInput": { "alias": "kbqPopoverPreventClose"; "required": false; "isSignal": true; }; "stickToWindowInput": { "alias": "kbqPopoverStickToWindow"; "required": false; "isSignal": true; }; "popoverContainerInput": { "alias": "kbqPopoverContainer"; "required": false; "isSignal": true; }; "popoverHasBackdropInput": { "alias": "kbqPopoverHasBackdrop"; "required": false; "isSignal": true; }; "popoverBackdropClassInput": { "alias": "kbqPopoverBackdropClass"; "required": false; "isSignal": true; }; "popoverDefaultPaddingsInput": { "alias": "kbqPopoverDefaultPaddings"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "kbqPopoverSize"; "required": false; "isSignal": true; }; "customClassInput": { "alias": "kbqPopoverClass"; "required": false; "isSignal": true; }; "headerInput": { "alias": "kbqPopoverHeader"; "required": false; "isSignal": true; }; "contentInput": { "alias": "kbqPopoverContent"; "required": false; "isSignal": true; }; "footerInput": { "alias": "kbqPopoverFooter"; "required": false; "isSignal": true; }; "contextInput": { "alias": "kbqPopoverContext"; "required": false; "isSignal": true; }; "ariaLabelInput": { "alias": "kbqPopoverAriaLabel"; "required": false; "isSignal": true; }; "popoverHasCloseButtonInput": { "alias": "kbqPopoverHasCloseButton"; "required": false; "isSignal": true; }; "popoverCloseOnScrollInput": { "alias": "kbqPopoverCloseOnScroll"; "required": false; "isSignal": true; }; "arrowInput": { "alias": "kbqPopoverArrow"; "required": false; "isSignal": true; }; "offsetInput": { "alias": "kbqPopoverOffset"; "required": false; "isSignal": true; }; "autoFocusInput": { "alias": "kbqPopoverAutoFocus"; "required": false; "isSignal": true; }; "popoverOriginInput": { "alias": "kbqPopoverOrigin"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "kbqPopoverDisabled"; "required": false; "isSignal": true; }; "popoverPlacementPriorityInput": { "alias": "kbqPopoverPlacementPriority"; "required": false; "isSignal": true; }; "popoverPlacementInput": { "alias": "kbqPopoverPlacement"; "required": false; "isSignal": true; }; "popoverVisibleInput": { "alias": "kbqPopoverVisible"; "required": false; "isSignal": true; }; }, { "placementChangeOutput": "kbqPopoverPlacementChange"; "visibleChangeOutput": "kbqPopoverVisibleChange"; }, never, never, true, never>;
420
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverHideIfNotInViewPort": { "alias": "kbqPopoverHideIfNotInViewPort"; "required": false; "isSignal": true; }; "triggerInput": { "alias": "kbqTrigger"; "required": false; "isSignal": true; }; "kbqLeaveDelayInput": { "alias": "kbqLeaveDelay"; "required": false; "isSignal": true; }; "enterDelayInput": { "alias": "kbqEnterDelay"; "required": false; "isSignal": true; }; "preventCloseInput": { "alias": "kbqPopoverPreventClose"; "required": false; "isSignal": true; }; "stickToWindowInput": { "alias": "kbqPopoverStickToWindow"; "required": false; "isSignal": true; }; "popoverContainerInput": { "alias": "kbqPopoverContainer"; "required": false; "isSignal": true; }; "popoverHasBackdropInput": { "alias": "kbqPopoverHasBackdrop"; "required": false; "isSignal": true; }; "popoverBackdropClassInput": { "alias": "kbqPopoverBackdropClass"; "required": false; "isSignal": true; }; "popoverDefaultPaddingsInput": { "alias": "kbqPopoverDefaultPaddings"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "kbqPopoverSize"; "required": false; "isSignal": true; }; "customClassInput": { "alias": "kbqPopoverClass"; "required": false; "isSignal": true; }; "headerInput": { "alias": "kbqPopoverHeader"; "required": false; "isSignal": true; }; "contentInput": { "alias": "kbqPopoverContent"; "required": false; "isSignal": true; }; "footerInput": { "alias": "kbqPopoverFooter"; "required": false; "isSignal": true; }; "contextInput": { "alias": "kbqPopoverContext"; "required": false; "isSignal": true; }; "ariaLabelInput": { "alias": "kbqPopoverAriaLabel"; "required": false; "isSignal": true; }; "popoverHasCloseButtonInput": { "alias": "kbqPopoverHasCloseButton"; "required": false; "isSignal": true; }; "popoverCloseOnScrollInput": { "alias": "kbqPopoverCloseOnScroll"; "required": false; "isSignal": true; }; "arrowInput": { "alias": "kbqPopoverArrow"; "required": false; "isSignal": true; }; "arrowCenteredInput": { "alias": "kbqPopoverArrowCentered"; "required": false; "isSignal": true; }; "offsetInput": { "alias": "kbqPopoverOffset"; "required": false; "isSignal": true; }; "autoFocusInput": { "alias": "kbqPopoverAutoFocus"; "required": false; "isSignal": true; }; "relativeToPointerInput": { "alias": "kbqRelativeToPointer"; "required": false; "isSignal": true; }; "popoverOriginInput": { "alias": "kbqPopoverOrigin"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "kbqPopoverDisabled"; "required": false; "isSignal": true; }; "popoverPlacementPriorityInput": { "alias": "kbqPopoverPlacementPriority"; "required": false; "isSignal": true; }; "popoverPlacementInput": { "alias": "kbqPopoverPlacement"; "required": false; "isSignal": true; }; "popoverVisibleInput": { "alias": "kbqPopoverVisible"; "required": false; "isSignal": true; }; }, { "placementChangeOutput": "kbqPopoverPlacementChange"; "visibleChangeOutput": "kbqPopoverVisibleChange"; }, never, never, true, never>;
386
421
  }
387
422
 
388
423
  /**
@@ -71,8 +71,32 @@ declare class KbqRadioGroup extends KbqColorDirective implements AfterContentChe
71
71
  ngOnChanges(changes: SimpleChanges): void;
72
72
  /** Whether the radio group is required */
73
73
  readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
74
+ /**
75
+ * Value of `aria-invalid`: set whenever the group is painted as invalid.
76
+ *
77
+ * @docs-private
78
+ */
79
+ protected readonly ariaInvalid: _angular_core.Signal<"true" | null>;
74
80
  /** Error text projected into the group. */
75
81
  private readonly error;
82
+ /**
83
+ * Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the options.
84
+ *
85
+ * @docs-private
86
+ */
87
+ protected readonly showError: _angular_core.Signal<boolean>;
88
+ /**
89
+ * Id of the element wrapping the projected `kbq-error`.
90
+ *
91
+ * @docs-private
92
+ */
93
+ protected readonly errorId: string;
94
+ /**
95
+ * Hints of the group itself, shown under the options. The hints of the buttons are their own.
96
+ *
97
+ * @docs-private
98
+ */
99
+ protected readonly hints: _angular_core.Signal<readonly KbqHint[]>;
76
100
  /** Ids the group last added to `aria-describedby` of the host, so the consumer's own survive an update. */
77
101
  private ownDescribedByIds;
78
102
  private readonly renderer;
@@ -215,6 +239,12 @@ declare class KbqRadioButton extends KbqColorDirective implements OnChanges, OnI
215
239
  readonly change: _angular_core.OutputEmitterRef<KbqRadioChange>;
216
240
  /** The parent radio group. `null` when the button is used outside one. */
217
241
  radioGroup: KbqRadioGroup | null;
242
+ /**
243
+ * Whether the button takes the big size of its group.
244
+ *
245
+ * @docs-private
246
+ */
247
+ protected readonly big: _angular_core.Signal<boolean>;
218
248
  private readonly uniqueId;
219
249
  /**
220
250
  * A unique id for the radio button. If none is supplied — or `null` is bound explicitly — it is
@@ -145,7 +145,17 @@ declare class KbqSearchExpandable implements OnChanges, ControlValueAccessor, Af
145
145
  * @docs-private
146
146
  */
147
147
  protected onEnter(event: Event): void;
148
+ /**
149
+ * Clears a non-empty field on `Escape`, or collapses an empty one. On `keydown` and spent, so that a container
150
+ * closing on the key, such as a modal, stays open.
151
+ *
152
+ * @docs-private
153
+ */
154
+ protected onEscape(event: Event): void;
155
+ /** @docs-private */
156
+ protected onSuffixClick(): void;
148
157
  private setOpened;
158
+ private resetValue;
149
159
  /** Moves focus back onto the collapsed button, keeping its tooltip from opening on the way. */
150
160
  private restoreFocusToButton;
151
161
  private emitValue;
@@ -144,6 +144,12 @@ declare class KbqSelectChange {
144
144
  }
145
145
  /** Options for the `kbq-select` that can be configured using the `KBQ_SELECT_OPTIONS` injection token. */
146
146
  type KbqSelectOptions = Partial<{
147
+ /**
148
+ * Whether option text wraps onto multiple lines. When `panelWidth` is nullish, the panel matches the trigger
149
+ * width; an explicit `panelWidth` takes precedence. Not supported with `cdk-virtual-scroll-viewport`: the panel
150
+ * modifier and automatic width fallback are not applied. Defaults to `false`.
151
+ */
152
+ multilineOptions: boolean;
147
153
  /**
148
154
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
149
155
  * If set to null or an empty string, the panel will grow to match the longest option's text.
@@ -178,6 +184,12 @@ type KbqSelectOptions = Partial<{
178
184
  }>;
179
185
  /** Injection token that can be used to provide the default options for the `kbq-select`. */
180
186
  declare const KBQ_SELECT_OPTIONS: InjectionToken<Partial<{
187
+ /**
188
+ * Whether option text wraps onto multiple lines. When `panelWidth` is nullish, the panel matches the trigger
189
+ * width; an explicit `panelWidth` takes precedence. Not supported with `cdk-virtual-scroll-viewport`: the panel
190
+ * modifier and automatic width fallback are not applied. Defaults to `false`.
191
+ */
192
+ multilineOptions: boolean;
181
193
  /**
182
194
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
183
195
  * If set to null or an empty string, the panel will grow to match the longest option's text.
@@ -239,6 +251,12 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
239
251
  protected readonly destroyRef: DestroyRef;
240
252
  protected readonly isBrowser: boolean;
241
253
  protected readonly defaultOptions: Partial<{
254
+ /**
255
+ * Whether option text wraps onto multiple lines. When `panelWidth` is nullish, the panel matches the trigger
256
+ * width; an explicit `panelWidth` takes precedence. Not supported with `cdk-virtual-scroll-viewport`: the panel
257
+ * modifier and automatic width fallback are not applied. Defaults to `false`.
258
+ */
259
+ multilineOptions: boolean;
242
260
  /**
243
261
  * Width of the panel. If set to `auto`, the panel will match the trigger width.
244
262
  * If set to null or an empty string, the panel will grow to match the longest option's text.
@@ -445,6 +463,12 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
445
463
  * When true, allows multiple lines of text in the selected value display.
446
464
  */
447
465
  readonly multiline: _angular_core.InputSignalWithTransform<boolean, unknown>;
466
+ /**
467
+ * Whether option text wraps onto multiple lines. When `panelWidth` is nullish, the panel matches the trigger
468
+ * width; an explicit `panelWidth` takes precedence. Not supported with `cdk-virtual-scroll-viewport`: the panel
469
+ * modifier and automatic width fallback are not applied. Defaults to `false`.
470
+ */
471
+ readonly multilineOptions: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
448
472
  /**
449
473
  * Controls when the search functionality is displayed based on the number of available options.
450
474
  *
@@ -639,6 +663,12 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
639
663
  readonly disabled: _angular_core.WritableSignal<boolean>;
640
664
  private readonly resolvedTabIndex;
641
665
  private readonly resolvedAriaLabelValue;
666
+ /** @docs-private */
667
+ protected readonly disabledAttribute: _angular_core.Signal<true | null>;
668
+ /** @docs-private */
669
+ protected readonly disabledClass: _angular_core.Signal<boolean>;
670
+ /** @docs-private */
671
+ protected readonly invalidClass: _angular_core.Signal<boolean>;
642
672
  private readonly focusedValue;
643
673
  private readonly panelOpenValue;
644
674
  /** Whether the select is focused. */
@@ -838,6 +868,8 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
838
868
  * Sets up the overlay dimensions based on trigger size and configured options.
839
869
  */
840
870
  openPanel(): void;
871
+ private updatePanelWidth;
872
+ private getEffectivePanelWidth;
841
873
  private attachPanel;
842
874
  /** Closes the overlay panel. */
843
875
  close(): void;
@@ -912,10 +944,10 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
912
944
  /** Returns the theme to be used on the panel based on parent form field color. */
913
945
  getPanelTheme(): string;
914
946
  /**
915
- * Returns the full set of classes for the panel: base class, theme and custom `panelClass`.
947
+ * Returns the full set of classes for the panel: base class, multiline modifier, theme and custom `panelClass`.
916
948
  *
917
- * Only the theme is read per change detection — it comes from the form field, which does not expose
918
- * its color as a signal — while the `panelClass` expansion is memoised.
949
+ * The theme comes from the form field, which does not expose its color as a signal, while the `panelClass`
950
+ * expansion is memoised.
919
951
  */
920
952
  protected getPanelClasses(): string;
921
953
  /** Focuses the select element. */
@@ -1076,7 +1108,7 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterViewChecked, A
1076
1108
  /** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
1077
1109
  private defaultSelectAllHandler;
1078
1110
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqSelect, never>;
1079
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; "isSignal": true; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; "isSignal": true; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "searchMinOptionsThresholdInput": { "alias": "searchMinOptionsThreshold"; "required": false; "isSignal": true; }; "scrolledToBottomOffset": { "alias": "scrolledToBottomOffset"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "virtualOptionFactory": { "alias": "virtualOptionFactory"; "required": false; "isSignal": true; }; "clearPredicate": { "alias": "clearPredicate"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "selectAllHandlerInput": { "alias": "selectAllHandler"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openedChangeOutput": "openedChange"; "beforeOpened": "beforeOpened"; "openedOutput": "opened"; "closedOutput": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; "scrolledToBottom": "scrolledToBottom"; }, ["projectedScrollbarViewport", "footer", "cdkVirtualForOf", "virtualScrollViewport", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "optionsQuery", "optionGroups", "search", "searchEmpty"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], true, [{ directive: typeof i2.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
1111
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; "isSignal": true; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "showPreselectedValues": { "alias": "showPreselectedValues"; "required": false; "isSignal": true; }; "triggerValuesLimit": { "alias": "triggerValuesLimit"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "multilineOptions": { "alias": "multilineOptions"; "required": false; "isSignal": true; }; "searchMinOptionsThresholdInput": { "alias": "searchMinOptionsThreshold"; "required": false; "isSignal": true; }; "scrolledToBottomOffset": { "alias": "scrolledToBottomOffset"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "virtualOptionFactory": { "alias": "virtualOptionFactory"; "required": false; "isSignal": true; }; "clearPredicate": { "alias": "clearPredicate"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "selectAllHandlerInput": { "alias": "selectAllHandler"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openedChangeOutput": "openedChange"; "beforeOpened": "beforeOpened"; "openedOutput": "opened"; "closedOutput": "closed"; "selectionChange": "selectionChange"; "onSelectAll": "onSelectAll"; "valueChange": "valueChange"; "scrolledToBottom": "scrolledToBottom"; }, ["projectedScrollbarViewport", "footer", "cdkVirtualForOf", "virtualScrollViewport", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "optionsQuery", "optionGroups", "search", "searchEmpty"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], true, [{ directive: typeof i2.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
1080
1112
  }
1081
1113
 
1082
1114
  declare class KbqSelectModule {
@@ -75,6 +75,25 @@ declare class KbqSidepanelConfig<D = any> {
75
75
  scrollStrategy?: () => ScrollStrategy;
76
76
  }
77
77
 
78
+ /** @docs-private */
79
+ declare enum KbqSidepanelAnimationState {
80
+ Void = "void",
81
+ Visible = "visible",
82
+ Hidden = "hidden",
83
+ Lower = "lower",
84
+ BottomPanel = "bottom-panel",
85
+ BecomingNormal = "becoming-normal"
86
+ }
87
+ /**
88
+ * A state transition of the sidepanel container: started, or ended — finished, or interrupted by the next one.
89
+ *
90
+ * @docs-private
91
+ */
92
+ interface KbqSidepanelAnimationEvent {
93
+ phaseName: 'start' | 'done';
94
+ toState: KbqSidepanelAnimationState;
95
+ }
96
+
78
97
  declare const KBQ_SIDEPANEL_WITH_INDENT: InjectionToken<boolean>;
79
98
  declare class KbqSidepanelContainerComponent extends BasePortalOutlet implements OnDestroy {
80
99
  private elementRef;
@@ -100,6 +119,18 @@ declare class KbqSidepanelContainerComponent extends BasePortalOutlet implements
100
119
  private readonly _ariaLabelledBy;
101
120
  /** The portal outlet inside of this container into which the content will be loaded. */
102
121
  readonly portalOutlet: i0.Signal<CdkPortalOutlet>;
122
+ /**
123
+ * The state of the sidepanel: on screen, closing, or stacked under another one.
124
+ *
125
+ * @docs-private
126
+ */
127
+ readonly animationState: i0.WritableSignal<KbqSidepanelAnimationState>;
128
+ /**
129
+ * Reports each state transition starting and ending.
130
+ *
131
+ * @docs-private
132
+ */
133
+ readonly animationStateChanged: Subject<KbqSidepanelAnimationEvent>;
103
134
  /** The transition in progress, ended early by the next one. */
104
135
  private pendingTransition?;
105
136
  /** Transition events held until the render that applies the state, in the order they happened. */
@@ -136,6 +167,20 @@ declare class KbqSidepanelContainerComponent extends BasePortalOutlet implements
136
167
  enter(): void;
137
168
  /** Begin animation of the sidepanel exiting from view. */
138
169
  exit(): void;
170
+ /** @docs-private */
171
+ setAnimationState(state: KbqSidepanelAnimationState): void;
172
+ /**
173
+ * Transform of the panel in its current state.
174
+ *
175
+ * @docs-private
176
+ */
177
+ protected readonly stateTransform: i0.Signal<string | null>;
178
+ /**
179
+ * Opacity of the panel in its current state.
180
+ *
181
+ * @docs-private
182
+ */
183
+ protected readonly stateOpacity: i0.Signal<number | null>;
139
184
  /**
140
185
  * Recomputes whether this panel exposes an indent strip, after the stack it belongs to changed.
141
186
  *
@@ -209,13 +254,19 @@ declare class KbqSidepanelRef<T = any, R = any> {
209
254
  * Button that will close the current sidepanel.
210
255
  */
211
256
  declare class KbqSidepanelClose {
212
- readonly sidepanelRef: KbqSidepanelRef<any, any>;
257
+ private readonly declaredSidepanelRef;
258
+ private readonly sidepanelService;
213
259
  private readonly elementRef;
214
260
  private readonly renderer;
215
261
  /** Value handed to `KbqSidepanelRef.close()`, under the hyphenated spelling of the selector. */
216
262
  readonly sidepanelResult: i0.InputSignal<any>;
217
263
  /** The same value, under the camel-case spelling. */
218
264
  readonly kbqSidepanelClose: i0.InputSignal<any>;
265
+ /**
266
+ * Sidepanel the button closes: the one it is rendered in. A button rendered outside any sidepanel, such as
267
+ * an item of a dropdown opened from one, closes the sidepanel its template is declared in.
268
+ */
269
+ get sidepanelRef(): KbqSidepanelRef;
219
270
  constructor();
220
271
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSidepanelClose, never>;
221
272
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSidepanelClose, "button[kbq-sidepanel-close], button[kbqSidepanelClose]", never, { "sidepanelResult": { "alias": "kbq-sidepanel-close"; "required": false; "isSignal": true; }; "kbqSidepanelClose": { "alias": "kbqSidepanelClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;