@proyecto-viviana/solidaria-components 0.5.0 → 0.7.0-rc.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 (561) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +4 -7
  4. package/dist/ActionBar.d.ts +2 -10
  5. package/dist/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar.js +95 -59
  7. package/dist/ActionBar.js.map +1 -1
  8. package/dist/ActionBar.jsx +42 -15
  9. package/dist/ActionBar.jsx.map +1 -1
  10. package/dist/ActionGroup.d.ts +1 -12
  11. package/dist/ActionGroup.d.ts.map +1 -1
  12. package/dist/ActionGroup.js +66 -44
  13. package/dist/ActionGroup.js.map +1 -1
  14. package/dist/ActionGroup.jsx +25 -10
  15. package/dist/ActionGroup.jsx.map +1 -1
  16. package/dist/Alert.d.ts +4 -1
  17. package/dist/Alert.d.ts.map +1 -1
  18. package/dist/Alert.js +25 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +9 -5
  21. package/dist/Alert.jsx.map +1 -1
  22. package/dist/Autocomplete.d.ts +2 -9
  23. package/dist/Autocomplete.d.ts.map +1 -1
  24. package/dist/Autocomplete.js +18 -5
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +20 -7
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -7
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +71 -51
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +25 -12
  33. package/dist/Breadcrumbs.jsx.map +1 -1
  34. package/dist/Button.d.ts +1 -7
  35. package/dist/Button.d.ts.map +1 -1
  36. package/dist/Button.js +125 -72
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +105 -43
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +1 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +297 -221
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +52 -32
  45. package/dist/Calendar.jsx.map +1 -1
  46. package/dist/CalendarPicker.d.ts +1 -10
  47. package/dist/CalendarPicker.d.ts.map +1 -1
  48. package/dist/CalendarPicker.js +12 -0
  49. package/dist/CalendarPicker.js.map +1 -1
  50. package/dist/CalendarPicker.jsx +12 -0
  51. package/dist/CalendarPicker.jsx.map +1 -1
  52. package/dist/Checkbox.d.ts +2 -7
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +332 -270
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +70 -77
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +33 -7
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +128 -74
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +46 -7
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +15 -20
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +572 -334
  67. package/dist/Color.js.map +1 -1
  68. package/dist/Color.jsx +205 -85
  69. package/dist/Color.jsx.map +1 -1
  70. package/dist/ColorEditor.d.ts +3 -1
  71. package/dist/ColorEditor.d.ts.map +1 -1
  72. package/dist/ColorEditor.js +147 -124
  73. package/dist/ColorEditor.js.map +1 -1
  74. package/dist/ColorEditor.jsx +4 -1
  75. package/dist/ColorEditor.jsx.map +1 -1
  76. package/dist/ComboBox.d.ts +31 -10
  77. package/dist/ComboBox.d.ts.map +1 -1
  78. package/dist/ComboBox.js +539 -274
  79. package/dist/ComboBox.js.map +1 -1
  80. package/dist/ComboBox.jsx +213 -70
  81. package/dist/ComboBox.jsx.map +1 -1
  82. package/dist/ContextualHelpTrigger.d.ts +1 -7
  83. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  84. package/dist/ContextualHelpTrigger.js +102 -72
  85. package/dist/ContextualHelpTrigger.js.map +1 -1
  86. package/dist/ContextualHelpTrigger.jsx +36 -16
  87. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  88. package/dist/DateField.d.ts +2 -7
  89. package/dist/DateField.d.ts.map +1 -1
  90. package/dist/DateField.js +0 -2
  91. package/dist/DateField.jsx +0 -2
  92. package/dist/DateField2.js +194 -179
  93. package/dist/DateField2.js.map +1 -1
  94. package/dist/DateField2.jsx +58 -55
  95. package/dist/DateField2.jsx.map +1 -1
  96. package/dist/DatePicker.d.ts +7 -7
  97. package/dist/DatePicker.d.ts.map +1 -1
  98. package/dist/DatePicker.js +2 -2
  99. package/dist/DatePicker.jsx +2 -2
  100. package/dist/DatePicker2.js +357 -435
  101. package/dist/DatePicker2.js.map +1 -1
  102. package/dist/DatePicker2.jsx +109 -178
  103. package/dist/DatePicker2.jsx.map +1 -1
  104. package/dist/DateRangePickerContext.d.ts +7 -0
  105. package/dist/DateRangePickerContext.d.ts.map +1 -1
  106. package/dist/Dialog.d.ts +4 -9
  107. package/dist/Dialog.d.ts.map +1 -1
  108. package/dist/Dialog.js +168 -101
  109. package/dist/Dialog.js.map +1 -1
  110. package/dist/Dialog.jsx +75 -27
  111. package/dist/Dialog.jsx.map +1 -1
  112. package/dist/Disclosure.d.ts +1 -9
  113. package/dist/Disclosure.d.ts.map +1 -1
  114. package/dist/Disclosure.js +121 -79
  115. package/dist/Disclosure.js.map +1 -1
  116. package/dist/Disclosure.jsx +32 -19
  117. package/dist/Disclosure.jsx.map +1 -1
  118. package/dist/DragAndDrop.d.ts +9 -6
  119. package/dist/DragAndDrop.d.ts.map +1 -1
  120. package/dist/DragAndDrop.js +37 -22
  121. package/dist/DragAndDrop.js.map +1 -1
  122. package/dist/DragAndDrop.jsx +20 -4
  123. package/dist/DragAndDrop.jsx.map +1 -1
  124. package/dist/DragPreview.d.ts +1 -1
  125. package/dist/DragPreview.d.ts.map +1 -1
  126. package/dist/DropZone.d.ts +1 -7
  127. package/dist/DropZone.d.ts.map +1 -1
  128. package/dist/DropZone.js +74 -40
  129. package/dist/DropZone.js.map +1 -1
  130. package/dist/DropZone.jsx +24 -8
  131. package/dist/DropZone.jsx.map +1 -1
  132. package/dist/ElementTag.d.ts +9 -20
  133. package/dist/ElementTag.d.ts.map +1 -1
  134. package/dist/ElementTag.js +8 -210
  135. package/dist/ElementTag.js.map +1 -1
  136. package/dist/ElementTag.jsx +8 -57
  137. package/dist/ElementTag.jsx.map +1 -1
  138. package/dist/FieldError.d.ts +8 -7
  139. package/dist/FieldError.d.ts.map +1 -1
  140. package/dist/FieldError.js +33 -13
  141. package/dist/FieldError.js.map +1 -1
  142. package/dist/FieldError.jsx +20 -5
  143. package/dist/FieldError.jsx.map +1 -1
  144. package/dist/FileTrigger.d.ts +1 -7
  145. package/dist/FileTrigger.d.ts.map +1 -1
  146. package/dist/FileTrigger.js +30 -12
  147. package/dist/FileTrigger.js.map +1 -1
  148. package/dist/FileTrigger.jsx +15 -2
  149. package/dist/FileTrigger.jsx.map +1 -1
  150. package/dist/Focusable.d.ts +2 -8
  151. package/dist/Focusable.d.ts.map +1 -1
  152. package/dist/Focusable.js +23 -6
  153. package/dist/Focusable.js.map +1 -1
  154. package/dist/Focusable.jsx +22 -5
  155. package/dist/Focusable.jsx.map +1 -1
  156. package/dist/Form.d.ts +9 -8
  157. package/dist/Form.d.ts.map +1 -1
  158. package/dist/Form.js +66 -43
  159. package/dist/Form.js.map +1 -1
  160. package/dist/Form.jsx +36 -16
  161. package/dist/Form.jsx.map +1 -1
  162. package/dist/GridList.d.ts +5 -10
  163. package/dist/GridList.d.ts.map +1 -1
  164. package/dist/GridList.js +372 -243
  165. package/dist/GridList.js.map +1 -1
  166. package/dist/GridList.jsx +177 -99
  167. package/dist/GridList.jsx.map +1 -1
  168. package/dist/HiddenDateInput.d.ts +1 -7
  169. package/dist/HiddenDateInput.d.ts.map +1 -1
  170. package/dist/Icon.d.ts +4 -1
  171. package/dist/Icon.d.ts.map +1 -1
  172. package/dist/Icon.js +41 -37
  173. package/dist/Icon.js.map +1 -1
  174. package/dist/Icon.jsx +7 -3
  175. package/dist/Icon.jsx.map +1 -1
  176. package/dist/Keyboard.d.ts +1 -7
  177. package/dist/Keyboard.d.ts.map +1 -1
  178. package/dist/Keyboard.js +24 -11
  179. package/dist/Keyboard.js.map +1 -1
  180. package/dist/Keyboard.jsx +15 -2
  181. package/dist/Keyboard.jsx.map +1 -1
  182. package/dist/Label.d.ts +20 -0
  183. package/dist/Label.d.ts.map +1 -0
  184. package/dist/Label.js +60 -0
  185. package/dist/Label.js.map +1 -0
  186. package/dist/Label.jsx +47 -0
  187. package/dist/Label.jsx.map +1 -0
  188. package/dist/Landmark.d.ts +4 -1
  189. package/dist/Landmark.d.ts.map +1 -1
  190. package/dist/Landmark.js +10 -4
  191. package/dist/Landmark.js.map +1 -1
  192. package/dist/Landmark.jsx +5 -1
  193. package/dist/Landmark.jsx.map +1 -1
  194. package/dist/Link.d.ts +2 -7
  195. package/dist/Link.d.ts.map +1 -1
  196. package/dist/Link.js +56 -36
  197. package/dist/Link.js.map +1 -1
  198. package/dist/Link.jsx +52 -10
  199. package/dist/Link.jsx.map +1 -1
  200. package/dist/ListBox.d.ts +17 -13
  201. package/dist/ListBox.d.ts.map +1 -1
  202. package/dist/ListBox.js +647 -348
  203. package/dist/ListBox.js.map +1 -1
  204. package/dist/ListBox.jsx +339 -236
  205. package/dist/ListBox.jsx.map +1 -1
  206. package/dist/ListDropTargetDelegate.d.ts +3 -0
  207. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  208. package/dist/Menu.d.ts +39 -30
  209. package/dist/Menu.d.ts.map +1 -1
  210. package/dist/Menu.js +547 -368
  211. package/dist/Menu.js.map +1 -1
  212. package/dist/Menu.jsx +328 -230
  213. package/dist/Menu.jsx.map +1 -1
  214. package/dist/Meter.d.ts +6 -13
  215. package/dist/Meter.d.ts.map +1 -1
  216. package/dist/Meter.js +55 -18
  217. package/dist/Meter.js.map +1 -1
  218. package/dist/Meter.jsx +33 -8
  219. package/dist/Meter.jsx.map +1 -1
  220. package/dist/Modal.d.ts +1 -7
  221. package/dist/Modal.d.ts.map +1 -1
  222. package/dist/Modal.js +104 -56
  223. package/dist/Modal.js.map +1 -1
  224. package/dist/Modal.jsx +68 -38
  225. package/dist/Modal.jsx.map +1 -1
  226. package/dist/NumberField.d.ts +4 -7
  227. package/dist/NumberField.d.ts.map +1 -1
  228. package/dist/NumberField.js +243 -124
  229. package/dist/NumberField.js.map +1 -1
  230. package/dist/NumberField.jsx +115 -26
  231. package/dist/NumberField.jsx.map +1 -1
  232. package/dist/Popover.d.ts +15 -7
  233. package/dist/Popover.d.ts.map +1 -1
  234. package/dist/Popover.js +370 -181
  235. package/dist/Popover.js.map +1 -1
  236. package/dist/Popover.jsx +215 -82
  237. package/dist/Popover.jsx.map +1 -1
  238. package/dist/Pressable.d.ts +2 -8
  239. package/dist/Pressable.d.ts.map +1 -1
  240. package/dist/Pressable.js +23 -6
  241. package/dist/Pressable.js.map +1 -1
  242. package/dist/Pressable.jsx +22 -5
  243. package/dist/Pressable.jsx.map +1 -1
  244. package/dist/PreviewTrigger.d.ts +24 -0
  245. package/dist/PreviewTrigger.d.ts.map +1 -0
  246. package/dist/PreviewTrigger.js +128 -0
  247. package/dist/PreviewTrigger.js.map +1 -0
  248. package/dist/PreviewTrigger.jsx +117 -0
  249. package/dist/PreviewTrigger.jsx.map +1 -0
  250. package/dist/ProgressBar.d.ts +1 -7
  251. package/dist/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar.js +34 -14
  253. package/dist/ProgressBar.js.map +1 -1
  254. package/dist/ProgressBar.jsx +17 -3
  255. package/dist/ProgressBar.jsx.map +1 -1
  256. package/dist/RadioGroup.d.ts +2 -7
  257. package/dist/RadioGroup.d.ts.map +1 -1
  258. package/dist/RadioGroup.js +388 -269
  259. package/dist/RadioGroup.js.map +1 -1
  260. package/dist/RadioGroup.jsx +110 -99
  261. package/dist/RadioGroup.jsx.map +1 -1
  262. package/dist/RangeCalendar.d.ts +3 -7
  263. package/dist/RangeCalendar.d.ts.map +1 -1
  264. package/dist/RangeCalendar.js +271 -202
  265. package/dist/RangeCalendar.js.map +1 -1
  266. package/dist/RangeCalendar.jsx +56 -37
  267. package/dist/RangeCalendar.jsx.map +1 -1
  268. package/dist/RouterProvider.d.ts +3 -9
  269. package/dist/RouterProvider.d.ts.map +1 -1
  270. package/dist/RouterProvider.js +15 -14
  271. package/dist/RouterProvider.js.map +1 -1
  272. package/dist/RouterProvider.jsx +14 -13
  273. package/dist/RouterProvider.jsx.map +1 -1
  274. package/dist/SearchField.d.ts +4 -7
  275. package/dist/SearchField.d.ts.map +1 -1
  276. package/dist/SearchField.js +191 -164
  277. package/dist/SearchField.js.map +1 -1
  278. package/dist/SearchField.jsx +69 -62
  279. package/dist/SearchField.jsx.map +1 -1
  280. package/dist/Select.d.ts +5 -10
  281. package/dist/Select.d.ts.map +1 -1
  282. package/dist/Select.js +565 -359
  283. package/dist/Select.js.map +1 -1
  284. package/dist/Select.jsx +281 -161
  285. package/dist/Select.jsx.map +1 -1
  286. package/dist/SelectionIndicator.d.ts +1 -4
  287. package/dist/SelectionIndicator.d.ts.map +1 -1
  288. package/dist/SelectionIndicator.js +29 -13
  289. package/dist/SelectionIndicator.js.map +1 -1
  290. package/dist/SelectionIndicator.jsx +18 -4
  291. package/dist/SelectionIndicator.jsx.map +1 -1
  292. package/dist/Separator.d.ts +1 -7
  293. package/dist/Separator.d.ts.map +1 -1
  294. package/dist/Separator.js +22 -6
  295. package/dist/Separator.js.map +1 -1
  296. package/dist/Separator.jsx +16 -3
  297. package/dist/Separator.jsx.map +1 -1
  298. package/dist/SharedElementTransition.d.ts +1 -10
  299. package/dist/SharedElementTransition.d.ts.map +1 -1
  300. package/dist/SharedElementTransition.js +68 -40
  301. package/dist/SharedElementTransition.js.map +1 -1
  302. package/dist/SharedElementTransition.jsx +49 -25
  303. package/dist/SharedElementTransition.jsx.map +1 -1
  304. package/dist/Slider.d.ts +2 -8
  305. package/dist/Slider.d.ts.map +1 -1
  306. package/dist/Slider.js +155 -97
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/Slider.jsx +25 -12
  309. package/dist/Slider.jsx.map +1 -1
  310. package/dist/StepList.d.ts +1 -7
  311. package/dist/StepList.d.ts.map +1 -1
  312. package/dist/StepList.js +112 -68
  313. package/dist/StepList.js.map +1 -1
  314. package/dist/StepList.jsx +58 -20
  315. package/dist/StepList.jsx.map +1 -1
  316. package/dist/Switch.d.ts +2 -9
  317. package/dist/Switch.d.ts.map +1 -1
  318. package/dist/Switch.js +164 -114
  319. package/dist/Switch.js.map +1 -1
  320. package/dist/Switch.jsx +26 -13
  321. package/dist/Switch.jsx.map +1 -1
  322. package/dist/Table.d.ts +2 -1
  323. package/dist/Table.d.ts.map +1 -1
  324. package/dist/Table.js +689 -592
  325. package/dist/Table.js.map +1 -1
  326. package/dist/Table.jsx +317 -237
  327. package/dist/Table.jsx.map +1 -1
  328. package/dist/Tabs.d.ts +2 -7
  329. package/dist/Tabs.d.ts.map +1 -1
  330. package/dist/Tabs.js +278 -293
  331. package/dist/Tabs.js.map +1 -1
  332. package/dist/Tabs.jsx +68 -66
  333. package/dist/Tabs.jsx.map +1 -1
  334. package/dist/TagGroup.d.ts +4 -11
  335. package/dist/TagGroup.d.ts.map +1 -1
  336. package/dist/TagGroup.js +153 -115
  337. package/dist/TagGroup.js.map +1 -1
  338. package/dist/TagGroup.jsx +37 -24
  339. package/dist/TagGroup.jsx.map +1 -1
  340. package/dist/Text.d.ts +3 -3
  341. package/dist/Text.d.ts.map +1 -1
  342. package/dist/Text.js +24 -7
  343. package/dist/Text.js.map +1 -1
  344. package/dist/Text.jsx +17 -5
  345. package/dist/Text.jsx.map +1 -1
  346. package/dist/TextField.d.ts +3 -16
  347. package/dist/TextField.d.ts.map +1 -1
  348. package/dist/TextField.js +104 -129
  349. package/dist/TextField.js.map +1 -1
  350. package/dist/TextField.jsx +76 -102
  351. package/dist/TextField.jsx.map +1 -1
  352. package/dist/TimeField.d.ts +2 -15
  353. package/dist/TimeField.d.ts.map +1 -1
  354. package/dist/TimeField.js +86 -102
  355. package/dist/TimeField.js.map +1 -1
  356. package/dist/TimeField.jsx +32 -49
  357. package/dist/TimeField.jsx.map +1 -1
  358. package/dist/Toast.d.ts +10 -13
  359. package/dist/Toast.d.ts.map +1 -1
  360. package/dist/Toast.js +209 -108
  361. package/dist/Toast.js.map +1 -1
  362. package/dist/Toast.jsx +127 -22
  363. package/dist/Toast.jsx.map +1 -1
  364. package/dist/ToggleButton.d.ts +1 -7
  365. package/dist/ToggleButton.d.ts.map +1 -1
  366. package/dist/ToggleButton.js +57 -35
  367. package/dist/ToggleButton.js.map +1 -1
  368. package/dist/ToggleButton.jsx +26 -12
  369. package/dist/ToggleButton.jsx.map +1 -1
  370. package/dist/ToggleButtonGroup.d.ts +1 -7
  371. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButtonGroup.js +59 -44
  373. package/dist/ToggleButtonGroup.js.map +1 -1
  374. package/dist/ToggleButtonGroup.jsx +25 -12
  375. package/dist/ToggleButtonGroup.jsx.map +1 -1
  376. package/dist/TokenField.d.ts +52 -0
  377. package/dist/TokenField.d.ts.map +1 -0
  378. package/dist/TokenField.js +301 -0
  379. package/dist/TokenField.js.map +1 -0
  380. package/dist/TokenField.jsx +197 -0
  381. package/dist/TokenField.jsx.map +1 -0
  382. package/dist/Toolbar.d.ts +2 -7
  383. package/dist/Toolbar.d.ts.map +1 -1
  384. package/dist/Toolbar.js +35 -16
  385. package/dist/Toolbar.js.map +1 -1
  386. package/dist/Toolbar.jsx +15 -2
  387. package/dist/Toolbar.jsx.map +1 -1
  388. package/dist/Tooltip.d.ts +2 -7
  389. package/dist/Tooltip.d.ts.map +1 -1
  390. package/dist/Tooltip.js +105 -68
  391. package/dist/Tooltip.js.map +1 -1
  392. package/dist/Tooltip.jsx +60 -36
  393. package/dist/Tooltip.jsx.map +1 -1
  394. package/dist/Tree.d.ts +8 -11
  395. package/dist/Tree.d.ts.map +1 -1
  396. package/dist/Tree.js +486 -339
  397. package/dist/Tree.js.map +1 -1
  398. package/dist/Tree.jsx +155 -107
  399. package/dist/Tree.jsx.map +1 -1
  400. package/dist/Virtualizer.d.ts +39 -9
  401. package/dist/Virtualizer.d.ts.map +1 -1
  402. package/dist/Virtualizer.js +2 -2
  403. package/dist/Virtualizer.jsx +2 -2
  404. package/dist/Virtualizer2.js +491 -136
  405. package/dist/Virtualizer2.js.map +1 -1
  406. package/dist/Virtualizer2.jsx +455 -122
  407. package/dist/Virtualizer2.jsx.map +1 -1
  408. package/dist/VirtualizerLayouts.d.ts +55 -2
  409. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  410. package/dist/VisuallyHidden.d.ts +4 -3
  411. package/dist/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/VisuallyHidden.js +18 -11
  413. package/dist/VisuallyHidden.js.map +1 -1
  414. package/dist/VisuallyHidden.jsx +15 -9
  415. package/dist/VisuallyHidden.jsx.map +1 -1
  416. package/dist/contexts.d.ts +25 -0
  417. package/dist/contexts.d.ts.map +1 -1
  418. package/dist/contexts.js +3 -0
  419. package/dist/contexts.js.map +1 -1
  420. package/dist/contexts.jsx +3 -0
  421. package/dist/contexts.jsx.map +1 -1
  422. package/dist/index.d.ts +11 -9
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +14 -11
  425. package/dist/index.jsx +14 -11
  426. package/dist/intl/index.d.ts +16 -0
  427. package/dist/intl/index.d.ts.map +1 -0
  428. package/dist/intl.js +212 -0
  429. package/dist/intl.js.map +1 -0
  430. package/dist/intl.jsx +212 -0
  431. package/dist/intl.jsx.map +1 -0
  432. package/dist/useDragAndDrop.d.ts +4 -2
  433. package/dist/useDragAndDrop.d.ts.map +1 -1
  434. package/dist/useDragAndDrop2.js +39 -21
  435. package/dist/useDragAndDrop2.js.map +1 -1
  436. package/dist/useDragAndDrop2.jsx +39 -21
  437. package/dist/useDragAndDrop2.jsx.map +1 -1
  438. package/dist/utils.d.ts +28 -9
  439. package/dist/utils.d.ts.map +1 -1
  440. package/dist/utils.js +96 -24
  441. package/dist/utils.js.map +1 -1
  442. package/dist/utils.jsx +81 -24
  443. package/dist/utils.jsx.map +1 -1
  444. package/dist/virtualizer/Layout.d.ts +9 -0
  445. package/dist/virtualizer/Layout.d.ts.map +1 -1
  446. package/dist/virtualizer/Layout.js +23 -2
  447. package/dist/virtualizer/Layout.js.map +1 -1
  448. package/dist/virtualizer/Layout.jsx +23 -2
  449. package/dist/virtualizer/Layout.jsx.map +1 -1
  450. package/package.json +29 -10
  451. package/src/ActionBar.tsx +50 -24
  452. package/src/ActionGroup.tsx +31 -19
  453. package/src/Alert.tsx +10 -4
  454. package/src/Autocomplete.tsx +24 -15
  455. package/src/Breadcrumbs.tsx +32 -16
  456. package/src/Button.tsx +182 -67
  457. package/src/Calendar.tsx +65 -47
  458. package/src/CalendarPicker.tsx +16 -1
  459. package/src/Checkbox.tsx +84 -116
  460. package/src/Collection.tsx +84 -3
  461. package/src/Color.tsx +282 -104
  462. package/src/ColorEditor.tsx +5 -1
  463. package/src/ComboBox.tsx +384 -109
  464. package/src/ContextualHelpTrigger.tsx +47 -41
  465. package/src/DateField.tsx +74 -106
  466. package/src/DatePicker.tsx +156 -352
  467. package/src/DateRangePickerContext.tsx +8 -0
  468. package/src/Dialog.tsx +105 -38
  469. package/src/Disclosure.tsx +29 -19
  470. package/src/DragAndDrop.tsx +43 -8
  471. package/src/DragPreview.tsx +20 -1
  472. package/src/DropZone.tsx +32 -18
  473. package/src/ElementTag.tsx +14 -104
  474. package/src/FieldError.tsx +39 -7
  475. package/src/FileTrigger.tsx +18 -3
  476. package/src/Focusable.tsx +27 -6
  477. package/src/Form.tsx +57 -11
  478. package/src/GridList.tsx +233 -141
  479. package/src/HiddenDateInput.tsx +19 -3
  480. package/src/Icon.tsx +8 -2
  481. package/src/Keyboard.tsx +18 -2
  482. package/src/Label.tsx +77 -0
  483. package/src/Landmark.tsx +6 -1
  484. package/src/Link.tsx +65 -19
  485. package/src/ListBox.tsx +645 -468
  486. package/src/ListDropTargetDelegate.ts +4 -0
  487. package/src/Menu.tsx +512 -349
  488. package/src/Meter.tsx +42 -8
  489. package/src/Modal.tsx +85 -42
  490. package/src/NumberField.tsx +161 -48
  491. package/src/Popover.tsx +424 -148
  492. package/src/Pressable.tsx +27 -6
  493. package/src/PreviewTrigger.tsx +171 -0
  494. package/src/ProgressBar.tsx +25 -3
  495. package/src/RadioGroup.tsx +230 -161
  496. package/src/RangeCalendar.tsx +75 -63
  497. package/src/RouterProvider.tsx +24 -14
  498. package/src/SearchField.tsx +118 -121
  499. package/src/Select.tsx +454 -274
  500. package/src/SelectionIndicator.tsx +21 -3
  501. package/src/Separator.tsx +17 -1
  502. package/src/SharedElementTransition.tsx +115 -97
  503. package/src/Slider.tsx +35 -17
  504. package/src/StepList.tsx +71 -32
  505. package/src/Switch.tsx +45 -29
  506. package/src/Table.tsx +446 -380
  507. package/src/Tabs.tsx +132 -155
  508. package/src/TagGroup.tsx +53 -40
  509. package/src/Text.tsx +23 -6
  510. package/src/TextField.tsx +118 -159
  511. package/src/TimeField.tsx +34 -95
  512. package/src/Toast.tsx +141 -67
  513. package/src/ToggleButton.tsx +33 -15
  514. package/src/ToggleButtonGroup.tsx +27 -9
  515. package/src/TokenField.tsx +379 -0
  516. package/src/Toolbar.tsx +19 -9
  517. package/src/Tooltip.tsx +126 -84
  518. package/src/Tree.tsx +233 -173
  519. package/src/Virtualizer.tsx +400 -138
  520. package/src/VirtualizerLayouts.ts +211 -26
  521. package/src/VisuallyHidden.tsx +22 -8
  522. package/src/contexts.ts +13 -0
  523. package/src/index.ts +32 -11
  524. package/src/intl/ar-AE.json +6 -0
  525. package/src/intl/bg-BG.json +6 -0
  526. package/src/intl/cs-CZ.json +6 -0
  527. package/src/intl/da-DK.json +6 -0
  528. package/src/intl/de-DE.json +6 -0
  529. package/src/intl/el-GR.json +6 -0
  530. package/src/intl/en-US.json +6 -0
  531. package/src/intl/es-ES.json +6 -0
  532. package/src/intl/et-EE.json +6 -0
  533. package/src/intl/fi-FI.json +6 -0
  534. package/src/intl/fr-FR.json +6 -0
  535. package/src/intl/he-IL.json +6 -0
  536. package/src/intl/hr-HR.json +6 -0
  537. package/src/intl/hu-HU.json +6 -0
  538. package/src/intl/index.ts +125 -0
  539. package/src/intl/it-IT.json +6 -0
  540. package/src/intl/ja-JP.json +6 -0
  541. package/src/intl/ko-KR.json +6 -0
  542. package/src/intl/lt-LT.json +6 -0
  543. package/src/intl/lv-LV.json +6 -0
  544. package/src/intl/nb-NO.json +6 -0
  545. package/src/intl/nl-NL.json +6 -0
  546. package/src/intl/pl-PL.json +6 -0
  547. package/src/intl/pt-BR.json +6 -0
  548. package/src/intl/pt-PT.json +6 -0
  549. package/src/intl/ro-RO.json +6 -0
  550. package/src/intl/ru-RU.json +6 -0
  551. package/src/intl/sk-SK.json +6 -0
  552. package/src/intl/sl-SI.json +6 -0
  553. package/src/intl/sr-SP.json +6 -0
  554. package/src/intl/sv-SE.json +6 -0
  555. package/src/intl/tr-TR.json +6 -0
  556. package/src/intl/uk-UA.json +6 -0
  557. package/src/intl/zh-CN.json +6 -0
  558. package/src/intl/zh-TW.json +6 -0
  559. package/src/useDragAndDrop.ts +30 -32
  560. package/src/utils.tsx +124 -68
  561. package/src/virtualizer/Layout.ts +29 -0
