@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,288 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ts = require('typescript');
6
+ var utils_ast = require('../../utils/ast.js');
7
+ var utils_messages = require('../../utils/messages.js');
8
+ var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
9
+ var utils_typescript = require('../../utils/typescript.js');
10
+ var migrations_dropdownDemoteOverlay_data = require('./data.js');
11
+ require('@angular-devkit/schematics');
12
+ require('@schematics/angular/utility');
13
+
14
+ const TS_EXT = '.ts';
15
+ const HTML_EXT = '.html';
16
+ const SCSS_EXT = '.scss';
17
+ const CSS_EXT = '.css';
18
+ const LABEL = '[dropdown-demote-overlay]';
19
+ function escapeRegExp(value) {
20
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
21
+ }
22
+ /** `demoteOverlay`, `[demoteOverlay]` and `bind-demoteOverlay` all name the same input. */
23
+ function attributeName(name) {
24
+ return utils_ast.getSimpleAttributeName(name).replace(/^bind-/, '');
25
+ }
26
+ /** Collects the source span of every `demoteOverlay` attribute in a parsed template. */
27
+ class RemovedAttributeCollector {
28
+ constructor() {
29
+ this.spans = [];
30
+ }
31
+ visitElement(element) {
32
+ for (const attr of element.attrs ?? []) {
33
+ if (typeof attr.name !== 'string' || attributeName(attr.name) !== migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE)
34
+ continue;
35
+ this.spans.push({ start: attr.sourceSpan.start.offset, end: attr.sourceSpan.end.offset });
36
+ }
37
+ this.visitChildren(element);
38
+ }
39
+ visitBlock(block) {
40
+ this.visitChildren(block);
41
+ }
42
+ visitChildren(node) {
43
+ for (const child of node.children ?? []) {
44
+ child.visit(this);
45
+ }
46
+ }
47
+ visitAttribute() { }
48
+ visitText() { }
49
+ visitComment() { }
50
+ visitExpansion() { }
51
+ visitExpansionCase() { }
52
+ visitBlockParameter() { }
53
+ visitLetDeclaration() { }
54
+ }
55
+ /**
56
+ * Deletes the given spans, each together with the whitespace that separated it
57
+ * from the previous attribute: an inline attribute takes its leading spaces, one
58
+ * written on its own line takes the line break and the indent as well, so the tag
59
+ * is not left with a blank line.
60
+ */
61
+ function removeSpans(content, spans) {
62
+ let result = content;
63
+ // Right-to-left, so earlier offsets stay valid.
64
+ for (const { start, end } of [...spans].sort((a, b) => b.start - a.start)) {
65
+ let from = start;
66
+ while (from > 0 && (result[from - 1] === ' ' || result[from - 1] === '\t'))
67
+ from--;
68
+ if (result[from - 1] === '\n') {
69
+ from--;
70
+ if (result[from - 1] === '\r')
71
+ from--;
72
+ }
73
+ result = result.slice(0, from) + result.slice(end);
74
+ }
75
+ return result;
76
+ }
77
+ /**
78
+ * Removes every `demoteOverlay` attribute from a template. Returns `null` when
79
+ * the template could not be parsed — editing it blind is how a regex-based
80
+ * migration corrupts binding expressions, so the caller warns instead.
81
+ */
82
+ async function migrateTemplate(template) {
83
+ if (!template.includes(migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE))
84
+ return template;
85
+ const parsed = await utils_typescript.parseTemplate(template);
86
+ if (!parsed.tree)
87
+ return null;
88
+ const collector = new RemovedAttributeCollector();
89
+ utils_ast.visitAll(collector, parsed.tree.rootNodes);
90
+ return removeSpans(template, collector.spans);
91
+ }
92
+ /**
93
+ * Applies the template migration to every inline `@Component({ template })` literal
94
+ * of a `.ts` source.
95
+ *
96
+ * Scoping matters: a wrapper component may legitimately declare its own
97
+ * `demoteOverlay` member (e.g. `@Input() demoteOverlay = false;`) that forwards
98
+ * to the trigger. Only the binding in its template is removed; the now-dead
99
+ * member is left for the compiler to flag.
100
+ */
101
+ async function migrateInlineTemplates(content, sourceFile, onParseError) {
102
+ let result = content;
103
+ // Splice right-to-left so earlier offsets stay valid.
104
+ for (const { start, end } of utils_typescript.collectInlineTemplateRanges(sourceFile).sort((a, b) => b.start - a.start)) {
105
+ const migrated = await migrateTemplate(result.slice(start, end));
106
+ if (migrated === null) {
107
+ onParseError();
108
+ continue;
109
+ }
110
+ result = result.slice(0, start) + migrated + result.slice(end);
111
+ }
112
+ return result;
113
+ }
114
+ const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
115
+ /** A `{ provide: KBQ_DROPDOWN_HOST, … }` object literal used as an element of a provider array. */
116
+ function isProviderEntry(node) {
117
+ return (ts.isObjectLiteralExpression(node) &&
118
+ ts.isArrayLiteralExpression(node.parent) &&
119
+ node.properties.some((prop) => ts.isPropertyAssignment(prop) &&
120
+ (ts.isIdentifier(prop.name) || ts.isStringLiteralLike(prop.name)) &&
121
+ prop.name.text === 'provide' &&
122
+ ts.isIdentifier(prop.initializer) &&
123
+ prop.initializer.text === migrations_dropdownDemoteOverlay_data.PROVIDER_TOKEN));
124
+ }
125
+ /**
126
+ * Spans of every `KBQ_DROPDOWN_HOST` provider entry.
127
+ *
128
+ * Being an array element is what makes the entry safe to delete: a provider
129
+ * object bound to a name (`export const HOST_PROVIDER = { provide: KBQ_DROPDOWN_HOST, … };`)
130
+ * or returned from a function is not an element of anything, and cutting it out
131
+ * would leave `= ;` behind. Those are reported by the leftover-token warning instead.
132
+ */
133
+ function collectProviderEntrySpans(sourceFile) {
134
+ const spans = [];
135
+ const visit = (node) => {
136
+ if (isProviderEntry(node)) {
137
+ spans.push({ start: node.getStart(sourceFile), end: node.getEnd() });
138
+ }
139
+ ts.forEachChild(node, visit);
140
+ };
141
+ ts.forEachChild(sourceFile, visit);
142
+ return spans;
143
+ }
144
+ /** A comma and the whitespace — at most one line break — that separates two array elements. */
145
+ const SEPARATOR_BEFORE = /,[ \t]*\r?\n?[ \t]*$/;
146
+ const SEPARATOR_AFTER = /^,[ \t]*\r?\n?[ \t]*/;
147
+ /**
148
+ * Deletes the given provider entries, each together with exactly one adjacent
149
+ * separator — the preceding one when the entry has one — so the array keeps its
150
+ * shape and nothing outside the entry is reformatted.
151
+ */
152
+ function removeProviderEntries(content, spans) {
153
+ let result = content;
154
+ // Right-to-left, so earlier offsets stay valid.
155
+ for (const { start, end } of [...spans].sort((a, b) => b.start - a.start)) {
156
+ const before = SEPARATOR_BEFORE.exec(result.slice(0, start));
157
+ const after = before ? null : SEPARATOR_AFTER.exec(result.slice(end));
158
+ result = result.slice(0, before ? before.index : start) + result.slice(end + (after ? after[0].length : 0));
159
+ }
160
+ return result;
161
+ }
162
+ /**
163
+ * Idempotently strips `symbol` from any `import { … } from 'from'` clause.
164
+ * - Multi-symbol clause: drop just that symbol, keep the others.
165
+ * - Single-symbol clause: drop the whole import line.
166
+ */
167
+ function removeImport(content, symbol, from) {
168
+ // The trailing part deliberately stops after a single newline (`[ \t]*\r?\n?`
169
+ // rather than `\s*\n?`): dropping the whole import line must not also swallow
170
+ // the blank line that separates the import block from the code below it.
171
+ const moduleRe = new RegExp(`(import\\s*(?:type\\s*)?\\{)([^}]*)(\\}\\s*from\\s*['"]${escapeRegExp(from)}['"];?[ \\t]*\\r?\\n?)`, 'g');
172
+ return content.replace(moduleRe, (full, open, body, close) => {
173
+ const items = body
174
+ .split(',')
175
+ .map((item) => item.trim())
176
+ .filter(Boolean);
177
+ // An already-empty clause is somebody else's import — leave it alone.
178
+ if (items.length === 0)
179
+ return full;
180
+ // Handle `<name> as <alias>` — match on the source name, not the alias.
181
+ const kept = items.filter((spec) => spec.split(/\s+as\s+/)[0].trim() !== symbol);
182
+ if (kept.length === items.length)
183
+ return full;
184
+ if (kept.length === 0)
185
+ return '';
186
+ return `${open} ${kept.join(', ')} ${close}`;
187
+ });
188
+ }
189
+ /**
190
+ * Drops a `providers` property the removal left empty. Angular treats
191
+ * `providers: []` as a no-op, so this is purely cosmetic — but leaving it
192
+ * behind in a decorator whose only provider was `KBQ_DROPDOWN_HOST` looks like
193
+ * an unfinished migration.
194
+ */
195
+ function dropEmptyProvidersProperty(content) {
196
+ return content.replace(/[ \t]*providers:\s*\[\s*\],?[ \t]*\r?\n/g, '').replace(/,?[ \t]*providers:\s*\[\s*\]/g, '');
197
+ }
198
+ function logWarnings(context, filePath, content, patterns) {
199
+ for (const { pattern, message } of patterns) {
200
+ if (new RegExp(pattern).test(content)) {
201
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
202
+ }
203
+ }
204
+ }
205
+ function pickWarnPatterns(filePath) {
206
+ if (filePath.endsWith(TS_EXT))
207
+ return [...migrations_dropdownDemoteOverlay_data.tsWarnPatterns, ...migrations_dropdownDemoteOverlay_data.templateWarnPatterns];
208
+ if (filePath.endsWith(HTML_EXT))
209
+ return migrations_dropdownDemoteOverlay_data.templateWarnPatterns;
210
+ return migrations_dropdownDemoteOverlay_data.styleWarnPatterns;
211
+ }
212
+ function isMigratableFile(filePath) {
213
+ return (filePath.endsWith(TS_EXT) ||
214
+ filePath.endsWith(HTML_EXT) ||
215
+ filePath.endsWith(SCSS_EXT) ||
216
+ filePath.endsWith(CSS_EXT));
217
+ }
218
+ function dropdownDemoteOverlay(options) {
219
+ return async (tree, context) => {
220
+ const { project } = options;
221
+ // `ng update` invokes migrations with no options at all, and migrations.json
222
+ // declares no schema, so the schema default never reaches us — applying the
223
+ // fix is the intended behaviour there.
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
+ const filePaths = [];
229
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
230
+ if (!isMigratableFile(filePath))
231
+ return;
232
+ filePaths.push(filePath);
233
+ });
234
+ let touched = 0;
235
+ for (const filePath of filePaths) {
236
+ const originalContent = tree.read(filePath)?.toString();
237
+ if (!originalContent)
238
+ continue;
239
+ let content = originalContent;
240
+ let unparseable = false;
241
+ const reportParseError = () => (unparseable = true);
242
+ // Parsing every `.ts` of the project is not free, and nothing can change in
243
+ // a file that mentions neither the token nor the input.
244
+ const mentionsRemovedApi = content.includes(migrations_dropdownDemoteOverlay_data.PROVIDER_TOKEN) || content.includes(migrations_dropdownDemoteOverlay_data.REMOVED_ATTRIBUTE);
245
+ if (filePath.endsWith(TS_EXT) && mentionsRemovedApi) {
246
+ let sourceFile = createSourceFile(filePath, content);
247
+ const withoutProvider = removeProviderEntries(content, collectProviderEntrySpans(sourceFile));
248
+ if (withoutProvider !== content) {
249
+ content = dropEmptyProvidersProperty(removeImport(withoutProvider, migrations_dropdownDemoteOverlay_data.PROVIDER_IMPORT.symbol, migrations_dropdownDemoteOverlay_data.PROVIDER_IMPORT.from));
250
+ // Those edits moved every offset that followed them.
251
+ sourceFile = createSourceFile(filePath, content);
252
+ }
253
+ content = await migrateInlineTemplates(content, sourceFile, reportParseError);
254
+ }
255
+ else if (filePath.endsWith(HTML_EXT)) {
256
+ const migrated = await migrateTemplate(content);
257
+ if (migrated === null)
258
+ reportParseError();
259
+ else
260
+ content = migrated;
261
+ }
262
+ // Warn on what is left over, so an auto-fixed usage does not also
263
+ // produce a "manual migration required" note. In dry-run mode the
264
+ // fix is not written, so report against the original content.
265
+ logWarnings(context, filePath, fix ? content : originalContent, pickWarnPatterns(filePath));
266
+ if (unparseable) {
267
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_dropdownDemoteOverlay_data.UNPARSEABLE_TEMPLATE_MESSAGE}`]);
268
+ }
269
+ if (content === originalContent)
270
+ continue;
271
+ touched++;
272
+ if (fix) {
273
+ tree.overwrite(filePath, content);
274
+ }
275
+ else {
276
+ utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
277
+ }
278
+ }
279
+ utils_messages.logMessage(context.logger, [
280
+ `${LABEL} processed tree under "${root || '<workspace root>'}", ` +
281
+ `${fix ? 'updated' : 'would update'} ${touched} file(s).`,
282
+ '',
283
+ ...migrations_dropdownDemoteOverlay_data.BEHAVIOUR_NOTE
284
+ ]);
285
+ };
286
+ }
287
+
288
+ exports.default = dropdownDemoteOverlay;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-dropdown-demote-overlay",
4
+ "title": "Koobiq components overlay demotion removal",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,83 @@
1
+ # dropdown-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
4
+ `21.0.0-0`). Migrates `KbqDropdown`, `KbqDropdownTrigger` and `KbqDropdownItem` consumers to the
5
+ signal-based API the component review landed.
6
+
7
+ ## Background
8
+
9
+ The dropdown was the only component in the v21 review campaign whose decorators were left in place —
10
+ its siblings (`badge`, `autocomplete`, `markdown`, `progress-spinner`) each shipped a `*-signals`
11
+ migration, and the dropdown shipped none. Two notes in the source deferred the work explicitly:
12
+
13
+ ```ts
14
+ // The inputs below stay decorators on purpose: in-repo consumers assign to them imperatively […]
15
+ // Migrating them is a breaking change owned by the next major.
16
+ ```
17
+
18
+ v21 is that next major. Twenty of the twenty-one members are signals now; the one that stayed is at the
19
+ bottom of this page.
20
+
21
+ ## What it rewrites
22
+
23
+ A read becomes a call, scoped to the type that declares the member:
24
+
25
+ | Type | Members |
26
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | `KbqDropdown` | `xPosition`, `yPosition`, `overlapTriggerX`, `overlapTriggerY`, `hasBackdrop`, `backdropClass`, `templateRef`, `items`, `lazyContent` |
28
+ | `KbqDropdownTrigger` | `offsetX`, `offsetY`, `data`, `openByArrowDown`, `restoreFocus`, `dropdown` |
29
+ | `KbqDropdownItem` | `disabled`, `icon` |
30
+
31
+ Seven of them are `model()`s, so a write has a mechanical translation:
32
+
33
+ | Before | After |
34
+ | --------------------------------- | ------------------------------------ |
35
+ | `panel.xPosition = 'before'` | `panel.xPosition.set('before')` |
36
+ | `panel.overlapTriggerX = false` | `panel.overlapTriggerX.set(false)` |
37
+ | `trigger.offsetX = -8` | `trigger.offsetX.set(-8)` |
38
+ | `trigger.openByArrowDown = false` | `trigger.openByArrowDown.set(false)` |
39
+
40
+ They are `model()`s rather than `input()`s because in-repo hosts position the panel they were handed:
41
+ `kbq-split-button` writes `xPosition`, and `kbq-navbar-item` writes both overlap flags, `offsetX` and
42
+ `openByArrowDown`. A write to a read-only input (`hasBackdrop`, `restoreFocus`, `data`, …) is left
43
+ untouched and becomes a compile error the consumer fixes by hand.
44
+
45
+ Receivers are found by explicit type annotation and by the `inject()` / `viewChild()` /
46
+ `contentChild()` initializer forms, and through template reference variables — a bare `#ref` on
47
+ `<kbq-dropdown>` or `<kbq-dropdown-item>`, and `#ref="kbqDropdownTrigger"` on a trigger host. Reads
48
+ already migrated are left alone, so the schematic is idempotent.
49
+
50
+ **Input aliases did not change.** `[xPosition]`, `[panelWidth]`, `class`, `[kbqDropdownTriggerFor]`
51
+ and the rest bind exactly as before; only programmatic access moved.
52
+
53
+ ## What it reports rather than fixes
54
+
55
+ - **`items` is a `Signal<readonly KbqDropdownItem[]>`, not a `QueryList`.** `items().length` and the
56
+ array methods on `items()` work; `changes`, `first`, `last` and `toArray()` do not. Use
57
+ `toObservable(panel.items)` for the stream, and the new `adoptItems()` in place of `items.reset(…)`.
58
+ - **`closed` is an `output()`.** It has `emit()` and `subscribe(fn)`, but no `pipe()`,
59
+ `asObservable()` or `complete()`. Wrap it in `outputToObservable(panel.closed)`.
60
+ - **`classList` is `protected`.** It is one `computed` over the position classes, the safe-area class
61
+ and the `class` input. Set `class` on `<kbq-dropdown>` to add your own.
62
+ - **`KbqDropdownPanel` changed shape throughout.** A custom panel has to be updated by hand.
63
+ - **Signal queries hold the instance behind a call of their own**, so a read through
64
+ `viewChild(KbqDropdown)` is `this.panel().items()`. Those are resolved where the query is assigned
65
+ to a field; other shapes are reported.
66
+
67
+ ## Changes with no call site to match on
68
+
69
+ - `model()` takes no `transform`, so the seven writable members no longer coerce a string attribute:
70
+ use `[overlapTriggerX]="true"`, not `overlapTriggerX="true"`.
71
+ - `KbqDropdownItem.disabled` is a signal, and `ListKeyManagerOption.disabled` accepts one. A custom
72
+ option that reads `item.disabled` as a plain property is broken by this — a signal is a function,
73
+ so every item reads as disabled, and both the arrow skip and the typeahead match silently stop
74
+ working. Check `typeof item.disabled === 'function'` before reading it.
75
+ - `KbqDropdownItem.textElement` is still read as a property: a getter typed `ElementRef`. It implements `KbqTitleTextRef`, which `KbqTitle` and
76
+ five other components read as a plain property.
77
+
78
+ ## Options
79
+
80
+ | Option | Default | Description |
81
+ | --------- | ------- | -------------------------------------------------------------------- |
82
+ | `project` | — | Project to migrate. Omitted, the migration runs over the whole tree. |
83
+ | `fix` | `true` | When false, prints what would change without writing. |
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `dropdown-signals` migration.
5
+ *
6
+ * The dropdown was the only component in the v21 review campaign whose decorators were left in place.
7
+ * Twenty of its twenty-one `@Input`/`@Output`/query members moved to the signal API. Seventeen of those
8
+ * are read through — the members listed below — so every programmatic read of one is a call.
9
+ *
10
+ * Seven are `model()`s rather than `input()`s, because another component writes them on the instance it
11
+ * was handed: `kbq-split-button` writes `xPosition`, `kbq-navbar-item` writes both overlap flags, `offsetX`
12
+ * and `openByArrowDown`, and `KbqOptionActionComponent` writes `restoreFocus`. A write to one of those has a mechanical translation to `.set(...)`; a write to a
13
+ * read-only input does not, and is left to become a compile error.
14
+ *
15
+ * `KbqDropdownItem.textElement` is deliberately absent: it implements `KbqTitleTextRef`, a contract five
16
+ * other components implement as a plain property, so it is a getter typed `ElementRef`.
17
+ *
18
+ * `KbqDropdownTrigger.dropdownClosed` is an `output()` now. Its reads are not rewritten — it is an event,
19
+ * not a value — but an operator chain over it is reported, the same as over the panel's `closed`.
20
+ */
21
+ const DROPDOWN_ANCHOR = '\\bKbqDropdown\\w*\\b';
22
+ /** Which members each type owns. A receiver resolves to one type, so the rewrite is scoped by it. */
23
+ const MEMBERS_BY_TYPE = {
24
+ KbqDropdown: [
25
+ 'xPosition',
26
+ 'yPosition',
27
+ 'overlapTriggerX',
28
+ 'overlapTriggerY',
29
+ 'hasBackdrop',
30
+ 'backdropClass',
31
+ 'templateRef',
32
+ 'items',
33
+ 'lazyContent'
34
+ ],
35
+ KbqDropdownTrigger: ['offsetX', 'offsetY', 'data', 'openByArrowDown', 'restoreFocus', 'dropdown'],
36
+ KbqDropdownItem: ['disabled', 'icon']
37
+ };
38
+ /**
39
+ * `exportAs` names a template reference can be bound to. The trigger is a directive on an arbitrary
40
+ * element, so `#t="kbqDropdownTrigger"` is the only way a template names it.
41
+ */
42
+ const EXPORT_AS_TO_TYPE = {
43
+ kbqDropdown: 'KbqDropdown',
44
+ kbqDropdownTrigger: 'KbqDropdownTrigger',
45
+ kbqDropdownItem: 'KbqDropdownItem'
46
+ };
47
+ /** Element selectors whose bare `#ref` points at one of the migrated types. */
48
+ const ELEMENT_TO_TYPE = {
49
+ 'kbq-dropdown': 'KbqDropdown',
50
+ 'kbq-dropdown-item': 'KbqDropdownItem'
51
+ };
52
+ /** The `model()` members, whose `x = v` becomes `x.set(v)`. */
53
+ const WRITABLE_MEMBERS = new Set([
54
+ 'xPosition',
55
+ 'yPosition',
56
+ 'overlapTriggerX',
57
+ 'overlapTriggerY',
58
+ 'offsetX',
59
+ 'openByArrowDown',
60
+ 'restoreFocus'
61
+ ]);
62
+ /** Members that moved from `public` to `protected` and can no longer be read from outside. */
63
+ const PROTECTED_MEMBERS = ['classList'];
64
+ const PROTECTED_HINT = 'It is derived state now — the position classes, the safe-area class and the `class` input are ' +
65
+ 'folded into one `computed`. Set `class` on `<kbq-dropdown>` to add your own.';
66
+ const warnPatterns = [
67
+ {
68
+ anchor: DROPDOWN_ANCHOR,
69
+ pattern: '\\bitems\\s*\\.\\s*(?:reset|notifyOnChanges|toArray|forEach|filter|map|find|some)\\s*\\(|\\bitems\\s*\\.\\s*(?:changes|first|last)\\b',
70
+ message: '`KbqDropdown.items` is a `Signal<readonly KbqDropdownItem[]>` now, not a `QueryList`. ' +
71
+ '`items().length` and the array methods on `items()` still work; `changes`, `first`, `last` and ' +
72
+ '`toArray()` do not. Use `toObservable(panel.items)` for the stream, and `adoptItems()` instead ' +
73
+ 'of `items.reset(...)`.'
74
+ },
75
+ {
76
+ anchor: DROPDOWN_ANCHOR,
77
+ pattern: '\\b(?:closed|dropdownClosed)\\s*\\.\\s*(?:pipe|asObservable|complete|subscribe\\s*\\([^)]*,)',
78
+ message: '`KbqDropdown.closed` and `KbqDropdownTrigger.dropdownClosed` are `output()`s now. Each has ' +
79
+ '`emit()` and `subscribe(fn)`, but no ' +
80
+ '`pipe()`, `asObservable()` or `complete()`, and `subscribe` takes a single callback. Wrap it ' +
81
+ 'in `outputToObservable(panel.closed)` from `@angular/core/rxjs-interop` to keep an operator chain.'
82
+ },
83
+ {
84
+ anchor: DROPDOWN_ANCHOR,
85
+ pattern: 'implements\\s+[^{]*\\bKbqDropdownPanel\\b',
86
+ message: 'Every member of `KbqDropdownPanel` changed shape: `xPosition`, `yPosition` and both overlap ' +
87
+ 'flags are `WritableSignal`s, `templateRef`, `hasBackdrop`, `backdropClass` and `lazyContent` are ' +
88
+ '`Signal`s, `items` is a `Signal<readonly KbqDropdownItem[]>`, and `closed` is an ' +
89
+ '`OutputEmitterRef`. A custom panel has to be updated by hand; the optional `adoptItems` replaces ' +
90
+ 'the `items.reset(...)` the trigger used to perform on it.'
91
+ },
92
+ {
93
+ anchor: DROPDOWN_ANCHOR,
94
+ pattern: '\\b(?:viewChild|contentChild)(?:\\s*\\.\\s*required)?\\s*(?:<[^<>()]*>)?\\s*\\(\\s*KbqDropdown(?:Trigger|Item)?\\b',
95
+ message: 'A `viewChild(KbqDropdown)` / `contentChild(KbqDropdownItem)` query is itself a signal, so ' +
96
+ 'reading a member through it is a double call: `this.panel().items()`. Those reads are resolved ' +
97
+ 'and rewritten where the query is assigned to a field; check any other shape by hand.'
98
+ },
99
+ {
100
+ anchor: DROPDOWN_ANCHOR,
101
+ pattern: '\\bpanelClass\\s*=[^=]',
102
+ message: "`KbqDropdown.panelClass` was a write-only `@Input('class')` and is a read-only `input()` " +
103
+ 'aliased to `class` now. Set it in the template — `<kbq-dropdown class="...">` or ' +
104
+ '`[class]="..."` — rather than assigning to the property.'
105
+ }
106
+ ];
107
+ const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders a dropdown but could not be parsed, so it was left untouched. Migrate reads ' +
108
+ 'through its template reference variables by hand.';
109
+ const UNRESOLVED_RECEIVER_MESSAGE = 'A dropdown type is used here in a way this migration cannot resolve to a single receiver, so any ' +
110
+ 'signal read through it was left untouched. Check these lines by hand:';
111
+ const SUMMARY = [
112
+ ' Seventeen members across `KbqDropdown`, `KbqDropdownTrigger` and `KbqDropdownItem` are signals now, so ' +
113
+ 'a read is a call. A read left un-called is silent in a template: `{{ panel.xPosition }}` prints the ' +
114
+ 'function source, and `@if (item.disabled)` is always true.',
115
+ ' `xPosition`, `yPosition`, `overlapTriggerX`, `overlapTriggerY`, `offsetX`, `openByArrowDown` and ' +
116
+ '`restoreFocus` are ' +
117
+ '`model()`s, so a write becomes `.set(...)`. `model()` takes no `transform`, so they no longer coerce ' +
118
+ 'a string attribute: use `[overlapTriggerX]="true"`, not `overlapTriggerX="true"`.',
119
+ ' `KbqDropdownItem.disabled` is a signal, and `ListKeyManagerOption.disabled` accepts one. A custom ' +
120
+ 'option that passes a signal to a key manager works; one that reads `item.disabled` as a plain ' +
121
+ 'property does not — a signal is a function, so every item reads as disabled.',
122
+ ' `KbqDropdownItem.textElement` is unchanged. It implements `KbqTitleTextRef`, which `KbqTitle` and five ' +
123
+ 'other components read as a plain property.'
124
+ ];
125
+ const config = {
126
+ label: '[dropdown-signals]',
127
+ package: '@koobiq/components/dropdown',
128
+ membersByType: MEMBERS_BY_TYPE,
129
+ exportAsToType: EXPORT_AS_TO_TYPE,
130
+ elementToType: ELEMENT_TO_TYPE,
131
+ writableMembers: WRITABLE_MEMBERS,
132
+ protectedMembers: PROTECTED_MEMBERS,
133
+ warnPatterns,
134
+ messages: {
135
+ unparseableTemplate: UNPARSEABLE_TEMPLATE_MESSAGE,
136
+ unresolvedReceiver: UNRESOLVED_RECEIVER_MESSAGE,
137
+ protectedHint: PROTECTED_HINT,
138
+ summary: SUMMARY
139
+ }
140
+ };
141
+
142
+ exports.ELEMENT_TO_TYPE = ELEMENT_TO_TYPE;
143
+ exports.EXPORT_AS_TO_TYPE = EXPORT_AS_TO_TYPE;
144
+ exports.MEMBERS_BY_TYPE = MEMBERS_BY_TYPE;
145
+ exports.PROTECTED_HINT = PROTECTED_HINT;
146
+ exports.PROTECTED_MEMBERS = PROTECTED_MEMBERS;
147
+ exports.SUMMARY = SUMMARY;
148
+ exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
149
+ exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
150
+ exports.WRITABLE_MEMBERS = WRITABLE_MEMBERS;
151
+ exports.config = config;
152
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var signalMembersMigration = require('../../signal-members-migration-BoAJKutT.js');
6
+ var migrations_dropdownSignals_data = require('./data.js');
7
+ require('typescript');
8
+ require('../../utils/ast.js');
9
+ require('../../utils/messages.js');
10
+ require('../../package-config-BhU2TfC8.js');
11
+ require('@angular-devkit/schematics');
12
+ require('@schematics/angular/utility');
13
+ require('../../utils/typescript.js');
14
+
15
+ function dropdownSignals(options) {
16
+ return signalMembersMigration.signalMembersRule(migrations_dropdownSignals_data.config, options);
17
+ }
18
+
19
+ exports.default = dropdownSignals;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-dropdown-signals",
4
+ "title": "Koobiq components dropdown signals migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }