@koobiq/components 20.4.2 → 21.0.1

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 (798) 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 +791 -609
  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 +2871 -2595
  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 +400 -149
  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 +734 -488
  197. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-tree.mjs +1700 -617
  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 +415 -18
  264. package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
  265. package/schematics/migrations/accordion-state-saving-default/data.cjs +75 -0
  266. package/schematics/migrations/accordion-state-saving-default/index.cjs +61 -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.cjs +47 -0
  270. package/schematics/migrations/actions-panel-overlay-container/index.cjs +55 -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 → data.cjs} +3 -0
  274. package/schematics/migrations/alert-signals/index.cjs +221 -0
  275. package/schematics/migrations/angular-animations-removal/README.md +46 -0
  276. package/schematics/migrations/angular-animations-removal/data.cjs +150 -0
  277. package/schematics/migrations/angular-animations-removal/index.cjs +21 -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.cjs +136 -0
  281. package/schematics/migrations/app-switcher-signals/index.cjs +366 -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 → index.cjs} +6 -5
  285. package/schematics/migrations/autocomplete-signals/README.md +92 -0
  286. package/schematics/migrations/autocomplete-signals/data.cjs +149 -0
  287. package/schematics/migrations/autocomplete-signals/index.cjs +707 -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.cjs +109 -0
  291. package/schematics/migrations/badge-signals/index.cjs +694 -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.cjs +136 -0
  295. package/schematics/migrations/button-state-and-styles/index.cjs +221 -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.cjs +106 -0
  299. package/schematics/migrations/button-supported-colors/index.cjs +261 -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.cjs +200 -0
  303. package/schematics/migrations/button-toggle-signals-and-aria/index.cjs +497 -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.cjs +88 -0
  307. package/schematics/migrations/button-truncation/index.cjs +270 -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.cjs +114 -0
  311. package/schematics/migrations/checkbox-signals/index.cjs +635 -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.cjs +101 -0
  315. package/schematics/migrations/clamped-text-disclosure/index.cjs +60 -0
  316. package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
  317. package/schematics/migrations/code-block-highlight-js-core/README.md +53 -0
  318. package/schematics/migrations/code-block-highlight-js-core/data.cjs +64 -0
  319. package/schematics/migrations/code-block-highlight-js-core/index.cjs +319 -0
  320. package/schematics/migrations/code-block-highlight-js-core/schema.json +20 -0
  321. package/schematics/migrations/code-block-signals/README.md +84 -0
  322. package/schematics/migrations/code-block-signals/data.cjs +121 -0
  323. package/schematics/migrations/code-block-signals/index.cjs +701 -0
  324. package/schematics/migrations/code-block-signals/schema.json +20 -0
  325. package/schematics/migrations/color-signals/README.md +46 -0
  326. package/schematics/migrations/color-signals/data.cjs +131 -0
  327. package/schematics/migrations/color-signals/index.cjs +20 -0
  328. package/schematics/migrations/color-signals/schema.json +20 -0
  329. package/schematics/migrations/core-mixins-removal/README.md +20 -0
  330. package/schematics/migrations/core-mixins-removal/data.cjs +27 -0
  331. package/schematics/migrations/core-mixins-removal/index.cjs +18 -0
  332. package/schematics/migrations/core-mixins-removal/schema.json +15 -0
  333. package/schematics/migrations/css-selectors/README.md +2 -2
  334. package/schematics/migrations/css-selectors/{index.js → index.cjs} +4 -3
  335. package/schematics/migrations/datepicker-signals/README.md +24 -0
  336. package/schematics/migrations/datepicker-signals/data.cjs +49 -0
  337. package/schematics/migrations/datepicker-signals/index.cjs +18 -0
  338. package/schematics/migrations/datepicker-signals/schema.json +15 -0
  339. package/schematics/migrations/deprecated-icons/README.md +2 -2
  340. package/schematics/migrations/deprecated-icons/{index.js → index.cjs} +8 -7
  341. package/schematics/migrations/design-tokens-v4/README.md +75 -0
  342. package/schematics/migrations/design-tokens-v4/index.cjs +60 -0
  343. package/schematics/migrations/design-tokens-v4/schema.json +15 -0
  344. package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
  345. package/schematics/migrations/divider-signals-and-aria/data.cjs +62 -0
  346. package/schematics/migrations/divider-signals-and-aria/index.cjs +212 -0
  347. package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
  348. package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
  349. package/schematics/migrations/dl-attribute-coercion/data.cjs +85 -0
  350. package/schematics/migrations/dl-attribute-coercion/index.cjs +162 -0
  351. package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
  352. package/schematics/migrations/dl-standalone-names/README.md +49 -0
  353. package/schematics/migrations/dl-standalone-names/data.cjs +44 -0
  354. package/schematics/migrations/dl-standalone-names/index.cjs +322 -0
  355. package/schematics/migrations/dl-standalone-names/schema.json +20 -0
  356. package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
  357. package/schematics/migrations/dropdown-demote-overlay/data.cjs +84 -0
  358. package/schematics/migrations/dropdown-demote-overlay/index.cjs +289 -0
  359. package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
  360. package/schematics/migrations/dropdown-signals/README.md +83 -0
  361. package/schematics/migrations/dropdown-signals/data.cjs +152 -0
  362. package/schematics/migrations/dropdown-signals/index.cjs +20 -0
  363. package/schematics/migrations/dropdown-signals/schema.json +20 -0
  364. package/schematics/migrations/empty-state-error-color/README.md +84 -0
  365. package/schematics/migrations/empty-state-error-color/data.cjs +85 -0
  366. package/schematics/migrations/empty-state-error-color/index.cjs +72 -0
  367. package/schematics/migrations/empty-state-error-color/schema.json +15 -0
  368. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  369. package/schematics/migrations/empty-state-size-attr/{index.js → index.cjs} +6 -5
  370. package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
  371. package/schematics/migrations/file-upload-cva-and-primitives/data.cjs +97 -0
  372. package/schematics/migrations/file-upload-cva-and-primitives/index.cjs +61 -0
  373. package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
  374. package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
  375. package/schematics/migrations/file-upload-deprecated-outputs/data.cjs +20 -0
  376. package/schematics/migrations/file-upload-deprecated-outputs/index.cjs +71 -0
  377. package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
  378. package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
  379. package/schematics/migrations/filter-bar-rename-action/data.cjs +151 -0
  380. package/schematics/migrations/filter-bar-rename-action/index.cjs +178 -0
  381. package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
  382. package/schematics/migrations/filter-bar-signals/README.md +27 -16
  383. package/schematics/migrations/filter-bar-signals/{data.js → data.cjs} +1 -2
  384. package/schematics/migrations/filter-bar-signals/index.cjs +225 -0
  385. package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
  386. package/schematics/migrations/filter-bar-state-saving-default/data.cjs +87 -0
  387. package/schematics/migrations/filter-bar-state-saving-default/index.cjs +62 -0
  388. package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
  389. package/schematics/migrations/flag-inner-html/README.md +67 -0
  390. package/schematics/migrations/flag-inner-html/data.cjs +58 -0
  391. package/schematics/migrations/flag-inner-html/index.cjs +62 -0
  392. package/schematics/migrations/flag-inner-html/schema.json +15 -0
  393. package/schematics/migrations/form-field-signals/README.md +125 -0
  394. package/schematics/migrations/form-field-signals/data.cjs +288 -0
  395. package/schematics/migrations/form-field-signals/index.cjs +383 -0
  396. package/schematics/migrations/form-field-signals/schema.json +20 -0
  397. package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
  398. package/schematics/migrations/icon-semantics-and-api/data.cjs +97 -0
  399. package/schematics/migrations/icon-semantics-and-api/index.cjs +65 -0
  400. package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
  401. package/schematics/migrations/icons-replacement/README.md +5 -5
  402. package/schematics/migrations/icons-replacement/{index.js → index.cjs} +4 -3
  403. package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
  404. package/schematics/migrations/inline-edit-a11y-and-types/data.cjs +117 -0
  405. package/schematics/migrations/inline-edit-a11y-and-types/index.cjs +98 -0
  406. package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
  407. package/schematics/migrations/input-number-surface/README.md +140 -0
  408. package/schematics/migrations/input-number-surface/data.cjs +135 -0
  409. package/schematics/migrations/input-number-surface/index.cjs +293 -0
  410. package/schematics/migrations/input-number-surface/schema.json +20 -0
  411. package/schematics/migrations/input-signals/README.md +20 -0
  412. package/schematics/migrations/input-signals/data.cjs +30 -0
  413. package/schematics/migrations/input-signals/index.cjs +18 -0
  414. package/schematics/migrations/input-signals/schema.json +15 -0
  415. package/schematics/migrations/link-deprecated-path/README.md +144 -0
  416. package/schematics/migrations/link-deprecated-path/index.cjs +20 -0
  417. package/schematics/migrations/link-deprecated-path/schema.json +20 -0
  418. package/schematics/migrations/link-signals/README.md +71 -0
  419. package/schematics/migrations/link-signals/data.cjs +116 -0
  420. package/schematics/migrations/link-signals/index.cjs +416 -0
  421. package/schematics/migrations/link-signals/schema.json +20 -0
  422. package/schematics/migrations/list-signals/README.md +22 -0
  423. package/schematics/migrations/list-signals/data.cjs +35 -0
  424. package/schematics/migrations/list-signals/index.cjs +18 -0
  425. package/schematics/migrations/list-signals/schema.json +15 -0
  426. package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
  427. package/schematics/migrations/list-tree-multiple-input/data.cjs +74 -0
  428. package/schematics/migrations/list-tree-multiple-input/index.cjs +222 -0
  429. package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
  430. package/schematics/migrations/loader-overlay-signals/README.md +62 -0
  431. package/schematics/migrations/loader-overlay-signals/data.cjs +101 -0
  432. package/schematics/migrations/loader-overlay-signals/index.cjs +698 -0
  433. package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
  434. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  435. package/schematics/migrations/loader-overlay-size-attr/{index.js → index.cjs} +6 -5
  436. package/schematics/migrations/locale-configuration-providers/README.md +163 -0
  437. package/schematics/migrations/locale-configuration-providers/data.cjs +257 -0
  438. package/schematics/migrations/locale-configuration-providers/index.cjs +295 -0
  439. package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
  440. package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
  441. package/schematics/migrations/mandatory-peer-dependencies/index.cjs +43 -0
  442. package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
  443. package/schematics/migrations/markdown-signals/README.md +58 -0
  444. package/schematics/migrations/markdown-signals/data.cjs +79 -0
  445. package/schematics/migrations/markdown-signals/index.cjs +640 -0
  446. package/schematics/migrations/markdown-signals/schema.json +20 -0
  447. package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
  448. package/schematics/migrations/modal-dialog-semantics/data.cjs +110 -0
  449. package/schematics/migrations/modal-dialog-semantics/index.cjs +59 -0
  450. package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
  451. package/schematics/migrations/modal-signals/README.md +88 -0
  452. package/schematics/migrations/modal-signals/data.cjs +132 -0
  453. package/schematics/migrations/modal-signals/index.cjs +20 -0
  454. package/schematics/migrations/modal-signals/schema.json +20 -0
  455. package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
  456. package/schematics/migrations/navbar-signals-and-aria/data.cjs +198 -0
  457. package/schematics/migrations/navbar-signals-and-aria/index.cjs +569 -0
  458. package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
  459. package/schematics/migrations/new-icons-pack/README.md +10 -10
  460. package/schematics/migrations/new-icons-pack/{index.js → index.cjs} +8 -7
  461. package/schematics/migrations/notification-center-signals/README.md +67 -0
  462. package/schematics/migrations/notification-center-signals/data.cjs +66 -0
  463. package/schematics/migrations/notification-center-signals/index.cjs +62 -0
  464. package/schematics/migrations/notification-center-signals/schema.json +15 -0
  465. package/schematics/migrations/option-signals/README.md +37 -0
  466. package/schematics/migrations/option-signals/data.cjs +86 -0
  467. package/schematics/migrations/option-signals/index.cjs +20 -0
  468. package/schematics/migrations/option-signals/schema.json +20 -0
  469. package/schematics/migrations/popover-leave-delay/README.md +51 -0
  470. package/schematics/migrations/popover-leave-delay/data.cjs +61 -0
  471. package/schematics/migrations/popover-leave-delay/index.cjs +55 -0
  472. package/schematics/migrations/popover-leave-delay/schema.json +15 -0
  473. package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
  474. package/schematics/migrations/progress-bar-percentage-and-aria/data.cjs +76 -0
  475. package/schematics/migrations/progress-bar-percentage-and-aria/index.cjs +59 -0
  476. package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
  477. package/schematics/migrations/progress-spinner-signals/README.md +72 -0
  478. package/schematics/migrations/progress-spinner-signals/data.cjs +83 -0
  479. package/schematics/migrations/progress-spinner-signals/index.cjs +695 -0
  480. package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
  481. package/schematics/migrations/query-list-signals/README.md +32 -0
  482. package/schematics/migrations/query-list-signals/data.cjs +70 -0
  483. package/schematics/migrations/query-list-signals/index.cjs +18 -0
  484. package/schematics/migrations/query-list-signals/schema.json +15 -0
  485. package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
  486. package/schematics/migrations/radio-signals-and-aria/data.cjs +163 -0
  487. package/schematics/migrations/radio-signals-and-aria/index.cjs +40 -0
  488. package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
  489. package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
  490. package/schematics/migrations/read-state-dwell-handlers/data.cjs +45 -0
  491. package/schematics/migrations/read-state-dwell-handlers/index.cjs +216 -0
  492. package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
  493. package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
  494. package/schematics/migrations/scrollbar-deprecated-path/index.cjs +21 -0
  495. package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
  496. package/schematics/migrations/select-signal-inputs/README.md +61 -0
  497. package/schematics/migrations/select-signal-inputs/data.cjs +99 -0
  498. package/schematics/migrations/select-signal-inputs/index.cjs +58 -0
  499. package/schematics/migrations/select-signal-inputs/schema.json +15 -0
  500. package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
  501. package/schematics/migrations/sidepanel-non-modal-behavior/data.cjs +111 -0
  502. package/schematics/migrations/sidepanel-non-modal-behavior/index.cjs +58 -0
  503. package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
  504. package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
  505. package/schematics/migrations/signal-inputs-subclasses/data.cjs +69 -0
  506. package/schematics/migrations/signal-inputs-subclasses/index.cjs +18 -0
  507. package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
  508. package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
  509. package/schematics/migrations/split-button-optional-disabled/data.cjs +53 -0
  510. package/schematics/migrations/split-button-optional-disabled/index.cjs +58 -0
  511. package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
  512. package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
  513. package/schematics/migrations/splitter-deprecated-path/index.cjs +21 -0
  514. package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
  515. package/schematics/migrations/state-saving-default/README.md +67 -0
  516. package/schematics/migrations/state-saving-default/data.cjs +88 -0
  517. package/schematics/migrations/state-saving-default/index.cjs +63 -0
  518. package/schematics/migrations/state-saving-default/schema.json +15 -0
  519. package/schematics/migrations/table-cell-content/README.md +55 -0
  520. package/schematics/migrations/table-cell-content/data.cjs +66 -0
  521. package/schematics/migrations/table-cell-content/index.cjs +67 -0
  522. package/schematics/migrations/table-cell-content/schema.json +15 -0
  523. package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
  524. package/schematics/migrations/tabs-signals-and-aria/data.cjs +139 -0
  525. package/schematics/migrations/tabs-signals-and-aria/index.cjs +66 -0
  526. package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
  527. package/schematics/migrations/tag-list-cleaner/README.md +58 -0
  528. package/schematics/migrations/tag-list-cleaner/data.cjs +42 -0
  529. package/schematics/migrations/tag-list-cleaner/index.cjs +197 -0
  530. package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
  531. package/schematics/migrations/tag-slots/README.md +41 -0
  532. package/schematics/migrations/tag-slots/index.cjs +191 -0
  533. package/schematics/migrations/tag-slots/schema.json +20 -0
  534. package/schematics/migrations/tags-signals/README.md +85 -0
  535. package/schematics/migrations/tags-signals/data.cjs +103 -0
  536. package/schematics/migrations/tags-signals/index.cjs +674 -0
  537. package/schematics/migrations/tags-signals/schema.json +20 -0
  538. package/schematics/migrations/textarea-signals/README.md +72 -0
  539. package/schematics/migrations/textarea-signals/data.cjs +121 -0
  540. package/schematics/migrations/textarea-signals/index.cjs +380 -0
  541. package/schematics/migrations/textarea-signals/schema.json +20 -0
  542. package/schematics/migrations/time-range-title-for/README.md +164 -0
  543. package/schematics/migrations/time-range-title-for/data.cjs +139 -0
  544. package/schematics/migrations/time-range-title-for/index.cjs +164 -0
  545. package/schematics/migrations/time-range-title-for/schema.json +20 -0
  546. package/schematics/migrations/timepicker-signals/README.md +78 -0
  547. package/schematics/migrations/timepicker-signals/data.cjs +82 -0
  548. package/schematics/migrations/timepicker-signals/index.cjs +710 -0
  549. package/schematics/migrations/timepicker-signals/schema.json +20 -0
  550. package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
  551. package/schematics/migrations/timezone-grouping-utils/data.cjs +101 -0
  552. package/schematics/migrations/timezone-grouping-utils/index.cjs +65 -0
  553. package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
  554. package/schematics/migrations/title-encapsulation/README.md +49 -0
  555. package/schematics/migrations/title-encapsulation/data.cjs +69 -0
  556. package/schematics/migrations/title-encapsulation/index.cjs +58 -0
  557. package/schematics/migrations/title-encapsulation/schema.json +15 -0
  558. package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
  559. package/schematics/migrations/toast-stack-and-defaults/data.cjs +79 -0
  560. package/schematics/migrations/toast-stack-and-defaults/index.cjs +54 -0
  561. package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
  562. package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
  563. package/schematics/migrations/tooltip-pointer-events-and-types/data.cjs +89 -0
  564. package/schematics/migrations/tooltip-pointer-events-and-types/index.cjs +61 -0
  565. package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
  566. package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
  567. package/schematics/migrations/top-bar-container-selectors/data.cjs +56 -0
  568. package/schematics/migrations/top-bar-container-selectors/index.cjs +85 -0
  569. package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
  570. package/schematics/migrations/tree-select-signals/README.md +61 -0
  571. package/schematics/migrations/tree-select-signals/data.cjs +106 -0
  572. package/schematics/migrations/tree-select-signals/index.cjs +59 -0
  573. package/schematics/migrations/tree-select-signals/schema.json +15 -0
  574. package/schematics/migrations/tree-signals/README.md +82 -0
  575. package/schematics/migrations/tree-signals/data.cjs +123 -0
  576. package/schematics/migrations/tree-signals/index.cjs +55 -0
  577. package/schematics/migrations/tree-signals/schema.json +15 -0
  578. package/schematics/migrations/tree-state-saving-default/README.md +66 -0
  579. package/schematics/migrations/tree-state-saving-default/data.cjs +78 -0
  580. package/schematics/migrations/tree-state-saving-default/index.cjs +61 -0
  581. package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
  582. package/schematics/migrations/username-pipe-injection/README.md +59 -0
  583. package/schematics/migrations/username-pipe-injection/data.cjs +78 -0
  584. package/schematics/migrations/username-pipe-injection/index.cjs +59 -0
  585. package/schematics/migrations/username-pipe-injection/schema.json +15 -0
  586. package/schematics/migrations/v20-upgrade/README.md +36 -16
  587. package/schematics/migrations/v20-upgrade/{data.js → data.cjs} +124 -77
  588. package/schematics/migrations/v20-upgrade/index.cjs +19 -0
  589. package/schematics/migrations/v21-upgrade/README.md +271 -0
  590. package/schematics/migrations/v21-upgrade/data.cjs +1371 -0
  591. package/schematics/migrations/v21-upgrade/index.cjs +95 -0
  592. package/schematics/migrations/v21-upgrade/schema.json +20 -0
  593. package/schematics/migrations/zoneless-change-detection/README.md +30 -0
  594. package/schematics/migrations/zoneless-change-detection/data.cjs +29 -0
  595. package/schematics/migrations/zoneless-change-detection/index.cjs +21 -0
  596. package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
  597. package/schematics/migrations.json +401 -6
  598. package/schematics/ng-add/index.cjs +266 -0
  599. package/schematics/ng-add/schema.json +15 -0
  600. package/schematics/utils/{angular-parsing.js → angular-parsing.cjs} +2 -2
  601. package/schematics/utils/deprecated-path-migration.cjs +62 -0
  602. package/schematics/utils/html-config.cjs +148 -0
  603. package/schematics/utils/{icon-migration.js → icon-migration.cjs} +2 -2
  604. package/schematics/utils/list-item-pattern.cjs +16 -0
  605. package/schematics/utils/{package-config.js → package-config.cjs} +3 -32
  606. package/schematics/utils/project-files.cjs +25 -0
  607. package/schematics/utils/replacement-driver.cjs +337 -0
  608. package/schematics/utils/safe-rule.cjs +23 -0
  609. package/schematics/utils/signal-members-migration.cjs +779 -0
  610. package/schematics/utils/tag-patterns.cjs +21 -0
  611. package/schematics/utils/template-ref-access.cjs +155 -0
  612. package/schematics/utils/{typescript.js → typescript.cjs} +1 -1
  613. package/schematics/utils/warn-only-migration.cjs +52 -0
  614. package/schematics/utils/workspace-styles.cjs +123 -0
  615. package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
  616. package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
  617. package/scrollbar/native-scrollbar.scss +68 -0
  618. package/scrollbar/scrollbar-tokens.scss +13 -22
  619. package/scrollbar/scrollbar-track.scss +94 -0
  620. package/scrollbar/scrollbar-viewport.scss +33 -0
  621. package/scrollbar/scrollbar.scss +24 -0
  622. package/search-expandable/search-expandable-tokens.scss +4 -0
  623. package/search-expandable/search-expandable.scss +4 -2
  624. package/select/_select-theme.scss +3 -16
  625. package/select/select.scss +0 -6
  626. package/sidebar/sidebar.scss +20 -0
  627. package/sidepanel/_sidepanel-theme.scss +1 -1
  628. package/sidepanel/sidepanel-tokens.scss +7 -1
  629. package/sidepanel/sidepanel.scss +41 -5
  630. package/skeleton/skeleton-presets.scss +350 -0
  631. package/skeleton/skeleton-tokens.scss +127 -0
  632. package/skeleton/skeleton.scss +53 -45
  633. package/split-button/_split-button-theme.scss +4 -4
  634. package/split-button/split-button.scss +2 -6
  635. package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
  636. package/splitter/deprecated/splitter.scss +51 -0
  637. package/splitter/splitter-tokens.scss +19 -0
  638. package/splitter/splitter.scss +148 -28
  639. package/table/_table-theme.scss +13 -12
  640. package/table/table-tokens.scss +8 -0
  641. package/table/table.scss +47 -22
  642. package/tabs/_tabs-common.scss +14 -14
  643. package/tabs/_tabs-theme.scss +4 -5
  644. package/tabs/tab-body.scss +49 -1
  645. package/tabs/tab-header.scss +2 -1
  646. package/tags/tag-list.scss +4 -0
  647. package/tags/tag.scss +19 -1
  648. package/time-range/time-range.scss +9 -0
  649. package/timezone/timezone-option.component.scss +4 -7
  650. package/timezone/timezone-select.component.scss +3 -0
  651. package/toast/_toast-theme.scss +1 -4
  652. package/toast/toast-container.component.scss +19 -13
  653. package/toast/toast-tokens.scss +12 -6
  654. package/toast/toast.component.scss +42 -19
  655. package/toggle/_toggle-theme.scss +4 -10
  656. package/toggle/toggle.scss +67 -26
  657. package/tooltip/_tooltip-theme.scss +7 -1
  658. package/tooltip/tooltip-tokens.scss +1 -2
  659. package/tooltip/tooltip.scss +55 -9
  660. package/top-bar/top-bar-tokens.scss +13 -2
  661. package/top-bar/top-bar.scss +24 -19
  662. package/tree/_tree-theme.scss +0 -1
  663. package/tree/toggle.scss +5 -9
  664. package/tree/tree-option.scss +2 -4
  665. package/tree/tree-tokens.scss +2 -1
  666. package/tree/tree.scss +3 -5
  667. package/tree-select/_tree-select-theme.scss +4 -15
  668. package/tree-select/tree-select-tokens.scss +16 -0
  669. package/tree-select/tree-select.scss +0 -6
  670. package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
  671. package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
  672. package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
  673. package/types/koobiq-components-app-switcher.d.ts +406 -0
  674. package/types/koobiq-components-autocomplete.d.ts +443 -0
  675. package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
  676. package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
  677. package/types/koobiq-components-button-toggle.d.ts +340 -0
  678. package/types/koobiq-components-button.d.ts +296 -0
  679. package/types/koobiq-components-checkbox.d.ts +172 -0
  680. package/types/koobiq-components-clamped-text.d.ts +184 -0
  681. package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +150 -88
  682. package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
  683. package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
  684. package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
  685. package/types/koobiq-components-divider.d.ts +43 -0
  686. package/types/koobiq-components-dl.d.ts +235 -0
  687. package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
  688. package/types/koobiq-components-ellipsis-center.d.ts +85 -0
  689. package/types/koobiq-components-empty-state.d.ts +106 -0
  690. package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
  691. package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
  692. package/types/koobiq-components-flag.d.ts +68 -0
  693. package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
  694. package/types/koobiq-components-icon.d.ts +333 -0
  695. package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
  696. package/types/koobiq-components-input.d.ts +477 -0
  697. package/types/koobiq-components-link-deprecated.d.ts +101 -0
  698. package/types/koobiq-components-link.d.ts +176 -0
  699. package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
  700. package/types/koobiq-components-loader-overlay.d.ts +101 -0
  701. package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
  702. package/types/koobiq-components-modal.d.ts +666 -0
  703. package/types/koobiq-components-navbar.d.ts +569 -0
  704. package/types/koobiq-components-notification-center.d.ts +500 -0
  705. package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
  706. package/types/koobiq-components-popover.d.ts +468 -0
  707. package/types/koobiq-components-progress-bar.d.ts +67 -0
  708. package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
  709. package/types/koobiq-components-radio.d.ts +294 -0
  710. package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
  711. package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
  712. package/types/koobiq-components-scrollbar.d.ts +154 -0
  713. package/types/koobiq-components-search-expandable.d.ts +164 -0
  714. package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
  715. package/types/koobiq-components-sidebar.d.ts +152 -0
  716. package/types/koobiq-components-sidepanel.d.ts +436 -0
  717. package/types/koobiq-components-skeleton.d.ts +234 -0
  718. package/types/koobiq-components-split-button.d.ts +65 -0
  719. package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
  720. package/types/koobiq-components-splitter.d.ts +406 -0
  721. package/types/koobiq-components-table.d.ts +44 -0
  722. package/types/koobiq-components-tabs.d.ts +888 -0
  723. package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
  724. package/types/koobiq-components-textarea.d.ts +178 -0
  725. package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
  726. package/types/koobiq-components-timepicker.d.ts +223 -0
  727. package/types/koobiq-components-timezone.d.ts +266 -0
  728. package/types/koobiq-components-title.d.ts +184 -0
  729. package/types/koobiq-components-toast.d.ts +289 -0
  730. package/types/koobiq-components-toggle.d.ts +121 -0
  731. package/types/koobiq-components-tooltip.d.ts +610 -0
  732. package/types/koobiq-components-top-bar.d.ts +61 -0
  733. package/types/koobiq-components-tree-select.d.ts +670 -0
  734. package/types/koobiq-components-tree.d.ts +1339 -0
  735. package/types/koobiq-components-username.d.ts +340 -0
  736. package/username/_username-theme.scss +35 -0
  737. package/username/username.scss +10 -34
  738. package/app-switcher/index.d.ts +0 -276
  739. package/autocomplete/index.d.ts +0 -286
  740. package/button/index.d.ts +0 -153
  741. package/button-toggle/index.d.ts +0 -162
  742. package/checkbox/index.d.ts +0 -163
  743. package/clamped-text/index.d.ts +0 -146
  744. package/core/styles/_tokens.scss +0 -7
  745. package/core/styles/common/_clearfix.scss +0 -13
  746. package/core/styles/common/_popup.scss +0 -6
  747. package/core/styles/functions/_index.scss +0 -3
  748. package/core/styles/functions/_number.scss +0 -60
  749. package/core/styles/functions/_string.scss +0 -18
  750. package/core/styles/theming/scrollbar-tokens.scss +0 -25
  751. package/core/styles/typography/_typography-utils.scss +0 -84
  752. package/divider/index.d.ts +0 -20
  753. package/dl/index.d.ts +0 -45
  754. package/ellipsis-center/index.d.ts +0 -71
  755. package/empty-state/index.d.ts +0 -45
  756. package/flag/index.d.ts +0 -44
  757. package/icon/index.d.ts +0 -200
  758. package/input/index.d.ts +0 -354
  759. package/link/index.d.ts +0 -56
  760. package/loader-overlay/index.d.ts +0 -57
  761. package/modal/index.d.ts +0 -339
  762. package/navbar/index.d.ts +0 -372
  763. package/notification-center/index.d.ts +0 -323
  764. package/popover/index.d.ts +0 -182
  765. package/prebuilt-themes/dark-theme.css +0 -1
  766. package/prebuilt-themes/light-theme.css +0 -1
  767. package/progress-bar/index.d.ts +0 -31
  768. package/radio/index.d.ts +0 -203
  769. package/schematics/migrations/alert-signals/index.js +0 -353
  770. package/schematics/migrations/filter-bar-signals/index.js +0 -319
  771. package/schematics/migrations/v20-upgrade/index.js +0 -225
  772. package/schematics/ng-add/index.js +0 -39
  773. package/search-expandable/index.d.ts +0 -101
  774. package/sidebar/index.d.ts +0 -94
  775. package/sidepanel/index.d.ts +0 -272
  776. package/skeleton/index.d.ts +0 -26
  777. package/split-button/index.d.ts +0 -46
  778. package/table/index.d.ts +0 -25
  779. package/tabs/index.d.ts +0 -677
  780. package/textarea/index.d.ts +0 -138
  781. package/timepicker/index.d.ts +0 -197
  782. package/timezone/index.d.ts +0 -125
  783. package/title/index.d.ts +0 -139
  784. package/toast/index.d.ts +0 -178
  785. package/toggle/index.d.ts +0 -104
  786. package/tooltip/index.d.ts +0 -335
  787. package/top-bar/index.d.ts +0 -33
  788. package/tree/index.d.ts +0 -802
  789. package/tree-select/index.d.ts +0 -475
  790. package/username/index.d.ts +0 -194
  791. /package/schematics/migrations/css-selectors/{data.js → data.cjs} +0 -0
  792. /package/schematics/migrations/deprecated-icons/{data.js → data.cjs} +0 -0
  793. /package/schematics/migrations/icons-replacement/{data.js → data.cjs} +0 -0
  794. /package/schematics/migrations/new-icons-pack/{data.js → data.cjs} +0 -0
  795. /package/schematics/utils/{ast.js → ast.cjs} +0 -0
  796. /package/schematics/utils/{messages.js → messages.cjs} +0 -0
  797. /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
  798. /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
