@furystack/shades-common-components 11.0.0 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/CHANGELOG.md +443 -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 +326 -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 +364 -430
  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/click-away-service.spec.js +14 -12
  547. package/esm/services/click-away-service.spec.js.map +1 -1
  548. package/esm/services/css-variable-theme.d.ts +167 -1
  549. package/esm/services/css-variable-theme.d.ts.map +1 -1
  550. package/esm/services/css-variable-theme.js +102 -0
  551. package/esm/services/css-variable-theme.js.map +1 -1
  552. package/esm/services/css-variable-theme.spec.js +131 -1
  553. package/esm/services/css-variable-theme.spec.js.map +1 -1
  554. package/esm/services/default-dark-theme.d.ts +107 -2
  555. package/esm/services/default-dark-theme.d.ts.map +1 -1
  556. package/esm/services/default-dark-theme.js +87 -1
  557. package/esm/services/default-dark-theme.js.map +1 -1
  558. package/esm/services/default-light-theme.d.ts +107 -2
  559. package/esm/services/default-light-theme.d.ts.map +1 -1
  560. package/esm/services/default-light-theme.js +86 -0
  561. package/esm/services/default-light-theme.js.map +1 -1
  562. package/esm/services/index.d.ts +6 -2
  563. package/esm/services/index.d.ts.map +1 -1
  564. package/esm/services/index.js +6 -2
  565. package/esm/services/index.js.map +1 -1
  566. package/esm/services/layout-service.d.ts +217 -0
  567. package/esm/services/layout-service.d.ts.map +1 -0
  568. package/esm/services/layout-service.js +331 -0
  569. package/esm/services/layout-service.js.map +1 -0
  570. package/esm/services/layout-service.spec.d.ts +2 -0
  571. package/esm/services/layout-service.spec.d.ts.map +1 -0
  572. package/esm/services/layout-service.spec.js +425 -0
  573. package/esm/services/layout-service.spec.js.map +1 -0
  574. package/esm/services/list-service.d.ts +31 -0
  575. package/esm/services/list-service.d.ts.map +1 -0
  576. package/esm/services/list-service.js +149 -0
  577. package/esm/services/list-service.js.map +1 -0
  578. package/esm/services/list-service.spec.d.ts +2 -0
  579. package/esm/services/list-service.spec.d.ts.map +1 -0
  580. package/esm/services/list-service.spec.js +283 -0
  581. package/esm/services/list-service.spec.js.map +1 -0
  582. package/esm/services/palette-css-vars.d.ts +12 -0
  583. package/esm/services/palette-css-vars.d.ts.map +1 -0
  584. package/esm/services/palette-css-vars.js +44 -0
  585. package/esm/services/palette-css-vars.js.map +1 -0
  586. package/esm/services/theme-provider-service.d.ts +387 -2
  587. package/esm/services/theme-provider-service.d.ts.map +1 -1
  588. package/esm/services/theme-provider-service.js.map +1 -1
  589. package/esm/services/tree-service.d.ts +61 -0
  590. package/esm/services/tree-service.d.ts.map +1 -0
  591. package/esm/services/tree-service.js +149 -0
  592. package/esm/services/tree-service.js.map +1 -0
  593. package/esm/services/tree-service.spec.d.ts +2 -0
  594. package/esm/services/tree-service.spec.d.ts.map +1 -0
  595. package/esm/services/tree-service.spec.js +338 -0
  596. package/esm/services/tree-service.spec.js.map +1 -0
  597. package/esm/utils/promisify-animation.d.ts.map +1 -1
  598. package/esm/utils/promisify-animation.js +6 -1
  599. package/esm/utils/promisify-animation.js.map +1 -1
  600. package/package.json +7 -8
  601. package/src/components/accordion/accordion-item.tsx +197 -0
  602. package/src/components/accordion/accordion.spec.tsx +418 -0
  603. package/src/components/accordion/accordion.tsx +50 -0
  604. package/src/components/accordion/index.ts +2 -0
  605. package/src/components/alert.spec.tsx +256 -0
  606. package/src/components/alert.tsx +186 -0
  607. package/src/components/app-bar-link.spec.tsx +22 -19
  608. package/src/components/app-bar-link.tsx +29 -10
  609. package/src/components/app-bar.spec.tsx +73 -58
  610. package/src/components/app-bar.tsx +19 -12
  611. package/src/components/avatar.tsx +46 -47
  612. package/src/components/badge.spec.tsx +228 -0
  613. package/src/components/badge.tsx +104 -0
  614. package/src/components/breadcrumb.spec.tsx +396 -0
  615. package/src/components/breadcrumb.tsx +188 -0
  616. package/src/components/button-group.spec.tsx +611 -0
  617. package/src/components/button-group.tsx +423 -0
  618. package/src/components/button.spec.tsx +257 -67
  619. package/src/components/button.tsx +130 -80
  620. package/src/components/card.spec.tsx +389 -0
  621. package/src/components/card.tsx +261 -0
  622. package/src/components/carousel.spec.tsx +894 -0
  623. package/src/components/carousel.tsx +376 -0
  624. package/src/components/chip.spec.tsx +200 -0
  625. package/src/components/chip.tsx +188 -0
  626. package/src/components/circular-progress.spec.tsx +289 -0
  627. package/src/components/circular-progress.tsx +145 -0
  628. package/src/components/command-palette/command-palette-input.spec.tsx +219 -219
  629. package/src/components/command-palette/command-palette-input.tsx +25 -9
  630. package/src/components/command-palette/command-palette-manager.spec.ts +132 -117
  631. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +358 -358
  632. package/src/components/command-palette/command-palette-suggestion-list.tsx +22 -20
  633. package/src/components/command-palette/index.spec.tsx +12 -12
  634. package/src/components/command-palette/index.tsx +25 -102
  635. package/src/components/context-menu/context-menu-item.tsx +85 -0
  636. package/src/components/context-menu/context-menu-manager.spec.ts +433 -0
  637. package/src/components/context-menu/context-menu-manager.ts +148 -0
  638. package/src/components/context-menu/context-menu.spec.tsx +352 -0
  639. package/src/components/context-menu/context-menu.tsx +116 -0
  640. package/src/components/context-menu/index.ts +3 -0
  641. package/src/components/data-grid/body.spec.tsx +287 -283
  642. package/src/components/data-grid/data-grid-row.spec.tsx +165 -140
  643. package/src/components/data-grid/data-grid-row.tsx +72 -55
  644. package/src/components/data-grid/data-grid.spec.tsx +659 -729
  645. package/src/components/data-grid/data-grid.tsx +19 -15
  646. package/src/components/data-grid/footer.spec.tsx +249 -237
  647. package/src/components/data-grid/header.spec.tsx +374 -351
  648. package/src/components/data-grid/header.tsx +58 -39
  649. package/src/components/data-grid/selection-cell.spec.tsx +46 -45
  650. package/src/components/data-grid/selection-cell.tsx +2 -6
  651. package/src/components/dialog.spec.tsx +135 -0
  652. package/src/components/dialog.tsx +277 -0
  653. package/src/components/divider.spec.tsx +197 -0
  654. package/src/components/divider.tsx +147 -0
  655. package/src/components/drawer/drawer-toggle-button.spec.tsx +374 -0
  656. package/src/components/drawer/drawer-toggle-button.tsx +124 -0
  657. package/src/components/drawer/index.spec.tsx +748 -0
  658. package/src/components/drawer/index.tsx +227 -0
  659. package/src/components/dropdown.spec.tsx +445 -0
  660. package/src/components/dropdown.tsx +343 -0
  661. package/src/components/fab.spec.tsx +51 -40
  662. package/src/components/fab.tsx +32 -9
  663. package/src/components/form.spec.tsx +303 -293
  664. package/src/components/form.tsx +10 -7
  665. package/src/components/grid.spec.tsx +276 -183
  666. package/src/components/grid.tsx +10 -10
  667. package/src/components/icons/icon-definitions.spec.ts +68 -0
  668. package/src/components/icons/icon-definitions.ts +509 -0
  669. package/src/components/icons/icon-types.ts +48 -0
  670. package/src/components/icons/icon.spec.tsx +314 -0
  671. package/src/components/icons/icon.tsx +111 -0
  672. package/src/components/icons/index.ts +4 -0
  673. package/src/components/image.spec.tsx +748 -0
  674. package/src/components/image.tsx +520 -0
  675. package/src/components/index.ts +32 -4
  676. package/src/components/inputs/autocomplete.spec.tsx +10 -1
  677. package/src/components/inputs/autocomplete.tsx +13 -7
  678. package/src/components/inputs/checkbox.spec.tsx +377 -0
  679. package/src/components/inputs/checkbox.tsx +198 -0
  680. package/src/components/inputs/index.ts +7 -0
  681. package/src/components/inputs/input-number.spec.tsx +686 -0
  682. package/src/components/inputs/input-number.tsx +387 -0
  683. package/src/components/inputs/input.spec.tsx +544 -508
  684. package/src/components/inputs/input.tsx +91 -132
  685. package/src/components/inputs/radio-group.spec.tsx +281 -0
  686. package/src/components/inputs/radio-group.tsx +108 -0
  687. package/src/components/inputs/radio.spec.tsx +273 -0
  688. package/src/components/inputs/radio.tsx +199 -0
  689. package/src/components/inputs/select.spec.tsx +1237 -0
  690. package/src/components/inputs/select.tsx +775 -0
  691. package/src/components/inputs/slider.spec.tsx +1020 -0
  692. package/src/components/inputs/slider.tsx +696 -0
  693. package/src/components/inputs/switch.spec.tsx +410 -0
  694. package/src/components/inputs/switch.tsx +218 -0
  695. package/src/components/inputs/text-area.spec.tsx +186 -171
  696. package/src/components/inputs/text-area.tsx +13 -19
  697. package/src/components/linear-progress.spec.tsx +320 -0
  698. package/src/components/linear-progress.tsx +127 -0
  699. package/src/components/list/index.ts +2 -0
  700. package/src/components/list/list-item.tsx +106 -0
  701. package/src/components/list/list.spec.tsx +817 -0
  702. package/src/components/list/list.tsx +92 -0
  703. package/src/components/loader.spec.tsx +220 -204
  704. package/src/components/loader.tsx +17 -9
  705. package/src/components/menu/index.ts +2 -0
  706. package/src/components/menu/menu-types.spec.ts +122 -0
  707. package/src/components/menu/menu-types.ts +43 -0
  708. package/src/components/menu/menu.spec.tsx +483 -0
  709. package/src/components/menu/menu.tsx +326 -0
  710. package/src/components/modal.spec.tsx +65 -55
  711. package/src/components/modal.tsx +9 -6
  712. package/src/components/noty-list.spec.tsx +78 -75
  713. package/src/components/noty-list.tsx +76 -68
  714. package/src/components/page-container/index.spec.tsx +274 -0
  715. package/src/components/page-container/index.tsx +82 -0
  716. package/src/components/page-container/page-header.spec.tsx +308 -0
  717. package/src/components/page-container/page-header.tsx +127 -0
  718. package/src/components/page-layout/index.spec.tsx +882 -0
  719. package/src/components/page-layout/index.tsx +392 -0
  720. package/src/components/pagination.spec.tsx +275 -0
  721. package/src/components/pagination.tsx +249 -0
  722. package/src/components/paper.spec.tsx +26 -18
  723. package/src/components/paper.tsx +12 -10
  724. package/src/components/rating.spec.tsx +866 -0
  725. package/src/components/rating.tsx +286 -0
  726. package/src/components/result.spec.tsx +221 -0
  727. package/src/components/result.tsx +155 -0
  728. package/src/components/searchable-input-styles.ts +81 -0
  729. package/src/components/skeleton.spec.tsx +126 -118
  730. package/src/components/skeleton.tsx +23 -6
  731. package/src/components/styles.spec.ts +27 -28
  732. package/src/components/styles.tsx +15 -13
  733. package/src/components/suggest/index.spec.tsx +611 -587
  734. package/src/components/suggest/index.tsx +28 -95
  735. package/src/components/suggest/suggest-input.spec.tsx +95 -81
  736. package/src/components/suggest/suggest-input.tsx +9 -7
  737. package/src/components/suggest/suggest-manager.spec.ts +103 -93
  738. package/src/components/suggest/suggestion-list.spec.tsx +194 -173
  739. package/src/components/suggest/suggestion-list.tsx +23 -22
  740. package/src/components/tabs.spec.tsx +369 -7
  741. package/src/components/tabs.tsx +221 -18
  742. package/src/components/timeline.spec.tsx +294 -0
  743. package/src/components/timeline.tsx +221 -0
  744. package/src/components/tooltip.spec.tsx +223 -0
  745. package/src/components/tooltip.tsx +155 -0
  746. package/src/components/tree/index.ts +2 -0
  747. package/src/components/tree/tree-item.tsx +161 -0
  748. package/src/components/tree/tree.spec.tsx +677 -0
  749. package/src/components/tree/tree.tsx +111 -0
  750. package/src/components/typography.spec.tsx +235 -0
  751. package/src/components/typography.tsx +292 -0
  752. package/src/components/wizard/index.spec.tsx +77 -68
  753. package/src/services/click-away-service.spec.ts +14 -16
  754. package/src/services/click-away-service.ts +9 -3
  755. package/src/services/css-variable-theme.spec.ts +169 -1
  756. package/src/services/css-variable-theme.ts +107 -2
  757. package/src/services/default-dark-theme.ts +89 -3
  758. package/src/services/default-light-theme.ts +88 -2
  759. package/src/services/index.ts +6 -2
  760. package/src/services/layout-service.spec.ts +535 -0
  761. package/src/services/layout-service.ts +391 -0
  762. package/src/services/list-service.spec.ts +362 -0
  763. package/src/services/list-service.ts +169 -0
  764. package/src/services/palette-css-vars.ts +46 -0
  765. package/src/services/theme-provider-service.ts +246 -1
  766. package/src/services/tree-service.spec.ts +412 -0
  767. package/src/services/tree-service.ts +179 -0
  768. 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,445 @@ 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
+ await usingAsync(createManager(), async (manager) => {
60
+ const rootElement = document.getElementById('root') as HTMLDivElement
67
61
 
68
- await sleepAsync(50)
62
+ initializeShadeRoot({
63
+ injector,
64
+ rootElement,
65
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
66
+ })
69
67
 
70
- const component = document.querySelector('shade-command-palette-suggestion-list')
71
- expect(component).not.toBeNull()
68
+ await sleepAsync(50)
72
69
 
73
- manager[Symbol.dispose]()
70
+ const component = document.querySelector('shade-command-palette-suggestion-list')
71
+ expect(component).not.toBeNull()
72
+ })
73
+ })
74
74
  })
75
75
 
76
76
  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} />,
77
+ await usingAsync(new Injector(), async (injector) => {
78
+ await usingAsync(createManager(), async (manager) => {
79
+ const rootElement = document.getElementById('root') as HTMLDivElement
80
+
81
+ initializeShadeRoot({
82
+ injector,
83
+ rootElement,
84
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
85
+ })
86
+
87
+ await sleepAsync(50)
88
+
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()
92
+ })
85
93
  })
86
-
87
- await sleepAsync(50)
88
-
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()
92
-
93
- manager[Symbol.dispose]()
94
94
  })
95
95
 
96
96
  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} />,
