@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,88 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `button-truncation` migration.
5
+ *
6
+ * `KbqButton` and `KbqButtonToggle` now truncate their label with an ellipsis by default. Three things
7
+ * changed that no compiler can catch:
8
+ *
9
+ * 1. `.kbq-button` / `.kbq-light-button` gained `max-width: 100%`, so a button that used to overflow its
10
+ * container now clamps to it and clips the label. Nothing in a template or a stylesheet identifies the
11
+ * affected places — this is reported once, as a note.
12
+ * 2. `.kbq-button-text` went from `display: flex` to `display: inline-block` (only a block container paints
13
+ * `text-overflow`). Content projected into the default slot that relied on being a flex row lays out
14
+ * differently, and hand-rolled truncation overrides now stack on top of the built-in one.
15
+ * 3. `kbq-button-toggle` gained a `.kbq-button-toggle-text` box between `.kbq-button-toggle-wrapper` and the
16
+ * projected content, so selectors aimed at the wrapper reach a different element.
17
+ *
18
+ * Only the markup is auto-fixed: an icon at either edge of a button's default slot is moved into the
19
+ * `kbqButtonPrefix`/`kbqButtonSuffix` slot, which is what keeps it laid out *beside* the truncating box
20
+ * instead of inside it. Stylesheets are reported, never rewritten — the right fix depends on why the
21
+ * override exists.
22
+ */
23
+ /** Attribute that marks a Koobiq button host, e.g. `<button kbq-button>` or `<a kbq-button>`. */
24
+ const BUTTON_ATTR = 'kbq-button';
25
+ /** Element whose default slot has the same prefix/suffix contract as a button. */
26
+ const TOGGLE_ELEMENT = 'kbq-button-toggle';
27
+ /**
28
+ * Attributes that make an element a `KbqIcon`. `[kbq-icon-button]` and `[kbq-icon-item]` are subclasses,
29
+ * so they count towards the same content query the component uses to decide its icon layout.
30
+ */
31
+ const ICON_ATTRS = ['kbq-icon', 'kbq-icon-button', 'kbq-icon-item'];
32
+ /** Marker directives that project content out of the truncating label box. */
33
+ const PREFIX_ATTR = 'kbqButtonPrefix';
34
+ const SUFFIX_ATTR = 'kbqButtonSuffix';
35
+ /**
36
+ * Stylesheet overrides that are affected by the layout change. Reported with file locations in both `fix`
37
+ * and dry-run mode: whether an override has to be dropped, retargeted or kept depends on why it was written,
38
+ * and guessing wrong silently changes a layout.
39
+ */
40
+ const stylePatterns = [
41
+ {
42
+ selector: '.kbq-button-text',
43
+ pattern: '\\.kbq-button-text\\b',
44
+ message: '`.kbq-button-text` is no longer a flex container — it is `display: inline-block`, because ' +
45
+ '`text-overflow: ellipsis` is never painted on a flex box. If you project your own row of elements ' +
46
+ 'into the default slot, re-declare `display: flex; align-items: center` on it (see how ' +
47
+ '`kbq-filter-bar` does it). If this rule was hand-rolled truncation, delete it: the label now ' +
48
+ 'truncates on its own.'
49
+ },
50
+ {
51
+ selector: '.kbq-button-wrapper',
52
+ pattern: '\\.kbq-button-wrapper\\b',
53
+ message: '`.kbq-button-wrapper` no longer needs a truncation override — `.kbq-button-text` inside it clips ' +
54
+ 'and paints the ellipsis, and the button host carries `max-width: 100%`. An override that sets ' +
55
+ '`overflow`/`text-overflow`/`display` here now stacks on top of the built-in behaviour; delete it ' +
56
+ 'unless it does something else.'
57
+ },
58
+ {
59
+ selector: '.kbq-button-toggle-wrapper',
60
+ pattern: '\\.kbq-button-toggle-wrapper\\b',
61
+ message: '`kbq-button-toggle` gained a `.kbq-button-toggle-text` box: the wrapper is now only the flex row ' +
62
+ 'that lays out the slots, and the projected label sits one level deeper. Retarget selectors that ' +
63
+ 'meant the label (including `display: block` overrides added to get an ellipsis — that now works ' +
64
+ 'out of the box) at `.kbq-button-toggle-text`.'
65
+ }
66
+ ];
67
+ /** Printed once per run: the one change that has no textual signature to search for. */
68
+ const MAX_WIDTH_NOTE = [
69
+ '`.kbq-button` and `.kbq-light-button` now carry `max-width: 100%`.',
70
+ 'A button whose label is wider than its container no longer overflows — it clamps and truncates.',
71
+ 'Nothing identifies those places in code, so review screens with narrow buttons, dense toolbars and',
72
+ 'table cells visually (screenshot tests will show it immediately).',
73
+ 'To upgrade first and adopt truncation screen by screen, neutralise it in your global styles:',
74
+ ' .kbq-button, .kbq-light-button { max-width: none; }'
75
+ ];
76
+ /** Printed once per run when a template could not be migrated automatically. */
77
+ const MANUAL_TEMPLATE_NOTE = 'Icons that are not a direct first/last child of the button (wrapped in your own element, or produced by ' +
78
+ 'a block with more than one element) keep sharing the label box and give the ellipsis up. Mark them with ' +
79
+ `\`${PREFIX_ATTR}\`/\`${SUFFIX_ATTR}\` by hand if the label should truncate.`;
80
+
81
+ exports.BUTTON_ATTR = BUTTON_ATTR;
82
+ exports.ICON_ATTRS = ICON_ATTRS;
83
+ exports.MANUAL_TEMPLATE_NOTE = MANUAL_TEMPLATE_NOTE;
84
+ exports.MAX_WIDTH_NOTE = MAX_WIDTH_NOTE;
85
+ exports.PREFIX_ATTR = PREFIX_ATTR;
86
+ exports.SUFFIX_ATTR = SUFFIX_ATTR;
87
+ exports.TOGGLE_ELEMENT = TOGGLE_ELEMENT;
88
+ exports.stylePatterns = stylePatterns;
@@ -0,0 +1,270 @@
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_buttonTruncation_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 STYLE_EXTS = ['.scss', '.css', '.less'];
18
+ function applyEdits(content, edits) {
19
+ const sorted = [...edits].sort((a, b) => b.start - a.start || b.end - a.end);
20
+ let result = content;
21
+ for (const { start, end, text } of sorted) {
22
+ result = result.slice(0, start) + text + result.slice(end);
23
+ }
24
+ return result;
25
+ }
26
+ /** An attribute name as written, with the binding brackets stripped: `[disabled]` → `disabled`. */
27
+ const attrName = (attr) => attr.name.replace(/[[\]()]/g, '');
28
+ const hasAttr = (node, name) => !!node.attrs?.some((attr) => attrName(attr) === name);
29
+ /**
30
+ * Node kinds are told apart by the field each one carries, not by the start span: a block (`@if`, `@for`)
31
+ * has a name and a start span just like an element does, and would otherwise be mistaken for one.
32
+ */
33
+ const isElement = (node) => Array.isArray(node.attrs);
34
+ const isBlock = (node) => !isElement(node) && Array.isArray(node.children);
35
+ const isText = (node) => !isElement(node) && Array.isArray(node.tokens);
36
+ /** A node that projects nothing: a comment, or text that is only the template's own indentation. */
37
+ const isInsignificant = (node) => {
38
+ if (isElement(node) || isBlock(node))
39
+ return false;
40
+ // a comment has a `value` but no tokens, unlike a text node
41
+ return isText(node) ? (node.value ?? '').trim() === '' : typeof node.value === 'string';
42
+ };
43
+ const isIcon = (node) => isElement(node) && migrations_buttonTruncation_data.ICON_ATTRS.some((name) => hasAttr(node, name));
44
+ const isButtonHost = (node) => isElement(node) && (hasAttr(node, migrations_buttonTruncation_data.BUTTON_ATTR) || node.name === migrations_buttonTruncation_data.TOGGLE_ELEMENT);
45
+ /**
46
+ * The nodes a button actually projects, with a single-element block unwrapped to the element it renders.
47
+ *
48
+ * `@if (showIcon()) { <i kbq-icon></i> }` is the ordinary way to make an icon conditional, and the block's
49
+ * position among the children still tells which side of the label it is on — so it can be marked. A block
50
+ * holding more than one element cannot: which of them ends up at the edge is a runtime question.
51
+ */
52
+ function projectedNodes(host) {
53
+ const nodes = [];
54
+ let ambiguous = false;
55
+ for (const child of host.children ?? []) {
56
+ if (isInsignificant(child))
57
+ continue;
58
+ if (isBlock(child)) {
59
+ const inner = (child.children ?? []).filter((node) => !isInsignificant(node));
60
+ if (inner.length === 1 && isElement(inner[0])) {
61
+ nodes.push(inner[0]);
62
+ }
63
+ else if (inner.length > 0) {
64
+ nodes.push(child);
65
+ ambiguous = true;
66
+ }
67
+ continue;
68
+ }
69
+ nodes.push(child);
70
+ }
71
+ return { nodes, ambiguous };
72
+ }
73
+ /** Offset just after the tag name, i.e. where a new attribute is inserted. */
74
+ function attributeInsertOffset(element) {
75
+ const firstAttr = element.attrs?.find((attr) => attr.keySpan?.start.offset !== undefined);
76
+ if (firstAttr)
77
+ return firstAttr.keySpan.start.offset;
78
+ const start = element.startSourceSpan?.start.offset;
79
+ return start === undefined ? undefined : start + 1 + (element.name?.length ?? 0);
80
+ }
81
+ /** Collects every button host in a template, blocks included. */
82
+ class ButtonHostCollector {
83
+ constructor() {
84
+ this.hosts = [];
85
+ }
86
+ visitElement(el) {
87
+ if (isButtonHost(el))
88
+ this.hosts.push(el);
89
+ this.visitChildren(el);
90
+ }
91
+ visitChildren(el) {
92
+ for (const child of el.children ?? []) {
93
+ child.visit(this);
94
+ }
95
+ }
96
+ visitBlock(block) {
97
+ this.visitChildren(block);
98
+ }
99
+ visitAttribute() { }
100
+ visitText() { }
101
+ visitComment() { }
102
+ visitExpansion() { }
103
+ visitExpansionCase() { }
104
+ visitBlockParameter() { }
105
+ visitLetDeclaration() { }
106
+ }
107
+ /**
108
+ * Marks the outermost icons of every button in a template with the slot they belong to.
109
+ *
110
+ * Only an icon that sits next to a label is marked: a button whose whole content is icons has nothing to
111
+ * truncate, and the markers would only add noise.
112
+ */
113
+ async function migrateTemplate(template) {
114
+ if (!template.includes(migrations_buttonTruncation_data.BUTTON_ATTR) && !template.includes(migrations_buttonTruncation_data.TOGGLE_ELEMENT)) {
115
+ return { content: template, changed: false, manual: false };
116
+ }
117
+ const parsed = await utils_typescript.parseTemplate(template);
118
+ if (!parsed.tree)
119
+ return { content: template, changed: false, manual: false };
120
+ const collector = new ButtonHostCollector();
121
+ utils_ast.visitAll(collector, parsed.tree.rootNodes);
122
+ const edits = [];
123
+ let manual = false;
124
+ for (const host of collector.hosts) {
125
+ const { nodes, ambiguous } = projectedNodes(host);
126
+ manual ||= ambiguous;
127
+ // nothing beside the icons, so nothing to keep them out of
128
+ if (nodes.length < 2 || nodes.every(isIcon))
129
+ continue;
130
+ for (const [node, marker] of [
131
+ [nodes[0], migrations_buttonTruncation_data.PREFIX_ATTR],
132
+ [nodes[nodes.length - 1], migrations_buttonTruncation_data.SUFFIX_ATTR]
133
+ ]) {
134
+ if (!isIcon(node) || hasAttr(node, migrations_buttonTruncation_data.PREFIX_ATTR) || hasAttr(node, migrations_buttonTruncation_data.SUFFIX_ATTR))
135
+ continue;
136
+ const offset = attributeInsertOffset(node);
137
+ if (offset === undefined)
138
+ continue;
139
+ edits.push({ start: offset, end: offset, text: `${marker} ` });
140
+ }
141
+ }
142
+ return { content: applyEdits(template, edits), changed: edits.length > 0, manual };
143
+ }
144
+ /** Interior `[start, end]` ranges of inline `@Component({ template: '…' })` string literals. */
145
+ function collectInlineTemplateRanges(sourceFile) {
146
+ const ranges = [];
147
+ utils_typescript.forEachClass(sourceFile, (node) => {
148
+ const decorator = ts
149
+ .getDecorators(node)
150
+ ?.find((dec) => ts.isCallExpression(dec.expression) &&
151
+ ts.isIdentifier(dec.expression.expression) &&
152
+ dec.expression.expression.text === 'Component');
153
+ if (!decorator || !ts.isCallExpression(decorator.expression))
154
+ return;
155
+ const [arg] = decorator.expression.arguments;
156
+ if (!arg || !ts.isObjectLiteralExpression(arg))
157
+ return;
158
+ for (const prop of arg.properties) {
159
+ if (ts.isPropertyAssignment(prop) &&
160
+ (ts.isIdentifier(prop.name) || ts.isStringLiteralLike(prop.name)) &&
161
+ prop.name.text === 'template' &&
162
+ ts.isStringLiteralLike(prop.initializer) &&
163
+ prop.initializer.text) {
164
+ // +1 / -1 to exclude the opening/closing quote characters.
165
+ ranges.push({ start: prop.initializer.getStart(sourceFile) + 1, end: prop.initializer.getEnd() - 1 });
166
+ }
167
+ }
168
+ });
169
+ return ranges;
170
+ }
171
+ async function migrateInlineTemplates(content, fileName) {
172
+ const sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
173
+ const ranges = collectInlineTemplateRanges(sourceFile).sort((a, b) => b.start - a.start);
174
+ let result = content;
175
+ let manual = false;
176
+ for (const { start, end } of ranges) {
177
+ const migrated = await migrateTemplate(result.slice(start, end));
178
+ manual ||= migrated.manual;
179
+ if (migrated.changed) {
180
+ result = result.slice(0, start) + migrated.content + result.slice(end);
181
+ }
182
+ }
183
+ return { content: result, manual };
184
+ }
185
+ /** Reports stylesheet overrides that the layout change affects. Never rewrites them. */
186
+ function warnStyles(context, filePath, content) {
187
+ let found = false;
188
+ for (const { selector, pattern, message } of migrations_buttonTruncation_data.stylePatterns) {
189
+ if (new RegExp(pattern).test(content)) {
190
+ found = true;
191
+ utils_messages.logMessage(context.logger, [`[button-truncation] ${filePath} overrides ${selector}`, ` ${message}`]);
192
+ }
193
+ }
194
+ return found;
195
+ }
196
+ function buttonTruncation(options) {
197
+ return async (tree, context) => {
198
+ const { project } = options;
199
+ // `ng update` invokes migrations with no options at all, and migrations.json declares no schema, so the
200
+ // schema default never reaches us — applying the fix is the intended behaviour there.
201
+ const fix = options.fix ?? true;
202
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
203
+ const root = projectDefinition?.root ?? '';
204
+ const rootDir = root ? tree.getDir(root) : tree.root;
205
+ const tsPaths = [];
206
+ const htmlPaths = [];
207
+ const stylePaths = [];
208
+ utils_projectFiles.visitProjectFiles(rootDir, (filePath) => {
209
+ if (filePath.endsWith(TS_EXT))
210
+ tsPaths.push(filePath);
211
+ else if (filePath.endsWith(HTML_EXT))
212
+ htmlPaths.push(filePath);
213
+ else if (STYLE_EXTS.some((ext) => filePath.endsWith(ext)))
214
+ stylePaths.push(filePath);
215
+ });
216
+ let touched = 0;
217
+ let manual = false;
218
+ let styleFindings = 0;
219
+ const commit = (filePath, original, updated) => {
220
+ if (updated === original)
221
+ return;
222
+ touched++;
223
+ if (fix) {
224
+ tree.overwrite(filePath, updated);
225
+ }
226
+ else {
227
+ utils_messages.logMessage(context.logger, [
228
+ `[button-truncation] would update ${filePath} (run with --fix to apply)`
229
+ ]);
230
+ }
231
+ };
232
+ for (const filePath of tsPaths) {
233
+ const original = tree.read(filePath)?.toString();
234
+ if (!original)
235
+ continue;
236
+ const migrated = await migrateInlineTemplates(original, filePath);
237
+ manual ||= migrated.manual;
238
+ // a `styles: [...]` block lives in the same file, so stylesheets are looked for here too
239
+ if (warnStyles(context, filePath, original))
240
+ styleFindings++;
241
+ commit(filePath, original, migrated.content);
242
+ }
243
+ for (const filePath of htmlPaths) {
244
+ const original = tree.read(filePath)?.toString();
245
+ if (!original)
246
+ continue;
247
+ const migrated = await migrateTemplate(original);
248
+ manual ||= migrated.manual;
249
+ if (migrated.changed)
250
+ commit(filePath, original, migrated.content);
251
+ }
252
+ for (const filePath of stylePaths) {
253
+ const original = tree.read(filePath)?.toString();
254
+ if (!original)
255
+ continue;
256
+ if (warnStyles(context, filePath, original))
257
+ styleFindings++;
258
+ }
259
+ if (manual)
260
+ utils_messages.logMessage(context.logger, [`[button-truncation] ${migrations_buttonTruncation_data.MANUAL_TEMPLATE_NOTE}`]);
261
+ utils_messages.logMessage(context.logger, migrations_buttonTruncation_data.MAX_WIDTH_NOTE.map((line) => `[button-truncation] ${line}`));
262
+ utils_messages.logMessage(context.logger, [
263
+ `[button-truncation] processed tree under "${root || '<workspace root>'}", ` +
264
+ `${fix ? 'updated' : 'would update'} ${touched} file(s), ` +
265
+ `${styleFindings} stylesheet(s) need a manual review.`
266
+ ]);
267
+ };
268
+ }
269
+
270
+ exports.default = buttonTruncation;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-button-truncation",
4
+ "title": "Koobiq components button truncation 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, moves edge icons into the kbqButtonPrefix/kbqButtonSuffix slots. When false, prints what would change without writing. Stylesheet findings are always reported, never rewritten."
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,76 @@
1
+ # checkbox-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
4
+ `21.0.0-0`). Migrates `KbqCheckbox` consumers to its signal-based one-way inputs and reports the
5
+ members the review closed.
6
+
7
+ ## Background
8
+
9
+ `id` and `clickAction` were the two inputs the automated signal migration skipped, because
10
+ application code writes to them. Both are `input()` now, and `id` is generated by the CDK
11
+ `_IdGenerator` instead of a module-level counter.
12
+
13
+ ## What stays an accessor input
14
+
15
+ `checked`, `disabled`, `indeterminate` and `tabIndex` are two-way state: the component writes them on
16
+ click and the `ControlValueAccessor` writes them through the `KbqCheckable` host directive. A
17
+ `model()` cannot carry the `booleanAttribute` / `numberAttribute` transform they need, so they stay
18
+ accessor inputs over `KbqCheckable`'s signals — the shape the reviewed `KbqButtonToggle` settled on.
19
+ **Reads and writes of those four are unchanged in TypeScript**, and the schematic does not touch them.
20
+ A template binding is coerced now, though: `booleanAttribute` maps `0`, `''` and `NaN` to `true`, and
21
+ the accepted template type widens to `unknown`, so `[checked]="items.length"` on an empty list reads as
22
+ checked and a binding that used to fail `strictTemplates` is accepted.
23
+
24
+ ## What it rewrites
25
+
26
+ | Before | After |
27
+ | ------------------------ | -------------------------- |
28
+ | `checkbox.id` | `checkbox.id()` |
29
+ | `checkbox.clickAction` | `checkbox.clickAction()` |
30
+ | `checkbox.big` | `checkbox.big()` |
31
+ | `checkbox.required` | `checkbox.required()` |
32
+ | `checkbox.value` | `checkbox.value()` |
33
+ | `checkbox.name` | `checkbox.name()` |
34
+ | `checkbox.labelPosition` | `checkbox.labelPosition()` |
35
+
36
+ Both on receivers explicitly typed `KbqCheckbox` and through template reference variables on
37
+ `<kbq-checkbox>`, in external and inline templates. Already-migrated reads are left alone, so the
38
+ schematic is idempotent.
39
+
40
+ ## What it does _not_ do
41
+
42
+ | Pattern | Manual migration |
43
+ | -------------------------------------------------------------- | ---------------------------------------------------------- |
44
+ | `checkbox.id = …` / `checkbox.clickAction = …` | Bind `[id]` / `[clickAction]` — the inputs are read-only |
45
+ | `.inputId` / `.inputElement` / `.getAriaChecked` | Now `protected`; use `focus()` and `toggle()` |
46
+ | `.onInputClick` / `.onInteractionEvent` / `.onLabelTextChange` | Now `protected` template handlers |
47
+ | `viewChild(KbqCheckbox)` | The query returns the instance, so a read is a double call |
48
+
49
+ `[clickAction]="undefined"` explicitly **overrides** `KBQ_CHECKBOX_CLICK_ACTION` rather than falling
50
+ back to it — leave the input unbound to use the token. That was true of the decorator input too, but
51
+ it is easy to reach for when converting a field write into a binding.
52
+
53
+ ## Notes with no call site to point at
54
+
55
+ - **Generated ids come from the CDK `_IdGenerator`.** The shape is unchanged for a default `APP_ID` -
56
+ the CDK omits the app id unless it was overridden - but the counter is 0-based and shared per prefix,
57
+ so the first checkbox is `kbq-checkbox-0` where it used to be `kbq-checkbox-1`. An assertion on an
58
+ exact id needs updating; one matching the shape does not.
59
+ - **`<kbq-checkbox [id]="null">` falls back to the generated id on the host too.** It used to leave
60
+ the host without an id while the hidden input still pointed its `for` at the generated one.
61
+ - **`checked`, `big` and `indeterminate` are `booleanAttribute` inputs.** `<kbq-checkbox checked>`
62
+ used to pass the empty string, which is falsy, so the valueless attribute did nothing.
63
+ - **`required` defaults to `false`** instead of `undefined` behind a `boolean` type, and **`value`
64
+ reports `string | undefined`** instead of `string` over an `undefined!` default.
65
+
66
+ - **An enabled `<kbq-checkbox>` no longer carries `disabled="false"` on its host.** The host binding
67
+ rendered the boolean verbatim, so every enabled checkbox shipped the attribute — enough for a
68
+ consumer stylesheet or test selector written as `kbq-checkbox[disabled]` to match all of them.
69
+
70
+ ## Running it manually
71
+
72
+ ```
73
+ ng generate @koobiq/components:checkbox-signals --project my-app
74
+ ```
75
+
76
+ Pass `--fix=false` to see what it would change without writing.
@@ -0,0 +1,114 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `checkbox-signals` migration.
5
+ *
6
+ * The one-way inputs became signals; `id` and `clickAction` are the two the automated migration skipped,
7
+ * because application code writes to them.
8
+ *
9
+ * - `checkbox.id` / `clickAction` / `big` / `required` / `value` / `name` / `labelPosition` → calls (auto-fixed)
10
+ * - the template plumbing (`inputId`, `inputElement`, `getAriaChecked`, the click handlers) → `protected` (warn)
11
+ *
12
+ * `checked`, `disabled`, `indeterminate` and `tabIndex` stay accessor inputs over the signals of the
13
+ * `KbqCheckable` host directive: they are two-way state that the component and the `ControlValueAccessor`
14
+ * both write, and a `model()` cannot carry the `booleanAttribute` / `numberAttribute` transform they need.
15
+ * That is the shape the reviewed `KbqButtonToggle` settled on. Reads and writes of those four are unchanged.
16
+ */
17
+ /** Members of `KbqCheckbox` whose value is unchanged; a read must become a call. Auto-fixed. */
18
+ const SIGNAL_MEMBERS = [
19
+ 'id',
20
+ 'clickAction',
21
+ 'big',
22
+ 'required',
23
+ 'value',
24
+ 'name',
25
+ 'labelPosition'
26
+ ];
27
+ /** Signal-API methods reachable on a signal; a read followed by one is already migrated. */
28
+ const SIGNAL_API_METHODS = new Set(['set', 'update', 'asReadonly', 'subscribe']);
29
+ /** `exportAs` name a template reference has to carry to be the checkbox rather than some other directive. */
30
+ const CHECKBOX_EXPORT_AS = 'kbqCheckbox';
31
+ /** TypeScript type annotation that marks a receiver as a checkbox. */
32
+ const CHECKBOX_TYPE = 'KbqCheckbox';
33
+ /** Element selector whose template reference variables (`#ref`) point at a checkbox. */
34
+ const CHECKBOX_ELEMENT = 'kbq-checkbox';
35
+ /** Import specifier that marks a file as a checkbox consumer. */
36
+ const CHECKBOX_PACKAGE = '@koobiq/components/checkbox';
37
+ /** Members that moved out of the public surface and can no longer be reached from outside the component. */
38
+ const PROTECTED_MEMBERS = [
39
+ 'inputId',
40
+ 'inputElement',
41
+ 'getAriaChecked',
42
+ 'onInputClick',
43
+ 'onInteractionEvent',
44
+ 'onLabelTextChange'
45
+ ];
46
+ /**
47
+ * Reported for a programmatic write. Emitted from the AST pass rather than a regex: the old pattern was
48
+ * anchored only on `KbqCheckbox` appearing somewhere in the file, so `el.id = 'x'` on an `HTMLElement`
49
+ * warned, and a genuine write at the very end of a file did not.
50
+ */
51
+ const writeMessage = (members) => `These are read-only signal inputs now, so a programmatic write no longer compiles: ` +
52
+ `${[...members].join(', ')}. Bind them in the template instead. Note that binding ` +
53
+ '`[clickAction]="undefined"` explicitly overrides the KBQ_CHECKBOX_CLICK_ACTION token rather than ' +
54
+ 'falling back to it - leave the input unbound to use the token.';
55
+ /**
56
+ * Reported for a read through a signal query, which is a signal holding the component: the read needs two
57
+ * calls rather than one. Emitted from the AST pass, so the decorator form - which the rewrite handles
58
+ * correctly on its own - is never told it needs two calls.
59
+ *
60
+ * `viewChild()` without `.required` is typed `Signal<KbqCheckbox | undefined>`, so the safe spelling
61
+ * differs between the two forms.
62
+ */
63
+ const signalQueryMessage = (member, required) => `A signal query holds the component behind a call of its own, so reading \`${member}\` through it needs ` +
64
+ `two calls: \`this.checkbox()${required ? '' : '?'}.${member}()\`.` +
65
+ (required ? '' : ' The query is optional, so keep the `?.`.') +
66
+ ' Those reads are left untouched - migrate them by hand.';
67
+ /** Reported when a template renders the checkbox but cannot be parsed, so nothing in it was inspected. */
68
+ const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders <kbq-checkbox> but could not be parsed, so it was left untouched. Migrate reads ' +
69
+ 'through its template reference variables by hand.';
70
+ /**
71
+ * Reported when a file names `KbqCheckbox` in a type position the receiver pass cannot scope to a single
72
+ * identifier - a union, an array, a `QueryList<…>`, a cast, a return type - or reads a member in a shape
73
+ * the access pass cannot reach.
74
+ */
75
+ const UNRESOLVED_RECEIVER_MESSAGE = 'KbqCheckbox is used here in a way this migration cannot resolve to a single receiver, so any signal ' +
76
+ 'read through it was left untouched. Check these lines by hand:';
77
+ /** Reported for the members that left the public surface, in both the TypeScript and the template pass. */
78
+ const protectedMessage = (members) => `These KbqCheckbox members are \`protected\` now and can't be read from outside the component: ` +
79
+ `${[...members].join(', ')}. They are the wiring between the label, the visually hidden native input ` +
80
+ 'and the click algorithm. Use `focus()` and `toggle()`, or drive the checkbox through its inputs.';
81
+ /** Printed once per project, after the per-file reports. */
82
+ const SUMMARY = [
83
+ ' Generated ids come from the CDK `_IdGenerator`. The shape is unchanged for a default `APP_ID` - the ' +
84
+ 'CDK omits the app id unless it was overridden - but the counter is 0-based and shared per prefix, ' +
85
+ 'so the first checkbox is `kbq-checkbox-0` where it used to be `kbq-checkbox-1`. An assertion on an ' +
86
+ 'exact id needs updating; one matching the shape does not.',
87
+ ' `<kbq-checkbox [id]="null">` now falls back to the generated id on the host as well. It used to leave ' +
88
+ 'the host without an id while the hidden input still pointed its `for` at the generated one.',
89
+ ' `checked`, `big` and `indeterminate` are `booleanAttribute` inputs, and `required` defaults to `false` ' +
90
+ 'instead of `undefined` behind a `boolean` type. `<kbq-checkbox checked>` used to pass the empty ' +
91
+ 'string, which is falsy, so the valueless attribute did nothing; it checks the box now. The same ' +
92
+ 'coercion runs on a bound value, so `[checked]="items.length"` with an empty list, `[checked]="0"` ' +
93
+ 'and `NaN` now read as true - and the template type is `unknown`, so a binding that used to be a ' +
94
+ 'compile error under strictTemplates is accepted and reads as true.',
95
+ ' `value` reports `string | undefined` instead of `string`. It was declared non-nullable over an ' +
96
+ '`undefined!` default, so an unbound checkbox always handed back `undefined`.',
97
+ ' An enabled <kbq-checkbox> no longer carries `disabled="false"` on its host. The host binding ' +
98
+ 'rendered the boolean verbatim, so every enabled checkbox shipped the attribute — enough for a ' +
99
+ 'consumer stylesheet or test selector written as `kbq-checkbox[disabled]` to match all of them.'
100
+ ];
101
+
102
+ exports.CHECKBOX_ELEMENT = CHECKBOX_ELEMENT;
103
+ exports.CHECKBOX_EXPORT_AS = CHECKBOX_EXPORT_AS;
104
+ exports.CHECKBOX_PACKAGE = CHECKBOX_PACKAGE;
105
+ exports.CHECKBOX_TYPE = CHECKBOX_TYPE;
106
+ exports.PROTECTED_MEMBERS = PROTECTED_MEMBERS;
107
+ exports.SIGNAL_API_METHODS = SIGNAL_API_METHODS;
108
+ exports.SIGNAL_MEMBERS = SIGNAL_MEMBERS;
109
+ exports.SUMMARY = SUMMARY;
110
+ exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
111
+ exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
112
+ exports.protectedMessage = protectedMessage;
113
+ exports.signalQueryMessage = signalQueryMessage;
114
+ exports.writeMessage = writeMessage;