@@ -0,0 +1,266 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var schematics = require('@angular-devkit/schematics');
6
+ var tasks = require('@angular-devkit/schematics/tasks');
7
+ var utility = require('@schematics/angular/utility');
8
+ var app_config = require('@schematics/angular/utility/standalone/app_config');
9
+ var util = require('@schematics/angular/utility/standalone/util');
10
+ var ts = require('@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript');
11
+ var utils_htmlConfig = require('../utils/html-config.cjs');
12
+ var utils_messages = require('../utils/messages.cjs');
13
+ var utils_packageConfig = require('../utils/package-config.cjs');
14
+ var utils_safeRule = require('../utils/safe-rule.cjs');
15
+ var utils_workspaceStyles = require('../utils/workspace-styles.cjs');
16
+ require('../utils/project-files.cjs');
17
+ require('rxjs');
18
+
19
+ function noProject(project) {
20
+ return `Unable to find project '${project}' in the workspace`;
21
+ }
22
+ function workspaceReadFailed() {
23
+ return "Could not read the workspace configuration ('angular.json').";
24
+ }
25
+ function noWiredProjects() {
26
+ return [
27
+ 'No application project was found — styles, the theme class and the root providers were',
28
+ 'not configured automatically. Follow the installation guide to add them by hand:',
29
+ 'https://koobiq.io/en/main/installation'
30
+ ];
31
+ }
32
+ function noStylesTarget(projectName) {
33
+ return [
34
+ `Project '${projectName}' has no 'build' target — its styles and index.html theme class`,
35
+ 'were not configured automatically. Follow the installation guide to add them by hand:',
36
+ 'https://koobiq.io/en/main/installation'
37
+ ];
38
+ }
39
+ function themeProviderFallback(projectName, theme) {
40
+ return [
41
+ `Could not automatically register 'kbqThemeProvider({ mode: '${theme}' })' for project '${projectName}'.`,
42
+ "Add it to that project's providers yourself — see the theming guide:",
43
+ 'https://koobiq.io/en/main/theming'
44
+ ];
45
+ }
46
+ function themeServiceFallback(projectName) {
47
+ return [
48
+ `Could not automatically start 'KbqThemeService' for project '${projectName}'.`,
49
+ 'Inject it once yourself (e.g. `inject(KbqThemeService)` in a root provider or component) —',
50
+ "otherwise the 'auto' theme is configured but never applied. See the theming guide:",
51
+ 'https://koobiq.io/en/main/theming'
52
+ ];
53
+ }
54
+ function ssrSuggestion() {
55
+ return [
56
+ 'This project renders on the server — the default `KbqThemeLocalStorageStore` only',
57
+ "persists in the browser, so the server's first render can briefly use the wrong",
58
+ 'theme. Consider providing `KbqThemeCookieStore` through `KBQ_THEME_STORE` instead.',
59
+ 'See the theming guide: https://koobiq.io/en/main/theming'
60
+ ];
61
+ }
62
+ function fontsSuggestion() {
63
+ return [
64
+ 'Koobiq recommends the Inter and JetBrains Mono fonts.',
65
+ 'See https://koobiq.io/en/main/typography for installation options (Fontsource or Google Fonts CDN).'
66
+ ];
67
+ }
68
+
69
+ /**
70
+ * Resolves `ResolvedProviders` for `projectName`, or `null` when the project's bootstrap can't be
71
+ * statically analyzed (a non-standalone/custom bootstrap, a missing `build` target, a `providers`
72
+ * array that isn't a plain array literal, ...). `null` is also what tells the caller that
73
+ * `addRootProvider` is expected to fail the same way, and should be run through `safeRule` instead
74
+ * of directly.
75
+ */
76
+ async function resolveProviders(tree, projectName) {
77
+ try {
78
+ const mainFilePath = await util.getMainFilePath(tree, projectName);
79
+ const bootstrapCall = util.findBootstrapApplicationCall(tree, mainFilePath);
80
+ const appConfig = app_config.findAppConfig(bootstrapCall, tree, mainFilePath);
81
+ if (!appConfig)
82
+ return null;
83
+ const literal = util.findProvidersLiteral(appConfig.node);
84
+ if (!literal)
85
+ return null;
86
+ return { filePath: appConfig.filePath, sourceFile: appConfig.node.getSourceFile(), literal };
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ /** The callee name of a `providers` array element, e.g. `'kbqThemeProvider'` for `kbqThemeProvider({ ... })`. */
93
+ function calleeName(node) {
94
+ if (ts.isIdentifier(node))
95
+ return node.text;
96
+ if (ts.isPropertyAccessExpression(node))
97
+ return node.name.text;
98
+ return null;
99
+ }
100
+ function findProviderCall(providers, name) {
101
+ return providers.literal.elements.find((element) => ts.isCallExpression(element) && calleeName(element.expression) === name);
102
+ }
103
+ /**
104
+ * Whether `providers` already has a `provideAppInitializer(...)` call that mentions
105
+ * `KbqThemeService` — narrowed to text inside that one call, not the whole file, so an unrelated
106
+ * initializer elsewhere in the same providers array doesn't get mistaken for ours, and a mention of
107
+ * `KbqThemeService` in a comment or spec elsewhere in the project never does.
108
+ */
109
+ function hasThemeServiceInitializer(providers) {
110
+ return providers.literal.elements.some((element) => ts.isCallExpression(element) &&
111
+ calleeName(element.expression) === 'provideAppInitializer' &&
112
+ element.getText(providers.sourceFile).includes('KbqThemeService'));
113
+ }
114
+ /**
115
+ * The `kbqThemeProvider({ ... })` call this schematic generates for `theme`. `'light'`/`'dark'`
116
+ * additionally pin `themes` to just that one entry — without it, `KBQ_THEME_CONFIG` keeps its
117
+ * default `themes: KBQ_DEFAULT_THEMES` (both registered), so a stale `localStorage` value from a
118
+ * previous session, or a call to `KbqThemeService.toggle()`, can switch the app to the theme whose
119
+ * token file was never added to `angular.json`, and every `--kbq-*` colour resolves to nothing.
120
+ */
121
+ function themeProviderCallText(theme) {
122
+ if (theme === 'auto')
123
+ return `kbqThemeProvider({ mode: 'auto' })`;
124
+ return `kbqThemeProvider({ mode: '${theme}', themes: [{ name: '${theme}', className: 'kbq-${theme}', colorScheme: '${theme}' }] })`;
125
+ }
126
+ /** Replaces the exact source range of `node` in `filePath` with `text`, leaving everything else untouched. */
127
+ function replaceNode(tree, providers, node, text) {
128
+ const content = tree.readText(providers.filePath);
129
+ const start = node.getStart(providers.sourceFile);
130
+ const end = node.getEnd();
131
+ tree.overwrite(providers.filePath, content.slice(0, start) + text + content.slice(end));
132
+ }
133
+ /** `addRootProvider` rule inserting the `kbqThemeProvider({ ... })` call built by `themeProviderCallText`. */
134
+ function themeProviderRule(projectName, theme) {
135
+ return utility.addRootProvider(projectName, ({ code, external }) => {
136
+ const kbqThemeProvider = external('kbqThemeProvider', '@koobiq/components/core');
137
+ return theme === 'auto'
138
+ ? code `${kbqThemeProvider}({ mode: 'auto' })`
139
+ : code `${kbqThemeProvider}({ mode: '${theme}', themes: [{ name: '${theme}', className: 'kbq-${theme}', colorScheme: '${theme}' }] })`;
140
+ });
141
+ }
142
+ /**
143
+ * `addRootProvider` rule forcing the first injection of `KbqThemeService` so the `'auto'` theme's
144
+ * OS-color-scheme listener actually starts. Guarded by `isPlatformBrowser`: an SSR project runs
145
+ * this same initializer on the server too (via `app.config.server.ts`'s `mergeApplicationConfig`),
146
+ * and `KbqThemeService` constructs `window.matchMedia` unconditionally in a field initializer —
147
+ * without the guard, injecting it eagerly here turns a latent, opt-in limitation into a guaranteed
148
+ * `ng build` failure for every SSR project.
149
+ */
150
+ function themeServiceInitializerRule(projectName) {
151
+ return utility.addRootProvider(projectName, ({ code, external }) => {
152
+ const provideAppInitializer = external('provideAppInitializer', '@angular/core');
153
+ const inject = external('inject', '@angular/core');
154
+ const isPlatformBrowser = external('isPlatformBrowser', '@angular/common');
155
+ const platformId = external('PLATFORM_ID', '@angular/core');
156
+ const kbqThemeService = external('KbqThemeService', '@koobiq/components/core');
157
+ return code `${provideAppInitializer}(() => { if (${isPlatformBrowser}(${inject}(${platformId}))) ${inject}(${kbqThemeService}); })`;
158
+ });
159
+ }
160
+ /**
161
+ * This is executed when `ng add @koobiq/components` is run.
162
+ * It adds all dependencies to the 'package.json' and schedules their installation, wires the
163
+ * library's styles and theme into `angular.json`/`index.html`, and registers the corresponding
164
+ * root providers.
165
+ */
166
+ function ngAdd(options) {
167
+ return async (tree, context) => {
168
+ const { project } = options;
169
+ const theme = options.theme ?? 'auto';
170
+ // `readWorkspace` only ever looks at `/angular.json`, even though the Angular CLI itself
171
+ // also accepts `/.angular.json` — a real, if rare, workspace shape. Reading it once, up
172
+ // front, both avoids that second read further down doing nothing useful with its result,
173
+ // and turns an unreadable workspace into the same clear, immediate failure as an unknown
174
+ // `--project`, before any dependency has been written to `package.json`.
175
+ let workspace;
176
+ try {
177
+ workspace = await utility.readWorkspace(tree);
178
+ }
179
+ catch {
180
+ throw new schematics.SchematicsException(workspaceReadFailed());
181
+ }
182
+ if (project && !workspace.projects.get(project)) {
183
+ throw new schematics.SchematicsException(noProject(project));
184
+ }
185
+ // Installing dependencies
186
+ utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^21.2.14");
187
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^21.0.1");
188
+ // `@koobiq/angular-luxon-adapter` is a wrapper: it extends `LuxonDateAdapter` from the base
189
+ // package and re-exports its formats, both as value imports. That makes the base a mandatory
190
+ // peer of the wrapper, and installing a package without its mandatory peers only works on
191
+ // npm — Yarn leaves them out, so the application ends up unable to resolve the adapter.
192
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/luxon-date-adapter', "^3.5.1");
193
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.5.1");
194
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.5.1");
195
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^12.4.0");
196
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^4.1.0");
197
+ utils_packageConfig.addPackageToPackageJson(tree, 'luxon', "^3.7.2");
198
+ // `overlayscrollbars` is a mandatory peer too: `@koobiq/components/scrollbar` imports it
199
+ // unconditionally, and content-panel, notification-center and app-switcher all pull that in.
200
+ utils_packageConfig.addPackageToPackageJson(tree, 'overlayscrollbars', "2.7.3");
201
+ // `addPackageToPackageJson` only edits the manifest — nothing in the Angular CLI installs
202
+ // what a schematic adds there, so without this task the application is left with
203
+ // dependencies it has not actually got, and the instruction below cannot be followed.
204
+ context.addTask(new tasks.NodePackageInstallTask());
205
+ // Wiring styles: prepend the documented style entries to every application project's
206
+ // `build` target (or just `project`, when given), then apply the theme class to each
207
+ // project's index.html.
208
+ const wiredProjects = utils_workspaceStyles.applyKoobiqWorkspaceStyles(workspace, theme, project);
209
+ await utility.writeWorkspace(tree, workspace);
210
+ if (wiredProjects.length === 0) {
211
+ utils_messages.logMessage(context.logger, noWiredProjects());
212
+ }
213
+ const providerRules = [];
214
+ let sawSsrProject = false;
215
+ for (const wired of wiredProjects) {
216
+ if (tree.exists(wired.indexHtmlPath)) {
217
+ const { content, changed } = utils_htmlConfig.setKoobiqThemeBodyClass(tree.read(wired.indexHtmlPath).toString('utf-8'), theme);
218
+ if (changed)
219
+ tree.overwrite(wired.indexHtmlPath, content);
220
+ }
221
+ if (!wired.stylesWired) {
222
+ utils_messages.logMessage(context.logger, noStylesTarget(wired.projectName));
223
+ }
224
+ if (wired.isSsr)
225
+ sawSsrProject = true;
226
+ const resolved = await resolveProviders(tree, wired.projectName);
227
+ if (resolved) {
228
+ const existingThemeCall = findProviderCall(resolved, 'kbqThemeProvider');
229
+ const newThemeCallText = themeProviderCallText(theme);
230
+ if (existingThemeCall) {
231
+ if (existingThemeCall.getText(resolved.sourceFile) !== newThemeCallText) {
232
+ replaceNode(tree, resolved, existingThemeCall, newThemeCallText);
233
+ }
234
+ }
235
+ else {
236
+ providerRules.push(themeProviderRule(wired.projectName, theme));
237
+ }
238
+ // `kbqThemeProvider({ mode: 'auto' })` only configures `KbqThemeService` — the
239
+ // service is `providedIn: 'root'` and nothing in the library injects it eagerly, so
240
+ // without an initializer forcing that first injection, the OS color scheme is never
241
+ // actually applied until something else (e.g. a theme-toggle button) happens to
242
+ // inject it.
243
+ if (theme === 'auto' && !hasThemeServiceInitializer(resolved)) {
244
+ providerRules.push(themeServiceInitializerRule(wired.projectName));
245
+ }
246
+ }
247
+ else {
248
+ // The bootstrap couldn't be statically analyzed (a non-standalone/custom
249
+ // bootstrap, a missing `build` target, ...) — `addRootProvider` is expected to fail
250
+ // for the same reason, so route it through `safeRule` and tell the user to wire the
251
+ // provider up by hand instead.
252
+ providerRules.push(utils_safeRule.safeRule(themeProviderRule(wired.projectName, theme), themeProviderFallback(wired.projectName, theme)));
253
+ if (theme === 'auto') {
254
+ providerRules.push(utils_safeRule.safeRule(themeServiceInitializerRule(wired.projectName), themeServiceFallback(wired.projectName)));
255
+ }
256
+ }
257
+ }
258
+ if (sawSsrProject) {
259
+ utils_messages.logMessage(context.logger, ssrSuggestion());
260
+ }
261
+ utils_messages.logMessage(context.logger, fontsSuggestion());
262
+ return schematics.chain(providerRules);
263
+ };
264
+ }
265
+
266
+ exports.default = ngAdd;
@@ -10,6 +10,21 @@
10
10
  "$default": {
11
11
  "$source": "projectName"
12
12
  }
13
+ },
14
+ "theme": {
15
+ "type": "string",
16
+ "enum": ["auto", "light", "dark"],
17
+ "default": "auto",
18
+ "description": "The prebuilt Koobiq theme to install into angular.json and index.html.",
19
+ "x-prompt": {
20
+ "message": "Choose a theme to install:",
21
+ "type": "list",
22
+ "items": [
23
+ { "value": "auto", "label": "Auto — follow the OS color scheme via KbqThemeService" },
24
+ { "value": "light", "label": "Light" },
25
+ { "value": "dark", "label": "Dark" }
26
+ ]
27
+ }
13
28
  }
14
29
  }
