@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,106 @@
1
+ # modal-dialog-semantics
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Reports what the modal review changed for consumers: the members that
5
+ disappeared or became protected, and the close controls that stopped being inert on the
6
+ declarative path. It never writes to the tree.
7
+
8
+ ## Background
9
+
10
+ The dialog is a real dialog now, and its two entry paths behave the same.
11
+
12
+ | Member | Before | After |
13
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------- |
14
+ | `transformOrigin`, `getKbqFooter()`, `getContainerClasses()`, `autoFocusedButtons` | public | removed |
15
+ | `ModalUtil`, `modalUtilObject`, `IClickPosition` | public | removed |
16
+ | `handleCloseResult`, `getButtonCallableProp`, `isModalType`, `isTemplateRef`, `isNonEmptyString`, `isComponent`, `isModalButtons`, `onClickMask`, `onClickOkCancel`, `onButtonClick`, `onKeyDown` | public | `protected` |
17
+ | `maskAnimationClassMap`, `modalAnimationClassMap` | public | `protected` |
18
+
19
+ `transformOrigin` deserves a note. It was recomputed on every open from the last document click
20
+ position, which starts at `{x: -1, y: -1}` and was never reset, and it was applied against keyframes
21
+ that end at `transform: scale(1)` — against which `transform-origin` is a no-op. Nothing it produced
22
+ was ever visible, and the document-wide click listener feeding it was registered at module load and
23
+ never removed.
24
+
25
+ ## The behaviour changes
26
+
27
+ **`(kbqOnOk)` / `(kbqOnCancel)` close the dialog now.** `handleCloseResult` branched on the runtime
28
+ type of the trigger: an `EventEmitter` was emitted and the method returned. Both default to
29
+ emitters, and only `KbqModalService.create()` replaced them with closures — so on a declarative
30
+ `<kbq-modal [(kbqVisible)]>` the ×, the dim layer and the predefined OK/Cancel buttons emitted and
31
+ did nothing at all. The emitter form is a notification now; the veto lives on the callable form,
32
+ which keeps the dialog open by returning `false`.
33
+
34
+ **<kbd>Escape</kbd> has one implementation.** It honours `kbqCloseByESC` on both paths — a
35
+ declarative `[kbqCloseByESC]="false"` used to close anyway — and it routes through `kbqOnCancel`, so
36
+ a callback returning `false` vetoes it, which it could not do on the service path either.
37
+
38
+ **A service-created dialog is destroyed with its opener.** Its lifetime is bound to
39
+ `options.injector`, or to the root environment injector when none is passed. Destroying the opener
40
+ used to leave the dialog painted over the next view, with `afterClose` never emitting and the page
41
+ scroll still locked.
42
+
43
+ ## What it does _not_ do
44
+
45
+ Nothing is rewritten. A removed member has no replacement expression, and whether a dialog should
46
+ still close where it used to stay open is a decision the schematic cannot make.
47
+
48
+ | Pattern | Manual migration |
49
+ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
50
+ | `(kbqOnOk)` / `(kbqOnCancel)` | Nothing, unless you relied on the dialog staying open — then pass a function that returns `false` |
51
+ | `.transformOrigin` / `.getKbqFooter()` / … | Delete the call; none of them produced anything a host could use |
52
+ | `.handleCloseResult()` / `.isTemplateRef()` / … | Protected; use `open()`/`close()`/`destroy()`, `triggerOk()`, `triggerCancel()` |
53
+ | `ModalUtil` / `modalUtilObject` | Delete the import |
54
+ | `.kbq-modal-open` / `--kbq-modal-size-close-button-margin-left` | Delete the rule; neither had a reader |
55
+
56
+ ## Why the inputs are still decorators
57
+
58
+ Every other component in this review series ended on `input()`/`model()`. `KbqModalComponent` did
59
+ not, deliberately, and no consumer read needs an added `()`.
60
+
61
+ `ModalBuilderForService.changeProps` applies the whole options object with
62
+ `Object.assign(this.modalRef.instance, inputs)`. A signal input is a function held on the instance,
63
+ so a bulk assignment overwrites the `InputSignal` itself rather than writing through it — the
64
+ imperative path would have to be rewritten to a per-key `componentRef.setInput()`, with a runtime
65
+ allow-list standing in for the type checking `Object.assign` currently gets for free.
66
+
67
+ `kbqOnOk` and `kbqOnCancel` are the harder half: each is declared `@Input() @Output()` on one
68
+ property, holding either an `EventEmitter` or a callback, and branched on at runtime. There is no
69
+ signal shape for a member that is an input and an output at once, so splitting them is a second
70
+ breaking change to an API this migration has already changed the semantics of. Doing both at once
71
+ would leave consumers no working intermediate state.
72
+
73
+ `kbqVisible` is the one member that would collapse cleanly into `model()` — it is an accessor pair
74
+ with a matching `kbqVisibleChange` output — but it is written from `changeProps` like the rest, and
75
+ `ngOnChanges` on it is what drives `handleVisibleStateChange`. It moves when the two above do.
76
+
77
+ ## Notes with no call site to point at
78
+
79
+ - The dialog carries `role="dialog"`, `aria-modal="true"` and an accessible name — `kbqTitle`, or
80
+ the new `kbqAriaLabel` option when there is no title. A confirm or header-less dialog opened
81
+ without `kbqAriaLabel` is announced unnamed.
82
+ - A manually composed dialog is named and described by its own `kbq-modal-title` and
83
+ `kbq-modal-caption`, on the same `aria-labelledby`/`aria-describedby` attributes the service path
84
+ uses, so the two entry paths announce alike.
85
+ - `kbq-modal-title` projects a `[kbqModalTitleActions]` slot, rendered beside the heading and
86
+ outside its two-line clamp, for controls that belong next to the title rather than in the footer.
87
+ - While a dialog is shown, every body child that does not contain an overlay is marked `inert`, and
88
+ so is every dialog below the topmost one. Code that reaches into the page behind an open dialog no
89
+ longer takes effect.
90
+ - Initial focus follows the new `kbqAutoFocus` option (`'first-tabbable'` by default, plus
91
+ `'dialog'`, `'first-heading'` and `false`), with `[cdkFocusInitial]`/`autofocus` winning over it.
92
+ - `kbqAfterOpen`/`kbqAfterClose` passed in the options are mirrored onto the dialog instead of
93
+ replacing its own emitters, and a declarative modal no longer emits `kbqBeforeClose`/`kbqAfterClose`
94
+ once on creation.
95
+ - The dialog is a flex column capped at the viewport minus `--kbq-modal-size-viewport-inset`, so only
96
+ the body scrolls. A host that overrode the old `max-height: calc(100vh - 260px)` on
97
+ `.kbq-modal-body` can drop that override. One that used `kbqBodyStyle: { maxHeight: 'none' }` to let
98
+ the dialog outgrow the viewport has to move the override onto the dialog element —
99
+ `kbqStyle: { maxHeight: 'none' }` — because the cap lives there now; lifting it on the body only
100
+ makes the body scroll.
101
+
102
+ ## Running it manually
103
+
104
+ ```
105
+ ng generate @koobiq/components:modal-dialog-semantics --project my-app
106
+ ```
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `modal-dialog-semantics` migration.
5
+ *
6
+ * The modal review made the dialog a real dialog and closed the seam between its two entry paths:
7
+ *
8
+ * - `.kbq-modal-container` carries `role="dialog"`, `aria-modal`, `aria-labelledby`/`aria-label`
9
+ * and the focus trap; the page behind an open dialog is marked `inert`.
10
+ * - The `EventEmitter` form of `kbqOnOk`/`kbqOnCancel` closes the dialog now, so `×`, the dim
11
+ * layer and the predefined buttons work on a declarative `<kbq-modal [(kbqVisible)]>`.
12
+ * - <kbd>Escape</kbd> has one implementation for both paths: it honours `kbqCloseByESC` and runs
13
+ * through `kbqOnCancel`, veto included.
14
+ * - A service-created dialog is destroyed with the injector that opened it.
15
+ * - `transformOrigin`, `getKbqFooter()`, `getContainerClasses()` and `autoFocusedButtons` are gone;
16
+ * the template-only helpers became `protected`.
17
+ *
18
+ * Warn-only. A removed member has no replacement expression, and what a closing dialog should do
19
+ * instead is a decision the schematic cannot make.
20
+ */
21
+ /** Import specifier that marks a file as a modal consumer. */
22
+ const MODAL_PACKAGE = '@koobiq/components/modal';
23
+ /** Identifier and attribute shapes that mark a consumer without an import. */
24
+ const MODAL_TYPE = '\\bKbqModal\\w*\\b|\\bkbq-modal\\b';
25
+ const warnPatterns = [
26
+ {
27
+ anchor: MODAL_TYPE,
28
+ pattern: '\\((?:kbqOnOk|kbqOnCancel)\\)',
29
+ message: 'A (kbqOnOk)/(kbqOnCancel) binding no longer keeps the dialog open. The EventEmitter form ' +
30
+ 'used to emit and return, so on a declarative <kbq-modal [(kbqVisible)]> the ×, the dim ' +
31
+ 'layer and the predefined buttons emitted and did nothing; it is a notification now and ' +
32
+ 'the dialog closes. To keep a close under your control, pass kbqOnOk/kbqOnCancel as a ' +
33
+ 'function and return false from it.'
34
+ },
35
+ {
36
+ anchor: MODAL_TYPE,
37
+ pattern: '\\.\\s*(?:transformOrigin|getKbqFooter|getContainerClasses|autoFocusedButtons)\\b',
38
+ message: 'KbqModalComponent.transformOrigin / getKbqFooter() / getContainerClasses() / ' +
39
+ 'autoFocusedButtons were removed. transformOrigin was computed from a click position ' +
40
+ 'set to {x: -1, y: -1} and applied against keyframes that end at scale(1), so it ' +
41
+ 'never rendered anything; autoFocusedButtons queried a template reference that does not ' +
42
+ 'exist. The class list is an internal field the template reads directly.'
43
+ },
44
+ {
45
+ anchor: MODAL_TYPE,
46
+ pattern: '\\.\\s*(?:handleCloseResult|getButtonCallableProp|isModalType|isTemplateRef|isNonEmptyString|' +
47
+ 'isComponent|isModalButtons|onClickMask|onClickOkCancel|onButtonClick|onKeyDown|' +
48
+ 'maskAnimationClassMap|modalAnimationClassMap)\\b',
49
+ message: 'The KbqModalComponent members that only ever fed its own template are protected now: ' +
50
+ 'handleCloseResult, getButtonCallableProp, isModalType, isTemplateRef, isNonEmptyString, ' +
51
+ 'isComponent, isModalButtons, onClickMask, onClickOkCancel, onButtonClick, onKeyDown and the ' +
52
+ 'two animation class maps. The supported surface is open()/close()/destroy(), triggerOk(), ' +
53
+ 'triggerCancel() and the inputs.'
54
+ },
55
+ {
56
+ anchor: MODAL_TYPE,
57
+ pattern: '\\bmodalUtilObject\\b|\\bModalUtil\\b|\\bIClickPosition\\b',
58
+ message: 'ModalUtil, modalUtilObject and IClickPosition were removed together with the ' +
59
+ 'transform-origin machinery they fed, including the document-wide click listener they ' +
60
+ 'registered at module load and never removed.'
61
+ },
62
+ {
63
+ anchor: MODAL_TYPE,
64
+ pattern: '\\bkbq-modal-open\\b|--kbq-modal-size-close-button-margin-left',
65
+ message: 'The .kbq-modal-open class and the --kbq-modal-size-close-button-margin-left token were ' +
66
+ 'removed: neither had a single reader. The body scroll lock is an inline style, and the ' +
67
+ 'close button is positioned absolutely. The dialog now reads a new ' +
68
+ '--kbq-modal-size-viewport-inset token (48px) for the gap it keeps to each viewport edge.'
69
+ }
70
+ ];
71
+ /** Printed once per project, after the per-file reports. */
72
+ const SUMMARY = [
73
+ ' The dialog element carries role="dialog", aria-modal="true" and an accessible name — the ' +
74
+ 'kbqTitle by default, the new kbqAriaLabel option when there is none. A confirm or ' +
75
+ 'header-less dialog opened without kbqAriaLabel is announced unnamed. Hand-rolled role or ' +
76
+ 'aria-* attributes on the dialog are duplicates now.',
77
+ ' While a dialog is shown, every body child that does not contain an overlay is marked inert, ' +
78
+ 'and every dialog below the topmost one is too. Code that reaches into the page behind an ' +
79
+ 'open dialog — a click, a focus() — no longer takes effect.',
80
+ ' Initial focus follows kbqAutoFocus (first-tabbable by default, plus dialog, first-heading and ' +
81
+ 'false), with [cdkFocusInitial]/autofocus winning over it. A dialog with no focusable ' +
82
+ 'control focuses itself instead of leaving focus on the trigger behind it.',
83
+ ' Escape honours kbqCloseByESC on both entry paths and runs through kbqOnCancel, so a callback ' +
84
+ 'returning false vetoes it. It used to close a declarative dialog unconditionally and to ' +
85
+ 'ignore the veto on the service path.',
86
+ ' A dialog opened through KbqModalService is destroyed with the injector that opened it — ' +
87
+ 'options.injector, or the root environment injector. Destroying the opener used to leave the ' +
88
+ 'dialog painted over the next view with the page scroll still locked.',
89
+ ' The kbqAfterOpen/kbqAfterClose options are mirrored onto the dialog instead of replacing its ' +
90
+ 'own emitters, so afterOpen/afterClose on the returned ref keep emitting; and a declarative ' +
91
+ 'modal no longer emits kbqBeforeClose/kbqAfterClose once on creation.',
92
+ ' The dialog is a flex column capped at the viewport minus its inset, so only the body scrolls ' +
93
+ 'and the header and the footer stay on screen. A modal that overrode the old ' +
94
+ 'max-height: calc(100vh - 260px) on .kbq-modal-body can drop that override; one that used ' +
95
+ 'kbqBodyStyle: { maxHeight: none } to let the dialog outgrow the viewport has to move that ' +
96
+ 'override onto the dialog element, kbqStyle: { maxHeight: none }, because the cap lives there now.',
97
+ ' A manually composed dialog is named and described by its own kbq-modal-title and ' +
98
+ 'kbq-modal-caption, on the same aria-labelledby/aria-describedby the service path uses, so ' +
99
+ 'both entry paths are announced alike. kbq-modal-title also projects a [kbqModalTitleActions] ' +
100
+ 'slot, rendered beside the heading and outside its two-line clamp.',
101
+ ' The inputs of KbqModalComponent are still decorators: KbqModalService applies its options ' +
102
+ 'with Object.assign, which would overwrite an InputSignal rather than write through it, and ' +
103
+ 'kbqOnOk/kbqOnCancel are @Input() and @Output() on one property. No consumer read needs an ' +
104
+ 'added ().'
105
+ ];
106
+
107
+ exports.MODAL_PACKAGE = MODAL_PACKAGE;
108
+ exports.MODAL_TYPE = MODAL_TYPE;
109
+ exports.SUMMARY = SUMMARY;
110
+ exports.warnPatterns = warnPatterns;
@@ -0,0 +1,58 @@
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_modalDialogSemantics_data = require('./data.js');
8
+ require('@angular-devkit/schematics');
9
+ require('@schematics/angular/utility');
10
+
11
+ const LABEL = '[modal-dialog-semantics]';
12
+ const EXTENSIONS = ['.ts', '.html', '.scss'];
13
+ /** A file is a modal consumer if it imports the package, names the component, or renders one. */
14
+ function referencesModal(content) {
15
+ return content.includes(migrations_modalDialogSemantics_data.MODAL_PACKAGE) || new RegExp(migrations_modalDialogSemantics_data.MODAL_TYPE).test(content);
16
+ }
17
+ /**
18
+ * Reports what the modal review changed for consumers: the members that disappeared or became
19
+ * protected, and the close controls that stopped being inert on the declarative path. Never
20
+ * writes — whether a dialog should still close is a decision, not a rewrite.
21
+ *
22
+ * `.html` is visited because `(kbqOnOk)`/`(kbqOnCancel)` are template bindings, and `.scss` because
23
+ * two of the removals are a class and a design token.
24
+ */
25
+ function modalDialogSemantics(options) {
26
+ return async (tree, context) => {
27
+ const { project } = options;
28
+ const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
29
+ const root = projectDefinition?.root ?? '';
30
+ const rootDir = root ? tree.getDir(root) : tree.root;
31
+ let consumers = 0;
32
+ let reported = 0;
33
+ utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
34
+ if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
35
+ return;
36
+ const content = entry?.content.toString();
37
+ if (!content || !referencesModal(content))
38
+ return;
39
+ consumers++;
40
+ for (const { anchor, pattern, message } of migrations_modalDialogSemantics_data.warnPatterns) {
41
+ if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
42
+ continue;
43
+ reported++;
44
+ utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
45
+ }
46
+ });
47
+ // Nothing here opens a modal, so the summary would only be noise.
48
+ if (consumers === 0)
49
+ return;
50
+ utils_messages.logMessage(context.logger, [
51
+ `${LABEL} processed kbq-modal under "${root || '<workspace root>'}", ` +
52
+ `${consumers} file(s) reference the component, ${reported} call site(s) reported.`,
53
+ ...migrations_modalDialogSemantics_data.SUMMARY
54
+ ]);
55
+ };
56
+ }
57
+
58
+ exports.default = modalDialogSemantics;
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-modal-dialog-semantics",
4
+ "title": "Koobiq components modal 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,88 @@
1
+ # modal-signals
2
+
3
+ Migration schematic invoked automatically by `ng update @koobiq/components@21`
4
+ (registered for `21.0.0-0`). Rewrites reads of the `KbqModalComponent` members that became signals
5
+ into calls, and reports the two renames and the reads it cannot resolve.
6
+
7
+ Runs alongside [`modal-dialog-semantics`](../modal-dialog-semantics/README.md), which covers the
8
+ behaviour and visibility changes of the same review. This one covers only the move to signals.
9
+
10
+ ## Background
11
+
12
+ Two things kept the dialog on decorator inputs while the rest of the review series moved to
13
+ `input()`.
14
+
15
+ `ModalBuilderForService` applied the whole options object with
16
+ `Object.assign(this.modalRef.instance, inputs)`. A bulk assignment overwrites an `InputSignal`
17
+ instead of writing through it, so every option would have broken at once. The options are provided
18
+ as `KBQ_MODAL_OPTIONS` now, and the dialog reads them as the **initial values** of its inputs: a
19
+ dialog created by the service carries no template bindings, so an input it does not bind keeps that
20
+ initial value for life. That also removed the four `if (!('x' in options))` blocks in
21
+ `KbqModalService.create()`, which only existed to make `Object.assign` overwrite a default.
22
+
23
+ `kbqOnOk` and `kbqOnCancel` were each `@Input()` **and** `@Output()` on one property. A signal input
24
+ and an output cannot share a name, so the pair had to be split first — see
25
+ [`modal-dialog-semantics`](../modal-dialog-semantics/README.md) for that half.
26
+
27
+ ## What it rewrites
28
+
29
+ A read of a migrated member becomes a call, on receivers the engine can resolve: a variable or
30
+ field annotated `KbqModalComponent`, an `inject()`/`viewChild()`/`contentChild()` of it, and a
31
+ `#ref` on a `<kbq-modal>` element in an external or inline template. A write to `kbqVisible` becomes
32
+ `kbqVisible.set(...)`, because it is the one `model()`.
33
+
34
+ | Call site | Becomes |
35
+ | ------------------------------ | --------------------------------------------------- |
36
+ | `modal.kbqVisible` | `modal.kbqVisible()` |
37
+ | `modal.kbqVisible = true` | `modal.kbqVisible.set(true)` |
38
+ | `modal.kbqTitle`, `kbqSize`, … | `modal.kbqTitle()`, `modal.kbqSize()`, … |
39
+ | `modal.kbqTitle = 'x'` | Reported — bind `[kbqTitle]`; the input is readonly |
40
+
41
+ ## What it reports instead
42
+
43
+ - **`kbqOnOk:` / `kbqOnCancel:` as a key.** The decision handler is `kbqOkClick`/`kbqCancelClick`
44
+ now, but `kbqOnOk` survives as an output under the same name, so the key has to be judged in
45
+ context: an options object and an `[kbqOnOk]` input binding move, a `(kbqOnOk)` listener does not.
46
+ `ModalOptions.kbqOnOk` is an `EventEmitter` now, so a function left under the old key is a compile
47
+ error rather than a silent change of meaning.
48
+ - **`[kbqOnOk]` / `[kbqOnCancel]` input bindings.** The old names are outputs only, so Angular would
49
+ drop the binding silently.
50
+ - **Reads through `KbqModalRef.getInstance()`.** The ref is what `KbqModalService` returns and its
51
+ static type carries none of these members, so the engine has nothing to resolve the receiver to.
52
+ - **`okText` / `cancelText`.** Removed. They were getters returning `kbqOkText`/`kbqCancelText`
53
+ unchanged and existed only to feed the template.
54
+ - **The four template type guards** — `isTemplateRef`, `isNonEmptyString`, `isComponent`,
55
+ `isModalButtons`. Removed; the template classifies each slot once instead. They were already
56
+ `protected` and `@docs-private`, so only a subclass is affected.
57
+
58
+ ## Notes with no call site to point at
59
+
60
+ - `kbqOkLoading`, `kbqCancelLoading` and `kbqMask` keep a private writable shadow inside the dialog,
61
+ because something other than the binding drives them: a pending promise returned by a handler, and
62
+ a dialog that covers this one. The inputs keep reporting what was bound, so re-binding one still
63
+ takes effect.
64
+ - The predefined OK and Cancel buttons finally render the progress state `kbqOkLoading` and
65
+ `kbqCancelLoading` always described. The template never read them before, so a promise-returning
66
+ handler showed nothing.
67
+ - `kbqFooter` is no longer overwritten with its own formatted copy on init, so it reports exactly
68
+ what was bound; the button defaults are filled in on the way to the template.
69
+ - `KbqModalComponent` no longer declares `implements ModalOptions`. That interface is the service's
70
+ contract, and the component's inputs are signals, so the two no longer match structurally.
71
+ - `KbqModalControlService` still turns the dim layer of covered dialogs off and back on from
72
+ outside, through `animateMaskTo()` and the new `setMaskEnabled()`. That orchestration belongs in
73
+ the dialog, keyed on `topVisibleModal()` the way `inert` already is, and has not moved yet.
74
+ - `kbqAfterOpen`, `kbqAfterClose` and `kbqBeforeClose` are still `@Output() EventEmitter`. They back
75
+ the public `afterOpen`/`beforeClose`/`afterClose` observables, and `output()` is not a drop-in:
76
+ `OutputEmitterRef` has no `asObservable()`, and `outputToObservable()` completes the stream when
77
+ the component is destroyed — which happens inside the emit itself, because
78
+ `ModalBuilderForService` subscribes first to dispose the overlay, so the value is dropped before
79
+ it reaches a consumer's `afterClose`. Converting them means moving the source of truth to a
80
+ `Subject` the dialog owns and taking the overlay teardown off that emitter.
81
+
82
+ ## Running it manually
83
+
84
+ ```
85
+ ng generate @koobiq/components:modal-signals --project my-app
86
+ ```
87
+
88
+ Pass `--fix=false` to see what would change without writing.
@@ -0,0 +1,132 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Data for the `modal-signals` migration.
5
+ *
6
+ * `KbqModalComponent` finished its move to signals:
7
+ *
8
+ * - every option is an `input()` now, `kbqVisible` is a `model()`, and the hand-written
9
+ * `kbqVisibleChange` output is the one the model generates;
10
+ * - `kbqOnOk`/`kbqOnCancel` are an output each, and the decision handler they used to double as
11
+ * is a separate input: `kbqOkClick`/`kbqCancelClick`;
12
+ * - `KbqModalService` stopped applying the options with `Object.assign` — they reach the dialog
13
+ * through `KBQ_MODAL_OPTIONS` as the initial values of its inputs;
14
+ * - the `okText`/`cancelText` getters and the four template type guards are gone.
15
+ *
16
+ * Reads are rewritten to calls by the shared engine. The two renames are reported rather than
17
+ * rewritten: `kbqOnOk` survives as an output under the same name, so the key has to be judged in
18
+ * context — an option object and an `[kbqOnOk]` input binding move, a `(kbqOnOk)` listener does not.
19
+ */
20
+ /** Import specifier that marks a file as a modal consumer. */
21
+ const MODAL_PACKAGE = '@koobiq/components/modal';
22
+ /** Identifier and attribute shapes that mark a consumer without an import. */
23
+ const MODAL_TYPE = '\\bKbqModal\\w*\\b|\\bkbq-modal\\b';
24
+ /** Every input that became a signal. `kbqVisible` is the `model()`; the rest are read-only. */
25
+ const MODAL_MEMBERS = [
26
+ 'kbqModalType',
27
+ 'kbqComponent',
28
+ 'kbqContent',
29
+ 'kbqFooter',
30
+ 'kbqVisible',
31
+ 'kbqWidth',
32
+ 'kbqSize',
33
+ 'kbqWrapClassName',
34
+ 'kbqClassName',
35
+ 'kbqStyle',
36
+ 'kbqTitle',
37
+ 'kbqCaption',
38
+ 'kbqCloseByESC',
39
+ 'kbqAutoFocus',
40
+ 'kbqAriaLabel',
41
+ 'kbqClosable',
42
+ 'kbqMask',
43
+ 'kbqMaskClosable',
44
+ 'kbqMaskStyle',
45
+ 'kbqBodyStyle',
46
+ 'kbqOkText',
47
+ 'kbqOkType',
48
+ 'kbqRestoreFocus',
49
+ 'kbqOkLoading',
50
+ 'kbqOkClick',
51
+ 'kbqCancelText',
52
+ 'kbqCancelLoading',
53
+ 'kbqCancelClick',
54
+ 'kbqGetContainer'
55
+ ];
56
+ const config = {
57
+ label: '[modal-signals]',
58
+ package: MODAL_PACKAGE,
59
+ membersByType: { KbqModalComponent: MODAL_MEMBERS },
60
+ // The dialog is a component with no `exportAs`, so a template names it by its own element.
61
+ exportAsToType: {},
62
+ elementToType: { 'kbq-modal': 'KbqModalComponent' },
63
+ writableMembers: new Set(['kbqVisible']),
64
+ warnPatterns: [
65
+ {
66
+ anchor: MODAL_TYPE,
67
+ pattern: '\\bkbqOnOk\\s*:|\\bkbqOnCancel\\s*:',
68
+ message: 'The decision handler moved off kbqOnOk/kbqOnCancel. In an options object or an ' +
69
+ '[kbqOnOk] input binding, rename the key to kbqOkClick/kbqCancelClick: ' +
70
+ 'modalService.create({ kbqOnOk: fn }) becomes create({ kbqOkClick: fn }). kbqOnOk and ' +
71
+ 'kbqOnCancel survive as outputs under the same names, so a (kbqOnOk) listener in a ' +
72
+ 'template is unaffected — and ModalOptions.kbqOnOk is an EventEmitter now, so a ' +
73
+ 'function left under the old key is a compile error rather than a silent change.'
74
+ },
75
+ {
76
+ anchor: MODAL_TYPE,
77
+ pattern: '\\[\\s*(?:kbqOnOk|kbqOnCancel)\\s*\\]',
78
+ message: 'An [kbqOnOk]/[kbqOnCancel] input binding is now [kbqOkClick]/[kbqCancelClick]. The old ' +
79
+ 'names are outputs only, so the binding would be dropped silently.'
80
+ },
81
+ {
82
+ anchor: MODAL_TYPE,
83
+ pattern: '\\.\\s*getInstance\\(\\)\\s*\\.\\s*kbq[A-Z]',
84
+ message: 'Reads through KbqModalRef.getInstance() are not rewritten, because the ref is what ' +
85
+ 'KbqModalService returns and its static type carries none of these members. Every input ' +
86
+ 'read behind getInstance() needs a call now — getInstance().kbqVisible() — and a write ' +
87
+ 'needs a binding, except kbqVisible, which is a model(): getInstance().kbqVisible.set(v), ' +
88
+ 'or just open()/close().'
89
+ },
90
+ {
91
+ anchor: MODAL_TYPE,
92
+ pattern: '\\.\\s*(?:okText|cancelText)\\b',
93
+ message: 'KbqModalComponent.okText / cancelText were removed. They were getters that returned ' +
94
+ 'kbqOkText / kbqCancelText unchanged and existed only to feed the template; read the ' +
95
+ 'inputs instead — kbqOkText().'
96
+ },
97
+ {
98
+ anchor: MODAL_TYPE,
99
+ pattern: '\\.\\s*(?:isTemplateRef|isNonEmptyString|isComponent|isModalButtons)\\b',
100
+ message: 'The four template type guards of KbqModalComponent were removed — isTemplateRef, ' +
101
+ 'isNonEmptyString, isComponent and isModalButtons. The template classifies each slot ' +
102
+ 'once instead. They were already protected and @docs-private, so only a subclass is ' +
103
+ 'affected.'
104
+ }
105
+ ],
106
+ messages: {
107
+ unparseableTemplate: 'This template renders a kbq-modal but could not be parsed, so reads through a template ' +
108
+ 'reference variable were left alone. Check them by hand.',
109
+ unresolvedReceiver: 'KbqModalComponent is named here, but these reads could not be tied to one receiver, so ' +
110
+ 'they were left alone:',
111
+ summary: [
112
+ ' Every option of KbqModalComponent is a signal input now, and kbqVisible is a model(). ' +
113
+ 'Template bindings are unchanged, including [(kbqVisible)]; what breaks is programmatic ' +
114
+ 'access — a read takes a call and a write takes a binding.',
115
+ ' KbqModalService no longer applies the options with Object.assign. They are provided as ' +
116
+ 'KBQ_MODAL_OPTIONS and become the initial values of the inputs, so a dialog created by ' +
117
+ 'the service keeps them for life.',
118
+ ' kbqOkLoading, kbqCancelLoading and kbqMask keep a private writable shadow inside the ' +
119
+ 'dialog, because a pending promise and a covering dialog drive them. The inputs keep ' +
120
+ 'reporting what was bound, so re-binding one still takes effect.',
121
+ ' kbqFooter is no longer overwritten with its own formatted copy on init, and the ' +
122
+ 'predefined OK/Cancel buttons finally render the progress state kbqOkLoading and ' +
123
+ 'kbqCancelLoading always described.',
124
+ ' KbqModalComponent no longer declares `implements ModalOptions`: that interface is the ' +
125
+ "service's contract, and the component's inputs are signals, so the two no longer match."
126
+ ]
127
+ }
128
+ };
129
+
130
+ exports.MODAL_PACKAGE = MODAL_PACKAGE;
131
+ exports.MODAL_TYPE = MODAL_TYPE;
132
+ exports.config = config;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var signalMembersMigration = require('../../signal-members-migration-BoAJKutT.js');
6
+ var migrations_modalSignals_data = require('./data.js');
7
+ require('typescript');
8
+ require('../../utils/ast.js');
9
+ require('../../utils/messages.js');
10
+ require('../../package-config-BhU2TfC8.js');
11
+ require('@angular-devkit/schematics');
12
+ require('@schematics/angular/utility');
13
+ require('../../utils/typescript.js');
14
+
15
+ function modalSignals(options) {
16
+ return signalMembersMigration.signalMembersRule(migrations_modalSignals_data.config, options);
17
+ }
18
+
19
+ exports.default = modalSignals;
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "koobiq-components-modal-signals",
4
+ "title": "Koobiq components modal 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
+ }