@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,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-timepicker-signals",
4
+ "title": "Koobiq components timepicker signals migration",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "fix": {
15
+ "type": "boolean",
16
+ "default": true,
17
+ "description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,73 @@
1
+ # timezone-grouping-utils
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the timezone call sites that the review's split of
5
+ `getZonesGroupedByCountry` breaks, and the members whose type or behavior changed under them. It never
6
+ writes to the tree.
7
+
8
+ ## Background
9
+
10
+ The package ships no timezone data — every consumer feeds its own rows through two exported utilities, and
11
+ both were wrong.
12
+
13
+ | Member | Before | After |
14
+ | --------------------------------------------------- | ---------------------------------------------- | --------------------------------------------- |
15
+ | `getZonesGroupedByCountry(data, label?, priority?)` | one privileged country plus one "Other" bucket | `getZonesGroupedByCountry(data)`, per country |
16
+ | — | — | `promoteCountry`, `collapseOtherCountries` |
17
+ | host country | read from `Intl` inside the grouping | `kbqResolveHostCountry(data)` |
18
+ | `timezonesSortComparator` | returned the first zone's offset | returns the difference, ties on `city` |
19
+ | `KbqTimezoneGroup.countryCode` | `string` | `string \| null` |
20
+ | `KbqTimezoneZone.offset` | required, rendered verbatim | optional, resolved from `id` when absent |
21
+ | `kbq-timezone-select` `multiple`, `multiline` | accepted, half-rendered | throws |
22
+
23
+ `timezonesSortComparator` deserves a note. Its body returned `parseOffset(first.offset)` rather than a
24
+ difference, so `cmp(+05:00, +02:00)` and `cmp(+02:00, +05:00)` were both positive: it is not a valid
25
+ comparator, and the order a list came out in was whatever the engine's sort algorithm made of it. Any zone
26
+ at `00:00:00` compared equal to everything, and an unparsable offset was `NaN`, which V8 reads as `0`.
27
+
28
+ `getZonesGroupedByCountry` never grouped by country either. It read
29
+ `Intl.DateTimeFormat().resolvedOptions().timeZone` at call time and produced at most two groups — the host
30
+ machine's country and one bucket holding everything else with its `countryName` overwritten. The same input
31
+ rendered differently on a developer's laptop, on CI and on an SSR server versus the browser that hydrated it.
32
+
33
+ ## What it does _not_ do
34
+
35
+ Nothing is rewritten. Restoring the old rendering takes a composition of two or three helpers, and which one
36
+ a call site meant — promote the country, collapse the rest, or both — cannot be read off the call.
37
+
38
+ | Pattern | Manual migration |
39
+ | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
40
+ | `getZonesGroupedByCountry(zones, label, country)` | `collapseOtherCountries(getZonesGroupedByCountry(zones), country, label)` |
41
+ | `getZonesGroupedByCountry(zones, label)` | `collapseOtherCountries(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones), label)` |
42
+ | `getZonesGroupedByCountry(zones)` | `promoteCountry(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones))` for a real per-country grouping |
43
+ | `group.countryCode` | Nullable — an aggregate bucket belongs to no country |
44
+ | `zone.offset` | `resolveZoneOffset(zone)`; omit the field to have it derived from the IANA `id` |
45
+ | `multiple` or `multiline` on `kbq-timezone-select` | Use `kbq-select` |
46
+
47
+ ## Notes with no call site to point at
48
+
49
+ - The option tooltip carries the same filtered city list the option renders. It used to carry the
50
+ unfiltered one while the show/hide decision was measured on the filtered box, so a search opened a hint
51
+ listing exactly the cities it had just removed.
52
+ - `UtcOffsetPipe` and `CitiesByFilterPipe` are exported, and `KbqTimezoneModule` re-exports
53
+ `KbqOptionModule`, so the documented usage with `kbq-optgroup` works from the module alone.
54
+ - `filterCitiesBySearchString` rejoins on `', '` instead of `','`, so a filtered list no longer begins with
55
+ a stray space. Its offset guard recognizes an offset that is still being typed — `+`, `+03:`, `0330` — and
56
+ leaves the city list whole for it, as before. A lone hyphen-minus is the one sign it now searches for,
57
+ because it is also how `Baden-Baden` is found.
58
+ - Typeahead matches the city. `getLabel()` used to return the whole line, which opens with `UTC`, so typing
59
+ a city's first letters never moved past the first option, and a zone west of UTC — written with U+2212 —
60
+ could not be reached by typing at all.
61
+ - The overlay pane carries `kbq-select-overlay`, as it does for `kbq-select`: the forked template did not
62
+ bind `cdkConnectedOverlayPanelClass`, so a style keyed on `.cdk-overlay-pane.kbq-select-overlay` missed
63
+ the timezone panel.
64
+ - `KbqTimezoneOption` provides `KBQ_TITLE_TEXT_REF` and marks its city label, so a `[kbq-title]` inside an
65
+ option measures the label rather than the whole two-column row.
66
+ - The search placeholder follows the active locale instead of latching to whichever one was applied first.
67
+ A placeholder the consumer binds still wins.
68
+
69
+ ## Running it manually
70
+
71
+ ```
72
+ ng generate @koobiq/components:timezone-grouping-utils --project my-app
73
+ ```
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `timezone-grouping-utils` migration.
5
+ *
6
+ * The timezone review split the two exported utilities that every consumer routes its data through:
7
+ *
8
+ * - `getZonesGroupedByCountry(data, otherCountriesLabel?, priorityCountry?)` → `getZonesGroupedByCountry(data)`.
9
+ * It groups by country now instead of producing "the host's country plus one Other bucket", and it no
10
+ * longer reads `Intl`. The old behaviour is `collapseOtherCountries(getZonesGroupedByCountry(data),
11
+ * priorityCountry ?? kbqResolveHostCountry(data), otherCountriesLabel)`.
12
+ * - `timezonesSortComparator` returns the difference of the two offsets instead of the first zone's offset,
13
+ * and ties break on `city` rather than on `countryName`, which was always equal inside a group.
14
+ * - `KbqTimezoneGroup.countryCode` is `string | null` — the aggregate bucket belongs to no country.
15
+ * - `KbqTimezoneZone.offset` is optional; omitted, it is resolved from the IANA `id` at render time.
16
+ * - `kbq-timezone-select` rejects `multiple` and `multiline` instead of half-rendering them.
17
+ *
18
+ * Warn-only. The replacement for a dropped argument is a composition whose shape depends on what the call
19
+ * site meant by it, and neither the promotion nor the aggregate label can be derived from the call.
20
+ */
21
+ /** Import specifier that marks a file as a timezone consumer. */
22
+ const TIMEZONE_PACKAGE = '@koobiq/components/timezone';
23
+ /** Identifier and element shapes that mark a consumer without an import. */
24
+ const TIMEZONE_TYPE = '\\bKbqTimezone\\w*\\b|\\bkbq-timezone-(?:select|option)\\b|\\bgetZonesGroupedByCountry\\b|\\btimezonesSortComparator\\b';
25
+ const warnPatterns = [
26
+ {
27
+ anchor: TIMEZONE_TYPE,
28
+ pattern: '\\bgetZonesGroupedByCountry\\s*\\([^)]*,',
29
+ message: 'getZonesGroupedByCountry now takes only the zones: the otherCountriesLabel and priorityCountry ' +
30
+ 'parameters are gone, and the function groups by country instead of producing the host country ' +
31
+ 'plus one "Other" bucket. Compose the old behaviour explicitly — ' +
32
+ 'collapseOtherCountries(getZonesGroupedByCountry(zones), priorityCountry, otherCountriesLabel) — ' +
33
+ 'and use kbqResolveHostCountry(zones) where the country used to be read from Intl.'
34
+ },
35
+ {
36
+ anchor: TIMEZONE_TYPE,
37
+ // Any call with no comma before its first closing parenthesis, so an argument that is itself a call —
38
+ // `getZonesGroupedByCountry(this.getZones())` — is reported too: it compiles unchanged, which is exactly
39
+ // why it must not go unmentioned.
40
+ pattern: '\\bgetZonesGroupedByCountry\\s*\\((?![^)]*,)',
41
+ message: 'getZonesGroupedByCountry no longer reads the host time zone and no longer collapses anything: ' +
42
+ 'it returns one group per country, ordered by country name. A single-argument call used to mean ' +
43
+ '"the host country first, everything else under \'Other\'" — write that as ' +
44
+ "collapseOtherCountries(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones), 'Other'), " +
45
+ 'or keep the per-country grouping and pass it through promoteCountry.'
46
+ },
47
+ {
48
+ anchor: TIMEZONE_TYPE,
49
+ pattern: '\\btimezonesSortComparator\\b',
50
+ message: 'timezonesSortComparator returns the difference of the two offsets now — it used to return the ' +
51
+ "first zone's offset, which is not a valid comparator, so a list of more than a couple of zones " +
52
+ "came out in an order the engine's sort happened to produce. Ties break on city instead of on " +
53
+ 'countryName, and a zone whose offset cannot be resolved sorts last instead of as UTC.'
54
+ },
55
+ {
56
+ anchor: TIMEZONE_TYPE,
57
+ pattern: '\\.\\s*countryCode\\b',
58
+ message: 'KbqTimezoneGroup.countryCode is `string | null`. The bucket collapseOtherCountries produces ' +
59
+ 'spans several countries and says so with null, instead of borrowing the code of an arbitrary ' +
60
+ 'member the way the old aggregate group did.'
61
+ },
62
+ {
63
+ anchor: TIMEZONE_TYPE,
64
+ pattern: '\\.\\s*offset\\b',
65
+ message: 'KbqTimezoneZone.offset is optional. Omit it and the offset is resolved from the IANA id every ' +
66
+ 'time the option renders, so a zone that observes DST is labelled correctly on both sides of the ' +
67
+ 'change; a string supplied there is still rendered verbatim and never recomputed. Read it with ' +
68
+ 'resolveZoneOffset(zone) rather than directly.'
69
+ },
70
+ {
71
+ anchor: TIMEZONE_TYPE,
72
+ pattern: '<kbq-timezone-select\\b[^>]*\\bmulti(?:ple|line)\\b|\\.\\s*multiple\\s*=(?!=)',
73
+ message: 'kbq-timezone-select rejects multiple selection with an error instead of accepting it and ' +
74
+ 'rendering a trigger that shows one of the selected values — through multiple and through ' +
75
+ 'multiline alike, since multiline turns on multiple selection as well. An assignment to multiple ' +
76
+ 'no longer compiles: it is a signal input now, set through the template. Use kbq-select for ' +
77
+ 'multiple selection.'
78
+ }
79
+ ];
80
+ /** Printed once per project, after the per-file reports. */
81
+ const SUMMARY = [
82
+ ' The two grouping helpers are pure: getZonesGroupedByCountry, promoteCountry and ' +
83
+ 'collapseOtherCountries produce the same output on any machine, and kbqResolveHostCountry is the ' +
84
+ 'one place that reads Intl. That is what makes a server-rendered list match the one the browser ' +
85
+ 'computes on hydration.',
86
+ ' The option tooltip carries the same filtered city list the option renders, so a search no longer ' +
87
+ 'opens a hint listing the cities it has just filtered out.',
88
+ ' UtcOffsetPipe and CitiesByFilterPipe are exported, and KbqTimezoneModule re-exports KbqOptionModule, ' +
89
+ 'so the documented usage with kbq-optgroup works from the module alone.',
90
+ ' filterCitiesBySearchString rejoins on ", " instead of ",", so a filtered list no longer starts with ' +
91
+ 'a stray space. Its offset guard recognizes an offset still being typed (+, +03:, 0330) and keeps ' +
92
+ 'the city list whole for it, but a lone hyphen-minus is searched for, so Baden-Baden can be found.',
93
+ ' Typing letters in the select moves to the option whose city starts with them. Typeahead used to ' +
94
+ 'match the whole line, which opens with UTC, so it never reached past the first option.',
95
+ ' The overlay pane carries kbq-select-overlay, as it does for kbq-select.'
96
+ ];
97
+
98
+ exports.SUMMARY = SUMMARY;
99
+ exports.TIMEZONE_PACKAGE = TIMEZONE_PACKAGE;
100
+ exports.TIMEZONE_TYPE = TIMEZONE_TYPE;
101
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,64 @@
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_timezoneGroupingUtils_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[timezone-grouping-utils]';
12
+ const EXTENSIONS = ['.ts', '.html'];
13
+ // Compiled once rather than per file. None carries the `g` flag, so a shared instance holds no `lastIndex`.
14
+ const TIMEZONE_TYPE_REGEX = new RegExp(migrations_timezoneGroupingUtils_data.TIMEZONE_TYPE);
15
+ const COMPILED_WARN_PATTERNS = migrations_timezoneGroupingUtils_data.warnPatterns.map(({ anchor, pattern, message }) => ({
16
+ anchor: new RegExp(anchor),
17
+ pattern: new RegExp(pattern),
18
+ message
19
+ }));
20
+ /** A file is a timezone consumer if it imports the package, names a member, or renders one of its elements. */
21
+ function referencesTimezone(content) {
22
+ return content.includes(migrations_timezoneGroupingUtils_data.TIMEZONE_PACKAGE) || TIMEZONE_TYPE_REGEX.test(content);
23
+ }
24
+ /**
25
+ * Reports the timezone call sites the review's split of `getZonesGroupedByCountry` breaks, plus the members
26
+ * whose type or behaviour changed under them. Never writes: what replaces a dropped argument is a
27
+ * composition of two or three helpers, and which one the call site meant cannot be read off the call.
28
+ *
29
+ * `.html` is visited as well as `.ts`, because `[multiple]` is a template binding that used to be accepted.
30
+ */
31
+ function timezoneGroupingUtils(options) {
32
+ return async (tree, context) => {
33
+ const { project } = options;
34
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
35
+ const root = projectDefinition?.root ?? '';
36
+ const rootDir = root ? tree.getDir(root) : tree.root;
37
+ let consumers = 0;
38
+ let reported = 0;
39
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
40
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
41
+ return;
42
+ const content = entry.content.toString();
43
+ if (!content || !referencesTimezone(content))
44
+ return;
45
+ consumers++;
46
+ for (const { anchor, pattern, message } of COMPILED_WARN_PATTERNS) {
47
+ if (!anchor.test(content) || !pattern.test(content))
48
+ continue;
49
+ reported++;
50
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
51
+ }
52
+ });
53
+ // Nothing here renders or builds a timezone list, so the summary would only be noise.
54
+ if (consumers === 0)
55
+ return;
56
+ utils_messages.logMessage(context.logger, [
57
+ `${LABEL} processed the timezone utilities under "${root || '<workspace root>'}", ` +
58
+ `${consumers} file(s) reference the package, ${reported} call site(s) reported.`,
59
+ ...migrations_timezoneGroupingUtils_data.SUMMARY
60
+ ]);
61
+ };
62
+ }
63
+
64
+ exports.default = timezoneGroupingUtils;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-timezone-grouping-utils",
4
+ "title": "Koobiq components timezone 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,49 @@
1
+ # title-encapsulation
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the members of `KbqTitleDirective` that stopped being public in
5
+ the title review. It never writes to the tree.
6
+
7
+ ## Background
8
+
9
+ `kbq-title` measures its host and opens a tooltip when the text is truncated. The review kept that
10
+ surface — the `kbq-title` input and the tooltip it opens — and closed everything else, because the
11
+ rest was the measurement machinery:
12
+
13
+ | Member | Before | After |
14
+ | ------------------------------------------------------------------------------------------------------ | ---------------- | ----------------------- |
15
+ | `resizeStream` | `Subject<Event>` | removed |
16
+ | `hasOnlyText` | public getter | `private` |
17
+ | `ngOnDestroy` | declared | removed, no `OnDestroy` |
18
+ | `child`, `parent`, `isHorizontalOverflown`, `isVerticalOverflown`, `handleElementEnter`, `hideTooltip` | public | `protected` |
19
+
20
+ `resizeStream` is the only one that changes how the directive works rather than only what it exposes. It was
21
+ fed by a `(window:resize)` host listener, so one directive instance meant one listener — a dropdown
22
+ with hundreds of options meant hundreds. The directive now injects the CDK `SharedResizeObserver`,
23
+ which adds no per-instance listener and, unlike `window:resize`, also reacts to container-only
24
+ resizes. A consumer that pushed into `resizeStream` to force a re-measure can drop the call.
25
+
26
+ ## What it does _not_ do
27
+
28
+ Nothing is rewritten. Every member is either gone or hidden, so there is no expression to migrate a
29
+ call site to — what a consumer should do instead depends on why it reached in.
30
+
31
+ | Pattern | Manual migration |
32
+ | ------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
33
+ | `.resizeStream` | Drop the call; the shared `ResizeObserver` re-measures on its own |
34
+ | `.hasOnlyText` | Read the rendered DOM directly if it is genuinely needed |
35
+ | `.child` / `.parent` / `.is*Overflown` / `.handleElementEnter` / `.hideTooltip` | Use the `kbq-title` input; these are measurement internals |
36
+ | `super.ngOnDestroy()` in a subclass | Remove it — the base tears down through `takeUntilDestroyed` |
37
+
38
+ ## Notes with no call site to point at
39
+
40
+ - The tooltip now opens on keyboard focus, which the class JSDoc and the published guide already
41
+ described. A host that compensated for its absence can drop the workaround.
42
+ - `titleContent` is typed `TemplateRef<unknown>` instead of `TemplateRef<any>`. A `TemplateRef<Ctx>`
43
+ still assigns to it; a value read back out needs a cast.
44
+
45
+ ## Running it manually
46
+
47
+ ```
48
+ ng generate @koobiq/components:title-encapsulation --project my-app
49
+ ```
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `title-encapsulation` migration.
5
+ *
6
+ * The title review narrowed what `KbqTitleDirective` publishes. Nothing was renamed, so no call site
7
+ * has a mechanical replacement — the members are either gone or no longer reachable from outside:
8
+ *
9
+ * - `resizeStream` — a public `Subject<Event>` fed by a `(window:resize)` host listener. The directive
10
+ * now injects the CDK `SharedResizeObserver` and re-measures on container resizes by itself, so
11
+ * there is nothing left to push into.
12
+ * - `hasOnlyText` — public getter → `private`.
13
+ * - `ngOnDestroy` — no longer declared; teardown runs through `takeUntilDestroyed`, and the directive
14
+ * no longer implements `OnDestroy`.
15
+ * - `child`, `parent`, `isHorizontalOverflown`, `isVerticalOverflown`, `handleElementEnter`,
16
+ * `hideTooltip` — public → `protected`. `child` additionally returns `HTMLElement | undefined`.
17
+ *
18
+ * Warn-only. A consumer that reached for any of these was reaching into the measurement internals,
19
+ * and what it should do instead depends on why — there is no expression to rewrite it to.
20
+ */
21
+ /** Import specifier that marks a file as a title consumer. */
22
+ const TITLE_PACKAGE = '@koobiq/components/title';
23
+ /** Identifier shape that marks a consumer without an import (e.g. a re-export or a subclass). */
24
+ const TITLE_TYPE = '\\bKbqTitleDirective\\b';
25
+ const SUBCLASS_ANCHOR = 'extends\\s+KbqTitleDirective\\b';
26
+ const warnPatterns = [
27
+ {
28
+ anchor: TITLE_TYPE,
29
+ pattern: '\\.\\s*resizeStream\\b',
30
+ message: 'KbqTitleDirective.resizeStream was removed. It was a Subject fed by a (window:resize) host ' +
31
+ 'listener; the directive now injects the CDK SharedResizeObserver and re-measures on container ' +
32
+ 'resizes on its own, so a manual `resizeStream.next(event)` has no counterpart and is no longer ' +
33
+ 'needed. Drop the call.'
34
+ },
35
+ {
36
+ anchor: TITLE_TYPE,
37
+ pattern: '\\.\\s*hasOnlyText\\b',
38
+ message: 'KbqTitleDirective.hasOnlyText is private. It reported whether the host holds a single text node, ' +
39
+ 'which is a detail of the overflow measurement — read the rendered DOM directly if a consumer ' +
40
+ 'genuinely needs it.'
41
+ },
42
+ {
43
+ anchor: TITLE_TYPE,
44
+ pattern: '\\.\\s*(?:child|parent|isHorizontalOverflown|isVerticalOverflown|handleElementEnter|hideTooltip)\\b',
45
+ message: 'KbqTitleDirective.child / parent / isHorizontalOverflown / isVerticalOverflown / ' +
46
+ 'handleElementEnter / hideTooltip are protected. They are the measurement internals; the ' +
47
+ 'supported surface is the `kbq-title` input and the tooltip the directive opens by itself. ' +
48
+ '`child` additionally returns `HTMLElement | undefined` now.'
49
+ },
50
+ {
51
+ anchor: SUBCLASS_ANCHOR,
52
+ pattern: 'super\\s*\\.\\s*ngOnDestroy\\s*\\(',
53
+ message: 'KbqTitleDirective no longer declares ngOnDestroy — it tears down through takeUntilDestroyed and ' +
54
+ 'no longer implements OnDestroy, so `super.ngOnDestroy()` from a subclass no longer resolves. ' +
55
+ 'Remove the call; the base teardown runs on its own.'
56
+ }
57
+ ];
58
+ /** Printed once per project, after the per-file reports. */
59
+ const SUMMARY = [
60
+ ' The tooltip now opens on keyboard focus as the guide always claimed, so a host that compensated ' +
61
+ 'for its absence — its own focus listener calling show(), or a duplicate hint — can be removed.',
62
+ ' `titleContent` is typed TemplateRef<unknown> instead of TemplateRef<any>; a TemplateRef<SomeCtx> ' +
63
+ 'still assigns, but a value read back out needs a cast.'
64
+ ];
65
+
66
+ exports.SUMMARY = SUMMARY;
67
+ exports.TITLE_PACKAGE = TITLE_PACKAGE;
68
+ exports.TITLE_TYPE = TITLE_TYPE;
69
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,57 @@
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_titleEncapsulation_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[title-encapsulation]';
12
+ const EXTENSIONS = ['.ts'];
13
+ /** A file is a title consumer if it imports the package or names the directive. */
14
+ function referencesTitle(content) {
15
+ return content.includes(migrations_titleEncapsulation_data.TITLE_PACKAGE) || new RegExp(migrations_titleEncapsulation_data.TITLE_TYPE).test(content);
16
+ }
17
+ /**
18
+ * Reports the members of `KbqTitleDirective` that stopped being public. Never writes: every one of
19
+ * them was removed or hidden outright, so there is no expression to rewrite a call site to.
20
+ *
21
+ * Only `.ts` is visited. The directive's template surface — the `kbq-title` attribute — did not
22
+ * change, so no markup needs migrating.
23
+ */
24
+ function titleEncapsulation(options) {
25
+ return async (tree, context) => {
26
+ const { project } = options;
27
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
28
+ const root = projectDefinition?.root ?? '';
29
+ const rootDir = root ? tree.getDir(root) : tree.root;
30
+ let consumers = 0;
31
+ let reported = 0;
32
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
33
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
34
+ return;
35
+ const content = entry?.content.toString();
36
+ if (!content || !referencesTitle(content))
37
+ return;
38
+ consumers++;
39
+ for (const { anchor, pattern, message } of migrations_titleEncapsulation_data.warnPatterns) {
40
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
41
+ continue;
42
+ reported++;
43
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
44
+ }
45
+ });
46
+ // Nothing here uses kbq-title, so the summary would only be noise.
47
+ if (consumers === 0)
48
+ return;
49
+ utils_messages.logMessage(context.logger, [
50
+ `${LABEL} processed kbq-title under "${root || '<workspace root>'}", ` +
51
+ `${consumers} file(s) reference the directive, ${reported} call site(s) reported.`,
52
+ ...migrations_titleEncapsulation_data.SUMMARY
53
+ ]);
54
+ };
55
+ }
56
+
57
+ exports.default = titleEncapsulation;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-title-encapsulation",
4
+ "title": "Koobiq components title 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,102 @@
1
+ # toast-stack-and-defaults
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports the breaking parts of the toast review.
5
+
6
+ This schematic is report-only: it never writes a file. Every change below needs
7
+ a decision a schematic cannot make for you.
8
+
9
+ ## Background
10
+
11
+ `KbqToastComponent` used to hold `readonly service = inject(KbqToastService)`
12
+ and reach the whole service through it. It now resolves only the narrow
13
+ `KbqToastStack` contract it actually consumes, through the new
14
+ `KBQ_TOAST_STACK` token, which both `KbqToastService` and
15
+ `KbqToastContainerComponent` provide.
16
+
17
+ ## Breaking changes
18
+
19
+ **`KbqToastComponent.service` is gone**, and so are the members that only
20
+ existed for the old rendering path: `elementRef`, `ttl`, `delay`,
21
+ `isTemplateRef()`, `themePalette` and `toastStyle`. Everything the template
22
+ renders — `style`, `icon`, `role`, `closeButton` and the resolved slot templates
23
+ — became `protected`. `data`, `id`, `hovered`, `focused` and `close()` are
24
+ still public.
25
+
26
+ A subclass registered through `KBQ_TOAST_FACTORY` is the documented extension
27
+ point, so it is the code most likely to break:
28
+
29
+ ```ts
30
+ // Before
31
+ class MyToast extends KbqToastComponent {
32
+ ok() {
33
+ this.service.hide(this.id);
34
+ }
35
+ }
36
+
37
+ // After
38
+ class MyToast extends KbqToastComponent {
39
+ ok() {
40
+ this.close();
41
+ }
42
+ }
43
+ ```
44
+
45
+ Anything the stack contract does not cover is reached by injecting it directly:
46
+
47
+ ```ts
48
+ class MyToast extends KbqToastComponent {
49
+ private readonly stack = inject(KBQ_TOAST_STACK);
50
+ private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);
51
+ }
52
+ ```
53
+
54
+ The countdown moved into the service, so there is no per-instance `ttl` or
55
+ `delay` to read or write any more — pass the lifetime as the `duration`
56
+ argument of `show()`.
57
+
58
+ **`KbqToastService.animation` was removed** with `@angular/animations`: a toast
59
+ plays its exit animation before it is taken out, and the overlay detaches once
60
+ the last exit has ended.
61
+
62
+ **`showTemplate()` and `templates` return
63
+ `EmbeddedViewRef<KbqToastTemplateContext>`**, whose `$implicit` is the
64
+ `KbqToastData` — not the toast component. Only annotations of the returned ref
65
+ need adjusting; the value has always been the embedded view.
66
+
67
+ **A `KBQ_TOAST_FACTORY` component that does not extend `KbqToastComponent`** is
68
+ rejected: `show()` reads the numeric `id` the service keys its stack by, and
69
+ throws when it is missing instead of stacking a toast it can never dismiss.
70
+
71
+ ## Behaviour changes
72
+
73
+ **The data you pass in is no longer written to.** `show()` used to default
74
+ `style` to `contrast` and `icon` to `true` by assigning them onto the caller's
75
+ object; both defaults are resolved inside the toast now. Anything that read
76
+ those keys back after `show()` — or rendered the same object somewhere else,
77
+ which is what `kbq-notification-center` does — has to apply its own defaults.
78
+
79
+ **Auto-dismissal pauses while a toast is hovered or holds the focus.** The
80
+ whole stack shares one heartbeat, which stops while the stack is empty. A toast
81
+ shown through `showTemplate()` carries no such listeners and is not paused.
82
+
83
+ **Every toast is a live region:** `role="alert"` for the error and warning
84
+ styles, `role="status"` otherwise. The stack itself is a labelled
85
+ `role="region"` whose name comes from the new `toastRegion` key of the `a11y`
86
+ section of the locale data.
87
+
88
+ **Focus is handed on only for a keyboard dismissal** — to the next toast, or
89
+ back to the element that held it when the toast appeared. A mouse dismissal
90
+ leaves the focus where the browser put it.
91
+
92
+ ## Running the migration
93
+
94
+ ```bash
95
+ ng update @koobiq/components@21
96
+ ```
97
+
98
+ Or manually:
99
+
100
+ ```bash
101
+ ng g @koobiq/components:toast-stack-and-defaults --project "<your project>"
102
+ ```