@koobiq/components 20.4.2 → 21.0.1

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 (798) 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 +791 -609
  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 +2871 -2595
  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 +400 -149
  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 +734 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1700 -617
  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 +415 -18
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.cjs +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.cjs +61 -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.cjs +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.cjs +55 -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 → data.cjs} +3 -0
  274. package/schematics/migrations/alert-signals/index.cjs +221 -0
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.cjs +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.cjs +21 -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.cjs +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.cjs +366 -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 → index.cjs} +6 -5
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.cjs +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.cjs +707 -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.cjs +109 -0
  291. package/schematics/migrations/badge-signals/index.cjs +694 -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.cjs +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.cjs +221 -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.cjs +106 -0
  299. package/schematics/migrations/button-supported-colors/index.cjs +261 -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.cjs +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.cjs +497 -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.cjs +88 -0
  307. package/schematics/migrations/button-truncation/index.cjs +270 -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.cjs +114 -0
  311. package/schematics/migrations/checkbox-signals/index.cjs +635 -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.cjs +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.cjs +60 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-highlight-js-core/README.md +53 -0
  318. package/schematics/migrations/code-block-highlight-js-core/data.cjs +64 -0
  319. package/schematics/migrations/code-block-highlight-js-core/index.cjs +319 -0
  320. package/schematics/migrations/code-block-highlight-js-core/schema.json +20 -0
  321. package/schematics/migrations/code-block-signals/README.md +84 -0
  322. package/schematics/migrations/code-block-signals/data.cjs +121 -0
  323. package/schematics/migrations/code-block-signals/index.cjs +701 -0
  324. package/schematics/migrations/code-block-signals/schema.json +20 -0
  325. package/schematics/migrations/color-signals/README.md +46 -0
  326. package/schematics/migrations/color-signals/data.cjs +131 -0
  327. package/schematics/migrations/color-signals/index.cjs +20 -0
  328. package/schematics/migrations/color-signals/schema.json +20 -0
  329. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  330. package/schematics/migrations/core-mixins-removal/data.cjs +27 -0
  331. package/schematics/migrations/core-mixins-removal/index.cjs +18 -0
  332. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  333. package/schematics/migrations/css-selectors/README.md +2 -2
  334. package/schematics/migrations/css-selectors/{index.js → index.cjs} +4 -3
  335. package/schematics/migrations/datepicker-signals/README.md +24 -0
  336. package/schematics/migrations/datepicker-signals/data.cjs +49 -0
  337. package/schematics/migrations/datepicker-signals/index.cjs +18 -0
  338. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  339. package/schematics/migrations/deprecated-icons/README.md +2 -2
  340. package/schematics/migrations/deprecated-icons/{index.js → index.cjs} +8 -7
  341. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  342. package/schematics/migrations/design-tokens-v4/index.cjs +60 -0
  343. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  344. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  345. package/schematics/migrations/divider-signals-and-aria/data.cjs +62 -0
  346. package/schematics/migrations/divider-signals-and-aria/index.cjs +212 -0
  347. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  348. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  349. package/schematics/migrations/dl-attribute-coercion/data.cjs +85 -0
  350. package/schematics/migrations/dl-attribute-coercion/index.cjs +162 -0
  351. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  352. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  353. package/schematics/migrations/dl-standalone-names/data.cjs +44 -0
  354. package/schematics/migrations/dl-standalone-names/index.cjs +322 -0
  355. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  356. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  357. package/schematics/migrations/dropdown-demote-overlay/data.cjs +84 -0
  358. package/schematics/migrations/dropdown-demote-overlay/index.cjs +289 -0
  359. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  360. package/schematics/migrations/dropdown-signals/README.md +83 -0
  361. package/schematics/migrations/dropdown-signals/data.cjs +152 -0
  362. package/schematics/migrations/dropdown-signals/index.cjs +20 -0
  363. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  364. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  365. package/schematics/migrations/empty-state-error-color/data.cjs +85 -0
  366. package/schematics/migrations/empty-state-error-color/index.cjs +72 -0
  367. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  368. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  369. package/schematics/migrations/empty-state-size-attr/{index.js → index.cjs} +6 -5
  370. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  371. package/schematics/migrations/file-upload-cva-and-primitives/data.cjs +97 -0
  372. package/schematics/migrations/file-upload-cva-and-primitives/index.cjs +61 -0
  373. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  374. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  375. package/schematics/migrations/file-upload-deprecated-outputs/data.cjs +20 -0
  376. package/schematics/migrations/file-upload-deprecated-outputs/index.cjs +71 -0
  377. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  379. package/schematics/migrations/filter-bar-rename-action/data.cjs +151 -0
  380. package/schematics/migrations/filter-bar-rename-action/index.cjs +178 -0
  381. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  382. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  383. package/schematics/migrations/filter-bar-signals/{data.js → data.cjs} +1 -2
  384. package/schematics/migrations/filter-bar-signals/index.cjs +225 -0
  385. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  386. package/schematics/migrations/filter-bar-state-saving-default/data.cjs +87 -0
  387. package/schematics/migrations/filter-bar-state-saving-default/index.cjs +62 -0
  388. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  389. package/schematics/migrations/flag-inner-html/README.md +67 -0
  390. package/schematics/migrations/flag-inner-html/data.cjs +58 -0
  391. package/schematics/migrations/flag-inner-html/index.cjs +62 -0
  392. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  393. package/schematics/migrations/form-field-signals/README.md +125 -0
  394. package/schematics/migrations/form-field-signals/data.cjs +288 -0
  395. package/schematics/migrations/form-field-signals/index.cjs +383 -0
  396. package/schematics/migrations/form-field-signals/schema.json +20 -0
  397. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  398. package/schematics/migrations/icon-semantics-and-api/data.cjs +97 -0
  399. package/schematics/migrations/icon-semantics-and-api/index.cjs +65 -0
  400. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  401. package/schematics/migrations/icons-replacement/README.md +5 -5
  402. package/schematics/migrations/icons-replacement/{index.js → index.cjs} +4 -3
  403. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  404. package/schematics/migrations/inline-edit-a11y-and-types/data.cjs +117 -0
  405. package/schematics/migrations/inline-edit-a11y-and-types/index.cjs +98 -0
  406. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  407. package/schematics/migrations/input-number-surface/README.md +140 -0
  408. package/schematics/migrations/input-number-surface/data.cjs +135 -0
  409. package/schematics/migrations/input-number-surface/index.cjs +293 -0
  410. package/schematics/migrations/input-number-surface/schema.json +20 -0
  411. package/schematics/migrations/input-signals/README.md +20 -0
  412. package/schematics/migrations/input-signals/data.cjs +30 -0
  413. package/schematics/migrations/input-signals/index.cjs +18 -0
  414. package/schematics/migrations/input-signals/schema.json +15 -0
  415. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  416. package/schematics/migrations/link-deprecated-path/index.cjs +20 -0
  417. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  418. package/schematics/migrations/link-signals/README.md +71 -0
  419. package/schematics/migrations/link-signals/data.cjs +116 -0
  420. package/schematics/migrations/link-signals/index.cjs +416 -0
  421. package/schematics/migrations/link-signals/schema.json +20 -0
  422. package/schematics/migrations/list-signals/README.md +22 -0
  423. package/schematics/migrations/list-signals/data.cjs +35 -0
  424. package/schematics/migrations/list-signals/index.cjs +18 -0
  425. package/schematics/migrations/list-signals/schema.json +15 -0
  426. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  427. package/schematics/migrations/list-tree-multiple-input/data.cjs +74 -0
  428. package/schematics/migrations/list-tree-multiple-input/index.cjs +222 -0
  429. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  431. package/schematics/migrations/loader-overlay-signals/data.cjs +101 -0
  432. package/schematics/migrations/loader-overlay-signals/index.cjs +698 -0
  433. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  434. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  435. package/schematics/migrations/loader-overlay-size-attr/{index.js → index.cjs} +6 -5
  436. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  437. package/schematics/migrations/locale-configuration-providers/data.cjs +257 -0
  438. package/schematics/migrations/locale-configuration-providers/index.cjs +295 -0
  439. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  440. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  441. package/schematics/migrations/mandatory-peer-dependencies/index.cjs +43 -0
  442. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  443. package/schematics/migrations/markdown-signals/README.md +58 -0
  444. package/schematics/migrations/markdown-signals/data.cjs +79 -0
  445. package/schematics/migrations/markdown-signals/index.cjs +640 -0
  446. package/schematics/migrations/markdown-signals/schema.json +20 -0
  447. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  448. package/schematics/migrations/modal-dialog-semantics/data.cjs +110 -0
  449. package/schematics/migrations/modal-dialog-semantics/index.cjs +59 -0
  450. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  451. package/schematics/migrations/modal-signals/README.md +88 -0
  452. package/schematics/migrations/modal-signals/data.cjs +132 -0
  453. package/schematics/migrations/modal-signals/index.cjs +20 -0
  454. package/schematics/migrations/modal-signals/schema.json +20 -0
  455. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  456. package/schematics/migrations/navbar-signals-and-aria/data.cjs +198 -0
  457. package/schematics/migrations/navbar-signals-and-aria/index.cjs +569 -0
  458. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  459. package/schematics/migrations/new-icons-pack/README.md +10 -10
  460. package/schematics/migrations/new-icons-pack/{index.js → index.cjs} +8 -7
  461. package/schematics/migrations/notification-center-signals/README.md +67 -0
  462. package/schematics/migrations/notification-center-signals/data.cjs +66 -0
  463. package/schematics/migrations/notification-center-signals/index.cjs +62 -0
  464. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  465. package/schematics/migrations/option-signals/README.md +37 -0
  466. package/schematics/migrations/option-signals/data.cjs +86 -0
  467. package/schematics/migrations/option-signals/index.cjs +20 -0
  468. package/schematics/migrations/option-signals/schema.json +20 -0
  469. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  470. package/schematics/migrations/popover-leave-delay/data.cjs +61 -0
  471. package/schematics/migrations/popover-leave-delay/index.cjs +55 -0
  472. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  473. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  474. package/schematics/migrations/progress-bar-percentage-and-aria/data.cjs +76 -0
  475. package/schematics/migrations/progress-bar-percentage-and-aria/index.cjs +59 -0
  476. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  477. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  478. package/schematics/migrations/progress-spinner-signals/data.cjs +83 -0
  479. package/schematics/migrations/progress-spinner-signals/index.cjs +695 -0
  480. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  481. package/schematics/migrations/query-list-signals/README.md +32 -0
  482. package/schematics/migrations/query-list-signals/data.cjs +70 -0
  483. package/schematics/migrations/query-list-signals/index.cjs +18 -0
  484. package/schematics/migrations/query-list-signals/schema.json +15 -0
  485. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  486. package/schematics/migrations/radio-signals-and-aria/data.cjs +163 -0
  487. package/schematics/migrations/radio-signals-and-aria/index.cjs +40 -0
  488. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  489. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  490. package/schematics/migrations/read-state-dwell-handlers/data.cjs +45 -0
  491. package/schematics/migrations/read-state-dwell-handlers/index.cjs +216 -0
  492. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  493. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  494. package/schematics/migrations/scrollbar-deprecated-path/index.cjs +21 -0
  495. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  496. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  497. package/schematics/migrations/select-signal-inputs/data.cjs +99 -0
  498. package/schematics/migrations/select-signal-inputs/index.cjs +58 -0
  499. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  500. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  501. package/schematics/migrations/sidepanel-non-modal-behavior/data.cjs +111 -0
  502. package/schematics/migrations/sidepanel-non-modal-behavior/index.cjs +58 -0
  503. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  504. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  505. package/schematics/migrations/signal-inputs-subclasses/data.cjs +69 -0
  506. package/schematics/migrations/signal-inputs-subclasses/index.cjs +18 -0
  507. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  508. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  509. package/schematics/migrations/split-button-optional-disabled/data.cjs +53 -0
  510. package/schematics/migrations/split-button-optional-disabled/index.cjs +58 -0
  511. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  512. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  513. package/schematics/migrations/splitter-deprecated-path/index.cjs +21 -0
  514. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  515. package/schematics/migrations/state-saving-default/README.md +67 -0
  516. package/schematics/migrations/state-saving-default/data.cjs +88 -0
  517. package/schematics/migrations/state-saving-default/index.cjs +63 -0
  518. package/schematics/migrations/state-saving-default/schema.json +15 -0
  519. package/schematics/migrations/table-cell-content/README.md +55 -0
  520. package/schematics/migrations/table-cell-content/data.cjs +66 -0
  521. package/schematics/migrations/table-cell-content/index.cjs +67 -0
  522. package/schematics/migrations/table-cell-content/schema.json +15 -0
  523. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  524. package/schematics/migrations/tabs-signals-and-aria/data.cjs +139 -0
  525. package/schematics/migrations/tabs-signals-and-aria/index.cjs +66 -0
  526. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  527. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  528. package/schematics/migrations/tag-list-cleaner/data.cjs +42 -0
  529. package/schematics/migrations/tag-list-cleaner/index.cjs +197 -0
  530. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  531. package/schematics/migrations/tag-slots/README.md +41 -0
  532. package/schematics/migrations/tag-slots/index.cjs +191 -0
  533. package/schematics/migrations/tag-slots/schema.json +20 -0
  534. package/schematics/migrations/tags-signals/README.md +85 -0
  535. package/schematics/migrations/tags-signals/data.cjs +103 -0
  536. package/schematics/migrations/tags-signals/index.cjs +674 -0
  537. package/schematics/migrations/tags-signals/schema.json +20 -0
  538. package/schematics/migrations/textarea-signals/README.md +72 -0
  539. package/schematics/migrations/textarea-signals/data.cjs +121 -0
  540. package/schematics/migrations/textarea-signals/index.cjs +380 -0
  541. package/schematics/migrations/textarea-signals/schema.json +20 -0
  542. package/schematics/migrations/time-range-title-for/README.md +164 -0
  543. package/schematics/migrations/time-range-title-for/data.cjs +139 -0
  544. package/schematics/migrations/time-range-title-for/index.cjs +164 -0
  545. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  546. package/schematics/migrations/timepicker-signals/README.md +78 -0
  547. package/schematics/migrations/timepicker-signals/data.cjs +82 -0
  548. package/schematics/migrations/timepicker-signals/index.cjs +710 -0
  549. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  550. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  551. package/schematics/migrations/timezone-grouping-utils/data.cjs +101 -0
  552. package/schematics/migrations/timezone-grouping-utils/index.cjs +65 -0
  553. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  554. package/schematics/migrations/title-encapsulation/README.md +49 -0
  555. package/schematics/migrations/title-encapsulation/data.cjs +69 -0
  556. package/schematics/migrations/title-encapsulation/index.cjs +58 -0
  557. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  558. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  559. package/schematics/migrations/toast-stack-and-defaults/data.cjs +79 -0
  560. package/schematics/migrations/toast-stack-and-defaults/index.cjs +54 -0
  561. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  562. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  563. package/schematics/migrations/tooltip-pointer-events-and-types/data.cjs +89 -0
  564. package/schematics/migrations/tooltip-pointer-events-and-types/index.cjs +61 -0
  565. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  566. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  567. package/schematics/migrations/top-bar-container-selectors/data.cjs +56 -0
  568. package/schematics/migrations/top-bar-container-selectors/index.cjs +85 -0
  569. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  570. package/schematics/migrations/tree-select-signals/README.md +61 -0
  571. package/schematics/migrations/tree-select-signals/data.cjs +106 -0
  572. package/schematics/migrations/tree-select-signals/index.cjs +59 -0
  573. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-signals/README.md +82 -0
  575. package/schematics/migrations/tree-signals/data.cjs +123 -0
  576. package/schematics/migrations/tree-signals/index.cjs +55 -0
  577. package/schematics/migrations/tree-signals/schema.json +15 -0
  578. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  579. package/schematics/migrations/tree-state-saving-default/data.cjs +78 -0
  580. package/schematics/migrations/tree-state-saving-default/index.cjs +61 -0
  581. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  582. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  583. package/schematics/migrations/username-pipe-injection/data.cjs +78 -0
  584. package/schematics/migrations/username-pipe-injection/index.cjs +59 -0
  585. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  586. package/schematics/migrations/v20-upgrade/README.md +36 -16
  587. package/schematics/migrations/v20-upgrade/{data.js → data.cjs} +124 -77
  588. package/schematics/migrations/v20-upgrade/index.cjs +19 -0
  589. package/schematics/migrations/v21-upgrade/README.md +271 -0
  590. package/schematics/migrations/v21-upgrade/data.cjs +1371 -0
  591. package/schematics/migrations/v21-upgrade/index.cjs +95 -0
  592. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  593. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  594. package/schematics/migrations/zoneless-change-detection/data.cjs +29 -0
  595. package/schematics/migrations/zoneless-change-detection/index.cjs +21 -0
  596. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  597. package/schematics/migrations.json +401 -6
  598. package/schematics/ng-add/index.cjs +266 -0
  599. package/schematics/ng-add/schema.json +15 -0
  600. package/schematics/utils/{angular-parsing.js → angular-parsing.cjs} +2 -2
  601. package/schematics/utils/deprecated-path-migration.cjs +62 -0
  602. package/schematics/utils/html-config.cjs +148 -0
  603. package/schematics/utils/{icon-migration.js → icon-migration.cjs} +2 -2
  604. package/schematics/utils/list-item-pattern.cjs +16 -0
  605. package/schematics/utils/{package-config.js → package-config.cjs} +3 -32
  606. package/schematics/utils/project-files.cjs +25 -0
  607. package/schematics/utils/replacement-driver.cjs +337 -0
  608. package/schematics/utils/safe-rule.cjs +23 -0
  609. package/schematics/utils/signal-members-migration.cjs +779 -0
  610. package/schematics/utils/tag-patterns.cjs +21 -0
  611. package/schematics/utils/template-ref-access.cjs +155 -0
  612. package/schematics/utils/{typescript.js → typescript.cjs} +1 -1
  613. package/schematics/utils/warn-only-migration.cjs +52 -0
  614. package/schematics/utils/workspace-styles.cjs +123 -0
  615. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  616. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  617. package/scrollbar/native-scrollbar.scss +68 -0
  618. package/scrollbar/scrollbar-tokens.scss +13 -22
  619. package/scrollbar/scrollbar-track.scss +94 -0
  620. package/scrollbar/scrollbar-viewport.scss +33 -0
  621. package/scrollbar/scrollbar.scss +24 -0
  622. package/search-expandable/search-expandable-tokens.scss +4 -0
  623. package/search-expandable/search-expandable.scss +4 -2
  624. package/select/_select-theme.scss +3 -16
  625. package/select/select.scss +0 -6
  626. package/sidebar/sidebar.scss +20 -0
  627. package/sidepanel/_sidepanel-theme.scss +1 -1
  628. package/sidepanel/sidepanel-tokens.scss +7 -1
  629. package/sidepanel/sidepanel.scss +41 -5
  630. package/skeleton/skeleton-presets.scss +350 -0
  631. package/skeleton/skeleton-tokens.scss +127 -0
  632. package/skeleton/skeleton.scss +53 -45
  633. package/split-button/_split-button-theme.scss +4 -4
  634. package/split-button/split-button.scss +2 -6
  635. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  636. package/splitter/deprecated/splitter.scss +51 -0
  637. package/splitter/splitter-tokens.scss +19 -0
  638. package/splitter/splitter.scss +148 -28
  639. package/table/_table-theme.scss +13 -12
  640. package/table/table-tokens.scss +8 -0
  641. package/table/table.scss +47 -22
  642. package/tabs/_tabs-common.scss +14 -14
  643. package/tabs/_tabs-theme.scss +4 -5
  644. package/tabs/tab-body.scss +49 -1
  645. package/tabs/tab-header.scss +2 -1
  646. package/tags/tag-list.scss +4 -0
  647. package/tags/tag.scss +19 -1
  648. package/time-range/time-range.scss +9 -0
  649. package/timezone/timezone-option.component.scss +4 -7
  650. package/timezone/timezone-select.component.scss +3 -0
  651. package/toast/_toast-theme.scss +1 -4
  652. package/toast/toast-container.component.scss +19 -13
  653. package/toast/toast-tokens.scss +12 -6
  654. package/toast/toast.component.scss +42 -19
  655. package/toggle/_toggle-theme.scss +4 -10
  656. package/toggle/toggle.scss +67 -26
  657. package/tooltip/_tooltip-theme.scss +7 -1
  658. package/tooltip/tooltip-tokens.scss +1 -2
  659. package/tooltip/tooltip.scss +55 -9
  660. package/top-bar/top-bar-tokens.scss +13 -2
  661. package/top-bar/top-bar.scss +24 -19
  662. package/tree/_tree-theme.scss +0 -1
  663. package/tree/toggle.scss +5 -9
  664. package/tree/tree-option.scss +2 -4
  665. package/tree/tree-tokens.scss +2 -1
  666. package/tree/tree.scss +3 -5
  667. package/tree-select/_tree-select-theme.scss +4 -15
  668. package/tree-select/tree-select-tokens.scss +16 -0
  669. package/tree-select/tree-select.scss +0 -6
  670. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  671. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  672. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  673. package/types/koobiq-components-app-switcher.d.ts +406 -0
  674. package/types/koobiq-components-autocomplete.d.ts +443 -0
  675. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  676. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  677. package/types/koobiq-components-button-toggle.d.ts +340 -0
  678. package/types/koobiq-components-button.d.ts +296 -0
  679. package/types/koobiq-components-checkbox.d.ts +172 -0
  680. package/types/koobiq-components-clamped-text.d.ts +184 -0
  681. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +150 -88
  682. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  683. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  684. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  685. package/types/koobiq-components-divider.d.ts +43 -0
  686. package/types/koobiq-components-dl.d.ts +235 -0
  687. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  688. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  689. package/types/koobiq-components-empty-state.d.ts +106 -0
  690. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  691. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  692. package/types/koobiq-components-flag.d.ts +68 -0
  693. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  694. package/types/koobiq-components-icon.d.ts +333 -0
  695. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  696. package/types/koobiq-components-input.d.ts +477 -0
  697. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  698. package/types/koobiq-components-link.d.ts +176 -0
  699. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  700. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  701. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  702. package/types/koobiq-components-modal.d.ts +666 -0
  703. package/types/koobiq-components-navbar.d.ts +569 -0
  704. package/types/koobiq-components-notification-center.d.ts +500 -0
  705. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  706. package/types/koobiq-components-popover.d.ts +468 -0
  707. package/types/koobiq-components-progress-bar.d.ts +67 -0
  708. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  709. package/types/koobiq-components-radio.d.ts +294 -0
  710. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  711. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  712. package/types/koobiq-components-scrollbar.d.ts +154 -0
  713. package/types/koobiq-components-search-expandable.d.ts +164 -0
  714. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  715. package/types/koobiq-components-sidebar.d.ts +152 -0
  716. package/types/koobiq-components-sidepanel.d.ts +436 -0
  717. package/types/koobiq-components-skeleton.d.ts +234 -0
  718. package/types/koobiq-components-split-button.d.ts +65 -0
  719. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  720. package/types/koobiq-components-splitter.d.ts +406 -0
  721. package/types/koobiq-components-table.d.ts +44 -0
  722. package/types/koobiq-components-tabs.d.ts +888 -0
  723. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  724. package/types/koobiq-components-textarea.d.ts +178 -0
  725. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  726. package/types/koobiq-components-timepicker.d.ts +223 -0
  727. package/types/koobiq-components-timezone.d.ts +266 -0
  728. package/types/koobiq-components-title.d.ts +184 -0
  729. package/types/koobiq-components-toast.d.ts +289 -0
  730. package/types/koobiq-components-toggle.d.ts +121 -0
  731. package/types/koobiq-components-tooltip.d.ts +610 -0
  732. package/types/koobiq-components-top-bar.d.ts +61 -0
  733. package/types/koobiq-components-tree-select.d.ts +670 -0
  734. package/types/koobiq-components-tree.d.ts +1339 -0
  735. package/types/koobiq-components-username.d.ts +340 -0
  736. package/username/_username-theme.scss +35 -0
  737. package/username/username.scss +10 -34
  738. package/app-switcher/index.d.ts +0 -276
  739. package/autocomplete/index.d.ts +0 -286
  740. package/button/index.d.ts +0 -153
  741. package/button-toggle/index.d.ts +0 -162
  742. package/checkbox/index.d.ts +0 -163
  743. package/clamped-text/index.d.ts +0 -146
  744. package/core/styles/_tokens.scss +0 -7
  745. package/core/styles/common/_clearfix.scss +0 -13
  746. package/core/styles/common/_popup.scss +0 -6
  747. package/core/styles/functions/_index.scss +0 -3
  748. package/core/styles/functions/_number.scss +0 -60
  749. package/core/styles/functions/_string.scss +0 -18
  750. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  751. package/core/styles/typography/_typography-utils.scss +0 -84
  752. package/divider/index.d.ts +0 -20
  753. package/dl/index.d.ts +0 -45
  754. package/ellipsis-center/index.d.ts +0 -71
  755. package/empty-state/index.d.ts +0 -45
  756. package/flag/index.d.ts +0 -44
  757. package/icon/index.d.ts +0 -200
  758. package/input/index.d.ts +0 -354
  759. package/link/index.d.ts +0 -56
  760. package/loader-overlay/index.d.ts +0 -57
  761. package/modal/index.d.ts +0 -339
  762. package/navbar/index.d.ts +0 -372
  763. package/notification-center/index.d.ts +0 -323
  764. package/popover/index.d.ts +0 -182
  765. package/prebuilt-themes/dark-theme.css +0 -1
  766. package/prebuilt-themes/light-theme.css +0 -1
  767. package/progress-bar/index.d.ts +0 -31
  768. package/radio/index.d.ts +0 -203
  769. package/schematics/migrations/alert-signals/index.js +0 -353
  770. package/schematics/migrations/filter-bar-signals/index.js +0 -319
  771. package/schematics/migrations/v20-upgrade/index.js +0 -225
  772. package/schematics/ng-add/index.js +0 -39
  773. package/search-expandable/index.d.ts +0 -101
  774. package/sidebar/index.d.ts +0 -94
  775. package/sidepanel/index.d.ts +0 -272
  776. package/skeleton/index.d.ts +0 -26
  777. package/split-button/index.d.ts +0 -46
  778. package/table/index.d.ts +0 -25
  779. package/tabs/index.d.ts +0 -677
  780. package/textarea/index.d.ts +0 -138
  781. package/timepicker/index.d.ts +0 -197
  782. package/timezone/index.d.ts +0 -125
  783. package/title/index.d.ts +0 -139
  784. package/toast/index.d.ts +0 -178
  785. package/toggle/index.d.ts +0 -104
  786. package/tooltip/index.d.ts +0 -335
  787. package/top-bar/index.d.ts +0 -33
  788. package/tree/index.d.ts +0 -802
  789. package/tree-select/index.d.ts +0 -475
  790. package/username/index.d.ts +0 -194
  791. /package/schematics/migrations/css-selectors/{data.js → data.cjs} +0 -0
  792. /package/schematics/migrations/deprecated-icons/{data.js → data.cjs} +0 -0
  793. /package/schematics/migrations/icons-replacement/{data.js → data.cjs} +0 -0
  794. /package/schematics/migrations/new-icons-pack/{data.js → data.cjs} +0 -0
  795. /package/schematics/utils/{ast.js → ast.cjs} +0 -0
  796. /package/schematics/utils/{messages.js → messages.cjs} +0 -0
  797. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  798. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,289 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ts = require('typescript');
6
+ var utils_ast = require('../../utils/ast.cjs');
7
+ var utils_messages = require('../../utils/messages.cjs');
8
+ var utils_packageConfig = require('../../utils/package-config.cjs');
9
+ var utils_projectFiles = require('../../utils/project-files.cjs');
10
+ var utils_typescript = require('../../utils/typescript.cjs');
11
+ var migrations_dropdownDemoteOverlay_data = require('./data.cjs');
12
+ require('@angular-devkit/schematics');
13
+ require('@schematics/angular/utility');
14
+
15
+ const TS_EXT = '.ts';
16
+ const HTML_EXT = '.html';
17
+ const SCSS_EXT = '.scss';
18
+ const CSS_EXT = '.css';
19
+ const LABEL = '[dropdown-demote-overlay]';
20
+ function escapeRegExp(value) {
21
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
22
+ }
23
+ /** `demoteOverlay`, `[demoteOverlay]` and `bind-demoteOverlay` all name the same input. */
24
+ function attributeName(name) {
25
+ return utils_ast.getSimpleAttributeName(name).replace(/^bind-/, '');
26
+ }
27
+ /** Collects the source span of every `demoteOverlay` attribute in a parsed template. */
28
+ class RemovedAttributeCollector {
29
+ constructor() {
30
+ this.spans = [];
31
+ }
32
+ visitElement(element) {
33
+ for (const attr of element.attrs ?? []) {
34
+ if (typeof attr.name !== 'string' || attributeName(attr.name) !== migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE)
35
+ continue;
36
+ this.spans.push({ start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset });
37
+ }
38
+ this.visitChildren(element);
39
+ }
40
+ visitBlock(block) {
41
+ this.visitChildren(block);
42
+ }
43
+ visitChildren(node) {
44
+ for (const child of node.children ?? []) {
45
+ child.visit(this);
46
+ }
47
+ }
48
+ visitAttribute() { }
49
+ visitText() { }
50
+ visitComment() { }
51
+ visitExpansion() { }
52
+ visitExpansionCase() { }
53
+ visitBlockParameter() { }
54
+ visitLetDeclaration() { }
55
+ }
56
+ /**
57
+ * Deletes the given spans, each together with the whitespace that separated it
58
+ * from the previous attribute: an inline attribute takes its leading spaces, one
59
+ * written on its own line takes the line break and the indent as well, so the tag
60
+ * is not left with a blank line.
61
+ */
62
+ function removeSpans(content, spans) {
63
+ let result = content;
64
+ // Right-to-left, so earlier offsets stay valid.
65
+ for (const { start, end } of [...spans].sort((a, b) => b.start - a.start)) {
66
+ let from = start;
67
+ while (from > 0 && (result[from - 1] === ' ' || result[from - 1] === '\t'))
68
+ from--;
69
+ if (result[from - 1] === '\n') {
70
+ from--;
71
+ if (result[from - 1] === '\r')
72
+ from--;
73
+ }
74
+ result = result.slice(0, from) + result.slice(end);
75
+ }
76
+ return result;
77
+ }
78
+ /**
79
+ * Removes every `demoteOverlay` attribute from a template. Returns `null` when
80
+ * the template could not be parsed — editing it blind is how a regex-based
81
+ * migration corrupts binding expressions, so the caller warns instead.
82
+ */
83
+ async function migrateTemplate(template) {
84
+ if (!template.includes(migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE))
85
+ return template;
86
+ const parsed = await utils_typescript.parseTemplate(template);
87
+ if (!parsed.tree)
88
+ return null;
89
+ const collector = new RemovedAttributeCollector();
90
+ utils_ast.visitAll(collector, parsed.tree.rootNodes);
91
+ return removeSpans(template, collector.spans);
92
+ }
93
+ /**
94
+ * Applies the template migration to every inline `@Component({ template })` literal
95
+ * of a `.ts` source.
96
+ *
97
+ * Scoping matters: a wrapper component may legitimately declare its own
98
+ * `demoteOverlay` member (e.g. `@Input() demoteOverlay = false;`) that forwards
99
+ * to the trigger. Only the binding in its template is removed; the now-dead
100
+ * member is left for the compiler to flag.
101
+ */
102
+ async function migrateInlineTemplates(content, sourceFile, onParseError) {
103
+ let result = content;
104
+ // Splice right-to-left so earlier offsets stay valid.
105
+ for (const { start, end } of utils_typescript.collectInlineTemplateRanges(sourceFile).sort((a, b) => b.start - a.start)) {
106
+ const migrated = await migrateTemplate(result.slice(start, end));
107
+ if (migrated === null) {
108
+ onParseError();
109
+ continue;
110
+ }
111
+ result = result.slice(0, start) + migrated + result.slice(end);
112
+ }
113
+ return result;
114
+ }
115
+ const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
116
+ /** A `{ provide: KBQ_DROPDOWN_HOST, … }` object literal used as an element of a provider array. */
117
+ function isProviderEntry(node) {
118
+ return (ts.isObjectLiteralExpression(node) &&
119
+ ts.isArrayLiteralExpression(node.parent) &&
120
+ node.properties.some((prop) => ts.isPropertyAssignment(prop) &&
121
+ (ts.isIdentifier(prop.name) || ts.isStringLiteralLike(prop.name)) &&
122
+ prop.name.text === 'provide' &&
123
+ ts.isIdentifier(prop.initializer) &&
124
+ prop.initializer.text === migrations_dropdownDemoteOverlay_data.PROVIDER_TOKEN));
125
+ }
126
+ /**
127
+ * Spans of every `KBQ_DROPDOWN_HOST` provider entry.
128
+ *
129
+ * Being an array element is what makes the entry safe to delete: a provider
130
+ * object bound to a name (`export const HOST_PROVIDER = { provide: KBQ_DROPDOWN_HOST, … };`)
131
+ * or returned from a function is not an element of anything, and cutting it out
132
+ * would leave `= ;` behind. Those are reported by the leftover-token warning instead.
133
+ */
134
+ function collectProviderEntrySpans(sourceFile) {
135
+ const spans = [];
136
+ const visit = (node) => {
137
+ if (isProviderEntry(node)) {
138
+ spans.push({ start: node.getStart(sourceFile), end: node.getEnd() });
139
+ }
140
+ ts.forEachChild(node, visit);
141
+ };
142
+ ts.forEachChild(sourceFile, visit);
143
+ return spans;
144
+ }
145
+ /** A comma and the whitespace — at most one line break — that separates two array elements. */
146
+ const SEPARATOR_BEFORE = /,[ \t]*\r?\n?[ \t]*$/;
147
+ const SEPARATOR_AFTER = /^,[ \t]*\r?\n?[ \t]*/;
148
+ /**
149
+ * Deletes the given provider entries, each together with exactly one adjacent
150
+ * separator — the preceding one when the entry has one — so the array keeps its
151
+ * shape and nothing outside the entry is reformatted.
152
+ */
153
+ function removeProviderEntries(content, spans) {
154
+ let result = content;
155
+ // Right-to-left, so earlier offsets stay valid.
156
+ for (const { start, end } of [...spans].sort((a, b) => b.start - a.start)) {
157
+ const before = SEPARATOR_BEFORE.exec(result.slice(0, start));
158
+ const after = before ? null : SEPARATOR_AFTER.exec(result.slice(end));
159
+ result = result.slice(0, before ? before.index : start) + result.slice(end + (after ? after[0].length : 0));
160
+ }
161
+ return result;
162
+ }
163
+ /**
164
+ * Idempotently strips `symbol` from any `import { … } from 'from'` clause.
165
+ * - Multi-symbol clause: drop just that symbol, keep the others.
166
+ * - Single-symbol clause: drop the whole import line.
167
+ */
168
+ function removeImport(content, symbol, from) {
169
+ // The trailing part deliberately stops after a single newline (`[ \t]*\r?\n?`
170
+ // rather than `\s*\n?`): dropping the whole import line must not also swallow
171
+ // the blank line that separates the import block from the code below it.
172
+ const moduleRe = new RegExp(`(import\\s*(?:type\\s*)?\\{)([^}]*)(\\}\\s*from\\s*['"]${escapeRegExp(from)}['"];?[ \\t]*\\r?\\n?)`, 'g');
173
+ return content.replace(moduleRe, (full, open, body, close) => {
174
+ const items = body
175
+ .split(',')
176
+ .map((item) => item.trim())
177
+ .filter(Boolean);
178
+ // An already-empty clause is somebody else's import — leave it alone.
179
+ if (items.length === 0)
180
+ return full;
181
+ // Handle `<name> as <alias>` — match on the source name, not the alias.
182
+ const kept = items.filter((spec) => spec.split(/\s+as\s+/)[0].trim() !== symbol);
183
+ if (kept.length === items.length)
184
+ return full;
185
+ if (kept.length === 0)
186
+ return '';
187
+ return `${open} ${kept.join(', ')} ${close}`;
188
+ });
189
+ }
190
+ /**
191
+ * Drops a `providers` property the removal left empty. Angular treats
192
+ * `providers: []` as a no-op, so this is purely cosmetic — but leaving it
193
+ * behind in a decorator whose only provider was `KBQ_DROPDOWN_HOST` looks like
194
+ * an unfinished migration.
195
+ */
196
+ function dropEmptyProvidersProperty(content) {
197
+ return content.replace(/[ \t]*providers:\s*\[\s*\],?[ \t]*\r?\n/g, '').replace(/,?[ \t]*providers:\s*\[\s*\]/g, '');
198
+ }
199
+ function logWarnings(context, filePath, content, patterns) {
200
+ for (const { pattern, message } of patterns) {
201
+ if (new RegExp(pattern).test(content)) {
202
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
203
+ }
204
+ }
205
+ }
206
+ function pickWarnPatterns(filePath) {
207
+ if (filePath.endsWith(TS_EXT))
208
+ return [...migrations_dropdownDemoteOverlay_data.tsWarnPatterns, ...migrations_dropdownDemoteOverlay_data.templateWarnPatterns];
209
+ if (filePath.endsWith(HTML_EXT))
210
+ return migrations_dropdownDemoteOverlay_data.templateWarnPatterns;
211
+ return migrations_dropdownDemoteOverlay_data.styleWarnPatterns;
212
+ }
213
+ function isMigratableFile(filePath) {
214
+ return (filePath.endsWith(TS_EXT) ||
215
+ filePath.endsWith(HTML_EXT) ||
216
+ filePath.endsWith(SCSS_EXT) ||
217
+ filePath.endsWith(CSS_EXT));
218
+ }
219
+ function dropdownDemoteOverlay(options) {
220
+ return async (tree, context) => {
221
+ const { project } = options;
222
+ // `ng update` invokes migrations with no options at all, and migrations.json
223
+ // declares no schema, so the schema default never reaches us — applying the
224
+ // fix is the intended behaviour there.
225
+ const fix = options.fix ?? true;
226
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
227
+ const root = projectDefinition?.root ?? '';
228
+ const rootDir = root ? tree.getDir(root) : tree.root;
229
+ const filePaths = [];
230
+ utils_projectFiles.visitProjectFiles(rootDir, (filePath) => {
231
+ if (!isMigratableFile(filePath))
232
+ return;
233
+ filePaths.push(filePath);
234
+ });
235
+ let touched = 0;
236
+ for (const filePath of filePaths) {
237
+ const originalContent = tree.read(filePath)?.toString();
238
+ if (!originalContent)
239
+ continue;
240
+ let content = originalContent;
241
+ let unparseable = false;
242
+ const reportParseError = () => (unparseable = true);
243
+ // Parsing every `.ts` of the project is not free, and nothing can change in
244
+ // a file that mentions neither the token nor the input.
245
+ const mentionsRemovedApi = content.includes(migrations_dropdownDemoteOverlay_data.PROVIDER_TOKEN) || content.includes(migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE);
246
+ if (filePath.endsWith(TS_EXT) && mentionsRemovedApi) {
247
+ let sourceFile = createSourceFile(filePath, content);
248
+ const withoutProvider = removeProviderEntries(content, collectProviderEntrySpans(sourceFile));
249
+ if (withoutProvider !== content) {
250
+ content = dropEmptyProvidersProperty(removeImport(withoutProvider, migrations_dropdownDemoteOverlay_data.PROVIDER_IMPORT.symbol, migrations_dropdownDemoteOverlay_data.PROVIDER_IMPORT.from));
251
+ // Those edits moved every offset that followed them.
252
+ sourceFile = createSourceFile(filePath, content);
253
+ }
254
+ content = await migrateInlineTemplates(content, sourceFile, reportParseError);
255
+ }
256
+ else if (filePath.endsWith(HTML_EXT)) {
257
+ const migrated = await migrateTemplate(content);
258
+ if (migrated === null)
259
+ reportParseError();
260
+ else
261
+ content = migrated;
262
+ }
263
+ // Warn on what is left over, so an auto-fixed usage does not also
264
+ // produce a "manual migration required" note. In dry-run mode the
265
+ // fix is not written, so report against the original content.
266
+ logWarnings(context, filePath, fix ? content : originalContent, pickWarnPatterns(filePath));
267
+ if (unparseable) {
268
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_dropdownDemoteOverlay_data.UNPARSEABLE_TEMPLATE_MESSAGE}`]);
269
+ }
270
+ if (content === originalContent)
271
+ continue;
272
+ touched++;
273
+ if (fix) {
274
+ tree.overwrite(filePath, content);
275
+ }
276
+ else {
277
+ utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
278
+ }
279
+ }
280
+ utils_messages.logMessage(context.logger, [
281
+ `${LABEL} processed tree under "${root || '<workspace root>'}", ` +
282
+ `${fix ? 'updated' : 'would update'} ${touched} file(s).`,
283
+ '',
284
+ ...migrations_dropdownDemoteOverlay_data.BEHAVIOUR_NOTE
285
+ ]);
286
+ };
287
+ }
288
+
289
+ exports.default = dropdownDemoteOverlay;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-dropdown-demote-overlay",
4
+ "title": "Koobiq components overlay demotion removal",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,83 @@
1
+ # dropdown-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
4
+ `21.0.0-0`). Migrates `KbqDropdown`, `KbqDropdownTrigger` and `KbqDropdownItem` consumers to the
5
+ signal-based API the component review landed.
6
+
7
+ ## Background
8
+
9
+ The dropdown was the only component in the v21 review campaign whose decorators were left in place —
10
+ its siblings (`badge`, `autocomplete`, `markdown`, `progress-spinner`) each shipped a `*-signals`
11
+ migration, and the dropdown shipped none. Two notes in the source deferred the work explicitly:
12
+
13
+ ```ts
14
+ // The inputs below stay decorators on purpose: in-repo consumers assign to them imperatively […]
15
+ // Migrating them is a breaking change owned by the next major.
16
+ ```
17
+
18
+ v21 is that next major. Twenty of the twenty-one members are signals now; the one that stayed is at the
19
+ bottom of this page.
20
+
21
+ ## What it rewrites
22
+
23
+ A read becomes a call, scoped to the type that declares the member:
24
+
25
+ | Type | Members |
26
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | `KbqDropdown` | `xPosition`, `yPosition`, `overlapTriggerX`, `overlapTriggerY`, `hasBackdrop`, `backdropClass`, `templateRef`, `items`, `lazyContent` |
28
+ | `KbqDropdownTrigger` | `offsetX`, `offsetY`, `data`, `openByArrowDown`, `restoreFocus`, `dropdown` |
29
+ | `KbqDropdownItem` | `disabled`, `icon` |
30
+
31
+ Seven of them are `model()`s, so a write has a mechanical translation:
32
+
33
+ | Before | After |
34
+ | --------------------------------- | ------------------------------------ |
35
+ | `panel.xPosition = 'before'` | `panel.xPosition.set('before')` |
36
+ | `panel.overlapTriggerX = false` | `panel.overlapTriggerX.set(false)` |
37
+ | `trigger.offsetX = -8` | `trigger.offsetX.set(-8)` |
38
+ | `trigger.openByArrowDown = false` | `trigger.openByArrowDown.set(false)` |
39
+
40
+ They are `model()`s rather than `input()`s because in-repo hosts position the panel they were handed:
41
+ `kbq-split-button` writes `xPosition`, and `kbq-navbar-item` writes both overlap flags, `offsetX` and
42
+ `openByArrowDown`. A write to a read-only input (`hasBackdrop`, `restoreFocus`, `data`, …) is left
43
+ untouched and becomes a compile error the consumer fixes by hand.
44
+
45
+ Receivers are found by explicit type annotation and by the `inject()` / `viewChild()` /
46
+ `contentChild()` initializer forms, and through template reference variables — a bare `#ref` on
47
+ `<kbq-dropdown>` or `<kbq-dropdown-item>`, and `#ref="kbqDropdownTrigger"` on a trigger host. Reads
48
+ already migrated are left alone, so the schematic is idempotent.
49
+
50
+ **Input aliases did not change.** `[xPosition]`, `[panelWidth]`, `class`, `[kbqDropdownTriggerFor]`
51
+ and the rest bind exactly as before; only programmatic access moved.
52
+
53
+ ## What it reports rather than fixes
54
+
55
+ - **`items` is a `Signal<readonly KbqDropdownItem[]>`, not a `QueryList`.** `items().length` and the
56
+ array methods on `items()` work; `changes`, `first`, `last` and `toArray()` do not. Use
57
+ `toObservable(panel.items)` for the stream, and the new `adoptItems()` in place of `items.reset(…)`.
58
+ - **`closed` is an `output()`.** It has `emit()` and `subscribe(fn)`, but no `pipe()`,
59
+ `asObservable()` or `complete()`. Wrap it in `outputToObservable(panel.closed)`.
60
+ - **`classList` is `protected`.** It is one `computed` over the position classes, the safe-area class
61
+ and the `class` input. Set `class` on `<kbq-dropdown>` to add your own.
62
+ - **`KbqDropdownPanel` changed shape throughout.** A custom panel has to be updated by hand.
63
+ - **Signal queries hold the instance behind a call of their own**, so a read through
64
+ `viewChild(KbqDropdown)` is `this.panel().items()`. Those are resolved where the query is assigned
65
+ to a field; other shapes are reported.
66
+
67
+ ## Changes with no call site to match on
68
+
69
+ - `model()` takes no `transform`, so the seven writable members no longer coerce a string attribute:
70
+ use `[overlapTriggerX]="true"`, not `overlapTriggerX="true"`.
71
+ - `KbqDropdownItem.disabled` is a signal, and `ListKeyManagerOption.disabled` accepts one. A custom
72
+ option that reads `item.disabled` as a plain property is broken by this — a signal is a function,
73
+ so every item reads as disabled, and both the arrow skip and the typeahead match silently stop
74
+ working. Check `typeof item.disabled === 'function'` before reading it.
75
+ - `KbqDropdownItem.textElement` is still read as a property: a getter typed `ElementRef`. It implements `KbqTitleTextRef`, which `KbqTitle` and
76
+ five other components read as a plain property.
77
+
78
+ ## Options
79
+
80
+ | Option | Default | Description |
81
+ | --------- | ------- | -------------------------------------------------------------------- |
82
+ | `project` | — | Project to migrate. Omitted, the migration runs over the whole tree. |
83
+ | `fix` | `true` | When false, prints what would change without writing. |
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `dropdown-signals` migration.
5
+ *
6
+ * The dropdown was the only component in the v21 review campaign whose decorators were left in place.
7
+ * Twenty of its twenty-one `@Input`/`@Output`/query members moved to the signal API. Seventeen of those
8
+ * are read through — the members listed below — so every programmatic read of one is a call.
9
+ *
10
+ * Seven are `model()`s rather than `input()`s, because another component writes them on the instance it
11
+ * was handed: `kbq-split-button` writes `xPosition`, `kbq-navbar-item` writes both overlap flags, `offsetX`
12
+ * and `openByArrowDown`, and `KbqOptionActionComponent` writes `restoreFocus`. A write to one of those has a mechanical translation to `.set(...)`; a write to a
13
+ * read-only input does not, and is left to become a compile error.
14
+ *
15
+ * `KbqDropdownItem.textElement` is deliberately absent: it implements `KbqTitleTextRef`, a contract five
16
+ * other components implement as a plain property, so it is a getter typed `ElementRef`.
17
+ *
18
+ * `KbqDropdownTrigger.dropdownClosed` is an `output()` now. Its reads are not rewritten — it is an event,
19
+ * not a value — but an operator chain over it is reported, the same as over the panel's `closed`.
20
+ */
21
+ const DROPDOWN_ANCHOR = '\\bKbqDropdown\\w*\\b';
22
+ /** Which members each type owns. A receiver resolves to one type, so the rewrite is scoped by it. */
23
+ const MEMBERS_BY_TYPE = {
24
+ KbqDropdown: [
25
+ 'xPosition',
26
+ 'yPosition',
27
+ 'overlapTriggerX',
28
+ 'overlapTriggerY',
29
+ 'hasBackdrop',
30
+ 'backdropClass',
31
+ 'templateRef',
32
+ 'items',
33
+ 'lazyContent'
34
+ ],
35
+ KbqDropdownTrigger: ['offsetX', 'offsetY', 'data', 'openByArrowDown', 'restoreFocus', 'dropdown'],
36
+ KbqDropdownItem: ['disabled', 'icon']
37
+ };
38
+ /**
39
+ * `exportAs` names a template reference can be bound to. The trigger is a directive on an arbitrary
40
+ * element, so `#t="kbqDropdownTrigger"` is the only way a template names it.
41
+ */
42
+ const EXPORT_AS_TO_TYPE = {
43
+ kbqDropdown: 'KbqDropdown',
44
+ kbqDropdownTrigger: 'KbqDropdownTrigger',
45
+ kbqDropdownItem: 'KbqDropdownItem'
46
+ };
47
+ /** Element selectors whose bare `#ref` points at one of the migrated types. */
48
+ const ELEMENT_TO_TYPE = {
49
+ 'kbq-dropdown': 'KbqDropdown',
50
+ 'kbq-dropdown-item': 'KbqDropdownItem'
51
+ };
52
+ /** The `model()` members, whose `x = v` becomes `x.set(v)`. */
53
+ const WRITABLE_MEMBERS = new Set([
54
+ 'xPosition',
55
+ 'yPosition',
56
+ 'overlapTriggerX',
57
+ 'overlapTriggerY',
58
+ 'offsetX',
59
+ 'openByArrowDown',
60
+ 'restoreFocus'
61
+ ]);
62
+ /** Members that moved from `public` to `protected` and can no longer be read from outside. */
63
+ const PROTECTED_MEMBERS = ['classList'];
64
+ const PROTECTED_HINT = 'It is derived state now — the position classes, the safe-area class and the `class` input are ' +
65
+ 'folded into one `computed`. Set `class` on `<kbq-dropdown>` to add your own.';
66
+ const warnPatterns = [
67
+ {
68
+ anchor: DROPDOWN_ANCHOR,
69
+ pattern: '\\bitems\\s*\\.\\s*(?:reset|notifyOnChanges|toArray|forEach|filter|map|find|some)\\s*\\(|\\bitems\\s*\\.\\s*(?:changes|first|last)\\b',
70
+ message: '`KbqDropdown.items` is a `Signal<readonly KbqDropdownItem[]>` now, not a `QueryList`. ' +
71
+ '`items().length` and the array methods on `items()` still work; `changes`, `first`, `last` and ' +
72
+ '`toArray()` do not. Use `toObservable(panel.items)` for the stream, and `adoptItems()` instead ' +
73
+ 'of `items.reset(...)`.'
74
+ },
75
+ {
76
+ anchor: DROPDOWN_ANCHOR,
77
+ pattern: '\\b(?:closed|dropdownClosed)\\s*\\.\\s*(?:pipe|asObservable|complete|subscribe\\s*\\([^)]*,)',
78
+ message: '`KbqDropdown.closed` and `KbqDropdownTrigger.dropdownClosed` are `output()`s now. Each has ' +
79
+ '`emit()` and `subscribe(fn)`, but no ' +
80
+ '`pipe()`, `asObservable()` or `complete()`, and `subscribe` takes a single callback. Wrap it ' +
81
+ 'in `outputToObservable(panel.closed)` from `@angular/core/rxjs-interop` to keep an operator chain.'
82
+ },
83
+ {
84
+ anchor: DROPDOWN_ANCHOR,
85
+ pattern: 'implements\\s+[^{]*\\bKbqDropdownPanel\\b',
86
+ message: 'Every member of `KbqDropdownPanel` changed shape: `xPosition`, `yPosition` and both overlap ' +
87
+ 'flags are `WritableSignal`s, `templateRef`, `hasBackdrop`, `backdropClass` and `lazyContent` are ' +
88
+ '`Signal`s, `items` is a `Signal<readonly KbqDropdownItem[]>`, and `closed` is an ' +
89
+ '`OutputEmitterRef`. A custom panel has to be updated by hand; the optional `adoptItems` replaces ' +
90
+ 'the `items.reset(...)` the trigger used to perform on it.'
91
+ },
92
+ {
93
+ anchor: DROPDOWN_ANCHOR,
94
+ pattern: '\\b(?:viewChild|contentChild)(?:\\s*\\.\\s*required)?\\s*(?:<[^<>()]*>)?\\s*\\(\\s*KbqDropdown(?:Trigger|Item)?\\b',
95
+ message: 'A `viewChild(KbqDropdown)` / `contentChild(KbqDropdownItem)` query is itself a signal, so ' +
96
+ 'reading a member through it is a double call: `this.panel().items()`. Those reads are resolved ' +
97
+ 'and rewritten where the query is assigned to a field; check any other shape by hand.'
98
+ },
99
+ {
100
+ anchor: DROPDOWN_ANCHOR,
101
+ pattern: '\\bpanelClass\\s*=[^=]',
102
+ message: "`KbqDropdown.panelClass` was a write-only `@Input('class')` and is a read-only `input()` " +
103
+ 'aliased to `class` now. Set it in the template — `<kbq-dropdown class="...">` or ' +
104
+ '`[class]="..."` — rather than assigning to the property.'
105
+ }
106
+ ];
107
+ const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders a dropdown but could not be parsed, so it was left untouched. Migrate reads ' +
108
+ 'through its template reference variables by hand.';
109
+ const UNRESOLVED_RECEIVER_MESSAGE = 'A dropdown type is used here in a way this migration cannot resolve to a single receiver, so any ' +
110
+ 'signal read through it was left untouched. Check these lines by hand:';
111
+ const SUMMARY = [
112
+ ' Seventeen members across `KbqDropdown`, `KbqDropdownTrigger` and `KbqDropdownItem` are signals now, so ' +
113
+ 'a read is a call. A read left un-called is silent in a template: `{{ panel.xPosition }}` prints the ' +
114
+ 'function source, and `@if (item.disabled)` is always true.',
115
+ ' `xPosition`, `yPosition`, `overlapTriggerX`, `overlapTriggerY`, `offsetX`, `openByArrowDown` and ' +
116
+ '`restoreFocus` are ' +
117
+ '`model()`s, so a write becomes `.set(...)`. `model()` takes no `transform`, so they no longer coerce ' +
118
+ 'a string attribute: use `[overlapTriggerX]="true"`, not `overlapTriggerX="true"`.',
119
+ ' `KbqDropdownItem.disabled` is a signal, and `ListKeyManagerOption.disabled` accepts one. A custom ' +
120
+ 'option that passes a signal to a key manager works; one that reads `item.disabled` as a plain ' +
121
+ 'property does not — a signal is a function, so every item reads as disabled.',
122
+ ' `KbqDropdownItem.textElement` is unchanged. It implements `KbqTitleTextRef`, which `KbqTitle` and five ' +
123
+ 'other components read as a plain property.'
124
+ ];
125
+ const config = {
126
+ label: '[dropdown-signals]',
127
+ package: '@koobiq/components/dropdown',
128
+ membersByType: MEMBERS_BY_TYPE,
129
+ exportAsToType: EXPORT_AS_TO_TYPE,
130
+ elementToType: ELEMENT_TO_TYPE,
131
+ writableMembers: WRITABLE_MEMBERS,
132
+ protectedMembers: PROTECTED_MEMBERS,
133
+ warnPatterns,
134
+ messages: {
135
+ unparseableTemplate: UNPARSEABLE_TEMPLATE_MESSAGE,
136
+ unresolvedReceiver: UNRESOLVED_RECEIVER_MESSAGE,
137
+ protectedHint: PROTECTED_HINT,
138
+ summary: SUMMARY
139
+ }
140
+ };
141
+
142
+ exports.ELEMENT_TO_TYPE = ELEMENT_TO_TYPE;
143
+ exports.EXPORT_AS_TO_TYPE = EXPORT_AS_TO_TYPE;
144
+ exports.MEMBERS_BY_TYPE = MEMBERS_BY_TYPE;
145
+ exports.PROTECTED_HINT = PROTECTED_HINT;
146
+ exports.PROTECTED_MEMBERS = PROTECTED_MEMBERS;
147
+ exports.SUMMARY = SUMMARY;
148
+ exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
149
+ exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
150
+ exports.WRITABLE_MEMBERS = WRITABLE_MEMBERS;
151
+ exports.config = config;
152
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils_signalMembersMigration = require('../../utils/signal-members-migration.cjs');
6
+ var migrations_dropdownSignals_data = require('./data.cjs');
7
+ require('typescript');
8
+ require('../../utils/ast.cjs');
9
+ require('../../utils/messages.cjs');
10
+ require('../../utils/package-config.cjs');
11
+ require('@angular-devkit/schematics');
12
+ require('@schematics/angular/utility');
13
+ require('../../utils/project-files.cjs');
14
+ require('../../utils/typescript.cjs');
15
+
16
+ function dropdownSignals(options) {
17
+ return utils_signalMembersMigration.signalMembersRule(migrations_dropdownSignals_data.config, options);
18
+ }
19
+
20
+ exports.default = dropdownSignals;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-dropdown-signals",
4
+ "title": "Koobiq components dropdown signals migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }