@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
@@ -149,6 +149,18 @@ interface KbqPipe {
149
149
  value: unknown | null;
150
150
  search?: boolean;
151
151
  selectAll?: boolean;
152
+ /**
153
+ * `multiselect` / `multi-tree-select` pipes only: shows a counter of the elements "Select all" would
154
+ * toggle next to its row — all of them, or only the ones matching the search while searching. Locked
155
+ * values are not counted. Ignored by other pipe types. Default is `false`.
156
+ */
157
+ selectAllCounter?: boolean;
158
+ /**
159
+ * Tree-based pipes only (`tree-select`, `multi-tree-select`): whether the panel opens with every
160
+ * branch expanded. When `false`, all branches start collapsed except the ancestors of the selected
161
+ * node(s). Default is `true`.
162
+ */
163
+ defaultExpanded?: boolean;
152
164
  openOnAdd?: boolean;
153
165
  openOnReset?: boolean;
154
166
  /**
@@ -188,6 +200,12 @@ interface KbqPipeData<V> extends KbqPipe {
188
200
  }
189
201
  interface KbqPipeTemplate extends Omit<KbqPipe, 'value'> {
190
202
  values?: unknown[];
203
+ /**
204
+ * Custom option content for `select` and `multiselect`, or custom leaf and branch content for
205
+ * `tree-select` and `multi-tree-select`. Tree templates receive a {@link KbqMultiTreeSelectValueTemplateContext} with the
206
+ * original `option` and current `search`; filtering and the trigger still use the node's `name`.
207
+ * Ignored by other pipe types.
208
+ */
191
209
  valueTemplate?: TemplateRef<any> | string;
192
210
  /**
193
211
  * Custom equality comparator forwarded to the underlying `kbq-select` of the `select` /
@@ -220,8 +238,9 @@ interface KbqPipeTemplate extends Omit<KbqPipe, 'value'> {
220
238
  panelMaxHeight?: KbqPanelMaxHeight;
221
239
  /**
222
240
  * Whether option names and captions in the dropdown wrap instead of being truncated to one line.
223
- * Applies to the `select` and `multiselect` pipes; ignored by the other pipe types. Unrelated to
224
- * `KbqSelect.multiline`, which lays the trigger's values out in rows.
241
+ * Applies to the `select`, `multiselect`, `tree-select` and `multi-tree-select` pipes independently of
242
+ * `valueTemplate`; ignored by the other pipe types. Unrelated to `KbqSelect.multiline`, which lays the
243
+ * trigger's values out in rows.
225
244
  */
226
245
  multilineOptions?: boolean;
227
246
  /**
@@ -283,11 +302,15 @@ declare class KbqTreeSelectFlatNode {
283
302
  level: number;
284
303
  expandable: boolean;
285
304
  parent?: KbqTreeSelectFlatNode;
305
+ /** Second line under `name` in the dropdown of the tree-select pipes. */
306
+ caption?: string;
286
307
  }
287
308
  interface KbqTreeSelectNode {
288
309
  children: KbqTreeSelectNode[] | null;
289
310
  name: string;
290
311
  value: unknown;
312
+ /** Second line under `name` in the dropdown of the tree-select pipes. Ignored when `valueTemplate` is used. */
313
+ caption?: string;
291
314
  }
292
315
  /**
293
316
  * Build the file structure tree. The `value` is the Json object, or a sub-tree of a Json object.
@@ -706,7 +729,7 @@ declare abstract class KbqBasePipe<V> implements AfterViewInit {
706
729
  protected panelMaxHeight?: KbqPanelMaxHeight;
707
730
  /**
708
731
  * 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.
732
+ * the pipe template. Only consumed by the select-family pipe components.
710
733
  */
711
734
  protected multilineOptions?: boolean;
712
735
  /**
@@ -1159,6 +1182,8 @@ declare class KbqPipeInputComponent extends KbqBasePipe<string | null> implement
1159
1182
  declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements AfterViewInit, OnInit {
1160
1183
  /** control for search options */
1161
1184
  readonly searchControl: FormControl<string | null>;
1185
+ /** Query tokens for option highlighting: tokenized like the filter, so every matched token is marked. */
1186
+ readonly searchTokens: Signal<string[]>;
1162
1187
  /**
1163
1188
  * Options of the pipe template that match the search query. Follows the templates too, so options
1164
1189
  * supplied after initialization render on first open.
@@ -1174,6 +1199,8 @@ declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]>
1174
1199
  get isEmpty(): boolean;
1175
1200
  /** state for checkbox 'select all'. */