@@ -1 +1 @@
1
- {"version":3,"file":"GridList.js","names":["JSX","createContext","createEffect","createMemo","createSignal","onCleanup","splitProps","useContext","For","Show","createGridList","createGridListItem","createGridListSelectionCheckbox","createGridListSection","createFocusRing","createHover","mergeProps","AriaGridListProps","GridListSectionAria","createGridState","GridState","GridCollection","GridNode","Key","DropTarget","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","SharedElementTransition","DragAndDropHooks","CollectionRendererContext","CollectionRendererContextValue","SectionProps","useCollectionRenderer","useVirtualizerContext","Orientation","getNormalizedDropTargetKey","mergePersistedKeysIntoVirtualRange","useDndPersistedKeys","useRenderDropIndicator","RefLike","el","T","current","assignRef","ref","GridListRenderProps","isFocused","isFocusVisible","isDisabled","isEmpty","orientation","GridListProps","Omit","items","getKey","item","getTextValue","getDisabled","selectionMode","selectionBehavior","disabledKeys","Iterable","disabledBehavior","selectedKeys","defaultSelectedKeys","onSelectionChange","keys","Set","children","Element","class","style","HTMLDivElement","renderEmptyState","hasMore","isLoading","onLoadMore","Promise","dragAndDropHooks","GridListItemRenderProps","isSelected","isPressed","isHovered","GridListItemProps","HTMLAttributes","id","textValue","onAction","GridListLoadMoreItemProps","scrollOffset","GridListSectionProps","GridListHeaderProps","CSSProperties","GridListContextValue","state","collection","dragState","dropState","GridListContext","GridListStateContext","GridListHeaderContext","GridListHeaderInnerContext","buildGridCollection","nodes","map","index","key","type","const","value","String","level","hasChildNodes","childNodes","keyMap","Map","forEach","node","set","rows","columns","headerRows","rowCount","length","columnCount","size","getKeys","n","getItem","get","at","getKeyBefore","getKeyAfter","getFirstKey","getLastKey","getChildren","_key","getCell","_rowKey","_columnKey","Symbol","iterator","GridList","props","local","stateProps","ariaProps","setRef","allDisabledKeys","add","resolveDirection","window","getComputedStyle","dir","direction","document","gridListAria","isVirtualized","keyboardNavigationBehavior","focusProps","renderValues","renderProps","defaultClassName","domProps","filtered","Record","global","cleanGridProps","_ref1","rest","gridProps","cleanFocusProps","_ref2","virtualizer","parentCollectionRenderer","getItemNodes","Array","from","filter","getDropTargetByIndex","position","dropPosition","hasDroppableDnd","hooks","Boolean","useDroppableCollectionState","useDroppableCollection","dropTargetDelegate","ListDropTargetDelegate","hasDraggableDnd","useDraggableCollectionState","useDraggableCollection","undefined","activeDragState","droppableCollection","activeDropState","layout","keyboardDelegate","getKeyBelow","getKeyAbove","getKeyLeftOf","getKeyRightOf","getKeyPageBelow","getKeyPageAbove","isRootDropTarget","target","dndRenderDropIndicator","dndDropIndicator","persistedKeys","focusedKey","virtualRange","baseRange","getVisibleRange","itemNodes","persistedIndexes","findIndex","dropTarget","normalizedDropKey","focusedIndex","forceIncludeIndexes","forceIncludeMaxSpan","setDropTargetItemCountResolver","setDropTargetIndexResolver","entries","setDropTargetResolver","visibleItems","range","slice","start","end","virtualSpacerStyle","width","height","contextValue","collectionRenderer","renderItem","renderDropIndicator","_$createComponent","Provider","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","_co$","_$getNextMarker","nextSibling","_el$4","_el$5","_co$2","_$use","element","_$spread","_$mergeProps","collectionProps","data-focused","data-focus-visible","data-disabled","data-empty","data-drop-target","data-orientation","_$insert","_$memo","offsetTop","_el$6","_tmpl$2","_$effect","_$p","_$style","each","itemIndex","beforeIndicator","onIndicator","afterIndicator","offsetBottom","_el$7","_tmpl$3","_c$","GridListLoadMoreItem","_$runHydrationEvents","GridListItem","context","Error","listContext","itemNode","itemAria","hoverProps","draggableItem","useDraggableItem","Parameters","NonNullable","droppableItem","useDroppableItem","cleanRowProps","rowProps","cleanHoverProps","_ref3","_el$8","_tmpl$4","_el$9","dragProps","dropProps","data-key","data-selected","data-pressed","data-hovered","data-dragging","isDragging","isDropTarget","gridCellProps","renderChildren","GridListSelectionCheckbox","itemKey","excludeFromTabOrder","checkboxAria","_el$0","_tmpl$5","checkboxProps","tabIndex","aria-label","sentinelRef","isPending","setIsPending","triggerLoadMore","IntersectionObserver","offset","margin","observer","isIntersecting","rootMargin","observe","disconnect","_el$1","_tmpl$6","_el$10","_ref$","_el$11","_tmpl$7","addEventListener","_p$","_v$","_v$2","_v$3","e","_$className","t","a","_$setAttribute","GridListHeader","rowHeaderProps","_el$12","_el$13","display","GridListSection","section","hasChildren","filteredDomProps","_el$14","_tmpl$8","rowGroupProps","slot","Item","SelectionCheckbox","LoadMoreItem"],"sources":["../src/GridList.tsx"],"sourcesContent":["/**\n * GridList component for solidaria-components\n *\n * A pre-wired headless grid list that combines state + aria hooks.\n * Based on react-aria-components/src/GridList.tsx\n *\n * GridList is similar to ListBox but supports interactive elements within items\n * and uses grid keyboard navigation.\n */\n\nimport {\n type JSX,\n createContext,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n splitProps,\n useContext,\n For,\n Show,\n} from \"solid-js\";\nimport {\n createGridList,\n createGridListItem,\n createGridListSelectionCheckbox,\n createGridListSection,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaGridListProps,\n type GridListSectionAria,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createGridState,\n type GridState,\n type GridCollection,\n type GridNode,\n type Key,\n type DropTarget,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { SharedElementTransition } from \"./SharedElementTransition\";\nimport { type DragAndDropHooks } from \"./useDragAndDrop\";\nimport {\n CollectionRendererContext,\n type CollectionRendererContextValue,\n type SectionProps,\n useCollectionRenderer,\n} from \"./Collection\";\nimport { useVirtualizerContext, type Orientation } from \"./Virtualizer\";\nimport {\n getNormalizedDropTargetKey,\n mergePersistedKeysIntoVirtualRange,\n useDndPersistedKeys,\n useRenderDropIndicator,\n} from \"./DragAndDrop\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface GridListRenderProps {\n /** Whether the grid list has focus. */\n isFocused: boolean;\n /** Whether the grid list has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the grid list is disabled. */\n isDisabled: boolean;\n /** Whether the grid list is empty. */\n isEmpty: boolean;\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n}\n\nexport interface GridListProps<T extends object>\n extends Omit<AriaGridListProps, \"children\">, SlotProps {\n /** The items to render in the grid list. */\n items: T[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => Key;\n /** Function to get the text value from an item. */\n getTextValue?: (item: T) => string;\n /** Function to check if an item is disabled. */\n getDisabled?: (item: T) => boolean;\n /** The selection mode. */\n selectionMode?: \"none\" | \"single\" | \"multiple\";\n /** How selection should behave when pressing an item. */\n selectionBehavior?: \"replace\" | \"toggle\";\n /** Keys of disabled items. */\n disabledKeys?: Iterable<Key>;\n /** Whether disabled items can still receive focus. */\n disabledBehavior?: \"selection\" | \"all\";\n /** Currently selected keys (controlled). */\n selectedKeys?: \"all\" | Iterable<Key>;\n /** Default selected keys (uncontrolled). */\n defaultSelectedKeys?: \"all\" | Iterable<Key>;\n /** Handler called when selection changes. */\n onSelectionChange?: (keys: \"all\" | Set<Key>) => void;\n /**\n * The primary orientation of the items. Usually this is the direction that the collection\n * scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\n /** The children of the component. A function may be provided to render each item. */\n children: (item: T) => JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<GridListRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListRenderProps>;\n /** Ref for the grid list root element. */\n ref?: RefLike<HTMLDivElement>;\n /** A function to render when the grid list is empty. */\n renderEmptyState?: () => JSX.Element;\n /** Whether there are more items to load. */\n hasMore?: boolean;\n /** Whether additional items are currently loading. */\n isLoading?: boolean;\n /** Called when the load more sentinel becomes visible. */\n onLoadMore?: () => void | Promise<void>;\n /** Drag and drop hooks from `useDragAndDrop`. */\n dragAndDropHooks?: DragAndDropHooks<T>;\n}\n\nexport interface GridListItemRenderProps {\n /** Whether the item is selected. */\n isSelected: boolean;\n /** Whether the item is focused. */\n isFocused: boolean;\n /** Whether the item has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the item is pressed. */\n isPressed: boolean;\n /** Whether the item is hovered. */\n isHovered: boolean;\n /** Whether the item is disabled. */\n isDisabled: boolean;\n /** The grid list selection mode. */\n selectionMode: \"none\" | \"single\" | \"multiple\";\n /** How selection behaves when pressing an item. */\n selectionBehavior: \"replace\" | \"toggle\";\n}\n\nexport interface GridListItemProps<T extends object>\n extends\n SlotProps,\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\" | \"style\" | \"children\" | \"id\" | \"ref\"> {\n /** The unique key for the item. */\n id: Key;\n /** The item value. */\n item?: T;\n /** The children of the item. A function may be provided to receive render props. */\n children?: RenderChildren<GridListItemRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<GridListItemRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListItemRenderProps>;\n /** The text value of the item (for accessibility). */\n textValue?: string;\n /** Handler called when the item is activated. */\n onAction?: () => void;\n /** Ref for the rendered row element. */\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport interface GridListLoadMoreItemProps extends SlotProps {\n onLoadMore: () => void | Promise<void>;\n isLoading?: boolean;\n /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */\n scrollOffset?: number;\n children?: JSX.Element;\n class?: ClassNameOrFunction<{ isLoading: boolean }>;\n style?: StyleOrFunction<{ isLoading: boolean }>;\n}\n\nexport interface GridListSectionProps extends SectionProps {}\nexport interface GridListHeaderProps extends SlotProps {\n children?: JSX.Element;\n class?: string;\n style?: JSX.CSSProperties;\n}\n\ninterface GridListContextValue<T extends object> {\n state: GridState<T, GridCollection<T>>;\n collection: GridCollection<T>;\n isDisabled: boolean;\n selectionBehavior: \"replace\" | \"toggle\";\n dragAndDropHooks?: DragAndDropHooks<T>;\n dragState?: unknown;\n dropState?: unknown;\n}\n\nexport const GridListContext = createContext<GridListContextValue<object> | null>(null);\nexport const GridListStateContext = createContext<GridState<object, GridCollection<object>> | null>(\n null,\n);\n/** Carries the section header's outer (row) props to {@link GridListHeader}. */\nexport const GridListHeaderContext = createContext<GridListSectionAria[\"rowProps\"] | null>(null);\n/** Carries the section header's inner (rowheader) props to {@link GridListHeader}. */\nexport const GridListHeaderInnerContext = createContext<\n GridListSectionAria[\"rowHeaderProps\"] | null\n>(null);\n\nfunction buildGridCollection<T extends object>(\n items: T[],\n getKey?: (item: T) => Key,\n getTextValue?: (item: T) => string,\n getDisabled?: (item: T) => boolean,\n): GridCollection<T> {\n const nodes: GridNode<T>[] = items.map((item, index) => {\n const key = getKey?.(item) ?? index;\n return {\n type: \"item\" as const,\n key,\n value: item,\n textValue: getTextValue?.(item) ?? String(key),\n level: 0,\n index,\n hasChildNodes: false,\n childNodes: [],\n isDisabled: getDisabled?.(item),\n };\n });\n\n const keyMap = new Map<Key, GridNode<T>>();\n nodes.forEach((node) => keyMap.set(node.key, node));\n\n return {\n rows: nodes,\n columns: [],\n headerRows: [],\n get rowCount() {\n return nodes.length;\n },\n get columnCount() {\n return 1;\n },\n get size() {\n return nodes.length;\n },\n getKeys() {\n return nodes.map((n) => n.key);\n },\n getItem(key: Key) {\n return keyMap.get(key) ?? null;\n },\n at(index: number) {\n return nodes[index] ?? null;\n },\n getKeyBefore(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index > 0 ? nodes[node.index - 1].key : null;\n },\n getKeyAfter(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index < nodes.length - 1 ? nodes[node.index + 1].key : null;\n },\n getFirstKey() {\n return nodes[0]?.key ?? null;\n },\n getLastKey() {\n return nodes[nodes.length - 1]?.key ?? null;\n },\n getChildren(_key: Key) {\n return [];\n },\n getTextValue(key: Key) {\n return keyMap.get(key)?.textValue ?? \"\";\n },\n getCell(_rowKey: Key, _columnKey: Key) {\n return null;\n },\n [Symbol.iterator]() {\n return nodes[Symbol.iterator]();\n },\n };\n}\n\n/**\n * A grid list displays a list of interactive items, with support for\n * keyboard navigation, single or multiple selection, and row actions.\n */\nexport function GridList<T extends object>(props: GridListProps<T>): JSX.Element {\n const [local, stateProps, ariaProps] = splitProps(\n props,\n [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"renderEmptyState\",\n \"hasMore\",\n \"isLoading\",\n \"onLoadMore\",\n \"dragAndDropHooks\",\n \"orientation\",\n ],\n [\n \"items\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"disabledBehavior\",\n \"selectionMode\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"selectionBehavior\",\n ],\n );\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null);\n\n const collection = createMemo(() =>\n buildGridCollection(\n stateProps.items,\n stateProps.getKey,\n stateProps.getTextValue,\n stateProps.getDisabled,\n ),\n );\n\n const allDisabledKeys = createMemo(() => {\n const keys = new Set<Key>();\n\n if (stateProps.disabledKeys) {\n for (const key of stateProps.disabledKeys) {\n keys.add(key);\n }\n }\n\n for (const node of collection().rows) {\n if (node.isDisabled) {\n keys.add(node.key);\n }\n }\n\n return keys;\n });\n\n const orientation = (): Orientation => local.orientation ?? \"vertical\";\n const resolveDirection = (): \"ltr\" | \"rtl\" => {\n const el = ref();\n if (el && typeof window !== \"undefined\" && typeof window.getComputedStyle === \"function\") {\n const dir = window.getComputedStyle(el).direction;\n if (dir === \"rtl\") return \"rtl\";\n }\n return typeof document !== \"undefined\" && document.dir === \"rtl\" ? \"rtl\" : \"ltr\";\n };\n\n const state = createGridState<T, GridCollection<T>>(() => ({\n collection: collection(),\n disabledKeys: allDisabledKeys(),\n disabledBehavior: stateProps.disabledBehavior,\n selectionMode: stateProps.selectionMode,\n selectionBehavior: stateProps.selectionBehavior ?? \"replace\",\n selectedKeys: stateProps.selectedKeys,\n defaultSelectedKeys: stateProps.defaultSelectedKeys,\n onSelectionChange: stateProps.onSelectionChange,\n }));\n\n // Keep the aria object (do NOT destructure `gridProps`): its `gridProps` getter\n // returns a memo that recomputes on state changes — chiefly the roving container\n // `tabIndex`, which rolls to -1 once a row takes focus. Destructuring here would\n // freeze the getter at its first value (tabIndex 0) and the roll would never\n // reach the DOM. Read `gridListAria.gridProps` inside `cleanGridProps` instead,\n // mirroring how ListBox consumes `listBoxAria.listBoxProps`.\n const gridListAria = createGridList<T, GridCollection<T>>(\n () => ({\n id: ariaProps.id,\n \"aria-label\": ariaProps[\"aria-label\"],\n \"aria-labelledby\": ariaProps[\"aria-labelledby\"],\n \"aria-describedby\": ariaProps[\"aria-describedby\"],\n isVirtualized: ariaProps.isVirtualized,\n onAction: ariaProps.onAction,\n isDisabled: ariaProps.isDisabled,\n selectionBehavior: state.selectionBehavior,\n keyboardNavigationBehavior: ariaProps.keyboardNavigationBehavior,\n orientation: orientation(),\n direction: resolveDirection(),\n }),\n () => state,\n ref,\n );\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const renderValues = createMemo<GridListRenderProps>(() => ({\n isFocused: state.isFocused || isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n isEmpty: stateProps.items.length === 0,\n orientation: orientation(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridList\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps as Record<string, unknown>, { global: true });\n return filtered;\n });\n\n const cleanGridProps = () => {\n const { ref: _ref1, ...rest } = gridListAria.gridProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n\n const isEmpty = () => stateProps.items.length === 0;\n const virtualizer = useVirtualizerContext();\n const parentCollectionRenderer = useCollectionRenderer<T>();\n const getItemNodes = createMemo(() =>\n Array.from(state.collection).filter((node) => node.type === \"item\"),\n );\n const getDropTargetByIndex = (\n index: number,\n position: \"before\" | \"after\" | \"on\",\n ): DropTarget | null => {\n const node = getItemNodes()[index];\n if (!node) return null;\n return { type: \"item\", key: node.key, dropPosition: position };\n };\n const hasDroppableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(\n hooks?.useDroppableCollectionState &&\n hooks.useDroppableCollection &&\n (hooks.dropTargetDelegate ||\n parentCollectionRenderer?.dropTargetDelegate ||\n hooks.ListDropTargetDelegate),\n );\n });\n const hasDraggableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(hooks?.useDraggableCollectionState && hooks.useDraggableCollection);\n });\n const dragState = createMemo(() => {\n if (!hasDraggableDnd()) return undefined;\n return local.dragAndDropHooks?.useDraggableCollectionState?.({\n items: stateProps.items,\n });\n });\n const dropState = createMemo(() => {\n if (!hasDroppableDnd()) return undefined;\n return local.dragAndDropHooks?.useDroppableCollectionState?.({});\n });\n createEffect(() => {\n if (!hasDraggableDnd()) return;\n const hooks = local.dragAndDropHooks;\n const activeDragState = dragState();\n if (!hooks?.useDraggableCollection || !activeDragState) return;\n hooks.useDraggableCollection({}, activeDragState, () => ref());\n });\n const droppableCollection = createMemo(() => {\n if (!hasDroppableDnd()) return undefined;\n const hooks = local.dragAndDropHooks;\n const activeDropState = dropState();\n if (!hooks?.useDroppableCollection || !activeDropState) return undefined;\n const dropTargetDelegate =\n hooks.dropTargetDelegate ??\n parentCollectionRenderer?.dropTargetDelegate ??\n (hooks.ListDropTargetDelegate\n ? new hooks.ListDropTargetDelegate(\n () => state.collection,\n () => ref(),\n { layout: \"grid\", orientation: orientation(), direction: resolveDirection() },\n )\n : undefined);\n if (!dropTargetDelegate) return undefined;\n return hooks.useDroppableCollection(\n {\n dropTargetDelegate,\n keyboardDelegate: {\n getFirstKey: () => state.collection.getFirstKey?.() ?? null,\n getLastKey: () => state.collection.getLastKey?.() ?? null,\n getKeyBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n getKeyLeftOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyAfter?.(key) ?? null)\n : (state.collection.getKeyBefore?.(key) ?? null),\n getKeyRightOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyBefore?.(key) ?? null)\n : (state.collection.getKeyAfter?.(key) ?? null),\n getKeyPageBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyPageAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n },\n },\n activeDropState,\n () => ref(),\n );\n });\n const isRootDropTarget = createMemo(() => {\n return Boolean(dropState()?.target?.type === \"root\");\n });\n const dndRenderDropIndicator = createMemo(() =>\n useRenderDropIndicator(local.dragAndDropHooks, dropState()),\n );\n const dndDropIndicator = (index: number, position: \"before\" | \"after\" | \"on\") => {\n const target = getDropTargetByIndex(index, position);\n if (!target || target.type !== \"item\") return undefined;\n return dndRenderDropIndicator()?.(target);\n };\n const persistedKeys = useDndPersistedKeys(\n { focusedKey: () => state.focusedKey },\n local.dragAndDropHooks,\n dropState(),\n state.collection,\n );\n const virtualRange = createMemo(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return null;\n const baseRange = virtualizer.getVisibleRange(stateProps.items.length);\n const itemNodes = getItemNodes();\n const persistedIndexes = Array.from(persistedKeys())\n .map((key) => itemNodes.findIndex((node) => node.key === key))\n .filter((index) => index >= 0);\n const dropTarget = dropState()?.target;\n const normalizedDropKey = getNormalizedDropTargetKey(dropTarget, state.collection);\n const focusedKey = state.focusedKey;\n const focusedIndex =\n focusedKey != null ? itemNodes.findIndex((node) => node.key === focusedKey) : -1;\n const forceIncludeIndexes = [\n dropTarget?.type === \"item\" ? itemNodes.findIndex((node) => node.key === dropTarget.key) : -1,\n normalizedDropKey != null\n ? itemNodes.findIndex((node) => node.key === normalizedDropKey)\n : -1,\n dropTarget?.type === \"item\" ? -1 : focusedIndex,\n ].filter((index) => index >= 0);\n return mergePersistedKeysIntoVirtualRange(\n baseRange,\n persistedIndexes,\n stateProps.items.length,\n virtualizer,\n 80,\n {\n forceIncludeIndexes,\n forceIncludeMaxSpan: 320,\n },\n );\n });\n createEffect(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return;\n virtualizer.setDropTargetItemCountResolver(() => state.collection.size);\n virtualizer.setDropTargetIndexResolver((key) => {\n const entries = Array.from(state.collection);\n const index = entries.findIndex((node) => node.key === key);\n return index >= 0 ? index : null;\n });\n virtualizer.setDropTargetResolver((target) => {\n const node = Array.from(state.collection)[target.index];\n if (!node) return target;\n return {\n ...target,\n key: typeof node.key === \"string\" || typeof node.key === \"number\" ? node.key : undefined,\n };\n });\n onCleanup(() => {\n virtualizer.setDropTargetIndexResolver(undefined);\n virtualizer.setDropTargetItemCountResolver(undefined);\n virtualizer.setDropTargetResolver(undefined);\n });\n });\n const visibleItems = createMemo(() => {\n const range = virtualRange();\n if (!range) return stateProps.items;\n return stateProps.items.slice(range.start, range.end);\n });\n // Spacers reserve the windowed-out extent along the virtualizer's primary axis,\n // so a horizontal layout offsets along width rather than height.\n const virtualSpacerStyle = (size: number): JSX.CSSProperties =>\n virtualizer?.orientation === \"horizontal\" ? { width: `${size}px` } : { height: `${size}px` };\n\n const contextValue = createMemo<GridListContextValue<T>>(() => ({\n state,\n collection: collection(),\n isDisabled: ariaProps.isDisabled ?? false,\n selectionBehavior: state.selectionBehavior,\n dragAndDropHooks: local.dragAndDropHooks,\n dragState: dragState(),\n dropState: dropState(),\n }));\n const collectionRenderer = createMemo<CollectionRendererContextValue<unknown>>(() => ({\n ...parentCollectionRenderer,\n renderItem: (item) => props.children(item as T),\n renderDropIndicator: (index: number, position: \"before\" | \"after\" | \"on\") =>\n dndDropIndicator(index, position) ??\n parentCollectionRenderer?.renderDropIndicator?.(index, position),\n }));\n\n return (\n <GridListContext.Provider value={contextValue() as unknown as GridListContextValue<object>}>\n <GridListStateContext.Provider\n value={state as unknown as GridState<object, GridCollection<object>>}\n >\n <CollectionRendererContext.Provider value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={state.isFocused || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n data-empty={isEmpty() || undefined}\n data-drop-target={isRootDropTarget() || undefined}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : (\n <>\n {virtualRange()?.offsetTop ? (\n <div\n role=\"presentation\"\n aria-hidden=\"true\"\n style={virtualSpacerStyle(virtualRange()!.offsetTop)}\n data-virtualizer-spacer=\"top\"\n />\n ) : null}\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n const beforeIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"before\");\n const onIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"on\");\n const afterIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"after\");\n return (\n <>\n {beforeIndicator()}\n {onIndicator()}\n {props.children(item)}\n {afterIndicator()}\n </>\n );\n }}\n </For>\n {virtualRange()?.offsetBottom ? (\n <div\n role=\"presentation\"\n aria-hidden=\"true\"\n style={virtualSpacerStyle(virtualRange()!.offsetBottom)}\n data-virtualizer-spacer=\"bottom\"\n />\n ) : null}\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext.Provider>\n </GridListStateContext.Provider>\n </GridListContext.Provider>\n );\n}\n\n/**\n * An item in a grid list.\n */\nexport function GridListItem<T extends object>(props: GridListItemProps<T>): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"id\",\n \"item\",\n \"textValue\",\n \"onAction\",\n \"children\",\n \"ref\",\n ]);\n\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListItem must be used within a GridList\");\n }\n const state = context as GridState<T, GridCollection<T>>;\n const listContext = useContext(GridListContext) as GridListContextValue<T> | null;\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null);\n\n const itemNode = createMemo(() => {\n const node = state.collection.getItem(local.id);\n if (!node) {\n return {\n type: \"item\" as const,\n key: local.id,\n value: local.item ?? null,\n textValue: local.textValue ?? String(local.id),\n level: 0,\n index: 0,\n hasChildNodes: false,\n childNodes: [],\n } as GridNode<T>;\n }\n return node as GridNode<T>;\n });\n\n const itemAria = createGridListItem<T, GridCollection<T>>(\n () => ({\n node: itemNode(),\n onAction: local.onAction,\n selectionBehavior: listContext?.selectionBehavior ?? \"replace\",\n }),\n () => state,\n ref,\n );\n const isSelected = () => itemAria.isSelected;\n const isDisabled = () => itemAria.isDisabled;\n const isPressed = () => itemAria.isPressed;\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const { isFocusVisible, focusProps } = createFocusRing();\n\n const isFocused = createMemo(() => state.focusedKey === local.id);\n const draggableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDraggableItem || !listContext.dragState)\n return undefined;\n return listContext.dragAndDropHooks.useDraggableItem(\n {\n key: local.id as string | number,\n },\n listContext.dragState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDraggableItem\"]>>[1],\n );\n });\n const droppableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDroppableItem || !listContext.dropState)\n return undefined;\n return listContext.dragAndDropHooks.useDroppableItem(\n {\n key: local.id as string | number,\n },\n listContext.dropState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDroppableItem\"]>>[1],\n () => ref(),\n );\n });\n\n const renderValues = createMemo<GridListItemRenderProps>(() => ({\n isSelected: isSelected(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible() && isFocused(),\n isPressed: isPressed(),\n isHovered: isHovered(),\n isDisabled: isDisabled(),\n selectionMode: state.selectionMode,\n selectionBehavior: listContext?.selectionBehavior ?? \"replace\",\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridList-item\",\n },\n renderValues,\n );\n\n const cleanRowProps = () => {\n const { ref: _ref1, ...rest } = itemAria.rowProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...domProps}\n {...mergeProps(\n cleanRowProps(),\n cleanHoverProps(),\n cleanFocusProps(),\n (draggableItem()?.dragProps as Record<string, unknown> | undefined) ?? {},\n (droppableItem()?.dropProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-key={local.id}\n data-selected={isSelected() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={(isFocusVisible() && isFocused()) || undefined}\n data-pressed={isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-disabled={isDisabled() || undefined}\n data-dragging={draggableItem()?.isDragging || undefined}\n data-drop-target={droppableItem()?.isDropTarget || undefined}\n >\n <div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>\n </div>\n );\n}\n\n/**\n * A checkbox for item selection in a grid list.\n */\nexport function GridListSelectionCheckbox(props: {\n itemKey: Key;\n class?: string;\n style?: JSX.CSSProperties;\n excludeFromTabOrder?: boolean;\n \"aria-label\"?: string;\n}): JSX.Element {\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListSelectionCheckbox must be used within a GridList\");\n }\n\n const state = context as GridState<object, GridCollection<object>>;\n\n const checkboxAria = createGridListSelectionCheckbox<object, GridCollection<object>>(\n () => ({ key: props.itemKey }),\n () => state,\n );\n\n return (\n <input\n {...checkboxAria.checkboxProps}\n class={props.class}\n style={props.style}\n tabIndex={props.excludeFromTabOrder ? -1 : undefined}\n aria-label={props[\"aria-label\"] ?? \"Select\"}\n />\n );\n}\n\nexport function GridListLoadMoreItem(props: GridListLoadMoreItemProps): JSX.Element {\n let sentinelRef: HTMLDivElement | undefined;\n const [isPending, setIsPending] = createSignal(false);\n const isLoading = () => !!props.isLoading || isPending();\n\n const triggerLoadMore = async () => {\n if (isLoading()) return;\n setIsPending(true);\n try {\n await props.onLoadMore();\n } finally {\n setIsPending(false);\n }\n };\n\n createEffect(() => {\n if (!sentinelRef || typeof IntersectionObserver !== \"function\") return;\n const offset = props.scrollOffset ?? 1;\n const margin = `0px 0px ${100 * offset}% 0px`;\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries[0]?.isIntersecting) {\n void triggerLoadMore();\n }\n },\n { rootMargin: margin },\n );\n observer.observe(sentinelRef);\n return () => observer.disconnect();\n });\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children ?? (() => (isLoading() ? \"Loading more...\" : \"Load more\"));\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-GridList-loadMore\",\n },\n () => ({ isLoading: isLoading() }),\n );\n\n return (\n <>\n <div style={{ position: \"relative\", width: 0, height: 0, overflow: \"hidden\" }} inert>\n <div ref={sentinelRef} style={{ position: \"absolute\", height: \"1px\", width: \"1px\" }} />\n </div>\n <div\n role=\"row\"\n tabIndex={0}\n onFocus={() => {\n void triggerLoadMore();\n }}\n class={renderProps.class()}\n style={renderProps.style()}\n data-loading={isLoading() || undefined}\n >\n {renderProps.renderChildren()}\n </div>\n </>\n );\n}\n\n/**\n * The header of a {@link GridListSection}. Renders as `role=\"row\"` wrapping a\n * `role=\"rowheader\"` whose id labels the section (mirrors upstream\n * `GridListHeader`). The row/rowheader props are supplied by the enclosing\n * section through context.\n */\nexport function GridListHeader(props: GridListHeaderProps): JSX.Element {\n const rowProps = useContext(GridListHeaderContext);\n const rowHeaderProps = useContext(GridListHeaderInnerContext);\n return (\n <div\n class={props.class ?? \"solidaria-GridListHeader\"}\n style={props.style}\n {...(rowProps ?? {})}\n >\n <div {...(rowHeaderProps ?? {})} style={{ display: \"contents\" }}>\n {props.children}\n </div>\n </div>\n );\n}\n\n/**\n * A section within a GridList. Renders as `role=\"rowgroup\"` and supplies its\n * optional {@link GridListHeader} with the row/rowheader props that wire up the\n * section's `aria-labelledby` (mirrors upstream `GridListSection`).\n */\nexport function GridListSection(props: GridListSectionProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"children\", \"class\", \"style\", \"slot\", \"ref\"]);\n\n const section = createGridListSection({\n get \"aria-label\"() {\n return (domProps as { \"aria-label\"?: string })[\"aria-label\"];\n },\n });\n\n // Mirror upstream: resolve class/style via renderProps but keep children out\n // of it (upstream passes `children: undefined`/`values: undefined`). The real\n // children must only be evaluated inside the header providers below, otherwise\n // a child <GridListHeader> would be instantiated in this component's owner and\n // read the contexts as null.\n // The values callback runs during setup (useRenderProps resolves class/style\n // synchronously), so it must not read `local.children` — doing so would\n // instantiate the header children in this owner, outside the providers below,\n // and break their context wiring. Mirror upstream's `values: undefined` with a\n // constant: a rendered section primitive always wraps its item collection.\n const renderProps = useRenderProps(\n {\n children: undefined,\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridListSection\",\n },\n () => ({ hasChildren: true }),\n );\n\n const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));\n\n return (\n <div\n ref={(el) => assignRef(local.ref, el)}\n {...filteredDomProps()}\n {...section.rowGroupProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-section\n >\n <GridListHeaderContext.Provider value={section.rowProps}>\n <GridListHeaderInnerContext.Provider value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext.Provider>\n </GridListHeaderContext.Provider>\n </div>\n );\n}\n\nGridList.Item = GridListItem;\nGridList.SelectionCheckbox = GridListSelectionCheckbox;\nGridList.LoadMoreItem = GridListLoadMoreItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GridList.js","names":["<GridListContext value={contextValue() as unknown as GridListContextValue<object>}>\n <GridListStateContext value={state as unknown as GridState<object, GridCollection<object>>}>\n <CollectionRendererContext value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={dataAttr(state.isFocused)}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ariaProps.isDisabled)}\n data-empty={dataAttr(isEmpty())}\n data-drop-target={dataAttr(isRootDropTarget())}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext>\n </GridListStateContext>\n </GridListContext>","<GridListStateContext value={state as unknown as GridState<object, GridCollection<object>>}>\n <CollectionRendererContext value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={dataAttr(state.isFocused)}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ariaProps.isDisabled)}\n data-empty={dataAttr(isEmpty())}\n data-drop-target={dataAttr(isRootDropTarget())}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext>\n </GridListStateContext>","value={state as unknown as GridState<object, GridCollection<object>>}","<CollectionRendererContext value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={dataAttr(state.isFocused)}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ariaProps.isDisabled)}\n data-empty={dataAttr(isEmpty())}\n data-drop-target={dataAttr(isRootDropTarget())}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext>","ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}","<SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>","{isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}","<CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>","virtualRange() ? stateProps.items : []","scrollRef={() => ref()}","<For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>","<For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>","<PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>","<div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={dataAttr(state.isFocused)}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ariaProps.isDisabled)}\n data-empty={dataAttr(isEmpty())}\n data-drop-target={dataAttr(isRootDropTarget())}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>","{local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}","<GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />","ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n const dragRef = (\n draggableItem()?.dragProps as { ref?: (el: HTMLDivElement) => void } | undefined\n )?.ref;\n if (typeof dragRef === \"function\") dragRef(element);\n }}","<TextContext\n value={{\n slots: {\n description: itemAria.descriptionProps,\n },\n }}\n >\n <div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>\n </TextContext>","{renderProps.renderChildren()}","<div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>","<div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n const dragRef = (\n draggableItem()?.dragProps as { ref?: (el: HTMLDivElement) => void } | undefined\n )?.ref;\n if (typeof dragRef === \"function\") dragRef(element);\n }}\n {...domProps}\n {...mergeProps(\n cleanRowProps(),\n cleanHoverProps(),\n cleanFocusProps(),\n (draggableItem()?.dragProps as Record<string, unknown> | undefined) ?? {},\n (droppableItem()?.dropProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-key={local.id}\n data-selected={dataAttr(isSelected())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible() && isFocused())}\n data-pressed={dataAttr(isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-disabled={dataAttr(isDisabled())}\n data-dragging={dataAttr(draggableItem()?.isDragging)}\n data-drop-target={dataAttr(droppableItem()?.isDropTarget)}\n >\n <TextContext\n value={{\n slots: {\n description: itemAria.descriptionProps,\n },\n }}\n >\n <div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>\n </TextContext>\n </div>","<input\n {...checkboxAria.checkboxProps}\n class={props.class}\n style={props.style}\n tabindex={props.excludeFromTabOrder ? -1 : undefined}\n aria-label={props[\"aria-label\"] ?? checkboxAria.checkboxProps[\"aria-label\"]}\n />","ref={setSentinel}","style={renderProps.style()}","data-loading={dataAttr(isLoading())}","style={{ display: \"contents\" }}","{props.children}","<div\n class={props.class ?? \"solidaria-GridListHeader\"}\n style={props.style}\n {...(rowProps ?? {})}\n >\n <div {...(rowHeaderProps ?? {})} style={{ display: \"contents\" }}>\n {props.children}\n </div>\n </div>","ref={(el) => assignRef(local.ref, el)}","<GridListHeaderContext value={section.rowProps}>\n <GridListHeaderInnerContext value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext>\n </GridListHeaderContext>","<GridListHeaderInnerContext value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext>","<div\n ref={(el) => assignRef(local.ref, el)}\n {...filteredDomProps()}\n {...section.rowGroupProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-section\n >\n <GridListHeaderContext value={section.rowProps}>\n <GridListHeaderInnerContext value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext>\n </GridListHeaderContext>\n </div>"],"sources":["../src/GridList.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/GridList.tsx\n\n/**\n * GridList component for solidaria-components\n *\n * A pre-wired headless grid list that combines state + aria hooks.\n * Based on react-aria-components/src/GridList.tsx\n *\n * GridList is similar to ListBox but supports interactive elements within items\n * and uses grid keyboard navigation.\n */\n\nimport {\n createContext,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n useContext,\n For,\n Show,\n createTrackedEffect,\n} from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n createGridList,\n createGridListItem,\n createGridListSelectionCheckbox,\n createGridListSection,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaGridListProps,\n type GridListSectionAria,\n useLocale,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createGridState,\n type GridState,\n type GridCollection,\n type GridNode,\n type Key,\n type DropTarget,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n dataAttr,\n} from \"./utils\";\nimport { SharedElementTransition } from \"./SharedElementTransition\";\nimport { type DragAndDropHooks } from \"./useDragAndDrop\";\nimport {\n CollectionRendererContext,\n type CollectionRendererContextValue,\n type SectionProps,\n useCollectionRenderer,\n useCollectionRoot,\n renderCollectionDropSlots,\n} from \"./Collection\";\nimport { TextContext } from \"./Text\";\nimport { useVirtualizerContext, PersistedVirtualItem, type Orientation } from \"./Virtualizer\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\nimport {\n getNormalizedDropTargetKey,\n indexesOutsideRange,\n mergePersistedKeysIntoVirtualRange,\n useDndPersistedKeys,\n useRenderDropIndicator,\n} from \"./DragAndDrop\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface GridListRenderProps {\n /** Whether the grid list has focus. */\n isFocused: boolean;\n /** Whether the grid list has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the grid list is disabled. */\n isDisabled: boolean;\n /** Whether the grid list is empty. */\n isEmpty: boolean;\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n}\n\nexport interface GridListProps<T extends object>\n extends Omit<AriaGridListProps, \"children\">, SlotProps {\n /** The items to render in the grid list. */\n items: T[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => Key;\n /** Function to get the text value from an item. */\n getTextValue?: (item: T) => string;\n /** Function to check if an item is disabled. */\n getDisabled?: (item: T) => boolean;\n /** The selection mode. */\n selectionMode?: \"none\" | \"single\" | \"multiple\";\n /** How selection should behave when pressing an item. */\n selectionBehavior?: \"replace\" | \"toggle\";\n /** Keys of disabled items. */\n disabledKeys?: Iterable<Key>;\n /** Whether disabled items can still receive focus. */\n disabledBehavior?: \"selection\" | \"all\";\n /** Currently selected keys (controlled). */\n selectedKeys?: \"all\" | Iterable<Key>;\n /** Default selected keys (uncontrolled). */\n defaultSelectedKeys?: \"all\" | Iterable<Key>;\n /** Handler called when selection changes. */\n onSelectionChange?: (keys: \"all\" | Set<Key>) => void;\n /**\n * The primary orientation of the items. Usually this is the direction that the collection\n * scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\n /** The children of the component. A function may be provided to render each item. */\n children: (item: T) => JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<GridListRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListRenderProps>;\n /** Ref for the grid list root element. */\n ref?: RefLike<HTMLDivElement>;\n /** A function to render when the grid list is empty. */\n renderEmptyState?: () => JSX.Element;\n /** Whether there are more items to load. */\n hasMore?: boolean;\n /** Whether additional items are currently loading. */\n isLoading?: boolean;\n /** Called when the load more sentinel becomes visible. */\n onLoadMore?: () => void | Promise<void>;\n /** Drag and drop hooks from `useDragAndDrop`. */\n dragAndDropHooks?: DragAndDropHooks<T>;\n}\n\nexport interface GridListItemRenderProps {\n /** Whether the item is selected. */\n isSelected: boolean;\n /** Whether the item is focused. */\n isFocused: boolean;\n /** Whether the item has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the item is pressed. */\n isPressed: boolean;\n /** Whether the item is hovered. */\n isHovered: boolean;\n /** Whether the item is disabled. */\n isDisabled: boolean;\n /** The grid list selection mode. */\n selectionMode: \"none\" | \"single\" | \"multiple\";\n /** How selection behaves when pressing an item. */\n selectionBehavior: \"replace\" | \"toggle\";\n /** Id for the item description, to join into the row accessible name. */\n descriptionId?: string;\n}\n\nexport interface GridListItemProps<T extends object>\n extends\n SlotProps,\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\" | \"style\" | \"children\" | \"id\" | \"ref\"> {\n /** The unique key for the item. */\n id: Key;\n /** The item value. */\n item?: T;\n /** The children of the item. A function may be provided to receive render props. */\n children?: RenderChildren<GridListItemRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<GridListItemRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListItemRenderProps>;\n /** The text value of the item (for accessibility). */\n textValue?: string;\n /** Handler called when the item is activated. */\n onAction?: () => void;\n /** Whether this item is disabled. */\n isDisabled?: boolean;\n /** Ref for the rendered row element. */\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport interface GridListLoadMoreItemProps extends SlotProps {\n onLoadMore: () => void | Promise<void>;\n isLoading?: boolean;\n /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */\n scrollOffset?: number;\n children?: JSX.Element;\n class?: ClassNameOrFunction<{ isLoading: boolean }>;\n style?: StyleOrFunction<{ isLoading: boolean }>;\n}\n\nexport interface GridListSectionProps extends SectionProps {}\nexport interface GridListHeaderProps extends SlotProps {\n children?: JSX.Element;\n class?: string;\n style?: JSX.CSSProperties;\n}\n\ninterface GridListContextValue<T extends object> {\n state: GridState<T, GridCollection<T>>;\n collection: GridCollection<T>;\n isDisabled: boolean;\n selectionBehavior: \"replace\" | \"toggle\";\n dragAndDropHooks?: DragAndDropHooks<T>;\n dragState?: unknown;\n dropState?: unknown;\n}\n\nexport const GridListContext = createContext<GridListContextValue<object> | null>(null);\nexport const GridListStateContext = createContext<GridState<object, GridCollection<object>> | null>(\n null,\n);\n/** Carries the section header's outer (row) props to {@link GridListHeader}. */\nexport const GridListHeaderContext = createContext<GridListSectionAria[\"rowProps\"] | null>(null);\n/** Carries the section header's inner (rowheader) props to {@link GridListHeader}. */\nexport const GridListHeaderInnerContext = createContext<\n GridListSectionAria[\"rowHeaderProps\"] | null\n>(null);\n\nfunction buildGridCollection<T extends object>(\n items: T[],\n getKey?: (item: T) => Key,\n getTextValue?: (item: T) => string,\n getDisabled?: (item: T) => boolean,\n): GridCollection<T> {\n const nodes: GridNode<T>[] = items.map((item, index) => {\n // RAC CollectionBuilder uses `value.key ?? value.id` when getKey is\n // omitted (`CollectionBuilder.ts:103`). createListState already mirrors\n // that. Index-only keys made GridListItem `id={item.id}` unselectable:\n // SelectionManager.canSelectItem requires collection.getItem(key).\n const record = item as { id?: Key; key?: Key };\n const key = getKey?.(item) ?? record.key ?? record.id ?? index;\n return {\n type: \"item\" as const,\n key,\n value: item,\n textValue: getTextValue?.(item) ?? String(key),\n level: 0,\n index,\n hasChildNodes: false,\n childNodes: [],\n isDisabled: getDisabled?.(item),\n };\n });\n\n const keyMap = new Map<Key, GridNode<T>>();\n nodes.forEach((node) => keyMap.set(node.key, node));\n\n return {\n rows: nodes,\n columns: [],\n headerRows: [],\n get rowCount() {\n return nodes.length;\n },\n get columnCount() {\n return 1;\n },\n get size() {\n return nodes.length;\n },\n getKeys() {\n return nodes.map((n) => n.key);\n },\n getItem(key: Key) {\n return keyMap.get(key) ?? null;\n },\n at(index: number) {\n return nodes[index] ?? null;\n },\n getKeyBefore(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index > 0 ? nodes[node.index - 1].key : null;\n },\n getKeyAfter(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index < nodes.length - 1 ? nodes[node.index + 1].key : null;\n },\n getFirstKey() {\n return nodes[0]?.key ?? null;\n },\n getLastKey() {\n return nodes[nodes.length - 1]?.key ?? null;\n },\n getChildren(_key: Key) {\n return [];\n },\n getTextValue(key: Key) {\n return keyMap.get(key)?.textValue ?? \"\";\n },\n getCell(_rowKey: Key, _columnKey: Key) {\n return null;\n },\n [Symbol.iterator]() {\n return nodes[Symbol.iterator]();\n },\n };\n}\n\n/**\n * A grid list displays a list of interactive items, with support for\n * keyboard navigation, single or multiple selection, and row actions.\n */\nexport function GridList<T extends object>(props: GridListProps<T>): JSX.Element {\n const [local, stateProps, ariaProps] = splitProps(\n props,\n [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"renderEmptyState\",\n \"hasMore\",\n \"isLoading\",\n \"onLoadMore\",\n \"dragAndDropHooks\",\n \"orientation\",\n \"layout\",\n \"columnCount\",\n ],\n [\n \"items\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"disabledBehavior\",\n \"selectionMode\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"selectionBehavior\",\n ],\n );\n\n const locale = useLocale();\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, { ownedWrite: true });\n const parentCollectionRenderer = useCollectionRenderer<unknown>();\n\n const collection = createMemo(() =>\n buildGridCollection(\n stateProps.items,\n stateProps.getKey,\n stateProps.getTextValue,\n stateProps.getDisabled,\n ),\n );\n\n const allDisabledKeys = createMemo(() => {\n const keys = new Set<Key>();\n\n if (stateProps.disabledKeys) {\n for (const key of stateProps.disabledKeys) {\n keys.add(key);\n }\n }\n\n for (const node of collection().rows) {\n if (node.isDisabled) {\n keys.add(node.key);\n }\n }\n\n return keys;\n });\n\n const orientation = (): Orientation => local.orientation ?? \"vertical\";\n const resolveDirection = (): \"ltr\" | \"rtl\" => locale().direction;\n\n const state = createGridState<T, GridCollection<T>>(() => ({\n collection: collection(),\n disabledKeys: allDisabledKeys(),\n disabledBehavior: stateProps.disabledBehavior,\n selectionMode: stateProps.selectionMode,\n selectionBehavior: stateProps.selectionBehavior,\n selectedKeys: stateProps.selectedKeys,\n defaultSelectedKeys: stateProps.defaultSelectedKeys,\n onSelectionChange: stateProps.onSelectionChange,\n }));\n\n // Keep the aria object (do NOT destructure `gridProps`): its `gridProps` getter\n // returns a memo that recomputes on state changes — chiefly the roving container\n // `tabIndex`, which rolls to -1 once a row takes focus. Destructuring here would\n // freeze the getter at its first value (tabIndex 0) and the roll would never\n // reach the DOM. Read `gridListAria.gridProps` inside `cleanGridProps` instead,\n // mirroring how ListBox consumes `listBoxAria.listBoxProps`.\n const gridListAria = createGridList<T, GridCollection<T>>(\n () => ({\n get id() {\n return ariaProps.id;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n get isVirtualized() {\n return ariaProps.isVirtualized ?? parentCollectionRenderer?.isVirtualized;\n },\n get onAction() {\n return ariaProps.onAction;\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get selectionBehavior() {\n return state.selectionBehavior;\n },\n get keyboardNavigationBehavior() {\n return ariaProps.keyboardNavigationBehavior;\n },\n get orientation() {\n return orientation();\n },\n get direction() {\n return resolveDirection();\n },\n get layout() {\n return local.layout;\n },\n get columnCount() {\n return local.columnCount;\n },\n }),\n () => state,\n ref,\n );\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const renderValues = createMemo<GridListRenderProps>(() => ({\n isFocused: state.isFocused || isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n isEmpty: stateProps.items.length === 0,\n orientation: orientation(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridList\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps as Record<string, unknown>, { global: true });\n return filtered;\n });\n\n const cleanGridProps = () => {\n const { ref: _ref1, ...rest } = gridListAria.gridProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n\n const isEmpty = () => stateProps.items.length === 0;\n const virtualizer = useVirtualizerContext();\n const getItemNodes = createMemo(() =>\n Array.from(state.collection).filter((node) => node.type === \"item\"),\n );\n const getDropTargetByIndex = (\n index: number,\n position: \"before\" | \"after\" | \"on\",\n ): DropTarget | null => {\n const node = getItemNodes()[index];\n if (!node) return null;\n return { type: \"item\", key: node.key, dropPosition: position };\n };\n const hasDroppableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(\n hooks?.useDroppableCollectionState &&\n hooks.useDroppableCollection &&\n (hooks.dropTargetDelegate ||\n parentCollectionRenderer?.dropTargetDelegate ||\n hooks.ListDropTargetDelegate),\n );\n });\n const hasDraggableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(hooks?.useDraggableCollectionState && hooks.useDraggableCollection);\n });\n const dragStateValue = hasDraggableDnd()\n ? local.dragAndDropHooks?.useDraggableCollectionState?.({\n items: stateProps.items,\n collection: state.collection,\n selectedKeys: state.selectedKeys,\n isSelected: (key) => state.isSelected(key),\n })\n : undefined;\n const dragState = () => dragStateValue;\n const dropStateValue = hasDroppableDnd()\n ? local.dragAndDropHooks?.useDroppableCollectionState?.({\n get collection() {\n return state.collection;\n },\n })\n : undefined;\n const dropState = () => dropStateValue;\n if (local.dragAndDropHooks?.useDraggableCollection && dragStateValue) {\n local.dragAndDropHooks.useDraggableCollection({}, dragStateValue, () => ref());\n }\n const droppableCollectionValue = (() => {\n if (!hasDroppableDnd()) return undefined;\n const hooks = local.dragAndDropHooks;\n const activeDropState = dropStateValue;\n if (!hooks?.useDroppableCollection || !activeDropState) return undefined;\n const dropTargetDelegate =\n hooks.dropTargetDelegate ??\n parentCollectionRenderer?.dropTargetDelegate ??\n (hooks.ListDropTargetDelegate\n ? new hooks.ListDropTargetDelegate(\n () => state.collection,\n () => ref(),\n { layout: \"grid\", orientation: orientation(), direction: resolveDirection() },\n )\n : undefined);\n if (!dropTargetDelegate) return undefined;\n return hooks.useDroppableCollection(\n {\n dropTargetDelegate,\n keyboardDelegate: {\n getFirstKey: () => state.collection.getFirstKey?.() ?? null,\n getLastKey: () => state.collection.getLastKey?.() ?? null,\n getKeyBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n getKeyLeftOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyAfter?.(key) ?? null)\n : (state.collection.getKeyBefore?.(key) ?? null),\n getKeyRightOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyBefore?.(key) ?? null)\n : (state.collection.getKeyAfter?.(key) ?? null),\n getKeyPageBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyPageAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n },\n },\n activeDropState,\n () => ref(),\n );\n })();\n const droppableCollection = () => droppableCollectionValue;\n const isRootDropTarget = createMemo(() => {\n return Boolean(dropState()?.target?.type === \"root\");\n });\n const dndRenderDropIndicator = createMemo(() =>\n useRenderDropIndicator(local.dragAndDropHooks, dropState()),\n );\n const dndDropIndicator = (index: number, position: \"before\" | \"after\" | \"on\") => {\n const target = getDropTargetByIndex(index, position);\n if (!target || target.type !== \"item\") return undefined;\n return dndRenderDropIndicator()?.(target);\n };\n const persistedKeys = useDndPersistedKeys(\n { focusedKey: () => state.focusedKey },\n local.dragAndDropHooks,\n dropState(),\n state.collection,\n );\n const virtualRange = createMemo(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return null;\n const baseRange = virtualizer.getVisibleRange(stateProps.items.length);\n const itemNodes = getItemNodes();\n const dropTarget = dropState()?.target;\n const normalizedDropKey = getNormalizedDropTargetKey(dropTarget, state.collection);\n const forceIncludeIndexes = [\n dropTarget?.type === \"item\" ? itemNodes.findIndex((node) => node.key === dropTarget.key) : -1,\n normalizedDropKey != null\n ? itemNodes.findIndex((node) => node.key === normalizedDropKey)\n : -1,\n ].filter((index) => index >= 0);\n return mergePersistedKeysIntoVirtualRange(\n baseRange,\n [],\n stateProps.items.length,\n virtualizer,\n 80,\n {\n forceIncludeIndexes,\n forceIncludeMaxSpan: 320,\n },\n );\n });\n const persistedOutsideIndexes = createMemo(() => {\n const range = virtualRange();\n if (!range) return [] as number[];\n const itemNodes = getItemNodes();\n const persistedIndexes = Array.from(persistedKeys())\n .map((key) => itemNodes.findIndex((node) => node.key === key))\n .filter((index) => index >= 0);\n return indexesOutsideRange(range, persistedIndexes);\n });\n createTrackedEffect(() => {\n const _s2Cleanups: Array<() => void> = [];\n\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return;\n virtualizer.setDropTargetItemCountResolver(() => state.collection.size);\n virtualizer.setDropTargetIndexResolver((key) => {\n const entries = Array.from(state.collection);\n const index = entries.findIndex((node) => node.key === key);\n return index >= 0 ? index : null;\n });\n virtualizer.setDropTargetResolver((target) => {\n const node = Array.from(state.collection)[target.index];\n if (!node) return target;\n return {\n ...target,\n key: typeof node.key === \"string\" || typeof node.key === \"number\" ? node.key : undefined,\n };\n });\n _s2Cleanups.push(() => {\n virtualizer.setDropTargetIndexResolver(undefined);\n virtualizer.setDropTargetItemCountResolver(undefined);\n virtualizer.setDropTargetResolver(undefined);\n });\n\n return () => {\n for (const c of _s2Cleanups) c();\n };\n });\n const visibleItems = createMemo(() => {\n const range = virtualRange();\n if (!range) return stateProps.items;\n return stateProps.items.slice(range.start, range.end);\n });\n const contextValue = createMemo<GridListContextValue<T>>(() => ({\n state,\n collection: collection(),\n isDisabled: ariaProps.isDisabled ?? false,\n selectionBehavior: state.selectionBehavior,\n dragAndDropHooks: local.dragAndDropHooks,\n dragState: dragState(),\n dropState: dropState(),\n }));\n const collectionRenderer = createMemo<CollectionRendererContextValue<unknown>>(() => ({\n ...parentCollectionRenderer,\n renderItem: (item) => props.children(item as T),\n renderDropIndicator: (index: number, position: \"before\" | \"after\" | \"on\") =>\n dndDropIndicator(index, position) ??\n parentCollectionRenderer?.renderDropIndicator?.(index, position),\n }));\n const CollectionRoot = useCollectionRoot();\n\n return (\n <GridListContext value={contextValue() as unknown as GridListContextValue<object>}>\n <GridListStateContext value={state as unknown as GridState<object, GridCollection<object>>}>\n <CollectionRendererContext value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={dataAttr(state.isFocused)}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(ariaProps.isDisabled)}\n data-empty={dataAttr(isEmpty())}\n data-drop-target={dataAttr(isRootDropTarget())}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : parentCollectionRenderer?.isVirtualized ? (\n <CollectionRoot\n collection={virtualRange() ? stateProps.items : []}\n scrollRef={() => ref()}\n persistedKeys={persistedKeys()}\n >\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n <For each={persistedOutsideIndexes()}>\n {(index) => (\n <PersistedVirtualItem index={index}>\n {renderCollectionDropSlots({\n index,\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(stateProps.items[index]),\n })}\n </PersistedVirtualItem>\n )}\n </For>\n </CollectionRoot>\n ) : (\n <>\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n return renderCollectionDropSlots({\n index: itemIndex(),\n lastIndex: getItemNodes().length - 1,\n renderDropIndicator: (i, position) =>\n collectionRenderer().renderDropIndicator?.(i, position),\n children: props.children(item),\n });\n }}\n </For>\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext>\n </GridListStateContext>\n </GridListContext>\n );\n}\n\n/**\n * An item in a grid list.\n */\nexport function GridListItem<T extends object>(props: GridListItemProps<T>): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"id\",\n \"item\",\n \"textValue\",\n \"onAction\",\n \"isDisabled\",\n \"children\",\n \"ref\",\n ]);\n\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListItem must be used within a GridList\");\n }\n const state = context as GridState<T, GridCollection<T>>;\n const listContext = useContext(GridListContext) as GridListContextValue<T> | null;\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, { ownedWrite: true });\n\n const itemNode = createMemo(() => {\n const node = state.collection.getItem(local.id);\n if (!node) {\n return {\n type: \"item\" as const,\n key: local.id,\n value: local.item ?? null,\n textValue: local.textValue ?? String(local.id),\n level: 0,\n index: 0,\n hasChildNodes: false,\n childNodes: [],\n } as GridNode<T>;\n }\n return node as GridNode<T>;\n });\n\n const itemAria = createGridListItem<T, GridCollection<T>>(\n () => ({\n node: itemNode(),\n textValue: local.textValue,\n onAction: local.onAction,\n isDisabled: local.isDisabled,\n selectionBehavior: listContext?.selectionBehavior ?? \"toggle\",\n }),\n () => state,\n ref,\n );\n const isSelected = () => itemAria.isSelected;\n const isDisabled = () => itemAria.isDisabled;\n const isPressed = () => itemAria.isPressed;\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const { isFocusVisible, focusProps } = createFocusRing();\n\n const isFocused = createMemo(() => state.focusedKey === local.id);\n const draggableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDraggableItem || !listContext.dragState)\n return undefined;\n return listContext.dragAndDropHooks.useDraggableItem(\n {\n key: local.id as string | number,\n },\n listContext.dragState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDraggableItem\"]>>[1],\n );\n });\n const droppableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDroppableItem || !listContext.dropState)\n return undefined;\n return listContext.dragAndDropHooks.useDroppableItem(\n {\n key: local.id as string | number,\n },\n listContext.dropState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDroppableItem\"]>>[1],\n () => ref(),\n );\n });\n\n const renderValues = createMemo<GridListItemRenderProps>(() => ({\n isSelected: isSelected(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible() && isFocused(),\n isPressed: isPressed(),\n isHovered: isHovered(),\n isDisabled: isDisabled(),\n selectionMode: state.selectionMode,\n selectionBehavior: listContext?.selectionBehavior ?? \"toggle\",\n descriptionId: itemAria.descriptionProps.id,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridList-item\",\n },\n renderValues,\n );\n\n const cleanRowProps = () => {\n const { ref: _ref1, ...rest } = itemAria.rowProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n const dragRef = (\n draggableItem()?.dragProps as { ref?: (el: HTMLDivElement) => void } | undefined\n )?.ref;\n if (typeof dragRef === \"function\") dragRef(element);\n }}\n {...domProps}\n {...mergeProps(\n cleanRowProps(),\n cleanHoverProps(),\n cleanFocusProps(),\n (draggableItem()?.dragProps as Record<string, unknown> | undefined) ?? {},\n (droppableItem()?.dropProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-key={local.id}\n data-selected={dataAttr(isSelected())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible() && isFocused())}\n data-pressed={dataAttr(isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-disabled={dataAttr(isDisabled())}\n data-dragging={dataAttr(draggableItem()?.isDragging)}\n data-drop-target={dataAttr(droppableItem()?.isDropTarget)}\n >\n <TextContext\n value={{\n slots: {\n description: itemAria.descriptionProps,\n },\n }}\n >\n <div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>\n </TextContext>\n </div>\n );\n}\n\n/**\n * A checkbox for item selection in a grid list.\n */\nexport function GridListSelectionCheckbox(props: {\n itemKey: Key;\n class?: string;\n style?: JSX.CSSProperties;\n excludeFromTabOrder?: boolean;\n \"aria-label\"?: string;\n}): JSX.Element {\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListSelectionCheckbox must be used within a GridList\");\n }\n\n const state = context as GridState<object, GridCollection<object>>;\n\n const checkboxAria = createGridListSelectionCheckbox<object, GridCollection<object>>(\n () => ({ key: props.itemKey }),\n () => state,\n );\n\n return (\n <input\n {...checkboxAria.checkboxProps}\n class={props.class}\n style={props.style}\n tabindex={props.excludeFromTabOrder ? -1 : undefined}\n aria-label={props[\"aria-label\"] ?? checkboxAria.checkboxProps[\"aria-label\"]}\n />\n );\n}\n\nexport function GridListLoadMoreItem(props: GridListLoadMoreItemProps): JSX.Element {\n const [sentinel, setSentinel] = createSignal<HTMLDivElement | undefined>();\n const [isPending, setIsPending] = createSignal(false);\n const scrollOffsetValue = createMemo(() => props.scrollOffset ?? 1);\n const isLoading = () => !!props.isLoading || isPending();\n\n const triggerLoadMore = async () => {\n if (isLoading()) return;\n setIsPending(true);\n try {\n await props.onLoadMore();\n } finally {\n setIsPending(false);\n }\n };\n\n createEffect(\n () => ({\n current: sentinel(),\n scrollOffset: scrollOffsetValue(),\n }),\n ({ current, scrollOffset }) => {\n if (!current || typeof IntersectionObserver !== \"function\") return;\n const margin = `0px 0px ${100 * scrollOffset}% 0px`;\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries[0]?.isIntersecting) {\n void triggerLoadMore();\n }\n },\n { rootMargin: margin },\n );\n observer.observe(current);\n return () => observer.disconnect();\n },\n );\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children ?? (() => (isLoading() ? \"Loading more...\" : \"Load more\"));\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-GridList-loadMore\",\n },\n () => ({ isLoading: isLoading() }),\n );\n\n return (\n <>\n <div style={{ position: \"relative\", width: 0, height: 0, overflow: \"hidden\" }} inert>\n <div ref={setSentinel} style={{ position: \"absolute\", height: \"1px\", width: \"1px\" }} />\n </div>\n <div\n role=\"row\"\n tabindex={0}\n onFocus={() => {\n void triggerLoadMore();\n }}\n class={renderProps.class()}\n style={renderProps.style()}\n data-loading={dataAttr(isLoading())}\n >\n {renderProps.renderChildren()}\n </div>\n </>\n );\n}\n\n/**\n * The header of a {@link GridListSection}. Renders as `role=\"row\"` wrapping a\n * `role=\"rowheader\"` whose id labels the section (mirrors upstream\n * `GridListHeader`). The row/rowheader props are supplied by the enclosing\n * section through context.\n */\nexport function GridListHeader(props: GridListHeaderProps): JSX.Element {\n const rowProps = useContext(GridListHeaderContext);\n const rowHeaderProps = useContext(GridListHeaderInnerContext);\n return (\n <div\n class={props.class ?? \"solidaria-GridListHeader\"}\n style={props.style}\n {...(rowProps ?? {})}\n >\n <div {...(rowHeaderProps ?? {})} style={{ display: \"contents\" }}>\n {props.children}\n </div>\n </div>\n );\n}\n\n/**\n * A section within a GridList. Renders as `role=\"rowgroup\"` and supplies its\n * optional {@link GridListHeader} with the row/rowheader props that wire up the\n * section's `aria-labelledby` (mirrors upstream `GridListSection`).\n */\nexport function GridListSection(props: GridListSectionProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"children\", \"class\", \"style\", \"slot\", \"ref\"]);\n\n const section = createGridListSection({\n get \"aria-label\"() {\n return (domProps as { \"aria-label\"?: string })[\"aria-label\"];\n },\n });\n\n // Mirror upstream: resolve class/style via renderProps but keep children out\n // of it (upstream passes `children: undefined`/`values: undefined`). The real\n // children must only be evaluated inside the header providers below, otherwise\n // a child <GridListHeader> would be instantiated in this component's owner and\n // read the contexts as null.\n // The values callback runs during setup (useRenderProps resolves class/style\n // synchronously), so it must not read `local.children` — doing so would\n // instantiate the header children in this owner, outside the providers below,\n // and break their context wiring. Mirror upstream's `values: undefined` with a\n // constant: a rendered section primitive always wraps its item collection.\n const renderProps = useRenderProps(\n {\n children: undefined,\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridListSection\",\n },\n () => ({ hasChildren: true }),\n );\n\n const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));\n\n return (\n <div\n ref={(el) => assignRef(local.ref, el)}\n {...filteredDomProps()}\n {...section.rowGroupProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-section\n >\n <GridListHeaderContext value={section.rowProps}>\n <GridListHeaderInnerContext value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext>\n </GridListHeaderContext>\n </div>\n );\n}\n\nGridList.Item = GridListItem;\nGridList.SelectionCheckbox = GridListSelectionCheckbox;\nGridList.LoadMoreItem = GridListLoadMoreItem;\n"],"mappings":"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"}