@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,288 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `form-field-signals` migration.
5
+ *
6
+ * The full review of `@koobiq/components/form-field` finished the migration of `KbqFormField` and `KbqHint`
7
+ * to a signal-based public API, removed the deprecated `mixinColor` from `core`, and gave the icon-only
8
+ * cleaner and password toggle real button semantics. `KbqFormFieldControl` followed: the state of every control
9
+ * is a signal, and `stateChanges` is gone.
10
+ *
11
+ * Value-preserving property → signal reads are auto-fixed; everything whose value or type semantics changed
12
+ * is surfaced as a warning.
13
+ */
14
+ /**
15
+ * `KbqFormField` content queries and their derived `has*` getters became signals.
16
+ *
17
+ * `control`, `stepper` and `connectionContainerRef` were already signals before this release and are
18
+ * deliberately absent — appending `()` to them would produce a double call.
19
+ */
20
+ const FORM_FIELD_TARGET = {
21
+ id: 'KbqFormField',
22
+ types: ['KbqFormField'],
23
+ elements: { 'kbq-form-field': 'kbqFormField' },
24
+ signalMembers: [
25
+ 'cleaner',
26
+ 'passwordToggle',
27
+ 'hint',
28
+ 'prefix',
29
+ 'suffix',
30
+ 'hasCleaner',
31
+ 'hasHint',
32
+ 'hasPasswordToggle',
33
+ 'hasPrefix',
34
+ 'hasStepper',
35
+ 'hasSuffix'
36
+ ],
37
+ writableMembers: new Set(),
38
+ removedMembers: ['hovered', 'onHoverChanged']
39
+ };
40
+ /** Reported where a `KbqFormField` receiver or a reference variable reaches one of its `removedMembers`. */
41
+ const REMOVED_MEMBERS_MESSAGE = '`KbqFormField.hovered` and `onHoverChanged()` were removed — nothing read them, and their pointer listeners ' +
42
+ 'ran change detection on every hover. Bind `(mouseenter)` / `(mouseleave)` on `<kbq-form-field>` yourself, ' +
43
+ 'or style with `:hover`.';
44
+ /** `fillTextOff` and `compact` became signal inputs on the whole hint family. */
45
+ const HINT_TARGET = {
46
+ id: 'KbqHint',
47
+ types: ['KbqHint', 'KbqError', 'KbqReactivePasswordHint'],
48
+ elements: {
49
+ 'kbq-hint': 'kbqHint',
50
+ 'kbq-error': 'kbqError',
51
+ 'kbq-reactive-password-hint': 'kbqReactivePasswordHint'
52
+ },
53
+ signalMembers: ['fillTextOff', 'compact'],
54
+ writableMembers: new Set()
55
+ };
56
+ /** The `KbqFormFieldControl` state: a signal on every control, read-only unless a target says otherwise. */
57
+ const CONTROL_MEMBERS = [
58
+ 'value',
59
+ 'id',
60
+ 'placeholder',
61
+ 'focused',
62
+ 'empty',
63
+ 'required',
64
+ 'disabled',
65
+ 'errorState'
66
+ ];
67
+ /** Controls whose `disabled` and `value` both stay writable through `.set()`: the selects and the tag list. */
68
+ const WRITABLE_VALUE_CONTROL_TARGET = {
69
+ id: 'KbqSelect',
70
+ types: ['KbqSelect', 'KbqTimezoneSelect', 'KbqTagList'],
71
+ elements: {
72
+ 'kbq-select': 'kbqSelect',
73
+ 'kbq-timezone-select': 'kbqTimezoneSelect',
74
+ 'kbq-tag-list': 'kbqTagList'
75
+ },
76
+ signalMembers: CONTROL_MEMBERS,
77
+ writableMembers: new Set(['disabled', 'value'])
78
+ };
79
+ /** Controls that own their `value`: only `disabled`, which the form control also sets, stays writable. */
80
+ const READ_ONLY_VALUE_CONTROL_TARGET = {
81
+ id: 'KbqTreeSelect',
82
+ types: ['KbqTreeSelect', 'KbqTimepicker', 'KbqDatepickerInput'],
83
+ elements: { 'kbq-tree-select': 'kbqTreeSelect' },
84
+ exportAs: ['kbqTimepicker', 'kbqDatepickerInput'],
85
+ signalMembers: CONTROL_MEMBERS,
86
+ writableMembers: new Set(['disabled'])
87
+ };
88
+ /** Native-element controls: `value` and `placeholder` stay writable, `disabled` follows the input and the form control. */
89
+ const INPUT_CONTROL_TARGET = {
90
+ id: 'KbqInput',
91
+ types: ['KbqInput', 'KbqTextarea'],
92
+ elements: {},
93
+ exportAs: ['kbqInput', 'kbqTextarea'],
94
+ signalMembers: CONTROL_MEMBERS,
95
+ writableMembers: new Set(['value', 'placeholder'])
96
+ };
97
+ /** The password input: a native-element control whose `elementType` became a read-only signal too. */
98
+ const INPUT_PASSWORD_TARGET = {
99
+ id: 'KbqInputPassword',
100
+ types: ['KbqInputPassword'],
101
+ elements: {},
102
+ exportAs: ['kbqInputPassword'],
103
+ signalMembers: [...CONTROL_MEMBERS, 'elementType'],
104
+ writableMembers: INPUT_CONTROL_TARGET.writableMembers
105
+ };
106
+ /** A receiver typed with the contract itself, which declares every member a read-only signal. */
107
+ const FORM_FIELD_CONTROL_TARGET = {
108
+ id: 'KbqFormFieldControl',
109
+ types: ['KbqFormFieldControl'],
110
+ elements: {},
111
+ signalMembers: CONTROL_MEMBERS,
112
+ writableMembers: new Set()
113
+ };
114
+ /** `KbqTagInput`, the text control of a tag list: its state is a read-only signal, as the tag list reads it. */
115
+ const TAG_INPUT_TARGET = {
116
+ id: 'KbqTagInput',
117
+ types: ['KbqTagInput'],
118
+ elements: {},
119
+ exportAs: ['kbqTagInput', 'kbqTagInputFor'],
120
+ signalMembers: ['id', 'placeholder', 'focused', 'empty'],
121
+ writableMembers: new Set()
122
+ };
123
+ const TARGETS = [
124
+ FORM_FIELD_TARGET,
125
+ HINT_TARGET,
126
+ WRITABLE_VALUE_CONTROL_TARGET,
127
+ READ_ONLY_VALUE_CONTROL_TARGET,
128
+ INPUT_CONTROL_TARGET,
129
+ INPUT_PASSWORD_TARGET,
130
+ FORM_FIELD_CONTROL_TARGET,
131
+ TAG_INPUT_TARGET
132
+ ];
133
+ /**
134
+ * `KbqFormField` members that were a `QueryList` and are now a `readonly` array. The call syntax is
135
+ * auto-fixed, but the `QueryList` API is gone.
136
+ */
137
+ const QUERY_LIST_MEMBERS = ['hint', 'prefix', 'suffix'];
138
+ /** `QueryList` members that a plain array does not have. Detected right after a migrated query member. */
139
+ const QUERY_LIST_ONLY_API = [
140
+ 'changes',
141
+ 'first',
142
+ 'last',
143
+ 'dirty',
144
+ 'toArray',
145
+ 'get',
146
+ 'reset',
147
+ 'notifyOnChanges',
148
+ 'destroy'
149
+ ];
150
+ /** `KbqFormField` members whose empty value changed from `null` to `undefined`. */
151
+ const NULLABILITY_CHANGED_MEMBERS = ['cleaner', 'passwordToggle'];
152
+ /**
153
+ * Members that were writable properties and are now read-only signals: inputs, or state the control derives.
154
+ * Scoped by each target's `writableMembers`, so a member writable on one control is not reported on it.
155
+ */
156
+ const READ_ONLY_INPUT_MEMBERS = ['fillTextOff', 'compact', ...CONTROL_MEMBERS];
157
+ /**
158
+ * `KbqFormField` content queries that were writable properties and are now read-only signals. `cleaner` was
159
+ * writable only because of an internal workaround; the rest were a `QueryList`, which consumers reassigned to
160
+ * fake the projected content in tests.
161
+ */
162
+ const READ_ONLY_QUERY_MEMBERS = [
163
+ 'cleaner',
164
+ 'passwordToggle',
165
+ 'hint',
166
+ 'prefix',
167
+ 'suffix'
168
+ ];
169
+ /** Members that were writable fields and are now read-only signals only the control itself changes. */
170
+ const READ_ONLY_STATE_MEMBERS = ['elementType'];
171
+ /** Reported where a write reaches one of `READ_ONLY_STATE_MEMBERS`. */
172
+ const READ_ONLY_STATE_MESSAGE = "`KbqInputPassword.elementType` can no longer be assigned: it is a read-only `Signal<'text' | 'password'>` " +
173
+ 'now. Call `toggleType()` to show or hide the password instead.';
174
+ /**
175
+ * File-scoped patterns that can't be auto-fixed reliably — surfaced with file locations (in both `fix` and
176
+ * dry-run mode).
177
+ */
178
+ const warnPatterns = [
179
+ {
180
+ pattern: '\\bmixinColor\\s*\\(',
181
+ message: '`mixinColor` was removed. Extend `KbqColorDirective` from @koobiq/components/core instead — it ' +
182
+ 'exposes the same `color` input and `colorClassName` getter.'
183
+ },
184
+ {
185
+ pattern: '\\bCanColorCtor\\b',
186
+ message: '`CanColorCtor` was removed together with `mixinColor`, and so was the `CanColor` interface: type the ' +
187
+ 'member `Signal<KbqComponentColors | string>`, or use `KbqColorDirective`.'
188
+ },
189
+ {
190
+ pattern: 'implements[^{]*\\bKbqFormFieldControl\\b',
191
+ message: '`KbqFormFieldControl` is signal-based: `value`, `id`, `placeholder`, `focused`, `empty`, `required`, ' +
192
+ '`disabled` and `errorState` are `Signal`s, and `stateChanges` was removed. A custom control exposes ' +
193
+ 'its state as signals and drops `stateChanges`: the form field derives its own state from them.'
194
+ },
195
+ {
196
+ pattern: 'control\\(\\)\\??\\.stateChanges\\b',
197
+ message: 'The form field control no longer has `stateChanges`. Read its state signals in a `computed()` or an ' +
198
+ '`effect()` instead, or turn one into a stream with `toObservable()`.'
199
+ },
200
+ {
201
+ pattern: '\\bKbqErrorStateTracker\\b',
202
+ message: '`KbqErrorStateTracker` no longer takes a `stateChanges` subject, and its `errorState` is a ' +
203
+ '`Signal<boolean>`: call `updateErrorState()` from `ngDoCheck` and read `errorState()`.'
204
+ },
205
+ {
206
+ pattern: '\\bmixinErrorState\\s*\\(|\\bCanUpdateErrorStateCtor\\b',
207
+ message: 'The deprecated `mixinErrorState` and `CanUpdateErrorStateCtor` were removed. Track the error state ' +
208
+ 'with `KbqErrorStateTracker` from @koobiq/components/core instead.'
209
+ },
210
+ {
211
+ pattern: '\\bCanUpdateErrorState\\b',
212
+ message: '`CanUpdateErrorState.errorState` is a `Signal<boolean>`, and the interface no longer declares ' +
213
+ '`errorStateMatcher`.'
214
+ },
215
+ {
216
+ pattern: '\\bKbqIconErrorStateContext\\b|\\bkbqIconErrorStateContextFactoryProvider\\b',
217
+ message: '`KbqIconErrorStateContext.errorState` is a `Signal<boolean>` and `stateChanges` was removed: ' +
218
+ '`KbqIcon` follows the signal.'
219
+ },
220
+ {
221
+ pattern: '\\bKBQ_FORM_FIELD_REF\\b',
222
+ message: '`KbqFormFieldRef.control` is no longer `any`: it is `Signal<KbqFormFieldControlRef>`. Reads written ' +
223
+ 'as `formField.control.<member>` were silently `undefined` and now fail to compile — call the signal ' +
224
+ 'first: `formField.control().<member>`.'
225
+ },
226
+ {
227
+ pattern: '\\bKbqA11yLocaleConfiguration\\b|\\bkbqA11yLocaleConfigurationProvider\\s*\\(',
228
+ message: '`KbqA11yLocaleConfiguration` gained three required keys — `clear`, `showPassword` and ' +
229
+ '`hidePassword` — for the accessible names of the form-field cleaner and password toggle. A custom ' +
230
+ 'locale object literal has to provide them.'
231
+ },
232
+ {
233
+ pattern: '\\bKbqTrim\\b',
234
+ message: '`KbqTrim.trim` is now typed `(value: unknown) => unknown` instead of `any`. Assigning its result to ' +
235
+ 'a typed variable needs a narrowing check or a cast.'
236
+ },
237
+ {
238
+ pattern: '<kbq-error[^>]*\\b(?:role|aria-live|aria-atomic)=',
239
+ message: '`kbq-error` now renders `role="alert"` and `aria-atomic="true"` itself, so the form field announces ' +
240
+ 'validation errors. Drop the hand-rolled live-region attributes.'
241
+ },
242
+ {
243
+ pattern: '<kbq-cleaner[^>]*\\brole=',
244
+ message: '`kbq-cleaner` now renders `role="button"` and a localized `aria-label` itself. The explicit `role` ' +
245
+ 'attribute is redundant.'
246
+ }
247
+ ];
248
+ /**
249
+ * `KbqCleaner` exposes `aria-label` as a real input backed by a host binding, so an `[attr.aria-label]`
250
+ * written by the consumer is now overwritten by the component's localized default.
251
+ */
252
+ const attributeRewrites = [
253
+ {
254
+ element: 'kbq-cleaner',
255
+ from: '[attr.aria-label]',
256
+ to: '[aria-label]',
257
+ reason: 'kbq-cleaner now owns the aria-label host binding'
258
+ },
259
+ {
260
+ element: 'kbq-cleaner',
261
+ from: 'attr.aria-label',
262
+ to: 'aria-label',
263
+ reason: 'kbq-cleaner now owns the aria-label host binding'
264
+ }
265
+ ];
266
+ /** The misspelled `_fiedset-theme.scss` was renamed to `_fieldset-theme.scss`. */
267
+ const styleRewrites = [{ from: 'fiedset-theme', to: 'fieldset-theme' }];
268
+
269
+ exports.FORM_FIELD_CONTROL_TARGET = FORM_FIELD_CONTROL_TARGET;
270
+ exports.FORM_FIELD_TARGET = FORM_FIELD_TARGET;
271
+ exports.HINT_TARGET = HINT_TARGET;
272
+ exports.INPUT_CONTROL_TARGET = INPUT_CONTROL_TARGET;
273
+ exports.INPUT_PASSWORD_TARGET = INPUT_PASSWORD_TARGET;
274
+ exports.NULLABILITY_CHANGED_MEMBERS = NULLABILITY_CHANGED_MEMBERS;
275
+ exports.QUERY_LIST_MEMBERS = QUERY_LIST_MEMBERS;
276
+ exports.QUERY_LIST_ONLY_API = QUERY_LIST_ONLY_API;
277
+ exports.READ_ONLY_INPUT_MEMBERS = READ_ONLY_INPUT_MEMBERS;
278
+ exports.READ_ONLY_QUERY_MEMBERS = READ_ONLY_QUERY_MEMBERS;
279
+ exports.READ_ONLY_STATE_MEMBERS = READ_ONLY_STATE_MEMBERS;
280
+ exports.READ_ONLY_STATE_MESSAGE = READ_ONLY_STATE_MESSAGE;
281
+ exports.READ_ONLY_VALUE_CONTROL_TARGET = READ_ONLY_VALUE_CONTROL_TARGET;
282
+ exports.REMOVED_MEMBERS_MESSAGE = REMOVED_MEMBERS_MESSAGE;
283
+ exports.TAG_INPUT_TARGET = TAG_INPUT_TARGET;
284
+ exports.TARGETS = TARGETS;
285
+ exports.WRITABLE_VALUE_CONTROL_TARGET = WRITABLE_VALUE_CONTROL_TARGET;
286
+ exports.attributeRewrites = attributeRewrites;
287
+ exports.styleRewrites = styleRewrites;
288
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,382 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ts = require('typescript');
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 templateRefAccess = require('../../template-ref-access-DLNoxmmG.js');
10
+ var utils_typescript = require('../../utils/typescript.js');
11
+ var migrations_formFieldSignals_data = require('./data.js');
12
+ require('@angular-devkit/schematics');
13
+ require('@schematics/angular/utility');
14
+ require('../../utils/ast.js');
15
+
16
+ const MIGRATION = 'form-field-signals';
17
+ const TS_EXT = '.ts';
18
+ const HTML_EXT = '.html';
19
+ const STYLE_EXTS = ['.scss', '.css'];
20
+ function escapeRegExp(value) {
21
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
22
+ }
23
+ /** Applies text-span edits to `content`, right-to-left, so earlier edits don't shift later offsets. */
24
+ function applyEdits(content, edits) {
25
+ const sorted = [...edits].sort((a, b) => b.start - a.start || b.end - a.end);
26
+ let result = content;
27
+ for (const { start, end, text } of sorted) {
28
+ result = result.slice(0, start) + text + result.slice(end);
29
+ }
30
+ return result;
31
+ }
32
+ /**
33
+ * Whether a property access reads from a receiver of the target. The shared engine resolves the receiver at
34
+ * this exact position, so a nested declaration that shadows its name or a `function` that rebinds `this` is
35
+ * not followed. A signal query (`viewChild(KbqSelect)`) holds the instance behind a call of its own, which
36
+ * this pass does not reach.
37
+ */
38
+ function onReceiver(node, sourceFile, scope) {
39
+ const receiver = signalMembersMigration.resolveReceiver(node.expression, node, sourceFile, scope.receivers, scope.bindings);
40
+ return !!receiver && !receiver.signalQuery;
41
+ }
42
+ /** Collects edits for every read/write of a migrated member on a known receiver of `target`. */
43
+ function collectAccessEdits(sourceFile, target, scope) {
44
+ const edits = [];
45
+ const visit = (node) => {
46
+ if (ts.isPropertyAccessExpression(node) &&
47
+ ts.isIdentifier(node.name) &&
48
+ target.signalMembers.includes(node.name.text) &&
49
+ onReceiver(node, sourceFile, scope)) {
50
+ signalMembersMigration.classifyAccess(node, sourceFile, target.writableMembers, edits);
51
+ }
52
+ node.forEachChild(visit);
53
+ };
54
+ visit(sourceFile);
55
+ return edits;
56
+ }
57
+ const emptyWarnings = () => ({
58
+ queryListApi: new Set(),
59
+ nullability: new Set(),
60
+ readOnlyInputWrites: new Set(),
61
+ readOnlyQueryWrites: new Set(),
62
+ readOnlyStateWrites: new Set(),
63
+ writableWrites: new Set(),
64
+ removed: new Set()
65
+ });
66
+ /** Collects the members that the auto-fix can't fully migrate for one target. */
67
+ function collectReceiverWarnings(sourceFile, target, scope) {
68
+ const warnings = emptyWarnings();
69
+ const visit = (node) => {
70
+ if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.name)) {
71
+ const name = node.name.text;
72
+ const reachesReceiver = onReceiver(node, sourceFile, scope);
73
+ if (reachesReceiver && migrations_formFieldSignals_data.NULLABILITY_CHANGED_MEMBERS.includes(name)) {
74
+ warnings.nullability.add(name);
75
+ }
76
+ if (reachesReceiver && target.removedMembers?.includes(name)) {
77
+ warnings.removed.add(name);
78
+ }
79
+ // `target.signalMembers` scopes the flat name lists to the members this receiver actually owns.
80
+ if (reachesReceiver && target.signalMembers.includes(name) && signalMembersMigration.isWriteTarget(node)) {
81
+ if (target.writableMembers.has(name)) {
82
+ if (!signalMembersMigration.isPlainAssignment(node))
83
+ warnings.writableWrites.add(name);
84
+ }
85
+ else if (migrations_formFieldSignals_data.READ_ONLY_INPUT_MEMBERS.includes(name)) {
86
+ warnings.readOnlyInputWrites.add(name);
87
+ }
88
+ else if (migrations_formFieldSignals_data.READ_ONLY_QUERY_MEMBERS.includes(name)) {
89
+ warnings.readOnlyQueryWrites.add(name);
90
+ }
91
+ else if (migrations_formFieldSignals_data.READ_ONLY_STATE_MEMBERS.includes(name)) {
92
+ warnings.readOnlyStateWrites.add(name);
93
+ }
94
+ }
95
+ // `formField.hint.changes` — the query member is migrated, the QueryList API below it is not.
96
+ if (migrations_formFieldSignals_data.QUERY_LIST_ONLY_API.includes(name) &&
97
+ ts.isPropertyAccessExpression(node.expression) &&
98
+ ts.isIdentifier(node.expression.name) &&
99
+ migrations_formFieldSignals_data.QUERY_LIST_MEMBERS.includes(node.expression.name.text) &&
100
+ onReceiver(node.expression, sourceFile, scope)) {
101
+ warnings.queryListApi.add(`${node.expression.name.text}.${name}`);
102
+ }
103
+ }
104
+ node.forEachChild(visit);
105
+ };
106
+ visit(sourceFile);
107
+ return warnings;
108
+ }
109
+ /** The members of a file's receivers that can't be auto-fixed, across every target. */
110
+ function collectFileWarnings(filePath, content) {
111
+ const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
112
+ const bindings = signalMembersMigration.collectBindings(sourceFile);
113
+ const merged = emptyWarnings();
114
+ for (const target of migrations_formFieldSignals_data.TARGETS) {
115
+ const receivers = signalMembersMigration.collectAllReceivers(sourceFile, target.types);
116
+ if (receivers.length === 0)
117
+ continue;
118
+ const warnings = collectReceiverWarnings(sourceFile, target, { receivers, bindings });
119
+ warnings.queryListApi.forEach((value) => merged.queryListApi.add(value));
120
+ warnings.nullability.forEach((value) => merged.nullability.add(value));
121
+ warnings.readOnlyInputWrites.forEach((value) => merged.readOnlyInputWrites.add(value));
122
+ warnings.readOnlyQueryWrites.forEach((value) => merged.readOnlyQueryWrites.add(value));
123
+ warnings.readOnlyStateWrites.forEach((value) => merged.readOnlyStateWrites.add(value));
124
+ warnings.writableWrites.forEach((value) => merged.writableWrites.add(value));
125
+ warnings.removed.forEach((value) => merged.removed.add(value));
126
+ }
127
+ return merged;
128
+ }
129
+ const emptyTemplateFindings = () => ({
130
+ readOnlyWrites: new Set(),
131
+ compoundWrites: new Set(),
132
+ removed: new Set()
133
+ });
134
+ /** Merges the findings of one template into `into`. */
135
+ function mergeTemplateFindings(into, from) {
136
+ from.readOnlyWrites.forEach((member) => into.readOnlyWrites.add(member));
137
+ from.compoundWrites.forEach((member) => into.compoundWrites.add(member));
138
+ from.removed.forEach((member) => into.removed.add(member));
139
+ }
140
+ /** Adds the members a template reaches through a reference variable to the warnings. */
141
+ function addTemplateFindings(warnings, findings) {
142
+ for (const name of findings.readOnlyWrites) {
143
+ if (migrations_formFieldSignals_data.READ_ONLY_INPUT_MEMBERS.includes(name))
144
+ warnings.readOnlyInputWrites.add(name);
145
+ else if (migrations_formFieldSignals_data.READ_ONLY_QUERY_MEMBERS.includes(name))
146
+ warnings.readOnlyQueryWrites.add(name);
147
+ else if (migrations_formFieldSignals_data.READ_ONLY_STATE_MEMBERS.includes(name))
148
+ warnings.readOnlyStateWrites.add(name);
149
+ }
150
+ findings.compoundWrites.forEach((member) => warnings.writableWrites.add(member));
151
+ findings.removed.forEach((member) => warnings.removed.add(member));
152
+ return warnings;
153
+ }
154
+ /** Emits precise, receiver-scoped warnings for the members that can't be auto-fixed. */
155
+ function logReceiverWarnings(context, filePath, merged) {
156
+ if (merged.queryListApi.size > 0) {
157
+ utils_messages.logMessage(context.logger, [
158
+ `[${MIGRATION}] ${filePath}`,
159
+ ` These KbqFormField members are now a readonly array instead of a QueryList, so the QueryList API is`,
160
+ ` gone: ${[...merged.queryListApi].join(', ')}. The queries are signals — react to them with`,
161
+ ` \`computed()\`/\`effect()\` instead of \`.changes\`, and use \`[0]\`/\`.at(-1)\`/the array itself instead`,
162
+ ` of \`.first\`/\`.last\`/\`.toArray()\`.`
163
+ ]);
164
+ }
165
+ if (merged.nullability.size > 0) {
166
+ utils_messages.logMessage(context.logger, [
167
+ `[${MIGRATION}] ${filePath}`,
168
+ ` \`${[...merged.nullability].join('`, `')}\` now returns \`undefined\` instead of \`null\` when absent.`,
169
+ ` Strict comparisons against \`null\` no longer match — use a truthiness check or \`== null\`.`
170
+ ]);
171
+ }
172
+ if (merged.readOnlyInputWrites.size > 0) {
173
+ utils_messages.logMessage(context.logger, [
174
+ `[${MIGRATION}] ${filePath}`,
175
+ ` \`${[...merged.readOnlyInputWrites].join('`, `')}\` can no longer be assigned: they are read-only`,
176
+ ` signal inputs now. Drive them with a template binding (e.g. \`[fillTextOff]="…"\`) instead of an`,
177
+ ` assignment.`
178
+ ]);
179
+ }
180
+ if (merged.readOnlyQueryWrites.size > 0) {
181
+ utils_messages.logMessage(context.logger, [
182
+ `[${MIGRATION}] ${filePath}`,
183
+ ` \`${[...merged.readOnlyQueryWrites].join('`, `')}\` can no longer be assigned: they are read-only`,
184
+ ` signal content queries now. Project the content into the form field instead — code that assigned a`,
185
+ ` query result (usually a test faking the projected content) has to render the real component.`
186
+ ]);
187
+ }
188
+ if (merged.readOnlyStateWrites.size > 0) {
189
+ utils_messages.logMessage(context.logger, [`[${MIGRATION}] ${filePath}`, ` ${migrations_formFieldSignals_data.READ_ONLY_STATE_MESSAGE}`]);
190
+ }
191
+ if (merged.removed.size > 0) {
192
+ utils_messages.logMessage(context.logger, [`[${MIGRATION}] ${filePath}`, ` ${migrations_formFieldSignals_data.REMOVED_MEMBERS_MESSAGE}`]);
193
+ }
194
+ if (merged.writableWrites.size > 0) {
195
+ utils_messages.logMessage(context.logger, [
196
+ `[${MIGRATION}] ${filePath}`,
197
+ ` \`${[...merged.writableWrites].join('`, `')}\` are writable signals now, but only a plain \`=\` is`,
198
+ ` rewritten to \`.set()\`: a compound assignment, an increment, \`delete\` or a destructuring target`,
199
+ ` was left as it is. Write it with \`.set()\` or \`.update()\`.`
200
+ ]);
201
+ }
202
+ }
203
+ /** Pass A — rewrite value-safe programmatic reads of migrated members in TypeScript code. */
204
+ function migrateTsExpressions(content, fileName) {
205
+ let result = content;
206
+ // One target at a time, re-parsing in between, so the edit offsets of each pass stay valid.
207
+ for (const target of migrations_formFieldSignals_data.TARGETS) {
208
+ const sourceFile = ts.createSourceFile(fileName, result, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
209
+ const receivers = signalMembersMigration.collectAllReceivers(sourceFile, target.types);
210
+ if (receivers.length === 0)
211
+ continue;
212
+ const edits = collectAccessEdits(sourceFile, target, { receivers, bindings: signalMembersMigration.collectBindings(sourceFile) });
213
+ if (edits.length > 0)
214
+ result = applyEdits(result, edits);
215
+ }
216
+ return result;
217
+ }
218
+ /** Rewrites renamed attributes inside the opening tag of the elements that own them. */
219
+ function rewriteAttributes(template) {
220
+ let content = template;
221
+ for (const { element, from, to } of migrations_formFieldSignals_data.attributeRewrites) {
222
+ const tagPattern = new RegExp(`<${escapeRegExp(element)}\\b[^>]*>`, 'g');
223
+ content = content.replace(tagPattern, (tag) => {
224
+ const attrPattern = new RegExp(`(\\s)${escapeRegExp(from)}(\\s*=)`, 'g');
225
+ return tag.replace(attrPattern, `$1${to}$2`);
226
+ });
227
+ }
228
+ return content;
229
+ }
230
+ /**
231
+ * Whether a `#ref` with `value` on an `element` names `target`: bare or naming the `exportAs` on one of its elements,
232
+ * or naming one of its directive `exportAs` names on any element.
233
+ */
234
+ function refersTo({ elements, exportAs = [] }, element, value) {
235
+ if (Object.hasOwn(elements, element) && (!value || value === elements[element]))
236
+ return true;
237
+ return !!value && exportAs.includes(value);
238
+ }
239
+ /**
240
+ * Pass B (core) — parse a template, discover target refs, rewrite their reads, writes and renamed attributes, and
241
+ * find the removed members they reach.
242
+ */
243
+ async function migrateTemplate(template) {
244
+ let content = rewriteAttributes(template);
245
+ const findings = emptyTemplateFindings();
246
+ const relevant = migrations_formFieldSignals_data.TARGETS.filter((target) => Object.keys(target.elements).some((element) => template.includes(element)) ||
247
+ target.exportAs?.some((exportAs) => template.includes(exportAs)));
248
+ if (relevant.length > 0) {
249
+ const parsed = await utils_typescript.parseTemplate(content);
250
+ if (parsed.tree) {
251
+ const { rootNodes } = parsed.tree;
252
+ const policies = new Map(relevant.map((target) => [
253
+ target,
254
+ {
255
+ members: target.signalMembers,
256
+ writable: target.writableMembers,
257
+ reported: target.removedMembers
258
+ }
259
+ ]));
260
+ const result = templateRefAccess.rewriteRefAccesses(content, rootNodes, (element, value) => {
261
+ const target = relevant.find((candidate) => refersTo(candidate, element.name, value));
262
+ return target && policies.get(target);
263
+ });
264
+ content = result.content;
265
+ result.readOnlyWrites.forEach((member) => findings.readOnlyWrites.add(member));
266
+ result.compoundWrites.forEach((member) => findings.compoundWrites.add(member));
267
+ result.reported.forEach((member) => findings.removed.add(member));
268
+ }
269
+ }
270
+ return { content, changed: content !== template, ...findings };
271
+ }
272
+ /** Pass B (inline) — rewrite target ref reads and writes inside inline component templates. */
273
+ async function migrateInlineTemplates(content, fileName) {
274
+ const sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
275
+ const ranges = utils_typescript.collectInlineTemplateRanges(sourceFile).sort((a, b) => b.start - a.start);
276
+ const findings = emptyTemplateFindings();
277
+ let result = content;
278
+ for (const { start, end } of ranges) {
279
+ const outcome = await migrateTemplate(result.slice(start, end));
280
+ mergeTemplateFindings(findings, outcome);
281
+ if (outcome.changed) {
282
+ result = result.slice(0, start) + outcome.content + result.slice(end);
283
+ }
284
+ }
285
+ return { content: result, ...findings };
286
+ }
287
+ /** Pass C — the misspelled `_fiedset-theme.scss` was renamed. */
288
+ function migrateStyles(content) {
289
+ let result = content;
290
+ for (const { from, to } of migrations_formFieldSignals_data.styleRewrites) {
291
+ result = result.split(from).join(to);
292
+ }
293
+ return result;
294
+ }
295
+ function logWarnings(context, filePath, content) {
296
+ for (const { pattern, message } of migrations_formFieldSignals_data.warnPatterns) {
297
+ if (new RegExp(pattern).test(content)) {
298
+ utils_messages.logMessage(context.logger, [`[${MIGRATION}] ${filePath}`, ` ${message}`]);
299
+ }
300
+ }
301
+ }
302
+ /**
303
+ * A file is a form-field consumer if it names one of the migrated symbols, imports the package, renders a
304
+ * control or names the `exportAs` of a directive one: a component that imports only `KbqInputModule` names no type.
305
+ */
306
+ function referencesFormField(content) {
307
+ return (migrations_formFieldSignals_data.TARGETS.some((target) => target.exportAs?.some((name) => content.includes(name))) ||
308
+ /\bKbq(FormField|Hint|Error|ReactivePasswordHint|Cleaner|PasswordToggle|Stepper|Trim|A11yLocaleConfiguration)\b/.test(content) ||
309
+ /\b(mixinColor|CanColorCtor|KBQ_FORM_FIELD_REF|kbqA11yLocaleConfigurationProvider)\b/.test(content) ||
310
+ /\bKbq(Select|TreeSelect|TimezoneSelect|TagList|TagInput|Input|InputPassword|Textarea|Timepicker|DatepickerInput|FormFieldControl|ErrorStateTracker|IconErrorStateContext)\b/.test(content) ||
311
+ /\b(mixinErrorState|CanUpdateErrorState|CanUpdateErrorStateCtor|kbqIconErrorStateContextFactoryProvider)\b/.test(content) ||
312
+ content.includes('@koobiq/components/form-field') ||
313
+ content.includes('kbq-form-field') ||
314
+ content.includes('kbq-cleaner') ||
315
+ /<kbq-(select|tree-select|timezone-select|tag-list)\b/.test(content));
316
+ }
317
+ function formFieldSignals(options) {
318
+ return async (tree, context) => {
319
+ const { project } = options;
320
+ // `ng update` invokes migrations with no options at all, and migrations.json declares no schema, so the
321
+ // schema default never reaches us — applying the fix is the intended behaviour there.
322
+ const fix = options.fix ?? true;
323
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
324
+ const root = projectDefinition?.root ?? '';
325
+ const rootDir = root ? tree.getDir(root) : tree.root;
326
+ const tsPaths = [];
327
+ const htmlPaths = [];
328
+ const stylePaths = [];
329
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
330
+ if (filePath.endsWith(TS_EXT))
331
+ tsPaths.push(filePath);
332
+ else if (filePath.endsWith(HTML_EXT))
333
+ htmlPaths.push(filePath);
334
+ else if (STYLE_EXTS.some((ext) => filePath.endsWith(ext)))
335
+ stylePaths.push(filePath);
336
+ });
337
+ let touched = 0;
338
+ const commit = (filePath, original, updated) => {
339
+ if (updated === original)
340
+ return;
341
+ touched++;
342
+ if (fix) {
343
+ tree.overwrite(filePath, updated);
344
+ }
345
+ else {
346
+ utils_messages.logMessage(context.logger, [`[${MIGRATION}] would update ${filePath} (run with --fix to apply)`]);
347
+ }
348
+ };
349
+ for (const filePath of tsPaths) {
350
+ const original = tree.read(filePath)?.toString();
351
+ if (!original || !referencesFormField(original))
352
+ continue;
353
+ logWarnings(context, filePath, original);
354
+ const warnings = collectFileWarnings(filePath, original);
355
+ const inline = await migrateInlineTemplates(migrateTsExpressions(original, filePath), filePath);
356
+ logReceiverWarnings(context, filePath, addTemplateFindings(warnings, inline));
357
+ commit(filePath, original, inline.content);
358
+ }
359
+ for (const filePath of htmlPaths) {
360
+ const original = tree.read(filePath)?.toString();
361
+ if (!original)
362
+ continue;
363
+ logWarnings(context, filePath, original);
364
+ const outcome = await migrateTemplate(original);
365
+ logReceiverWarnings(context, filePath, addTemplateFindings(emptyWarnings(), outcome));
366
+ if (outcome.changed)
367
+ commit(filePath, original, outcome.content);
368
+ }
369
+ for (const filePath of stylePaths) {
370
+ const original = tree.read(filePath)?.toString();
371
+ if (!original)
372
+ continue;
373
+ commit(filePath, original, migrateStyles(original));
374
+ }
375
+ utils_messages.logMessage(context.logger, [
376
+ `[${MIGRATION}] processed tree under "${root || '<workspace root>'}", ` +
377
+ `${fix ? 'updated' : 'would update'} ${touched} file(s).`
378
+ ]);
379
+ };
380
+ }
381
+
382
+ exports.default = formFieldSignals;