@koobiq/components 20.4.2 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/accordion/accordion-trigger.scss +3 -10
  2. package/accordion/accordion.scss +4 -6
  3. package/actions-panel/actions-panel-container.scss +45 -1
  4. package/alert/alert.component.scss +3 -2
  5. package/app-switcher/_app-switcher-theme.scss +0 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +3 -2
  7. package/app-switcher/app-switcher-dropdown-site.scss +2 -1
  8. package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
  9. package/app-switcher/app-switcher-tokens.scss +15 -0
  10. package/app-switcher/app-switcher.scss +14 -4
  11. package/autocomplete/autocomplete.scss +7 -6
  12. package/badge/badge.component.scss +5 -8
  13. package/breadcrumbs/breadcrumbs.scss +25 -10
  14. package/button/_button-base.scss +30 -7
  15. package/button/_button-theme.scss +16 -0
  16. package/button/button-group.scss +7 -0
  17. package/button/button-tokens.scss +0 -2
  18. package/button/button.scss +34 -2
  19. package/button-toggle/_button-toggle-theme.scss +7 -2
  20. package/button-toggle/button-toggle.scss +65 -15
  21. package/checkbox/_checkbox-theme.scss +4 -3
  22. package/checkbox/checkbox.scss +3 -6
  23. package/clamped-text/clamped-text.scss +6 -2
  24. package/code-block/code-block-tokens.scss +0 -224
  25. package/code-block/code-block.scss +20 -9
  26. package/content-panel/content-panel-aside.scss +3 -2
  27. package/content-panel/content-panel-container.scss +37 -0
  28. package/content-panel/content-panel.scss +4 -3
  29. package/core/highlight/_highlight-theme.scss +3 -1
  30. package/core/option/action-container.scss +2 -2
  31. package/core/option/action.scss +2 -1
  32. package/core/option/option.scss +2 -1
  33. package/core/pop-up/_pop-up.scss +0 -37
  34. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
  35. package/core/styles/_core.scss +3 -0
  36. package/core/styles/_koobiq-theme.scss +5 -6
  37. package/core/styles/common/_animation.scss +44 -16
  38. package/core/styles/common/_groups-mixins.scss +21 -19
  39. package/core/styles/common/_groups.scss +4 -32
  40. package/core/styles/common/_index.scss +0 -2
  41. package/core/styles/common/_link.scss +117 -0
  42. package/core/styles/common/_list.scss +0 -26
  43. package/core/styles/common/_overlay.scss +8 -10
  44. package/core/styles/common/_rtl.scss +0 -14
  45. package/core/styles/common/_select.scss +33 -15
  46. package/core/styles/common/_squircle.scss +63 -0
  47. package/core/styles/common/_tokens.scss +0 -11
  48. package/core/styles/common/_vendor-prefixes.scss +0 -20
  49. package/core/styles/functions/_timing.scss +0 -22
  50. package/core/styles/theming/_scrollbar-theme.scss +6 -1
  51. package/core/styles/theming/_theming.scss +13 -65
  52. package/core/styles/typography/_index.scss +0 -1
  53. package/core/styles/typography/_typography.scss +0 -143
  54. package/core/styles/visual/_body.scss +1 -6
  55. package/core/styles/visual/_layout.scss +0 -12
  56. package/datepicker/calendar-body.scss +3 -1
  57. package/datepicker/calendar-header.scss +0 -1
  58. package/datepicker/datepicker-content.scss +33 -1
  59. package/datepicker/datepicker-toggle.scss +0 -38
  60. package/dl/dl-tokens.scss +10 -0
  61. package/dl/dl.scss +113 -13
  62. package/dropdown/_dropdown-theme.scss +4 -16
  63. package/dropdown/dropdown-item.scss +4 -10
  64. package/dropdown/dropdown.scss +2 -1
  65. package/empty-state/_empty-state-theme.scss +10 -4
  66. package/empty-state/empty-state-tokens.scss +4 -4
  67. package/empty-state/empty-state.scss +4 -0
  68. package/fesm2022/koobiq-components-accordion.mjs +347 -229
  69. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
  71. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-alert.mjs +39 -39
  73. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
  75. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
  77. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-badge.mjs +46 -48
  79. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
  81. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
  83. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-button.mjs +332 -116
  85. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-checkbox.mjs +172 -132
  87. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
  89. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-code-block.mjs +755 -601
  91. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-content-panel.mjs +260 -143
  93. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +4342 -1595
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-divider.mjs +73 -36
  99. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-dl.mjs +447 -89
  101. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-dropdown.mjs +703 -599
  103. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
  105. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
  107. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-empty-state.mjs +116 -60
  109. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-file-upload.mjs +550 -290
  111. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
  113. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-flag.mjs +79 -24
  115. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-form-field.mjs +389 -525
  117. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-icon.mjs +366 -136
  119. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
  121. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-input.mjs +601 -459
  123. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
  125. package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
  126. package/fesm2022/koobiq-components-link.mjs +328 -125
  127. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-list.mjs +583 -433
  129. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
  131. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-markdown.mjs +55 -78
  133. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-modal.mjs +853 -475
  135. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-navbar.mjs +895 -556
  137. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-notification-center.mjs +680 -310
  139. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
  141. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-popover.mjs +684 -285
  143. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
  145. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
  147. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-radio.mjs +450 -231
  149. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-resizer.mjs +127 -21
  151. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
  153. package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
  154. package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
  155. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
  157. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-select.mjs +883 -693
  159. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-sidebar.mjs +207 -88
  161. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
  163. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-skeleton.mjs +815 -41
  165. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-split-button.mjs +109 -88
  167. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
  169. package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
  170. package/fesm2022/koobiq-components-splitter.mjs +890 -501
  171. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-table.mjs +63 -49
  173. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-tabs.mjs +1062 -603
  175. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-tags.mjs +886 -733
  177. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-textarea.mjs +213 -185
  179. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-time-range.mjs +299 -147
  181. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-timepicker.mjs +233 -245
  183. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-timezone.mjs +344 -142
  185. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-title.mjs +229 -145
  187. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-toast.mjs +463 -143
  189. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-toggle.mjs +177 -130
  191. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-tooltip.mjs +657 -214
  193. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-top-bar.mjs +61 -32
  195. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-tree-select.mjs +719 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1506 -558
  199. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-username.mjs +290 -135
  201. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  202. package/file-upload/dropzone.scss +31 -3
  203. package/file-upload/file-upload-tokens.scss +2 -22
  204. package/file-upload/file-upload.scss +6 -0
  205. package/file-upload/multiple-file-upload.component.scss +14 -12
  206. package/file-upload/single-file-upload.component.scss +3 -2
  207. package/filter-bar/filters.scss +7 -0
  208. package/filter-bar/pipes/base-pipe.scss +3 -3
  209. package/filter-bar/pipes/pipe-date.scss +8 -1
  210. package/flag/flag-tokens.scss +22 -0
  211. package/flag/flag.scss +34 -21
  212. package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
  213. package/form-field/_form-field-theme.scss +4 -9
  214. package/form-field/cleaner.scss +3 -1
  215. package/form-field/fieldset.scss +3 -4
  216. package/form-field/form-field.scss +26 -21
  217. package/form-field/password-toggle.scss +3 -1
  218. package/icon/_icon-button-theme.scss +7 -0
  219. package/icon/_icon-theme.scss +10 -7
  220. package/icon/icon-button.scss +0 -2
  221. package/icon/icon-tokens.scss +12 -9
  222. package/inline-edit/inline-edit.scss +40 -54
  223. package/input/input.scss +4 -0
  224. package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
  225. package/link/deprecated/link-tokens.scss +27 -0
  226. package/link/link-tokens.scss +6 -25
  227. package/link/link.scss +137 -0
  228. package/list/list.scss +3 -2
  229. package/loader-overlay/_loader-overlay-theme.scss +19 -10
  230. package/loader-overlay/loader-overlay-tokens.scss +0 -2
  231. package/loader-overlay/loader-overlay.scss +7 -1
  232. package/markdown/_markdown-theme.scss +16 -0
  233. package/markdown/markdown-tokens.scss +5 -0
  234. package/markdown/markdown.scss +2 -1
  235. package/modal/_modal-animation.scss +23 -14
  236. package/modal/modal-tokens.scss +2 -1
  237. package/modal/modal.scss +35 -31
  238. package/navbar/_navbar-item_horizontal.scss +8 -6
  239. package/navbar/_navbar-item_vertical.scss +18 -6
  240. package/navbar/_navbar-theme.scss +9 -1
  241. package/navbar/navbar-brand.scss +8 -6
  242. package/navbar/navbar-divider.scss +1 -1
  243. package/navbar/navbar-item.scss +8 -9
  244. package/navbar/navbar-toggle.scss +3 -3
  245. package/navbar/navbar-tokens.scss +14 -0
  246. package/navbar/navbar.scss +1 -2
  247. package/navbar/vertical-navbar.scss +2 -2
  248. package/notification-center/_notification-center-theme.scss +11 -6
  249. package/notification-center/notification-center-tokens.scss +33 -0
  250. package/notification-center/notification-center.scss +58 -20
  251. package/notification-center/notification-item.scss +15 -6
  252. package/package.json +112 -81
  253. package/popover/popover-tokens.scss +0 -2
  254. package/popover/popover.scss +41 -19
  255. package/prebuilt-themes/theme.css +1 -1
  256. package/progress-bar/_progress-bar-theme.scss +20 -3
  257. package/progress-bar/progress-bar-tokens.scss +3 -0
  258. package/progress-bar/progress-bar.scss +36 -8
  259. package/progress-spinner/progress-spinner.scss +4 -3
  260. package/radio/_radio-theme.scss +21 -4
  261. package/radio/radio-tokens.scss +7 -3
  262. package/radio/radio.scss +55 -8
  263. package/schematics/collection.json +399 -7
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
  267. package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
  268. package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
  269. package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
  271. package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
  272. package/schematics/migrations/alert-signals/README.md +13 -7
  273. package/schematics/migrations/alert-signals/data.js +3 -0
  274. package/schematics/migrations/alert-signals/index.js +70 -203
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.js +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.js +20 -0
  278. package/schematics/migrations/angular-animations-removal/schema.json +15 -0
  279. package/schematics/migrations/app-switcher-signals/README.md +88 -0
  280. package/schematics/migrations/app-switcher-signals/data.js +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.js +365 -0
  282. package/schematics/migrations/app-switcher-signals/schema.json +20 -0
  283. package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
  284. package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.js +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.js +706 -0
  288. package/schematics/migrations/autocomplete-signals/schema.json +20 -0
  289. package/schematics/migrations/badge-signals/README.md +77 -0
  290. package/schematics/migrations/badge-signals/data.js +109 -0
  291. package/schematics/migrations/badge-signals/index.js +693 -0
  292. package/schematics/migrations/badge-signals/schema.json +20 -0
  293. package/schematics/migrations/button-state-and-styles/README.md +129 -0
  294. package/schematics/migrations/button-state-and-styles/data.js +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.js +220 -0
  296. package/schematics/migrations/button-state-and-styles/schema.json +20 -0
  297. package/schematics/migrations/button-supported-colors/README.md +73 -0
  298. package/schematics/migrations/button-supported-colors/data.js +106 -0
  299. package/schematics/migrations/button-supported-colors/index.js +260 -0
  300. package/schematics/migrations/button-supported-colors/schema.json +20 -0
  301. package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
  302. package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
  304. package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
  305. package/schematics/migrations/button-truncation/README.md +110 -0
  306. package/schematics/migrations/button-truncation/data.js +88 -0
  307. package/schematics/migrations/button-truncation/index.js +269 -0
  308. package/schematics/migrations/button-truncation/schema.json +20 -0
  309. package/schematics/migrations/checkbox-signals/README.md +76 -0
  310. package/schematics/migrations/checkbox-signals/data.js +114 -0
  311. package/schematics/migrations/checkbox-signals/index.js +634 -0
  312. package/schematics/migrations/checkbox-signals/schema.json +20 -0
  313. package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
  314. package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-signals/README.md +84 -0
  318. package/schematics/migrations/code-block-signals/data.js +121 -0
  319. package/schematics/migrations/code-block-signals/index.js +700 -0
  320. package/schematics/migrations/code-block-signals/schema.json +20 -0
  321. package/schematics/migrations/color-signals/README.md +46 -0
  322. package/schematics/migrations/color-signals/data.js +131 -0
  323. package/schematics/migrations/color-signals/index.js +19 -0
  324. package/schematics/migrations/color-signals/schema.json +20 -0
  325. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  326. package/schematics/migrations/core-mixins-removal/data.js +27 -0
  327. package/schematics/migrations/core-mixins-removal/index.js +17 -0
  328. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  329. package/schematics/migrations/css-selectors/README.md +2 -2
  330. package/schematics/migrations/css-selectors/index.js +1 -1
  331. package/schematics/migrations/datepicker-signals/README.md +24 -0
  332. package/schematics/migrations/datepicker-signals/data.js +49 -0
  333. package/schematics/migrations/datepicker-signals/index.js +17 -0
  334. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  335. package/schematics/migrations/deprecated-icons/README.md +2 -2
  336. package/schematics/migrations/deprecated-icons/index.js +1 -1
  337. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  338. package/schematics/migrations/design-tokens-v4/index.js +59 -0
  339. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  340. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  341. package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
  342. package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
  343. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  344. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  345. package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
  346. package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
  347. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  348. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  349. package/schematics/migrations/dl-standalone-names/data.js +44 -0
  350. package/schematics/migrations/dl-standalone-names/index.js +321 -0
  351. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  352. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  353. package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
  354. package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
  355. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  356. package/schematics/migrations/dropdown-signals/README.md +83 -0
  357. package/schematics/migrations/dropdown-signals/data.js +152 -0
  358. package/schematics/migrations/dropdown-signals/index.js +19 -0
  359. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  360. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  361. package/schematics/migrations/empty-state-error-color/data.js +85 -0
  362. package/schematics/migrations/empty-state-error-color/index.js +71 -0
  363. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  364. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  365. package/schematics/migrations/empty-state-size-attr/index.js +1 -1
  366. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  367. package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
  368. package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
  369. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  370. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  371. package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
  372. package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
  373. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  374. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  375. package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
  376. package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
  377. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  379. package/schematics/migrations/filter-bar-signals/data.js +1 -2
  380. package/schematics/migrations/filter-bar-signals/index.js +100 -195
  381. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  382. package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
  383. package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
  384. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  385. package/schematics/migrations/flag-inner-html/README.md +67 -0
  386. package/schematics/migrations/flag-inner-html/data.js +58 -0
  387. package/schematics/migrations/flag-inner-html/index.js +61 -0
  388. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  389. package/schematics/migrations/form-field-signals/README.md +125 -0
  390. package/schematics/migrations/form-field-signals/data.js +288 -0
  391. package/schematics/migrations/form-field-signals/index.js +382 -0
  392. package/schematics/migrations/form-field-signals/schema.json +20 -0
  393. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  394. package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
  395. package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
  396. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  397. package/schematics/migrations/icons-replacement/README.md +5 -5
  398. package/schematics/migrations/icons-replacement/index.js +1 -1
  399. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  400. package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
  401. package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
  402. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  403. package/schematics/migrations/input-number-surface/README.md +140 -0
  404. package/schematics/migrations/input-number-surface/data.js +135 -0
  405. package/schematics/migrations/input-number-surface/index.js +292 -0
  406. package/schematics/migrations/input-number-surface/schema.json +20 -0
  407. package/schematics/migrations/input-signals/README.md +20 -0
  408. package/schematics/migrations/input-signals/data.js +30 -0
  409. package/schematics/migrations/input-signals/index.js +17 -0
  410. package/schematics/migrations/input-signals/schema.json +15 -0
  411. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  412. package/schematics/migrations/link-deprecated-path/index.js +19 -0
  413. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  414. package/schematics/migrations/link-signals/README.md +71 -0
  415. package/schematics/migrations/link-signals/data.js +116 -0
  416. package/schematics/migrations/link-signals/index.js +415 -0
  417. package/schematics/migrations/link-signals/schema.json +20 -0
  418. package/schematics/migrations/list-signals/README.md +22 -0
  419. package/schematics/migrations/list-signals/data.js +35 -0
  420. package/schematics/migrations/list-signals/index.js +17 -0
  421. package/schematics/migrations/list-signals/schema.json +15 -0
  422. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  423. package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
  424. package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
  425. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  426. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  427. package/schematics/migrations/loader-overlay-signals/data.js +101 -0
  428. package/schematics/migrations/loader-overlay-signals/index.js +697 -0
  429. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  431. package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
  432. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  433. package/schematics/migrations/locale-configuration-providers/data.js +257 -0
  434. package/schematics/migrations/locale-configuration-providers/index.js +294 -0
  435. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  436. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  437. package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
  438. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  439. package/schematics/migrations/markdown-signals/README.md +58 -0
  440. package/schematics/migrations/markdown-signals/data.js +79 -0
  441. package/schematics/migrations/markdown-signals/index.js +639 -0
  442. package/schematics/migrations/markdown-signals/schema.json +20 -0
  443. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  444. package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
  445. package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
  446. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  447. package/schematics/migrations/modal-signals/README.md +88 -0
  448. package/schematics/migrations/modal-signals/data.js +132 -0
  449. package/schematics/migrations/modal-signals/index.js +19 -0
  450. package/schematics/migrations/modal-signals/schema.json +20 -0
  451. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  452. package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
  453. package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
  454. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  455. package/schematics/migrations/new-icons-pack/README.md +10 -10
  456. package/schematics/migrations/new-icons-pack/index.js +1 -1
  457. package/schematics/migrations/notification-center-signals/README.md +67 -0
  458. package/schematics/migrations/notification-center-signals/data.js +66 -0
  459. package/schematics/migrations/notification-center-signals/index.js +61 -0
  460. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  461. package/schematics/migrations/option-signals/README.md +37 -0
  462. package/schematics/migrations/option-signals/data.js +86 -0
  463. package/schematics/migrations/option-signals/index.js +19 -0
  464. package/schematics/migrations/option-signals/schema.json +20 -0
  465. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  466. package/schematics/migrations/popover-leave-delay/data.js +61 -0
  467. package/schematics/migrations/popover-leave-delay/index.js +54 -0
  468. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  469. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  470. package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
  471. package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
  472. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  473. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  474. package/schematics/migrations/progress-spinner-signals/data.js +83 -0
  475. package/schematics/migrations/progress-spinner-signals/index.js +694 -0
  476. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  477. package/schematics/migrations/query-list-signals/README.md +32 -0
  478. package/schematics/migrations/query-list-signals/data.js +70 -0
  479. package/schematics/migrations/query-list-signals/index.js +17 -0
  480. package/schematics/migrations/query-list-signals/schema.json +15 -0
  481. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  482. package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
  483. package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
  484. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  485. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  486. package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
  487. package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
  488. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  489. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  490. package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
  491. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  492. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  493. package/schematics/migrations/select-signal-inputs/data.js +99 -0
  494. package/schematics/migrations/select-signal-inputs/index.js +57 -0
  495. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  496. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  497. package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
  498. package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
  499. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  500. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  501. package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
  502. package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
  503. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  504. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  505. package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
  506. package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
  507. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  508. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  509. package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
  510. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  511. package/schematics/migrations/state-saving-default/README.md +67 -0
  512. package/schematics/migrations/state-saving-default/data.js +88 -0
  513. package/schematics/migrations/state-saving-default/index.js +62 -0
  514. package/schematics/migrations/state-saving-default/schema.json +15 -0
  515. package/schematics/migrations/table-cell-content/README.md +55 -0
  516. package/schematics/migrations/table-cell-content/data.js +66 -0
  517. package/schematics/migrations/table-cell-content/index.js +66 -0
  518. package/schematics/migrations/table-cell-content/schema.json +15 -0
  519. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  520. package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
  521. package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
  522. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  523. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  524. package/schematics/migrations/tag-list-cleaner/data.js +42 -0
  525. package/schematics/migrations/tag-list-cleaner/index.js +196 -0
  526. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  527. package/schematics/migrations/tag-slots/README.md +41 -0
  528. package/schematics/migrations/tag-slots/index.js +190 -0
  529. package/schematics/migrations/tag-slots/schema.json +20 -0
  530. package/schematics/migrations/tags-signals/README.md +85 -0
  531. package/schematics/migrations/tags-signals/data.js +103 -0
  532. package/schematics/migrations/tags-signals/index.js +673 -0
  533. package/schematics/migrations/tags-signals/schema.json +20 -0
  534. package/schematics/migrations/textarea-signals/README.md +72 -0
  535. package/schematics/migrations/textarea-signals/data.js +121 -0
  536. package/schematics/migrations/textarea-signals/index.js +379 -0
  537. package/schematics/migrations/textarea-signals/schema.json +20 -0
  538. package/schematics/migrations/time-range-title-for/README.md +164 -0
  539. package/schematics/migrations/time-range-title-for/data.js +139 -0
  540. package/schematics/migrations/time-range-title-for/index.js +163 -0
  541. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  542. package/schematics/migrations/timepicker-signals/README.md +78 -0
  543. package/schematics/migrations/timepicker-signals/data.js +82 -0
  544. package/schematics/migrations/timepicker-signals/index.js +709 -0
  545. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  546. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  547. package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
  548. package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
  549. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  550. package/schematics/migrations/title-encapsulation/README.md +49 -0
  551. package/schematics/migrations/title-encapsulation/data.js +69 -0
  552. package/schematics/migrations/title-encapsulation/index.js +57 -0
  553. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  554. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  555. package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
  556. package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
  557. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  558. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  559. package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
  560. package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
  561. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  562. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  563. package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
  564. package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
  565. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  566. package/schematics/migrations/tree-select-signals/README.md +61 -0
  567. package/schematics/migrations/tree-select-signals/data.js +106 -0
  568. package/schematics/migrations/tree-select-signals/index.js +58 -0
  569. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  570. package/schematics/migrations/tree-signals/README.md +82 -0
  571. package/schematics/migrations/tree-signals/data.js +123 -0
  572. package/schematics/migrations/tree-signals/index.js +54 -0
  573. package/schematics/migrations/tree-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  575. package/schematics/migrations/tree-state-saving-default/data.js +78 -0
  576. package/schematics/migrations/tree-state-saving-default/index.js +60 -0
  577. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  578. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  579. package/schematics/migrations/username-pipe-injection/data.js +78 -0
  580. package/schematics/migrations/username-pipe-injection/index.js +58 -0
  581. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  582. package/schematics/migrations/v20-upgrade/README.md +36 -16
  583. package/schematics/migrations/v20-upgrade/data.js +124 -77
  584. package/schematics/migrations/v20-upgrade/index.js +6 -213
  585. package/schematics/migrations/v21-upgrade/README.md +271 -0
  586. package/schematics/migrations/v21-upgrade/data.js +1371 -0
  587. package/schematics/migrations/v21-upgrade/index.js +94 -0
  588. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  589. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  590. package/schematics/migrations/zoneless-change-detection/data.js +29 -0
  591. package/schematics/migrations/zoneless-change-detection/index.js +20 -0
  592. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  593. package/schematics/migrations.json +392 -2
  594. package/schematics/ng-add/index.js +515 -14
  595. package/schematics/ng-add/schema.json +15 -0
  596. package/schematics/utils/deprecated-path-migration.js +61 -0
  597. package/schematics/utils/package-config.js +9 -105
  598. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  599. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  600. package/scrollbar/native-scrollbar.scss +68 -0
  601. package/scrollbar/scrollbar-tokens.scss +13 -22
  602. package/scrollbar/scrollbar-track.scss +94 -0
  603. package/scrollbar/scrollbar-viewport.scss +33 -0
  604. package/scrollbar/scrollbar.scss +24 -0
  605. package/search-expandable/search-expandable-tokens.scss +4 -0
  606. package/search-expandable/search-expandable.scss +4 -2
  607. package/select/_select-theme.scss +3 -16
  608. package/select/select.scss +0 -6
  609. package/sidebar/sidebar.scss +20 -0
  610. package/sidepanel/_sidepanel-theme.scss +1 -1
  611. package/sidepanel/sidepanel-tokens.scss +7 -1
  612. package/sidepanel/sidepanel.scss +41 -5
  613. package/skeleton/skeleton-presets.scss +350 -0
  614. package/skeleton/skeleton-tokens.scss +127 -0
  615. package/skeleton/skeleton.scss +53 -45
  616. package/split-button/_split-button-theme.scss +4 -4
  617. package/split-button/split-button.scss +2 -6
  618. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  619. package/splitter/deprecated/splitter.scss +51 -0
  620. package/splitter/splitter-tokens.scss +19 -0
  621. package/splitter/splitter.scss +148 -28
  622. package/table/_table-theme.scss +13 -12
  623. package/table/table-tokens.scss +8 -0
  624. package/table/table.scss +47 -22
  625. package/tabs/_tabs-common.scss +14 -14
  626. package/tabs/_tabs-theme.scss +4 -5
  627. package/tabs/tab-body.scss +49 -1
  628. package/tabs/tab-header.scss +2 -1
  629. package/tags/tag-list.scss +4 -0
  630. package/tags/tag.scss +19 -1
  631. package/time-range/time-range.scss +9 -0
  632. package/timezone/timezone-option.component.scss +4 -7
  633. package/timezone/timezone-select.component.scss +3 -0
  634. package/toast/_toast-theme.scss +1 -4
  635. package/toast/toast-container.component.scss +19 -13
  636. package/toast/toast-tokens.scss +12 -6
  637. package/toast/toast.component.scss +42 -19
  638. package/toggle/_toggle-theme.scss +4 -10
  639. package/toggle/toggle.scss +67 -26
  640. package/tooltip/_tooltip-theme.scss +7 -1
  641. package/tooltip/tooltip-tokens.scss +1 -2
  642. package/tooltip/tooltip.scss +55 -9
  643. package/top-bar/top-bar-tokens.scss +13 -2
  644. package/top-bar/top-bar.scss +24 -19
  645. package/tree/_tree-theme.scss +0 -1
  646. package/tree/toggle.scss +5 -9
  647. package/tree/tree-option.scss +2 -4
  648. package/tree/tree-tokens.scss +2 -1
  649. package/tree/tree.scss +3 -5
  650. package/tree-select/_tree-select-theme.scss +4 -15
  651. package/tree-select/tree-select-tokens.scss +16 -0
  652. package/tree-select/tree-select.scss +0 -6
  653. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  654. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  655. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  656. package/types/koobiq-components-app-switcher.d.ts +406 -0
  657. package/types/koobiq-components-autocomplete.d.ts +443 -0
  658. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  659. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  660. package/types/koobiq-components-button-toggle.d.ts +340 -0
  661. package/types/koobiq-components-button.d.ts +296 -0
  662. package/types/koobiq-components-checkbox.d.ts +172 -0
  663. package/types/koobiq-components-clamped-text.d.ts +184 -0
  664. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
  665. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  666. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  667. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  668. package/types/koobiq-components-divider.d.ts +43 -0
  669. package/types/koobiq-components-dl.d.ts +235 -0
  670. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  671. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  672. package/types/koobiq-components-empty-state.d.ts +106 -0
  673. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  674. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  675. package/types/koobiq-components-flag.d.ts +68 -0
  676. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  677. package/types/koobiq-components-icon.d.ts +333 -0
  678. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  679. package/types/koobiq-components-input.d.ts +477 -0
  680. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  681. package/types/koobiq-components-link.d.ts +176 -0
  682. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  683. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  684. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  685. package/types/koobiq-components-modal.d.ts +666 -0
  686. package/types/koobiq-components-navbar.d.ts +569 -0
  687. package/types/koobiq-components-notification-center.d.ts +500 -0
  688. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  689. package/types/koobiq-components-popover.d.ts +468 -0
  690. package/types/koobiq-components-progress-bar.d.ts +67 -0
  691. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  692. package/types/koobiq-components-radio.d.ts +294 -0
  693. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  694. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  695. package/types/koobiq-components-scrollbar.d.ts +154 -0
  696. package/types/koobiq-components-search-expandable.d.ts +164 -0
  697. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  698. package/types/koobiq-components-sidebar.d.ts +152 -0
  699. package/types/koobiq-components-sidepanel.d.ts +436 -0
  700. package/types/koobiq-components-skeleton.d.ts +234 -0
  701. package/types/koobiq-components-split-button.d.ts +65 -0
  702. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  703. package/types/koobiq-components-splitter.d.ts +406 -0
  704. package/types/koobiq-components-table.d.ts +44 -0
  705. package/types/koobiq-components-tabs.d.ts +888 -0
  706. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  707. package/types/koobiq-components-textarea.d.ts +178 -0
  708. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  709. package/types/koobiq-components-timepicker.d.ts +223 -0
  710. package/types/koobiq-components-timezone.d.ts +266 -0
  711. package/types/koobiq-components-title.d.ts +184 -0
  712. package/types/koobiq-components-toast.d.ts +289 -0
  713. package/types/koobiq-components-toggle.d.ts +121 -0
  714. package/types/koobiq-components-tooltip.d.ts +610 -0
  715. package/types/koobiq-components-top-bar.d.ts +61 -0
  716. package/types/koobiq-components-tree-select.d.ts +667 -0
  717. package/types/koobiq-components-tree.d.ts +1290 -0
  718. package/types/koobiq-components-username.d.ts +340 -0
  719. package/username/_username-theme.scss +35 -0
  720. package/username/username.scss +10 -34
  721. package/app-switcher/index.d.ts +0 -276
  722. package/autocomplete/index.d.ts +0 -286
  723. package/button/index.d.ts +0 -153
  724. package/button-toggle/index.d.ts +0 -162
  725. package/checkbox/index.d.ts +0 -163
  726. package/clamped-text/index.d.ts +0 -146
  727. package/core/styles/_tokens.scss +0 -7
  728. package/core/styles/common/_clearfix.scss +0 -13
  729. package/core/styles/common/_popup.scss +0 -6
  730. package/core/styles/functions/_index.scss +0 -3
  731. package/core/styles/functions/_number.scss +0 -60
  732. package/core/styles/functions/_string.scss +0 -18
  733. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  734. package/core/styles/typography/_typography-utils.scss +0 -84
  735. package/divider/index.d.ts +0 -20
  736. package/dl/index.d.ts +0 -45
  737. package/ellipsis-center/index.d.ts +0 -71
  738. package/empty-state/index.d.ts +0 -45
  739. package/flag/index.d.ts +0 -44
  740. package/icon/index.d.ts +0 -200
  741. package/input/index.d.ts +0 -354
  742. package/link/index.d.ts +0 -56
  743. package/loader-overlay/index.d.ts +0 -57
  744. package/modal/index.d.ts +0 -339
  745. package/navbar/index.d.ts +0 -372
  746. package/notification-center/index.d.ts +0 -323
  747. package/popover/index.d.ts +0 -182
  748. package/prebuilt-themes/dark-theme.css +0 -1
  749. package/prebuilt-themes/light-theme.css +0 -1
  750. package/progress-bar/index.d.ts +0 -31
  751. package/radio/index.d.ts +0 -203
  752. package/search-expandable/index.d.ts +0 -101
  753. package/sidebar/index.d.ts +0 -94
  754. package/sidepanel/index.d.ts +0 -272
  755. package/skeleton/index.d.ts +0 -26
  756. package/split-button/index.d.ts +0 -46
  757. package/table/index.d.ts +0 -25
  758. package/tabs/index.d.ts +0 -677
  759. package/textarea/index.d.ts +0 -138
  760. package/timepicker/index.d.ts +0 -197
  761. package/timezone/index.d.ts +0 -125
  762. package/title/index.d.ts +0 -139
  763. package/toast/index.d.ts +0 -178
  764. package/toggle/index.d.ts +0 -104
  765. package/tooltip/index.d.ts +0 -335
  766. package/top-bar/index.d.ts +0 -33
  767. package/tree/index.d.ts +0 -802
  768. package/tree-select/index.d.ts +0 -475
  769. package/username/index.d.ts +0 -194
  770. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  771. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,62 @@
