@furystack/shades-common-components 11.0.0 → 12.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 (765) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/esm/components/accordion/accordion-item.d.ts +31 -0
  3. package/esm/components/accordion/accordion-item.d.ts.map +1 -0
  4. package/esm/components/accordion/accordion-item.js +147 -0
  5. package/esm/components/accordion/accordion-item.js.map +1 -0
  6. package/esm/components/accordion/accordion.d.ts +27 -0
  7. package/esm/components/accordion/accordion.d.ts.map +1 -0
  8. package/esm/components/accordion/accordion.js +39 -0
  9. package/esm/components/accordion/accordion.js.map +1 -0
  10. package/esm/components/accordion/accordion.spec.d.ts +2 -0
  11. package/esm/components/accordion/accordion.spec.d.ts.map +1 -0
  12. package/esm/components/accordion/accordion.spec.js +284 -0
  13. package/esm/components/accordion/accordion.spec.js.map +1 -0
  14. package/esm/components/accordion/index.d.ts +3 -0
  15. package/esm/components/accordion/index.d.ts.map +1 -0
  16. package/esm/components/accordion/index.js +3 -0
  17. package/esm/components/accordion/index.js.map +1 -0
  18. package/esm/components/alert.d.ts +21 -0
  19. package/esm/components/alert.d.ts.map +1 -0
  20. package/esm/components/alert.js +131 -0
  21. package/esm/components/alert.js.map +1 -0
  22. package/esm/components/alert.spec.d.ts +2 -0
  23. package/esm/components/alert.spec.d.ts.map +1 -0
  24. package/esm/components/alert.spec.js +177 -0
  25. package/esm/components/alert.spec.js.map +1 -0
  26. package/esm/components/app-bar-link.d.ts +22 -2
  27. package/esm/components/app-bar-link.d.ts.map +1 -1
  28. package/esm/components/app-bar-link.js +20 -7
  29. package/esm/components/app-bar-link.js.map +1 -1
  30. package/esm/components/app-bar-link.spec.js +22 -19
  31. package/esm/components/app-bar-link.spec.js.map +1 -1
  32. package/esm/components/app-bar.d.ts +2 -0
  33. package/esm/components/app-bar.d.ts.map +1 -1
  34. package/esm/components/app-bar.js +16 -11
  35. package/esm/components/app-bar.js.map +1 -1
  36. package/esm/components/app-bar.spec.js +67 -52
  37. package/esm/components/app-bar.spec.js.map +1 -1
  38. package/esm/components/avatar.d.ts +2 -0
  39. package/esm/components/avatar.d.ts.map +1 -1
  40. package/esm/components/avatar.js +40 -37
  41. package/esm/components/avatar.js.map +1 -1
  42. package/esm/components/badge.d.ts +35 -0
  43. package/esm/components/badge.d.ts.map +1 -0
  44. package/esm/components/badge.js +68 -0
  45. package/esm/components/badge.js.map +1 -0
  46. package/esm/components/badge.spec.d.ts +2 -0
  47. package/esm/components/badge.spec.d.ts.map +1 -0
  48. package/esm/components/badge.spec.js +157 -0
  49. package/esm/components/badge.spec.js.map +1 -0
  50. package/esm/components/breadcrumb.d.ts +103 -0
  51. package/esm/components/breadcrumb.d.ts.map +1 -0
  52. package/esm/components/breadcrumb.js +121 -0
  53. package/esm/components/breadcrumb.js.map +1 -0
  54. package/esm/components/breadcrumb.spec.d.ts +2 -0
  55. package/esm/components/breadcrumb.spec.d.ts.map +1 -0
  56. package/esm/components/breadcrumb.spec.js +251 -0
  57. package/esm/components/breadcrumb.spec.js.map +1 -0
  58. package/esm/components/button-group.d.ts +85 -0
  59. package/esm/components/button-group.d.ts.map +1 -0
  60. package/esm/components/button-group.js +290 -0
  61. package/esm/components/button-group.js.map +1 -0
  62. package/esm/components/button-group.spec.d.ts +2 -0
  63. package/esm/components/button-group.spec.d.ts.map +1 -0
  64. package/esm/components/button-group.spec.js +502 -0
  65. package/esm/components/button-group.spec.js.map +1 -0
  66. package/esm/components/button.d.ts +44 -2
  67. package/esm/components/button.d.ts.map +1 -1
  68. package/esm/components/button.js +82 -73
  69. package/esm/components/button.js.map +1 -1
  70. package/esm/components/button.spec.js +205 -50
  71. package/esm/components/button.spec.js.map +1 -1
  72. package/esm/components/card.d.ts +117 -0
  73. package/esm/components/card.d.ts.map +1 -0
  74. package/esm/components/card.js +181 -0
  75. package/esm/components/card.js.map +1 -0
  76. package/esm/components/card.spec.d.ts +2 -0
  77. package/esm/components/card.spec.d.ts.map +1 -0
  78. package/esm/components/card.spec.js +278 -0
  79. package/esm/components/card.spec.js.map +1 -0
  80. package/esm/components/carousel.d.ts +50 -0
  81. package/esm/components/carousel.d.ts.map +1 -0
  82. package/esm/components/carousel.js +263 -0
  83. package/esm/components/carousel.js.map +1 -0
  84. package/esm/components/carousel.spec.d.ts +2 -0
  85. package/esm/components/carousel.spec.d.ts.map +1 -0
  86. package/esm/components/carousel.spec.js +677 -0
  87. package/esm/components/carousel.spec.js.map +1 -0
  88. package/esm/components/chip.d.ts +23 -0
  89. package/esm/components/chip.d.ts.map +1 -0
  90. package/esm/components/chip.js +139 -0
  91. package/esm/components/chip.js.map +1 -0
  92. package/esm/components/chip.spec.d.ts +2 -0
  93. package/esm/components/chip.spec.d.ts.map +1 -0
  94. package/esm/components/chip.spec.js +142 -0
  95. package/esm/components/chip.spec.js.map +1 -0
  96. package/esm/components/circular-progress.d.ts +37 -0
  97. package/esm/components/circular-progress.d.ts.map +1 -0
  98. package/esm/components/circular-progress.js +84 -0
  99. package/esm/components/circular-progress.js.map +1 -0
  100. package/esm/components/circular-progress.spec.d.ts +2 -0
  101. package/esm/components/circular-progress.spec.d.ts.map +1 -0
  102. package/esm/components/circular-progress.spec.js +228 -0
  103. package/esm/components/circular-progress.spec.js.map +1 -0
  104. package/esm/components/command-palette/command-palette-input.d.ts +3 -0
  105. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  106. package/esm/components/command-palette/command-palette-input.js +17 -9
  107. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  108. package/esm/components/command-palette/command-palette-input.spec.js +172 -161
  109. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
  110. package/esm/components/command-palette/command-palette-manager.spec.js +130 -114
  111. package/esm/components/command-palette/command-palette-manager.spec.js.map +1 -1
  112. package/esm/components/command-palette/command-palette-suggestion-list.d.ts +2 -0
  113. package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  114. package/esm/components/command-palette/command-palette-suggestion-list.js +20 -20
  115. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  116. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +296 -278
  117. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
  118. package/esm/components/command-palette/index.d.ts +2 -0
  119. package/esm/components/command-palette/index.d.ts.map +1 -1
  120. package/esm/components/command-palette/index.js +25 -94
  121. package/esm/components/command-palette/index.js.map +1 -1
  122. package/esm/components/command-palette/index.spec.js +12 -12
  123. package/esm/components/command-palette/index.spec.js.map +1 -1
  124. package/esm/components/context-menu/context-menu-item.d.ts +9 -0
  125. package/esm/components/context-menu/context-menu-item.d.ts.map +1 -0
  126. package/esm/components/context-menu/context-menu-item.js +56 -0
  127. package/esm/components/context-menu/context-menu-item.js.map +1 -0
  128. package/esm/components/context-menu/context-menu-manager.d.ts +52 -0
  129. package/esm/components/context-menu/context-menu-manager.d.ts.map +1 -0
  130. package/esm/components/context-menu/context-menu-manager.js +128 -0
  131. package/esm/components/context-menu/context-menu-manager.js.map +1 -0
  132. package/esm/components/context-menu/context-menu-manager.spec.d.ts +2 -0
  133. package/esm/components/context-menu/context-menu-manager.spec.d.ts.map +1 -0
  134. package/esm/components/context-menu/context-menu-manager.spec.js +332 -0
  135. package/esm/components/context-menu/context-menu-manager.spec.js.map +1 -0
  136. package/esm/components/context-menu/context-menu.d.ts +8 -0
  137. package/esm/components/context-menu/context-menu.d.ts.map +1 -0
  138. package/esm/components/context-menu/context-menu.js +79 -0
  139. package/esm/components/context-menu/context-menu.js.map +1 -0
  140. package/esm/components/context-menu/context-menu.spec.d.ts +2 -0
  141. package/esm/components/context-menu/context-menu.spec.d.ts.map +1 -0
  142. package/esm/components/context-menu/context-menu.spec.js +282 -0
  143. package/esm/components/context-menu/context-menu.spec.js.map +1 -0
  144. package/esm/components/context-menu/index.d.ts +4 -0
  145. package/esm/components/context-menu/index.d.ts.map +1 -0
  146. package/esm/components/context-menu/index.js +4 -0
  147. package/esm/components/context-menu/index.js.map +1 -0
  148. package/esm/components/data-grid/body.spec.js +194 -184
  149. package/esm/components/data-grid/body.spec.js.map +1 -1
  150. package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
  151. package/esm/components/data-grid/data-grid-row.js +66 -54
  152. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  153. package/esm/components/data-grid/data-grid-row.spec.js +127 -95
  154. package/esm/components/data-grid/data-grid-row.spec.js.map +1 -1
  155. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  156. package/esm/components/data-grid/data-grid.js +17 -16
  157. package/esm/components/data-grid/data-grid.js.map +1 -1
  158. package/esm/components/data-grid/data-grid.spec.js +454 -429
  159. package/esm/components/data-grid/data-grid.spec.js.map +1 -1
  160. package/esm/components/data-grid/footer.spec.js +215 -203
  161. package/esm/components/data-grid/footer.spec.js.map +1 -1
  162. package/esm/components/data-grid/header.d.ts +3 -1
  163. package/esm/components/data-grid/header.d.ts.map +1 -1
  164. package/esm/components/data-grid/header.js +42 -30
  165. package/esm/components/data-grid/header.js.map +1 -1
  166. package/esm/components/data-grid/header.spec.js +330 -307
  167. package/esm/components/data-grid/header.spec.js.map +1 -1
  168. package/esm/components/data-grid/selection-cell.d.ts +2 -0
  169. package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
  170. package/esm/components/data-grid/selection-cell.js +2 -7
  171. package/esm/components/data-grid/selection-cell.js.map +1 -1
  172. package/esm/components/data-grid/selection-cell.spec.js +45 -36
  173. package/esm/components/data-grid/selection-cell.spec.js.map +1 -1
  174. package/esm/components/dialog.d.ts +46 -0
  175. package/esm/components/dialog.d.ts.map +1 -0
  176. package/esm/components/dialog.js +178 -0
  177. package/esm/components/dialog.js.map +1 -0
  178. package/esm/components/dialog.spec.d.ts +2 -0
  179. package/esm/components/dialog.spec.d.ts.map +1 -0
  180. package/esm/components/dialog.spec.js +113 -0
  181. package/esm/components/dialog.spec.js.map +1 -0
  182. package/esm/components/divider.d.ts +22 -0
  183. package/esm/components/divider.d.ts.map +1 -0
  184. package/esm/components/divider.js +113 -0
  185. package/esm/components/divider.js.map +1 -0
  186. package/esm/components/divider.spec.d.ts +2 -0
  187. package/esm/components/divider.spec.d.ts.map +1 -0
  188. package/esm/components/divider.spec.js +136 -0
  189. package/esm/components/divider.spec.js.map +1 -0
  190. package/esm/components/drawer/drawer-toggle-button.d.ts +36 -0
  191. package/esm/components/drawer/drawer-toggle-button.d.ts.map +1 -0
  192. package/esm/components/drawer/drawer-toggle-button.js +94 -0
  193. package/esm/components/drawer/drawer-toggle-button.js.map +1 -0
  194. package/esm/components/drawer/drawer-toggle-button.spec.d.ts +2 -0
  195. package/esm/components/drawer/drawer-toggle-button.spec.d.ts.map +1 -0
  196. package/esm/components/drawer/drawer-toggle-button.spec.js +306 -0
  197. package/esm/components/drawer/drawer-toggle-button.spec.js.map +1 -0
  198. package/esm/components/drawer/index.d.ts +56 -0
  199. package/esm/components/drawer/index.d.ts.map +1 -0
  200. package/esm/components/drawer/index.js +172 -0
  201. package/esm/components/drawer/index.js.map +1 -0
  202. package/esm/components/drawer/index.spec.d.ts +2 -0
  203. package/esm/components/drawer/index.spec.d.ts.map +1 -0
  204. package/esm/components/drawer/index.spec.js +538 -0
  205. package/esm/components/drawer/index.spec.js.map +1 -0
  206. package/esm/components/dropdown.d.ts +15 -0
  207. package/esm/components/dropdown.d.ts.map +1 -0
  208. package/esm/components/dropdown.js +262 -0
  209. package/esm/components/dropdown.js.map +1 -0
  210. package/esm/components/dropdown.spec.d.ts +2 -0
  211. package/esm/components/dropdown.spec.d.ts.map +1 -0
  212. package/esm/components/dropdown.spec.js +372 -0
  213. package/esm/components/dropdown.spec.js.map +1 -0
  214. package/esm/components/fab.d.ts +10 -1
  215. package/esm/components/fab.d.ts.map +1 -1
  216. package/esm/components/fab.js +24 -8
  217. package/esm/components/fab.js.map +1 -1
  218. package/esm/components/fab.spec.js +50 -39
  219. package/esm/components/fab.spec.js.map +1 -1
  220. package/esm/components/form.d.ts.map +1 -1
  221. package/esm/components/form.js +9 -7
  222. package/esm/components/form.js.map +1 -1
  223. package/esm/components/form.spec.js +209 -199
  224. package/esm/components/form.spec.js.map +1 -1
  225. package/esm/components/grid.js +10 -10
  226. package/esm/components/grid.js.map +1 -1
  227. package/esm/components/grid.spec.js +109 -85
  228. package/esm/components/grid.spec.js.map +1 -1
  229. package/esm/components/icons/icon-definitions.d.ts +140 -0
  230. package/esm/components/icons/icon-definitions.d.ts.map +1 -0
  231. package/esm/components/icons/icon-definitions.js +432 -0
  232. package/esm/components/icons/icon-definitions.js.map +1 -0
  233. package/esm/components/icons/icon-definitions.spec.d.ts +2 -0
  234. package/esm/components/icons/icon-definitions.spec.d.ts.map +1 -0
  235. package/esm/components/icons/icon-definitions.spec.js +59 -0
  236. package/esm/components/icons/icon-definitions.spec.js.map +1 -0
  237. package/esm/components/icons/icon-types.d.ts +48 -0
  238. package/esm/components/icons/icon-types.d.ts.map +1 -0
  239. package/esm/components/icons/icon-types.js +2 -0
  240. package/esm/components/icons/icon-types.js.map +1 -0
  241. package/esm/components/icons/icon.d.ts +56 -0
  242. package/esm/components/icons/icon.d.ts.map +1 -0
  243. package/esm/components/icons/icon.js +61 -0
  244. package/esm/components/icons/icon.js.map +1 -0
  245. package/esm/components/icons/icon.spec.d.ts +2 -0
  246. package/esm/components/icons/icon.spec.d.ts.map +1 -0
  247. package/esm/components/icons/icon.spec.js +224 -0
  248. package/esm/components/icons/icon.spec.js.map +1 -0
  249. package/esm/components/icons/index.d.ts +5 -0
  250. package/esm/components/icons/index.d.ts.map +1 -0
  251. package/esm/components/icons/index.js +3 -0
  252. package/esm/components/icons/index.js.map +1 -0
  253. package/esm/components/image.d.ts +62 -0
  254. package/esm/components/image.d.ts.map +1 -0
  255. package/esm/components/image.js +348 -0
  256. package/esm/components/image.js.map +1 -0
  257. package/esm/components/image.spec.d.ts +2 -0
  258. package/esm/components/image.spec.d.ts.map +1 -0
  259. package/esm/components/image.spec.js +542 -0
  260. package/esm/components/image.spec.js.map +1 -0
  261. package/esm/components/index.d.ts +32 -4
  262. package/esm/components/index.d.ts.map +1 -1
  263. package/esm/components/index.js +32 -4
  264. package/esm/components/index.js.map +1 -1
  265. package/esm/components/inputs/autocomplete.d.ts +2 -0
  266. package/esm/components/inputs/autocomplete.d.ts.map +1 -1
  267. package/esm/components/inputs/autocomplete.js +10 -6
  268. package/esm/components/inputs/autocomplete.js.map +1 -1
  269. package/esm/components/inputs/autocomplete.spec.js +10 -1
  270. package/esm/components/inputs/autocomplete.spec.js.map +1 -1
  271. package/esm/components/inputs/checkbox.d.ts +50 -0
  272. package/esm/components/inputs/checkbox.d.ts.map +1 -0
  273. package/esm/components/inputs/checkbox.js +126 -0
  274. package/esm/components/inputs/checkbox.js.map +1 -0
  275. package/esm/components/inputs/checkbox.spec.d.ts +2 -0
  276. package/esm/components/inputs/checkbox.spec.d.ts.map +1 -0
  277. package/esm/components/inputs/checkbox.spec.js +287 -0
  278. package/esm/components/inputs/checkbox.spec.js.map +1 -0
  279. package/esm/components/inputs/index.d.ts +7 -0
  280. package/esm/components/inputs/index.d.ts.map +1 -1
  281. package/esm/components/inputs/index.js +7 -0
  282. package/esm/components/inputs/index.js.map +1 -1
  283. package/esm/components/inputs/input-number.d.ts +79 -0
  284. package/esm/components/inputs/input-number.d.ts.map +1 -0
  285. package/esm/components/inputs/input-number.js +232 -0
  286. package/esm/components/inputs/input-number.js.map +1 -0
  287. package/esm/components/inputs/input-number.spec.d.ts +2 -0
  288. package/esm/components/inputs/input-number.spec.d.ts.map +1 -0
  289. package/esm/components/inputs/input-number.spec.js +516 -0
  290. package/esm/components/inputs/input-number.spec.js.map +1 -0
  291. package/esm/components/inputs/input.d.ts +2 -1
  292. package/esm/components/inputs/input.d.ts.map +1 -1
  293. package/esm/components/inputs/input.js +86 -116
  294. package/esm/components/inputs/input.js.map +1 -1
  295. package/esm/components/inputs/input.spec.js +461 -427
  296. package/esm/components/inputs/input.spec.js.map +1 -1
  297. package/esm/components/inputs/radio-group.d.ts +38 -0
  298. package/esm/components/inputs/radio-group.d.ts.map +1 -0
  299. package/esm/components/inputs/radio-group.js +58 -0
  300. package/esm/components/inputs/radio-group.js.map +1 -0
  301. package/esm/components/inputs/radio-group.spec.d.ts +2 -0
  302. package/esm/components/inputs/radio-group.spec.d.ts.map +1 -0
  303. package/esm/components/inputs/radio-group.spec.js +201 -0
  304. package/esm/components/inputs/radio-group.spec.js.map +1 -0
  305. package/esm/components/inputs/radio.d.ts +42 -0
  306. package/esm/components/inputs/radio.d.ts.map +1 -0
  307. package/esm/components/inputs/radio.js +134 -0
  308. package/esm/components/inputs/radio.js.map +1 -0
  309. package/esm/components/inputs/radio.spec.d.ts +2 -0
  310. package/esm/components/inputs/radio.spec.d.ts.map +1 -0
  311. package/esm/components/inputs/radio.spec.js +211 -0
  312. package/esm/components/inputs/radio.spec.js.map +1 -0
  313. package/esm/components/inputs/select.d.ts +67 -0
  314. package/esm/components/inputs/select.d.ts.map +1 -0
  315. package/esm/components/inputs/select.js +581 -0
  316. package/esm/components/inputs/select.js.map +1 -0
  317. package/esm/components/inputs/select.spec.d.ts +2 -0
  318. package/esm/components/inputs/select.spec.d.ts.map +1 -0
  319. package/esm/components/inputs/select.spec.js +1009 -0
  320. package/esm/components/inputs/select.spec.js.map +1 -0
  321. package/esm/components/inputs/slider.d.ts +66 -0
  322. package/esm/components/inputs/slider.d.ts.map +1 -0
  323. package/esm/components/inputs/slider.js +526 -0
  324. package/esm/components/inputs/slider.js.map +1 -0
  325. package/esm/components/inputs/slider.spec.d.ts +2 -0
  326. package/esm/components/inputs/slider.spec.d.ts.map +1 -0
  327. package/esm/components/inputs/slider.spec.js +812 -0
  328. package/esm/components/inputs/slider.spec.js.map +1 -0
  329. package/esm/components/inputs/switch.d.ts +50 -0
  330. package/esm/components/inputs/switch.d.ts.map +1 -0
  331. package/esm/components/inputs/switch.js +138 -0
  332. package/esm/components/inputs/switch.js.map +1 -0
  333. package/esm/components/inputs/switch.spec.d.ts +2 -0
  334. package/esm/components/inputs/switch.spec.d.ts.map +1 -0
  335. package/esm/components/inputs/switch.spec.js +313 -0
  336. package/esm/components/inputs/switch.spec.js.map +1 -0
  337. package/esm/components/inputs/text-area.d.ts +2 -0
  338. package/esm/components/inputs/text-area.d.ts.map +1 -1
  339. package/esm/components/inputs/text-area.js +13 -21
  340. package/esm/components/inputs/text-area.js.map +1 -1
  341. package/esm/components/inputs/text-area.spec.js +171 -156
  342. package/esm/components/inputs/text-area.spec.js.map +1 -1
  343. package/esm/components/linear-progress.d.ts +32 -0
  344. package/esm/components/linear-progress.d.ts.map +1 -0
  345. package/esm/components/linear-progress.js +79 -0
  346. package/esm/components/linear-progress.js.map +1 -0
  347. package/esm/components/linear-progress.spec.d.ts +2 -0
  348. package/esm/components/linear-progress.spec.d.ts.map +1 -0
  349. package/esm/components/linear-progress.spec.js +251 -0
  350. package/esm/components/linear-progress.spec.js.map +1 -0
  351. package/esm/components/list/index.d.ts +3 -0
  352. package/esm/components/list/index.d.ts.map +1 -0
  353. package/esm/components/list/index.js +3 -0
  354. package/esm/components/list/index.js.map +1 -0
  355. package/esm/components/list/list-item.d.ts +13 -0
  356. package/esm/components/list/list-item.d.ts.map +1 -0
  357. package/esm/components/list/list-item.js +81 -0
  358. package/esm/components/list/list-item.js.map +1 -0
  359. package/esm/components/list/list.d.ts +18 -0
  360. package/esm/components/list/list.d.ts.map +1 -0
  361. package/esm/components/list/list.js +42 -0
  362. package/esm/components/list/list.js.map +1 -0
  363. package/esm/components/list/list.spec.d.ts +2 -0
  364. package/esm/components/list/list.spec.d.ts.map +1 -0
  365. package/esm/components/list/list.spec.js +540 -0
  366. package/esm/components/list/list.spec.js.map +1 -0
  367. package/esm/components/loader.d.ts +2 -0
  368. package/esm/components/loader.d.ts.map +1 -1
  369. package/esm/components/loader.js +18 -10
  370. package/esm/components/loader.js.map +1 -1
  371. package/esm/components/loader.spec.js +191 -175
  372. package/esm/components/loader.spec.js.map +1 -1
  373. package/esm/components/menu/index.d.ts +3 -0
  374. package/esm/components/menu/index.d.ts.map +1 -0
  375. package/esm/components/menu/index.js +3 -0
  376. package/esm/components/menu/index.js.map +1 -0
  377. package/esm/components/menu/menu-types.d.ts +27 -0
  378. package/esm/components/menu/menu-types.d.ts.map +1 -0
  379. package/esm/components/menu/menu-types.js +22 -0
  380. package/esm/components/menu/menu-types.js.map +1 -0
  381. package/esm/components/menu/menu-types.spec.d.ts +2 -0
  382. package/esm/components/menu/menu-types.spec.d.ts.map +1 -0
  383. package/esm/components/menu/menu-types.spec.js +103 -0
  384. package/esm/components/menu/menu-types.spec.js.map +1 -0
  385. package/esm/components/menu/menu.d.ts +17 -0
  386. package/esm/components/menu/menu.d.ts.map +1 -0
  387. package/esm/components/menu/menu.js +240 -0
  388. package/esm/components/menu/menu.js.map +1 -0
  389. package/esm/components/menu/menu.spec.d.ts +2 -0
  390. package/esm/components/menu/menu.spec.d.ts.map +1 -0
  391. package/esm/components/menu/menu.spec.js +427 -0
  392. package/esm/components/menu/menu.spec.js.map +1 -0
  393. package/esm/components/modal.d.ts +3 -2
  394. package/esm/components/modal.d.ts.map +1 -1
  395. package/esm/components/modal.js +8 -5
  396. package/esm/components/modal.js.map +1 -1
  397. package/esm/components/modal.spec.js +50 -43
  398. package/esm/components/modal.spec.js.map +1 -1
  399. package/esm/components/noty-list.d.ts +4 -0
  400. package/esm/components/noty-list.d.ts.map +1 -1
  401. package/esm/components/noty-list.js +65 -53
  402. package/esm/components/noty-list.js.map +1 -1
  403. package/esm/components/noty-list.spec.js +71 -68
  404. package/esm/components/noty-list.spec.js.map +1 -1
  405. package/esm/components/page-container/index.d.ts +54 -0
  406. package/esm/components/page-container/index.d.ts.map +1 -0
  407. package/esm/components/page-container/index.js +63 -0
  408. package/esm/components/page-container/index.js.map +1 -0
  409. package/esm/components/page-container/index.spec.d.ts +2 -0
  410. package/esm/components/page-container/index.spec.d.ts.map +1 -0
  411. package/esm/components/page-container/index.spec.js +217 -0
  412. package/esm/components/page-container/index.spec.js.map +1 -0
  413. package/esm/components/page-container/page-header.d.ts +57 -0
  414. package/esm/components/page-container/page-header.d.ts.map +1 -0
  415. package/esm/components/page-container/page-header.js +93 -0
  416. package/esm/components/page-container/page-header.js.map +1 -0
  417. package/esm/components/page-container/page-header.spec.d.ts +2 -0
  418. package/esm/components/page-container/page-header.spec.d.ts.map +1 -0
  419. package/esm/components/page-container/page-header.spec.js +230 -0
  420. package/esm/components/page-container/page-header.spec.js.map +1 -0
  421. package/esm/components/page-layout/index.d.ts +83 -0
  422. package/esm/components/page-layout/index.d.ts.map +1 -0
  423. package/esm/components/page-layout/index.js +288 -0
  424. package/esm/components/page-layout/index.js.map +1 -0
  425. package/esm/components/page-layout/index.spec.d.ts +2 -0
  426. package/esm/components/page-layout/index.spec.d.ts.map +1 -0
  427. package/esm/components/page-layout/index.spec.js +637 -0
  428. package/esm/components/page-layout/index.spec.js.map +1 -0
  429. package/esm/components/pagination.d.ts +43 -0
  430. package/esm/components/pagination.d.ts.map +1 -0
  431. package/esm/components/pagination.js +165 -0
  432. package/esm/components/pagination.js.map +1 -0
  433. package/esm/components/pagination.spec.d.ts +2 -0
  434. package/esm/components/pagination.spec.d.ts.map +1 -0
  435. package/esm/components/pagination.spec.js +195 -0
  436. package/esm/components/pagination.spec.js.map +1 -0
  437. package/esm/components/paper.d.ts +3 -1
  438. package/esm/components/paper.d.ts.map +1 -1
  439. package/esm/components/paper.js +11 -9
  440. package/esm/components/paper.js.map +1 -1
  441. package/esm/components/paper.spec.js +26 -18
  442. package/esm/components/paper.spec.js.map +1 -1
  443. package/esm/components/rating.d.ts +62 -0
  444. package/esm/components/rating.d.ts.map +1 -0
  445. package/esm/components/rating.js +201 -0
  446. package/esm/components/rating.js.map +1 -0
  447. package/esm/components/rating.spec.d.ts +2 -0
  448. package/esm/components/rating.spec.d.ts.map +1 -0
  449. package/esm/components/rating.spec.js +663 -0
  450. package/esm/components/rating.spec.js.map +1 -0
  451. package/esm/components/result.d.ts +37 -0
  452. package/esm/components/result.d.ts.map +1 -0
  453. package/esm/components/result.js +109 -0
  454. package/esm/components/result.js.map +1 -0
  455. package/esm/components/result.spec.d.ts +2 -0
  456. package/esm/components/result.spec.d.ts.map +1 -0
  457. package/esm/components/result.spec.js +159 -0
  458. package/esm/components/result.spec.js.map +1 -0
  459. package/esm/components/searchable-input-styles.d.ts +8 -0
  460. package/esm/components/searchable-input-styles.d.ts.map +1 -0
  461. package/esm/components/searchable-input-styles.js +71 -0
  462. package/esm/components/searchable-input-styles.js.map +1 -0
  463. package/esm/components/skeleton.d.ts +2 -0
  464. package/esm/components/skeleton.d.ts.map +1 -1
  465. package/esm/components/skeleton.js +19 -6
  466. package/esm/components/skeleton.js.map +1 -1
  467. package/esm/components/skeleton.spec.js +103 -95
  468. package/esm/components/skeleton.spec.js.map +1 -1
  469. package/esm/components/styles.d.ts.map +1 -1
  470. package/esm/components/styles.js +14 -13
  471. package/esm/components/styles.js.map +1 -1
  472. package/esm/components/styles.spec.js +27 -26
  473. package/esm/components/styles.spec.js.map +1 -1
  474. package/esm/components/suggest/index.d.ts.map +1 -1
  475. package/esm/components/suggest/index.js +24 -85
  476. package/esm/components/suggest/index.js.map +1 -1
  477. package/esm/components/suggest/index.spec.js +402 -378
  478. package/esm/components/suggest/index.spec.js.map +1 -1
  479. package/esm/components/suggest/suggest-input.d.ts +2 -0
  480. package/esm/components/suggest/suggest-input.d.ts.map +1 -1
  481. package/esm/components/suggest/suggest-input.js +10 -8
  482. package/esm/components/suggest/suggest-input.js.map +1 -1
  483. package/esm/components/suggest/suggest-input.spec.js +83 -71
  484. package/esm/components/suggest/suggest-input.spec.js.map +1 -1
  485. package/esm/components/suggest/suggest-manager.spec.js +102 -92
  486. package/esm/components/suggest/suggest-manager.spec.js.map +1 -1
  487. package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
  488. package/esm/components/suggest/suggestion-list.js +21 -22
  489. package/esm/components/suggest/suggestion-list.js.map +1 -1
  490. package/esm/components/suggest/suggestion-list.spec.js +165 -146
  491. package/esm/components/suggest/suggestion-list.spec.js.map +1 -1
  492. package/esm/components/tabs.d.ts +18 -2
  493. package/esm/components/tabs.d.ts.map +1 -1
  494. package/esm/components/tabs.js +154 -14
  495. package/esm/components/tabs.js.map +1 -1
  496. package/esm/components/tabs.spec.js +295 -7
  497. package/esm/components/tabs.spec.js.map +1 -1
  498. package/esm/components/timeline.d.ts +53 -0
  499. package/esm/components/timeline.d.ts.map +1 -0
  500. package/esm/components/timeline.js +162 -0
  501. package/esm/components/timeline.js.map +1 -0
  502. package/esm/components/timeline.spec.d.ts +2 -0
  503. package/esm/components/timeline.spec.d.ts.map +1 -0
  504. package/esm/components/timeline.spec.js +209 -0
  505. package/esm/components/timeline.spec.js.map +1 -0
  506. package/esm/components/tooltip.d.ts +25 -0
  507. package/esm/components/tooltip.d.ts.map +1 -0
  508. package/esm/components/tooltip.js +113 -0
  509. package/esm/components/tooltip.js.map +1 -0
  510. package/esm/components/tooltip.spec.d.ts +2 -0
  511. package/esm/components/tooltip.spec.d.ts.map +1 -0
  512. package/esm/components/tooltip.spec.js +152 -0
  513. package/esm/components/tooltip.spec.js.map +1 -0
  514. package/esm/components/tree/index.d.ts +3 -0
  515. package/esm/components/tree/index.d.ts.map +1 -0
  516. package/esm/components/tree/index.js +3 -0
  517. package/esm/components/tree/index.js.map +1 -0
  518. package/esm/components/tree/tree-item.d.ts +14 -0
  519. package/esm/components/tree/tree-item.d.ts.map +1 -0
  520. package/esm/components/tree/tree-item.js +118 -0
  521. package/esm/components/tree/tree-item.js.map +1 -0
  522. package/esm/components/tree/tree.d.ts +20 -0
  523. package/esm/components/tree/tree.d.ts.map +1 -0
  524. package/esm/components/tree/tree.js +66 -0
  525. package/esm/components/tree/tree.js.map +1 -0
  526. package/esm/components/tree/tree.spec.d.ts +2 -0
  527. package/esm/components/tree/tree.spec.d.ts.map +1 -0
  528. package/esm/components/tree/tree.spec.js +427 -0
  529. package/esm/components/tree/tree.spec.js.map +1 -0
  530. package/esm/components/typography.d.ts +48 -0
  531. package/esm/components/typography.d.ts.map +1 -0
  532. package/esm/components/typography.js +223 -0
  533. package/esm/components/typography.js.map +1 -0
  534. package/esm/components/typography.spec.d.ts +2 -0
  535. package/esm/components/typography.spec.d.ts.map +1 -0
  536. package/esm/components/typography.spec.js +199 -0
  537. package/esm/components/typography.spec.js.map +1 -0
  538. package/esm/components/wizard/index.d.ts +2 -0
  539. package/esm/components/wizard/index.d.ts.map +1 -1
  540. package/esm/components/wizard/index.spec.js +70 -56
  541. package/esm/components/wizard/index.spec.js.map +1 -1
  542. package/esm/services/click-away-service.d.ts +5 -2
  543. package/esm/services/click-away-service.d.ts.map +1 -1
  544. package/esm/services/click-away-service.js +7 -1
  545. package/esm/services/click-away-service.js.map +1 -1
  546. package/esm/services/css-variable-theme.d.ts +167 -1
  547. package/esm/services/css-variable-theme.d.ts.map +1 -1
  548. package/esm/services/css-variable-theme.js +102 -0
  549. package/esm/services/css-variable-theme.js.map +1 -1
  550. package/esm/services/css-variable-theme.spec.js +131 -1
  551. package/esm/services/css-variable-theme.spec.js.map +1 -1
  552. package/esm/services/default-dark-theme.d.ts +107 -2
  553. package/esm/services/default-dark-theme.d.ts.map +1 -1
  554. package/esm/services/default-dark-theme.js +87 -1
  555. package/esm/services/default-dark-theme.js.map +1 -1
  556. package/esm/services/default-light-theme.d.ts +107 -2
  557. package/esm/services/default-light-theme.d.ts.map +1 -1
  558. package/esm/services/default-light-theme.js +86 -0
  559. package/esm/services/default-light-theme.js.map +1 -1
  560. package/esm/services/index.d.ts +6 -2
  561. package/esm/services/index.d.ts.map +1 -1
  562. package/esm/services/index.js +6 -2
  563. package/esm/services/index.js.map +1 -1
  564. package/esm/services/layout-service.d.ts +217 -0
  565. package/esm/services/layout-service.d.ts.map +1 -0
  566. package/esm/services/layout-service.js +331 -0
  567. package/esm/services/layout-service.js.map +1 -0
  568. package/esm/services/layout-service.spec.d.ts +2 -0
  569. package/esm/services/layout-service.spec.d.ts.map +1 -0
  570. package/esm/services/layout-service.spec.js +425 -0
  571. package/esm/services/layout-service.spec.js.map +1 -0
  572. package/esm/services/list-service.d.ts +31 -0
  573. package/esm/services/list-service.d.ts.map +1 -0
  574. package/esm/services/list-service.js +149 -0
  575. package/esm/services/list-service.js.map +1 -0
  576. package/esm/services/list-service.spec.d.ts +2 -0
  577. package/esm/services/list-service.spec.d.ts.map +1 -0
  578. package/esm/services/list-service.spec.js +254 -0
  579. package/esm/services/list-service.spec.js.map +1 -0
  580. package/esm/services/palette-css-vars.d.ts +12 -0
  581. package/esm/services/palette-css-vars.d.ts.map +1 -0
  582. package/esm/services/palette-css-vars.js +44 -0
  583. package/esm/services/palette-css-vars.js.map +1 -0
  584. package/esm/services/theme-provider-service.d.ts +387 -2
  585. package/esm/services/theme-provider-service.d.ts.map +1 -1
  586. package/esm/services/theme-provider-service.js.map +1 -1
  587. package/esm/services/tree-service.d.ts +61 -0
  588. package/esm/services/tree-service.d.ts.map +1 -0
  589. package/esm/services/tree-service.js +149 -0
  590. package/esm/services/tree-service.js.map +1 -0
  591. package/esm/services/tree-service.spec.d.ts +2 -0
  592. package/esm/services/tree-service.spec.d.ts.map +1 -0
  593. package/esm/services/tree-service.spec.js +307 -0
  594. package/esm/services/tree-service.spec.js.map +1 -0
  595. package/esm/utils/promisify-animation.d.ts.map +1 -1
  596. package/esm/utils/promisify-animation.js +6 -1
  597. package/esm/utils/promisify-animation.js.map +1 -1
  598. package/package.json +4 -4
  599. package/src/components/accordion/accordion-item.tsx +197 -0
  600. package/src/components/accordion/accordion.spec.tsx +418 -0
  601. package/src/components/accordion/accordion.tsx +50 -0
  602. package/src/components/accordion/index.ts +2 -0
  603. package/src/components/alert.spec.tsx +256 -0
  604. package/src/components/alert.tsx +186 -0
  605. package/src/components/app-bar-link.spec.tsx +22 -19
  606. package/src/components/app-bar-link.tsx +29 -10
  607. package/src/components/app-bar.spec.tsx +73 -58
  608. package/src/components/app-bar.tsx +19 -12
  609. package/src/components/avatar.tsx +46 -47
  610. package/src/components/badge.spec.tsx +228 -0
  611. package/src/components/badge.tsx +104 -0
  612. package/src/components/breadcrumb.spec.tsx +396 -0
  613. package/src/components/breadcrumb.tsx +188 -0
  614. package/src/components/button-group.spec.tsx +611 -0
  615. package/src/components/button-group.tsx +423 -0
  616. package/src/components/button.spec.tsx +257 -67
  617. package/src/components/button.tsx +130 -80
  618. package/src/components/card.spec.tsx +389 -0
  619. package/src/components/card.tsx +261 -0
  620. package/src/components/carousel.spec.tsx +894 -0
  621. package/src/components/carousel.tsx +376 -0
  622. package/src/components/chip.spec.tsx +200 -0
  623. package/src/components/chip.tsx +188 -0
  624. package/src/components/circular-progress.spec.tsx +289 -0
  625. package/src/components/circular-progress.tsx +145 -0
  626. package/src/components/command-palette/command-palette-input.spec.tsx +209 -198
  627. package/src/components/command-palette/command-palette-input.tsx +25 -9
  628. package/src/components/command-palette/command-palette-manager.spec.ts +132 -117
  629. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +348 -330
  630. package/src/components/command-palette/command-palette-suggestion-list.tsx +22 -20
  631. package/src/components/command-palette/index.spec.tsx +12 -12
  632. package/src/components/command-palette/index.tsx +25 -102
  633. package/src/components/context-menu/context-menu-item.tsx +85 -0
  634. package/src/components/context-menu/context-menu-manager.spec.ts +478 -0
  635. package/src/components/context-menu/context-menu-manager.ts +148 -0
  636. package/src/components/context-menu/context-menu.spec.tsx +352 -0
  637. package/src/components/context-menu/context-menu.tsx +116 -0
  638. package/src/components/context-menu/index.ts +3 -0
  639. package/src/components/data-grid/body.spec.tsx +292 -278
  640. package/src/components/data-grid/data-grid-row.spec.tsx +165 -140
  641. package/src/components/data-grid/data-grid-row.tsx +72 -55
  642. package/src/components/data-grid/data-grid.spec.tsx +743 -718
  643. package/src/components/data-grid/data-grid.tsx +19 -15
  644. package/src/components/data-grid/footer.spec.tsx +249 -237
  645. package/src/components/data-grid/header.spec.tsx +374 -351
  646. package/src/components/data-grid/header.tsx +58 -39
  647. package/src/components/data-grid/selection-cell.spec.tsx +46 -45
  648. package/src/components/data-grid/selection-cell.tsx +2 -6
  649. package/src/components/dialog.spec.tsx +135 -0
  650. package/src/components/dialog.tsx +277 -0
  651. package/src/components/divider.spec.tsx +197 -0
  652. package/src/components/divider.tsx +147 -0
  653. package/src/components/drawer/drawer-toggle-button.spec.tsx +374 -0
  654. package/src/components/drawer/drawer-toggle-button.tsx +124 -0
  655. package/src/components/drawer/index.spec.tsx +748 -0
  656. package/src/components/drawer/index.tsx +227 -0
  657. package/src/components/dropdown.spec.tsx +445 -0
  658. package/src/components/dropdown.tsx +343 -0
  659. package/src/components/fab.spec.tsx +51 -40
  660. package/src/components/fab.tsx +32 -9
  661. package/src/components/form.spec.tsx +303 -293
  662. package/src/components/form.tsx +10 -7
  663. package/src/components/grid.spec.tsx +276 -183
  664. package/src/components/grid.tsx +10 -10
  665. package/src/components/icons/icon-definitions.spec.ts +68 -0
  666. package/src/components/icons/icon-definitions.ts +509 -0
  667. package/src/components/icons/icon-types.ts +48 -0
  668. package/src/components/icons/icon.spec.tsx +314 -0
  669. package/src/components/icons/icon.tsx +111 -0
  670. package/src/components/icons/index.ts +4 -0
  671. package/src/components/image.spec.tsx +748 -0
  672. package/src/components/image.tsx +520 -0
  673. package/src/components/index.ts +32 -4
  674. package/src/components/inputs/autocomplete.spec.tsx +10 -1
  675. package/src/components/inputs/autocomplete.tsx +13 -7
  676. package/src/components/inputs/checkbox.spec.tsx +377 -0
  677. package/src/components/inputs/checkbox.tsx +198 -0
  678. package/src/components/inputs/index.ts +7 -0
  679. package/src/components/inputs/input-number.spec.tsx +686 -0
  680. package/src/components/inputs/input-number.tsx +387 -0
  681. package/src/components/inputs/input.spec.tsx +544 -508
  682. package/src/components/inputs/input.tsx +91 -132
  683. package/src/components/inputs/radio-group.spec.tsx +281 -0
  684. package/src/components/inputs/radio-group.tsx +108 -0
  685. package/src/components/inputs/radio.spec.tsx +273 -0
  686. package/src/components/inputs/radio.tsx +199 -0
  687. package/src/components/inputs/select.spec.tsx +1237 -0
  688. package/src/components/inputs/select.tsx +775 -0
  689. package/src/components/inputs/slider.spec.tsx +1020 -0
  690. package/src/components/inputs/slider.tsx +696 -0
  691. package/src/components/inputs/switch.spec.tsx +410 -0
  692. package/src/components/inputs/switch.tsx +218 -0
  693. package/src/components/inputs/text-area.spec.tsx +186 -171
  694. package/src/components/inputs/text-area.tsx +13 -19
  695. package/src/components/linear-progress.spec.tsx +320 -0
  696. package/src/components/linear-progress.tsx +127 -0
  697. package/src/components/list/index.ts +2 -0
  698. package/src/components/list/list-item.tsx +106 -0
  699. package/src/components/list/list.spec.tsx +817 -0
  700. package/src/components/list/list.tsx +92 -0
  701. package/src/components/loader.spec.tsx +220 -204
  702. package/src/components/loader.tsx +17 -9
  703. package/src/components/menu/index.ts +2 -0
  704. package/src/components/menu/menu-types.spec.ts +122 -0
  705. package/src/components/menu/menu-types.ts +43 -0
  706. package/src/components/menu/menu.spec.tsx +483 -0
  707. package/src/components/menu/menu.tsx +326 -0
  708. package/src/components/modal.spec.tsx +65 -55
  709. package/src/components/modal.tsx +9 -6
  710. package/src/components/noty-list.spec.tsx +78 -75
  711. package/src/components/noty-list.tsx +76 -68
  712. package/src/components/page-container/index.spec.tsx +274 -0
  713. package/src/components/page-container/index.tsx +82 -0
  714. package/src/components/page-container/page-header.spec.tsx +308 -0
  715. package/src/components/page-container/page-header.tsx +127 -0
  716. package/src/components/page-layout/index.spec.tsx +882 -0
  717. package/src/components/page-layout/index.tsx +392 -0
  718. package/src/components/pagination.spec.tsx +275 -0
  719. package/src/components/pagination.tsx +249 -0
  720. package/src/components/paper.spec.tsx +26 -18
  721. package/src/components/paper.tsx +12 -10
  722. package/src/components/rating.spec.tsx +866 -0
  723. package/src/components/rating.tsx +286 -0
  724. package/src/components/result.spec.tsx +221 -0
  725. package/src/components/result.tsx +155 -0
  726. package/src/components/searchable-input-styles.ts +81 -0
  727. package/src/components/skeleton.spec.tsx +126 -118
  728. package/src/components/skeleton.tsx +23 -6
  729. package/src/components/styles.spec.ts +27 -28
  730. package/src/components/styles.tsx +15 -13
  731. package/src/components/suggest/index.spec.tsx +611 -587
  732. package/src/components/suggest/index.tsx +28 -95
  733. package/src/components/suggest/suggest-input.spec.tsx +95 -81
  734. package/src/components/suggest/suggest-input.tsx +9 -7
  735. package/src/components/suggest/suggest-manager.spec.ts +103 -93
  736. package/src/components/suggest/suggestion-list.spec.tsx +194 -173
  737. package/src/components/suggest/suggestion-list.tsx +23 -22
  738. package/src/components/tabs.spec.tsx +369 -7
  739. package/src/components/tabs.tsx +221 -18
  740. package/src/components/timeline.spec.tsx +294 -0
  741. package/src/components/timeline.tsx +221 -0
  742. package/src/components/tooltip.spec.tsx +223 -0
  743. package/src/components/tooltip.tsx +155 -0
  744. package/src/components/tree/index.ts +2 -0
  745. package/src/components/tree/tree-item.tsx +161 -0
  746. package/src/components/tree/tree.spec.tsx +677 -0
  747. package/src/components/tree/tree.tsx +111 -0
  748. package/src/components/typography.spec.tsx +235 -0
  749. package/src/components/typography.tsx +292 -0
  750. package/src/components/wizard/index.spec.tsx +77 -68
  751. package/src/services/click-away-service.ts +9 -3
  752. package/src/services/css-variable-theme.spec.ts +169 -1
  753. package/src/services/css-variable-theme.ts +107 -2
  754. package/src/services/default-dark-theme.ts +89 -3
  755. package/src/services/default-light-theme.ts +88 -2
  756. package/src/services/index.ts +6 -2
  757. package/src/services/layout-service.spec.ts +535 -0
  758. package/src/services/layout-service.ts +391 -0
  759. package/src/services/list-service.spec.ts +364 -0
  760. package/src/services/list-service.ts +169 -0
  761. package/src/services/palette-css-vars.ts +46 -0
  762. package/src/services/theme-provider-service.ts +246 -1
  763. package/src/services/tree-service.spec.ts +428 -0
  764. package/src/services/tree-service.ts +179 -0
  765. package/src/utils/promisify-animation.ts +7 -1
