@furystack/shades-common-components 10.0.35 → 11.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 (295) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/esm/components/animations.spec.d.ts +2 -0
  3. package/esm/components/animations.spec.d.ts.map +1 -0
  4. package/esm/components/animations.spec.js +201 -0
  5. package/esm/components/animations.spec.js.map +1 -0
  6. package/esm/components/app-bar-link.js +21 -20
  7. package/esm/components/app-bar-link.js.map +1 -1
  8. package/esm/components/app-bar-link.spec.d.ts +2 -0
  9. package/esm/components/app-bar-link.spec.d.ts.map +1 -0
  10. package/esm/components/app-bar-link.spec.js +252 -0
  11. package/esm/components/app-bar-link.spec.js.map +1 -0
  12. package/esm/components/app-bar.js +21 -21
  13. package/esm/components/app-bar.js.map +1 -1
  14. package/esm/components/app-bar.spec.d.ts +2 -0
  15. package/esm/components/app-bar.spec.d.ts.map +1 -0
  16. package/esm/components/app-bar.spec.js +117 -0
  17. package/esm/components/app-bar.spec.js.map +1 -0
  18. package/esm/components/avatar.d.ts.map +1 -1
  19. package/esm/components/avatar.js +15 -19
  20. package/esm/components/avatar.js.map +1 -1
  21. package/esm/components/avatar.spec.d.ts +2 -0
  22. package/esm/components/avatar.spec.d.ts.map +1 -0
  23. package/esm/components/avatar.spec.js +114 -0
  24. package/esm/components/avatar.spec.js.map +1 -0
  25. package/esm/components/button.d.ts.map +1 -1
  26. package/esm/components/button.js +145 -156
  27. package/esm/components/button.js.map +1 -1
  28. package/esm/components/button.spec.d.ts +2 -0
  29. package/esm/components/button.spec.d.ts.map +1 -0
  30. package/esm/components/button.spec.js +155 -0
  31. package/esm/components/button.spec.js.map +1 -0
  32. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  33. package/esm/components/command-palette/command-palette-input.js +18 -16
  34. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  35. package/esm/components/command-palette/command-palette-input.spec.d.ts +2 -0
  36. package/esm/components/command-palette/command-palette-input.spec.d.ts.map +1 -0
  37. package/esm/components/command-palette/command-palette-input.spec.js +233 -0
  38. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -0
  39. package/esm/components/command-palette/command-palette-manager.spec.d.ts +2 -0
  40. package/esm/components/command-palette/command-palette-manager.spec.d.ts.map +1 -0
  41. package/esm/components/command-palette/command-palette-manager.spec.js +362 -0
  42. package/esm/components/command-palette/command-palette-manager.spec.js.map +1 -0
  43. package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  44. package/esm/components/command-palette/command-palette-suggestion-list.js +42 -46
  45. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  46. package/esm/components/command-palette/command-palette-suggestion-list.spec.d.ts +2 -0
  47. package/esm/components/command-palette/command-palette-suggestion-list.spec.d.ts.map +1 -0
  48. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +376 -0
  49. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -0
  50. package/esm/components/command-palette/index.d.ts.map +1 -1
  51. package/esm/components/command-palette/index.js +100 -110
  52. package/esm/components/command-palette/index.js.map +1 -1
  53. package/esm/components/command-palette/index.spec.d.ts +2 -0
  54. package/esm/components/command-palette/index.spec.d.ts.map +1 -0
  55. package/esm/components/command-palette/index.spec.js +509 -0
  56. package/esm/components/command-palette/index.spec.js.map +1 -0
  57. package/esm/components/data-grid/body.js +1 -1
  58. package/esm/components/data-grid/body.js.map +1 -1
  59. package/esm/components/data-grid/body.spec.d.ts +2 -0
  60. package/esm/components/data-grid/body.spec.d.ts.map +1 -0
  61. package/esm/components/data-grid/body.spec.js +228 -0
  62. package/esm/components/data-grid/body.spec.js.map +1 -0
  63. package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
  64. package/esm/components/data-grid/data-grid-row.js +49 -73
  65. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  66. package/esm/components/data-grid/data-grid-row.spec.d.ts +2 -0
  67. package/esm/components/data-grid/data-grid-row.spec.d.ts.map +1 -0
  68. package/esm/components/data-grid/data-grid-row.spec.js +296 -0
  69. package/esm/components/data-grid/data-grid-row.spec.js.map +1 -0
  70. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  71. package/esm/components/data-grid/data-grid.js +35 -28
  72. package/esm/components/data-grid/data-grid.js.map +1 -1
  73. package/esm/components/data-grid/data-grid.spec.d.ts +2 -0
  74. package/esm/components/data-grid/data-grid.spec.d.ts.map +1 -0
  75. package/esm/components/data-grid/data-grid.spec.js +544 -0
  76. package/esm/components/data-grid/data-grid.spec.js.map +1 -0
  77. package/esm/components/data-grid/footer.js +21 -15
  78. package/esm/components/data-grid/footer.js.map +1 -1
  79. package/esm/components/data-grid/footer.spec.d.ts +2 -0
  80. package/esm/components/data-grid/footer.spec.d.ts.map +1 -0
  81. package/esm/components/data-grid/footer.spec.js +264 -0
  82. package/esm/components/data-grid/footer.spec.js.map +1 -0
  83. package/esm/components/data-grid/header.d.ts.map +1 -1
  84. package/esm/components/data-grid/header.js +55 -33
  85. package/esm/components/data-grid/header.js.map +1 -1
  86. package/esm/components/data-grid/header.spec.d.ts +2 -0
  87. package/esm/components/data-grid/header.spec.d.ts.map +1 -0
  88. package/esm/components/data-grid/header.spec.js +421 -0
  89. package/esm/components/data-grid/header.spec.js.map +1 -0
  90. package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
  91. package/esm/components/data-grid/selection-cell.js +13 -6
  92. package/esm/components/data-grid/selection-cell.js.map +1 -1
  93. package/esm/components/data-grid/selection-cell.spec.d.ts +2 -0
  94. package/esm/components/data-grid/selection-cell.spec.d.ts.map +1 -0
  95. package/esm/components/data-grid/selection-cell.spec.js +118 -0
  96. package/esm/components/data-grid/selection-cell.spec.js.map +1 -0
  97. package/esm/components/fab.d.ts.map +1 -1
  98. package/esm/components/fab.js +10 -1
  99. package/esm/components/fab.js.map +1 -1
  100. package/esm/components/fab.spec.d.ts +2 -0
  101. package/esm/components/fab.spec.d.ts.map +1 -0
  102. package/esm/components/fab.spec.js +95 -0
  103. package/esm/components/fab.spec.js.map +1 -0
  104. package/esm/components/form.spec.d.ts +2 -0
  105. package/esm/components/form.spec.d.ts.map +1 -0
  106. package/esm/components/form.spec.js +314 -0
  107. package/esm/components/form.spec.js.map +1 -0
  108. package/esm/components/grid.d.ts.map +1 -1
  109. package/esm/components/grid.js +40 -37
  110. package/esm/components/grid.js.map +1 -1
  111. package/esm/components/grid.spec.d.ts +2 -0
  112. package/esm/components/grid.spec.d.ts.map +1 -0
  113. package/esm/components/grid.spec.js +316 -0
  114. package/esm/components/grid.spec.js.map +1 -0
  115. package/esm/components/inputs/autocomplete.spec.d.ts +2 -0
  116. package/esm/components/inputs/autocomplete.spec.d.ts.map +1 -0
  117. package/esm/components/inputs/autocomplete.spec.js +194 -0
  118. package/esm/components/inputs/autocomplete.spec.js.map +1 -0
  119. package/esm/components/inputs/input.d.ts.map +1 -1
  120. package/esm/components/inputs/input.js +141 -109
  121. package/esm/components/inputs/input.js.map +1 -1
  122. package/esm/components/inputs/input.spec.d.ts +2 -0
  123. package/esm/components/inputs/input.spec.d.ts.map +1 -0
  124. package/esm/components/inputs/input.spec.js +577 -0
  125. package/esm/components/inputs/input.spec.js.map +1 -0
  126. package/esm/components/inputs/text-area.d.ts.map +1 -1
  127. package/esm/components/inputs/text-area.js +54 -58
  128. package/esm/components/inputs/text-area.js.map +1 -1
  129. package/esm/components/inputs/text-area.spec.d.ts +2 -0
  130. package/esm/components/inputs/text-area.spec.d.ts.map +1 -0
  131. package/esm/components/inputs/text-area.spec.js +214 -0
  132. package/esm/components/inputs/text-area.spec.js.map +1 -0
  133. package/esm/components/loader.js +1 -1
  134. package/esm/components/loader.js.map +1 -1
  135. package/esm/components/loader.spec.d.ts +2 -0
  136. package/esm/components/loader.spec.d.ts.map +1 -0
  137. package/esm/components/loader.spec.js +251 -0
  138. package/esm/components/loader.spec.js.map +1 -0
  139. package/esm/components/modal.d.ts.map +1 -1
  140. package/esm/components/modal.js +11 -9
  141. package/esm/components/modal.js.map +1 -1
  142. package/esm/components/modal.spec.d.ts +2 -0
  143. package/esm/components/modal.spec.d.ts.map +1 -0
  144. package/esm/components/modal.spec.js +227 -0
  145. package/esm/components/modal.spec.js.map +1 -0
  146. package/esm/components/noty-list.d.ts.map +1 -1
  147. package/esm/components/noty-list.js +39 -40
  148. package/esm/components/noty-list.js.map +1 -1
  149. package/esm/components/noty-list.spec.d.ts +2 -0
  150. package/esm/components/noty-list.spec.d.ts.map +1 -0
  151. package/esm/components/noty-list.spec.js +486 -0
  152. package/esm/components/noty-list.spec.js.map +1 -0
  153. package/esm/components/paper.d.ts.map +1 -1
  154. package/esm/components/paper.js +15 -12
  155. package/esm/components/paper.js.map +1 -1
  156. package/esm/components/paper.spec.d.ts +2 -0
  157. package/esm/components/paper.spec.d.ts.map +1 -0
  158. package/esm/components/paper.spec.js +63 -0
  159. package/esm/components/paper.spec.js.map +1 -0
  160. package/esm/components/skeleton.js +1 -1
  161. package/esm/components/skeleton.js.map +1 -1
  162. package/esm/components/skeleton.spec.d.ts +2 -0
  163. package/esm/components/skeleton.spec.d.ts.map +1 -0
  164. package/esm/components/skeleton.spec.js +159 -0
  165. package/esm/components/skeleton.spec.js.map +1 -0
  166. package/esm/components/styles.spec.d.ts +2 -0
  167. package/esm/components/styles.spec.d.ts.map +1 -0
  168. package/esm/components/styles.spec.js +56 -0
  169. package/esm/components/styles.spec.js.map +1 -0
  170. package/esm/components/suggest/index.d.ts.map +1 -1
  171. package/esm/components/suggest/index.js +74 -83
  172. package/esm/components/suggest/index.js.map +1 -1
  173. package/esm/components/suggest/index.spec.d.ts +2 -0
  174. package/esm/components/suggest/index.spec.d.ts.map +1 -0
  175. package/esm/components/suggest/index.spec.js +515 -0
  176. package/esm/components/suggest/index.spec.js.map +1 -0
  177. package/esm/components/suggest/suggest-input.d.ts.map +1 -1
  178. package/esm/components/suggest/suggest-input.js +16 -17
  179. package/esm/components/suggest/suggest-input.js.map +1 -1
  180. package/esm/components/suggest/suggest-input.spec.d.ts +2 -0
  181. package/esm/components/suggest/suggest-input.spec.d.ts.map +1 -0
  182. package/esm/components/suggest/suggest-input.spec.js +138 -0
  183. package/esm/components/suggest/suggest-input.spec.js.map +1 -0
  184. package/esm/components/suggest/suggest-manager.spec.d.ts +2 -0
  185. package/esm/components/suggest/suggest-manager.spec.d.ts.map +1 -0
  186. package/esm/components/suggest/suggest-manager.spec.js +308 -0
  187. package/esm/components/suggest/suggest-manager.spec.js.map +1 -0
  188. package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
  189. package/esm/components/suggest/suggestion-list.js +43 -48
  190. package/esm/components/suggest/suggestion-list.js.map +1 -1
  191. package/esm/components/suggest/suggestion-list.spec.d.ts +2 -0
  192. package/esm/components/suggest/suggestion-list.spec.d.ts.map +1 -0
  193. package/esm/components/suggest/suggestion-list.spec.js +252 -0
  194. package/esm/components/suggest/suggestion-list.spec.js.map +1 -0
  195. package/esm/components/tabs.d.ts.map +1 -1
  196. package/esm/components/tabs.js +32 -18
  197. package/esm/components/tabs.js.map +1 -1
  198. package/esm/components/tabs.spec.d.ts +2 -0
  199. package/esm/components/tabs.spec.d.ts.map +1 -0
  200. package/esm/components/tabs.spec.js +187 -0
  201. package/esm/components/tabs.spec.js.map +1 -0
  202. package/esm/components/wizard/index.d.ts.map +1 -1
  203. package/esm/components/wizard/index.js +10 -7
  204. package/esm/components/wizard/index.js.map +1 -1
  205. package/esm/components/wizard/index.spec.d.ts +2 -0
  206. package/esm/components/wizard/index.spec.d.ts.map +1 -0
  207. package/esm/components/wizard/index.spec.js +171 -0
  208. package/esm/components/wizard/index.spec.js.map +1 -0
  209. package/esm/services/collection-service.spec.js +391 -2
  210. package/esm/services/collection-service.spec.js.map +1 -1
  211. package/esm/services/css-variable-theme.d.ts.map +1 -1
  212. package/esm/services/css-variable-theme.js +21 -1
  213. package/esm/services/css-variable-theme.js.map +1 -1
  214. package/esm/services/css-variable-theme.spec.d.ts +2 -0
  215. package/esm/services/css-variable-theme.spec.d.ts.map +1 -0
  216. package/esm/services/css-variable-theme.spec.js +169 -0
  217. package/esm/services/css-variable-theme.spec.js.map +1 -0
  218. package/esm/services/default-palette.d.ts +4 -0
  219. package/esm/services/default-palette.d.ts.map +1 -1
  220. package/esm/services/default-palette.js +22 -0
  221. package/esm/services/default-palette.js.map +1 -1
  222. package/esm/services/theme-provider-service.d.ts +59 -1
  223. package/esm/services/theme-provider-service.d.ts.map +1 -1
  224. package/esm/services/theme-provider-service.js.map +1 -1
  225. package/esm/services/theme-provider-service.spec.d.ts +2 -0
  226. package/esm/services/theme-provider-service.spec.d.ts.map +1 -0
  227. package/esm/services/theme-provider-service.spec.js +166 -0
  228. package/esm/services/theme-provider-service.spec.js.map +1 -0
  229. package/package.json +2 -2
  230. package/src/components/animations.spec.ts +299 -0
  231. package/src/components/app-bar-link.spec.tsx +341 -0
  232. package/src/components/app-bar-link.tsx +21 -21
  233. package/src/components/app-bar.spec.tsx +142 -0
  234. package/src/components/app-bar.tsx +22 -22
  235. package/src/components/avatar.spec.tsx +146 -0
  236. package/src/components/avatar.tsx +17 -20
  237. package/src/components/button.spec.tsx +193 -0
  238. package/src/components/button.tsx +162 -197
  239. package/src/components/command-palette/command-palette-input.spec.tsx +320 -0
  240. package/src/components/command-palette/command-palette-input.tsx +19 -22
  241. package/src/components/command-palette/command-palette-manager.spec.ts +470 -0
  242. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +499 -0
  243. package/src/components/command-palette/command-palette-suggestion-list.tsx +42 -46
  244. package/src/components/command-palette/index.spec.tsx +684 -0
  245. package/src/components/command-palette/index.tsx +107 -136
  246. package/src/components/data-grid/body.spec.tsx +340 -0
  247. package/src/components/data-grid/body.tsx +1 -1
  248. package/src/components/data-grid/data-grid-row.spec.tsx +382 -0
  249. package/src/components/data-grid/data-grid-row.tsx +50 -82
  250. package/src/components/data-grid/data-grid.spec.tsx +939 -0
  251. package/src/components/data-grid/data-grid.tsx +38 -35
  252. package/src/components/data-grid/footer.spec.tsx +344 -0
  253. package/src/components/data-grid/footer.tsx +19 -19
  254. package/src/components/data-grid/header.spec.tsx +563 -0
  255. package/src/components/data-grid/header.tsx +53 -44
  256. package/src/components/data-grid/selection-cell.spec.tsx +150 -0
  257. package/src/components/data-grid/selection-cell.tsx +12 -6
  258. package/src/components/fab.spec.tsx +108 -0
  259. package/src/components/fab.tsx +10 -1
  260. package/src/components/form.spec.tsx +481 -0
  261. package/src/components/grid.spec.tsx +334 -0
  262. package/src/components/grid.tsx +57 -63
  263. package/src/components/inputs/autocomplete.spec.tsx +258 -0
  264. package/src/components/inputs/input.spec.tsx +808 -0
  265. package/src/components/inputs/input.tsx +153 -139
  266. package/src/components/inputs/text-area.spec.tsx +285 -0
  267. package/src/components/inputs/text-area.tsx +53 -79
  268. package/src/components/loader.spec.tsx +346 -0
  269. package/src/components/loader.tsx +1 -1
  270. package/src/components/modal.spec.tsx +304 -0
  271. package/src/components/modal.tsx +11 -9
  272. package/src/components/noty-list.spec.tsx +631 -0
  273. package/src/components/noty-list.tsx +39 -50
  274. package/src/components/paper.spec.tsx +72 -0
  275. package/src/components/paper.tsx +15 -13
  276. package/src/components/skeleton.spec.tsx +219 -0
  277. package/src/components/skeleton.tsx +1 -1
  278. package/src/components/styles.spec.ts +70 -0
  279. package/src/components/suggest/index.spec.tsx +861 -0
  280. package/src/components/suggest/index.tsx +74 -101
  281. package/src/components/suggest/suggest-input.spec.tsx +181 -0
  282. package/src/components/suggest/suggest-input.tsx +16 -24
  283. package/src/components/suggest/suggest-manager.spec.ts +409 -0
  284. package/src/components/suggest/suggestion-list.spec.tsx +334 -0
  285. package/src/components/suggest/suggestion-list.tsx +43 -48
  286. package/src/components/tabs.spec.tsx +236 -0
  287. package/src/components/tabs.tsx +33 -21
  288. package/src/components/wizard/index.spec.tsx +224 -0
  289. package/src/components/wizard/index.tsx +10 -9
  290. package/src/services/collection-service.spec.ts +492 -3
  291. package/src/services/css-variable-theme.spec.ts +204 -0
  292. package/src/services/css-variable-theme.ts +21 -1
  293. package/src/services/default-palette.ts +22 -0
  294. package/src/services/theme-provider-service.spec.ts +195 -0
  295. package/src/services/theme-provider-service.ts +60 -2