15
30
  }
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var ts = require('typescript');
4
- var utils_ast = require('./ast.js');
5
- var utils_typescript = require('./typescript.js');
4
+ var utils_ast = require('./ast.cjs');
5
+ var utils_typescript = require('./typescript.cjs');
6
6
 
7
7
  /**
8
8
  * Update separate html file
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var utils_messages = require('./messages.cjs');
4
+ var utils_packageConfig = require('./package-config.cjs');
5
+ var utils_projectFiles = require('./project-files.cjs');
6
+ require('@angular-devkit/schematics');
7
+ require('@schematics/angular/utility');
8
+
9
+ const TS_EXT = '.ts';
10
+ /**
11
+ * Builds the migration for an entry point whose previous implementation moved to `/deprecated` when a
12
+ * rewrite took over `@koobiq/components/<entryPoint>`. It rewrites the import specifier only; the API
13
+ * itself is unchanged at its new path.
14
+ *
15
+ * Quote-anchored (`(['"])@koobiq/components/<entryPoint>\1`) so it matches only the exact, bare module
16
+ * specifier — never a prefix of an already-migrated `/deprecated` import, nor an unrelated sibling
17
+ * package whose name merely starts with the same word.
18
+ */
19
+ function deprecatedPathMigration(entryPoint) {
20
+ const specifier = `@koobiq/components/${entryPoint}`;
21
+ const label = `[${entryPoint}-deprecated-path]`;
22
+ const from = `(['"])${specifier}\\1`;
23
+ const to = `$1${specifier}/deprecated$1`;
24
+ const migrate = (content) => {
25
+ const migrated = content.replace(new RegExp(from, 'g'), to);
26
+ return { content: migrated, changed: migrated !== content };
27
+ };
28
+ return (options) => async (tree, context) => {
29
+ const { project } = options;
30
+ // `ng update` invokes migrations with no options at all, and migrations.json
31
+ // declares no schema, so the schema default never reaches us — applying the
32
+ // fix is the intended behaviour there.
33
+ const fix = options.fix ?? true;
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 touched = 0;
38
+ utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
39
+ if (!filePath.endsWith(TS_EXT))
40
+ return;
41
+ const originalContent = entry?.content.toString();
42
+ if (!originalContent || !originalContent.includes(specifier))
43
+ return;
44
+ const { content, changed } = migrate(originalContent);
45
+ if (!changed)
46
+ return;
47
+ touched++;
48
+ if (fix) {
49
+ tree.overwrite(filePath, content);
50
+ }
51
+ else {
52
+ utils_messages.logMessage(context.logger, [`${label} would update ${filePath} (run with --fix to apply)`]);
53
+ }
54
+ });
55
+ utils_messages.logMessage(context.logger, [
56
+ `${label} processed tree under "${root || '<workspace root>'}", ` +
57
+ `${fix ? 'updated' : 'would update'} ${touched} file(s).`
58
+ ]);
59
+ };
60
+ }
61
+
62
+ exports.deprecatedPathMigration = deprecatedPathMigration;
@@ -0,0 +1,148 @@
1
+ 'use strict';
2
+
3
+ const KNOWN_THEME_CLASSES = ['kbq-app-background', 'kbq-light', 'kbq-dark'];
4
+ const COMMENT_START = '<!--';
5
+ const COMMENT_END = '-->';
6
+ /**
7
+ * Index of the `<` starting a real `<body` tag — one that isn't inside an HTML comment (e.g. a
8
+ * pasted Google Tag Manager snippet mentioning `<body>` in its install instructions) — or `-1`.
9
+ * Walks the string once rather than matching `<body` with a regex, so a comment can't be mistaken
10
+ * for the element.
11
+ */
12
+ function findBodyTagStart(html) {
13
+ const lower = html.toLowerCase();
14
+ let i = 0;
15
+ while (i < html.length) {
16
+ if (lower.startsWith(COMMENT_START, i)) {
17
+ const end = lower.indexOf(COMMENT_END, i + COMMENT_START.length);
18
+ i = end === -1 ? html.length : end + COMMENT_END.length;
19
+ continue;
20
+ }
21
+ if (lower.startsWith('<body', i) && (html[i + 5] === undefined || /[\s/>]/.test(html[i + 5]))) {
22
+ return i;
23
+ }
24
+ i++;
25
+ }
26
+ return -1;
27
+ }
28
+ /**
29
+ * Index of the `>` that closes the tag starting at `tagStart`, tracking open quotes so a `>`
30
+ * inside a quoted attribute value (`<body data-x="a>b">`) doesn't end the tag early. `-1` if the
31
+ * tag is never closed.
32
+ */
33
+ function findTagEnd(html, tagStart) {
34
+ let quote = null;
35
+ for (let i = tagStart + 1; i < html.length; i++) {
36
+ const char = html[i];
37
+ if (quote) {
38
+ if (char === quote)
39
+ quote = null;
40
+ }
41
+ else if (char === '"' || char === "'") {
42
+ quote = char;
43
+ }
44
+ else if (char === '>') {
45
+ return i;
46
+ }
47
+ }
48
+ return -1;
49
+ }
50
+ /**
51
+ * Parses the attributes of the tag whose content spans `[start, end)` (between `<body` and the
52
+ * closing `>`), handling double-quoted, single-quoted and unquoted values — so a single-quoted
53
+ * `class` attribute is found exactly like a double-quoted one, instead of only the latter matching.
54
+ */
55
+ function parseAttrs(html, start, end) {
56
+ const attrs = [];
57
+ const isSpace = (char) => /\s/.test(char);
58
+ let i = start;
59
+ while (i < end) {
60
+ while (i < end && (isSpace(html[i]) || html[i] === '/'))
61
+ i++;
62
+ if (i >= end)
63
+ break;
64
+ const nameStart = i;
65
+ while (i < end && !isSpace(html[i]) && html[i] !== '=' && html[i] !== '/' && html[i] !== '>')
66
+ i++;
67
+ if (i === nameStart) {
68
+ i++;
69
+ continue;
70
+ }
71
+ const name = html.slice(nameStart, i);
72
+ while (i < end && isSpace(html[i]))
73
+ i++;
74
+ let value = '';
75
+ let attrEnd = i;
76
+ if (html[i] === '=') {
77
+ i++;
78
+ while (i < end && isSpace(html[i]))
79
+ i++;
80
+ const quote = html[i] === '"' || html[i] === "'" ? html[i] : null;
81
+ if (quote) {
82
+ i++;
83
+ const valueStart = i;
84
+ while (i < end && html[i] !== quote)
85
+ i++;
86
+ value = html.slice(valueStart, i);
87
+ if (i < end)
88
+ i++;
89
+ }
90
+ else {
91
+ const valueStart = i;
92
+ while (i < end && !isSpace(html[i]) && html[i] !== '>')
93
+ i++;
94
+ value = html.slice(valueStart, i);
95
+ }
96
+ attrEnd = i;
97
+ }
98
+ attrs.push({ name, start: nameStart, end: attrEnd, value });
99
+ }
100
+ return attrs;
101
+ }
102
+ /**
103
+ * Sets the Koobiq theme classes on the app's `<body>` tag.
104
+ *
105
+ * `'light'`/`'dark'` get the full `kbq-app-background kbq-{theme}` pair from the theming guide —
106
+ * `kbq-app-background` paints the page's own background/text color, `kbq-{theme}` picks the theme.
107
+ * `'auto'` only gets `kbq-app-background`: `KbqThemeService` applies `kbq-light`/`kbq-dark` to
108
+ * `document.body` itself at runtime, so a static class here would just go stale before the app
109
+ * bootstraps, or fight the service once it does.
110
+ *
111
+ * Re-running is idempotent: any class this function manages is stripped from the existing `class`
112
+ * value first, so switching `theme` between runs doesn't leave a stale `kbq-light` sitting next to
113
+ * a newly added `kbq-dark`. Any other existing classes, and their relative order, are preserved.
114
+ *
115
+ * Locates the `<body>` tag and its `class` attribute with a small hand-written scanner rather than
116
+ * a `<body>`/`class` regex-and-`String.replace`, so quoting style (`'`, `"`, or none), a `>` inside
117
+ * an unrelated attribute's value, an attribute merely named `data-class`, a `<body` mentioned inside
118
+ * a comment, and `$`-containing values already on the tag can't corrupt the result. Deliberately
119
+ * doesn't pull in a full HTML parser (e.g. `parse5`) for this: it's the only thing in this package
120
+ * that would need one, and this package is distributed as a dependency of `@koobiq/components`,
121
+ * where an extra runtime `dependencies` entry isn't worth it for one small, well-tested edit.
122
+ */
123
+ function setKoobiqThemeBodyClass(html, theme) {
124
+ const tagStart = findBodyTagStart(html);
125
+ if (tagStart === -1)
126
+ return { content: html, changed: false };
127
+ const tagEnd = findTagEnd(html, tagStart);
128
+ if (tagEnd === -1)
129
+ return { content: html, changed: false };
130
+ const attrs = parseAttrs(html, tagStart + '<body'.length, tagEnd);
131
+ const classAttr = attrs.find((attr) => attr.name.toLowerCase() === 'class');
132
+ const existingClasses = classAttr ? classAttr.value.split(/\s+/).filter(Boolean) : [];
133
+ const keptClasses = existingClasses.filter((cls) => !KNOWN_THEME_CLASSES.includes(cls));
134
+ const newClasses = theme === 'auto'
135
+ ? [...keptClasses, 'kbq-app-background']
136
+ : [...keptClasses, 'kbq-app-background', `kbq-${theme}`];
137
+ const newClassValue = newClasses.join(' ');
138
+ if (classAttr) {
139
+ if (classAttr.value === newClassValue)
140
+ return { content: html, changed: false };
141
+ const updated = html.slice(0, classAttr.start) + `class="${newClassValue}"` + html.slice(classAttr.end);
142
+ return { content: updated, changed: true };
143
+ }
144
+ const updated = html.slice(0, tagEnd) + ` class="${newClassValue}"` + html.slice(tagEnd);
145
+ return { content: updated, changed: true };
146
+ }
147
+
148
+ exports.setKoobiqThemeBodyClass = setKoobiqThemeBodyClass;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var ts = require('typescript');
4
- var utils_ast = require('./ast.js');
5
- var utils_typescript = require('./typescript.js');
4
+ var utils_ast = require('./ast.cjs');
5
+ var utils_typescript = require('./typescript.cjs');
6
6
 