1176
1201
  get checkboxState(): KbqPseudoCheckboxState;
1202
+ /** Number of options the "select all" action would toggle right now — template-only. */
1203
+ protected get selectAllCount(): number;
1177
1204
  /** true if all visible options selected */
1178
1205
  get allVisibleOptionsSelected(): boolean;
1179
1206
  /** true if all options selected */
@@ -1231,8 +1258,9 @@ declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implement
1231
1258
  treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
1232
1259
  treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
1233
1260
  dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
1261
+ private readonly sourceNodes;
1234
1262
  /** @docs-private */
1235
- readonly select: _angular_core.Signal<KbqTreeSelect<KbqTreeSelectFlatNode>>;
1263
+ readonly select: _angular_core.Signal<KbqTreeSelect<KbqTreeSelectFlatNode, KbqTreeSelectFlatNode>>;
1236
1264
  constructor();
1237
1265
  ngOnInit(): void;
1238
1266
  ngAfterViewInit(): void;
@@ -1242,6 +1270,22 @@ declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implement
1242
1270
  open(): void;
1243
1271
  /** @docs-private */
1244
1272
  onOpen(): void;
1273
+ /**
1274
+ * Values of the currently selected nodes, in the shape `treeControl.compareValues` understands.
1275
+ * Read from the pipe's own state rather than the select's selection model: the select applies a
1276
+ * value written ahead of its data only once the options render, which is after `onOpen` fires.
1277
+ *
1278
+ * @docs-private
1279
+ */
1280
+ protected abstract getSelectedValues(): KbqSelectValue[];
1281
+ /**
1282
+ * Expands the ancestors of every selected node. Selected values are matched against the current
1283
+ * `dataNodes` by `compareValues`, not by flat-node reference: re-assigning `dataSource.data` rebuilds
1284
+ * the flat nodes, so a stale node reference would miss.
1285
+ */
1286
+ private expandSelectedNodeAncestors;
1287
+ /** @docs-private */
1288
+ protected getSourceNode(node: KbqTreeSelectFlatNode): KbqTreeSelectNode;
1245
1289
  protected transformer: (node: KbqTreeSelectNode, level: number, parent: KbqTreeSelectFlatNode | null) => KbqTreeSelectFlatNode;
1246
1290
  protected getLevel: (node: KbqTreeSelectFlatNode) => number;
1247
1291
  protected isExpandable: (node: KbqTreeSelectFlatNode) => boolean;
@@ -1252,14 +1296,29 @@ declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implement
1252
1296
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeSelectPipeBase<any>, never, never, {}, {}, never, never, true, never>;
1253
1297
  }
1254
1298
 
