@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,61 @@
1
+ # tree-select-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the `KbqTreeSelect` members that became signal-backed, protected
5
+ or disappeared in the tree-select review. It never writes to the tree.
6
+
7
+ ## Background
8
+
9
+ The review typed the surface and dropped the members that only existed to feed the template:
10
+
11
+ | Member | Before | After |
12
+ | ----------------------------------------------------------------------------------------------- | ----------------- | --------------------------- |
13
+ | `valueChange` | declared output | removed |
14
+ | `getPanelClasses()`, `getPanelTheme()`, `isRtl()`, `transformOrigin` | public | removed |
15
+ | `hiddenItemsText`, `hiddenItemsTextFormatter` | accessor / method | signal inputs |
16
+ | `hasBackdrop`, `searchMinOptionsThreshold` | accessor / input | signals |
17
+ | `hiddenItems`, `colorForState` | plain members | `WritableSignal` / `Signal` |
18
+ | `options`, `tags`, `overlayDir`, `triggerRect`, `panelDoneAnimatingStream`, `changeDetectorRef` | public | `protected` |
19
+ | `KbqTreeSelectChange` | `value: any` | generic, typed `value` |
20
+
21
+ `valueChange` deserves a note. It was declared and documented as the other half of a two-way binding
22
+ on a `value` input that does not exist, and nothing ever emitted it — so `(valueChange)` never fired.
23
+ Removing it changes nothing at runtime: Angular treats an unmatched `(x)` as a DOM event listener,
24
+ which stays just as silent. Listen to `(selectionChange)`.
25
+
26
+ ## What it does _not_ do
27
+
28
+ Nothing is rewritten. A read of a signal member becomes a call, a write becomes a template binding,
29
+ and a removed member has no replacement expression at all.
30
+
31
+ | Pattern | Manual migration |
32
+ | --------------------------------------------------------------------------- | --------------------------------------------------------------------- |
33
+ | `valueChange` | Listen to `(selectionChange)` |
34
+ | `.getPanelClasses()` / `.getPanelTheme()` / `.isRtl()` / `.transformOrigin` | Bind `[panelClass]` if the panel needs styling |
35
+ | `.hiddenItemsText = …` and friends | Bind the input — a signal member takes no assignment |
36
+ | `.hiddenItemsText` and friends | Read them as calls |
37
+ | `.options` / `.tags` / `.overlayDir` / … | Protected; use the open/close API, the inputs and `(selectionChange)` |
38
+ | `sortComparator` | Its third argument is the tree's data nodes in panel order |
39
+
40
+ ## Notes with no call site to point at
41
+
42
+ - `KbqTreeSelectChange` is generic and its `value` is no longer `any`. A handler that relied on the
43
+ implicit widening needs the type argument.
44
+ - The embedded tree is set up through `KbqTreeSelection.initializeForEmbedding()` instead of a
45
+ second manual `ngAfterContentInit()`. The old path left duplicate subscriptions on query lists that
46
+ are never re-created, so every options change was handled several times — on the search-filtering
47
+ hot path.
48
+ - The dead `{ provide: KbqTree, useExisting: KbqTreeSelect }` provider is gone. `KbqTreeSelect` never
49
+ satisfied `KbqTree` structurally, so anything injecting `KbqTree` from inside a tree-select was
50
+ getting an object that only looked right.
51
+ - A `multiple` value is ordered by the panel, collapsed branches included, instead of the order it
52
+ was written in. `[sortComparator]` gets two selected data nodes and every data node of the tree in
53
+ panel order; `() => 0` keeps the write order.
54
+ - The component renders a host `id` and carries combobox ARIA, so the form field label's `[attr.for]`
55
+ resolves instead of dangling.
56
+
57
+ ## Running it manually
58
+
59
+ ```
60
+ ng generate @koobiq/components:tree-select-signals --project my-app
61
+ ```
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `tree-select-signals` migration.
5
+ *
6
+ * The tree-select review typed the surface and removed the members that only existed to serve the
7
+ * template:
8
+ *
9
+ * - `getPanelClasses()`, `getPanelTheme()`, `isRtl()`, `transformOrigin` — removed. The panel classes
10
+ * are a `protected` computed (`panelClasses`) the template reads directly.
11
+ * - `valueChange` — removed. It was declared and documented as the other half of a two-way binding on
12
+ * a `value` input that does not exist, and nothing ever emitted it.
13
+ * - `hiddenItemsText`, `hiddenItemsTextFormatter` — accessor pair / method → signal inputs.
14
+ * - `hiddenItems` → `WritableSignal<number>`, `colorForState` → `Signal<KbqComponentColors>`.
15
+ * - `hasBackdrop` — accessor pair → signal input.
16
+ * - `options`, `tags`, `overlayDir`, `triggerRect`, `panelDoneAnimatingStream`, `changeDetectorRef` —
17
+ * public → `protected`.
18
+ * - `KbqTreeSelectChange` is generic and its `value` is no longer `any`.
19
+ *
20
+ * Warn-only. A read of a signal member becomes a call, a write becomes the binding, and a removed
21
+ * member has no replacement expression at all.
22
+ */
23
+ /** Import specifier that marks a file as a tree-select consumer. */
24
+ const TREE_SELECT_PACKAGE = '@koobiq/components/tree-select';
25
+ /** Identifier and attribute shapes that mark a consumer without an import. */
26
+ const TREE_SELECT_TYPE = '\\bKbqTreeSelect\\w*\\b|\\bkbq-tree-select\\b';
27
+ const warnPatterns = [
28
+ {
29
+ anchor: TREE_SELECT_TYPE,
30
+ pattern: '\\bvalueChange\\b',
31
+ message: 'KbqTreeSelect.valueChange was removed. It was declared as the other half of a two-way binding ' +
32
+ 'on a `value` input that does not exist, and nothing ever emitted it — a `(valueChange)` binding ' +
33
+ 'never fired, and Angular treats it as a DOM event listener now, so it stays silent either way. ' +
34
+ 'Listen to (selectionChange) instead.'
35
+ },
36
+ {
37
+ anchor: TREE_SELECT_TYPE,
38
+ pattern: '\\.\\s*(?:getPanelClasses|getPanelTheme|isRtl|transformOrigin)\\b',
39
+ message: 'KbqTreeSelect.getPanelClasses() / getPanelTheme() / isRtl() / transformOrigin were removed. They ' +
40
+ 'existed to feed the template, which now reads a protected `panelClasses` computed; a host that ' +
41
+ 'needs the panel styled differently should bind [panelClass].'
42
+ },
43
+ {
44
+ anchor: TREE_SELECT_TYPE,
45
+ pattern: '\\.\\s*(?:hiddenItemsText|hiddenItemsTextFormatter|hiddenItems|colorForState)\\s*=(?!=)',
46
+ message: 'hiddenItemsText and hiddenItemsTextFormatter are signal inputs, hiddenItems is a WritableSignal ' +
47
+ 'and colorForState is a computed — none of them takes an assignment. Bind the inputs in the ' +
48
+ 'template; hiddenItems is written by the measurement, not by the host.'
49
+ },
50
+ {
51
+ anchor: TREE_SELECT_TYPE,
52
+ pattern: '\\.\\s*(?:hiddenItemsText|hiddenItemsTextFormatter|hiddenItems|colorForState)\\b(?!\\s*[=(])',
53
+ message: 'hiddenItemsText, hiddenItemsTextFormatter, hiddenItems and colorForState are signal-backed: read ' +
54
+ 'them as calls. `hiddenItemsTextFormatter()(template, count)` for the formatter, which is an ' +
55
+ 'input holding the function rather than a method.'
56
+ },
57
+ {
58
+ anchor: TREE_SELECT_TYPE,
59
+ pattern: '\\.\\s*(?:options|tags|overlayDir|triggerRect|panelDoneAnimatingStream|changeDetectorRef)\\b',
60
+ message: 'KbqTreeSelect.options / tags / overlayDir / triggerRect / panelDoneAnimatingStream / ' +
61
+ 'changeDetectorRef are protected. They were the panel and trigger plumbing; the supported ' +
62
+ 'surface is the open/close API, the inputs and (selectionChange).'
63
+ },
64
+ {
65
+ anchor: TREE_SELECT_TYPE,
66
+ pattern: '\\.\\s*(?:hasBackdrop|searchMinOptionsThreshold)\\b(?!\\s*[=(])',
67
+ message: 'KbqTreeSelect.hasBackdrop and .searchMinOptionsThreshold are signals now: read them as calls, ' +
68
+ '`hasBackdrop()` and `searchMinOptionsThreshold()`. searchMinOptionsThreshold() still reports the ' +
69
+ 'resolved number.'
70
+ },
71
+ {
72
+ anchor: TREE_SELECT_TYPE,
73
+ pattern: '\\.\\s*(?:multiple|autoSelect|tabIndex|selectAllHandler|hasBackdrop|searchMinOptionsThreshold)\\s*=(?!=)',
74
+ message: 'multiple, autoSelect, tabIndex, selectAllHandler, hasBackdrop and searchMinOptionsThreshold of ' +
75
+ 'KbqTreeSelect are signal inputs, so an assignment no longer compiles. Bind them in the template. This ' +
76
+ 'pattern also matches a write to an unrelated object in the same file — check before changing it.'
77
+ },
78
+ {
79
+ anchor: TREE_SELECT_TYPE,
80
+ pattern: '\\bsortComparator\\b',
81
+ message: 'The sortComparator of KbqTreeSelect gets the selected data nodes, as it always did, and its third ' +
82
+ 'argument is every data node of the tree in panel order (treeControl.dataNodes) instead of the ' +
83
+ 'rendered KbqTreeOption[]. A comparator that looks its arguments up among the options, or types ' +
84
+ 'them as KbqTreeOption, has to take your node type. Without a comparator a multiple value is ' +
85
+ 'ordered by the panel now; `() => 0` keeps the order the values were written in.'
86
+ }
87
+ ];
88
+ /** Printed once per project, after the per-file reports. */
89
+ const SUMMARY = [
90
+ ' KbqTreeSelectChange is generic — KbqTreeSelectChange<T> — and its `value` is no longer `any`. A ' +
91
+ 'handler that relied on the implicit widening needs the type argument.',
92
+ ' The embedded tree is set up through KbqTreeSelection.initializeForEmbedding() instead of a ' +
93
+ 'second manual ngAfterContentInit(). The old path left duplicate subscriptions on query lists ' +
94
+ 'that are never re-created, so every options change was handled several times on the ' +
95
+ 'search-filtering hot path.',
96
+ ' The dead { provide: KbqTree, useExisting: KbqTreeSelect } provider is gone: KbqTreeSelect never ' +
97
+ 'satisfied KbqTree structurally, so anything injecting KbqTree from inside a tree-select was ' +
98
+ 'getting an object that only looked right.',
99
+ ' The component renders a host id and carries combobox ARIA, so the [attr.for] on the form field ' +
100
+ 'label resolves instead of dangling, and hand-rolled role or aria-* attributes are duplicates.'
101
+ ];
102
+
103
+ exports.SUMMARY = SUMMARY;
104
+ exports.TREE_SELECT_PACKAGE = TREE_SELECT_PACKAGE;
105
+ exports.TREE_SELECT_TYPE = TREE_SELECT_TYPE;
106
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils_messages = require('../../utils/messages.js');
6
+ var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
7
+ var migrations_treeSelectSignals_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[tree-select-signals]';
12
+ const EXTENSIONS = ['.ts', '.html'];
13
+ /** A file is a tree-select consumer if it imports the package, names the component, or renders one. */
14
+ function referencesTreeSelect(content) {
15
+ return content.includes(migrations_treeSelectSignals_data.TREE_SELECT_PACKAGE) || new RegExp(migrations_treeSelectSignals_data.TREE_SELECT_TYPE).test(content);
16
+ }
17
+ /**
18
+ * Reports the `KbqTreeSelect` members that became signal-backed, protected, or disappeared. Never
19
+ * writes: a read becomes a call, a write becomes a binding, and a removed member has no replacement
20
+ * expression at all.
21
+ *
22
+ * `.html` is visited as well as `.ts`, because `(valueChange)` is a template binding that Angular
23
+ * now silently treats as a DOM event listener.
24
+ */
25
+ function treeSelectSignals(options) {
26
+ return async (tree, context) => {
27
+ const { project } = options;
28
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
29
+ const root = projectDefinition?.root ?? '';
30
+ const rootDir = root ? tree.getDir(root) : tree.root;
31
+ let consumers = 0;
32
+ let reported = 0;
33
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
34
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
35
+ return;
36
+ const content = entry?.content.toString();
37
+ if (!content || !referencesTreeSelect(content))
38
+ return;
39
+ consumers++;
40
+ for (const { anchor, pattern, message } of migrations_treeSelectSignals_data.warnPatterns) {
41
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
42
+ continue;
43
+ reported++;
44
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
45
+ }
46
+ });
47
+ // Nothing here renders a tree-select, so the summary would only be noise.
48
+ if (consumers === 0)
49
+ return;
50
+ utils_messages.logMessage(context.logger, [
51
+ `${LABEL} processed kbq-tree-select under "${root || '<workspace root>'}", ` +
52
+ `${consumers} file(s) reference the component, ${reported} call site(s) reported.`,
53
+ ...migrations_treeSelectSignals_data.SUMMARY
54
+ ]);
55
+ };
56
+ }
57
+
58
+ exports.default = treeSelectSignals;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-tree-select-signals",
4
+ "title": "Koobiq components tree-select review migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,82 @@
1
+ # tree-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the public members of `@koobiq/components/tree` that
5
+ became read-only when the tree moved to signals, and the node type the tree takes. It never writes to the tree.
6
+
7
+ ## Background
8
+
9
+ The tree moved its inputs and its query members to signals. Members that used to be writable
10
+ are now getters — over a `computed()`, over an `InputSignal`, or over an `asObservable()` view of a
11
+ `Subject`. Assigning to a getter-only property throws `TypeError: Cannot set property … which has
12
+ only a getter` in strict mode, and an ES module is always strict, so an unmigrated write does not
13
+ merely stop compiling: it throws at runtime in any build that skips type checking.
14
+
15
+ | Member | Was | Is |
16
+ | ------------------------------------------------------------- | ------------------------------ | ---------------------------------------------- |
17
+ | `KbqTreeNodeToggle.disabled` | `@Input()` accessor pair | getter over a `computed()` |
18
+ | `KbqTreeBase.nodeDefs` | `QueryList<KbqTreeNodeDef<T>>` | `Signal<readonly KbqTreeNodeDef<T>[]>` |
19
+ | `KbqTreeNodePadding.indent` | accessor pair | `InputSignal<number \| string>` |
20
+ | `KbqTreeNodePadding.indentUnits` | writable field | getter derived from `indent` |
21
+ | `KbqTreeNodeToggleBaseDirective.recursive` | accessor pair | `InputSignalWithTransform<boolean, …>` |
22
+ | `KbqTreeOption.onFocus` / `onBlur` | `Subject<KbqTreeOptionEvent>` | `Observable<KbqTreeOptionEvent>` |
23
+ | `KbqTreeBase.treeControl` | field | getter over an `InputSignal` |
24
+ | `KbqTreeBase.dataSource` | accessor pair | getter; the input switches it from an `effect` |
25
+ | `KbqTreeSelection.disabled` / `tabIndex` / `selectAllHandler` | accessor pairs | getters over signal inputs |
26
+ | `KbqTreeOption.disabled` / `showCheckbox` | accessor pairs | getters over signal inputs |
27
+
28
+ `KbqTree` and `KbqTreeSelection` inherit `treeControl` and `dataSource`. Every input keeps its alias,
29
+ so template bindings keep working. `KbqTreeSelection.multiple` is not listed: it has never had a
30
+ setter, and `multipleMode` stays writable.
31
+
32
+ Two of them are silent rather than loud:
33
+
34
+ - `KbqTreeBase` is exported and is the documented extension point for a custom tree. A subclass
35
+ reading `this.nodeDefs.length` now gets `0` — the arity of the signal function — instead of the
36
+ number of node definitions, and `this.nodeDefs.changes.subscribe(…)` throws.
37
+ - `KbqTreeNodeToggle` kept `disabled` as the input alias (the input is declared as `disabledInput`),
38
+ so every template binding keeps working. Only imperative writes break, and the class itself
39
+ performed one before the review: the filter state is now OR-ed in by the computed instead.
40
+
41
+ ## Node type
42
+
43
+ `KbqTreeSelection`, `KbqTreeOption` and `KbqTreeSelect` take the type of the data node, `T`, `any` by
44
+ default, and `selectionModel` is `SelectionModel<T>`. A template infers `T` of `kbq-tree-selection` from
45
+ `[treeControl]`, `[dataSource]`, `[trackBy]` and `[selectAllHandler]`, so with `strictTemplates`
46
+ bindings that name different node types no longer compile. Only the compiler sees such a mismatch, so
47
+ the summary names it rather than a pattern: give the bindings the same node type. A query names it as
48
+ `viewChild.required<KbqTreeSelection<Node>>(KbqTreeSelection)`.
49
+
50
+ ## What it does
51
+
52
+ Walks every `.ts` and `.html` file under the project root — the whole workspace when `--project` is
53
+ omitted, which is how `ng update` invokes it — skipping `node_modules` and `dist`, and logs the
54
+ files that hold a call site one of the narrowings breaks:
55
+
56
+ | Reported | Manual migration |
57
+ | -------------------------------------------------------- | ---------------------------------------------------------------------------------- |
58
+ | `<toggle>.disabled = …` | Bind the `disabled` attribute; it still reaches the toggle through `disabledInput` |
59
+ | `<toggle>.recursive` | Read `recursive()`; bind `kbqTreeNodeToggleRecursive` |
60
+ | `nodeDefs.changes` / `.length` / `.toArray()` / … | Read `nodeDefs()`; replace the subscription with an `effect` |
61
+ | `<padding>.indent` / `.indentUnits` | Read `indent()`; bind `kbqTreeNodePaddingIndent` |
62
+ | `<option>.onFocus.next(…)` / `onBlur.next(…)` | Subscribe instead — the option emits on both streams itself |
63
+ | `<tree>.treeControl / dataSource = …` | Bind it, on `kbq-tree` and `kbq-tree-selection` alike |
64
+ | `<selection>.disabled / tabIndex / selectAllHandler = …` | Bind it; disable the tree through its form control |
65
+ | `<option>.disabled / showCheckbox = …` | Bind it, or disable the node through the tree control's `isDisabled` |
66
+
67
+ Each pattern is scoped to files that also name its owner, so a `.disabled =` write in a file that
68
+ never mentions a tree toggle stays quiet. A project that renders a tree at all also gets a summary
69
+ of every member, because not every narrowing breaks the build: `nodeDefs.length` still compiles and
70
+ returns `0`, and a read of `indent` or `recursive` passed on loosely gets a signal instead of its
71
+ value — through a receiver no pattern recognizes, with no diagnostic at all.
72
+
73
+ ## What it does _not_ do (manual)
74
+
75
+ Nothing is rewritten. What replaces a write is a template binding or a different member, neither of
76
+ which can be derived from the assignment, and a read cannot be mechanically suffixed with `()`
77
+ either: `nodeDefs` returns a plain array rather than a `QueryList`, and `indentUnits` is derived
78
+ from `indent` rather than stored. The report is the migration.
79
+
80
+ Receivers are matched by the identifiers in the file rather than by resolved types, so a member
81
+ reached through an `any`-typed or structurally-typed receiver in a file that names no tree type is
82
+ not reported.
@@ -0,0 +1,123 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `tree-signals` migration.
5
+ *
6
+ * These public members of `@koobiq/components/tree` became read-only when the tree moved to signals:
7
+ *
8
+ * - `KbqTreeNodeToggle.disabled` — accessor pair → getter over a `computed()` (the input is
9
+ * declared as `disabledInput` and still aliased `disabled`, so templates are unaffected)
10
+ * - `KbqTreeBase.nodeDefs` — `QueryList<KbqTreeNodeDef<T>>` → `Signal<readonly KbqTreeNodeDef<T>[]>`
11
+ * - `KbqTreeNodePadding.indent` — accessor pair → `InputSignal<number | string>`
12
+ * - `KbqTreeNodePadding.indentUnits` — writable field → getter derived from `indent`
13
+ * - `KbqTreeNodeToggleBaseDirective.recursive` — accessor pair → `InputSignalWithTransform`
14
+ * - `KbqTreeOption.onFocus` / `onBlur` — `Subject` → `Observable` via `asObservable()`
15
+ * - `KbqTreeBase.treeControl` / `dataSource` (of `KbqTree` and `KbqTreeSelection`), `KbqTreeSelection.disabled` /
16
+ * `tabIndex` / `selectAllHandler`, `KbqTreeOption.disabled` / `showCheckbox` — field or accessor pair → getter
17
+ * over a signal input that keeps the alias, so templates are unaffected
18
+ *
19
+ * `KbqTreeSelection`, `KbqTreeOption` and `KbqTreeSelect` also took the type of the data node, `T`. A template
20
+ * infers it from the bindings of the tree, so bindings that name different node types stop compiling under
21
+ * `strictTemplates`; only the compiler sees that, so the summary names it.
22
+ *
23
+ * Nothing is rewritten. What replaces a write is a template binding or a different member, and
24
+ * neither can be derived from the assignment; a read of a signal-backed member has to be checked
25
+ * against its new value rather than mechanically suffixed with `()`.
26
+ */
27
+ /** Import specifier that marks a file as a tree consumer. */
28
+ const TREE_PACKAGE = '@koobiq/components/tree';
29
+ /** Identifier shape that marks a file as a tree consumer without an import (e.g. a re-export). */
30
+ const TREE_TYPE = '\\bKbqTree\\w*\\b';
31
+ const TOGGLE_ANCHOR = '\\bKbqTreeNodeToggle\\w*\\b';
32
+ /**
33
+ * Reported with the file they were found in, in every mode — the migration only ever warns.
34
+ * Scoped by `anchor` so a plain `.disabled =` in a file that never mentions a toggle stays quiet.
35
+ */
36
+ const warnPatterns = [
37
+ {
38
+ anchor: TOGGLE_ANCHOR,
39
+ pattern: '\\.disabled\\s*=(?!=)',
40
+ message: 'KbqTreeNodeToggle.disabled is a read-only getter over a computed (the `disabled` input OR-ed with ' +
41
+ 'the filter state), so an assignment throws `TypeError: Cannot set property disabled`. Bind the ' +
42
+ '`disabled` attribute instead — it still reaches the toggle, through the `disabledInput` input.'
43
+ },
44
+ {
45
+ anchor: TOGGLE_ANCHOR,
46
+ pattern: '\\.recursive\\b',
47
+ message: 'KbqTreeNodeToggleBaseDirective.recursive is an InputSignalWithTransform: read it as `recursive()`, ' +
48
+ 'and set it through the `kbqTreeNodeToggleRecursive` binding — assigning to it throws.'
49
+ },
50
+ {
51
+ anchor: TREE_TYPE,
52
+ pattern: '\\bnodeDefs\\s*\\.\\s*(?:changes|first|last|toArray|notifyOnChanges|reset|length)\\b',
53
+ message: 'KbqTreeBase.nodeDefs is a Signal<readonly KbqTreeNodeDef<T>[]> instead of a QueryList. ' +
54
+ '`nodeDefs.changes` no longer exists, and `nodeDefs.length` is the arity of the signal function — ' +
55
+ 'always 0. Read the array as `nodeDefs()` and use `toSignal`/`effect` where you subscribed.'
56
+ },
57
+ {
58
+ anchor: '\\bKbqTreeNodePadding\\b',
59
+ pattern: '\\.indent(?:Units)?\\b',
60
+ message: 'KbqTreeNodePadding.indent is an InputSignal — read it as `indent()` and set it through the ' +
61
+ '`kbqTreeNodePaddingIndent` binding — and `indentUnits` is a read-only getter derived from it. ' +
62
+ 'Assigning to either throws.'
63
+ },
64
+ {
65
+ anchor: '\\bKbqTreeOption\\b',
66
+ pattern: '\\.(?:onFocus|onBlur)\\s*\\.\\s*(?:next|complete|error)\\b',
67
+ message: 'KbqTreeOption.onFocus and onBlur are Observables now (`asObservable()`), so `.next()` is gone at ' +
68
+ 'runtime as well as in the types. Subscribe to them; the option emits on them itself.'
69
+ },
70
+ {
71
+ // KbqTree and KbqTreeSelection inherit both from KbqTreeBase; KbqTreeSelect, KbqTreeOption and the rest do not.
72
+ anchor: '\\bKbqTree(?:Base|Selection)?\\b',
73
+ pattern: '\\.\\s*(?:treeControl|dataSource)\\s*=[^=]',
74
+ message: 'treeControl and dataSource of KbqTreeBase, so of KbqTree and KbqTreeSelection, are signal inputs ' +
75
+ 'read through a getter now, so a programmatic write no longer compiles. Bind them. This pattern also ' +
76
+ 'matches a write to an unrelated object in the same file — check before changing it.'
77
+ },
78
+ {
79
+ // `multiple` is left out: it has never had a setter, `multipleMode` is what a write changes.
80
+ anchor: '\\bKbqTreeSelection\\b',
81
+ pattern: '\\.\\s*(?:disabled|tabIndex|selectAllHandler)\\s*=[^=]',
82
+ message: 'disabled, tabIndex and selectAllHandler of KbqTreeSelection are signal inputs read through a getter ' +
83
+ 'now, so a programmatic write no longer compiles. Bind them, and disable the tree through its form ' +
84
+ 'control. autoSelect, noUnselectLast, typeAhead, selectAll and multipleMode stay writable. This ' +
85
+ 'pattern also matches a write to an unrelated object in the same file — check before changing it.'
86
+ },
87
+ {
88
+ anchor: '\\bKbqTreeOption\\b',
89
+ pattern: '\\.\\s*(?:disabled|showCheckbox)\\s*=[^=]',
90
+ message: 'KbqTreeOption.disabled and .showCheckbox are signal inputs read through a getter now, so a ' +
91
+ 'programmatic write no longer compiles. Bind them, or disable the node through the isDisabled ' +
92
+ 'predicate of the tree control. This pattern also matches a write to an unrelated object in the ' +
93
+ 'same file — check before changing it.'
94
+ }
95
+ ];
96
+ /**
97
+ * Printed once for every project that renders a tree, because not every narrowing breaks the build:
98
+ * `nodeDefs.length` still compiles and returns 0, and a read of `indent` or `recursive` passed on
99
+ * loosely gets a signal instead of its value — through a receiver no pattern recognizes, with no
100
+ * diagnostic at all.
101
+ */
102
+ const SUMMARY = [
103
+ '',
104
+ 'These members of @koobiq/components/tree became read-only and cannot be assigned:',
105
+ ' - KbqTreeNodeToggle.disabled (bind `disabled`; the input is declared as `disabledInput`)',
106
+ ' - KbqTreeBase.nodeDefs (Signal<readonly KbqTreeNodeDef<T>[]>, no longer a QueryList)',
107
+ ' - KbqTreeNodePadding.indent (InputSignal) and KbqTreeNodePadding.indentUnits (getter)',
108
+ ' - KbqTreeNodeToggleBaseDirective.recursive (InputSignalWithTransform)',
109
+ ' - KbqTreeOption.onFocus and KbqTreeOption.onBlur (Observable, not Subject)',
110
+ ' - KbqTree and KbqTreeSelection treeControl, dataSource; KbqTreeSelection disabled, tabIndex,',
111
+ ' selectAllHandler; KbqTreeOption disabled, showCheckbox (signal inputs read through a getter; bind them)',
112
+ '',
113
+ 'KbqTreeSelection, KbqTreeOption and KbqTreeSelect take the type of the data node, T (`any` by default):',
114
+ ' - a template infers T of kbq-tree-selection from [treeControl], [dataSource], [trackBy] and',
115
+ ' [selectAllHandler]; with strictTemplates, bindings that name different node types no longer compile.',
116
+ ' Give them the same node type.',
117
+ ' - a query names T: viewChild.required<KbqTreeSelection<Node>>(KbqTreeSelection).'
118
+ ];
119
+
120
+ exports.SUMMARY = SUMMARY;
121
+ exports.TREE_PACKAGE = TREE_PACKAGE;
122
+ exports.TREE_TYPE = TREE_TYPE;
123
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils_messages = require('../../utils/messages.js');
6
+ var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
7
+ var migrations_treeSignals_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[tree-signals]';
12
+ const EXTENSIONS = ['.ts', '.html'];
13
+ /** A file is a tree consumer if it imports the package, names one of its types, or renders one. */
14
+ function referencesTree(content) {
15
+ return content.includes(migrations_treeSignals_data.TREE_PACKAGE) || new RegExp(migrations_treeSignals_data.TREE_TYPE).test(content) || content.includes('kbq-tree');
16
+ }
17
+ /**
18
+ * Reports the members of `@koobiq/components/tree` that became read-only, with the files that
19
+ * write or read them. Never writes: see `data.ts` for why none of them can be rewritten mechanically.
20
+ */
21
+ function treeSignals(options) {
22
+ return async (tree, context) => {
23
+ const { project } = options;
24
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
25
+ const root = projectDefinition?.root ?? '';
26
+ const rootDir = root ? tree.getDir(root) : tree.root;
27
+ let consumers = 0;
28
+ let reported = 0;
29
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
30
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
31
+ return;
32
+ const content = entry?.content.toString();
33
+ if (!content || !referencesTree(content))
34
+ return;
35
+ consumers++;
36
+ for (const { anchor, pattern, message } of migrations_treeSignals_data.warnPatterns) {
37
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
38
+ continue;
39
+ reported++;
40
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
41
+ }
42
+ });
43
+ // Nothing here renders a tree, so the summary would only be noise.
44
+ if (consumers === 0)
45
+ return;
46
+ utils_messages.logMessage(context.logger, [
47
+ `${LABEL} processed tree under "${root || '<workspace root>'}", ` +
48
+ `${consumers} file(s) reference the tree, ${reported} call site(s) reported.`,
49
+ ...migrations_treeSignals_data.SUMMARY
50
+ ]);
51
+ };
52
+ }
53
+
54
+ exports.default = treeSignals;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-tree-signals",
4
+ "title": "Koobiq components tree review migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,66 @@
1
+ # tree-state-saving-default
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@20`
4
+ (registered for `21.0.0-0`). Reports the consequences of the tree persisting its expanded nodes, with
5
+ `useStateSaving` defaulting to `true`. It never writes to the tree.
6
+
7
+ ## Background
8
+
9
+ `KbqTreeSelection` and `KbqTree` gained the same state saving the accordion has, applied through the
10
+ `KbqStateSaving` host directive, and it is on by default. A tree with no `stateSavingKey` derives its key
11
+ from where it sits in the document — the chain of tag names up to `<body>`, cut short by the first
12
+ author-written `id`, which becomes the anchor. So a tree inside `<section id="catalog">` persists under
13
+ `#catalog/kbq-tree-selection`, and everything above that `id` can be restructured without moving the key.
14
+
15
+ Only expansion is persisted. Selection belongs to the form control the tree is bound to, and restoring it
16
+ from storage would overwrite the value the application supplied.
17
+
18
+ ## What it reports
19
+
20
+ - **The default flip.** A file that renders `kbq-tree-selection` or `kbq-tree` and never writes
21
+ `useStateSaving`.
22
+ - **How a node is identified.** Expansion is persisted by the value `getValue` returns — the third
23
+ argument of the `FlatTreeControl` constructor. It must be a string, stable across reloads, and unique
24
+ within the tree; a node object is re-created whenever the data is replaced, so it cannot serve as the
25
+ key. Where two nodes share a value, the first of them is expanded.
26
+ - **Programmatic expansion.** `expandAll()`, `collapseAll()`, `expandDescendants()`,
27
+ `collapseDescendants()` and direct writes to `expansionModel` are not persisted on their own — only
28
+ what a user expands or collapses is. Call `saveState()` afterwards to record them.
29
+ - **`NestedTreeControl`.** It has no `getValue`, so a tree built on one persists nothing and logs a
30
+ dev-mode warning.
31
+
32
+ Each check is evaluated against the whole file, matching the other warn-only migrations in this
33
+ collection. A file holding two trees where only one opts out is not reported — inspect it by hand.
34
+
35
+ ## What it does _not_ do
36
+
37
+ It does not insert `[useStateSaving]="false"`. The markup whose behaviour changed is exactly the markup
38
+ that says nothing about the input, so opting every tree out would be a rewrite of every consumer template
39
+ that also withholds the feature this release is shipping. Opting out stays a decision the application
40
+ makes.
41
+
42
+ ## Behaviour worth knowing without a report
43
+
44
+ - **Nodes that arrive late are waited for.** A value whose node is not loaded yet is applied as soon as
45
+ it appears, so a lazily loaded tree is restored as its branches load. Until then the value is kept, so
46
+ persisting a change made in the meantime does not drop the branches still loading.
47
+ - **Nothing is persisted while a filter is active.** `filterNodes()` rewrites the expansion set to every
48
+ expandable node that matched and puts the real one back afterwards, so what is expanded during a search
49
+ is a view of the results rather than a state.
50
+ - **A tree inside an overlay does not persist.** `kbq-tree-select` renders one into its panel, where the
51
+ tree is not in the document when it initializes and so has no stable key.
52
+ - **Trees sharing one `treeControl` share one expansion model** while persisting under a key each: the
53
+ last one to initialize decides what is restored.
54
+
55
+ ## Storage format
56
+
57
+ Entries are written under a `kbq.state.` prefix and carry a `savedAt` timestamp, so an entry stranded by a
58
+ markup change is collected once it outlives `KBQ_STATE_SAVING_TTL` (90 days by default). Reading an entry
59
+ refreshes it, so state that is visited but never changed does not expire under an active user.
60
+
61
+ ## Related tokens
62
+
63
+ - `KBQ_STATE_STORE` — where state is persisted. `KbqSessionStorageStateStore` is bundled for state that
64
+ should live no longer than the tab session.
65
+ - `KBQ_STATE_SAVING_KEY_RESOLVER` — how the key is derived when no `stateSavingKey` is given.
66
+ - `KBQ_STATE_SAVING_TTL` — how long an entry survives without being written or read.