7
7
  function escapeRegExp(value) {
8
8
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * The source of a RegExp that matches `item` (a RegExp source) together with one of its commas when it is an element
5
+ * of a `[…]` or `{…}` list: the comma before it, or the one after it when it comes first. Deleting the match leaves
6
+ * the list well-formed and the rest of the file untouched. An inline `type` modifier goes with a list element;
7
+ * outside a list, `item` is matched alone.
8
+ */
9
+ function listItemPattern(item) {
10
+ const element = `(?:\\btype\\s+)?(?:${item})`;
11
+ const withCommaBefore = `,\\s*${element}(?=\\s*[,\\]}])`;
12
+ const firstOrOnly = `(?<=[\\[{]\\s*)${element}(?:\\s*,\\s*|(?=\\s*[\\]}]))`;
13
+ return `(?:${withCommaBefore}|${firstOrOnly}|(?:${item}))`;
14
+ }
15
+
16
+ exports.listItemPattern = listItemPattern;
@@ -2,7 +2,8 @@
2
2
 
3
3
  var schematics = require('@angular-devkit/schematics');
4
4
  var utility = require('@schematics/angular/utility');
5
- var utils_messages = require('./messages.js');
5
+ var utils_messages = require('./messages.cjs');
6
+ var utils_projectFiles = require('./project-files.cjs');
6
7
 
7
8
  /**
8
9
  * Sorts the keys of the given object.
@@ -62,9 +63,7 @@ async function getParsingInfo(project, tree) {
62
63
  const projectDefinition = await setupOptions(project, tree);
63
64
  // `ng update` passes no options at all, so without a project the whole workspace is migrated.
64
65
  const root = projectDefinition?.root;
65
- (root ? tree.getDir(root) : tree.root).visit((filePath) => {
66
- if (filePath.includes('node_modules') || filePath.includes('/dist/'))
67
- return;
66
+ utils_projectFiles.visitProjectFiles(root ? tree.getDir(root) : tree.root, (filePath) => {
68
67
  if (filePath.endsWith('.ts')) {
69
68
  tsPaths.add(filePath);
70
69
  }
@@ -74,36 +73,8 @@ async function getParsingInfo(project, tree) {
74
73
  });
75
74
  return { tsPaths, templatePaths, projectDefinition };
76
75
  }
77
- /**
78
- * WARNING: do not change directly, since it's a copy of
79
- * https://github.com/angular/angular/blob/6fa8d441979fdbabb88dddd246f54587e17126e8/packages/core/schematics/utils/load_esm.ts
80
- *
81
- * This uses a dynamic import to load a module which may be ESM.
82
- * CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript
83
- * will currently, unconditionally downlevel dynamic import into a require call.
84
- * require calls cannot load ESM code and will result in a runtime error. To workaround
85
- * this, a Function constructor is used to prevent TypeScript from changing the dynamic import.
86
- * Once TypeScript provides support for keeping the dynamic import this workaround can
87
- * be dropped.
88
- * This is only intended to be used with Angular framework packages.
89
- *
90
- * @param modulePath The path of the module to load.
91
- * @returns A Promise that resolves to the dynamically imported module.
92
- */
93
- async function loadEsmModule(modulePath) {
94
- const namespaceObject = await new Function('modulePath', `return import(modulePath);`)(modulePath);
95
- // If it is not ESM then the values needed will be stored in the `default` property.
96
- // TODO_ESM: This can be removed once `@angular/*` packages are ESM only.
97
- if (namespaceObject.default) {
98
- return namespaceObject.default;
99
- }
100
- else {
101
- return namespaceObject;
102
- }
103
- }
104
76
 
105
77
  exports.addPackageToPackageJson = addPackageToPackageJson;
106
78
  exports.getPackageVersionFromPackageJson = getPackageVersionFromPackageJson;
107
79
  exports.getParsingInfo = getParsingInfo;
108
- exports.loadEsmModule = loadEsmModule;
109
80
  exports.setupOptions = setupOptions;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ /** Installed packages, build output, the Angular CLI cache and VCS metadata: never a consumer's source. */
4
+ const SKIPPED_DIRECTORIES = new Set(['node_modules', 'dist', '.angular', '.git']);
5
+ /**
6
+ * Calls `visitor` for every file under `dir`, in the order of `DirEntry.visit`, without descending into the
7
+ * skipped directories at any depth.
8
+ *
9
+ * `DirEntry.visit` lists the whole subtree before it visits anything, so a migration that filters its paths
10
+ * still stats every file of `node_modules` — under `ng update`, which runs over the workspace root, that is
11
+ * most of the run.
12
+ */
13
+ function visitProjectFiles(dir, visitor) {
14
+ for (const name of dir.subfiles) {
15
+ const entry = dir.file(name);
16
+ if (entry)
17
+ visitor(entry.path, entry);
18
+ }
19
+ for (const name of dir.subdirs) {
20
+ if (!SKIPPED_DIRECTORIES.has(name))
21
+ visitProjectFiles(dir.dir(name), visitor);
22
+ }
23
+ }
24
+
25
+ exports.visitProjectFiles = visitProjectFiles;