1299
+ /** Context available to a custom `multi-tree-select` value template. */
1300
+ interface KbqMultiTreeSelectValueTemplateContext<T extends KbqTreeSelectNode = KbqTreeSelectNode> {
1301
+ /** Pipe component instance, matching the implicit context of the flat select pipes. */
1302
+ $implicit: KbqPipeMultiTreeSelectComponent;
1303
+ /** Original node, including consumer-defined fields omitted from the flattened tree model. */
1304
+ option: T;
1305
+ /** Current search query. Defaults to `null`. */
1306
+ search: string | null;
1307
+ }
1255
1308
  declare class KbqPipeMultiTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelectValue[]> implements OnInit {
1256
1309
  /** @docs-private */
1257
- readonly tree: _angular_core.Signal<KbqTreeSelection<KbqTreeSelectFlatNode>>;
1310
+ readonly tree: _angular_core.Signal<KbqTreeSelection<KbqTreeSelectFlatNode, KbqTreeSelectFlatNode>>;
1258
1311
  /** selected value */
1259
1312
  get selected(): KbqSelectValue[] | null;
1260
1313
  /** Whether the current pipe is empty. */
1261
1314
  get isEmpty(): boolean;
1262
1315
  get selectAllCheckboxState(): KbqPseudoCheckboxState;
1316
+ /**
1317
+ * Number of leaf nodes "select all" would toggle right now — template-only. Searching counts only
1318
+ * the matching leaves among the rendered options; the group ancestors shown for context are not
1319
+ * leaves and drop out of the count by construction.
1320
+ */
1321
+ protected get selectAllCount(): number;
1263
1322
  get numberOfSelectedLeaves(): number;
1264
1323
  /** true if all options selected */
1265
1324
  get allOptionsSelected(): boolean;
@@ -1285,6 +1344,16 @@ declare class KbqPipeMultiTreeSelectComponent extends KbqTreeSelectPipeBase<KbqS
1285
1344
  ngOnInit(): void;
1286
1345
  ngAfterViewInit(): void;
1287
1346
  isNodeSelectAll(_: number, nodeData: KbqTreeSelectFlatNode): boolean;
1347
+ /**
1348
+ * The committed value rather than `multiSelect.selected`: that snapshot is only refreshed on
1349
+ * initialization, clearing and a full selection, so a user-made partial selection would leave
1350
+ * the ancestors of the current value collapsed on reopen.
1351
+ *
1352
+ * @docs-private
1353
+ */
1354
+ protected getSelectedValues(): KbqSelectValue[];
1355
+ /** @docs-private */
1356
+ protected getValueTemplateContext(node: KbqTreeSelectFlatNode): KbqMultiTreeSelectValueTemplateContext;
1288
1357
  onSelect({ value: option }: {
1289
1358
  value: any;
1290
1359
  }): void;
@@ -1325,6 +1394,8 @@ declare class KbqPipeReadonlyComponent extends KbqBasePipe<string | null> {
1325
1394
  declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit {
1326
1395
  /** control for search options */
1327
1396
  readonly searchControl: FormControl<string | null>;
1397
+ /** Query tokens for option highlighting: tokenized like the filter, so every matched token is marked. */
1398
+ readonly searchTokens: Signal<string[]>;
1328
1399
  /**
1329
1400
  * Options of the pipe template that match the search query. Follows the templates too, so options
1330
1401
  * supplied after initialization render on first open.
@@ -1374,6 +1445,8 @@ declare class KbqPipeTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelect
1374
1445
  /** Whether the current pipe is empty. */
1375
1446
  get isEmpty(): boolean;
1376
1447
  constructor();
1448
+ /** @docs-private */
1449
+ protected getSelectedValues(): KbqSelectValue[];
1377
1450
  onSelect(item: KbqTreeOption): void;
1378
1451
  /**
1379
1452
  * Populates the tree data source from the pipe template. The shared `values`/`valueTemplate`
@@ -1386,4 +1459,4 @@ declare class KbqPipeTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelect
1386
1459
  }
1387
1460
 
1388
1461
  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 };
1462
+ export type { KbqDateTimeValue, KbqFilter, KbqFilterBarHost, KbqFilterBarPipeState, KbqFilterBarState, KbqFiltersHost, KbqMultiTreeSelectValueTemplateContext, KbqPipe, KbqPipeData, KbqPipeTemplate, KbqPipeType, KbqSaveFilterError, KbqSaveFilterEvent, KbqSelectValue, KbqTreeSelectNode };
@@ -53,6 +53,24 @@ declare class KbqFlag {
53
53
  * projected image (`alt`, `<title>`) has to repeat it here.
54
54
  */
55
55
  readonly label: _angular_core.InputSignal<string | undefined>;
56
+ /**
57
+ * Value of `role`.
58
+ *
59
+ * @docs-private
60
+ */
61
+ protected readonly resolvedRole: _angular_core.Signal<"img" | null>;
62
+ /**
63
+ * Value of `aria-label`.
64
+ *
65
+ * @docs-private
66
+ */
67
+ protected readonly resolvedAriaLabel: _angular_core.Signal<string | null>;
68
+ /**
69
+ * Value of `aria-hidden`.
70
+ *
71
+ * @docs-private
72
+ */
73
+ protected readonly resolvedAriaHidden: _angular_core.Signal<"true" | null>;
56
74
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFlag, never>;
57
75
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFlag, "kbq-flag", ["kbqFlag"], { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "svg": { "alias": "svg"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
58
76
  }
@@ -33,6 +33,13 @@ declare abstract class KbqFormFieldControl<T> {
33
33
  readonly disabled: Signal<boolean>;
34
34
  /** Whether the control is in an error state. */
35
35
  readonly errorState: Signal<boolean>;
36
+ /**
37
+ * Whether the control is read-only: it can be focused and its value selected and copied, but not changed.
38
+ *
39
+ * Implement it only on a control that has a read-only state. `KbqFormField` then hides the cleaner and adds
40
+ * the `kbq-form-field_readonly` class.
41
+ */
42
+ readonly readonly?: Signal<boolean>;
36
43
  /**
37
44
  * Whether the control's value was filled in by the browser.
38
45
  *
@@ -138,19 +145,57 @@ declare class KbqCleaner extends KbqIconButton implements AfterContentInit {
138
145
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqCleaner, "kbq-cleaner", ["kbqCleaner"], { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
139
146
  }
140
147
 
148
+ /**
149
+ * State that a control gives to the hints projected into it. A hint's own input can only add to it: `[compact]="false"`
150
+ * does not cancel `compact` of the control.
151
+ *
152
+ * @docs-private
153
+ */
154
+ interface KbqHintParentConfig {
155
+ /** Makes the hints smaller, as `KbqHint.compact` does. */
156
+ compact?: Signal<boolean>;
157
+ /** Disables `color` for the hint text, as `KbqHint.fillTextOff` does. */
158
+ fillTextOff?: Signal<boolean>;
159
+ /**
160
+ * Whether the control is disabled. Its hints then show in the disabled color what no `color` paints: a hint
161
+ * without `color` with its icons that have no color of their own, and the text of a hint with `fillTextOff`. A
162
+ * color set on the hint or on its icon wins. A hint has no `disabled` of its own: it is not interactive, so only the
163
+ * state of its control applies.
164
+ */
165
+ disabled?: Signal<boolean>;
166
+ }
167
+ /**
168
+ * Lets a control set the state of the hints projected into it, so that it does not restyle them.
169
+ *
170
+ * @docs-private
171
+ */
172
+ declare const KBQ_HINT_PARENT: InjectionToken<KbqHintParentConfig>;
173
+ /**
174
+ * Provides `KBQ_HINT_PARENT`. The factory runs in the injection context of the control, so it can inject the control.
175
+ *
176
+ * @docs-private
177
+ */
178
+ declare const kbqHintParentFactoryProvider: (factory: () => KbqHintParentConfig) => Provider;
141
179
  /** Hint text to be shown below the form field control. */
142
180
  declare class KbqHint extends KbqColorDirective {
181
+ private readonly parent;
143
182
  /** Unique ID for the hint. Referenced by the `aria-describedby` of the form field control. */
144
183
  readonly id: i0.InputSignal<string>;
145
184
  /** Disables `color` for the hint text. */
146
185
  readonly fillTextOff: i0.InputSignalWithTransform<boolean, unknown>;
147
186
  /** Makes the hint size smaller. */
148
187
  readonly compact: i0.InputSignalWithTransform<boolean, unknown>;
188
+ /** @docs-private */
189
+ protected readonly isFillTextOff: Signal<boolean>;
190
+ /** @docs-private */
191
+ protected readonly isCompact: Signal<boolean>;
192
+ /** @docs-private */
193
+ protected readonly isDisabled: Signal<boolean>;
149
194
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqHint, never>;
150
195
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqHint, "kbq-hint", ["kbqHint"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "fillTextOff": { "alias": "fillTextOff"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["[kbq-icon]", "*"], true, never>;
151
196
  }
152
197
 
153
- /** Error text to be shown below the form field control. */
198
+ /** Error text to be shown below the form field control. It keeps the error color under a disabled control too. */
154
199
  declare class KbqError extends KbqHint {
155
200
  constructor();
156
201
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqError, never>;
@@ -256,6 +301,8 @@ type KbqStepperControl = {
256
301
  readonly controlType: 'input-number';
257
302
  /** Read by the template, so it has to be backed by a signal for the stepper to follow it. */
258
303
  readonly disabled: boolean;
304
+ /** Whether the field is read-only: the stepper stays visible but does not step. */
305
+ readonly readonly: Signal<boolean>;
259
306
  /** A signal since the input review: `step` is an `input()` on `KbqNumberInput`. */
260
307
  readonly step: Signal<number>;
261
308
  stepUp: (step: number) => void;
@@ -287,6 +334,12 @@ declare class KbqStepper {
287
334
  * @docs-private
288
335
  */
289
336
  protected readonly control: Signal<KbqStepperControl>;
337
+ /**
338
+ * Whether the steps are blocked. A read-only field keeps the stepper visible, as a disabled one does.
339
+ *
340
+ * @docs-private
341
+ */
342
+ protected readonly inactive: Signal<boolean>;
290
343
  constructor();
291
344
  /** @docs-private */
292
345
  onStepUp(event: MouseEvent): void;
@@ -324,6 +377,8 @@ type KbqFormFieldDefaultOptions = Partial<{
324
377
  labelClass: string | string[] | Set<string>;
325
378
  /** Additional CSS classes applied to the content wrapper element. */
326
379
  contentClass: string | string[] | Set<string>;
380
+ /** Whether the label of a required control ends with the `*` marker. */
381
+ showRequiredMarker: boolean;
327
382
  }>;
328
383
  /**
329
384
  * Injection token that can be used to configure the default options for all kbq-form-field's.
@@ -341,6 +396,8 @@ declare const KBQ_FORM_FIELD_DEFAULT_OPTIONS: InjectionToken<Partial<{
341
396
  labelClass: string | string[] | Set<string>;
342
397
  /** Additional CSS classes applied to the content wrapper element. */
343
398
  contentClass: string | string[] | Set<string>;
399
+ /** Whether the label of a required control ends with the `*` marker. */
400
+ showRequiredMarker: boolean;
344
401
  }>>;
345
402
  /** Utility provider for `KBQ_FORM_FIELD_DEFAULT_OPTIONS`. */
346
403
  declare const kbqFormFieldDefaultOptionsProvider: (options: KbqFormFieldDefaultOptions) => Provider;
@@ -365,6 +422,11 @@ declare class KbqFormField extends KbqColorDirective implements AfterContentInit
365
422
  readonly labelClass: i0.InputSignal<string | string[] | Set<string> | undefined>;
366
423
  /** Additional CSS classes applied to the content wrapper element. */
367
424
  readonly contentClass: i0.InputSignal<string | string[] | Set<string> | undefined>;
425
+ /**
426
+ * Whether the label of a required control ends with the `*` marker. A control is required by its `required`
427
+ * state or by `Validators.required` on its form control.
428
+ */
429
+ readonly showRequiredMarker: i0.InputSignalWithTransform<boolean, unknown>;
368
430
  /**
369
431
  * The form field control.
370
432
  *
@@ -427,6 +489,17 @@ declare class KbqFormField extends KbqColorDirective implements AfterContentInit
427
489
  * @docs-private
428
490
  */
429
491
  protected readonly hasLabel: Signal<boolean>;
492
+ /**
493
+ * Whether the bound form control has `Validators.required`. Re-read on every content check: the validators of a
494
+ * control notify nothing a signal could follow.
495
+ */
496
+ private readonly requiredByValidator;
497
+ /**
498
+ * Whether the label ends with the required marker.
499
+ *
500
+ * @docs-private
501
+ */
502
+ protected readonly hasRequiredMarker: Signal<boolean>;
430
503
  /**
431
504
  * Id of the rendered label, or `null` when the form field has no label.
432
505
  *
@@ -491,13 +564,15 @@ declare class KbqFormField extends KbqColorDirective implements AfterContentInit
491
564
  get hasFocus(): boolean;
492
565
  /**
493
566
  * Whether the cleaner can be displayed: it requires a projected `kbq-cleaner`, an enabled control
494
- * and a value that is not empty.
567
+ * that is not read-only and a value that is not empty.
495
568
  *
496
569
  * @docs-private
497
570
  */
498
571
  get canShowCleaner(): boolean;
499
572
  /** Whether the form field is disabled. */
500
573
  get disabled(): boolean;
574
+ /** Whether the form field control is read-only. */
575
+ readonly readonly: Signal<boolean>;
501
576
  /**
502
577
  * Whether the form field control's value was filled in by the browser. Controls that cannot be
503
578
  * autofilled do not implement `autofilled`, and report `false` here.
@@ -563,7 +638,7 @@ declare class KbqFormField extends KbqColorDirective implements AfterContentInit
563
638
  /** Initializes the form field control. */
564
639
  private initializeControl;
565
640
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqFormField, never>;
566
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqFormField, "kbq-form-field", ["kbqFormField"], { "noBorders": { "alias": "noBorders"; "required": false; "isSignal": true; }; "inOverlay": { "alias": "inOverlay"; "required": false; "isSignal": true; }; "horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; }, { "inOverlay": "inOverlayChange"; }, ["control", "stepper", "cleaner", "passwordToggle", "hint", "suffix", "prefix", "controlElementRef", "reactivePasswordHint", "error", "label"], ["kbq-label", "[kbqPrefix]", "*", "kbq-cleaner", "kbq-password-toggle, kbq-stepper, [kbqSuffix]", "kbq-error", "kbq-hint, kbq-reactive-password-hint"], true, never>;
641
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqFormField, "kbq-form-field", ["kbqFormField"], { "noBorders": { "alias": "noBorders"; "required": false; "isSignal": true; }; "inOverlay": { "alias": "inOverlay"; "required": false; "isSignal": true; }; "horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; "showRequiredMarker": { "alias": "showRequiredMarker"; "required": false; "isSignal": true; }; }, { "inOverlay": "inOverlayChange"; }, ["control", "stepper", "cleaner", "passwordToggle", "hint", "suffix", "prefix", "controlElementRef", "reactivePasswordHint", "error", "label"], ["kbq-label", "[kbqPrefix]", "*", "kbq-cleaner", "kbq-password-toggle, kbq-stepper, [kbqSuffix]", "kbq-error", "kbq-hint, kbq-reactive-password-hint"], true, never>;
567
642
  }
568
643
  /**
569
644
  * Trims the value of `kbqInput` and `kbqTextarea` before it reaches the model.
@@ -602,12 +677,18 @@ declare class KbqReactivePasswordHint extends KbqHint {
602
677
  readonly hasError: i0.InputSignalWithTransform<boolean, unknown>;
603
678
  /** Disables `color` for the hint text. */
604
679
  readonly fillTextOff: i0.InputSignalWithTransform<boolean, unknown>;
680
+ /**
681
+ * A password hint keeps its size under any control, so `compact` of the control does not apply to it.
682
+ *
683
+ * @docs-private
684
+ */
685
+ protected readonly isCompact: Signal<boolean>;
605
686
  /**
606
687
  * The form field hint icon.
607
688
  *
608
689
  * @docs-private
609
690
  */
610
- protected readonly icon: i0.Signal<"kbq-xmark-s_16" | "kbq-check-s_16">;
691
+ protected readonly icon: Signal<"kbq-xmark-s_16" | "kbq-check-s_16">;
611
692
  constructor();
612
693
  private updateColor;
613
694
  private makeColor;
@@ -621,5 +702,5 @@ declare class KbqFormFieldModule {
621
702
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqFormFieldModule>;
622
703
  }
623
704
 
624
- export { KBQ_CLEANER_CONTEXT, KBQ_FORM_FIELD, KBQ_FORM_FIELD_DEFAULT_OPTIONS, KbqCleaner, KbqError, KbqFieldset, KbqFieldsetItem, KbqFormField, KbqFormFieldControl, KbqFormFieldModule, KbqHint, KbqLabel, KbqLegend, KbqPasswordToggle, KbqPrefix, KbqReactivePasswordHint, KbqStepper, KbqSuffix, KbqTrim, kbqCleanerFactoryProvider, kbqFormFieldDefaultOptionsProvider };
625
- export type { KbqCleanerContext, KbqCleanerContextBase, KbqFormFieldDefaultOptions };
705
+ export { KBQ_CLEANER_CONTEXT, KBQ_FORM_FIELD, KBQ_FORM_FIELD_DEFAULT_OPTIONS, KBQ_HINT_PARENT, KbqCleaner, KbqError, KbqFieldset, KbqFieldsetItem, KbqFormField, KbqFormFieldControl, KbqFormFieldModule, KbqHint, KbqLabel, KbqLegend, KbqPasswordToggle, KbqPrefix, KbqReactivePasswordHint, KbqStepper, KbqSuffix, KbqTrim, kbqCleanerFactoryProvider, kbqFormFieldDefaultOptionsProvider, kbqHintParentFactoryProvider };
706
+ export type { KbqCleanerContext, KbqCleanerContextBase, KbqFormFieldDefaultOptions, KbqHintParentConfig };
@@ -42,6 +42,13 @@ declare class KbqIconRegistry {
42
42
  * Accepts "namespace:name" syntax.
43
43
  */
44
44
  getNamedSvgIcon(name: string, namespace?: string): Observable<SVGElement>;
45
+ /**
46
+ * `getNamedSvgIcon` without the error for a miss: `null` when nothing registered can resolve the name. Every font
47
+ * icon is looked up, and an error per miss would cost a stack trace each.
48
+ *
49
+ * @docs-private
50
+ */
51
+ findSvgIcon(name: string, namespace?: string): Observable<SVGElement> | null;
45
52
  private cacheIcon;
46
53
  private loadIcon;
47
54
  private registerIconSet;
@@ -105,6 +112,14 @@ declare class KbqIcon extends KbqColorDirective implements AfterContentInit, OnC
105
112
  */
106
113
  protected get autoColorError(): boolean;
107
114
  private readonly hostErrorState;
115
+ /**
116
+ * Whether `color` is the error color. A signal of its own because the color class binding already reads
117
+ * `color`: the host bindings of every icon in a view run in that view's reactive consumer, which finds a
118
+ * signal read a second time by scanning all it has read so far, O(N²) per check across N icons.
119
+ *
120
+ * @docs-private
121
+ */
122
+ protected readonly colorIsError: _angular_core.Signal<boolean>;
108
123
  /** Name of an icon within a `@koobiq/icons`. Accepts "namespace:name" syntax. */
109
124
  iconName: string | undefined;
110
125
  /** @docs-private */
@@ -1,5 +1,5 @@
1
1
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
2
- import { ScrollStrategy, CdkConnectedOverlay } from '@angular/cdk/overlay';
2
+ import { ScrollStrategy, CdkConnectedOverlay, ConnectedPosition } from '@angular/cdk/overlay';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { InjectionToken, ElementRef, TemplateRef } from '@angular/core';
5
5
  import * as _koobiq_components_core from '@koobiq/components/core';
@@ -192,6 +192,13 @@ declare class KbqInlineEdit implements KbqConnectedOverlayOriginProvider, KbqInl
192
192
  protected readonly overlayWidth: _angular_core.WritableSignal<string | number>;
193
193
  /** Distance the panel is pulled up by so that it covers the view it replaces. */
194
194
  protected readonly overlayOffsetY: _angular_core.WritableSignal<number>;
195
+ /**
196
+ * Single overlay position that keeps the panel anchored to the view mode element. Fallback positions are
197
+ * intentionally omitted so the panel does not flip or get pushed away from the origin when space is tight.
198
+ *
199
+ * @docs-private
200
+ */
201
+ protected readonly overlayPositions: ConnectedPosition[];
195
202
  /**
196
203
  * Built on first read rather than in the field initializer: a list of inline edits would otherwise
197
204
  * allocate one strategy per row, including the rows nobody ever opens.
@@ -107,6 +107,11 @@ declare class KbqNumberInput implements ControlValueAccessor, OnDestroy {
107
107
  /** Whether the field is disabled, bound with `[disabled]` or set by a form control. */
108
108
  get disabled(): boolean;
109
109
  private readonly disabledState;
110
+ /**
111
+ * Whether the field is read-only: the arrow keys, `kbq-stepper` and a paste leave the value as it is.
112
+ * `KbqInput` on the same element binds the native attribute. Defaults to `false`.
113
+ */
114
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
110
115
  focused: boolean;
111
116
  get nativeElement(): HTMLInputElement;
112
117
  get viewValue(): string;
@@ -130,6 +135,8 @@ declare class KbqNumberInput implements ControlValueAccessor, OnDestroy {
130
135
  protected get fractionSeparator(): KbqInputNumberLocaleConfiguration['fractionSeparator'];
131
136
  protected get groupSeparator(): KbqInputNumberLocaleConfiguration['groupSeparator'];
132
137
  private get config();
138
+ private get stepMin();
139
+ private get stepMax();
133
140
  private readonly localeConfiguration;
134
141
  private valueFromPaste;
135
142
  /** Pending `onInput` reformats by timer handle: cancelled on destroy, run at once before a step. */
@@ -172,6 +179,8 @@ declare class KbqNumberInput implements ControlValueAccessor, OnDestroy {
172
179
  */
173
180
  private correctCaretForSeparator;
174
181
  private setViewValue;
182
+ private isBeyondSafeRange;
183
+ private clampToSafeRange;
175
184
  /** Writes a value from outside the field: reformats it and reports the change. */
176
185
  private setValue;
177
186
  private setDisabled;
@@ -180,7 +189,7 @@ declare class KbqNumberInput implements ControlValueAccessor, OnDestroy {
180
189
  private formatNumber;
181
190
  private createLocalizedNumberFromParts;
182
191
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqNumberInput, never>;
183
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqNumberInput, "input[kbqNumberInput]", ["kbqNumberInput", "kbqNumericalInput"], { "integer": { "alias": "integer"; "required": false; "isSignal": true; }; "bigStep": { "alias": "bigStep"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "withThousandSeparator": { "alias": "withThousandSeparator"; "required": false; "isSignal": true; }; "startFormattingFrom": { "alias": "startFormattingFrom"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
192
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqNumberInput, "input[kbqNumberInput]", ["kbqNumberInput", "kbqNumericalInput"], { "integer": { "alias": "integer"; "required": false; "isSignal": true; }; "bigStep": { "alias": "bigStep"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "withThousandSeparator": { "alias": "withThousandSeparator"; "required": false; "isSignal": true; }; "startFormattingFrom": { "alias": "startFormattingFrom"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
184
193
  }
185
194
 
186
195
  declare class KbqInput implements KbqFormFieldControl<any>, DoCheck, CanUpdateErrorState {
@@ -234,6 +243,11 @@ declare class KbqInput implements KbqFormFieldControl<any>, DoCheck, CanUpdateEr
234
243
  * @docs-private
235
244
  */
236
245
  readonly disabled: _angular_core.Signal<boolean>;
246
+ /**
247
+ * Whether the input is read-only: its value can be selected and copied, but not changed. A read-only
248
+ * input shows no placeholder. Defaults to `false`.
249
+ */
250
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
237
251
  /** @docs-private */
238
252
  readonly idInput: _angular_core.InputSignal<string | undefined>;
239
253
  /**
@@ -302,7 +316,7 @@ declare class KbqInput implements KbqFormFieldControl<any>, DoCheck, CanUpdateEr
302
316
  protected isBadInput(): boolean;
303
317
  private isEmpty;
304
318
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqInput, never>;
305
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqInput, "input[kbqInput],input[kbqNumberInput]", ["kbqInput"], { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "typeInput": { "alias": "type"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
319
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqInput, "input[kbqInput],input[kbqNumberInput]", ["kbqInput"], { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "typeInput": { "alias": "type"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
306
320
  }
307
321
  declare class KbqInputMono {
308
322
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqInputMono, never>;
@@ -400,6 +414,11 @@ declare class KbqInputPassword implements KbqFormFieldControl<any>, DoCheck, Can
400
414
  * @docs-private
401
415
  */
402
416
  readonly disabled: _angular_core.Signal<boolean>;
417
+ /**
418
+ * Whether the input is read-only: its value can be selected and copied, but not changed. A read-only
419
+ * input shows no placeholder. Defaults to `false`.
420
+ */
421
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
403
422
  /** @docs-private */
404
423
  readonly idInput: _angular_core.InputSignal<string | undefined>;
405
424
  /**
@@ -461,7 +480,7 @@ declare class KbqInputPassword implements KbqFormFieldControl<any>, DoCheck, Can
461
480
  protected isBadInput(): boolean;
462
481
  private isEmpty;
463
482
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqInputPassword, never>;
464
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqInputPassword, "input[kbqInputPassword]", ["kbqInputPassword"], { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
483
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqInputPassword, "input[kbqInputPassword]", ["kbqInputPassword"], { "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
465
484
  }
466
485
 
467
486
  declare const KBQ_INPUT_VALUE_ACCESSOR: InjectionToken<{
@@ -536,6 +536,12 @@ declare class KbqListOption<T = any> implements OnDestroy, OnInit, IFocusableOpt
536
536
  /** Whether the option is disabled, through its own input, its group or the list. */
537
537
  get disabled(): boolean;
538
538
  private readonly disabledState;
539
+ /**
540
+ * Value of `aria-disabled`: the disabled state, but a signal of its own, since `kbq-disabled` reads that one.
541
+ *
542
+ * @docs-private
543
+ */
544
+ protected readonly ariaDisabled: _angular_core.Signal<true | null>;
539
545
  /** @docs-private */
540
546
  readonly draggableInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
541
547
  /**
@@ -211,6 +211,13 @@ declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T, R> impl
211
211
  private focusMonitor;
212
212
  private readonly inputModalityDetector;
213
213
  private readonly injector;
214
+ /**
215
+ * Whether the dialog and its dim layer move without motion. Read from the dialog's own injector, under
216
+ * `options.injector` when the service opened it.
217
+ *
218
+ * @docs-private
219
+ */
220
+ readonly animationsDisabled: boolean;
214
221
  /** Accessible name for the icon-only close button. */
215
222
  protected readonly a11yLocaleConfiguration: _angular_core.Signal<i1.KbqA11yLocaleConfiguration>;
216
223
  protected readonly document: Document;