1
+ # clamped-text-disclosure
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the call sites the clamped-text review breaks. It never writes
5
+ to the tree.
6
+
7
+ ## Background
8
+
9
+ The review moved the disclosure semantics onto the control that is actually operated, and returned
10
+ the trigger's styling to its owner:
11
+
12
+ | What | Before | After |
13
+ | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------- |
14
+ | `aria-expanded` | on the `<kbq-clamped-text>` / `[kbqClampedList]` host | on the `[kbqClampedListTrigger]` element |
15
+ | `role`, `tabindex`, `aria-controls` | nowhere, or hand-written per call site | supplied by `KbqClampedListTrigger` |
16
+ | `kbq-clamped-text__toggle` on the trigger | applied to every trigger | applied only by the clamped-text template |
17
+ | `KbqClampedText.isCollapsed` | `input()` + `output()` pair | `model()` |
18
+ | `isCollapsedChange` | fired on measurement and echoed parent writes | user intent only |
19
+ | `KbqClampedText.hasToggle` | `WritableSignal<boolean>` | `Signal<boolean>` |
20
+ | `KbqClampedText.text`, `KbqClampedText.textContainer` | public view queries | `protected` |
21
+
22
+ Both containers are role-less wrappers, so `aria-expanded` on them conveyed nothing to assistive
23
+ technology and sat on an element the user cannot operate. The trigger — the element that takes the
24
+ click and the Enter/Space keys — carried no semantics at all, which is why the library's own
25
+ examples disagreed with each other about what to write on it.
26
+
27
+ `kbq-clamped-text__toggle` has one rule, in the clamped-text stylesheet, injected only once a
28
+ `KbqClampedText` exists. A `kbqClampedList` trigger therefore had spacing or not depending on
29
+ whether an unrelated component happened to be on the page, and both in-repo examples cancelled it
30
+ independently.
31
+
32
+ ## What it does _not_ do
33
+
34
+ Nothing is rewritten. Where `aria-expanded` should be read from, what replaces a cancelled margin
35
+ and whether an `isCollapsedChange` handler wanted the mount-time value are all decisions.
36
+
37
+ | Pattern | Manual migration |
38
+ | ------------------------------------------- | ---------------------------------------------------------------------- |
39
+ | `aria-expanded` on the container | Read it off the `[kbqClampedListTrigger]` element |
40
+ | `.kbq-clamped-text__toggle` override | Drop it; the list trigger has no spacing of its own now |
41
+ | `role="button"` on the trigger | Remove it — the directive supplies it, and an explicit role still wins |
42
+ | `(isCollapsedChange)` for the initial state | Read the state from `[(isCollapsed)]`; the output is user intent only |
43
+ | `.hasToggle.set(…)` | Read-only; it is written by the measurement |
44
+ | `.text()` / `.textContainer()` | Protected; query the element from your own template |
45
+
46
+ ## Notes with no call site to point at
47
+
48
+ - Collapsing scrolls with `{ block: 'nearest', inline: 'nearest' }` instead of centering on both
49
+ axes, so it no longer pans an ancestor horizontally. `[scrollOnCollapse]="false"` turns it off.
50
+ - Space and Enter on the trigger call `preventDefault()`. Space no longer scrolls the page while
51
+ expanding, and a native `<button>` host no longer toggles twice from the synthetic click.
52
+ - `rows` takes a string attribute now, so `rows="3"` compiles under `strictTemplates`.
53
+ - `[debounceTime]` is re-read on every resize instead of once in `ngAfterViewInit`.
54
+ - Nothing renders before the first measurement: the toggle appears once the content is known to
55
+ overflow, and the text stays clamped until then rather than flashing in full — including in
56
+ server-rendered and prerendered output.
57
+
58
+ ## Running it manually
59
+
60
+ ```
61
+ ng generate @koobiq/components:clamped-text-disclosure --project my-app
62
+ ```
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `clamped-text-disclosure` migration.
5
+ *
6
+ * The clamped-text review moved the disclosure semantics onto the control that is actually
7
+ * operated and tightened the surface around the measurement:
8
+ *
9
+ * - `aria-expanded` is no longer rendered on the `<kbq-clamped-text>` host or on the
10
+ * `[kbqClampedList]` container. Both are role-less wrappers; `KbqClampedListTrigger` publishes
11
+ * `role`, `tabindex`, `aria-expanded` and `aria-controls` on itself now.
12
+ * - `KbqClampedListTrigger` no longer puts `kbq-clamped-text__toggle` on its host, so a
13
+ * `kbqClampedList` trigger no longer inherits the clamped-text margin — which only applied when
14
+ * an unrelated `kbq-clamped-text` happened to be on the page.
15
+ * - `KbqClampedText.isCollapsed` is a `model()`. `isCollapsedChange` reports user intent only: it
16
+ * no longer fires for the component's first measurement nor echoes a value the parent wrote.
17
+ * - `KbqClampedText.hasToggle` is read-only, and `text` / `textContainer` are `protected`.
18
+ * - Collapsing scrolls with `{ block: 'nearest', inline: 'nearest' }` and can be turned off with
19
+ * `[scrollOnCollapse]="false"`.
20
+ *
21
+ * Warn-only. Where `aria-expanded` has to be read from, what replaces a removed class and whether
22
+ * an `isCollapsedChange` handler wanted the initial value are all decisions an automatic rewrite cannot make.
23
+ */
24
+ /** Import specifier that marks a file as a clamped-text consumer. */
25
+ const CLAMPED_TEXT_PACKAGE = '@koobiq/components/clamped-text';
26
+ /** Identifier, element, attribute and class shapes that mark a consumer without an import. */
27
+ const CLAMPED_TEXT_TYPE = '\\bKbqClamped\\w*\\b|\\bkbq-clamped-\\w+|\\bkbqClampedList\\w*\\b';
28
+ /** Files that render one of the two containers, as opposed to naming any symbol of the package. */
29
+ const CLAMPED_CONTAINER = '\\bKbqClampedText\\b|\\bkbq-clamped-text\\b|\\bkbqClampedList\\b|\\bKbqClampedList\\b';
30
+ /** Files that place the trigger themselves. */
31
+ const CLAMPED_TRIGGER = '\\bkbqClampedListTrigger\\b|\\bKbqClampedListTrigger\\b';
32
+ /** Files that render the clamped text, whose two-way channel changed semantics. */
33
+ const CLAMPED_TEXT_ONLY = '\\bKbqClampedText\\b|\\bkbq-clamped-text\\b';
34
+ const warnPatterns = [
35
+ {
36
+ anchor: CLAMPED_CONTAINER,
37
+ pattern: '\\baria-expanded\\b',
38
+ message: 'aria-expanded is no longer rendered on the <kbq-clamped-text> host or on the [kbqClampedList] ' +
39
+ 'container — both are role-less wrappers, where the attribute conveyed nothing. The trigger ' +
40
+ 'publishes it now, together with role="button", tabindex and aria-controls. A selector or ' +
41
+ 'assertion that reads the state off the container has to read it off the ' +
42
+ '[kbqClampedListTrigger] element instead.'
43
+ },
44
+ {
45
+ anchor: CLAMPED_TEXT_TYPE,
46
+ pattern: '\\bkbq-clamped-text__toggle\\b',
47
+ message: 'KbqClampedListTrigger no longer carries the kbq-clamped-text__toggle class: the margin it ' +
48
+ 'brought came from the clamped-text stylesheet and only applied when a kbq-clamped-text ' +
49
+ 'happened to be rendered somewhere on the page. A kbqClampedList trigger now has no spacing ' +
50
+ 'of its own — lay it out with the list, and drop any margin-top override written against it. ' +
51
+ 'The clamped-text toggle keeps the class and is adjustable through ' +
52
+ '--kbq-clamped-text-size-toggle-margin.'
53
+ },
54
+ {
55
+ anchor: CLAMPED_TRIGGER,
56
+ pattern: '\\brole\\s*=\\s*["\'`]button["\'`]',
57
+ message: 'kbqClampedListTrigger supplies role="button" and tabindex="0" itself. A hand-written role on ' +
58
+ 'the trigger element is now a duplicate; remove it unless you deliberately want a different ' +
59
+ 'role, which still wins over the directive default.'
60
+ },
61
+ {
62
+ anchor: CLAMPED_TEXT_ONLY,
63
+ pattern: '\\bisCollapsedChange\\b',
64
+ message: 'KbqClampedText.isCollapsed is a model() and isCollapsedChange reports user intent only: it no ' +
65
+ "longer fires for the component's own first measurement, and no longer echoes a value the " +
66
+ 'parent wrote into [isCollapsed]. A handler that relied on the mount-time emission to learn ' +
67
+ 'the initial state has to read it from [(isCollapsed)] instead.'
68
+ },
69
+ {
70
+ anchor: CLAMPED_TEXT_ONLY,
71
+ pattern: '\\.\\s*hasToggle\\s*\\.\\s*(?:set|update)\\s*\\(',
72
+ message: 'KbqClampedText.hasToggle is a read-only Signal now, matching the KbqClamped contract. It is ' +
73
+ 'written by the measurement; setting it from outside desynchronized the component from its ' +
74
+ 'own layout.'
75
+ },
76
+ {
77
+ anchor: CLAMPED_TEXT_ONLY,
78
+ pattern: '\\.\\s*(?:textContainer|text)\\s*\\(\\s*\\)\\s*\\.\\s*nativeElement',
79
+ message: 'KbqClampedText.text and KbqClampedText.textContainer are protected: they were view queries ' +
80
+ "into the component's own DOM. Query the rendered element from the host template instead."
81
+ }
82
+ ];
83
+ /** Printed once per project, after the per-file reports. */
84
+ const SUMMARY = [
85
+ ' Collapsing scrolls with { block: "nearest", inline: "nearest" } instead of centering on both ' +
86
+ 'axes, so it no longer pans an ancestor horizontally, and [scrollOnCollapse]="false" turns it ' +
87
+ 'off entirely.',
88
+ ' Space and Enter on the trigger call preventDefault(): Space no longer scrolls the page while ' +
89
+ 'expanding, and a native <button> host no longer toggles twice from the synthetic click.',
90
+ ' rows takes a string attribute now (numberAttribute), so rows="3" compiles under strictTemplates ' +
91
+ 'the way debounceTime="300" already did.',
92
+ ' [debounceTime] is re-read on every resize instead of once at ngAfterViewInit, so a bound value ' +
93
+ 'that changes now applies.',
94
+ ' Nothing renders before the first measurement any more: the toggle appears once the content is ' +
95
+ 'known to overflow, and the text is clamped until then rather than flashing in full.'
96
+ ];
97
+
98
+ exports.CLAMPED_TEXT_PACKAGE = CLAMPED_TEXT_PACKAGE;
99
+ exports.CLAMPED_TEXT_TYPE = CLAMPED_TEXT_TYPE;
100
+ exports.SUMMARY = SUMMARY;
101
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils_messages = require('../../utils/messages.js');
6
+ var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
7
+ var migrations_clampedTextDisclosure_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[clamped-text-disclosure]';
12
+ const EXTENSIONS = ['.ts', '.html', '.scss', '.css'];
13
+ /** A file is a clamped-text consumer if it imports the package, names a symbol, or renders one. */
14
+ function referencesClampedText(content) {
15
+ return content.includes(migrations_clampedTextDisclosure_data.CLAMPED_TEXT_PACKAGE) || new RegExp(migrations_clampedTextDisclosure_data.CLAMPED_TEXT_TYPE).test(content);
16
+ }
17
+ /**
18
+ * Reports the call sites the clamped-text review breaks: the `aria-expanded` that moved from the
19
+ * containers to the trigger, the borrowed toggle class the trigger stopped applying, the
20
+ * `isCollapsedChange` that no longer fires for the component's own measurement, and the members
21
+ * that became read-only or protected. Never writes: each of those is a decision, not a rename.
22
+ *
23
+ * `.scss` and `.css` are visited as well, because the borrowed class is most often overridden from
24
+ * a stylesheet rather than from a template.
25
+ */
26
+ function clampedTextDisclosure(options) {
27
+ return async (tree, context) => {
28
+ const { project } = options;
29
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
30
+ const root = projectDefinition?.root ?? '';
31
+ const rootDir = root ? tree.getDir(root) : tree.root;
32
+ let consumers = 0;
33
+ let reported = 0;
34
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
35
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
36
+ return;
37
+ const content = entry?.content.toString();
38
+ if (!content || !referencesClampedText(content))
39
+ return;
40
+ consumers++;
41
+ for (const { anchor, pattern, message } of migrations_clampedTextDisclosure_data.warnPatterns) {
42
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
43
+ continue;
44
+ reported++;
45
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
46
+ }
47
+ });
48
+ // Nothing here renders a clamped text or list, so the summary would only be noise.
49
+ if (consumers === 0)
50
+ return;
51
+ utils_messages.logMessage(context.logger, [
52
+ `${LABEL} processed @koobiq/components/clamped-text under "${root || '<workspace root>'}", ` +
53
+ `${consumers} file(s) reference the package, ${reported} call site(s) reported.`,
54
+ ...migrations_clampedTextDisclosure_data.SUMMARY
55
+ ]);
56
+ };
57
+ }
58
+
59
+ exports.default = clampedTextDisclosure;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-clamped-text-disclosure",
4
+ "title": "Koobiq components clamped-text 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
+ }
15
+ }
@@ -0,0 +1,84 @@
1
+ # code-block-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
4
+ `21.0.0-0`). Moves `KbqCodeBlock` consumers onto its finished signal-based API and reports what has no
5
+ mechanical translation.
6
+
7
+ ## Background
8
+
9
+ `maxHeight` was published as `InputSignal<number>` over an `undefined!` default, so a code block with
10
+ no `[maxHeight]` binding reported `undefined` from a non-nullable type:
11
+
12
+ ```ts
13
+ const height: number = codeBlock.maxHeight(); // held undefined
14
+ if (codeBlock.maxHeight() > 0) { … } // NaN comparison, never true
15
+ ```
16
+
17
+ It reports `number | undefined` now, and a value that is not cleanly numeric — a valueless
18
+ `maxHeight` attribute, `'200px'` — reports `undefined` rather than `NaN`. `[maxHeight]="undefined"`
19
+ used to hand back `NaN`; that is the one runtime change. The call sites that were quietly wrong now
20
+ fail to compile.
21
+
22
+ `KbqCodeBlockHighlight.file` was a write-only required input: a setter with no getter that kicked off
23
+ highlighting as a side effect. It is `input.required()` driven by an effect now, so it can finally be
24
+ read — and a programmatic write no longer compiles.
25
+
26
+ ## What it rewrites
27
+
28
+ `KbqCodeBlock` has no decorator inputs left. `softWrap`, `viewAll`, `canDownload`, `files`,
29
+ `activeFileIndex` and `hideTabs` are `WritableSignal`s over a backing `input()`, so both directions
30
+ are mechanical:
31
+
32
+ | Before | After |
33
+ | --------------------------- | ------------------------------ |
34
+ | `block.softWrap` | `block.softWrap()` |
35
+ | `block.activeFileIndex = 2` | `block.activeFileIndex.set(2)` |
36
+
37
+ On receivers explicitly typed `KbqCodeBlock`, on the `inject()` / `viewChild()` initializer forms, and
38
+ through template reference variables on `<kbq-code-block>` in external and inline templates. Reads that
39
+ are already calls are left alone, so the schematic is idempotent.
40
+
41
+ A `model()` would have been the obvious shape for the six, but `ModelOptions` carries no `transform`,
42
+ and every one of them needs `booleanAttribute` or `numberAttribute` to keep a valueless attribute such
43
+ as `<kbq-code-block softWrap>` working.
44
+
45
+ ## What it does _not_ do
46
+
47
+ Narrowing `number | undefined` back to `number` is a decision — `?? 0`, a non-null assertion, or
48
+ handling the unset state — and turning a `file` write into a `[file]` binding is a template edit. A
49
+ compound assignment (`||=`, `+=`) or an increment would need the receiver spelled twice, so it is
50
+ reported rather than rewritten, and the backing inputs — `softWrapInput` and friends — cannot be
51
+ written at all any more. The removed `canLoad` and `codeFiles` aliases are migrated by `v21-upgrade`.
52
+
53
+ | Pattern | Manual migration |
54
+ | ---------------------------------------- | ------------------------------------------------------------------- |
55
+ | `.maxHeight()` on a `KbqCodeBlock` | `?? 0` for the common reading, or handle the unset state explicitly |
56
+ | `.file = …` on a `KbqCodeBlockHighlight` | Bind `[file]`; the value is readable as `file()` now |
57
+
58
+ ## Notes with no call site to point at
59
+
60
+ - The `max-height` the code block applies while `viewAll` is off is a `computed`. It was a getter read
61
+ from a `[style.max-height.px]` binding, so it only re-evaluated when something else marked the view
62
+ dirty; it follows `maxHeight` and `viewAll` directly now.
63
+ - `softWrap`, `viewAll`, `canDownload`, `activeFileIndex` and `files` are backed by signals. They are
64
+ accessor inputs with the same types and the same two-way outputs — they are written by the component
65
+ as well as by the binding, and a `model()` cannot carry the `booleanAttribute` /
66
+ `numberAttribute` transform they need. Four of the five were plain public fields before, so they are
67
+ no longer own properties: they do not appear in `Object.keys`, a spread or `JSON.stringify`, and a
68
+ subclass field of the same name shadows the accessor under `useDefineForClassFields`.
69
+ - **`hideTabs` is derived rather than written.** A single file with no filename still hides the tab
70
+ bar, but the component no longer writes `true` into its own input to do it: the write latched the
71
+ bar off for good and re-emitted `hideTabsChange` on every `files` assignment. `[hideTabs]="false"`
72
+ no longer shows the bar for a lone unnamed file.
73
+ - **An `activeFileIndex` outside `files` renders the first file, and an empty `files` renders no code
74
+ at all.** Both used to reach `files[activeFileIndex]` and throw on the undefined result. The index
75
+ itself is left as bound: resetting it wrote back into a `[(activeFileIndex)]` while the parent was
76
+ still updating.
77
+ - A failed `highlight.js` load no longer latches `pending` on, and the line-numbers plugin installs
78
+ its `<style>` and its `copy` listener once instead of once per code block.
79
+
80
+ ## Running it manually
81
+
82
+ ```
83
+ ng generate @koobiq/components:code-block-signals --project my-app
84
+ ```
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `code-block-signals` migration.
5
+ *
6
+ * `KbqCodeBlock` finished its move to signals: nothing on it is a decorator input any more.
7
+ *
8
+ * - `softWrap`, `viewAll`, `canDownload`, `files`, `activeFileIndex`, `hideTabs` → `WritableSignal`s over
9
+ * a backing `input()`, so a read becomes a call and a plain write becomes `.set(…)` (auto-fixed)
10
+ * - `maxHeight` was already a signal input; only its type changed (warn)
11
+ *
12
+ * A `model()` would have been the obvious shape for the six, but `ModelOptions` carries no `transform`,
13
+ * and every one of them needs `booleanAttribute` or `numberAttribute` to keep a valueless attribute
14
+ * (`<kbq-code-block softWrap>`) working. Hence the backing input plus a `linkedSignal` over it.
15
+ */
16
+ /** Members whose value is unchanged; a read must become a call, a write must become `.set(…)`. */
17
+ const SIGNAL_MEMBERS = [
18
+ 'softWrap',
19
+ 'viewAll',
20
+ 'canDownload',
21
+ 'files',
22
+ 'activeFileIndex',
23
+ 'hideTabs'
24
+ ];
25
+ /**
26
+ * Members the migration reports rather than rewrites: `maxHeight` was already a signal input and only
27
+ * changed its type, and `KbqCodeBlockHighlight.file` turned from a write-only setter into a required
28
+ * input. Both are reported per file, because a summary line names no call site.
29
+ */
30
+ const REPORTED_MEMBERS = ['maxHeight', 'file'];
31
+ /** Signal-API methods reachable on a signal; a read followed by one is already migrated. */
32
+ const SIGNAL_API_METHODS = new Set(['set', 'update', 'asReadonly', 'subscribe']);
33
+ /** `exportAs` name a template reference has to carry to be the code block rather than some other directive. */
34
+ const CODE_BLOCK_EXPORT_AS = 'kbqCodeBlock';
35
+ /** TypeScript type annotation that marks a receiver as a code block. */
36
+ const CODE_BLOCK_TYPE = 'KbqCodeBlock';
37
+ /** Type annotation that marks a receiver as the highlight directive, whose `file` input also changed. */
38
+ const HIGHLIGHT_TYPE = 'KbqCodeBlockHighlight';
39
+ /** Element selector whose template reference variables (`#ref`) point at a code block. */
40
+ const CODE_BLOCK_ELEMENT = 'kbq-code-block';
41
+ /** Import specifier that marks a file as a code block consumer. */
42
+ const CODE_BLOCK_PACKAGE = '@koobiq/components/code-block';
43
+ /**
44
+ * The backing inputs behind the six signals. Public, because a `protected` input cannot be bound from a
45
+ * consumer's template, but they are `@docs-private` plumbing: read the signal that carries the attribute's
46
+ * own name instead. The removed `canLoadInput` and `codeFilesInput` are reported by `v21-upgrade`.
47
+ */
48
+ const PLUMBING_MEMBERS = [
49
+ 'softWrapInput',
50
+ 'viewAllInput',
51
+ 'canDownloadInput',
52
+ 'filesInput',
53
+ 'activeFileIndexInput',
54
+ 'hideTabsInput'
55
+ ];
56
+ /** Reported for a write the rewrite cannot translate on its own. */
57
+ const writeMessage = (members) => `These writes were left untouched: ${[...members].join(', ')}. A plain \`x.softWrap = value\` is ` +
58
+ 'rewritten to `x.softWrap.set(value)`, but a compound assignment (`||=`, `+=`) or an increment would ' +
59
+ 'need the receiver spelled twice.';
60
+ const reportedMessage = (members) => `These KbqCodeBlock members changed shape without changing name: ${[...members].join(', ')}. ` +
61
+ '`maxHeight` reports `number | undefined` instead of `number` and never NaN, so decide per call site ' +
62
+ 'between `?? 0` and handling the unset state. `KbqCodeBlockHighlight.file` was a write-only setter ' +
63
+ 'and is a required input now: bind `[file]`, and read it as `file()`.';
64
+ const plumbingMessage = (members) => `These KbqCodeBlock members are backing inputs: ${[...members].join(', ')}. They exist to carry the ` +
65
+ 'attribute and its transform, they are read-only, and they report what was bound rather than what the ' +
66
+ 'component currently holds. Bind the attribute they alias - `softWrap`, `viewAll`, `canDownload`, ' +
67
+ "`files`, `activeFileIndex`, `hideTabs` - and read the signal that carries the attribute's own name.";
68
+ /**
69
+ * Reported for a read through a signal query, which is a signal holding the component: the read needs two
70
+ * calls rather than one. Emitted from the AST pass rather than a regex, so it follows the same receiver
71
+ * resolution as the rewrite.
72
+ */
73
+ const signalQueryMessage = (member, required) => `A signal query holds the component behind a call of its own, so reading \`${member}\` through it ` +
74
+ `needs two calls: \`this.codeBlock()${required ? '' : '?'}.${member}()\`.` +
75
+ (required ? '' : ' The query is optional, so keep the `?.`.') +
76
+ ' Those reads are left untouched - migrate them by hand.';
77
+ /** Reported when a template renders the code block but cannot be parsed, so nothing in it was inspected. */
78
+ const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders <kbq-code-block> but could not be parsed, so it was left untouched. Migrate ' +
79
+ 'reads through its template reference variables by hand. If every template is reported this way, ' +
80
+ '`@angular/compiler` could not be loaded from this install.';
81
+ /**
82
+ * Reported when a file names `KbqCodeBlock` in a type position the receiver pass cannot scope to a single
83
+ * identifier - a union, an array, a `QueryList<…>`, a cast, a return type - or reads a member in a shape
84
+ * the access pass cannot reach.
85
+ */
86
+ const UNRESOLVED_RECEIVER_MESSAGE = 'KbqCodeBlock is used here in a way this migration cannot resolve to a single receiver, so any signal ' +
87
+ 'read through it was left untouched. Check these lines by hand:';
88
+ /** Printed once per project, after the per-file reports. */
89
+ const SUMMARY = [
90
+ ' `maxHeight` reports `number | undefined` instead of `number`, and a value that is not cleanly ' +
91
+ "numeric - a valueless `maxHeight` attribute, `'200px'` - reports `undefined` rather than NaN. " +
92
+ 'It was declared non-nullable over an `undefined!` default, so a block with no binding always ' +
93
+ 'handed back `undefined` behind a `number` type.',
94
+ ' `KbqCodeBlockHighlight.file` was a write-only required input that started highlighting as a side ' +
95
+ 'effect. It is a required signal input driven by an effect now, so it can finally be read - and a ' +
96
+ 'programmatic write no longer compiles.',
97
+ ' Reading `hideTabs` reports what was bound. What the header actually does is `tabsHidden()`, which ' +
98
+ 'adds the rule that a single file with no filename hides the bar; the component used to write that ' +
99
+ 'rule into `hideTabs` itself, which latched the bar off for good.',
100
+ ' An `activeFileIndex` outside `files` renders the first file instead of the indexed one, and an ' +
101
+ 'empty `files` renders no code at all. Both used to reach `files[activeFileIndex]` and throw on ' +
102
+ 'the undefined result. The index itself is left alone: resetting it wrote back into ' +
103
+ '`[(activeFileIndex)]` while the parent was still updating.'
104
+ ];
105
+
106
+ exports.CODE_BLOCK_ELEMENT = CODE_BLOCK_ELEMENT;
107
+ exports.CODE_BLOCK_EXPORT_AS = CODE_BLOCK_EXPORT_AS;
108
+ exports.CODE_BLOCK_PACKAGE = CODE_BLOCK_PACKAGE;
109
+ exports.CODE_BLOCK_TYPE = CODE_BLOCK_TYPE;
110
+ exports.HIGHLIGHT_TYPE = HIGHLIGHT_TYPE;
111
+ exports.PLUMBING_MEMBERS = PLUMBING_MEMBERS;
112
+ exports.REPORTED_MEMBERS = REPORTED_MEMBERS;
113
+ exports.SIGNAL_API_METHODS = SIGNAL_API_METHODS;
114
+ exports.SIGNAL_MEMBERS = SIGNAL_MEMBERS;
115
+ exports.SUMMARY = SUMMARY;
116
+ exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
117
+ exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
118
+ exports.plumbingMessage = plumbingMessage;
119
+ exports.reportedMessage = reportedMessage;
120
+ exports.signalQueryMessage = signalQueryMessage;
121
+ exports.writeMessage = writeMessage;