@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,6 +1,6 @@
1
1
  import type { FindOptions } from '@furystack/core'
2
2
  import type { ChildrenList } from '@furystack/shades'
3
- import { attachStyles, createComponent, Shade } from '@furystack/shades'
3
+ import { createComponent, Shade } from '@furystack/shades'
4
4
  import type { ObservableValue } from '@furystack/utils'
5
5
  import { ClickAwayService } from '../../services/click-away-service.js'
6
6
  import type { CollectionService } from '../../services/collection-service.js'
@@ -94,45 +94,49 @@ export const DataGrid: <T, Column extends string>(
94
94
  },
95
95
  '& th': {
96
96
  backdropFilter: 'blur(12px) saturate(180%)',
97
- background: 'rgba(128,128,128,0.3)',
97
+ background: cssVariableTheme.action.activeBackground,
98
98
  color: cssVariableTheme.text.secondary,
99
99
  height: '48px',
100
100
  padding: '0 1.2em',
101
101
  alignItems: 'center',
102
- borderRadius: '2px',
102
+ borderRadius: cssVariableTheme.shape.borderRadius.xs,
103
103
  top: '2px',
104
104
  position: 'sticky',
105
105
  fontVariant: 'all-petite-caps',
106
106
  fontSize: '0.875rem',
107
- fontWeight: '600',
107
+ fontWeight: cssVariableTheme.typography.fontWeight.semibold,
108
108
  letterSpacing: '0.05em',
109
109
  textAlign: 'left',
110
110
  zIndex: '1',
111
- boxShadow: 'rgba(0, 0, 0, 0.2) 1px 1px 1px 2px',
112
- borderBottom: '2px solid rgba(128, 128, 128, 0.2)',
113
- borderRight: '1px solid rgba(128, 128, 128, 0.2)',
111
+ boxShadow: cssVariableTheme.shadows.sm,
112
+ borderBottom: `2px solid ${cssVariableTheme.action.subtleBorder}`,
113
+ borderRight: `1px solid ${cssVariableTheme.action.subtleBorder}`,
114
114
  },
115
115
  },