@@ -1,9 +1,9 @@
1
1
  import { Injector } from '@furystack/inject'
2
2
  import { createComponent, initializeShadeRoot } from '@furystack/shades'
3
- import { sleepAsync } from '@furystack/utils'
3
+ import { sleepAsync, usingAsync } from '@furystack/utils'
4
4
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
5
- import { CommandPaletteSuggestionList } from './command-palette-suggestion-list.js'
6
5
  import { CommandPaletteManager } from './command-palette-manager.js'
6
+ import { CommandPaletteSuggestionList } from './command-palette-suggestion-list.js'
7
7
  import type { CommandPaletteSuggestionResult } from './command-provider.js'
8
8
 
9
9
  describe('CommandPaletteSuggestionList', () => {
@@ -55,445 +55,463 @@ describe('CommandPaletteSuggestionList', () => {
55
55
  })
56
56
 
57
57
  it('should render with shadow DOM', async () => {
58
- const injector = new Injector()
59
- const manager = createManager()
60
- const rootElement = document.getElementById('root') as HTMLDivElement
61
-
62
- initializeShadeRoot({
63
- injector,
64
- rootElement,
65
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
66
- })
58
+ await usingAsync(new Injector(), async (injector) => {
59
+ const manager = createManager()
60
+ const rootElement = document.getElementById('root') as HTMLDivElement
61
+
62
+ initializeShadeRoot({
63
+ injector,
64
+ rootElement,
65
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
66
+ })
67
67
 
68
- await sleepAsync(50)
68
+ await sleepAsync(50)
69
69
 
70
- const component = document.querySelector('shade-command-palette-suggestion-list')
71
- expect(component).not.toBeNull()
70
+ const component = document.querySelector('shade-command-palette-suggestion-list')
71
+ expect(component).not.toBeNull()
72
72
 
73
- manager[Symbol.dispose]()
73
+ manager[Symbol.dispose]()
74
+ })
74
75
  })
75
76
 
76
77
  it('should render suggestion items container', async () => {
77
- const injector = new Injector()
78
- const manager = createManager()
79
- const rootElement = document.getElementById('root') as HTMLDivElement
80
-
81
- initializeShadeRoot({
82
- injector,
83
- rootElement,
84
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
85
- })
78
+ await usingAsync(new Injector(), async (injector) => {
79
+ const manager = createManager()
80
+ const rootElement = document.getElementById('root') as HTMLDivElement
86
81
 
87
- await sleepAsync(50)
82
+ initializeShadeRoot({
83
+ injector,
84
+ rootElement,
85
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
86
+ })
88
87
 
89
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
90
- const container = component?.querySelector('.suggestion-items-container')
91
- expect(container).not.toBeNull()
88
+ await sleepAsync(50)
92
89
 
93
- manager[Symbol.dispose]()
90
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
91
+ const container = component?.querySelector('.suggestion-items-container')
92
+ expect(container).not.toBeNull()
93
+
94
+ manager[Symbol.dispose]()
95
+ })
94
96
  })
95
97
 
96
98
  it('should render suggestions from manager', async () => {
97
- const injector = new Injector()
98
- const manager = createManager()
99
- manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
100
- const rootElement = document.getElementById('root') as HTMLDivElement
101
-
102
- initializeShadeRoot({
103
- injector,
104
- rootElement,
105
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
106
- })
99
+ await usingAsync(new Injector(), async (injector) => {
100
+ const manager = createManager()
101
+ manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
102
+ const rootElement = document.getElementById('root') as HTMLDivElement
103
+
104
+ initializeShadeRoot({
105
+ injector,
106
+ rootElement,
107
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
108
+ })
107
109
 
108
- await sleepAsync(50)
110
+ await sleepAsync(50)
109
111
 
110
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
111
- const items = component?.querySelectorAll('.suggestion-item')
112
- expect(items?.length).toBe(2)
112
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
113
+ const items = component?.querySelectorAll('.suggestion-item')
114
+ expect(items?.length).toBe(2)
113
115
 
114
- manager[Symbol.dispose]()
116
+ manager[Symbol.dispose]()
117
+ })
115
118
  })
116
119
 
117
120
  it('should render suggestion content', async () => {
118
- const injector = new Injector()
119
- const manager = createManager()
120
- manager.currentSuggestions.setValue([createSuggestion('Test Command', 100)])
121
- const rootElement = document.getElementById('root') as HTMLDivElement
122
-
123
- initializeShadeRoot({
124
- injector,
125
- rootElement,
126
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
127
- })
121
+ await usingAsync(new Injector(), async (injector) => {
122
+ const manager = createManager()
123
+ manager.currentSuggestions.setValue([createSuggestion('Test Command', 100)])
124
+ const rootElement = document.getElementById('root') as HTMLDivElement
128
125
 
129
- await sleepAsync(50)
126
+ initializeShadeRoot({
127
+ injector,
128
+ rootElement,
129
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
130
+ })
130
131
 
131
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
132
- const item = component?.querySelector('.suggestion-item')
133
- expect(item?.textContent).toContain('Test Command')
132
+ await sleepAsync(50)
134
133
 
135
- manager[Symbol.dispose]()
134
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
135
+ const item = component?.querySelector('.suggestion-item')
136
+ expect(item?.textContent).toContain('Test Command')
137
+
138
+ manager[Symbol.dispose]()
139
+ })
136
140
  })
137
141
 
138
142
  it('should mark first item as selected by default', async () => {
139
- const injector = new Injector()
140
- const manager = createManager()
141
- manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
142
- manager.selectedIndex.setValue(0)
143
- const rootElement = document.getElementById('root') as HTMLDivElement
144
-
145
- initializeShadeRoot({
146
- injector,
147
- rootElement,
148
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
143
+ await usingAsync(new Injector(), async (injector) => {
144
+ const manager = createManager()
145
+ manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
146
+ manager.selectedIndex.setValue(0)
147
+ const rootElement = document.getElementById('root') as HTMLDivElement
148
+
149
+ initializeShadeRoot({
150
+ injector,
151
+ rootElement,
152
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
153
+ })
154
+
155
+ await sleepAsync(50)
156
+
157
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
158
+ const items = component?.querySelectorAll('.suggestion-item')
159
+ expect(items?.[0]?.classList.contains('selected')).toBe(true)
160
+ expect(items?.[1]?.classList.contains('selected')).toBe(false)
161
+
162
+ manager[Symbol.dispose]()
149
163
  })
150
-
151
- await sleepAsync(50)
152
-
153
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
154
- const items = component?.querySelectorAll('.suggestion-item')
155
- expect(items?.[0]?.classList.contains('selected')).toBe(true)
156
- expect(items?.[1]?.classList.contains('selected')).toBe(false)
157
-
158
- manager[Symbol.dispose]()
159
164
  })
160
165
 
161
166
  it('should update selected class when selectedIndex changes', async () => {
162
- const injector = new Injector()
163
- const manager = createManager()
164
- manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
165
- manager.selectedIndex.setValue(0)
166
- const rootElement = document.getElementById('root') as HTMLDivElement
167
-
168
- initializeShadeRoot({
169
- injector,
170
- rootElement,
171
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
172
- })
167
+ await usingAsync(new Injector(), async (injector) => {
168
+ const manager = createManager()
169
+ manager.currentSuggestions.setValue([createSuggestion('Command 1', 100), createSuggestion('Command 2', 90)])
170
+ manager.selectedIndex.setValue(0)
171
+ const rootElement = document.getElementById('root') as HTMLDivElement
173
172
 
174
- await sleepAsync(50)
173
+ initializeShadeRoot({
174
+ injector,
175
+ rootElement,
176
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
177
+ })
175
178
 
176
- manager.selectedIndex.setValue(1)
177
- await sleepAsync(50)
179
+ await sleepAsync(50)
178
180
 
179
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
180
- const items = component?.querySelectorAll('.suggestion-item')
181
- expect(items?.[0]?.classList.contains('selected')).toBe(false)
182
- expect(items?.[1]?.classList.contains('selected')).toBe(true)
181
+ manager.selectedIndex.setValue(1)
182
+ await sleepAsync(50)
183
183
 
184
- manager[Symbol.dispose]()
184
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
185
+ const items = component?.querySelectorAll('.suggestion-item')
186
+ expect(items?.[0]?.classList.contains('selected')).toBe(false)
187
+ expect(items?.[1]?.classList.contains('selected')).toBe(true)
188
+
189
+ manager[Symbol.dispose]()
190
+ })
185
191
  })
186
192
 
187
193
  it('should call selectSuggestion when item is clicked while opened', async () => {
188
- const injector = new Injector()
189
- const manager = createManager()
190
- const suggestion = createSuggestion('Click Me', 100)
191
- manager.currentSuggestions.setValue([suggestion])
192
- manager.isOpened.setValue(true)
193
- const rootElement = document.getElementById('root') as HTMLDivElement
194
-
195
- initializeShadeRoot({
196
- injector,
197
- rootElement,
198
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
199
- })
194
+ await usingAsync(new Injector(), async (injector) => {
195
+ const manager = createManager()
196
+ const suggestion = createSuggestion('Click Me', 100)
197
+ manager.currentSuggestions.setValue([suggestion])
198
+ manager.isOpened.setValue(true)
199
+ const rootElement = document.getElementById('root') as HTMLDivElement
200
+
201
+ initializeShadeRoot({
202
+ injector,
203
+ rootElement,
204
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
205
+ })
200
206
 
201
- await sleepAsync(50)
207
+ await sleepAsync(50)
202
208
 
203
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
209
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
204
210
 
205
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
206
- const item = component?.querySelector('.suggestion-item') as HTMLElement
207
- item?.click()
211
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
212
+ const item = component?.querySelector('.suggestion-item') as HTMLElement
213
+ item?.click()
208
214
 
209
- expect(selectSpy).toHaveBeenCalledWith(injector, 0)
215
+ expect(selectSpy).toHaveBeenCalledWith(injector, 0)
210
216
 
211
- manager[Symbol.dispose]()
217
+ manager[Symbol.dispose]()
218
+ })
212
219
  })
213
220
 
214
221
  it('should not call selectSuggestion when item is clicked while closed', async () => {
215
- const injector = new Injector()
216
- const manager = createManager()
217
- const suggestion = createSuggestion('Click Me', 100)
218
- manager.currentSuggestions.setValue([suggestion])
219
- manager.isOpened.setValue(false)
220
- const rootElement = document.getElementById('root') as HTMLDivElement
221
-
222
- initializeShadeRoot({
223
- injector,
224
- rootElement,
225
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
226
- })
222
+ await usingAsync(new Injector(), async (injector) => {
223
+ const manager = createManager()
224
+ const suggestion = createSuggestion('Click Me', 100)
225
+ manager.currentSuggestions.setValue([suggestion])
226
+ manager.isOpened.setValue(false)
227
+ const rootElement = document.getElementById('root') as HTMLDivElement
227
228
 
228
- await sleepAsync(50)
229
+ initializeShadeRoot({
230
+ injector,
231
+ rootElement,
232
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
233
+ })
229
234
 
230
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
235
+ await sleepAsync(50)
231
236
 
232
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
233
- const item = component?.querySelector('.suggestion-item') as HTMLElement
234
- item?.click()
237
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
235
238
 
236
- expect(selectSpy).not.toHaveBeenCalled()
239
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
240
+ const item = component?.querySelector('.suggestion-item') as HTMLElement
241
+ item?.click()
237
242
 
238
- manager[Symbol.dispose]()
243
+ expect(selectSpy).not.toHaveBeenCalled()
244
+
245
+ manager[Symbol.dispose]()
246
+ })
239
247
  })
240
248
 
241
249
  it('should animate slide-in when opening', async () => {
242
- const injector = new Injector()
243
- const manager = createManager()
244
- manager.isOpened.setValue(false)
245
- const rootElement = document.getElementById('root') as HTMLDivElement
246
-
247
- initializeShadeRoot({
248
- injector,
249
- rootElement,
250
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
250
+ await usingAsync(new Injector(), async (injector) => {
251
+ const manager = createManager()
252
+ manager.isOpened.setValue(false)
253
+ const rootElement = document.getElementById('root') as HTMLDivElement
254
+
255
+ initializeShadeRoot({
256
+ injector,
257
+ rootElement,
258
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
259
+ })
260
+
261
+ await sleepAsync(50)
262
+ animateCalls = []
263
+
264
+ manager.isOpened.setValue(true)
265
+ await sleepAsync(50)
266
+
267
+ const slideAnimation = animateCalls.find(
268
+ (call) =>
269
+ Array.isArray(call.keyframes) &&
270
+ call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, -50px)') &&
271
+ call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, 0)'),
272
+ )
273
+
274
+ expect(slideAnimation).toBeDefined()
275
+ expect((slideAnimation?.options as KeyframeAnimationOptions)?.duration).toBe(500)
276
+ expect((slideAnimation?.options as KeyframeAnimationOptions)?.fill).toBe('forwards')
277
+
278
+ manager[Symbol.dispose]()
251
279
  })
252
-
253
- await sleepAsync(50)
254
- animateCalls = []
255
-
256
- manager.isOpened.setValue(true)
257
- await sleepAsync(50)
258
-
259
- const slideAnimation = animateCalls.find(
260
- (call) =>
261
- Array.isArray(call.keyframes) &&
262
- call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, -50px)') &&
263
- call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, 0)'),
264
- )
265
-
266
- expect(slideAnimation).toBeDefined()
267
- expect((slideAnimation?.options as KeyframeAnimationOptions)?.duration).toBe(500)
268
- expect((slideAnimation?.options as KeyframeAnimationOptions)?.fill).toBe('forwards')
269
-
270
- manager[Symbol.dispose]()
271
280
  })
272
281
 
273
282
  it('should animate slide-out when closing', async () => {
274
- const injector = new Injector()
275
- const manager = createManager()
276
- manager.isOpened.setValue(true)
277
- const rootElement = document.getElementById('root') as HTMLDivElement
278
-
279
- initializeShadeRoot({
280
- injector,
281
- rootElement,
282
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
283
+ await usingAsync(new Injector(), async (injector) => {
284
+ const manager = createManager()
285
+ manager.isOpened.setValue(true)
286
+ const rootElement = document.getElementById('root') as HTMLDivElement
287
+
288
+ initializeShadeRoot({
289
+ injector,
290
+ rootElement,
291
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
292
+ })
293
+
294
+ await sleepAsync(50)
295
+ animateCalls = []
296
+
297
+ manager.isOpened.setValue(false)
298
+ await sleepAsync(50)
299
+
300
+ const slideAnimation = animateCalls.find(
301
+ (call) =>
302
+ Array.isArray(call.keyframes) &&
303
+ call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, 0)') &&
304
+ call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, -50px)'),
305
+ )
306
+
307
+ expect(slideAnimation).toBeDefined()
308
+ expect((slideAnimation?.options as KeyframeAnimationOptions)?.duration).toBe(200)
309
+
310
+ manager[Symbol.dispose]()
283
311
  })
284
-
285
- await sleepAsync(50)
286
- animateCalls = []
287
-
288
- manager.isOpened.setValue(false)
289
- await sleepAsync(50)
290
-
291
- const slideAnimation = animateCalls.find(
292
- (call) =>
293
- Array.isArray(call.keyframes) &&
294
- call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, 0)') &&
295
- call.keyframes.some((kf: Keyframe) => kf.transform === 'translate(0, -50px)'),
296
- )
297
-
298
- expect(slideAnimation).toBeDefined()
299
- expect((slideAnimation?.options as KeyframeAnimationOptions)?.duration).toBe(200)
300
-
301
- manager[Symbol.dispose]()
302
312
  })
303
313
 
304
314
  it('should set container display to initial when opening', async () => {
305
- const injector = new Injector()
306
- const manager = createManager()
307
- manager.isOpened.setValue(false)
308
- const rootElement = document.getElementById('root') as HTMLDivElement
309
-
310
- initializeShadeRoot({
311
- injector,
312
- rootElement,
313
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
314
- })
315
+ await usingAsync(new Injector(), async (injector) => {
316
+ const manager = createManager()
317
+ manager.isOpened.setValue(false)
318
+ const rootElement = document.getElementById('root') as HTMLDivElement
315
319
 
316
- await sleepAsync(50)
320
+ initializeShadeRoot({
321
+ injector,
322
+ rootElement,
323
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
324
+ })
317
325
 
318
- manager.isOpened.setValue(true)
319
- await sleepAsync(50)
326
+ await sleepAsync(50)
320
327
 
321
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
322
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
323
- expect(container?.style.display).toBe('initial')
328
+ manager.isOpened.setValue(true)
329
+ await sleepAsync(50)
324
330
 
325
- manager[Symbol.dispose]()
331
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
332
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
333
+ expect(container?.style.display).toBe('initial')
334
+
335
+ manager[Symbol.dispose]()
336
+ })
326
337
  })
327
338
 
328
339
  it('should set container display to none when closing', async () => {
329
- const injector = new Injector()
330
- const manager = createManager()
331
- manager.isOpened.setValue(true)
332
- const rootElement = document.getElementById('root') as HTMLDivElement
333
-
334
- initializeShadeRoot({
335
- injector,
336
- rootElement,
337
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
338
- })
340
+ await usingAsync(new Injector(), async (injector) => {
341
+ const manager = createManager()
342
+ manager.isOpened.setValue(true)
343
+ const rootElement = document.getElementById('root') as HTMLDivElement
344
+
345
+ initializeShadeRoot({
346
+ injector,
347
+ rootElement,
348
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
349
+ })
339
350
 
340
- await sleepAsync(50)
351
+ await sleepAsync(50)
341
352
 
342
- manager.isOpened.setValue(false)
343
- await sleepAsync(50)
353
+ manager.isOpened.setValue(false)
354
+ await sleepAsync(50)
344
355
 
345
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
346
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
347
- expect(container?.style.display).toBe('none')
356
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
357
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
358
+ expect(container?.style.display).toBe('none')
348
359
 
349
- manager[Symbol.dispose]()
360
+ manager[Symbol.dispose]()
361
+ })
350
362
  })
351
363
 
352
364
  it('should render empty list when no suggestions', async () => {
353
- const injector = new Injector()
354
- const manager = createManager()
355
- manager.currentSuggestions.setValue([])
356
- const rootElement = document.getElementById('root') as HTMLDivElement
357
-
358
- initializeShadeRoot({
359
- injector,
360
- rootElement,
361
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
362
- })
365
+ await usingAsync(new Injector(), async (injector) => {
366
+ const manager = createManager()
367
+ manager.currentSuggestions.setValue([])
368
+ const rootElement = document.getElementById('root') as HTMLDivElement
363
369
 
364
- await sleepAsync(50)
370
+ initializeShadeRoot({
371
+ injector,
372
+ rootElement,
373
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
374
+ })
365
375
 
366
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
367
- const items = component?.querySelectorAll('.suggestion-item')
368
- expect(items?.length).toBe(0)
376
+ await sleepAsync(50)
369
377
 
370
- manager[Symbol.dispose]()
378
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
379
+ const items = component?.querySelectorAll('.suggestion-item')
380
+ expect(items?.length).toBe(0)
381
+
382
+ manager[Symbol.dispose]()
383
+ })
371
384
  })
372
385
 
373
386
  it('should support fullScreenSuggestions prop', async () => {
374
- const injector = new Injector()
375
- const manager = createManager()
376
- manager.isOpened.setValue(true)
377
- const rootElement = document.getElementById('root') as HTMLDivElement
378
-
379
- initializeShadeRoot({
380
- injector,
381
- rootElement,
382
- jsxElement: <CommandPaletteSuggestionList manager={manager} fullScreenSuggestions />,
383
- })
387
+ await usingAsync(new Injector(), async (injector) => {
388
+ const manager = createManager()
389
+ manager.isOpened.setValue(true)
390
+ const rootElement = document.getElementById('root') as HTMLDivElement
391
+
392
+ initializeShadeRoot({
393
+ injector,
394
+ rootElement,
395
+ jsxElement: <CommandPaletteSuggestionList manager={manager} fullScreenSuggestions />,
396
+ })
384
397
 
385
- await sleepAsync(50)
398
+ await sleepAsync(50)
386
399
 
387
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
388
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
389
- expect(container?.style.left).toBe('0px')
390
- expect(container?.style.width).toBe('calc(100% - 42px)')
400
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
401
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
402
+ expect(container?.style.left).toBe('0px')
403
+ expect(container?.style.width).toBe('calc(100% - 42px)')
391
404
 
392
- manager[Symbol.dispose]()
405
+ manager[Symbol.dispose]()
406
+ })
393
407
  })
394
408
 
395
409
  it('should set max height based on window height', async () => {
396
- const injector = new Injector()
397
- const manager = createManager()
398
- manager.isOpened.setValue(true)
399
- const rootElement = document.getElementById('root') as HTMLDivElement
400
-
401
- initializeShadeRoot({
402
- injector,
403
- rootElement,
404
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
405
- })
410
+ await usingAsync(new Injector(), async (injector) => {
411
+ const manager = createManager()
412
+ manager.isOpened.setValue(true)
413
+ const rootElement = document.getElementById('root') as HTMLDivElement
406
414
 
407
- await sleepAsync(50)
415
+ initializeShadeRoot({
416
+ injector,
417
+ rootElement,
418
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
419
+ })
408
420
 
409
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
410
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
411
- const expectedMaxHeight = `${window.innerHeight * 0.8}px`
412
- expect(container?.style.maxHeight).toBe(expectedMaxHeight)
421
+ await sleepAsync(50)
413
422
 
414
- manager[Symbol.dispose]()
423
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
424
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
425
+ const expectedMaxHeight = `${window.innerHeight * 0.8}px`
426
+ expect(container?.style.maxHeight).toBe(expectedMaxHeight)
427
+
428
+ manager[Symbol.dispose]()
429
+ })
415
430
  })
416
431
 
417
432
  it('should have correct CSS styles for suggestion items container', async () => {
418
- const injector = new Injector()
419
- const manager = createManager()
420
- const rootElement = document.getElementById('root') as HTMLDivElement
421
-
422
- initializeShadeRoot({
423
- injector,
424
- rootElement,
425
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
426
- })
433
+ await usingAsync(new Injector(), async (injector) => {
434
+ const manager = createManager()
435
+ const rootElement = document.getElementById('root') as HTMLDivElement
436
+
437
+ initializeShadeRoot({
438
+ injector,
439
+ rootElement,
440
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
441
+ })
427
442
 
428
- await sleepAsync(50)
443
+ await sleepAsync(50)
429
444
 
430
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
431
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
432
- const computedStyle = window.getComputedStyle(container)
445
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
446
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
447
+ const computedStyle = window.getComputedStyle(container)
433
448
 
434
- expect(computedStyle.position).toBe('absolute')
435
- expect(computedStyle.overflow).toBe('hidden')
436
- expect(computedStyle.zIndex).toBe('1')
449
+ expect(computedStyle.position).toBe('absolute')
450
+ expect(computedStyle.overflow).toBe('hidden')
451
+ expect(computedStyle.zIndex).toBe('1')
437
452
 
438
- manager[Symbol.dispose]()
453
+ manager[Symbol.dispose]()
454
+ })
439
455
  })
440
456
 
441
457
  it('should call selectSuggestion with correct index for second item', async () => {
442
- const injector = new Injector()
443
- const manager = createManager()
444
- manager.currentSuggestions.setValue([
445
- createSuggestion('First', 100),
446
- createSuggestion('Second', 90),
447
- createSuggestion('Third', 80),
448
- ])
449
- manager.isOpened.setValue(true)
450
- const rootElement = document.getElementById('root') as HTMLDivElement
451
-
452
- initializeShadeRoot({
453
- injector,
454
- rootElement,
455
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
456
- })
458
+ await usingAsync(new Injector(), async (injector) => {
459
+ const manager = createManager()
460
+ manager.currentSuggestions.setValue([
461
+ createSuggestion('First', 100),
462
+ createSuggestion('Second', 90),
463
+ createSuggestion('Third', 80),
464
+ ])
465
+ manager.isOpened.setValue(true)
466
+ const rootElement = document.getElementById('root') as HTMLDivElement
457
467
 
458
- await sleepAsync(50)
468
+ initializeShadeRoot({
469
+ injector,
470
+ rootElement,
471
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
472
+ })
459
473
 
460
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
474
+ await sleepAsync(50)
461
475
 
462
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
463
- const items = component?.querySelectorAll('.suggestion-item')
464
- ;(items[1] as HTMLElement)?.click()
476
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
465
477
 
466
- expect(selectSpy).toHaveBeenCalledWith(injector, 1)
478
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
479
+ const items = component?.querySelectorAll('.suggestion-item')
480
+ ;(items[1] as HTMLElement)?.click()
467
481
 
468
- manager[Symbol.dispose]()
482
+ expect(selectSpy).toHaveBeenCalledWith(injector, 1)
483
+
484
+ manager[Symbol.dispose]()
485
+ })
469
486
  })
470
487
 
471
488
  it('should update container z-index when opening and closing', async () => {
472
- const injector = new Injector()
473
- const manager = createManager()
474
- manager.isOpened.setValue(false)
475
- const rootElement = document.getElementById('root') as HTMLDivElement
476
-
477
- initializeShadeRoot({
478
- injector,
479
- rootElement,
480
- jsxElement: <CommandPaletteSuggestionList manager={manager} />,
481
- })
489
+ await usingAsync(new Injector(), async (injector) => {
490
+ const manager = createManager()
491
+ manager.isOpened.setValue(false)
492
+ const rootElement = document.getElementById('root') as HTMLDivElement
493
+
494
+ initializeShadeRoot({
495
+ injector,
496
+ rootElement,
497
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
498
+ })
482
499
 
483
- await sleepAsync(50)
500
+ await sleepAsync(50)
484
501
 
485
- manager.isOpened.setValue(true)
486
- await sleepAsync(50)
502
+ manager.isOpened.setValue(true)
503
+ await sleepAsync(50)
487
504
 
488
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
489
- const container = component?.querySelector('.suggestion-items-container') as HTMLElement
490
- expect(container?.style.zIndex).toBe('1')
505
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
506
+ const container = component?.querySelector('.suggestion-items-container') as HTMLElement
507
+ expect(container?.style.zIndex).toBe('1')
491
508
 
492
- manager.isOpened.setValue(false)
493
- await sleepAsync(50)
509
+ manager.isOpened.setValue(false)
510
+ await sleepAsync(50)
494
511
 
495
- expect(container?.style.zIndex).toBe('-1')
512
+ expect(container?.style.zIndex).toBe('-1')
496
513
 
497
- manager[Symbol.dispose]()
514
+ manager[Symbol.dispose]()
515
+ })
498
516
  })
499
517
  })