97
+ await usingAsync(new Injector(), async (injector) => {
98
+ await usingAsync(createManager(), async (manager) => {
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
+ })
107
+
108
+ await sleepAsync(50)
109
+
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)
113
+ })
106
114
  })
107
-
108
- await sleepAsync(50)
109
-
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)
113
-
114
- manager[Symbol.dispose]()
115
115
  })
116
116
 
117
117
  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} />,
118
+ await usingAsync(new Injector(), async (injector) => {
119
+ await usingAsync(createManager(), async (manager) => {
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
+ })
128
+
129
+ await sleepAsync(50)
130
+
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')
134
+ })
127
135
  })
128
-
129
- await sleepAsync(50)
130
-
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')
134
-
135
- manager[Symbol.dispose]()
136
136
  })
137
137
 
138
138
  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} />,
139
+ await usingAsync(new Injector(), async (injector) => {
140
+ await usingAsync(createManager(), async (manager) => {
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} />,
149
+ })
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
+ })
149
158
  })
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
159
  })
160
160
 
161
161
  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} />,
162
+ await usingAsync(new Injector(), async (injector) => {
163
+ await usingAsync(createManager(), async (manager) => {
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
+ })
173
+
174
+ await sleepAsync(50)
175
+
176
+ manager.selectedIndex.setValue(1)
177
+ await sleepAsync(50)
178
+
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)
183
+ })
172
184
  })
173
-
174
- await sleepAsync(50)
175
-
176
- manager.selectedIndex.setValue(1)
177
- await sleepAsync(50)
178
-
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)
183
-
184
- manager[Symbol.dispose]()
185
185
  })
186
186
 
187
187
  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
- })
188
+ await usingAsync(new Injector(), async (injector) => {
189
+ await usingAsync(createManager(), async (manager) => {
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
200
194
 
201
- await sleepAsync(50)
195
+ initializeShadeRoot({
196
+ injector,
197
+ rootElement,
198
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
199
+ })
202
200
 
203
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
201
+ await sleepAsync(50)
204
202
 
205
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
206
- const item = component?.querySelector('.suggestion-item') as HTMLElement
207
- item?.click()
203
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
208
204
 
209
- expect(selectSpy).toHaveBeenCalledWith(injector, 0)
205
+ const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
206
+ const item = component?.querySelector('.suggestion-item') as HTMLElement
207
+ item?.click()
210
208
 
211
- manager[Symbol.dispose]()
209
+ expect(selectSpy).toHaveBeenCalledWith(injector, 0)
210
+ })
211
+ })
212
212
  })
213
213
 
214
214
  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
- })
215
+ await usingAsync(new Injector(), async (injector) => {
216
+ await usingAsync(createManager(), async (manager) => {
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
227
221
 
228
- await sleepAsync(50)
222
+ initializeShadeRoot({
223
+ injector,
224
+ rootElement,
225
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
226
+ })
229
227
 
230
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
228
+ await sleepAsync(50)
231
229
 
232
- const component = document.querySelector('shade-command-palette-suggestion-list') as HTMLElement
233
- const item = component?.querySelector('.suggestion-item') as HTMLElement
234
- item?.click()
230
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
235
231
 
236
- expect(selectSpy).not.toHaveBeenCalled()
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
235
 
238
- manager[Symbol.dispose]()
236
+ expect(selectSpy).not.toHaveBeenCalled()
237
+ })
238
+ })
239
239
  })
240
240
 
241
241
  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} />,
242
+ await usingAsync(new Injector(), async (injector) => {
243
+ await usingAsync(createManager(), async (manager) => {
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} />,
251
+ })
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
+ })
251
270
  })
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
271
  })
272
272
 
273
273
  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} />,
274
+ await usingAsync(new Injector(), async (injector) => {
275
+ await usingAsync(createManager(), async (manager) => {
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
+ })
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
+ })
283
301
  })
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
302
  })
303
303
 
304
304
  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} />,
305
+ await usingAsync(new Injector(), async (injector) => {
306
+ await usingAsync(createManager(), async (manager) => {
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
+
316
+ await sleepAsync(50)
317
+
318
+ manager.isOpened.setValue(true)
319
+ await sleepAsync(50)
320
+
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')
324
+ })
314
325
  })
315
-
316
- await sleepAsync(50)
317
-
318
- manager.isOpened.setValue(true)
319
- await sleepAsync(50)
320
-
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')
324
-
325
- manager[Symbol.dispose]()
326
326
  })
327
327
 
328
328
  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} />,
329
+ await usingAsync(new Injector(), async (injector) => {
330
+ await usingAsync(createManager(), async (manager) => {
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
+ })
339
+
340
+ await sleepAsync(50)
341
+
342
+ manager.isOpened.setValue(false)
343
+ await sleepAsync(50)
344
+
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')
348
+ })
338
349
  })
339
-
340
- await sleepAsync(50)
341
-
342
- manager.isOpened.setValue(false)
343
- await sleepAsync(50)
344
-
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')
348
-
349
- manager[Symbol.dispose]()
350
350
  })
351
351
 
352
352
  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} />,
