@koobiq/components 20.4.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +486 -165
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -187
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-progress-spinner-signals",
4
+ "title": "Koobiq components progress spinner 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
+ }
@@ -0,0 +1,32 @@
1
+ # query-list-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for `21.0.0-0`).
4
+ Reports subclasses that redeclare the query members turned into getters, and writes to those members. It never writes
5
+ to the tree.
6
+
7
+ ## Background
8
+
9
+ The remaining decorator queries are signal queries. The members over them are getters that keep their types, so a
10
+ read and a subscription to `changes` work as before. Before the content is initialized a `QueryList` is empty rather
11
+ than `undefined`.
12
+
13
+ | Member | Type |
14
+ | ------------------------------------------------------------------------------------------------------- | ------------ |
15
+ | `options` of `KbqSelect`, `KbqAutocomplete` and `KbqListSelection` | `QueryList` |
16
+ | `tags` of `KbqSelect`, `KbqTreeSelect` (protected) and `KbqTagList` | `QueryList` |
17
+ | `KbqRadioGroup.radios`, `KbqTreeSelection.unorderedOptions` | `QueryList` |
18
+ | `focusableItems` of `KbqNavbar` and `KbqVerticalNavbar`, `KbqAppSwitcherComponent.allItems` (protected) | `QueryList` |
19
+ | `textElement` of `KbqTag` and `KbqDropdownItem` | `ElementRef` |
20
+ | `KbqCodeBlock.tabLinkTemplate` (protected) | Signal |
21
+
22
+ | Use | What to do |
23
+ | ------------------------------------- | ------------------------------------------------ |
24
+ | A subclass that redeclared the member | Remove the redeclaration, or override the getter |
25
+ | A write to the member | Render the items in the template instead |
26
+ | A subclass reading `tabLinkTemplate` | Call it: `this.tabLinkTemplate()` |
27
+
28
+ ## Running it manually
29
+
30
+ ```bash
31
+ ng g @koobiq/components:query-list-signals --project "<your project>"
32
+ ```
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `query-list-signals` migration.
5
+ *
6
+ * The remaining decorator queries are signal queries now. The public members over them are getters that keep their
7
+ * types — a `QueryList` whose `changes` emit as before, or an `ElementRef` — so reads are unchanged. A subclass that
8
+ * redeclares one of them, and a write to one, no longer compile. `KbqCodeBlock.tabLinkTemplate`, which is protected,
9
+ * is a signal. Warn-only.
10
+ */
11
+ const OWNERS = [
12
+ 'KbqSelect',
13
+ 'KbqTimezoneSelect',
14
+ 'KbqTreeSelect',
15
+ 'KbqAutocomplete',
16
+ 'KbqListSelection',
17
+ 'KbqFocusableComponent',
18
+ 'KbqNavbar',
19
+ 'KbqVerticalNavbar',
20
+ 'KbqRadioGroup',
21
+ 'KbqTagList',
22
+ 'KbqTag',
23
+ 'KbqDropdownItem',
24
+ 'KbqTreeSelection',
25
+ 'KbqAppSwitcherComponent',
26
+ 'KbqCodeBlock'
27
+ ].join('|');
28
+ const MEMBERS = [
29
+ 'options',
30
+ 'tags',
31
+ 'focusableItems',
32
+ 'radios',
33
+ 'unorderedOptions',
34
+ 'allItems',
35
+ 'textElement',
36
+ 'tabLinkTemplate'
37
+ ].join('|');
38
+ const SUBCLASS = `\\bextends\\s+(?:${OWNERS})\\b`;
39
+ const warnPatterns = [
40
+ {
41
+ anchor: SUBCLASS,
42
+ pattern: `@(?:ViewChild|ViewChildren|ContentChild|ContentChildren)\\s*\\(|\\b(?:override|declare)\\s+(?:readonly\\s+)?(?:${MEMBERS})\\s*[!?]?\\s*:`,
43
+ message: 'A subclass of a Koobiq component whose query members are getters over signal queries now: options of ' +
44
+ 'KbqSelect, KbqAutocomplete and KbqListSelection, tags of KbqSelect, KbqTreeSelect and KbqTagList, ' +
45
+ 'focusableItems of KbqNavbar and KbqVerticalNavbar, KbqRadioGroup.radios, ' +
46
+ 'KbqTreeSelection.unorderedOptions, KbqAppSwitcherComponent.allItems and textElement of KbqTag and ' +
47
+ 'KbqDropdownItem. A subclass can no longer redeclare them as fields: remove the redeclaration, or override ' +
48
+ 'the getter. This pattern also matches a query of the subclass itself — check before changing it.'
49
+ },
50
+ {
51
+ anchor: `\\b(?:${OWNERS})\\b`,
52
+ pattern: '\\.\\s*(?:options|tags|focusableItems|radios|unorderedOptions|textElement)\\s*=[^=]',
53
+ message: 'The query members of KbqSelect, KbqAutocomplete, KbqListSelection, the navbar, ' +
54
+ 'KbqRadioGroup, KbqTagList, KbqTag, KbqDropdownItem and KbqTreeSelection are read-only getters now, so a ' +
55
+ 'write no longer compiles. Render the items in the template instead. This pattern also matches a write ' +
56
+ 'to an unrelated object in the same file — check before changing it.'
57
+ },
58
+ {
59
+ anchor: '\\bextends\\s+KbqCodeBlock\\b',
60
+ pattern: '\\btabLinkTemplate\\b(?!\\s*\\()',
61
+ message: 'KbqCodeBlock.tabLinkTemplate is a protected signal now: a subclass reads it as this.tabLinkTemplate().'
62
+ }
63
+ ];
64
+ const SUMMARY = [
65
+ 'Reading these members and subscribing to the changes of a QueryList work as before. Before the content is',
66
+ 'initialized a QueryList is empty rather than undefined.'
67
+ ];
68
+
69
+ exports.SUMMARY = SUMMARY;
70
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var warnOnlyMigration = require('../../warn-only-migration-BISJBODk.js');
6
+ var migrations_queryListSignals_data = require('./data.js');
7
+ require('../../utils/messages.js');
8
+ require('../../package-config-BhU2TfC8.js');
9
+ require('@angular-devkit/schematics');
10
+ require('@schematics/angular/utility');
11
+
12
+ /** Reports subclasses that redeclare the query members now behind getters, and writes to them. Never writes. */
13
+ function queryListSignals(options) {
14
+ return warnOnlyMigration.warnOnlyRule({ label: '[query-list-signals]', warnPatterns: migrations_queryListSignals_data.warnPatterns, summary: migrations_queryListSignals_data.SUMMARY }, options);
15
+ }
16
+
17
+ exports.default = queryListSignals;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-query-list-signals",
4
+ "title": "Koobiq components query list signals migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,82 @@
1
+ # radio-signals-and-aria
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@20`
4
+ (registered for `21.0.0-0`). Moves the radio's one-way inputs to the signal API and reports what has
5
+ no mechanical translation.
6
+
7
+ ## Background
8
+
9
+ `name` is the load-bearing contract in the radio: the app-global `UniqueSelectionDispatcher` fans a
10
+ notification out to every listener in the application, and the name comparison inside each listener is
11
+ the only isolation there is. A button used outside a group never assigned one, so `undefined ===
12
+ undefined` made every group-less radio in the application one selection group — checking one
13
+ un-checked the others, in unrelated routes, overlays and dialogs. In the other direction, `ngOnInit`
14
+ overwrote an explicitly bound `[name]` with the group's, so the documented input did nothing.
15
+
16
+ ## What it rewrites
17
+
18
+ A read of one of these becomes a call. The rewrite is **scoped by receiver type**, which matters here
19
+ more than in any other component of the campaign: `name`, `labelPosition` and `required` exist on both
20
+ classes, and only the group's became signals.
21
+
22
+ | Type | Members |
23
+ | ---------------- | ----------------------------------- |
24
+ | `KbqRadioGroup` | `name`, `labelPosition`, `required` |
25
+ | `KbqRadioButton` | `id`, `inputId` |
26
+
27
+ So `group.required` becomes `group.required()`, while `button.required` is left exactly as it was.
28
+
29
+ ## What stays an accessor input, and why
30
+
31
+ | Member | Why |
32
+ | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
+ | `KbqRadioGroup.value` | `writeValue` writes it, and has to resolve the checked button synchronously before the first render; a `model()` would also publish a `valueChange` output duplicating `change` |
34
+ | `KbqRadioGroup.selected` | the buttons write their selection back onto the group |
35
+ | `KbqRadioGroup.disabled` | `setDisabledState` writes it, and it coerces with `booleanAttribute` — a `model()` carries no `transform` |
36
+ | `KbqRadioButton.checked` | two-way state the component and the form both write, with a `booleanAttribute` transform |
37
+ | `KbqRadioButton.value` | writing it re-resolves the checked state against the group |
38
+ | `disabled`, `required`, `labelPosition`, `name`, `tabIndex` on the button | each folds in the group's value — a button inside a disabled group is disabled — so the read is derived, not stored |
39
+
40
+ Reads and writes of those are unchanged.
41
+
42
+ ## What it only reports
43
+
44
+ | Pattern | Manual migration |
45
+ | --------------------------------- | --------------------------------------------------------------------------------------------------------------- |
46
+ | `[isFocused]` / `.isFocused` | Read the `cdk-*-focused` classes, or call `focus(origin)` |
47
+ | `.radioGroup` | Guard the access — the button may not be in a group |
48
+ | `.id = …` | Bind `[id]` instead; `id` is read-only now |
49
+ | `--kbq-radio-size-*-top` | Delete the override; no rule read it |
50
+ | `hostDirectives: [KbqRadioGroup]` | Render a `<kbq-radio-group>` element; a component cannot be a host directive |
51
+ | `extends KbqRadioGroup` | Decorate the subclass with `@Component` and repeat `<ng-content />` and the `kbq-error` slot, or wrap the group |
52
+
53
+ `KbqRadioButton.isFocused` was removed outright: a published input that nothing read. `radioGroup` is
54
+ typed `KbqRadioGroup | null` — it was always injected with `{ optional: true }` and the non-null
55
+ assertion only hid it.
56
+
57
+ ## Notes with no call site to point at
58
+
59
+ - Two `<kbq-radio-button>`s used outside a group are independent now. Markup that relied on the old
60
+ mutual exclusion has to say so: put them in a group, or give them the same explicit `[name]`.
61
+ - `[name]` on a button inside a group is honoured, so a button bound to its own name forms its own
62
+ selection group instead of silently inheriting the group's.
63
+ - `<kbq-radio-group>` is a `radiogroup`, which takes no name from its content. Name it with a plain
64
+ `aria-label` / `aria-labelledby` attribute on the element — a detached label sibling leaves the
65
+ group unnamed for assistive technology.
66
+ - A `kbq-hint` projected into a button is exposed through `aria-describedby` instead of being folded
67
+ into the button's accessible name.
68
+ - `KbqRadioGroup` is a component: a `kbq-error` put inside it is rendered under the options only
69
+ while the group is in the error state, and the group references it from its `aria-describedby`.
70
+ - `[color]` on the group colors every button in it, `[required]` reaches the group as
71
+ `aria-required`, and an error color as `aria-invalid`.
72
+ - The native input carries its option value, so a group inside a plain `<form>` submits that value
73
+ instead of the literal `"on"`. Only string-like values round-trip, and a group meant for native
74
+ submission still needs an explicit `[name]`.
75
+
76
+ ## Running it manually
77
+
78
+ ```
79
+ ng generate @koobiq/components:radio-signals-and-aria --project my-app
80
+ ```
81
+
82
+ Pass `--fix=false` to see what would change without writing.
@@ -0,0 +1,163 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `radio-signals-and-aria` migration.
5
+ *
6
+ * The review closed the `name` contract, gave the group something to say about itself, and moved the
7
+ * one-way inputs to the signal API.
8
+ *
9
+ * Only the members listed in `MEMBERS_BY_TYPE` became signals, and the split matters: `name`,
10
+ * `labelPosition` and `required` exist on **both** `KbqRadioGroup` and `KbqRadioButton`, and only the
11
+ * group's are signals. The button's stay accessors, because each folds in the group's value — a button
12
+ * inside a disabled group is disabled, one inside a required group is required. That is why the rewrite
13
+ * is scoped by receiver type rather than by member name: `group.required` becomes `group.required()`,
14
+ * `button.required` is left alone.
15
+ *
16
+ * `value`, `selected` and `disabled` on the group stay accessor inputs. `writeValue` and
17
+ * `setDisabledState` write them from outside the template, `disabled` coerces with `booleanAttribute`
18
+ * and a `model()` carries no `transform`, and `writeValue` has to resolve the checked button
19
+ * synchronously before the first render. Reads and writes of those three are unchanged.
20
+ *
21
+ * Nothing here is writable: every migrated member is a read-only `input()` or a `computed()`, so a
22
+ * programmatic write has no mechanical translation and is reported instead.
23
+ */
24
+ /** Identifier shape that marks a file as a radio consumer without an import. */
25
+ const RADIO_ANCHOR = '\\bKbqRadio\\w*\\b|\\bkbq-radio\\b';
26
+ /** Import specifier that marks a file as a radio consumer. */
27
+ const RADIO_PACKAGE = '@koobiq/components/radio';
28
+ /** Which members each type owns. A receiver resolves to one type, so the rewrite is scoped by it. */
29
+ const MEMBERS_BY_TYPE = {
30
+ KbqRadioGroup: ['name', 'labelPosition', 'required'],
31
+ KbqRadioButton: ['id', 'inputId']
32
+ };
33
+ /** `exportAs` names a template reference can be bound to. */
34
+ const EXPORT_AS_TO_TYPE = {
35
+ kbqRadioGroup: 'KbqRadioGroup',
36
+ kbqRadioButton: 'KbqRadioButton'
37
+ };
38
+ /** Element selectors whose bare `#ref` points at one of the migrated types. */
39
+ const ELEMENT_TO_TYPE = {
40
+ 'kbq-radio-group': 'KbqRadioGroup',
41
+ 'kbq-radio-button': 'KbqRadioButton'
42
+ };
43
+ /** None: every migrated member is a read-only `input()` or a `computed()`. */
44
+ const WRITABLE_MEMBERS = new Set();
45
+ /** The two custom properties the review removed. Also reported in stylesheets, which the engine skips. */
46
+ const REMOVED_TOKENS_PATTERN = '--kbq-radio-size-(?:big|normal)-top\\b';
47
+ const REMOVED_TOKENS_MESSAGE = 'The --kbq-radio-size-big-top and --kbq-radio-size-normal-top custom properties were removed. ' +
48
+ 'Neither was referenced by any rule in the package, so overriding them never changed anything; ' +
49
+ 'the vertical offset follows the line height through kbq-css-half-difference().';
50
+ const warnPatterns = [
51
+ {
52
+ anchor: RADIO_ANCHOR,
53
+ pattern: '\\bisFocused\\b',
54
+ message: 'KbqRadioButton.isFocused was removed. It was a published input that nothing in the component ' +
55
+ 'read — no host binding, no template reference — so binding it never had an effect. Focus state ' +
56
+ 'is carried by the FocusMonitor classes on the host (cdk-keyboard-focused / cdk-program-focused); ' +
57
+ 'read those, or call focus(origin).'
58
+ },
59
+ {
60
+ anchor: RADIO_ANCHOR,
61
+ pattern: '\\.\\s*radioGroup\\b',
62
+ message: 'KbqRadioButton.radioGroup is typed KbqRadioGroup | null. It was always injected with ' +
63
+ '{ optional: true } and the non-null assertion only hid it, so a button used outside a group ' +
64
+ 'already returned null behind a non-nullable type. Guard the access instead of asserting it. ' +
65
+ 'Note that the group members reached through it are signals now: radioGroup?.name() rather ' +
66
+ 'than radioGroup.name.'
67
+ },
68
+ {
69
+ anchor: RADIO_ANCHOR,
70
+ pattern: '\\.\\s*id\\s*=[^=]',
71
+ message: 'KbqRadioButton.id is a read-only input() now, so a programmatic write no longer compiles. Bind ' +
72
+ '[id] in the template instead. Binding it to null or an empty string keeps the generated id, so ' +
73
+ 'a read always yields the id the element actually carries. This pattern also matches a plain ' +
74
+ 'element.id assignment in a file that happens to name the radio — check before changing it.'
75
+ },
76
+ {
77
+ anchor: RADIO_ANCHOR,
78
+ pattern: REMOVED_TOKENS_PATTERN,
79
+ message: REMOVED_TOKENS_MESSAGE
80
+ },
81
+ {
82
+ anchor: RADIO_ANCHOR,
83
+ pattern: 'hostDirectives[^\\]]*\\bKbqRadioGroup\\b|\\bdirective\\s*:\\s*KbqRadioGroup\\b',
84
+ message: 'KbqRadioGroup is a component now, so it can no longer be applied through hostDirectives: a ' +
85
+ 'component cannot be a host directive. Render a <kbq-radio-group> element in the template instead.'
86
+ },
87
+ {
88
+ anchor: RADIO_ANCHOR,
89
+ pattern: '\\bextends\\s+KbqRadioGroup\\b',
90
+ message: 'KbqRadioGroup is a component now. A subclass decorated with @Directive fails at runtime with NG0903 ' +
91
+ '(directives cannot inherit components), so decorate it with @Component instead. Its template ' +
92
+ "replaces the group's, so repeat <ng-content /> in it and, to keep the validation error, the " +
93
+ 'kbq-error slot. Wrapping the group rather than extending it avoids both.'
94
+ }
95
+ ];
96
+ const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders a radio but could not be parsed, so it was left untouched. Migrate reads ' +
97
+ 'through its template reference variables by hand.';
98
+ const UNRESOLVED_RECEIVER_MESSAGE = 'A radio type is used here in a way this migration cannot resolve to a single receiver, so any ' +
99
+ 'signal read through it was left untouched. Check these lines by hand:';
100
+ const SUMMARY = [
101
+ ' KbqRadioGroup.name, .labelPosition and .required are signal inputs now, so a read is a call. A read ' +
102
+ 'left un-called is silent in a template: {{ group.name }} prints the function source, and ' +
103
+ '@if (group.required) is always true. The same three members on KbqRadioButton are unchanged — each ' +
104
+ "folds in the group's value, so they stay accessors — which is why this rewrite is scoped by type.",
105
+ ' KbqRadioButton.id and .inputId are signals too. id is read-only now: bind [id] rather than assigning ' +
106
+ 'to it, and bind null or an empty string to keep the generated one.',
107
+ ' KbqRadioGroup.value, .selected and .disabled are deliberately unchanged. ControlValueAccessor writes ' +
108
+ 'the first and last, the buttons write selected, and writeValue has to resolve the checked button ' +
109
+ 'before the first render — none of which a read-only input() or a transform-less model() supports.',
110
+ ' A <kbq-radio-button> used outside a <kbq-radio-group> is independent now. It used to resolve its ' +
111
+ 'name to undefined, and the application-global UniqueSelectionDispatcher isolates its listeners by ' +
112
+ 'name alone, so checking one un-checked every other group-less radio in the application. Markup ' +
113
+ 'that relied on that mutual exclusion has to say so: put the buttons in a group, or give them the ' +
114
+ 'same explicit [name].',
115
+ ' [name] on a <kbq-radio-button> inside a group is honoured. ngOnInit used to overwrite it with the ' +
116
+ "group's name unconditionally, so a bound name was discarded; a button bound to its own name now " +
117
+ 'forms its own selection group.',
118
+ ' <kbq-radio-group> is a radiogroup, which takes no name from its content. Name it with a plain ' +
119
+ 'aria-label / aria-labelledby attribute on the element — a detached label sibling leaves the group ' +
120
+ 'unnamed for assistive technology.',
121
+ ' A kbq-hint projected into a button is exposed through aria-describedby instead of being folded into ' +
122
+ "the button's accessible name, so an option is announced by its own text.",
123
+ ' KbqRadioGroup accepts [color]: one binding colors every button in the group, so the error palette ' +
124
+ 'no longer has to be repeated per option. The error color is also mirrored as aria-invalid, and ' +
125
+ '[required] as aria-required, on the group element.',
126
+ ' KbqRadioGroup is a component now. A kbq-error put inside the group is rendered under the options only ' +
127
+ 'while the group is in the error state, a kbq-hint put directly inside it is moved under the options ' +
128
+ 'after the error, and both are referenced from its aria-describedby. A component cannot be a host ' +
129
+ 'directive, and a @Directive cannot extend it.',
130
+ " KbqRadioButton.focus() takes a FocusOrigin and routes through the FocusMonitor, so focus('keyboard') " +
131
+ 'leaves the visible ring the theme paints off .cdk-keyboard-focused. KbqRadioGroup has a focus() of ' +
132
+ 'its own that forwards to the checked option, or to the first enabled one.',
133
+ ' The native input carries its option value now, so a group inside a plain <form> submits that value ' +
134
+ 'instead of the literal "on". Only string-like values round-trip, and a group meant for native ' +
135
+ 'submission still needs an explicit [name] — the generated one changes between application loads.'
136
+ ];
137
+ const config = {
138
+ label: '[radio-signals-and-aria]',
139
+ package: RADIO_PACKAGE,
140
+ membersByType: MEMBERS_BY_TYPE,
141
+ exportAsToType: EXPORT_AS_TO_TYPE,
142
+ elementToType: ELEMENT_TO_TYPE,
143
+ writableMembers: WRITABLE_MEMBERS,
144
+ warnPatterns,
145
+ messages: {
146
+ unparseableTemplate: UNPARSEABLE_TEMPLATE_MESSAGE,
147
+ unresolvedReceiver: UNRESOLVED_RECEIVER_MESSAGE,
148
+ summary: SUMMARY
149
+ }
150
+ };
151
+
152
+ exports.ELEMENT_TO_TYPE = ELEMENT_TO_TYPE;
153
+ exports.EXPORT_AS_TO_TYPE = EXPORT_AS_TO_TYPE;
154
+ exports.MEMBERS_BY_TYPE = MEMBERS_BY_TYPE;
155
+ exports.RADIO_PACKAGE = RADIO_PACKAGE;
156
+ exports.REMOVED_TOKENS_MESSAGE = REMOVED_TOKENS_MESSAGE;
157
+ exports.REMOVED_TOKENS_PATTERN = REMOVED_TOKENS_PATTERN;
158
+ exports.SUMMARY = SUMMARY;
159
+ exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
160
+ exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
161
+ exports.WRITABLE_MEMBERS = WRITABLE_MEMBERS;
162
+ exports.config = config;
163
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var schematics = require('@angular-devkit/schematics');
6
+ var utils_messages = require('../../utils/messages.js');
7
+ var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
8
+ var signalMembersMigration = require('../../signal-members-migration-BoAJKutT.js');
9
+ var migrations_radioSignalsAndAria_data = require('./data.js');
10
+ require('@schematics/angular/utility');
11
+ require('typescript');
12
+ require('../../utils/ast.js');
13
+ require('../../utils/typescript.js');
14
+
15
+ const STYLE_EXTENSIONS = ['.scss', '.css'];
16
+ /**
17
+ * The two removed custom properties are a stylesheet concern, and the shared engine visits only `.ts`
18
+ * and `.html`. Reports an override of either; never writes, because the declaration has no replacement.
19
+ */
20
+ function removedTokensRule(options) {
21
+ return async (tree, context) => {
22
+ const projectDefinition = await utils_packageConfig.setupOptions(options.project, tree);
23
+ const root = projectDefinition?.root ?? '';
24
+ const rootDir = root ? tree.getDir(root) : tree.root;
25
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
26
+ if (!STYLE_EXTENSIONS.some((extension) => filePath.endsWith(extension)))
27
+ return;
28
+ const content = entry?.content.toString();
29
+ if (!content || !new RegExp(migrations_radioSignalsAndAria_data.REMOVED_TOKENS_PATTERN).test(content))
30
+ return;
31
+ utils_messages.logMessage(context.logger, [`${migrations_radioSignalsAndAria_data.config.label} ${filePath}`, ` ${migrations_radioSignalsAndAria_data.REMOVED_TOKENS_MESSAGE}`]);
32
+ });
33
+ };
34
+ }
35
+ function radioSignalsAndAria(options) {
36
+ return schematics.chain([removedTokensRule(options), signalMembersMigration.signalMembersRule(migrations_radioSignalsAndAria_data.config, options)]);
37
+ }
38
+
39
+ exports.default = radioSignalsAndAria;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-radio-signals-and-aria",
4
+ "title": "Koobiq components radio signals and aria 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
+ }
@@ -0,0 +1,125 @@
1
+ # read-state-dwell-handlers
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Renames the `KbqReadStateDirective` dwell handlers and reports the two
5
+ changes a rename cannot cover.
6
+
7
+ ## Background
8
+
9
+ `KbqReadStateDirective` marks its host as read once the user has dwelled on it long enough. It used
10
+ to measure the pointer only, so its two handlers were named after the events that called them. It now
11
+ measures a keyboard dwell as well, so they are named after what they measure:
12
+
13
+ | Before | After |
14
+ | --------------------- | -------------- |
15
+ | `mouseenterHandler()` | `startDwell()` |
16
+ | `mouseleaveHandler()` | `endDwell()` |
17
+
18
+ Both new names take an optional channel argument that defaults to the pointer, so a renamed call keeps
19
+ compiling and keeps meaning exactly what it did.
20
+
21
+ ## What it does
22
+
23
+ The schematic walks every `.ts` file under the project root — the whole workspace when `--project` is
24
+ omitted, which is how `ng update` invokes it — skipping `node_modules` and `dist`, and visits only the
25
+ files that name `KbqReadStateDirective`. The directive has no selector: a consumer reaches it through
26
+ `hostDirectives` and `inject()`, so it is always named.
27
+
28
+ Within such a file the rename is applied to receivers whose static type is the directive, discovered
29
+ by explicit annotation (parameters, class fields, constructor parameter-properties, typed locals) or
30
+ by an `inject(KbqReadStateDirective, …)` / `inject<KbqReadStateDirective>(…)` initializer — the shape
31
+ a host normally writes, which usually carries no annotation. A method of the same name on an
32
+ unrelated receiver is left alone, and a call that already uses the new name is untouched, so the
33
+ migration is idempotent.
34
+
35
+ ## What it does _not_ do (manual)
36
+
37
+ | Pattern | Manual migration |
38
+ | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
39
+ | `readState.timestamp` | Reported. It is a read-only getter now, and `number \| undefined`: it reports the start of the earliest dwell still in progress, and is `undefined` while the host is idle |
40
+ | `hostDirectives: [KbqReadStateDirective]` | Reported once per file. Nothing to change — it is the behaviour note below |
41
+
42
+ ### Behaviour change
43
+
44
+ The pointer and the keyboard channel are tracked independently and the dwell ends only once both have
45
+ left the host. Two consequences no call site can point at:
46
+
47
+ - A host that keeps focus for longer than `timeToRead` is marked read without a pointer ever touching
48
+ it.
49
+ - A pointer leaving no longer ends a dwell that focus is still holding open, so the host is reported
50
+ read later than it used to be when both were in play.
51
+
52
+ `fix` defaults to `true`. `ng update` invokes migrations with no options at all, and `migrations.json`
53
+ declares no schema, so the rule applies that default itself. With `--fix false` every file that would
54
+ change is logged instead of written, followed by the same count either way. The reports are printed
55
+ in both modes.
56
+
57
+ [Params](schema.ts)
58
+
59
+ Usage for Angular Cli:
60
+
61
+ ```shell
62
+ ng g @koobiq/components:read-state-dwell-handlers --project "<your project>"
63
+ ```
64
+
65
+ Usage for Nx:
66
+
67
+ ```shell
68
+ nx g @koobiq/components:read-state-dwell-handlers --project "<your project>"
69
+ ```
70
+
71
+ ### Run locally
72
+
73
+ Build package
74
+
75
+ ```shell
76
+ yarn run build:schematics
77
+ ```
78
+
79
+ Run command (for example, for `koobiq-docs` project)
80
+
81
+ ```shell
82
+ ng g ./dist/components/schematics/collection.json:read-state-dwell-handlers --project koobiq-docs
83
+ ```
84
+
85
+ ### Result
86
+
87
+ #### Before
88
+
89
+ ```ts
90
+ import { Component, inject } from '@angular/core';
91
+ import { KbqReadStateDirective } from '@koobiq/components/core';
92
+
93
+ @Component({
94
+ selector: 'my-card',
95
+ template: '...',
96
+ hostDirectives: [KbqReadStateDirective]
97
+ })
98
+ export class MyCard {
99
+ protected readonly readState = inject(KbqReadStateDirective, { host: true });
100
+
101
+ reveal() {
102
+ this.readState.mouseenterHandler();
103
+ }
104
+ }
105
+ ```
106
+
107
+ #### After
108
+
109
+ ```ts
110
+ import { Component, inject } from '@angular/core';
111
+ import { KbqReadStateDirective } from '@koobiq/components/core';
112
+
113
+ @Component({
114
+ selector: 'my-card',
115
+ template: '...',
116
+ hostDirectives: [KbqReadStateDirective]
117
+ })
118
+ export class MyCard {
119
+ protected readonly readState = inject(KbqReadStateDirective, { host: true });
120
+
121
+ reveal() {
122
+ this.readState.startDwell();
123
+ }
124
+ }
125
+ ```
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `read-state-dwell-handlers` migration.
5
+ *
6
+ * `KbqReadStateDirective` no longer tracks the pointer only, so its handlers are named after what they
7
+ * measure rather than after the event that used to call them. Both new names keep working with no
8
+ * argument — the pointer channel is their default — so the rename is a safe, value-preserving rewrite.
9
+ *
10
+ * - `readState.mouseenterHandler()` → `readState.startDwell()`
11
+ * - `readState.mouseleaveHandler()` → `readState.endDwell()`
12
+ * - `readState.timestamp` → still there, but read-only and `number | undefined` (warn)
13
+ */
14
+ /** TypeScript type annotation, and `inject()` argument, that marks a receiver as the directive. */
15
+ const DIRECTIVE_TYPE = 'KbqReadStateDirective';
16
+ /** Renamed methods, old name → new name. Both are callable with no argument, as before. */
17
+ const RENAMES = new Map([
18
+ ['mouseenterHandler', 'startDwell'],
19
+ ['mouseleaveHandler', 'endDwell']
20
+ ]);
21
+ /** Members that changed shape rather than name, so they are reported instead of rewritten. */
22
+ const WARN_MEMBERS = ['timestamp'];
23
+ /** Message emitted for a receiver-scoped read of one of {@link WARN_MEMBERS}. */
24
+ const TIMESTAMP_MESSAGE = 'KbqReadStateDirective.timestamp is a read-only getter now, and `number | undefined` rather than `number`: it ' +
25
+ 'reports the start of the earliest dwell still in progress and is `undefined` while the host is neither ' +
26
+ 'hovered nor focused. Writing to it is no longer possible — call startDwell()/endDwell() instead.';
27
+ /**
28
+ * File-scoped patterns for the change no call site can point at. Only evaluated for files that name
29
+ * the directive.
30
+ */
31
+ const warnPatterns = [
32
+ {
33
+ pattern: 'hostDirectives[^\\]]*\\bKbqReadStateDirective\\b',
34
+ message: 'KbqReadStateDirective now measures a keyboard dwell (`focusin`/`focusout`) alongside the pointer one, ' +
35
+ 'and reports the host as read once both channels have left it. A host that keeps focus for longer than ' +
36
+ '`timeToRead` is therefore marked read without a pointer ever touching it, and a pointer leaving no ' +
37
+ 'longer ends a dwell that focus is still holding open.'
38
+ }
39
+ ];
40
+
41
+ exports.DIRECTIVE_TYPE = DIRECTIVE_TYPE;
42
+ exports.RENAMES = RENAMES;
43
+ exports.TIMESTAMP_MESSAGE = TIMESTAMP_MESSAGE;
44
+ exports.WARN_MEMBERS = WARN_MEMBERS;
45
+ exports.warnPatterns = warnPatterns;