@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,140 @@
1
+ # input-number-surface
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@20`
4
+ (registered for `21.0.0-0`). Rewrites reads of the four `KbqNumberInput` members that became signals,
5
+ and reports everything else: the members that disappeared with the `KbqFormFieldControl` surface the
6
+ directive declared and never populated, the validator directives that gained a `Kbq` prefix, and the
7
+ behaviors that changed without a call site to point at.
8
+
9
+ ## `min`, `max`, `step` and `bigStep` are `input()` signals
10
+
11
+ A read becomes a call. The value is unchanged, so this part is auto-fixed:
12
+
13
+ ```ts
14
+ // before
15
+ const span = numberInput.max - numberInput.min;
16
+ // after
17
+ const span = numberInput.max() - numberInput.min();
18
+ ```
19
+
20
+ The rewrite is scoped, not textual. `min`, `max` and `step` are among the most common property names
21
+ there are, so a bare `\.min\b` match would rewrite a plain object literal's bounds. Only two receivers
22
+ qualify:
23
+
24
+ - an identifier this file **annotates** as `KbqNumberInput` — a parameter, a field, a local, or a
25
+ `viewChild(KbqNumberInput)` initializer. There is no cross-package type resolution, so a receiver
26
+ whose type is only inferred is left alone.
27
+ - a template reference bound through the directive's `exportAs`: `#ref="kbqNumberInput"` or the
28
+ `kbqNumericalInput` alias. Both external and inline templates.
29
+
30
+ Template **bindings** are otherwise untouched — `[min]="lower"` and `min="3"` still work.
31
+
32
+ The one exception is `bigStep`, which had a second spelling: the legacy `big-step` attribute, read once
33
+ at construction and deaf to every later change. Keeping both would mean maintaining the same input
34
+ twice, so the kebab-case one is dropped and renamed here, scoped to the `<input>` tag that carries the
35
+ directive.
36
+
37
+ A programmatic **write** (`numberInput.min = 0`) is reported, not rewritten: an `input()` is read-only
38
+ and has no `.set()`, so the binding has to take over. The rewrite is idempotent — an already-migrated
39
+ `min()` is left alone, so running it twice is safe.
40
+
41
+ ## `KbqInputPassword` mints its ids in its own namespace
42
+
43
+ It shared the `kbq-input-` counter with `KbqInput`, so any page holding both controls emitted two
44
+ elements with the same id, and the form field's `<label for>` resolved to whichever came first. A
45
+ password field now renders `id="kbq-input-password-7"` where it used to render `id="kbq-input-7"`.
46
+
47
+ Reported, not rewritten: a hand-written reference to a generated id is a symptom, and the fix is
48
+ usually to stop depending on the generated value rather than to renumber it.
49
+
50
+ ## The unprefixed validator exports are gone
51
+
52
+ `MinValidator`, `MaxValidator`, `MIN_VALIDATOR` and `MAX_VALIDATOR` were deprecated aliases of the
53
+ `Kbq`-prefixed names. They are removed, and rewritten here — a pure rename has one mechanical
54
+ translation.
55
+
56
+ The rewrite is scoped to the names a file imports from `@koobiq/components/input`, because
57
+ `@angular/forms` exports `MinValidator` and `MaxValidator` under exactly those spellings — which is
58
+ why the koobiq ones were renamed in the first place. A file importing the framework's is left alone.
59
+
60
+ ## `valueChange` and `disabledChange` are Subjects
61
+
62
+ Both were `EventEmitter`. Subscribing is unchanged; a call to `.emit()` becomes `.next()`. Reported
63
+ rather than rewritten: those two names are far too common to match blind.
64
+
65
+ ## Background
66
+
67
+ `KbqNumberInput` declared `implements KbqFormFieldControl<any>` and then assigned none of it. The
68
+ private `control` field behind `ngControl` had no writer anywhere in the file, so `ngControl` was
69
+ permanently `undefined`, and `id`, `placeholder`, `empty`, `required` and `errorState` were declared
70
+ only to satisfy the interface. Nothing broke, because the `KbqFormFieldControl` provider lives on the
71
+ sibling `KbqInput` — which matches the same host and supplies the real implementation — but the
72
+ members were public, so a consumer reading `numberInputRef.errorState` got `undefined` with no type
73
+ error.
74
+
75
+ | Member | Before | After |
76
+ | ------------------------------------------------------------------- | -------------------------- | ------------------ |
77
+ | `ngControl`, `id`, `placeholder`, `empty`, `required`, `errorState` | public, always `undefined` | removed |
78
+ | `MinValidator`, `MaxValidator` | deprecated aliases | removed, rewritten |
79
+ | `MIN_VALIDATOR`, `MAX_VALIDATOR` | deprecated aliases | removed, rewritten |
80
+
81
+ The unprefixed validator names are the exact names `@angular/forms` exports, so importing both in one
82
+ file shadowed the framework's.
83
+
84
+ ## Two behaviors that changed with no call site
85
+
86
+ `type="number"` on a `kbqNumberInput` is now reset to `type="text"` with a console warning. A native
87
+ number field runs the value sanitization algorithm on assignment and rejects everything the directive
88
+ renders once a group separator or a comma fraction separator is in it, so the field went blank while
89
+ the model still held the value; it also reports `selectionStart` as `null`, which disabled caret
90
+ preservation entirely.
91
+
92
+ `HTMLInputElement.prototype.valueAsNumber` is no longer redefined. The constructor used to call
93
+ `Object.defineProperty(Object.getPrototypeOf(this.nativeElement), 'valueAsNumber', …)` — that is the
94
+ prototype, not the element, so constructing one koobiq number input replaced the platform accessor for
95
+ every `<input>` in the application, permanently and with no teardown. A locale-aware numeric read is
96
+ now a member of the directive: `numberInput.valueAsNumber`.
97
+
98
+ ## What it does _not_ rewrite
99
+
100
+ A member that was always `undefined` has no replacement expression, and the validator rename is safe to
101
+ leave in place until the deprecated aliases are dropped.
102
+
103
+ | Pattern | Manual migration |
104
+ | ---------------------------------------------------------------- | ------------------------------------------------------------------ |
105
+ | `numberInput.errorState` / `.ngControl` / `.empty` / `.required` | Read them off the sibling `KbqInput` or off the `<kbq-form-field>` |
106
+ | `numberInput.min = 0` | Bind `[min]="0"` — an `input()` has no `.set()` |
107
+ | `numberInput.valueChange.emit(v)` | `numberInput.valueChange.next(v)` |
108
+ | `<input kbqNumberInput type="number">` | Drop the attribute |
109
+ | `inputElement.valueAsNumber` | `numberInput.valueAsNumber`, or read the form control |
110
+ | `#kbq-input-7` on a password field | Stop keying on a generated id, or use `kbq-input-password-7` |
111
+
112
+ A receiver whose `KbqNumberInput` type is inferred rather than written down is also out of reach, as
113
+ are the forms no structural match can see — an index read (`refs['input'].min`) and destructuring
114
+ (`const { min } = numberInput`). Nothing about those is reported, so check them by hand.
115
+
116
+ ## Also in the release, with nothing to migrate
117
+
118
+ - The numeric inputs coerce their value, so a static attribute (`min="3"`) holds the number `3` rather
119
+ than the string `"3"`. The `ngAcceptInputType_*` declarations that used to carry that are gone: a
120
+ signal input types what it accepts through its transform's parameter.
121
+ - The validators no longer `parseInt` their bound value, so `[min]="0.5"` validates against `0.5`
122
+ instead of `0`, and a bound `[min]="0"` reaches the DOM instead of being dropped by a falsy check.
123
+ - Stepping runs in integer space against a decimal scale, so one arrow press on `1.005` with
124
+ `step="0.001"` renders `1,006` rather than `1,0059999999999998`.
125
+ - `KbqNumberInput` carries spinbutton semantics: `role`, `aria-valuenow`, `aria-valuetext`,
126
+ `aria-valuemin`, `aria-valuemax` and `inputmode`.
127
+ - `startFormattingFrom` is read from the input as well as from the locale, instead of being declared
128
+ and ignored.
129
+
130
+ ## Usage
131
+
132
+ ```bash
133
+ ng update @koobiq/components
134
+ ```
135
+
136
+ Or standalone:
137
+
138
+ ```bash
139
+ ng generate @koobiq/components:input-number-surface --project=my-app
140
+ ```
@@ -0,0 +1,135 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `input-number-surface` migration.
5
+ *
6
+ * The input review stripped the `KbqFormFieldControl` surface `KbqNumberInput` declared and never
7
+ * populated, and prefixed the two validator directives whose unprefixed names shadow the identically
8
+ * named exports of `@angular/forms`:
9
+ *
10
+ * - `KbqNumberInput` no longer `implements KbqFormFieldControl`. `ngControl`, `errorState`, `id`,
11
+ * `placeholder`, `empty` and `required` are gone; every one of them was `undefined` for the whole
12
+ * lifetime of the directive, because the backing `control` field was never assigned. The real
13
+ * implementation always lived on the sibling `KbqInput`, which is what the form field resolves.
14
+ * - `MinValidator` / `MaxValidator` / `MIN_VALIDATOR` / `MAX_VALIDATOR` → `KbqMinValidator` /
15
+ * `KbqMaxValidator` / `KBQ_MIN_VALIDATOR` / `KBQ_MAX_VALIDATOR`. The old names stay as deprecated
16
+ * aliases for one minor, so nothing breaks today.
17
+ *
18
+ * It then finished the signal migration: `min`, `max`, `step` and `bigStep` became `input()`, so a read
19
+ * has to become a call. That part *is* rewritten — scoped to a receiver whose type is provably
20
+ * `KbqNumberInput`, because `min`/`max`/`step` are far too common to match on the member name alone.
21
+ *
22
+ * The rest is warn-only. A removed member that was always `undefined` has no replacement expression,
23
+ * and the validator rename is safe to leave until the aliases are dropped.
24
+ */
25
+ /** Import specifier that marks a file as an input consumer. */
26
+ const INPUT_PACKAGE = '@koobiq/components/input';
27
+ /** Identifier and attribute shapes that mark a consumer without an import. */
28
+ const INPUT_TYPE = '\\bKbqNumberInput\\b|\\bkbqNumberInput\\b';
29
+ /** The password directive, which owns the id-namespace change. Anchors its own warning. */
30
+ const PASSWORD_TYPE = '\\bKbqInputPassword\\b|\\bkbqInputPassword\\b';
31
+ /** TypeScript type annotation that marks a receiver as a number input. */
32
+ const NUMBER_INPUT_TYPE = 'KbqNumberInput';
33
+ /** `exportAs` names a template reference variable can bind the directive under. */
34
+ const NUMBER_INPUT_EXPORT_AS = ['kbqNumberInput', 'kbqNumericalInput'];
35
+ /**
36
+ * `KbqNumberInput` members that became `input()` signals. The value is unchanged — only the call
37
+ * syntax — so a read is rewritten to a call. Every one of these is read-only: a programmatic write
38
+ * has no `.set()` and is warned about instead.
39
+ */
40
+ const SIGNAL_MEMBERS = ['min', 'max', 'step', 'bigStep'];
41
+ /**
42
+ * The `KbqFormFieldControl` member-access pattern, handled separately from {@link warnPatterns}: `KbqInput`
43
+ * — the sibling directive that also matches `input[kbqNumberInput]` — still exposes every one of these
44
+ * members, so a bare text match would also flag a file that correctly reads them off a `KbqInput`-typed
45
+ * reference. `index.ts` resolves the receiver of each match against the file's AST before reporting it.
46
+ */
47
+ const FORM_FIELD_CONTROL_MEMBER_PATTERN = {
48
+ anchor: INPUT_TYPE,
49
+ pattern: '\\b([A-Za-z_$][\\w$]*)\\s*\\.\\s*(?:ngControl|errorState|placeholder|empty|required)\\b',
50
+ message: 'KbqNumberInput no longer implements KbqFormFieldControl: ngControl, errorState, id, placeholder, ' +
51
+ 'empty and required were removed. None of them was ever assigned — the private `control` field ' +
52
+ 'behind ngControl had no writer — so every read returned undefined. Read them off the sibling ' +
53
+ 'KbqInput, which owns the KbqFormFieldControl provider on the same element, or off the form ' +
54
+ 'field itself.'
55
+ };
56
+ /**
57
+ * Removed exports and the prefixed names that replace them. A pure rename with one mechanical
58
+ * translation each, so these are rewritten rather than reported.
59
+ *
60
+ * The unprefixed names were the exact names `@angular/forms` exports, so importing both in one file
61
+ * shadowed the framework validator. They were deprecated aliases; this release drops them.
62
+ *
63
+ * Only rewritten in a file that imports `@koobiq/components/input` — without that anchor, a project
64
+ * importing `MinValidator` from `@angular/forms` would be rewritten to a koobiq name it never imported.
65
+ */
66
+ const RENAMED_EXPORTS = [
67
+ ['MinValidator', 'KbqMinValidator'],
68
+ ['MaxValidator', 'KbqMaxValidator'],
69
+ ['MIN_VALIDATOR', 'KBQ_MIN_VALIDATOR'],
70
+ ['MAX_VALIDATOR', 'KBQ_MAX_VALIDATOR']
71
+ ];
72
+ const warnPatterns = [
73
+ {
74
+ anchor: INPUT_TYPE,
75
+ // Both attribute orders, and only within the same `<input>` tag as `kbqNumberInput` — a bare
76
+ // `type\s*=\s*"number"` anywhere in the file also matches an unrelated native input.
77
+ pattern: '<input\\b[^>]*\\bkbqNumberInput\\b[^>]*\\btype\\s*=\\s*[\'"]number[\'"]|' +
78
+ '<input\\b[^>]*\\btype\\s*=\\s*[\'"]number[\'"][^>]*\\bkbqNumberInput\\b',
79
+ message: 'type="number" on a kbqNumberInput is reset to type="text" with a console warning. A native ' +
80
+ 'number field runs the value sanitization algorithm on assignment and drops every value the ' +
81
+ 'directive formats — anything with a fraction, and anything over 999 while withThousandSeparator ' +
82
+ 'is on — so the field went blank while the model still held the value. Drop the attribute.'
83
+ },
84
+ {
85
+ anchor: INPUT_TYPE,
86
+ pattern: '\\b(?:valueChange|disabledChange)\\s*\\.\\s*emit\\b',
87
+ message: 'KbqNumberInput.valueChange and .disabledChange are RxJS Subjects rather than EventEmitters. ' +
88
+ 'Subscribing is unchanged; a call to .emit() becomes .next(). These names are too common to ' +
89
+ 'rewrite blind — check whether the receiver is the number input before renaming.'
90
+ },
91
+ {
92
+ // Anchored on the password directive, not on INPUT_TYPE: the ids belong to KbqInputPassword.
93
+ anchor: PASSWORD_TYPE,
94
+ // A hand-written reference to a generated id, in a selector, a test id or an aria-* attribute.
95
+ pattern: '[\'"#\\[]\\s*kbq-input-\\d|kbq-input-\\d+["\'\\]]|\\bkbq-input-\\d',
96
+ message: 'KbqInputPassword mints its ids in its own kbq-input-password- namespace now, so a password ' +
97
+ 'field that used to render id="kbq-input-7" renders id="kbq-input-password-7". It shared the ' +
98
+ 'kbq-input- counter with KbqInput before, which produced two elements with the same id on any ' +
99
+ "page holding both controls, and the form field's <label for> then resolved to the wrong one. " +
100
+ 'Anything keyed on the generated id — a CSS selector, a test locator, a hand-written ' +
101
+ 'aria-labelledby — has to be updated, or better, stop depending on a generated value.'
102
+ },
103
+ {
104
+ anchor: INPUT_TYPE,
105
+ pattern: '\\bvalueAsNumber\\b',
106
+ message: 'KbqNumberInput no longer redefines HTMLInputElement.prototype.valueAsNumber. The patch replaced ' +
107
+ 'the platform accessor for every <input> in the application, returned null where the DOM ' +
108
+ 'specification requires NaN, and read a date field as parseFloat of its date string. A ' +
109
+ 'locale-aware numeric read is now a member of the directive: numberInput.valueAsNumber.'
110
+ }
111
+ ];
112
+ /** Printed once per project, after the per-file reports. */
113
+ const SUMMARY = [
114
+ ' min, max, step and bigStep are input() signals that coerce their value, so a static attribute ' +
115
+ '(min="3") holds the number 3 rather than the string "3". Reads on a KbqNumberInput-typed ' +
116
+ 'receiver were rewritten to calls; template bindings ([min], big-step="2") are unchanged.',
117
+ ' MinValidator/MaxValidator no longer parseInt their bound value, so a fractional [min]="0.5" ' +
118
+ 'validates against 0.5 instead of 0, and a bound [min]="0" reaches the DOM instead of being ' +
119
+ 'dropped by a falsy check.',
120
+ ' Stepping is done in integer space against a decimal scale, so one arrow press on 1.005 with ' +
121
+ 'step="0.001" renders 1,006 rather than 1,0059999999999998.',
122
+ ' KbqNumberInput carries spinbutton semantics — role, aria-valuenow, aria-valuetext, aria-valuemin, ' +
123
+ 'aria-valuemax and inputmode.'
124
+ ];
125
+
126
+ exports.FORM_FIELD_CONTROL_MEMBER_PATTERN = FORM_FIELD_CONTROL_MEMBER_PATTERN;
127
+ exports.INPUT_PACKAGE = INPUT_PACKAGE;
128
+ exports.INPUT_TYPE = INPUT_TYPE;
129
+ exports.NUMBER_INPUT_EXPORT_AS = NUMBER_INPUT_EXPORT_AS;
130
+ exports.NUMBER_INPUT_TYPE = NUMBER_INPUT_TYPE;
131
+ exports.PASSWORD_TYPE = PASSWORD_TYPE;
132
+ exports.RENAMED_EXPORTS = RENAMED_EXPORTS;
133
+ exports.SIGNAL_MEMBERS = SIGNAL_MEMBERS;
134
+ exports.SUMMARY = SUMMARY;
135
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,292 @@
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 migrations_inputNumberSurface_data = require('./data.js');
9
+ require('@angular-devkit/schematics');
10
+ require('@schematics/angular/utility');
11
+
12
+ const LABEL = '[input-number-surface]';
13
+ const EXTENSIONS = ['.ts', '.html'];
14
+ const TS_EXT = '.ts';
15
+ /** A file is an input consumer if it imports the package or names one of the directives. */
16
+ function referencesInput(content) {
17
+ return (content.includes(migrations_inputNumberSurface_data.INPUT_PACKAGE) ||
18
+ new RegExp(migrations_inputNumberSurface_data.INPUT_TYPE).test(content) ||
19
+ new RegExp(migrations_inputNumberSurface_data.PASSWORD_TYPE).test(content));
20
+ }
21
+ const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
22
+ /**
23
+ * Identifiers in the file explicitly typed as `typeName` — through a type annotation, or a
24
+ * `viewChild(<typeName>)` / `viewChild.required(<typeName>)` initializer.
25
+ *
26
+ * Used for two opposite purposes. For `KbqInput` it suppresses a false positive: a member access on one
27
+ * of these can never be the `KbqFormFieldControl` surface this migration warns about, because `KbqInput`
28
+ * still owns it. For `KbqNumberInput` it is what scopes the signal-read rewrite, since `min`/`max`/`step`
29
+ * are far too common to match on the member name alone.
30
+ *
31
+ * Only this file's annotations are consulted — there is no cross-package type resolution — so a receiver
32
+ * whose type is inferred rather than written down is left alone.
33
+ */
34
+ function collectTypedNames(sourceFile, typeName) {
35
+ const names = new Set();
36
+ const isKbqInputTypeNode = (node) => !!node && ts.isTypeReferenceNode(node) && node.typeName.getText(sourceFile) === typeName;
37
+ const referencesKbqInput = (call) => call.arguments.some((argument) => ts.isIdentifier(argument) && argument.text === typeName);
38
+ const visit = (node) => {
39
+ if ((ts.isPropertyDeclaration(node) || ts.isVariableDeclaration(node) || ts.isParameter(node)) &&
40
+ ts.isIdentifier(node.name) &&
41
+ isKbqInputTypeNode(node.type)) {
42
+ names.add(node.name.text);
43
+ }
44
+ if (ts.isCallExpression(node) &&
45
+ /^viewChild(\.required)?$/.test(node.expression.getText(sourceFile)) &&
46
+ referencesKbqInput(node)) {
47
+ const owner = node.parent;
48
+ if ((ts.isPropertyDeclaration(owner) || ts.isVariableDeclaration(owner)) && ts.isIdentifier(owner.name)) {
49
+ names.add(owner.name.text);
50
+ }
51
+ }
52
+ ts.forEachChild(node, visit);
53
+ };
54
+ ts.forEachChild(sourceFile, visit);
55
+ return names;
56
+ }
57
+ /** The receiver name (capture group 1) of every `FORM_FIELD_CONTROL_MEMBER_PATTERN` match in `content`. */
58
+ function collectFormFieldControlReceivers(content) {
59
+ const regex = new RegExp(migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.pattern, 'g');
60
+ const receivers = [];
61
+ let match;
62
+ while ((match = regex.exec(content))) {
63
+ receivers.push(match[1]);
64
+ }
65
+ return receivers;
66
+ }
67
+ /**
68
+ * Whether `content` reads a removed `KbqFormFieldControl` member off something other than a provably
69
+ * `KbqInput`-typed reference. `KbqInput` keeps every one of these members, so a match whose receiver
70
+ * resolves to a `KbqInput`-typed identifier is a false positive, not a call site the rename broke.
71
+ * `.html` templates fall back to the plain existence check: a template-reference receiver (`#ref="kbqInput"`)
72
+ * is not resolved here.
73
+ */
74
+ function reportsFormFieldControlMember(filePath, content) {
75
+ const receivers = collectFormFieldControlReceivers(content);
76
+ if (receivers.length === 0)
77
+ return false;
78
+ if (!filePath.endsWith(TS_EXT))
79
+ return true;
80
+ const kbqInputTypedNames = collectTypedNames(createSourceFile(filePath, content), 'KbqInput');
81
+ return receivers.some((receiver) => !kbqInputTypedNames.has(receiver));
82
+ }
83
+ /** Applies text-span edits to `content`, right-to-left, so earlier edits don't shift later offsets. */
84
+ function applyEdits(content, edits) {
85
+ return [...edits]
86
+ .sort((a, b) => b.start - a.start || b.end - a.end)
87
+ .reduce((result, { start, end, text }) => result.slice(0, start) + text + result.slice(end), content);
88
+ }
89
+ /**
90
+ * Trailing identifier of a receiver expression: `input` for `input`, `numberInput` for
91
+ * `this.numberInput`. Anything else (a call, an index read) has no stable name and is skipped.
92
+ */
93
+ function receiverName(expression) {
94
+ if (ts.isIdentifier(expression))
95
+ return expression.text;
96
+ if (ts.isPropertyAccessExpression(expression) && ts.isIdentifier(expression.name))
97
+ return expression.name.text;
98
+ return null;
99
+ }
100
+ /**
101
+ * Rewrites `numberInput.min` to `numberInput.min()` on every receiver this file annotates as a
102
+ * `KbqNumberInput`. A write (`numberInput.min = 5`) is left alone and reported instead: the members are
103
+ * read-only `input()`s, so there is no `.set()` to rewrite to, and the binding is the replacement.
104
+ *
105
+ * Returns the rewritten content plus the distinct member names written to, for the caller to report.
106
+ */
107
+ function migrateSignalReads(content, filePath) {
108
+ const written = new Set();
109
+ if (!migrations_inputNumberSurface_data.SIGNAL_MEMBERS.some((member) => content.includes(member)))
110
+ return { content, written };
111
+ const sourceFile = createSourceFile(filePath, content);
112
+ const receivers = collectTypedNames(sourceFile, migrations_inputNumberSurface_data.NUMBER_INPUT_TYPE);
113
+ if (receivers.size === 0)
114
+ return { content, written };
115
+ const edits = [];
116
+ const visit = (node) => {
117
+ if (ts.isPropertyAccessExpression(node) &&
118
+ ts.isIdentifier(node.name) &&
119
+ migrations_inputNumberSurface_data.SIGNAL_MEMBERS.includes(node.name.text)) {
120
+ const name = receiverName(node.expression);
121
+ if (name && receivers.has(name)) {
122
+ const parent = node.parent;
123
+ const isWrite = ts.isBinaryExpression(parent) &&
124
+ parent.left === node &&
125
+ parent.operatorToken.kind === ts.SyntaxKind.EqualsToken;
126
+ // Already a call — `min()` — so the rewrite stays idempotent across repeated runs.
127
+ const isCalled = ts.isCallExpression(parent) && parent.expression === node;
128
+ if (isWrite)
129
+ written.add(node.name.text);
130
+ else if (!isCalled)
131
+ edits.push({ start: node.getEnd(), end: node.getEnd(), text: '()' });
132
+ }
133
+ }
134
+ node.forEachChild(visit);
135
+ };
136
+ visit(sourceFile);
137
+ return { content: edits.length > 0 ? applyEdits(content, edits) : content, written };
138
+ }
139
+ /**
140
+ * Template reference variables bound to the number input by `exportAs` — `#ref="kbqNumberInput"` and the
141
+ * `kbqNumericalInput` alias. Matched textually: the templates this runs over are the consumer's, and a
142
+ * full template parse would still not tell us the directive's type.
143
+ */
144
+ function collectTemplateRefs(template) {
145
+ const pattern = new RegExp(`#([A-Za-z_$][\\w$]*)\\s*=\\s*["'](?:${migrations_inputNumberSurface_data.NUMBER_INPUT_EXPORT_AS.join('|')})["']`, 'g');
146
+ return [...template.matchAll(pattern)].map((match) => match[1]);
147
+ }
148
+ /**
149
+ * Names this file imports from `@koobiq/components/input` that were renamed. A name can only be bound
150
+ * once per module, so a name imported from koobiq here cannot also be the `@angular/forms` export of the
151
+ * same spelling — which is what makes a whole-file rename of it safe.
152
+ */
153
+ function collectRenamedImports(sourceFile) {
154
+ const imported = new Set();
155
+ for (const statement of sourceFile.statements) {
156
+ if (!ts.isImportDeclaration(statement) ||
157
+ !ts.isStringLiteralLike(statement.moduleSpecifier) ||
158
+ statement.moduleSpecifier.text !== migrations_inputNumberSurface_data.INPUT_PACKAGE) {
159
+ continue;
160
+ }
161
+ const bindings = statement.importClause?.namedBindings;
162
+ if (!bindings || !ts.isNamedImports(bindings))
163
+ continue;
164
+ for (const element of bindings.elements) {
165
+ // `import { MinValidator as Lower }` binds a different local name; the import itself is
166
+ // rewritten by the propertyName branch, and the alias keeps working untouched.
167
+ imported.add((element.propertyName ?? element.name).text);
168
+ }
169
+ }
170
+ return migrations_inputNumberSurface_data.RENAMED_EXPORTS.filter(([from]) => imported.has(from));
171
+ }
172
+ /** Rewrites the removed export names to their prefixed replacements, scoped to this file's imports. */
173
+ function migrateRenamedExports(content, filePath) {
174
+ if (!migrations_inputNumberSurface_data.RENAMED_EXPORTS.some(([from]) => content.includes(from)))
175
+ return content;
176
+ const renames = collectRenamedImports(createSourceFile(filePath, content));
177
+ if (renames.length === 0)
178
+ return content;
179
+ // Longest first, so `MIN_VALIDATOR` is never matched as part of a longer identifier by a shorter
180
+ // pattern; `\b` on both ends keeps `KbqMinValidator` itself from matching `MinValidator`.
181
+ return [...renames]
182
+ .sort(([a], [b]) => b.length - a.length)
183
+ .reduce((result, [from, to]) => result.replace(new RegExp(`(?<![\\w$])${from}(?![\\w$])`, 'g'), to), content);
184
+ }
185
+ /**
186
+ * Renames the dropped kebab-case `big-step` to `bigStep`, within the same `<input>` tag as the
187
+ * directive so an unrelated element's attribute of that name is untouched. Both binding forms, and
188
+ * both attribute orders — the directive may sit before or after the attribute.
189
+ */
190
+ function migrateBigStepAttribute(template) {
191
+ if (!template.includes('big-step'))
192
+ return template;
193
+ return template.replace(/<input\b[^>]*>/g, (tag) => /\bkbqNumberInput\b/.test(tag) ? tag.replace(/(\[?)big-step(\]?)\s*=/g, '$1bigStep$2=') : tag);
194
+ }
195
+ /** Rewrites `ref.min` to `ref.min()` for template refs bound to the number input, and renames `big-step`. */
196
+ function migrateTemplate(template) {
197
+ let content = migrateBigStepAttribute(template);
198
+ const refs = collectTemplateRefs(content);
199
+ const members = migrations_inputNumberSurface_data.SIGNAL_MEMBERS.join('|');
200
+ for (const ref of refs) {
201
+ // `(?!\s*\()` skips anything already invoked, so a second run is a no-op.
202
+ content = content.replace(new RegExp(`\\b(${ref})\\.(${members})\\b(?!\\s*\\()`, 'g'), '$1.$2()');
203
+ }
204
+ return { content, changed: content !== template };
205
+ }
206
+ /**
207
+ * Rewrites reads of the `KbqNumberInput` members that became `input()` signals — `min`, `max`, `step`,
208
+ * `bigStep` — on a receiver this file annotates as a `KbqNumberInput`, and on a template reference bound
209
+ * through the directive's `exportAs`.
210
+ *
211
+ * Reports the rest: the members that disappeared with the unimplemented `KbqFormFieldControl` surface,
212
+ * the validator classes that gained a `Kbq` prefix, the `EventEmitter` → `Subject` change, and the two
213
+ * behaviors that changed without a call site to point at — the `type="number"` reset and the removed
214
+ * `valueAsNumber` prototype patch. A removed member that was always `undefined` has no replacement
215
+ * expression, so none of that half can be written.
216
+ *
217
+ * `.html` is visited as well as `.ts`, because `type="number"` is markup.
218
+ */
219
+ function inputNumberSurface(options) {
220
+ return async (tree, context) => {
221
+ const { project } = options;
222
+ // `migrations.json` registers this without a schema, so the schema default never reaches us;
223
+ // applying the fix is the intended behavior of `ng update`.
224
+ const fix = options.fix ?? true;
225
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
226
+ const root = projectDefinition?.root ?? '';
227
+ const rootDir = root ? tree.getDir(root) : tree.root;
228
+ let consumers = 0;
229
+ let reported = 0;
230
+ let touched = 0;
231
+ const pending = [];
232
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
233
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
234
+ return;
235
+ const content = entry?.content.toString();
236
+ if (!content || !referencesInput(content))
237
+ return;
238
+ consumers++;
239
+ for (const { anchor, pattern, message } of migrations_inputNumberSurface_data.warnPatterns) {
240
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
241
+ continue;
242
+ reported++;
243
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
244
+ }
245
+ if (new RegExp(migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.anchor).test(content) &&
246
+ reportsFormFieldControlMember(filePath, content)) {
247
+ reported++;
248
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.message}`]);
249
+ }
250
+ const isTs = filePath.endsWith(TS_EXT);
251
+ // A `.ts` file carries both programmatic reads and any inline template; an `.html` file only
252
+ // the latter. Both passes run on a `.ts` file, so `#ref="kbqNumberInput"` in an inline
253
+ // template is reached too.
254
+ const { content: afterReads, written } = isTs
255
+ ? migrateSignalReads(content, filePath)
256
+ : { content, written: new Set() };
257
+ const afterRenames = isTs ? migrateRenamedExports(afterReads, filePath) : afterReads;
258
+ const { content: updated } = migrateTemplate(afterRenames);
259
+ if (written.size > 0) {
260
+ reported++;
261
+ utils_messages.logMessage(context.logger, [
262
+ `${LABEL} ${filePath}`,
263
+ ` ${[...written].join(', ')} on KbqNumberInput ${written.size === 1 ? 'is' : 'are'} a ` +
264
+ 'read-only input() and cannot be assigned. Bind the value in the template instead ' +
265
+ '([min]="…"); a programmatic write has no .set() to migrate to.'
266
+ ]);
267
+ }
268
+ if (updated === content)
269
+ return;
270
+ touched++;
271
+ if (fix)
272
+ pending.push({ filePath, content: updated });
273
+ else
274
+ utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
275
+ });
276
+ // Written after the walk: overwriting during `visit` re-enters the visitor on some Tree backends.
277
+ for (const { filePath, content } of pending) {
278
+ tree.overwrite(filePath, content);
279
+ }
280
+ // Nothing here uses the input, so the summary would only be noise.
281
+ if (consumers === 0)
282
+ return;
283
+ utils_messages.logMessage(context.logger, [
284
+ `${LABEL} processed kbqInput under "${root || '<workspace root>'}", ` +
285
+ `${consumers} file(s) reference the package, ${reported} call site(s) reported, ` +
286
+ `${fix ? 'updated' : 'would update'} ${touched} file(s).`,
287
+ ...migrations_inputNumberSurface_data.SUMMARY
288
+ ]);
289
+ };
290
+ }
291
+
292
+ exports.default = inputNumberSurface;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-input-number-surface",
4
+ "title": "Koobiq components input review migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies the signal-read replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ # input-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for `21.0.0-0`).
4
+ Reports programmatic writes to the signal inputs of `KbqNumberInput` and `KbqInput`. It never writes to the tree.
5
+
6
+ ## Background
7
+
8
+ `KbqNumberInput.value`, `KbqNumberInput.disabled` and `KbqInput.type` are signal inputs read through a getter. A read
9
+ is unchanged; a write no longer compiles.
10
+
11
+ | Write | Manual migration |
12
+ | --------------------------------------------------- | ------------------------------------------------------ |
13
+ | `numberInput.value = …`, `numberInput.disabled = …` | Bind `[value]` / `[disabled]`, or use the form control |
14
+ | `input.type = …` | Bind `[type]` |
15
+
16
+ ## Running it manually
17
+
18
+ ```bash
19
+ ng g @koobiq/components:input-signals --project "<your project>"
20
+ ```
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `input-signals` migration.
5
+ *
6
+ * `KbqNumberInput.value` / `.disabled` and `KbqInput.type` are signal inputs read through a getter now. Reads are
7
+ * unchanged; a programmatic write no longer compiles. Warn-only: the write belongs in a binding or a form control.
8
+ */
9
+ const warnPatterns = [
10
+ {
11
+ anchor: '\\bKbqNumberInput\\b|\\bkbqNumberInput\\b',
12
+ pattern: '\\.\\s*(?:value|disabled)\\s*=[^=]',
13
+ message: 'KbqNumberInput.value and .disabled are signal inputs read through a getter now, so a programmatic ' +
14
+ 'write no longer compiles. Bind [value] / [disabled], or write through the form control. This ' +
15
+ 'pattern also matches a write to an unrelated object in the same file — check before changing it.'
16
+ },
17
+ {
18
+ anchor: '\\bKbqInput\\b',
19
+ pattern: '\\.\\s*type\\s*=[^=]',
20
+ message: 'KbqInput.type is a signal input read through a getter now, so a programmatic write no longer ' +
21
+ 'compiles. Bind [type] instead. This pattern also matches a write to an unrelated object in the ' +
22
+ 'same file — check before changing it.'
23
+ }
24
+ ];
25
+ const SUMMARY = [
26
+ 'KbqNumberInput.value / .disabled and KbqInput.type are read as before; only programmatic writes are gone.'
27
+ ];
28
+
29
+ exports.SUMMARY = SUMMARY;
30
+ 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_inputSignals_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 programmatic writes to the signal inputs of `KbqNumberInput` and `KbqInput`. Never writes. */
13
+ function inputSignals(options) {
14
+ return warnOnlyMigration.warnOnlyRule({ label: '[input-signals]', warnPatterns: migrations_inputSignals_data.warnPatterns, summary: migrations_inputSignals_data.SUMMARY }, options);
15
+ }
16
+
17
+ exports.default = inputSignals;