@@ -0,0 +1,296 @@
1
+ import { Injector } from '@furystack/inject';
2
+ import { createComponent, initializeShadeRoot } from '@furystack/shades';
3
+ import { sleepAsync, usingAsync } from '@furystack/utils';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { CollectionService } from '../../services/collection-service.js';
6
+ import { DataGridRow } from './data-grid-row.js';
7
+ describe('DataGridRow', () => {
8
+ beforeEach(() => {
9
+ document.body.innerHTML = '<div id="root"></div>';
10
+ // Mock scrollTo for jsdom
11
+ Element.prototype.scrollTo = vi.fn();
12
+ });
13
+ afterEach(() => {
14
+ document.body.innerHTML = '';
15
+ });
16
+ const renderRow = async (props) => {
17
+ const injector = new Injector();
18
+ const root = document.getElementById('root');
19
+ initializeShadeRoot({
20
+ injector,
21
+ rootElement: root,
22
+ jsxElement: (createComponent("div", { className: "shade-grid-wrapper", style: { overflow: 'auto', height: '200px' } },
23
+ createComponent("table", null,
24
+ createComponent("thead", null,
25
+ createComponent("tr", null,
26
+ createComponent("th", null, "ID"),
27
+ createComponent("th", null, "Name"))),
28
+ createComponent("tbody", null,
29
+ createComponent(DataGridRow, { entry: props.entry, service: props.service, columns: props.columns ?? ['id', 'name'], onRowClick: props.onRowClick, onRowDoubleClick: props.onRowDoubleClick, focusedRowStyle: props.focusedRowStyle, selectedRowStyle: props.selectedRowStyle, unfocusedRowStyle: props.unfocusedRowStyle, unselectedRowStyle: props.unselectedRowStyle, rowComponents: props.rowComponents }))))),
30
+ });
31
+ await sleepAsync(50);
32
+ return {
33
+ injector,
34
+ getRow: () => root.querySelector('shades-data-grid-row'),
35
+ getCells: () => root.querySelectorAll('td'),
36
+ };
37
+ };
38
+ describe('rendering', () => {
39
+ it('should render as a table row element', async () => {
40
+ await usingAsync(new CollectionService(), async (service) => {
41
+ const entry = { id: 1, name: 'Test' };
42
+ const { getRow } = await renderRow({ entry, service });
43
+ const row = getRow();
44
+ expect(row).toBeTruthy();
45
+ expect(row?.tagName.toLowerCase()).toBe('shades-data-grid-row');
46
+ });
47
+ });
48
+ it('should render a cell for each column', async () => {
49
+ await usingAsync(new CollectionService(), async (service) => {
50
+ const entry = { id: 1, name: 'Test' };
51
+ const { getCells } = await renderRow({ entry, service, columns: ['id', 'name'] });
52
+ expect(getCells().length).toBe(2);
53
+ });
54
+ });
55
+ it('should render entry property values in cells', async () => {
56
+ await usingAsync(new CollectionService(), async (service) => {
57
+ const entry = { id: 42, name: 'Test Entry' };
58
+ const { getCells } = await renderRow({ entry, service });
59
+ const cells = getCells();
60
+ expect(cells[0]?.textContent).toBe('42');
61
+ expect(cells[1]?.textContent).toBe('Test Entry');
62
+ });
63
+ });
64
+ it('should use custom row components when provided', async () => {
65
+ await usingAsync(new CollectionService(), async (service) => {
66
+ const entry = { id: 1, name: 'Custom' };
67
+ const { getCells } = await renderRow({
68
+ entry,
69
+ service,
70
+ rowComponents: {
71
+ id: (e) => createComponent("span", { "data-testid": "custom-id" },
72
+ "ID: ",
73
+ e.id),
74
+ name: (e) => createComponent("strong", { "data-testid": "custom-name" }, e.name),
75
+ },
76
+ });
77
+ const cells = getCells();
78
+ expect(cells[0]?.querySelector('[data-testid="custom-id"]')?.textContent).toContain('ID: 1');
79
+ expect(cells[1]?.querySelector('[data-testid="custom-name"]')?.textContent).toBe('Custom');
80
+ });
81
+ });
82
+ });
83
+ describe('selection state', () => {
84
+ it('should not have selected class when entry is not selected', async () => {
85
+ await usingAsync(new CollectionService(), async (service) => {
86
+ const entry = { id: 1, name: 'Test' };
87
+ const { getRow } = await renderRow({ entry, service });
88
+ const row = getRow();
89
+ expect(row?.classList.contains('selected')).toBe(false);
90
+ });
91
+ });
92
+ it('should have selected class when entry is in selection', async () => {
93
+ await usingAsync(new CollectionService(), async (service) => {
94
+ const entry = { id: 1, name: 'Test' };
95
+ service.selection.setValue([entry]);
96
+ const { getRow } = await renderRow({ entry, service });
97
+ const row = getRow();
98
+ expect(row?.classList.contains('selected')).toBe(true);
99
+ });
100
+ });
101
+ it('should update selected class when selection changes', async () => {
102
+ await usingAsync(new CollectionService(), async (service) => {
103
+ const entry = { id: 1, name: 'Test' };
104
+ const { getRow } = await renderRow({ entry, service });
105
+ const row = getRow();
106
+ expect(row?.classList.contains('selected')).toBe(false);
107
+ service.selection.setValue([entry]);
108
+ await sleepAsync(50);
109
+ expect(row?.classList.contains('selected')).toBe(true);
110
+ service.selection.setValue([]);
111
+ await sleepAsync(50);
112
+ expect(row?.classList.contains('selected')).toBe(false);
113
+ });
114
+ });
115
+ it('should set aria-selected attribute based on selection', async () => {
116
+ await usingAsync(new CollectionService(), async (service) => {
117
+ const entry = { id: 1, name: 'Test' };
118
+ const { getRow } = await renderRow({ entry, service });
119
+ const row = getRow();
120
+ expect(row?.getAttribute('aria-selected')).toBe('false');
121
+ service.selection.setValue([entry]);
122
+ await sleepAsync(50);
123
+ expect(row?.getAttribute('aria-selected')).toBe('true');
124
+ });
125
+ });
126
+ it('should apply selectedRowStyle when entry is selected', async () => {
127
+ await usingAsync(new CollectionService(), async (service) => {
128
+ const entry = { id: 1, name: 'Test' };
129
+ service.selection.setValue([entry]);
130
+ const { getRow } = await renderRow({
131
+ entry,
132
+ service,
133
+ selectedRowStyle: { backgroundColor: 'rgb(255, 0, 0)' },
134
+ });
135
+ const row = getRow();
136
+ expect(row?.style.backgroundColor).toBe('rgb(255, 0, 0)');
137
+ });
138
+ });
139
+ it('should apply unselectedRowStyle when entry is not selected', async () => {
140
+ await usingAsync(new CollectionService(), async (service) => {
141
+ const entry = { id: 1, name: 'Test' };
142
+ const { getRow } = await renderRow({
143
+ entry,
144
+ service,
145
+ unselectedRowStyle: { backgroundColor: 'rgb(0, 255, 0)' },
146
+ });
147
+ const row = getRow();
148
+ expect(row?.style.backgroundColor).toBe('rgb(0, 255, 0)');
149
+ });
150
+ });
151
+ });
152
+ describe('focus state', () => {
153
+ it('should not have focused class when entry is not focused', async () => {
154
+ await usingAsync(new CollectionService(), async (service) => {
155
+ const entry = { id: 1, name: 'Test' };
156
+ const { getRow } = await renderRow({ entry, service });
157
+ const row = getRow();
158
+ expect(row?.classList.contains('focused')).toBe(false);
159
+ });
160
+ });
161
+ it('should have focused class when entry is focused', async () => {
162
+ await usingAsync(new CollectionService(), async (service) => {
163
+ const entry = { id: 1, name: 'Test' };
164
+ service.focusedEntry.setValue(entry);
165
+ const { getRow } = await renderRow({ entry, service });
166
+ const row = getRow();
167
+ expect(row?.classList.contains('focused')).toBe(true);
168
+ });
169
+ });
170
+ it('should update focused class when focus changes', async () => {
171
+ await usingAsync(new CollectionService(), async (service) => {
172
+ const entry = { id: 1, name: 'Test' };
173
+ const { getRow } = await renderRow({ entry, service });
174
+ const row = getRow();
175
+ expect(row?.classList.contains('focused')).toBe(false);
176
+ service.focusedEntry.setValue(entry);
177
+ await sleepAsync(50);
178
+ expect(row?.classList.contains('focused')).toBe(true);
179
+ service.focusedEntry.setValue(undefined);
180
+ await sleepAsync(50);
181
+ expect(row?.classList.contains('focused')).toBe(false);
182
+ });
183
+ });
184
+ it('should apply focusedRowStyle when entry is focused', async () => {
185
+ await usingAsync(new CollectionService(), async (service) => {
186
+ const entry = { id: 1, name: 'Test' };
187
+ service.focusedEntry.setValue(entry);
188
+ const { getRow } = await renderRow({
189
+ entry,
190
+ service,
191
+ focusedRowStyle: { fontWeight: 'bold' },
192
+ });
193
+ const row = getRow();
194
+ expect(row?.style.fontWeight).toBe('bold');
195
+ });
196
+ });
197
+ it('should apply unfocusedRowStyle when entry is not focused', async () => {
198
+ await usingAsync(new CollectionService(), async (service) => {
199
+ const entry = { id: 1, name: 'Test' };
200
+ const { getRow } = await renderRow({
201
+ entry,
202
+ service,
203
+ unfocusedRowStyle: { opacity: '0.8' },
204
+ });
205
+ const row = getRow();
206
+ expect(row?.style.opacity).toBe('0.8');
207
+ });
208
+ });
209
+ it('should not have focused class when different entry is focused', async () => {
210
+ await usingAsync(new CollectionService(), async (service) => {
211
+ const entry = { id: 1, name: 'Test' };
212
+ const otherEntry = { id: 2, name: 'Other' };
213
+ service.focusedEntry.setValue(otherEntry);
214
+ const { getRow } = await renderRow({ entry, service });
215
+ const row = getRow();
216
+ expect(row?.classList.contains('focused')).toBe(false);
217
+ });
218
+ });
219
+ });
220
+ describe('click handlers', () => {
221
+ it('should call onRowClick when cell is clicked', async () => {
222
+ await usingAsync(new CollectionService(), async (service) => {
223
+ const entry = { id: 1, name: 'Test' };
224
+ const onRowClick = vi.fn();
225
+ const { getCells } = await renderRow({ entry, service, onRowClick });
226
+ const cell = getCells()[0];
227
+ cell.click();
228
+ expect(onRowClick).toHaveBeenCalledWith(entry, expect.any(MouseEvent));
229
+ });
230
+ });
231
+ it('should call onRowDoubleClick when cell is double-clicked', async () => {
232
+ await usingAsync(new CollectionService(), async (service) => {
233
+ const entry = { id: 1, name: 'Test' };
234
+ const onRowDoubleClick = vi.fn();
235
+ const { getCells } = await renderRow({ entry, service, onRowDoubleClick });
236
+ const cell = getCells()[0];
237
+ const dblClickEvent = new MouseEvent('dblclick', { bubbles: true });
238
+ cell.dispatchEvent(dblClickEvent);
239
+ expect(onRowDoubleClick).toHaveBeenCalledWith(entry, expect.any(MouseEvent));
240
+ });
241
+ });
242
+ it('should not throw when onRowClick is not provided', async () => {
243
+ await usingAsync(new CollectionService(), async (service) => {
244
+ const entry = { id: 1, name: 'Test' };
245
+ const { getCells } = await renderRow({ entry, service });
246
+ const cell = getCells()[0];
247
+ expect(() => cell.click()).not.toThrow();
248
+ });
249
+ });
250
+ it('should not throw when onRowDoubleClick is not provided', async () => {
251
+ await usingAsync(new CollectionService(), async (service) => {
252
+ const entry = { id: 1, name: 'Test' };
253
+ const { getCells } = await renderRow({ entry, service });
254
+ const cell = getCells()[0];
255
+ const dblClickEvent = new MouseEvent('dblclick', { bubbles: true });
256
+ expect(() => cell.dispatchEvent(dblClickEvent)).not.toThrow();
257
+ });
258
+ });
259
+ });
260
+ describe('combined selection and focus states', () => {
261
+ it('should have both selected and focused classes when applicable', async () => {
262
+ await usingAsync(new CollectionService(), async (service) => {
263
+ const entry = { id: 1, name: 'Test' };
264
+ service.selection.setValue([entry]);
265
+ service.focusedEntry.setValue(entry);
266
+ const { getRow } = await renderRow({ entry, service });
267
+ const row = getRow();
268
+ expect(row?.classList.contains('selected')).toBe(true);
269
+ expect(row?.classList.contains('focused')).toBe(true);
270
+ });
271
+ });
272
+ it('should be selected but not focused', async () => {
273
+ await usingAsync(new CollectionService(), async (service) => {
274
+ const entry = { id: 1, name: 'Test' };
275
+ const otherEntry = { id: 2, name: 'Other' };
276
+ service.selection.setValue([entry]);
277
+ service.focusedEntry.setValue(otherEntry);
278
+ const { getRow } = await renderRow({ entry, service });
279
+ const row = getRow();
280
+ expect(row?.classList.contains('selected')).toBe(true);
281
+ expect(row?.classList.contains('focused')).toBe(false);
282
+ });
283
+ });
284
+ it('should be focused but not selected', async () => {
285
+ await usingAsync(new CollectionService(), async (service) => {
286
+ const entry = { id: 1, name: 'Test' };
287
+ service.focusedEntry.setValue(entry);
288
+ const { getRow } = await renderRow({ entry, service });
289
+ const row = getRow();
290
+ expect(row?.classList.contains('selected')).toBe(false);
291
+ expect(row?.classList.contains('focused')).toBe(true);
292
+ });
293
+ });
294
+ });
295
+ });
296
+ //# sourceMappingURL=data-grid-row.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid-row.spec.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid-row.spec.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,IAAI;KAClD,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO;CAC7D,CAAA;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI;KAClD,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,CAAC,EAAE,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO;CACjG,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM;IACrD;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACvC;;OAEG;IACH,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D;;OAEG;IACH,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IACzC;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAChD;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEjD;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,EAC9C,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,YAAY,KACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAiGlB,CAAA"}
1
+ {"version":3,"file":"data-grid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,IAAI;KAClD,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO;CAC7D,CAAA;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI;KAClD,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,CAAC,EAAE,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO;CACjG,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM;IACrD;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtC;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACvC;;OAEG;IACH,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D;;OAEG;IACH,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IACzC;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAChD;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEjD;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,EAC9C,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,YAAY,KACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAoGlB,CAAA"}
@@ -1,26 +1,27 @@
1
- import { createComponent, Shade } from '@furystack/shades';
1
+ import { attachStyles, createComponent, Shade } from '@furystack/shades';
2
2
  import { ClickAwayService } from '../../services/click-away-service.js';