353
+ await usingAsync(new Injector(), async (injector) => {
354
+ await usingAsync(createManager(), async (manager) => {
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
+ })
363
+
364
+ await sleepAsync(50)
365
+
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)
369
+ })
362
370
  })
363
-
364
- await sleepAsync(50)
365
-
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)
369
-
370
- manager[Symbol.dispose]()
371
371
  })
372
372
 
373
373
  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 />,
374
+ await usingAsync(new Injector(), async (injector) => {
375
+ await usingAsync(createManager(), async (manager) => {
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
+ })
384
+
385
+ await sleepAsync(50)
386
+
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)')
391
+ })
383
392
  })
384
-
385
- await sleepAsync(50)
386
-
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)')
391
-
392
- manager[Symbol.dispose]()
393
393
  })
394
394
 
395
395
  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} />,
396
+ await usingAsync(new Injector(), async (injector) => {
397
+ await usingAsync(createManager(), async (manager) => {
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
+ })
406
+
407
+ await sleepAsync(50)
408
+
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)
413
+ })
405
414
  })
406
-
407
- await sleepAsync(50)
408
-
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)
413
-
414
- manager[Symbol.dispose]()
415
415
  })
416
416
 
417
417
  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} />,
418
+ await usingAsync(new Injector(), async (injector) => {
419
+ await usingAsync(createManager(), async (manager) => {
420
+ const rootElement = document.getElementById('root') as HTMLDivElement
421
+
422
+ initializeShadeRoot({
423
+ injector,
424
+ rootElement,
425
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
426
+ })
427
+
428
+ await sleepAsync(50)
429
+
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)
433
+
434
+ expect(computedStyle.position).toBe('absolute')
435
+ expect(computedStyle.overflow).toBe('hidden')
436
+ expect(computedStyle.zIndex).toBe('1')
437
+ })
426
438
  })
427
-
428
- await sleepAsync(50)
429
-
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)
433
-
434
- expect(computedStyle.position).toBe('absolute')
435
- expect(computedStyle.overflow).toBe('hidden')
436
- expect(computedStyle.zIndex).toBe('1')
437
-
438
- manager[Symbol.dispose]()
439
439
  })
440
440
 
441
441
  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} />,
442
+ await usingAsync(new Injector(), async (injector) => {
443
+ await usingAsync(createManager(), async (manager) => {
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
+ })
457
+
458
+ await sleepAsync(50)
459
+
460
+ const selectSpy = vi.spyOn(manager, 'selectSuggestion')
461
+
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()
465
+
466
+ expect(selectSpy).toHaveBeenCalledWith(injector, 1)
467
+ })
456
468
  })
457
-
458
- await sleepAsync(50)
459
-
460
- const selectSpy = vi.spyOn(manager, 'selectSuggestion')
461
-
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()
465
-
466
- expect(selectSpy).toHaveBeenCalledWith(injector, 1)
467
-
468
- manager[Symbol.dispose]()
469
469
  })
470
470
 
471
471
  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
- })
472
+ await usingAsync(new Injector(), async (injector) => {
473
+ await usingAsync(createManager(), async (manager) => {
474
+ manager.isOpened.setValue(false)
475
+ const rootElement = document.getElementById('root') as HTMLDivElement
482
476
 
483
- await sleepAsync(50)
477
+ initializeShadeRoot({
478
+ injector,
479
+ rootElement,
480
+ jsxElement: <CommandPaletteSuggestionList manager={manager} />,
481
+ })
484
482
 
485
- manager.isOpened.setValue(true)
486
- await sleepAsync(50)
483
+ await sleepAsync(50)
487
484
 
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')
485
+ manager.isOpened.setValue(true)
486
+ await sleepAsync(50)
491
487
 
492
- manager.isOpened.setValue(false)
493
- await sleepAsync(50)
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')
494
491
 
495
- expect(container?.style.zIndex).toBe('-1')
492
+ manager.isOpened.setValue(false)
493
+ await sleepAsync(50)
496
494
 
497
- manager[Symbol.dispose]()
495
+ expect(container?.style.zIndex).toBe('-1')
496
+ })
497
+ })
498
498
  })
499
499
  })