116
- constructed: ({ props }) => {
117
- const listener = (ev: KeyboardEvent) => props.collectionService.handleKeyDown(ev)
118
- window.addEventListener('keydown', listener)
119
- return () => window.removeEventListener('keydown', listener)
120
- },
121
- render: ({ props, useDisposable, element }) => {
116
+ render: ({ props, useDisposable, useRef, useHostProps }) => {
117
+ const wrapperRef = useRef<HTMLDivElement>('gridWrapper')
118
+
119
+ useDisposable('keydown-handler', () => {
120
+ const listener = (ev: KeyboardEvent) => props.collectionService.handleKeyDown(ev)
121
+ window.addEventListener('keydown', listener)
122
+ return { [Symbol.dispose]: () => window.removeEventListener('keydown', listener) }
123
+ })
124
+
122
125
  useDisposable(
123
126
  'clickAway',
124
127
  () =>
125
- new ClickAwayService(element, () => {
128
+ new ClickAwayService(wrapperRef, () => {
126
129
  props.collectionService.hasFocus.setValue(false)
127
130
  }),
128
131
  )
129
132
 
130
133
  if (props.styles?.wrapper) {
131
- attachStyles(element, { style: props.styles.wrapper })
134
+ useHostProps({ style: props.styles.wrapper as Record<string, string> })
132
135
  }
133
136
 
134
137
  return (
135
138
  <div
139
+ ref={wrapperRef}
136
140
  className="shade-grid-wrapper"
137
141
  onclick={() => {
138
142
  props.collectionService.hasFocus.setValue(true)
@@ -1,7 +1,7 @@
1
1
  import type { FindOptions } from '@furystack/core'
2
2
  import { Injector } from '@furystack/inject'
3
3
  import { createComponent, initializeShadeRoot } from '@furystack/shades'
4
- import { ObservableValue, sleepAsync } from '@furystack/utils'
4
+ import { ObservableValue, sleepAsync, usingAsync } from '@furystack/utils'
5
5
  import { afterEach, beforeEach, describe, expect, it } from 'vitest'
6
6
  import { CollectionService } from '../../services/collection-service.js'
7
7
  import { DataGridFooter, dataGridItemsPerPage } from './footer.js'
@@ -31,311 +31,323 @@ describe('DataGridFooter', () => {
31
31
  }
32
32
 
33
33
  it('should render with custom element', async () => {
34
- const injector = new Injector()
35
- const rootElement = document.getElementById('root') as HTMLDivElement
36
- const service = createService()
37
- const findOptions = createFindOptions()
38
-
39
- initializeShadeRoot({
40
- injector,
41
- rootElement,
42
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
43
- })
34
+ await usingAsync(new Injector(), async (injector) => {
35
+ const rootElement = document.getElementById('root') as HTMLDivElement
36
+ const service = createService()
37
+ const findOptions = createFindOptions()
38
+
39
+ initializeShadeRoot({
40
+ injector,
41
+ rootElement,
42
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
43
+ })
44
44
 
45
- await sleepAsync(50)
45
+ await sleepAsync(50)
46
46
 
47
- const footer = document.querySelector('shade-data-grid-footer')
48
- expect(footer).not.toBeNull()
47
+ const footer = document.querySelector('shade-data-grid-footer')
48
+ expect(footer).not.toBeNull()
49
+ })
49
50
  })
50
51
 
51
52
  it('should render items per page select', async () => {
52
- const injector = new Injector()
53
- const rootElement = document.getElementById('root') as HTMLDivElement
54
- const service = createService()
55
- const findOptions = createFindOptions()
56
-
57
- initializeShadeRoot({
58
- injector,
59
- rootElement,
60
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
61
- })
53
+ await usingAsync(new Injector(), async (injector) => {
54
+ const rootElement = document.getElementById('root') as HTMLDivElement
55
+ const service = createService()
56
+ const findOptions = createFindOptions()
62
57
 
63
- await sleepAsync(50)
58
+ initializeShadeRoot({
59
+ injector,
60
+ rootElement,
61
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
62
+ })
64
63
 
65
- const footer = document.querySelector('shade-data-grid-footer')
66
- const selects = footer?.querySelectorAll('select')
64
+ await sleepAsync(50)
67
65
 
68
- expect(selects?.length).toBeGreaterThan(0)
69
- })
66
+ const footer = document.querySelector('shade-data-grid-footer')
67
+ const selects = footer?.querySelectorAll('select')
70
68
 
71
- it('should render all items per page options', async () => {
72
- const injector = new Injector()
73
- const rootElement = document.getElementById('root') as HTMLDivElement
74
- const service = createService()
75
- const findOptions = createFindOptions()
76
-
77
- initializeShadeRoot({
78
- injector,
79
- rootElement,
80
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
69
+ expect(selects?.length).toBeGreaterThan(0)
81
70
  })
71
+ })
82
72
 
83
- await sleepAsync(50)
84
-
85
- const footer = document.querySelector('shade-data-grid-footer')
86
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
87
- const itemsPerPageSelect = selects.find((s) => {
88
- const parent = s.parentElement
89
- return parent?.textContent?.includes('items per page')
73
+ it('should render all items per page options', async () => {
74
+ await usingAsync(new Injector(), async (injector) => {
75
+ const rootElement = document.getElementById('root') as HTMLDivElement
76
+ const service = createService()
77
+ const findOptions = createFindOptions()
78
+
79
+ initializeShadeRoot({
80
+ injector,
81
+ rootElement,
82
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
83
+ })
84
+
85
+ await sleepAsync(50)
86
+
87
+ const footer = document.querySelector('shade-data-grid-footer')
88
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
89
+ const itemsPerPageSelect = selects.find((s) => {
90
+ const parent = s.parentElement
91
+ return parent?.textContent?.includes('items per page')
92
+ })
93
+
94
+ expect(itemsPerPageSelect).toBeDefined()
95
+ const options = itemsPerPageSelect?.querySelectorAll('option')
96
+ expect(options?.length).toBe(dataGridItemsPerPage.length)
90
97
  })
91
-
92
- expect(itemsPerPageSelect).toBeDefined()
93
- const options = itemsPerPageSelect?.querySelectorAll('option')
94
- expect(options?.length).toBe(dataGridItemsPerPage.length)
95
98
  })
96
99
 
97
100
  it('should show page selector when pagination is enabled', async () => {
98
- const injector = new Injector()
99
- const rootElement = document.getElementById('root') as HTMLDivElement
100
- const service = createService([], 100)
101
- const findOptions = createFindOptions(10, 0)
102
-
103
- initializeShadeRoot({
104
- injector,
105
- rootElement,
106
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
101
+ await usingAsync(new Injector(), async (injector) => {
102
+ const rootElement = document.getElementById('root') as HTMLDivElement
103
+ const service = createService([], 100)
104
+ const findOptions = createFindOptions(10, 0)
105
+
106
+ initializeShadeRoot({
107
+ injector,
108
+ rootElement,
109
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
110
+ })
111
+
112
+ await sleepAsync(50)
113
+
114
+ const footer = document.querySelector('shade-data-grid-footer')
115
+ const pager = footer?.querySelector('.pager')
116
+ expect(pager?.textContent).toContain('Goto page')
107
117
  })
108
-
109
- await sleepAsync(50)
110
-
111
- const footer = document.querySelector('shade-data-grid-footer')
112
- const pager = footer?.querySelector('.pager')
113
- expect(pager?.textContent).toContain('Goto page')
114
118
  })
115
119
 
116
120
  it('should hide page selector when showing all items (Infinity)', async () => {
117
- const injector = new Injector()
118
- const rootElement = document.getElementById('root') as HTMLDivElement
119
- const service = createService([], 50)
120
- const findOptions = createFindOptions(Infinity, 0)
121
-
122
- initializeShadeRoot({
123
- injector,
124
- rootElement,
125
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
121
+ await usingAsync(new Injector(), async (injector) => {
122
+ const rootElement = document.getElementById('root') as HTMLDivElement
123
+ const service = createService([], 50)
124
+ const findOptions = createFindOptions(Infinity, 0)
125
+
126
+ initializeShadeRoot({
127
+ injector,
128
+ rootElement,
129
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
130
+ })
131
+
132
+ await sleepAsync(50)
133
+
134
+ const footer = document.querySelector('shade-data-grid-footer')
135
+ const pager = footer?.querySelector('.pager')
136
+ expect(pager?.textContent).not.toContain('Goto page')
126
137
  })
127
-
128
- await sleepAsync(50)
129
-
130
- const footer = document.querySelector('shade-data-grid-footer')
131
- const pager = footer?.querySelector('.pager')
132
- expect(pager?.textContent).not.toContain('Goto page')
133
138
  })
134
139
 
135
140
  it('should render correct number of page options based on data count and items per page', async () => {
136
- const injector = new Injector()
137
- const rootElement = document.getElementById('root') as HTMLDivElement
138
- const service = createService([], 100)
139
- const findOptions = createFindOptions(25, 0)
140
-
141
- initializeShadeRoot({
142
- injector,
143
- rootElement,
144
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
145
- })
146
-
147
- await sleepAsync(50)
148
-
149
- const footer = document.querySelector('shade-data-grid-footer')
150
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
151
- const pageSelect = selects.find((s) => {
152
- const parent = s.parentElement
153
- return parent?.textContent?.includes('Goto page')
141
+ await usingAsync(new Injector(), async (injector) => {
142
+ const rootElement = document.getElementById('root') as HTMLDivElement
143
+ const service = createService([], 100)
144
+ const findOptions = createFindOptions(25, 0)
145
+
146
+ initializeShadeRoot({
147
+ injector,
148
+ rootElement,
149
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
150
+ })
151
+
152
+ await sleepAsync(50)
153
+
154
+ const footer = document.querySelector('shade-data-grid-footer')
155
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
156
+ const pageSelect = selects.find((s) => {
157
+ const parent = s.parentElement
158
+ return parent?.textContent?.includes('Goto page')
159
+ })
160
+
161
+ expect(pageSelect).toBeDefined()
162
+ const options = pageSelect?.querySelectorAll('option')
163
+ expect(options?.length).toBe(4)
154
164
  })
155
-
156
- expect(pageSelect).toBeDefined()
157
- const options = pageSelect?.querySelectorAll('option')
158
- expect(options?.length).toBe(4)
159
165
  })
160
166
 
161
167
  it('should update findOptions when page is changed', async () => {
162
- const injector = new Injector()
163
- const rootElement = document.getElementById('root') as HTMLDivElement
164
- const service = createService([], 100)
165
- const findOptions = createFindOptions(10, 0)
166
-
167
- initializeShadeRoot({
168
- injector,
169
- rootElement,
170
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
171
- })
168
+ await usingAsync(new Injector(), async (injector) => {
169
+ const rootElement = document.getElementById('root') as HTMLDivElement
170
+ const service = createService([], 100)
171
+ const findOptions = createFindOptions(10, 0)
172
172
 
173
- await sleepAsync(50)
173
+ initializeShadeRoot({
174
+ injector,
175
+ rootElement,
176
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
177
+ })
174
178
 
175
- const footer = document.querySelector('shade-data-grid-footer')
176
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
177
- const pageSelect = selects.find((s) => {
178
- const parent = s.parentElement
179
- return parent?.textContent?.includes('Goto page')
180
- })
179
+ await sleepAsync(50)
180
+
181
+ const footer = document.querySelector('shade-data-grid-footer')
182
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
183
+ const pageSelect = selects.find((s) => {
184
+ const parent = s.parentElement
185
+ return parent?.textContent?.includes('Goto page')
186
+ })
181
187
 
182
- expect(pageSelect).toBeDefined()
188
+ expect(pageSelect).toBeDefined()
183
189
 
184
- pageSelect!.value = '2'
185
- pageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
190
+ pageSelect!.value = '2'
191
+ pageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
186
192
 
187
- await sleepAsync(50)
193
+ await sleepAsync(50)
188
194
 
189
- const updatedOptions = findOptions.getValue()
190
- expect(updatedOptions.skip).toBe(20)
195
+ const updatedOptions = findOptions.getValue()
196
+ expect(updatedOptions.skip).toBe(20)
197
+ })
191
198
  })
192
199
 
193
200
  it('should update findOptions when items per page is changed', async () => {
194
- const injector = new Injector()
195
- const rootElement = document.getElementById('root') as HTMLDivElement
196
- const service = createService([], 100)
197
- const findOptions = createFindOptions(10, 0)
198
-
199
- initializeShadeRoot({
200
- injector,
201
- rootElement,
202
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
203
- })
201
+ await usingAsync(new Injector(), async (injector) => {
202
+ const rootElement = document.getElementById('root') as HTMLDivElement
203
+ const service = createService([], 100)
204
+ const findOptions = createFindOptions(10, 0)
204
205
 
205
- await sleepAsync(50)
206
+ initializeShadeRoot({
207
+ injector,
208
+ rootElement,
209
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
210
+ })
206
211
 
207
- const footer = document.querySelector('shade-data-grid-footer')
208
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
209
- const itemsPerPageSelect = selects.find((s) => {
210
- const parent = s.parentElement
211
- return parent?.textContent?.includes('items per page')
212
- })
212
+ await sleepAsync(50)
213
213
 
214
- expect(itemsPerPageSelect).toBeDefined()
214
+ const footer = document.querySelector('shade-data-grid-footer')
215
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
216
+ const itemsPerPageSelect = selects.find((s) => {
217
+ const parent = s.parentElement
218
+ return parent?.textContent?.includes('items per page')
219
+ })
215
220
 
216
- itemsPerPageSelect!.value = '25'
217
- itemsPerPageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
221
+ expect(itemsPerPageSelect).toBeDefined()
218
222
 
219
- await sleepAsync(50)
223
+ itemsPerPageSelect!.value = '25'
224
+ itemsPerPageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
220
225
 
221
- const updatedOptions = findOptions.getValue()
222
- expect(updatedOptions.top).toBe(25)
226
+ await sleepAsync(50)
227
+
228
+ const updatedOptions = findOptions.getValue()
229
+ expect(updatedOptions.top).toBe(25)
230
+ })
223
231
  })
224
232
 
225
233
  it('should preserve current page position when changing items per page', async () => {
226
- const injector = new Injector()
227
- const rootElement = document.getElementById('root') as HTMLDivElement
228
- const service = createService([], 100)
229
- const findOptions = createFindOptions(10, 20)
230
-
231
- initializeShadeRoot({
232
- injector,
233
- rootElement,
234
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
235
- })
234
+ await usingAsync(new Injector(), async (injector) => {
235
+ const rootElement = document.getElementById('root') as HTMLDivElement
236
+ const service = createService([], 100)
237
+ const findOptions = createFindOptions(10, 20)
236
238
 
237
- await sleepAsync(50)
239
+ initializeShadeRoot({
240
+ injector,
241
+ rootElement,
242
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
243
+ })
238
244
 
239
- const footer = document.querySelector('shade-data-grid-footer')
240
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
241
- const itemsPerPageSelect = selects.find((s) => {
242
- const parent = s.parentElement
243
- return parent?.textContent?.includes('items per page')
244
- })
245
+ await sleepAsync(50)
245
246
 
246
- expect(itemsPerPageSelect).toBeDefined()
247
+ const footer = document.querySelector('shade-data-grid-footer')
248
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
249
+ const itemsPerPageSelect = selects.find((s) => {
250
+ const parent = s.parentElement
251
+ return parent?.textContent?.includes('items per page')
252
+ })
247
253
 
248
- itemsPerPageSelect!.value = '25'
249
- itemsPerPageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
254
+ expect(itemsPerPageSelect).toBeDefined()
250
255
 
251
- await sleepAsync(50)
256
+ itemsPerPageSelect!.value = '25'
257
+ itemsPerPageSelect!.dispatchEvent(new Event('change', { bubbles: true }))
252
258
 
253
- const updatedOptions = findOptions.getValue()
254
- expect(updatedOptions.top).toBe(25)
255
- expect(updatedOptions.skip).toBe(50)
256
- })
259
+ await sleepAsync(50)
257
260
 
258
- it('should select the correct current page in the page selector', async () => {
259
- const injector = new Injector()
260
- const rootElement = document.getElementById('root') as HTMLDivElement
261
- const service = createService([], 100)
262
- const findOptions = createFindOptions(10, 30)
263
-
264
- initializeShadeRoot({
265
- injector,
266
- rootElement,
267
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
261
+ const updatedOptions = findOptions.getValue()
262
+ expect(updatedOptions.top).toBe(25)
263
+ expect(updatedOptions.skip).toBe(50)
268
264
  })
265
+ })
269
266
 
270
- await sleepAsync(50)
271
-
272
- const footer = document.querySelector('shade-data-grid-footer')
273
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
274
- const pageSelect = selects.find((s) => {
275
- const parent = s.parentElement
276
- return parent?.textContent?.includes('Goto page')
267
+ it('should select the correct current page in the page selector', async () => {
268
+ await usingAsync(new Injector(), async (injector) => {
269
+ const rootElement = document.getElementById('root') as HTMLDivElement
270
+ const service = createService([], 100)
271
+ const findOptions = createFindOptions(10, 30)
272
+
273
+ initializeShadeRoot({
274
+ injector,
275
+ rootElement,
276
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
277
+ })
278
+
279
+ await sleepAsync(50)
280
+
281
+ const footer = document.querySelector('shade-data-grid-footer')
282
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
283
+ const pageSelect = selects.find((s) => {
284
+ const parent = s.parentElement
285
+ return parent?.textContent?.includes('Goto page')
286
+ })
287
+
288
+ expect(pageSelect).toBeDefined()
289
+ expect(pageSelect?.value).toBe('3')
277
290
  })
278
-
279
- expect(pageSelect).toBeDefined()
280
- expect(pageSelect?.value).toBe('3')
281
291
  })
282
292
 
283
293
  it('should select the correct items per page option', async () => {
284
- const injector = new Injector()
285
- const rootElement = document.getElementById('root') as HTMLDivElement
286
- const service = createService([], 100)
287
- const findOptions = createFindOptions(25, 0)
288
-
289
- initializeShadeRoot({
290
- injector,
291
- rootElement,
292
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
293
- })
294
-
295
- await sleepAsync(50)
296
-
297
- const footer = document.querySelector('shade-data-grid-footer')
298
- const selects = Array.from(footer?.querySelectorAll('select') ?? [])
299
- const itemsPerPageSelect = selects.find((s) => {
300
- const parent = s.parentElement
301
- return parent?.textContent?.includes('items per page')
294
+ await usingAsync(new Injector(), async (injector) => {
295
+ const rootElement = document.getElementById('root') as HTMLDivElement
296
+ const service = createService([], 100)
297
+ const findOptions = createFindOptions(25, 0)
298
+
299
+ initializeShadeRoot({
300
+ injector,
301
+ rootElement,
302
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
303
+ })
304
+
305
+ await sleepAsync(50)
306
+
307
+ const footer = document.querySelector('shade-data-grid-footer')
308
+ const selects = Array.from(footer?.querySelectorAll('select') ?? [])
309
+ const itemsPerPageSelect = selects.find((s) => {
310
+ const parent = s.parentElement
311
+ return parent?.textContent?.includes('items per page')
312
+ })
313
+
314
+ expect(itemsPerPageSelect).toBeDefined()
315
+ expect(itemsPerPageSelect?.value).toBe('25')
302
316
  })
303
-
304
- expect(itemsPerPageSelect).toBeDefined()
305
- expect(itemsPerPageSelect?.value).toBe('25')
306
317
  })
307
318
 
308
319
  it('should react to data count changes', async () => {
309
- const injector = new Injector()
310
- const rootElement = document.getElementById('root') as HTMLDivElement
311
- const service = createService([], 50)
312
- const findOptions = createFindOptions(10, 0)
313
-
314
- initializeShadeRoot({
315
- injector,
316
- rootElement,
317
- jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
318
- })
320
+ await usingAsync(new Injector(), async (injector) => {
321
+ const rootElement = document.getElementById('root') as HTMLDivElement
322
+ const service = createService([], 50)
323
+ const findOptions = createFindOptions(10, 0)
319
324
 
320
- await sleepAsync(50)
325
+ initializeShadeRoot({
326
+ injector,
327
+ rootElement,
328
+ jsxElement: <DataGridFooter service={service} findOptions={findOptions} />,
329
+ })
321
330
 
322
- let footer = document.querySelector('shade-data-grid-footer')
323
- let selects = Array.from(footer?.querySelectorAll('select') ?? [])
324
- let pageSelect = selects.find((s) => s.parentElement?.textContent?.includes('Goto page'))
325
- let pageOptions = pageSelect?.querySelectorAll('option')
331
+ await sleepAsync(50)
326
332
 
327
- expect(pageOptions?.length).toBe(5)
333
+ let footer = document.querySelector('shade-data-grid-footer')
334
+ let selects = Array.from(footer?.querySelectorAll('select') ?? [])
335
+ let pageSelect = selects.find((s) => s.parentElement?.textContent?.includes('Goto page'))
336
+ let pageOptions = pageSelect?.querySelectorAll('option')
328
337
 
329
- service.data.setValue({ entries: [], count: 100 })
338
+ expect(pageOptions?.length).toBe(5)
330
339
 
331
- await sleepAsync(50)
340
+ service.data.setValue({ entries: [], count: 100 })
332
341
 
333
- footer = document.querySelector('shade-data-grid-footer')
334
- selects = Array.from(footer?.querySelectorAll('select') ?? [])
335
- pageSelect = selects.find((s) => s.parentElement?.textContent?.includes('Goto page'))
336
- pageOptions = pageSelect?.querySelectorAll('option')
342
+ await sleepAsync(50)
337
343
 
338
- expect(pageOptions?.length).toBe(10)
344
+ footer = document.querySelector('shade-data-grid-footer')
345
+ selects = Array.from(footer?.querySelectorAll('select') ?? [])
346
+ pageSelect = selects.find((s) => s.parentElement?.textContent?.includes('Goto page'))
347
+ pageOptions = pageSelect?.querySelectorAll('option')
348
+
349
+ expect(pageOptions?.length).toBe(10)
350
+ })
339
351
  })
340
352
 
341
353
  it('should export dataGridItemsPerPage constant', () => {