3
- import { ThemeProviderService } from '../../services/theme-provider-service.js';
3
+ import { cssVariableTheme } from '../../services/css-variable-theme.js';
4
4
  import { DataGridBody } from './body.js';
5
5
  import { DataGridFooter } from './footer.js';
6
6
  import { DataGridHeader } from './header.js';
7
7
  export const DataGrid = Shade({
8
8
  shadowDomName: 'shade-data-grid',
9
- constructed: ({ props }) => {
10
- const listener = (ev) => props.collectionService.handleKeyDown(ev);
11
- window.addEventListener('keydown', listener);
12
- return () => window.removeEventListener('keydown', listener);
13
- },
14
- render: ({ props, injector, useDisposable, element }) => {
15
- const tp = injector.getInstance(ThemeProviderService);
16
- const { theme } = tp;
17
- useDisposable('clickAway', () => new ClickAwayService(element, () => {
18
- props.collectionService.hasFocus.setValue(false);
19
- }));
20
- const headerStyle = {
9
+ css: {
10
+ display: 'block',
11
+ width: '100%',
12
+ height: '100%',
13
+ overflow: 'auto',
14
+ zIndex: '1',
15
+ '& table': {
16
+ width: '100%',
17
+ maxHeight: 'calc(100% - 4em)',
18
+ position: 'relative',
19
+ borderCollapse: 'collapse',
20
+ },
21
+ '& th': {
21
22
  backdropFilter: 'blur(12px) saturate(180%)',
22
23
  background: 'rgba(128,128,128,0.3)',
23
- color: theme.text.secondary,
24
+ color: cssVariableTheme.text.secondary,
24
25
  height: '48px',
25
26
  padding: '0 1.2em',
26
27
  alignItems: 'center',
@@ -34,23 +35,29 @@ export const DataGrid = Shade({
34
35
  textAlign: 'left',
35
36
  zIndex: '1',
36
37
  boxShadow: 'rgba(0, 0, 0, 0.2) 1px 1px 1px 2px',
37
- borderBottom: `2px solid rgba(128, 128, 128, 0.2)`,
38
- borderRight: `1px solid rgba(128, 128, 128, 0.2)`,
39
- ...props.styles?.header,
40
- };
41
- return (createComponent("div", { className: "shade-grid-wrapper", style: {
42
- ...props.styles?.wrapper,
43
- width: '100%',
44
- height: '100%',
45
- overflow: 'auto',
46
- zIndex: '1',
47
- }, onclick: () => {
38
+ borderBottom: '2px solid rgba(128, 128, 128, 0.2)',
39
+ borderRight: '1px solid rgba(128, 128, 128, 0.2)',
40
+ },
41
+ },
42
+ constructed: ({ props }) => {
43
+ const listener = (ev) => props.collectionService.handleKeyDown(ev);
44
+ window.addEventListener('keydown', listener);
45
+ return () => window.removeEventListener('keydown', listener);
46
+ },
47
+ render: ({ props, useDisposable, element }) => {
48
+ useDisposable('clickAway', () => new ClickAwayService(element, () => {
49
+ props.collectionService.hasFocus.setValue(false);
50
+ }));
51
+ if (props.styles?.wrapper) {
52
+ attachStyles(element, { style: props.styles.wrapper });
53
+ }
54
+ return (createComponent("div", { className: "shade-grid-wrapper", onclick: () => {
48
55
  props.collectionService.hasFocus.setValue(true);
49
56
  }, ariaMultiSelectable: "true" },
50
- createComponent("table", { style: { width: '100%', maxHeight: 'calc(100% - 4em)', position: 'relative', borderCollapse: 'collapse' } },
57
+ createComponent("table", null,
51
58
  createComponent("thead", null,
52
59
  createComponent("tr", null, props.columns.map((column) => {
53
- return (createComponent("th", { style: headerStyle }, props.headerComponents?.[column]?.(column) || props.headerComponents?.default?.(column) || (createComponent(DataGridHeader, { field: column, findOptions: props.findOptions }))));
60
+ return (createComponent("th", { style: props.styles?.header }, props.headerComponents?.[column]?.(column) || props.headerComponents?.default?.(column) || (createComponent(DataGridHeader, { field: column, findOptions: props.findOptions }))));
54
61
  }))),
55
62
  createComponent(DataGridBody, { columns: props.columns, service: props.collectionService, rowComponents: props.rowComponents, onRowClick: (entry, ev) => props.collectionService.handleRowClick(entry, ev), onRowDoubleClick: (entry) => props.collectionService.handleRowDoubleClick(entry), style: props.styles?.cell, focusedRowStyle: props.focusedRowStyle, selectedRowStyle: props.selectedRowStyle, unfocusedRowStyle: props.unfocusedRowStyle, unselectedRowStyle: props.unselectedRowStyle, emptyComponent: props.emptyComponent, loaderComponent: props.loaderComponent })),
56
63
  createComponent(DataGridFooter, { service: props.collectionService, findOptions: props.findOptions })));
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data-grid.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid.spec.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.spec.tsx"],"names":[],"mappings":""}