@solid2-aria/components 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -2
  3. package/dist/LICENSES/Apache-2.0.txt +201 -0
  4. package/dist/LICENSES/react-spectrum-NOTICE.txt +242 -0
  5. package/dist/NOTICE.txt +636 -0
  6. package/dist/browser/autocomplete.d.ts +35 -0
  7. package/dist/browser/autocomplete.js +69 -0
  8. package/dist/browser/autocomplete.js.map +1 -0
  9. package/dist/browser/breadcrumbs.d.ts +71 -0
  10. package/dist/browser/breadcrumbs.js +121 -0
  11. package/dist/browser/breadcrumbs.js.map +1 -0
  12. package/dist/browser/button.d.ts +36 -0
  13. package/dist/browser/button.js +156 -0
  14. package/dist/browser/button.js.map +1 -0
  15. package/dist/browser/calendar.d.ts +103 -0
  16. package/dist/browser/calendar.js +581 -0
  17. package/dist/browser/calendar.js.map +1 -0
  18. package/dist/browser/checkbox.d.ts +67 -0
  19. package/dist/browser/checkbox.js +345 -0
  20. package/dist/browser/checkbox.js.map +1 -0
  21. package/dist/browser/collection-dnd.d.ts +56 -0
  22. package/dist/browser/collection-dnd.js +156 -0
  23. package/dist/browser/collection-dnd.js.map +1 -0
  24. package/dist/browser/collection.d.ts +153 -0
  25. package/dist/browser/collection.js +106 -0
  26. package/dist/browser/collection.js.map +1 -0
  27. package/dist/browser/color-area.d.ts +21 -0
  28. package/dist/browser/color-area.js +94 -0
  29. package/dist/browser/color-area.js.map +1 -0
  30. package/dist/browser/color-field.d.ts +39 -0
  31. package/dist/browser/color-field.js +232 -0
  32. package/dist/browser/color-field.js.map +1 -0
  33. package/dist/browser/color-picker.d.ts +30 -0
  34. package/dist/browser/color-picker.js +84 -0
  35. package/dist/browser/color-picker.js.map +1 -0
  36. package/dist/browser/color-slider.d.ts +23 -0
  37. package/dist/browser/color-slider.js +132 -0
  38. package/dist/browser/color-slider.js.map +1 -0
  39. package/dist/browser/color-swatch-picker.d.ts +29 -0
  40. package/dist/browser/color-swatch-picker.js +131 -0
  41. package/dist/browser/color-swatch-picker.js.map +1 -0
  42. package/dist/browser/color-swatch.d.ts +19 -0
  43. package/dist/browser/color-swatch.js +42 -0
  44. package/dist/browser/color-swatch.js.map +1 -0
  45. package/dist/browser/color-thumb.d.ts +42 -0
  46. package/dist/browser/color-thumb.js +114 -0
  47. package/dist/browser/color-thumb.js.map +1 -0
  48. package/dist/browser/color-wheel.d.ts +29 -0
  49. package/dist/browser/color-wheel.js +109 -0
  50. package/dist/browser/color-wheel.js.map +1 -0
  51. package/dist/browser/combo-box.d.ts +113 -0
  52. package/dist/browser/combo-box.js +394 -0
  53. package/dist/browser/combo-box.js.map +1 -0
  54. package/dist/browser/create-drag-and-drop.d.ts +61 -0
  55. package/dist/browser/create-drag-and-drop.js +56 -0
  56. package/dist/browser/create-drag-and-drop.js.map +1 -0
  57. package/dist/browser/date-field.d.ts +71 -0
  58. package/dist/browser/date-field.js +508 -0
  59. package/dist/browser/date-field.js.map +1 -0
  60. package/dist/browser/date-picker.d.ts +50 -0
  61. package/dist/browser/date-picker.js +403 -0
  62. package/dist/browser/date-picker.js.map +1 -0
  63. package/dist/browser/dialog.d.ts +35 -0
  64. package/dist/browser/dialog.js +148 -0
  65. package/dist/browser/dialog.js.map +1 -0
  66. package/dist/browser/disclosure.d.ts +56 -0
  67. package/dist/browser/disclosure.js +180 -0
  68. package/dist/browser/disclosure.js.map +1 -0
  69. package/dist/browser/drag-and-drop.d.ts +43 -0
  70. package/dist/browser/drag-and-drop.js +66 -0
  71. package/dist/browser/drag-and-drop.js.map +1 -0
  72. package/dist/browser/drop-zone.d.ts +33 -0
  73. package/dist/browser/drop-zone.js +161 -0
  74. package/dist/browser/drop-zone.js.map +1 -0
  75. package/dist/browser/field-error.d.ts +28 -0
  76. package/dist/browser/field-error.js +60 -0
  77. package/dist/browser/field-error.js.map +1 -0
  78. package/dist/browser/file-trigger.d.ts +30 -0
  79. package/dist/browser/file-trigger.js +66 -0
  80. package/dist/browser/file-trigger.js.map +1 -0
  81. package/dist/browser/form.d.ts +28 -0
  82. package/dist/browser/form.js +64 -0
  83. package/dist/browser/form.js.map +1 -0
  84. package/dist/browser/grid-layout.d.ts +22 -0
  85. package/dist/browser/grid-layout.js +30 -0
  86. package/dist/browser/grid-layout.js.map +1 -0
  87. package/dist/browser/grid-list.d.ts +95 -0
  88. package/dist/browser/grid-list.js +609 -0
  89. package/dist/browser/grid-list.js.map +1 -0
  90. package/dist/browser/group.d.ts +35 -0
  91. package/dist/browser/group.js +92 -0
  92. package/dist/browser/group.js.map +1 -0
  93. package/dist/browser/header.d.ts +25 -0
  94. package/dist/browser/header.js +57 -0
  95. package/dist/browser/header.js.map +1 -0
  96. package/dist/browser/heading.d.ts +26 -0
  97. package/dist/browser/heading.js +53 -0
  98. package/dist/browser/heading.js.map +1 -0
  99. package/dist/browser/hidden-date-input.d.ts +34 -0
  100. package/dist/browser/hidden-date-input.js +84 -0
  101. package/dist/browser/hidden-date-input.js.map +1 -0
  102. package/dist/browser/index.d.ts +133 -0
  103. package/dist/browser/index.js +98 -0
  104. package/dist/browser/input.d.ts +33 -0
  105. package/dist/browser/input.js +94 -0
  106. package/dist/browser/input.js.map +1 -0
  107. package/dist/browser/intl/ar-AE.js +11 -0
  108. package/dist/browser/intl/ar-AE.js.map +1 -0
  109. package/dist/browser/intl/bg-BG.js +11 -0
  110. package/dist/browser/intl/bg-BG.js.map +1 -0
  111. package/dist/browser/intl/cs-CZ.js +11 -0
  112. package/dist/browser/intl/cs-CZ.js.map +1 -0
  113. package/dist/browser/intl/da-DK.js +11 -0
  114. package/dist/browser/intl/da-DK.js.map +1 -0
  115. package/dist/browser/intl/de-DE.js +11 -0
  116. package/dist/browser/intl/de-DE.js.map +1 -0
  117. package/dist/browser/intl/el-GR.js +11 -0
  118. package/dist/browser/intl/el-GR.js.map +1 -0
  119. package/dist/browser/intl/en-US.js +11 -0
  120. package/dist/browser/intl/en-US.js.map +1 -0
  121. package/dist/browser/intl/es-ES.js +11 -0
  122. package/dist/browser/intl/es-ES.js.map +1 -0
  123. package/dist/browser/intl/et-EE.js +11 -0
  124. package/dist/browser/intl/et-EE.js.map +1 -0
  125. package/dist/browser/intl/fi-FI.js +11 -0
  126. package/dist/browser/intl/fi-FI.js.map +1 -0
  127. package/dist/browser/intl/fr-FR.js +11 -0
  128. package/dist/browser/intl/fr-FR.js.map +1 -0
  129. package/dist/browser/intl/he-IL.js +11 -0
  130. package/dist/browser/intl/he-IL.js.map +1 -0
  131. package/dist/browser/intl/hr-HR.js +11 -0
  132. package/dist/browser/intl/hr-HR.js.map +1 -0
  133. package/dist/browser/intl/hu-HU.js +11 -0
  134. package/dist/browser/intl/hu-HU.js.map +1 -0
  135. package/dist/browser/intl/index.js +75 -0
  136. package/dist/browser/intl/index.js.map +1 -0
  137. package/dist/browser/intl/it-IT.js +11 -0
  138. package/dist/browser/intl/it-IT.js.map +1 -0
  139. package/dist/browser/intl/ja-JP.js +11 -0
  140. package/dist/browser/intl/ja-JP.js.map +1 -0
  141. package/dist/browser/intl/ko-KR.js +11 -0
  142. package/dist/browser/intl/ko-KR.js.map +1 -0
  143. package/dist/browser/intl/lt-LT.js +11 -0
  144. package/dist/browser/intl/lt-LT.js.map +1 -0
  145. package/dist/browser/intl/lv-LV.js +11 -0
  146. package/dist/browser/intl/lv-LV.js.map +1 -0
  147. package/dist/browser/intl/nb-NO.js +11 -0
  148. package/dist/browser/intl/nb-NO.js.map +1 -0
  149. package/dist/browser/intl/nl-NL.js +11 -0
  150. package/dist/browser/intl/nl-NL.js.map +1 -0
  151. package/dist/browser/intl/pl-PL.js +11 -0
  152. package/dist/browser/intl/pl-PL.js.map +1 -0
  153. package/dist/browser/intl/pt-BR.js +11 -0
  154. package/dist/browser/intl/pt-BR.js.map +1 -0
  155. package/dist/browser/intl/pt-PT.js +11 -0
  156. package/dist/browser/intl/pt-PT.js.map +1 -0
  157. package/dist/browser/intl/ro-RO.js +11 -0
  158. package/dist/browser/intl/ro-RO.js.map +1 -0
  159. package/dist/browser/intl/ru-RU.js +11 -0
  160. package/dist/browser/intl/ru-RU.js.map +1 -0
  161. package/dist/browser/intl/sk-SK.js +11 -0
  162. package/dist/browser/intl/sk-SK.js.map +1 -0
  163. package/dist/browser/intl/sl-SI.js +11 -0
  164. package/dist/browser/intl/sl-SI.js.map +1 -0
  165. package/dist/browser/intl/sr-SP.js +11 -0
  166. package/dist/browser/intl/sr-SP.js.map +1 -0
  167. package/dist/browser/intl/sv-SE.js +11 -0
  168. package/dist/browser/intl/sv-SE.js.map +1 -0
  169. package/dist/browser/intl/tr-TR.js +11 -0
  170. package/dist/browser/intl/tr-TR.js.map +1 -0
  171. package/dist/browser/intl/uk-UA.js +11 -0
  172. package/dist/browser/intl/uk-UA.js.map +1 -0
  173. package/dist/browser/intl/zh-CN.js +11 -0
  174. package/dist/browser/intl/zh-CN.js.map +1 -0
  175. package/dist/browser/intl/zh-TW.js +11 -0
  176. package/dist/browser/intl/zh-TW.js.map +1 -0
  177. package/dist/browser/keyboard.d.ts +25 -0
  178. package/dist/browser/keyboard.js +50 -0
  179. package/dist/browser/keyboard.js.map +1 -0
  180. package/dist/browser/label.d.ts +26 -0
  181. package/dist/browser/label.js +53 -0
  182. package/dist/browser/label.js.map +1 -0
  183. package/dist/browser/link.d.ts +34 -0
  184. package/dist/browser/link.js +92 -0
  185. package/dist/browser/link.js.map +1 -0
  186. package/dist/browser/list-box.d.ts +171 -0
  187. package/dist/browser/list-box.js +547 -0
  188. package/dist/browser/list-box.js.map +1 -0
  189. package/dist/browser/menu.d.ts +150 -0
  190. package/dist/browser/menu.js +597 -0
  191. package/dist/browser/menu.js.map +1 -0
  192. package/dist/browser/meter.d.ts +29 -0
  193. package/dist/browser/meter.js +73 -0
  194. package/dist/browser/meter.js.map +1 -0
  195. package/dist/browser/modal.d.ts +48 -0
  196. package/dist/browser/modal.js +190 -0
  197. package/dist/browser/modal.js.map +1 -0
  198. package/dist/browser/navigation-tree.d.ts +54 -0
  199. package/dist/browser/navigation-tree.js +233 -0
  200. package/dist/browser/navigation-tree.js.map +1 -0
  201. package/dist/browser/number-field.d.ts +36 -0
  202. package/dist/browser/number-field.js +179 -0
  203. package/dist/browser/number-field.js.map +1 -0
  204. package/dist/browser/overlay-arrow.d.ts +32 -0
  205. package/dist/browser/overlay-arrow.js +65 -0
  206. package/dist/browser/overlay-arrow.js.map +1 -0
  207. package/dist/browser/overlay-contexts.d.ts +22 -0
  208. package/dist/browser/overlay-contexts.js +24 -0
  209. package/dist/browser/overlay-contexts.js.map +1 -0
  210. package/dist/browser/popover.d.ts +50 -0
  211. package/dist/browser/popover.js +255 -0
  212. package/dist/browser/popover.js.map +1 -0
  213. package/dist/browser/preview-trigger.d.ts +25 -0
  214. package/dist/browser/preview-trigger.js +93 -0
  215. package/dist/browser/preview-trigger.js.map +1 -0
  216. package/dist/browser/progress-bar.d.ts +30 -0
  217. package/dist/browser/progress-bar.js +76 -0
  218. package/dist/browser/progress-bar.js.map +1 -0
  219. package/dist/browser/radio-group.d.ts +67 -0
  220. package/dist/browser/radio-group.js +336 -0
  221. package/dist/browser/radio-group.js.map +1 -0
  222. package/dist/browser/search-field.d.ts +34 -0
  223. package/dist/browser/search-field.js +156 -0
  224. package/dist/browser/search-field.js.map +1 -0
  225. package/dist/browser/select.d.ts +115 -0
  226. package/dist/browser/select.js +351 -0
  227. package/dist/browser/select.js.map +1 -0
  228. package/dist/browser/selection-indicator.d.ts +25 -0
  229. package/dist/browser/selection-indicator.js +40 -0
  230. package/dist/browser/selection-indicator.js.map +1 -0
  231. package/dist/browser/separator.d.ts +30 -0
  232. package/dist/browser/separator.js +68 -0
  233. package/dist/browser/separator.js.map +1 -0
  234. package/dist/browser/shared-element-transition.d.ts +35 -0
  235. package/dist/browser/shared-element-transition.js +141 -0
  236. package/dist/browser/shared-element-transition.js.map +1 -0
  237. package/dist/browser/sheet.d.ts +64 -0
  238. package/dist/browser/sheet.js +982 -0
  239. package/dist/browser/sheet.js.map +1 -0
  240. package/dist/browser/slider.d.ts +77 -0
  241. package/dist/browser/slider.js +318 -0
  242. package/dist/browser/slider.js.map +1 -0
  243. package/dist/browser/switch.d.ts +54 -0
  244. package/dist/browser/switch.js +240 -0
  245. package/dist/browser/switch.js.map +1 -0
  246. package/dist/browser/table-layout.d.ts +22 -0
  247. package/dist/browser/table-layout.js +31 -0
  248. package/dist/browser/table-layout.js.map +1 -0
  249. package/dist/browser/table.d.ts +184 -0
  250. package/dist/browser/table.js +1268 -0
  251. package/dist/browser/table.js.map +1 -0
  252. package/dist/browser/tabs.d.ts +194 -0
  253. package/dist/browser/tabs.js +378 -0
  254. package/dist/browser/tabs.js.map +1 -0
  255. package/dist/browser/tag-group.d.ts +112 -0
  256. package/dist/browser/tag-group.js +291 -0
  257. package/dist/browser/tag-group.js.map +1 -0
  258. package/dist/browser/text-area.d.ts +16 -0
  259. package/dist/browser/text-area.js +75 -0
  260. package/dist/browser/text-area.js.map +1 -0
  261. package/dist/browser/text-field.d.ts +31 -0
  262. package/dist/browser/text-field.js +152 -0
  263. package/dist/browser/text-field.js.map +1 -0
  264. package/dist/browser/text.d.ts +25 -0
  265. package/dist/browser/text.js +52 -0
  266. package/dist/browser/text.js.map +1 -0
  267. package/dist/browser/toast.d.ts +66 -0
  268. package/dist/browser/toast.js +226 -0
  269. package/dist/browser/toast.js.map +1 -0
  270. package/dist/browser/toggle-button-group.d.ts +32 -0
  271. package/dist/browser/toggle-button-group.js +74 -0
  272. package/dist/browser/toggle-button-group.js.map +1 -0
  273. package/dist/browser/toggle-button.d.ts +33 -0
  274. package/dist/browser/toggle-button.js +119 -0
  275. package/dist/browser/toggle-button.js.map +1 -0
  276. package/dist/browser/token-field.d.ts +124 -0
  277. package/dist/browser/token-field.js +277 -0
  278. package/dist/browser/token-field.js.map +1 -0
  279. package/dist/browser/toolbar.d.ts +28 -0
  280. package/dist/browser/toolbar.js +51 -0
  281. package/dist/browser/toolbar.js.map +1 -0
  282. package/dist/browser/tooltip.d.ts +44 -0
  283. package/dist/browser/tooltip.js +183 -0
  284. package/dist/browser/tooltip.js.map +1 -0
  285. package/dist/browser/tree-drop-target-delegate.d.ts +33 -0
  286. package/dist/browser/tree-drop-target-delegate.js +178 -0
  287. package/dist/browser/tree-drop-target-delegate.js.map +1 -0
  288. package/dist/browser/tree.d.ts +98 -0
  289. package/dist/browser/tree.js +699 -0
  290. package/dist/browser/tree.js.map +1 -0
  291. package/dist/browser/utils.d.ts +94 -0
  292. package/dist/browser/utils.js +173 -0
  293. package/dist/browser/utils.js.map +1 -0
  294. package/dist/browser/virtualizer.d.ts +33 -0
  295. package/dist/browser/virtualizer.js +179 -0
  296. package/dist/browser/virtualizer.js.map +1 -0
  297. package/dist/server/autocomplete.js +125 -0
  298. package/dist/server/autocomplete.js.map +1 -0
  299. package/dist/server/breadcrumbs.js +185 -0
  300. package/dist/server/breadcrumbs.js.map +1 -0
  301. package/dist/server/button.js +252 -0
  302. package/dist/server/button.js.map +1 -0
  303. package/dist/server/calendar.js +1054 -0
  304. package/dist/server/calendar.js.map +1 -0
  305. package/dist/server/checkbox.js +595 -0
  306. package/dist/server/checkbox.js.map +1 -0
  307. package/dist/server/collection-dnd.js +217 -0
  308. package/dist/server/collection-dnd.js.map +1 -0
  309. package/dist/server/collection.js +106 -0
  310. package/dist/server/collection.js.map +1 -0
  311. package/dist/server/color-area.js +142 -0
  312. package/dist/server/color-area.js.map +1 -0
  313. package/dist/server/color-field.js +394 -0
  314. package/dist/server/color-field.js.map +1 -0
  315. package/dist/server/color-picker.js +170 -0
  316. package/dist/server/color-picker.js.map +1 -0
  317. package/dist/server/color-slider.js +328 -0
  318. package/dist/server/color-slider.js.map +1 -0
  319. package/dist/server/color-swatch-picker.js +234 -0
  320. package/dist/server/color-swatch-picker.js.map +1 -0
  321. package/dist/server/color-swatch.js +52 -0
  322. package/dist/server/color-swatch.js.map +1 -0
  323. package/dist/server/color-thumb.js +132 -0
  324. package/dist/server/color-thumb.js.map +1 -0
  325. package/dist/server/color-wheel.js +188 -0
  326. package/dist/server/color-wheel.js.map +1 -0
  327. package/dist/server/combo-box.js +914 -0
  328. package/dist/server/combo-box.js.map +1 -0
  329. package/dist/server/create-drag-and-drop.js +56 -0
  330. package/dist/server/create-drag-and-drop.js.map +1 -0
  331. package/dist/server/date-field.js +1055 -0
  332. package/dist/server/date-field.js.map +1 -0
  333. package/dist/server/date-picker.js +1079 -0
  334. package/dist/server/date-picker.js.map +1 -0
  335. package/dist/server/dialog.js +295 -0
  336. package/dist/server/dialog.js.map +1 -0
  337. package/dist/server/disclosure.js +292 -0
  338. package/dist/server/disclosure.js.map +1 -0
  339. package/dist/server/drag-and-drop.js +66 -0
  340. package/dist/server/drag-and-drop.js.map +1 -0
  341. package/dist/server/drop-zone.js +241 -0
  342. package/dist/server/drop-zone.js.map +1 -0
  343. package/dist/server/field-error.js +90 -0
  344. package/dist/server/field-error.js.map +1 -0
  345. package/dist/server/file-trigger.js +98 -0
  346. package/dist/server/file-trigger.js.map +1 -0
  347. package/dist/server/form.js +116 -0
  348. package/dist/server/form.js.map +1 -0
  349. package/dist/server/grid-layout.js +30 -0
  350. package/dist/server/grid-layout.js.map +1 -0
  351. package/dist/server/grid-list.js +1015 -0
  352. package/dist/server/grid-list.js.map +1 -0
  353. package/dist/server/group.js +146 -0
  354. package/dist/server/group.js.map +1 -0
  355. package/dist/server/header.js +72 -0
  356. package/dist/server/header.js.map +1 -0
  357. package/dist/server/heading.js +68 -0
  358. package/dist/server/heading.js.map +1 -0
  359. package/dist/server/hidden-date-input.js +79 -0
  360. package/dist/server/hidden-date-input.js.map +1 -0
  361. package/dist/server/index.js +98 -0
  362. package/dist/server/input.js +134 -0
  363. package/dist/server/input.js.map +1 -0
  364. package/dist/server/intl/ar-AE.js +11 -0
  365. package/dist/server/intl/ar-AE.js.map +1 -0
  366. package/dist/server/intl/bg-BG.js +11 -0
  367. package/dist/server/intl/bg-BG.js.map +1 -0
  368. package/dist/server/intl/cs-CZ.js +11 -0
  369. package/dist/server/intl/cs-CZ.js.map +1 -0
  370. package/dist/server/intl/da-DK.js +11 -0
  371. package/dist/server/intl/da-DK.js.map +1 -0
  372. package/dist/server/intl/de-DE.js +11 -0
  373. package/dist/server/intl/de-DE.js.map +1 -0
  374. package/dist/server/intl/el-GR.js +11 -0
  375. package/dist/server/intl/el-GR.js.map +1 -0
  376. package/dist/server/intl/en-US.js +11 -0
  377. package/dist/server/intl/en-US.js.map +1 -0
  378. package/dist/server/intl/es-ES.js +11 -0
  379. package/dist/server/intl/es-ES.js.map +1 -0
  380. package/dist/server/intl/et-EE.js +11 -0
  381. package/dist/server/intl/et-EE.js.map +1 -0
  382. package/dist/server/intl/fi-FI.js +11 -0
  383. package/dist/server/intl/fi-FI.js.map +1 -0
  384. package/dist/server/intl/fr-FR.js +11 -0
  385. package/dist/server/intl/fr-FR.js.map +1 -0
  386. package/dist/server/intl/he-IL.js +11 -0
  387. package/dist/server/intl/he-IL.js.map +1 -0
  388. package/dist/server/intl/hr-HR.js +11 -0
  389. package/dist/server/intl/hr-HR.js.map +1 -0
  390. package/dist/server/intl/hu-HU.js +11 -0
  391. package/dist/server/intl/hu-HU.js.map +1 -0
  392. package/dist/server/intl/index.js +75 -0
  393. package/dist/server/intl/index.js.map +1 -0
  394. package/dist/server/intl/it-IT.js +11 -0
  395. package/dist/server/intl/it-IT.js.map +1 -0
  396. package/dist/server/intl/ja-JP.js +11 -0
  397. package/dist/server/intl/ja-JP.js.map +1 -0
  398. package/dist/server/intl/ko-KR.js +11 -0
  399. package/dist/server/intl/ko-KR.js.map +1 -0
  400. package/dist/server/intl/lt-LT.js +11 -0
  401. package/dist/server/intl/lt-LT.js.map +1 -0
  402. package/dist/server/intl/lv-LV.js +11 -0
  403. package/dist/server/intl/lv-LV.js.map +1 -0
  404. package/dist/server/intl/nb-NO.js +11 -0
  405. package/dist/server/intl/nb-NO.js.map +1 -0
  406. package/dist/server/intl/nl-NL.js +11 -0
  407. package/dist/server/intl/nl-NL.js.map +1 -0
  408. package/dist/server/intl/pl-PL.js +11 -0
  409. package/dist/server/intl/pl-PL.js.map +1 -0
  410. package/dist/server/intl/pt-BR.js +11 -0
  411. package/dist/server/intl/pt-BR.js.map +1 -0
  412. package/dist/server/intl/pt-PT.js +11 -0
  413. package/dist/server/intl/pt-PT.js.map +1 -0
  414. package/dist/server/intl/ro-RO.js +11 -0
  415. package/dist/server/intl/ro-RO.js.map +1 -0
  416. package/dist/server/intl/ru-RU.js +11 -0
  417. package/dist/server/intl/ru-RU.js.map +1 -0
  418. package/dist/server/intl/sk-SK.js +11 -0
  419. package/dist/server/intl/sk-SK.js.map +1 -0
  420. package/dist/server/intl/sl-SI.js +11 -0
  421. package/dist/server/intl/sl-SI.js.map +1 -0
  422. package/dist/server/intl/sr-SP.js +11 -0
  423. package/dist/server/intl/sr-SP.js.map +1 -0
  424. package/dist/server/intl/sv-SE.js +11 -0
  425. package/dist/server/intl/sv-SE.js.map +1 -0
  426. package/dist/server/intl/tr-TR.js +11 -0
  427. package/dist/server/intl/tr-TR.js.map +1 -0
  428. package/dist/server/intl/uk-UA.js +11 -0
  429. package/dist/server/intl/uk-UA.js.map +1 -0
  430. package/dist/server/intl/zh-CN.js +11 -0
  431. package/dist/server/intl/zh-CN.js.map +1 -0
  432. package/dist/server/intl/zh-TW.js +11 -0
  433. package/dist/server/intl/zh-TW.js.map +1 -0
  434. package/dist/server/keyboard.js +65 -0
  435. package/dist/server/keyboard.js.map +1 -0
  436. package/dist/server/label.js +68 -0
  437. package/dist/server/label.js.map +1 -0
  438. package/dist/server/link.js +138 -0
  439. package/dist/server/link.js.map +1 -0
  440. package/dist/server/list-box.js +906 -0
  441. package/dist/server/list-box.js.map +1 -0
  442. package/dist/server/menu.js +1188 -0
  443. package/dist/server/menu.js.map +1 -0
  444. package/dist/server/meter.js +101 -0
  445. package/dist/server/meter.js.map +1 -0
  446. package/dist/server/modal.js +360 -0
  447. package/dist/server/modal.js.map +1 -0
  448. package/dist/server/navigation-tree.js +316 -0
  449. package/dist/server/navigation-tree.js.map +1 -0
  450. package/dist/server/number-field.js +371 -0
  451. package/dist/server/number-field.js.map +1 -0
  452. package/dist/server/overlay-arrow.js +81 -0
  453. package/dist/server/overlay-arrow.js.map +1 -0
  454. package/dist/server/overlay-contexts.js +24 -0
  455. package/dist/server/overlay-contexts.js.map +1 -0
  456. package/dist/server/popover.js +455 -0
  457. package/dist/server/popover.js.map +1 -0
  458. package/dist/server/preview-trigger.js +153 -0
  459. package/dist/server/preview-trigger.js.map +1 -0
  460. package/dist/server/progress-bar.js +104 -0
  461. package/dist/server/progress-bar.js.map +1 -0
  462. package/dist/server/radio-group.js +586 -0
  463. package/dist/server/radio-group.js.map +1 -0
  464. package/dist/server/search-field.js +288 -0
  465. package/dist/server/search-field.js.map +1 -0
  466. package/dist/server/select.js +771 -0
  467. package/dist/server/select.js.map +1 -0
  468. package/dist/server/selection-indicator.js +54 -0
  469. package/dist/server/selection-indicator.js.map +1 -0
  470. package/dist/server/separator.js +91 -0
  471. package/dist/server/separator.js.map +1 -0
  472. package/dist/server/shared-element-transition.js +189 -0
  473. package/dist/server/shared-element-transition.js.map +1 -0
  474. package/dist/server/sheet.js +1197 -0
  475. package/dist/server/sheet.js.map +1 -0
  476. package/dist/server/slider.js +581 -0
  477. package/dist/server/slider.js.map +1 -0
  478. package/dist/server/switch.js +400 -0
  479. package/dist/server/switch.js.map +1 -0
  480. package/dist/server/table-layout.js +31 -0
  481. package/dist/server/table-layout.js.map +1 -0
  482. package/dist/server/table.js +2075 -0
  483. package/dist/server/table.js.map +1 -0
  484. package/dist/server/tabs.js +668 -0
  485. package/dist/server/tabs.js.map +1 -0
  486. package/dist/server/tag-group.js +538 -0
  487. package/dist/server/tag-group.js.map +1 -0
  488. package/dist/server/text-area.js +115 -0
  489. package/dist/server/text-area.js.map +1 -0
  490. package/dist/server/text-field.js +272 -0
  491. package/dist/server/text-field.js.map +1 -0
  492. package/dist/server/text.js +67 -0
  493. package/dist/server/text.js.map +1 -0
  494. package/dist/server/toast.js +449 -0
  495. package/dist/server/toast.js.map +1 -0
  496. package/dist/server/toggle-button-group.js +125 -0
  497. package/dist/server/toggle-button-group.js.map +1 -0
  498. package/dist/server/toggle-button.js +183 -0
  499. package/dist/server/toggle-button.js.map +1 -0
  500. package/dist/server/token-field.js +457 -0
  501. package/dist/server/token-field.js.map +1 -0
  502. package/dist/server/toolbar.js +67 -0
  503. package/dist/server/toolbar.js.map +1 -0
  504. package/dist/server/tooltip.js +331 -0
  505. package/dist/server/tooltip.js.map +1 -0
  506. package/dist/server/tree-drop-target-delegate.js +178 -0
  507. package/dist/server/tree-drop-target-delegate.js.map +1 -0
  508. package/dist/server/tree.js +1096 -0
  509. package/dist/server/tree.js.map +1 -0
  510. package/dist/server/utils.js +184 -0
  511. package/dist/server/utils.js.map +1 -0
  512. package/dist/server/virtualizer.js +254 -0
  513. package/dist/server/virtualizer.js.map +1 -0
  514. package/package.json +437 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","names":["<CollectionDropIndicator\n {...indicatorProps}\n ref={ref}\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />","ref={ref}","{dnd.preview}","<div\n style={{\n bottom: 0,\n get cursor() {\n const element = ref();\n\n return element ? getComputedStyle(element).cursor : undefined;\n },\n left: 0,\n position: \"fixed\",\n right: 0,\n top: 0,\n }}\n data-testid=\"cursor-overlay\"\n />","style={{\n bottom: 0,\n get cursor() {\n const element = ref();\n\n return element ? getComputedStyle(element).cursor : undefined;\n },\n left: 0,\n position: \"fixed\",\n right: 0,\n top: 0,\n }}","{render.children}","<input\n {...mergeProps(\n merge(() => aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n setInput(element);\n }}\n />","{aria.isMouseResizing && (\n <Portal mount={document.body}>\n <div\n style={{\n bottom: 0,\n get cursor() {\n const element = ref();\n\n return element ? getComputedStyle(element).cursor : undefined;\n },\n left: 0,\n position: \"fixed\",\n right: 0,\n top: 0,\n }}\n data-testid=\"cursor-overlay\"\n />\n </Portal>\n )}","(values.hasChildItems && values.isExpanded) || undefined","state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode","dom.div","<dom.div\n {...filterDOMProps(props, { global: true })}\n render={props.render}\n class={props.class ?? \"solid2-aria-ResizableTableContainer\"}\n style={props.style}\n ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n >\n <ResizableTableContainerContext value={context}>\n {props.children}\n </ResizableTableContainerContext>\n </dom.div>","elementRef={ref}","setElementRef={(element: HTMLTableElement) => {\n setRef(element);\n }}","<Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.gridProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => dnd.collectionProps ?? {})\n )}\n ref={(element: HTMLTableElement) => {\n outer.setElementRef(element);\n\n if (container) {\n container.setTableRef(element);\n }\n }}\n slot={props.slot ?? undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={values.isDropTarget || undefined}\n >\n <TableStateContext value={state}>\n <TableColumnResizeStateContext value={resize}>\n <TableOptionsContext value={options}>\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, ref) => (\n <CollectionDropIndicator\n {...indicatorProps}\n ref={ref}\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={outer.elementRef}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </TableOptionsContext>\n </TableColumnResizeStateContext>\n </TableStateContext>\n {dnd.preview}\n </Tag>","<Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => group.rowGroupProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={ref}\n data-hovered={hover.isHovered || undefined}\n >\n {rows()}\n </Tag>","<Tag\n {...aria.rowProps}\n ref={(element: HTMLTableRowElement) => {\n setRef(element);\n }}\n >\n <CheckboxContext\n value={{\n slots: {\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <CheckboxFieldContext\n value={{\n slots: {\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <Branch collection={state.collection} parent={props.item} />\n </CheckboxFieldContext>\n </CheckboxContext>\n </Tag>","<Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => aria.columnHeaderProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n style={\n resize\n ? mergeProps(typeof render.style === \"object\" ? render.style : {}, {\n width: resize.getColumnWidth(column.key),\n })\n : render.style\n }\n ref={(element: HTMLTableCellElement) => {\n setRef(element);\n }}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-resizing={values.isResizing || undefined}\n data-allows-sorting={values.allowsSorting || undefined}\n data-sort-direction={values.sortDirection}\n >\n <ColumnResizerContext value={{ column, triggerRef: ref }}>\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </ColumnResizerContext>\n </Tag>","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.resizerProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n role=\"presentation\"\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-resizing={aria.isResizing || undefined}\n data-resizable-direction={values.resizableDirection}\n >\n {render.children}\n <input\n {...mergeProps(\n merge(() => aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n setInput(element);\n }}\n />\n {aria.isMouseResizing && (\n <Portal mount={document.body}>\n <div\n style={{\n bottom: 0,\n get cursor() {\n const element = ref();\n\n return element ? getComputedStyle(element).cursor : undefined;\n },\n left: 0,\n position: \"fixed\",\n right: 0,\n top: 0,\n }}\n data-testid=\"cursor-overlay\"\n />\n </Portal>\n )}\n </dom.div>","<Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => group.rowGroupProps ?? {})\n )}\n ref={ref}\n data-empty={values.isEmpty || undefined}\n >\n {dnd.dropState && (\n <RootDropIndicator\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />\n )}\n <Branch\n collection={state.collection}\n parent={node}\n renderDropIndicator={createRenderDropIndicator(\n dnd.dragAndDropHooks,\n dnd.dropState\n )}\n />\n {values.isEmpty && props.renderEmptyState && (\n <RowTag role=\"row\">\n <CellTag role=\"rowheader\" colspan={state.collection.columnCount}>\n {props.renderEmptyState(values)}\n </CellTag>\n </RowTag>\n )}\n </Tag>","{dnd.dropState && (\n <RootDropIndicator\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />\n )}","{values.isEmpty && props.renderEmptyState && (\n <RowTag role=\"row\">\n <CellTag role=\"rowheader\" colspan={state.collection.columnCount}>\n {props.renderEmptyState(values)}\n </CellTag>\n </RowTag>\n )}","<Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => group.rowGroupProps ?? {})\n )}\n class={props.class ?? \"solid2-aria-TableFooter\"}\n style={props.style}\n ref={ref}\n >\n <Branch\n collection={state.collection}\n parent={node}\n renderDropIndicator={createRenderDropIndicator(\n dnd.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </Tag>","<Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.rowProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => within.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n merge(() => drag?.dragProps ?? {})\n )}\n ref={(element: HTMLTableRowElement) => {\n setRef(element);\n }}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-focus-visible-within={within.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-expanded={\n (values.hasChildItems && values.isExpanded) || undefined\n }\n data-has-child-items={values.hasChildItems || undefined}\n data-level={values.level}\n data-allows-dragging={!!dnd.dragState || undefined}\n data-dragging={values.isDragging ?? undefined}\n data-drop-target={values.isDropTarget ?? undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <CheckboxContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <CheckboxFieldContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get chevron() {\n return aria.expandButtonProps;\n },\n drag: mergeProps(\n merge(() => drag?.dragButtonProps ?? {}),\n {\n style: { \"pointer-events\": \"none\" as const },\n }\n ),\n },\n }}\n >\n <RowFocusContext\n value={{\n get isFocusVisibleWithinRow() {\n return within.isFocusVisible;\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n <Branch collection={state.collection} parent={item} />\n </SelectionIndicatorContext>\n </RowFocusContext>\n </ButtonContext>\n </CheckboxFieldContext>\n </CheckboxContext>\n </Tag>","<Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n render,\n merge(() => aria.gridCellProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLTableCellElement) => {\n setRef(element);\n }}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-focus-visible-within-row={\n within.isFocusVisibleWithinRow || undefined\n }\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-selected={values.isSelected || undefined}\n data-column-index={values.columnIndex}\n data-tree-column={values.isTreeColumn || undefined}\n data-expanded={values.isExpanded || undefined}\n data-has-child-items={values.hasChildItems || undefined}\n data-level={values.level}\n data-disabled={values.isDisabled || undefined}\n >\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </Tag>","state.collection.columnCount","<tr inert style={{ height: 0 }}>\n <td\n colspan={state.collection.columnCount}\n style={{ height: 0, padding: 0 }}\n >\n <div\n ref={(element: HTMLDivElement) => {\n setSentinel(element);\n }}\n style={{ height: \"1px\", width: \"1px\" }}\n />\n </td>\n </tr>","style={{ height: 0 }}","colspan={state.collection.columnCount}","style={{ height: 0, padding: 0 }}","style={{ height: \"1px\", width: \"1px\" }}","{props.isLoading === true && (\n <Tag\n {...filterDOMProps(props, { global: true })}\n ref={ref}\n render={props.render}\n class={props.class ?? \"solid2-aria-TableLoadingIndicator\"}\n >\n <CellTag role=\"gridcell\" colspan={state.collection.columnCount}>\n {item.rendered}\n </CellTag>\n </Tag>\n )}","<Tag\n {...filterDOMProps(props, { global: true })}\n ref={ref}\n render={props.render}\n class={props.class ?? \"solid2-aria-TableLoadingIndicator\"}\n >\n <CellTag role=\"gridcell\" colspan={state.collection.columnCount}>\n {item.rendered}\n </CellTag>\n </Tag>","_$mergeProps","_$applyRef","_$memo","_$ssrHydrationKey","_$ssr","_$ssrStyleProperties","_$ssrElement","intlMessages","_$ssrAttribute","_$escape","_$ssrStyleProperty"],"sources":["../../src/table.tsx"],"sourcesContent":["/*\n * Derived from Adobe React Spectrum: packages/react-aria-components/src/Table.tsx.\n * Modified for Solid Aria: preserve table collection, sorting and sizing algorithms with Solid contexts, collection descriptors and reactive accessibility primitives; uses Solid class props.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport {\n BaseCollection,\n CollectionNode,\n FilterableNode,\n LoaderNode,\n} from \"@solid2-aria/core/collections/base-collection\";\nimport {\n Collection,\n CollectionBuilder,\n createLeafComponent,\n createBranchComponent,\n} from \"@solid2-aria/core/collections/collection-builder\";\nimport { createCachedChildren } from \"@solid2-aria/core/collections/create-cached-children\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createLocalizedStringFormatter } from \"@solid2-aria/core/i18n/create-localized-string-formatter\";\nimport { createLocale } from \"@solid2-aria/core/i18n/i18n-provider\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createTable } from \"@solid2-aria/core/table/create-table\";\nimport { createTableCell } from \"@solid2-aria/core/table/create-table-cell\";\nimport { createTableColumnHeader } from \"@solid2-aria/core/table/create-table-column-header\";\nimport { createTableColumnResize } from \"@solid2-aria/core/table/create-table-column-resize\";\nimport { createTableHeaderRow } from \"@solid2-aria/core/table/create-table-header-row\";\nimport { createTableRow } from \"@solid2-aria/core/table/create-table-row\";\nimport { createTableRowGroup } from \"@solid2-aria/core/table/create-table-row-group\";\nimport {\n createTableSelectionCheckbox,\n createTableSelectAllCheckbox,\n} from \"@solid2-aria/core/table/create-table-selection-checkbox\";\nimport { createLoadMoreSentinel } from \"@solid2-aria/core/utils/create-load-more-sentinel\";\nimport type { LoadMoreSentinelProps } from \"@solid2-aria/core/utils/create-load-more-sentinel\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { isPresent } from \"@solid2-aria/core/utils/is-present\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { requireValue } from \"@solid2-aria/core/utils/require-value\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport type { GridNode } from \"@solid2-aria/stately/grid/grid-collection\";\nimport type {\n ColumnSize,\n ColumnStaticSize,\n} from \"@solid2-aria/stately/table/column\";\nimport { createTableColumnResizeState } from \"@solid2-aria/stately/table/create-table-column-resize-state\";\nimport type { TableColumnResizeState } from \"@solid2-aria/stately/table/create-table-column-resize-state\";\nimport { createTableState } from \"@solid2-aria/stately/table/create-table-state\";\nimport type {\n TableState,\n TableProps as SharedTableProps,\n} from \"@solid2-aria/stately/table/create-table-state\";\nimport { buildHeaderRows } from \"@solid2-aria/stately/table/table-collection\";\nimport type { ITableCollection } from \"@solid2-aria/stately/table/table-collection\";\nimport { createControlledSignal } from \"@solid2-aria/stately/utils/create-controlled-signal\";\nimport { getNodeProps } from \"@solid2-aria/stately/utils/get-node-props\";\nimport type {\n Key,\n Node,\n LinkDOMProps,\n HoverEvents,\n PressEvents,\n SelectionMode,\n SelectionBehavior,\n DisabledBehavior,\n SortDirection,\n AriaLabelingProps,\n} from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport { dynamic, Portal } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n useContext,\n createMemo,\n omit,\n onSettled,\n} from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\n\nimport intlMessages from \"../intl\";\nimport { ButtonContext } from \"./button\";\nimport { CheckboxContext, CheckboxFieldContext } from \"./checkbox\";\nimport {\n CollectionRendererContext,\n DefaultCollectionRenderer,\n} from \"./collection\";\nimport type { CollectionProps, ItemRenderProps } from \"./collection\";\nimport type { DragAndDropHooks } from \"./create-drag-and-drop\";\nimport {\n DragAndDropContext,\n DropIndicatorContext,\n createDndPersistedKeys,\n createRenderDropIndicator,\n} from \"./drag-and-drop\";\nimport {\n RootDropIndicator,\n createCollectionDragAndDrop,\n CollectionDropIndicator,\n} from \"./grid-list\";\nimport { SelectionIndicatorContext } from \"./selection-indicator\";\nimport { TreeDropTargetDelegate } from \"./tree-drop-target-delegate\";\nimport {\n assignRef,\n dom,\n DEFAULT_SLOT,\n createContextProps,\n createRenderProps,\n} from \"./utils\";\nimport type {\n ClassOrFunction,\n ContextValue,\n RenderProps,\n StyleRenderProps,\n StyleProps,\n SlotProps,\n DOMProps,\n DOMRenderProps,\n Ref,\n} from \"./utils\";\n\nclass TableHeaderNode<T> extends CollectionNode<T> {\n static override readonly type = \"tableheader\";\n}\n\nclass TableColumnNode extends CollectionNode<unknown> {\n static override readonly type = \"column\";\n}\n\nclass TableBodyNode<T> extends FilterableNode<T> {\n static override readonly type = \"tablebody\";\n}\n\nclass TableFooterNode<T> extends FilterableNode<T> {\n static override readonly type = \"tablefooter\";\n}\n\nclass TableRowNode<T> extends CollectionNode<T> {\n static override readonly type = \"item\";\n override filter(\n collection: BaseCollection<T>,\n newCollection: BaseCollection<T>,\n filterFn: (text: string, node: Node<T>) => boolean\n ): this | null {\n for (const cell of collection.getChildren(this.key)) {\n if (filterFn(cell.textValue, cell)) {\n const clone = this.clone();\n newCollection.addDescendants(clone, collection);\n\n return clone;\n }\n }\n\n return null;\n }\n}\n\nclass TableCellNode extends CollectionNode<unknown> {\n static override readonly type = \"cell\";\n}\n\nclass TableCollection<T>\n extends BaseCollection<T>\n implements ITableCollection<T>\n{\n headerRows: GridNode<T>[] = [];\n columns: GridNode<T>[] = [];\n rows: GridNode<T>[] = [];\n rowHeaderColumnKeys = new Set<Key>();\n head = new TableHeaderNode<T>(-1);\n columnsDirty = true;\n expandedKeys = new Set<Key>();\n\n withExpandedKeys(expandedKeys: Set<Key>) {\n const collection = this.clone();\n collection.expandedKeys = expandedKeys;\n collection.frozen = this.frozen;\n collection.rows = [...collection.getRows()];\n\n return collection;\n }\n\n override addNode(node: CollectionNode<T>) {\n super.addNode(node);\n\n this.columnsDirty ||= node.type === \"column\";\n\n if (node.type === \"tableheader\") {\n this.head = node;\n }\n }\n\n private getRows(): GridNode<T>[] {\n const rows: GridNode<T>[] = [];\n\n for (const child of this) {\n if (child.type === \"tablebody\" || child.type === \"tablefooter\") {\n rows.push(...this.getChildren(child.key));\n }\n }\n\n return rows;\n }\n\n // backward compatibility\n get body() {\n for (const child of this) {\n if (child.type === \"tablebody\") {\n return child;\n }\n }\n\n return new TableBodyNode<T>(-2);\n }\n\n override commit(firstKey: Key, lastKey: Key, isSSR = false) {\n this.updateColumns(isSSR);\n\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.rows = [];\n\n for (const row of this.getRows()) {\n const { lastChildKey } = row;\n\n if (isPresent(lastChildKey)) {\n let lastCell = this.getItem(lastChildKey);\n\n while (lastCell && lastCell.type !== \"cell\") {\n lastCell = isPresent(lastCell.prevKey)\n ? this.getItem(lastCell.prevKey)\n : null;\n }\n\n if (lastCell) {\n const numberOfCellsInRow =\n (lastCell.colIndex ?? lastCell.index) + (lastCell.colSpan ?? 1);\n\n if (numberOfCellsInRow !== this.columns.length && !isSSR) {\n throw new Error(\n `Cell count must match column count. Found ${numberOfCellsInRow} cells and ${this.columns.length} columns.`\n );\n }\n }\n }\n\n this.rows.push(row);\n }\n\n super.commit(firstKey, lastKey, isSSR);\n }\n\n private updateColumns(isSSR: boolean) {\n if (!this.columnsDirty) {\n return;\n }\n\n this.rowHeaderColumnKeys = new Set();\n this.columns = [];\n const columnKeyMap = new Map<Key, GridNode<T>>();\n\n const visit = (node: Node<T>) => {\n switch (node.type) {\n case \"column\": {\n columnKeyMap.set(node.key, node);\n\n if (!node.hasChildNodes) {\n node.index = this.columns.length;\n this.columns.push(node);\n\n if (isTruthy(getNodeProps(node).isRowHeader)) {\n this.rowHeaderColumnKeys.add(node.key);\n }\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n\n for (const child of this.getChildren(node.key)) {\n visit(child);\n }\n };\n\n for (const node of this.getChildren(this.head.key)) {\n visit(node);\n }\n\n this.headerRows = buildHeaderRows(columnKeyMap, this.columns);\n this.columnsDirty = false;\n\n if (\n this.rowHeaderColumnKeys.size === 0 &&\n this.columns.length > 0 &&\n !isSSR\n ) {\n throw new Error(\n \"A table must have at least one Column with the isRowHeader prop set to true\"\n );\n }\n }\n\n get columnCount() {\n return this.columns.length;\n }\n\n override *[Symbol.iterator]() {\n let key = this.firstKey;\n\n while (isPresent(key)) {\n const node = this.getItem(key);\n\n if (node) {\n yield node;\n }\n\n key = node?.nextKey ?? null;\n }\n }\n\n override getFirstKey() {\n for (const child of this) {\n if (child.type === \"tablebody\") {\n return child.firstChildKey ?? null;\n }\n }\n\n return null;\n }\n\n override getLastKey() {\n const key = this.lastKey;\n\n if (!isPresent(key)) {\n return null;\n }\n\n let node = requireValue(this.getItem(key), \"Expected this.getItem(key)\");\n\n while (\n isPresent(node?.lastChildKey) &&\n (node.type !== \"item\" || this.expandedKeys.has(node.key))\n ) {\n node = requireValue(\n this.getItem(node.lastChildKey),\n \"Expected this.getItem(node.lastChildKey)\"\n );\n }\n\n return node?.key;\n }\n\n override getKeyAfter(key: Key) {\n const node = requireValue(this.getItem(key), \"Expected this.getItem(key)\");\n\n if (node?.type === \"column\") {\n return node.nextKey ?? null;\n }\n\n if (!isTruthy(node)) {\n return null;\n }\n\n // If this is an expanded item, return the first child item if unknown.\n if (\n node.type === \"item\" &&\n isPresent(node.firstChildKey) &&\n this.expandedKeys.has(node.key)\n ) {\n let child = this.getItem(node.firstChildKey);\n\n while (child) {\n if (child.type === \"item\") {\n return child.key;\n }\n\n child = isPresent(child.nextKey) ? this.getItem(child.nextKey) : null;\n }\n }\n\n return super.getKeyAfter(key);\n }\n\n override getKeyBefore(key: Key) {\n let node = requireValue(this.getItem(key), \"Expected this.getItem(key)\");\n\n if (node?.type === \"column\") {\n return node.prevKey ?? null;\n }\n\n if (!isTruthy(node)) {\n return null;\n }\n\n let k: Key | null = null;\n\n if (isPresent(node.prevKey)) {\n node = requireValue(\n this.getItem(node.prevKey),\n \"Expected this.getItem(node.prevKey)\"\n );\n\n // Traverse to the deepest expanded child.\n while (\n Boolean(node) &&\n (node.type !== \"item\" || this.expandedKeys.has(node.key)) &&\n isPresent(node.lastChildKey)\n ) {\n node = requireValue(\n this.getItem(node.lastChildKey),\n \"Expected this.getItem(node.lastChildKey)\"\n );\n }\n\n k = node?.key ?? null;\n }\n\n k ??= node.parentKey;\n\n if (isPresent(k) && this.getItem(k)?.type === \"tableheader\") {\n return null;\n }\n\n return k;\n }\n\n private *headerChildren(key: Key): IterableIterator<CollectionNode<T>> {\n const header = this.headerRows.find((row) => row.key === key);\n\n if (!header) {\n return;\n }\n\n // oxlint-disable-next-line typescript/no-deprecated -- buildHeaderRows returns synthetic headers with the upstream childNodes output contract.\n for (const child of header.childNodes) {\n yield child instanceof CollectionNode\n ? child\n : Object.assign(new CollectionNode<T>(child.key), child);\n }\n }\n\n override *getChildren(key: Key): IterableIterator<CollectionNode<T>> {\n const parent = this.getItem(key);\n\n if (!parent) {\n yield* this.headerChildren(key);\n\n return;\n }\n\n let node = isPresent(parent?.firstChildKey)\n ? this.getItem(parent.firstChildKey)\n : null;\n\n const flattenRows =\n parent?.type === \"tablebody\" || parent?.type === \"tablefooter\";\n\n while (node) {\n yield node;\n const nextKey = flattenRows ? this.getKeyAfter(node.key) : node.nextKey;\n node = isPresent(nextKey) ? this.getItem(nextKey) : null;\n\n if (flattenRows && node?.parentKey === parent?.parentKey) {\n break;\n }\n\n if (!flattenRows && parent?.type === \"item\" && node?.type !== \"cell\") {\n break;\n }\n }\n }\n\n override clone() {\n const collection = super.clone();\n collection.headerRows = this.headerRows;\n collection.columns = this.columns;\n collection.rows = this.rows;\n collection.rowHeaderColumnKeys = this.rowHeaderColumnKeys;\n collection.head = this.head;\n\n return collection;\n }\n\n getTextValue(key: Key): string {\n const row = this.getItem(key);\n\n if (!row) {\n return \"\";\n }\n\n // If the row has a textValue, use that.\n if (row.textValue) {\n return row.textValue;\n }\n\n // Otherwise combine the text of each of the row header columns.\n const { rowHeaderColumnKeys } = this;\n const text: string[] = [];\n\n for (const cell of this.getChildren(key)) {\n const column = this.columns[cell.index];\n\n if (column && rowHeaderColumnKeys.has(column.key) && cell.textValue) {\n text.push(cell.textValue);\n }\n\n if (text.length === rowHeaderColumnKeys.size) {\n break;\n }\n }\n\n return text.join(\" \");\n }\n}\n\nexport interface ResizableTableContainerProps\n extends\n DOMProps,\n DOMRenderProps<\"div\", undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n class?: JSX.ClassValue;\n\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void;\n\n onResize?: (widths: Map<Key, ColumnSize>) => void;\n\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void;\n}\n\nexport interface TableRenderProps {\n isFocused: boolean;\n\n isFocusVisible: boolean;\n\n isDropTarget: boolean;\n\n state: TableState<unknown>;\n}\n\nexport interface TableProps\n extends\n Omit<SharedTableProps<unknown>, \"children\">,\n StyleRenderProps<TableRenderProps, \"table\" | \"div\">,\n SlotProps,\n AriaLabelingProps,\n GlobalDOMAttributes<HTMLTableElement> {\n class?: ClassOrFunction<TableRenderProps>;\n\n children?: JSX.Element;\n\n selectionBehavior?: SelectionBehavior;\n\n disabledBehavior?: DisabledBehavior;\n\n onRowAction?: (key: Key) => void;\n\n dragAndDropHooks?: DragAndDropHooks;\n}\n\nexport interface TableOptionsContextValue {\n selectionMode: SelectionMode;\n\n selectionBehavior: SelectionBehavior | null;\n\n disallowEmptySelection: boolean;\n\n allowsDragging: boolean;\n}\n\nexport interface TableHeaderRenderProps {\n isHovered: boolean;\n}\n\nexport interface TableHeaderProps<T>\n extends\n StyleRenderProps<TableHeaderRenderProps, \"thead\" | \"div\">,\n HoverEvents,\n GlobalDOMAttributes<HTMLTableSectionElement> {\n class?: ClassOrFunction<TableHeaderRenderProps>;\n\n columns?: Iterable<T>;\n\n children?: JSX.Element | ((item: T) => JSX.Element);\n\n dependencies?: readonly unknown[];\n}\n\nexport interface ColumnRenderProps {\n isHovered: boolean;\n\n isPressed: boolean;\n\n isFocused: boolean;\n\n isFocusVisible: boolean;\n\n allowsSorting: boolean;\n\n sortDirection: SortDirection | undefined;\n\n isResizing: boolean;\n\n sort: (direction: SortDirection) => void;\n\n startResize: () => void;\n}\n\nexport interface ColumnProps\n extends\n RenderProps<ColumnRenderProps, \"th\" | \"div\">,\n GlobalDOMAttributes<HTMLTableCellElement> {\n class?: ClassOrFunction<ColumnRenderProps>;\n\n id?: Key;\n\n allowsSorting?: boolean;\n\n isRowHeader?: boolean;\n\n textValue?: string;\n\n width?: ColumnSize | null;\n\n defaultWidth?: ColumnSize | null;\n\n minWidth?: ColumnStaticSize | null;\n\n maxWidth?: ColumnStaticSize | null;\n\n focusMode?: \"child\" | \"cell\";\n\n allowsArrowNavigation?: boolean;\n}\n\nexport interface ColumnResizerRenderProps {\n isHovered: boolean;\n\n isFocused: boolean;\n\n isFocusVisible: boolean;\n\n isResizing: boolean;\n\n resizableDirection: \"right\" | \"left\" | \"both\";\n}\n\nexport interface ColumnResizerProps\n extends\n HoverEvents,\n RenderProps<ColumnResizerRenderProps>,\n GlobalDOMAttributes<HTMLDivElement> {\n class?: ClassOrFunction<ColumnResizerRenderProps>;\n\n \"aria-label\"?: string;\n}\n\nexport interface TableBodyRenderProps {\n isEmpty: boolean;\n\n isDropTarget: boolean;\n}\n\nexport interface TableBodyProps<T>\n extends\n Omit<CollectionProps<T>, \"disabledKeys\">,\n StyleRenderProps<TableBodyRenderProps, \"tbody\" | \"div\">,\n GlobalDOMAttributes<HTMLTableSectionElement> {\n class?: ClassOrFunction<TableBodyRenderProps>;\n\n renderEmptyState?: (props: TableBodyRenderProps) => JSX.Element;\n}\n\nexport interface TableFooterProps<T>\n extends\n Omit<CollectionProps<T>, \"disabledKeys\">,\n StyleProps,\n GlobalDOMAttributes<HTMLTableSectionElement> {\n class?: JSX.ClassValue;\n}\n\nexport interface RowRenderProps extends ItemRenderProps {\n isFocusVisibleWithin: boolean;\n\n id?: Key;\n\n isExpanded: boolean;\n\n hasChildItems: boolean;\n\n level: number;\n\n state: TableState<unknown>;\n}\n\nexport interface RowFocusContextValue {\n isFocusVisibleWithinRow: boolean;\n}\n\nexport interface RowProps<T>\n extends\n StyleRenderProps<RowRenderProps, \"tr\" | \"div\">,\n LinkDOMProps,\n HoverEvents,\n PressEvents,\n Omit<GlobalDOMAttributes<HTMLTableRowElement>, \"onClick\"> {\n class?: ClassOrFunction<RowRenderProps>;\n\n columns?: Iterable<T>;\n\n children?: JSX.Element | ((item: T) => JSX.Element);\n\n value?: T;\n\n dependencies?: readonly unknown[];\n\n textValue?: string;\n\n isDisabled?: boolean;\n\n disabledBehavior?: DisabledBehavior;\n\n onAction?: () => void;\n\n id?: Key;\n\n hasChildItems?: boolean;\n}\n\nexport interface CellRenderProps {\n isPressed: boolean;\n\n isFocused: boolean;\n\n isFocusVisible: boolean;\n\n isHovered: boolean;\n\n isSelected: boolean;\n\n isDisabled: boolean;\n\n isFocusVisibleWithinRow: boolean;\n\n id?: Key;\n\n columnIndex?: number | null;\n\n isTreeColumn: boolean;\n\n isExpanded: boolean;\n\n hasChildItems: boolean;\n\n level: number;\n}\n\nexport interface CellProps\n extends\n RenderProps<CellRenderProps, \"td\" | \"div\">,\n GlobalDOMAttributes<HTMLTableCellElement> {\n class?: ClassOrFunction<CellRenderProps>;\n\n id?: Key;\n\n textValue?: string;\n\n colSpan?: number;\n\n focusMode?: \"child\" | \"cell\";\n\n allowsArrowNavigation?: boolean;\n}\n\nexport interface TableLoadMoreItemProps\n extends\n Omit<LoadMoreSentinelProps, \"collection\">,\n StyleProps,\n DOMRenderProps<\"tr\" | \"div\", undefined>,\n GlobalDOMAttributes<HTMLTableRowElement> {\n class?: JSX.ClassValue;\n\n children?: JSX.Element;\n\n isLoading?: boolean;\n}\n\nexport const TableContext =\n createContext<ContextValue<TableProps, HTMLTableElement>>(null);\n\nexport const TableStateContext = createContext<TableState<unknown> | null>(\n null\n);\n\nexport const TableColumnResizeStateContext =\n createContext<TableColumnResizeState<unknown> | null>(null);\n\nexport const RowFocusContext = createContext<RowFocusContextValue>({\n isFocusVisibleWithinRow: false,\n});\n\nconst TableOptionsContext = createContext<TableOptionsContextValue | null>(\n null\n);\n\nconst ResizableTableContainerContext = createContext<\n | (Pick<\n ResizableTableContainerProps,\n \"onResizeStart\" | \"onResize\" | \"onResizeEnd\"\n > & {\n tableWidth: number;\n tableRef: Accessor<HTMLTableElement | null>;\n setTableRef: (element: HTMLTableElement) => void;\n })\n | null\n>(null);\n\nconst ColumnResizerContext = createContext<{\n column: GridNode<unknown>;\n triggerRef: Accessor<HTMLElement | null>;\n} | null>(null);\n\nexport function createTableOptions(): TableOptionsContextValue {\n const options = useContext(TableOptionsContext);\n\n if (!options) {\n throw new Error(\"Table options require a Table.\");\n }\n\n return options;\n}\n\nexport function ResizableTableContainer(\n props: ResizableTableContainerProps & { ref?: Ref<HTMLDivElement> }\n) {\n const [ref, setRef] = createSignal<HTMLElement | null>(null, {\n ownedWrite: true,\n });\n\n const [tableRef, setTableRef] = createSignal<HTMLTableElement | null>(null, {\n ownedWrite: true,\n });\n\n const [width, setWidth] = createSignal(0);\n onSettled((): undefined | (() => void) => {\n let measured: HTMLElement | null = tableRef();\n\n while (\n measured &&\n measured !== ref() &&\n measured.scrollWidth <= measured.clientWidth\n ) {\n measured = measured.parentElement;\n }\n\n measured ??= ref();\n\n if (!measured) {\n return undefined;\n }\n\n const element = measured;\n setWidth(element.clientWidth);\n\n const observer = new ResizeObserver(() => {\n setWidth(element.clientWidth);\n });\n\n observer.observe(element, { box: \"border-box\" });\n\n return () => {\n observer.disconnect();\n };\n });\n\n const context = mergeProps(props, {\n setTableRef: (element: HTMLTableElement) => {\n setTableRef(element);\n },\n tableRef,\n get tableWidth() {\n return width();\n },\n });\n\n return (\n <dom.div\n {...filterDOMProps(props, { global: true })}\n render={props.render}\n class={props.class ?? \"solid2-aria-ResizableTableContainer\"}\n style={props.style}\n ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n >\n <ResizableTableContainerContext value={context}>\n {props.children}\n </ResizableTableContainerContext>\n </dom.div>\n );\n}\n\nexport function Table(input: TableProps & { ref?: Ref<HTMLTableElement> }) {\n const [props, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TableContext\n );\n\n return (\n <CollectionBuilder\n createCollection={() => new TableCollection<unknown>()}\n content={<Collection>{props.children}</Collection>}\n >\n {(collection) => (\n <TableInner\n props={props}\n collection={collection}\n elementRef={ref}\n setElementRef={(element: HTMLTableElement) => {\n setRef(element);\n }}\n />\n )}\n </CollectionBuilder>\n );\n}\n\nfunction TableInner(outer: {\n props: TableProps;\n collection: TableCollection<unknown>;\n elementRef: Accessor<HTMLTableElement | null>;\n setElementRef: (element: HTMLTableElement) => void;\n}) {\n const { props } = untrack(() => outer);\n const renderer = useContext(CollectionRendererContext);\n const container = useContext(ResizableTableContainerContext);\n\n const [expanded, setExpanded] = createControlledSignal(\n () => (props.expandedKeys ? new Set(props.expandedKeys) : undefined),\n new Set(props.defaultExpandedKeys),\n (keys) => {\n props.onExpandedChange?.(keys);\n }\n );\n\n const collection = createMemo(() =>\n outer.collection.withExpandedKeys(expanded())\n );\n\n // oxlint-disable-next-line typescript/no-explicit-any -- The public collection accepts primitive items; this state adapter only reads their keyed nodes.\n const state = createTableState<any>(\n mergeProps(props, {\n children: undefined,\n get collection() {\n return collection();\n },\n get expandedKeys() {\n return expanded();\n },\n onExpandedChange: setExpanded,\n })\n );\n\n const aria = createTable(\n mergeProps(props, {\n get isVirtualized() {\n return renderer.isVirtualized;\n },\n get layoutDelegate() {\n return renderer.layoutDelegate;\n },\n }),\n state,\n untrack(() => outer.elementRef)\n );\n\n const resize = container\n ? createTableColumnResizeState(\n {\n get tableWidth() {\n return container.tableWidth;\n },\n },\n state\n )\n : null;\n\n const locale = createLocale();\n const treeDelegate = new TreeDropTargetDelegate<unknown>();\n\n if (props.dragAndDropHooks?.createDroppableCollectionState) {\n const hooks = props.dragAndDropHooks;\n treeDelegate.setup(\n hooks.dropTargetDelegate ??\n renderer.dropTargetDelegate ??\n new hooks.ListDropTargetDelegate(\n {\n [Symbol.iterator]() {\n return state.collection.rows[Symbol.iterator]();\n },\n },\n untrack(() => outer.elementRef)\n ),\n state,\n locale.direction\n );\n }\n\n const dnd = createCollectionDragAndDrop({\n get collection() {\n return state.collection;\n },\n get dropTargetCollection() {\n return state.collection.rows;\n },\n dropTargetDelegate: treeDelegate,\n get hooks() {\n return props.dragAndDropHooks;\n },\n get ref() {\n return outer.elementRef;\n },\n get selectionManager() {\n return state.selectionManager;\n },\n });\n\n const focus = createFocusRing();\n\n const values: TableRenderProps = {\n get isDropTarget() {\n return dnd.dropState?.isDropTarget({ type: \"root\" }) === true;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-Table\",\n values,\n })\n );\n\n const Root = renderer.CollectionRoot;\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.table\n );\n\n const options: TableOptionsContextValue = {\n get allowsDragging() {\n return !!dnd.dragState;\n },\n get disallowEmptySelection() {\n return props.disallowEmptySelection === true;\n },\n get selectionBehavior() {\n return state.selectionManager.selectionMode === \"none\"\n ? null\n : state.selectionManager.selectionBehavior;\n },\n get selectionMode() {\n return state.selectionManager.selectionMode;\n },\n };\n\n return (\n <Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.gridProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => dnd.collectionProps ?? {})\n )}\n ref={(element: HTMLTableElement) => {\n outer.setElementRef(element);\n\n if (container) {\n container.setTableRef(element);\n }\n }}\n slot={props.slot ?? undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={values.isDropTarget || undefined}\n >\n <TableStateContext value={state}>\n <TableColumnResizeStateContext value={resize}>\n <TableOptionsContext value={options}>\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, ref) => (\n <CollectionDropIndicator\n {...indicatorProps}\n ref={ref}\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={outer.elementRef}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </TableOptionsContext>\n </TableColumnResizeStateContext>\n </TableStateContext>\n {dnd.preview}\n </Tag>\n );\n}\n\nexport const TableHeader = createBranchComponent(\n TableHeaderNode,\n <T,>(\n props: TableHeaderProps<T>,\n ref: Ref<HTMLTableSectionElement>,\n _node: Node<T>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.thead\n );\n\n const hover = createHover(props);\n const group = createTableRowGroup();\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-TableHeader\",\n values: {\n get isHovered() {\n return hover.isHovered;\n },\n },\n })\n );\n\n const rows = createCachedChildren({\n children: (item: GridNode<unknown>) => <TableHeaderRow item={item} />,\n get items() {\n return state.collection.headerRows;\n },\n });\n\n return (\n <Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => group.rowGroupProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={ref}\n data-hovered={hover.isHovered || undefined}\n >\n {rows()}\n </Tag>\n );\n },\n <T,>(props: TableHeaderProps<T>) => (\n <Collection items={props.columns} dependencies={props.dependencies}>\n {props.children}\n </Collection>\n )\n);\n\nfunction TableHeaderRow(props: { item: GridNode<unknown> }) {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n\n const [ref, setRef] = createSignal<HTMLTableRowElement | null>(null, {\n ownedWrite: true,\n });\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tr\n );\n\n const Branch = renderer.CollectionBranch;\n\n const aria = createTableHeaderRow(\n {\n isVirtualized: renderer.isVirtualized,\n get node() {\n return props.item;\n },\n },\n state,\n ref\n );\n\n const checkbox = createTableSelectAllCheckbox(state);\n\n return (\n <Tag\n {...aria.rowProps}\n ref={(element: HTMLTableRowElement) => {\n setRef(element);\n }}\n >\n <CheckboxContext\n value={{\n slots: {\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <CheckboxFieldContext\n value={{\n slots: {\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <Branch collection={state.collection} parent={props.item} />\n </CheckboxFieldContext>\n </CheckboxContext>\n </Tag>\n );\n}\n\nexport const Column = createLeafComponent(\n TableColumnNode,\n (\n props: ColumnProps,\n forwardedRef: Ref<HTMLTableCellElement>,\n column: GridNode<unknown>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n const resize = useContext(TableColumnResizeStateContext);\n\n const [ref, setRef] = createSignal<HTMLTableCellElement | null>(null, {\n ownedWrite: true,\n });\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.th\n );\n\n const aria = createTableColumnHeader(\n {\n get allowsArrowNavigation() {\n return props.allowsArrowNavigation;\n },\n get focusMode() {\n return props.focusMode;\n },\n isVirtualized: renderer.isVirtualized,\n node: column,\n },\n state,\n ref\n );\n\n const focus = createFocusRing();\n\n const hover = createHover({\n get isDisabled() {\n return !(props.allowsSorting === true);\n },\n });\n\n const values: ColumnRenderProps = {\n get allowsSorting() {\n return isTruthy(getNodeProps(column).allowsSorting);\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isResizing() {\n return resize?.resizingColumn === column.key;\n },\n sort: (direction) => {\n state.sort(column.key, direction);\n },\n get sortDirection() {\n return state.sortDescriptor?.column === column.key\n ? state.sortDescriptor.direction\n : undefined;\n },\n startResize: () => {\n if (!resize) {\n throw new Error(\n \"Wrap Table in ResizableTableContainer to enable resizing.\"\n );\n }\n\n resize.startResize(column.key);\n state.setKeyboardNavigationDisabled(true);\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n get children() {\n return column.rendered;\n },\n defaultClass: \"solid2-aria-Column\",\n id: undefined,\n values,\n })\n );\n\n return (\n <Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => aria.columnHeaderProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n style={\n resize\n ? mergeProps(typeof render.style === \"object\" ? render.style : {}, {\n width: resize.getColumnWidth(column.key),\n })\n : render.style\n }\n ref={(element: HTMLTableCellElement) => {\n setRef(element);\n }}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-resizing={values.isResizing || undefined}\n data-allows-sorting={values.allowsSorting || undefined}\n data-sort-direction={values.sortDirection}\n >\n <ColumnResizerContext value={{ column, triggerRef: ref }}>\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </ColumnResizerContext>\n </Tag>\n );\n }\n);\n\nexport function ColumnResizer(\n props: ColumnResizerProps & { ref?: Ref<HTMLDivElement> }\n) {\n const resize = useContext(TableColumnResizeStateContext);\n const column = useContext(ColumnResizerContext);\n const container = useContext(ResizableTableContainerContext);\n\n if (!resize || !column) {\n throw new Error(\n \"ColumnResizer requires a column in ResizableTableContainer.\"\n );\n }\n\n const formatter = createLocalizedStringFormatter(\n intlMessages,\n \"@solid2-aria/components\"\n );\n\n const [input, setInput] = createSignal<HTMLInputElement | null>(null, {\n ownedWrite: true,\n });\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const locale = createLocale();\n\n const aria = createTableColumnResize(\n mergeProps(container ?? {}, {\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? formatter.format(\"tableResizer\");\n },\n get column() {\n return column.column;\n },\n get triggerRef() {\n return column.triggerRef;\n },\n }),\n resize,\n input\n );\n\n const focus = createFocusRing();\n const hover = createHover(props);\n\n const values: ColumnResizerRenderProps = {\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isResizing() {\n return aria.isResizing;\n },\n get resizableDirection() {\n if (\n resize.getColumnMinWidth(column.column.key) >=\n resize.getColumnWidth(column.column.key)\n ) {\n return locale.direction === \"rtl\" ? \"right\" : \"left\";\n }\n\n if (\n resize.getColumnMaxWidth(column.column.key) <=\n resize.getColumnWidth(column.column.key)\n ) {\n return locale.direction === \"rtl\" ? \"left\" : \"right\";\n }\n\n return \"both\";\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-ColumnResizer\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.resizerProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n role=\"presentation\"\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-resizing={aria.isResizing || undefined}\n data-resizable-direction={values.resizableDirection}\n >\n {render.children}\n <input\n {...mergeProps(\n merge(() => aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n setInput(element);\n }}\n />\n {aria.isMouseResizing && (\n <Portal mount={document.body}>\n <div\n style={{\n bottom: 0,\n get cursor() {\n const element = ref();\n\n return element ? getComputedStyle(element).cursor : undefined;\n },\n left: 0,\n position: \"fixed\",\n right: 0,\n top: 0,\n }}\n data-testid=\"cursor-overlay\"\n />\n </Portal>\n )}\n </dom.div>\n );\n}\n\nexport const TableBody = createBranchComponent(\n TableBodyNode,\n <T,>(\n props: TableBodyProps<T>,\n ref: Ref<HTMLTableSectionElement>,\n node: Node<T>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n const dnd = useContext(DragAndDropContext);\n const Branch = renderer.CollectionBranch;\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tbody\n );\n\n const RowTag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tr\n );\n\n const CellTag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.td\n );\n\n const group = createTableRowGroup();\n\n const values: TableBodyRenderProps = {\n get isDropTarget() {\n return dnd.dropState?.isDropTarget({ type: \"root\" }) === true;\n },\n get isEmpty() {\n return !state.collection.rows.some((row) => row.type === \"item\");\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-TableBody\",\n values,\n })\n );\n\n return (\n <Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => group.rowGroupProps ?? {})\n )}\n ref={ref}\n data-empty={values.isEmpty || undefined}\n >\n {dnd.dropState && (\n <RootDropIndicator\n table={!(renderer.isVirtualized === true)}\n columnCount={state.collection.columnCount}\n />\n )}\n <Branch\n collection={state.collection}\n parent={node}\n renderDropIndicator={createRenderDropIndicator(\n dnd.dragAndDropHooks,\n dnd.dropState\n )}\n />\n {values.isEmpty && props.renderEmptyState && (\n <RowTag role=\"row\">\n <CellTag role=\"rowheader\" colspan={state.collection.columnCount}>\n {props.renderEmptyState(values)}\n </CellTag>\n </RowTag>\n )}\n </Tag>\n );\n }\n);\n\nexport const TableFooter = createBranchComponent(\n TableFooterNode,\n <T,>(\n props: TableFooterProps<T>,\n ref: Ref<HTMLTableSectionElement>,\n node: Node<T>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n const dnd = useContext(DragAndDropContext);\n const Branch = renderer.CollectionBranch;\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tfoot\n );\n\n const group = createTableRowGroup();\n\n return (\n <Tag\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => group.rowGroupProps ?? {})\n )}\n class={props.class ?? \"solid2-aria-TableFooter\"}\n style={props.style}\n ref={ref}\n >\n <Branch\n collection={state.collection}\n parent={node}\n renderDropIndicator={createRenderDropIndicator(\n dnd.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </Tag>\n );\n }\n);\n\nexport function Row<T>(\n ownProps: RowProps<T> & { ref?: Ref<HTMLTableRowElement> }\n): JSX.Element {\n return createBranchComponent<T, RowProps<T>, HTMLTableRowElement>(\n TableRowNode,\n (\n props: RowProps<T>,\n forwardedRef: Ref<HTMLTableRowElement>,\n item: GridNode<T>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n const dnd = useContext(DragAndDropContext);\n const Branch = renderer.CollectionBranch;\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tr\n );\n\n const [ref, setRef] = createSignal<HTMLTableRowElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createTableRow(\n {\n isVirtualized: renderer.isVirtualized,\n node: item,\n shouldSelectOnPressUp: !!dnd.dragState,\n },\n state,\n ref\n );\n\n const focus = createFocusRing();\n const within = createFocusRing({ within: true });\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return !aria.allowsSelection && !aria.hasAction && !dnd.dragState;\n },\n })\n );\n\n const checkbox = createTableSelectionCheckbox({ key: item.key }, state);\n\n const drag = dnd.dragState\n ? dnd.dragAndDropHooks?.createDraggableItem?.(\n { hasDragButton: true, key: item.key },\n dnd.dragState\n )\n : undefined;\n\n const values: RowRenderProps = {\n get allowsDragging() {\n return !!dnd.dragState;\n },\n get hasChildItems() {\n return (\n props.hasChildItems === true ||\n (isPresent(item.lastChildKey) &&\n state.collection.getItem(item.lastChildKey)?.type !== \"cell\")\n );\n },\n id: item.key,\n get isDisabled() {\n return aria.isDisabled;\n },\n get isDragging() {\n return dnd.dragState?.isDragging(item.key) === true;\n },\n get isDropTarget() {\n return (\n dnd.dropState?.isDropTarget({\n dropPosition: \"on\",\n key: item.key,\n type: \"item\",\n }) === true\n );\n },\n get isExpanded() {\n return state.expandedKeys.has(item.key);\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocusVisibleWithin() {\n return within.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isSelected() {\n return aria.isSelected;\n },\n level: item.level + 1,\n get selectionBehavior() {\n return state.selectionManager.selectionBehavior;\n },\n get selectionMode() {\n return state.selectionManager.selectionMode;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-Row\",\n values,\n })\n );\n\n return (\n <Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.rowProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => within.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n merge(() => drag?.dragProps ?? {})\n )}\n ref={(element: HTMLTableRowElement) => {\n setRef(element);\n }}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-focus-visible-within={within.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-expanded={\n (values.hasChildItems && values.isExpanded) || undefined\n }\n data-has-child-items={values.hasChildItems || undefined}\n data-level={values.level}\n data-allows-dragging={!!dnd.dragState || undefined}\n data-dragging={values.isDragging ?? undefined}\n data-drop-target={values.isDropTarget ?? undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <CheckboxContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <CheckboxFieldContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get selection() {\n return checkbox.checkboxProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get chevron() {\n return aria.expandButtonProps;\n },\n drag: mergeProps(\n merge(() => drag?.dragButtonProps ?? {}),\n {\n style: { \"pointer-events\": \"none\" as const },\n }\n ),\n },\n }}\n >\n <RowFocusContext\n value={{\n get isFocusVisibleWithinRow() {\n return within.isFocusVisible;\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n <Branch collection={state.collection} parent={item} />\n </SelectionIndicatorContext>\n </RowFocusContext>\n </ButtonContext>\n </CheckboxFieldContext>\n </CheckboxContext>\n </Tag>\n );\n },\n (props: RowProps<T>) => (\n <Collection items={props.columns} dependencies={props.dependencies}>\n {props.children}\n </Collection>\n )\n )(ownProps);\n}\n\nexport const Cell = createLeafComponent(\n TableCellNode,\n (\n props: CellProps,\n forwardedRef: Ref<HTMLTableCellElement>,\n cell: GridNode<unknown>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n const dnd = useContext(DragAndDropContext);\n const within = useContext(RowFocusContext);\n\n const [ref, setRef] = createSignal<HTMLTableCellElement | null>(null, {\n ownedWrite: true,\n });\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.td\n );\n\n cell.column = state.collection.columns[cell.index];\n\n const aria = createTableCell(\n {\n get allowsArrowNavigation() {\n return props.allowsArrowNavigation;\n },\n get focusMode() {\n return props.focusMode;\n },\n isVirtualized: renderer.isVirtualized,\n node: cell,\n shouldSelectOnPressUp: !!dnd.dragState,\n },\n state,\n ref\n );\n\n const focus = createFocusRing();\n const hover = createHover({});\n\n const row = () =>\n isPresent(cell.parentKey)\n ? state.collection.getItem(cell.parentKey)\n : null;\n\n const values: CellRenderProps = {\n columnIndex: cell.colIndex ?? cell.index,\n get hasChildItems() {\n const node = row();\n\n return (\n isTruthy(getNodeProps(node).hasChildItems) ||\n (isPresent(node?.lastChildKey) &&\n state.collection.getItem(node.lastChildKey)?.type !== \"cell\")\n );\n },\n id: cell.key,\n get isDisabled() {\n return (\n isPresent(cell.parentKey) &&\n state.selectionManager.isDisabled(cell.parentKey)\n );\n },\n get isExpanded() {\n return (\n isPresent(cell.parentKey) && state.expandedKeys.has(cell.parentKey)\n );\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocusVisibleWithinRow() {\n return within.isFocusVisibleWithinRow;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isSelected() {\n return (\n isPresent(cell.parentKey) &&\n state.selectionManager.isSelected(cell.parentKey)\n );\n },\n get isTreeColumn() {\n return cell.column?.key === state.treeColumn;\n },\n get level() {\n return (row()?.level ?? 0) + 1;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n get children() {\n return cell.rendered;\n },\n defaultClass: \"solid2-aria-Cell\",\n values,\n })\n );\n\n return (\n <Tag\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n render,\n merge(() => aria.gridCellProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLTableCellElement) => {\n setRef(element);\n }}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-focus-visible-within-row={\n within.isFocusVisibleWithinRow || undefined\n }\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-selected={values.isSelected || undefined}\n data-column-index={values.columnIndex}\n data-tree-column={values.isTreeColumn || undefined}\n data-expanded={values.isExpanded || undefined}\n data-has-child-items={values.hasChildItems || undefined}\n data-level={values.level}\n data-disabled={values.isDisabled || undefined}\n >\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </Tag>\n );\n }\n);\n\nexport const TableLoadMoreItem = createLeafComponent(\n LoaderNode,\n (\n props: TableLoadMoreItemProps,\n ref: Ref<HTMLTableRowElement>,\n item: Node<object>\n ) => {\n const state = requireValue(\n useContext(TableStateContext),\n \"Expected useContext(TableStateContext)\"\n );\n\n const renderer = useContext(CollectionRendererContext);\n\n const Tag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.tr\n );\n\n const CellTag = dynamic(() =>\n renderer.isVirtualized === true ? dom.div : dom.td\n );\n\n const [sentinel, setSentinel] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n createLoadMoreSentinel(\n mergeProps(props, {\n get collection() {\n return state.collection;\n },\n }),\n sentinel\n );\n\n return (\n <>\n <tr inert style={{ height: 0 }}>\n <td\n colspan={state.collection.columnCount}\n style={{ height: 0, padding: 0 }}\n >\n <div\n ref={(element: HTMLDivElement) => {\n setSentinel(element);\n }}\n style={{ height: \"1px\", width: \"1px\" }}\n />\n </td>\n </tr>\n {props.isLoading === true && (\n <Tag\n {...filterDOMProps(props, { global: true })}\n ref={ref}\n render={props.render}\n class={props.class ?? \"solid2-aria-TableLoadingIndicator\"}\n >\n <CellTag role=\"gridcell\" colspan={state.collection.columnCount}>\n {item.rendered}\n </CellTag>\n </Tag>\n )}\n </>\n );\n }\n);\n"],"mappings":"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"}