@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
package/dist/GridList.js CHANGED
@@ -1,11 +1,25 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.js";
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/GridList.tsx
13
+ import { dataAttr, filterDOMProps, useRenderProps } from "./utils.js";
14
+ import { TextContext } from "./Text.js";
2
15
  import { SharedElementTransition } from "./SharedElementTransition.js";
3
- import { CollectionRendererContext, useCollectionRenderer } from "./Collection.js";
4
- import { r as useVirtualizerContext } from "./Virtualizer2.js";
5
- import { getNormalizedDropTargetKey, mergePersistedKeysIntoVirtualRange, useDndPersistedKeys, useRenderDropIndicator } from "./DragAndDrop.js";
6
- import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, mergeProps, runHydrationEvents, setAttribute, spread, style, template, use } from "solid-js/web";
7
- import { For, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
8
- import { createFocusRing, createGridList, createGridListItem, createGridListSection, createGridListSelectionCheckbox, createHover, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
16
+ import { CollectionRendererContext, renderCollectionDropSlots, useCollectionRenderer, useCollectionRoot } from "./Collection.js";
17
+ import { o as useVirtualizerContext, t as PersistedVirtualItem } from "./Virtualizer2.js";
18
+ import { getNormalizedDropTargetKey, indexesOutsideRange, mergePersistedKeysIntoVirtualRange, useDndPersistedKeys, useRenderDropIndicator } from "./DragAndDrop.js";
19
+ import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, readShallow, ref, runHydrationEvents, scope, setAttribute, spread, style, template } from "@solidjs/web";
20
+ import { For, createContext, createEffect, createMemo, createSignal, createTrackedEffect, useContext } from "solid-js";
21
+ import { createFocusRing, createGridList, createGridListItem, createGridListSection, createGridListSelectionCheckbox, createHover, mergeProps as mergeProps$1, useLocale } from "@proyecto-viviana/solidaria";
22
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
9
23
  import { createGridState } from "@proyecto-viviana/solid-stately";
10
24
  //#region src/GridList.tsx
11
25
  /**
@@ -17,8 +31,13 @@ import { createGridState } from "@proyecto-viviana/solid-stately";
17
31
  * GridList is similar to ListBox but supports interactive elements within items
18
32
  * and uses grid keyboard navigation.
19
33
  */
20
- var _tmpl$ = /*#__PURE__*/ template(`<div><!$><!/><!$><!/>`), _tmpl$2 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=top>`), _tmpl$3 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=bottom>`), _tmpl$4 = /*#__PURE__*/ template(`<div><div>`), _tmpl$5 = /*#__PURE__*/ template(`<input>`), _tmpl$6 = /*#__PURE__*/ template(`<div inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`), _tmpl$7 = /*#__PURE__*/ template(`<div role=row tabindex=0>`), _tmpl$8 = /*#__PURE__*/ template(`<div>`);
21
- function assignRef(ref, el) {
34
+ var _tmpl$ = /* @__PURE__ */ template(`<div><!$><!/><!$><!/>`);
35
+ var _tmpl$2 = /* @__PURE__ */ template(`<div>`);
36
+ var _tmpl$3 = /* @__PURE__ */ template(`<input>`);
37
+ var _tmpl$4 = /* @__PURE__ */ template(`<div inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`);
38
+ var _tmpl$5 = /* @__PURE__ */ template(`<div role=row tabindex=0>`);
39
+ var _tmpl$6 = /* @__PURE__ */ template(`<div><div>`);
40
+ function assignRef$1(ref, el) {
22
41
  if (!ref) return;
23
42
  if (typeof ref === "function") ref(el);
24
43
  else ref.current = el;
@@ -31,7 +50,8 @@ const GridListHeaderContext = createContext(null);
31
50
  const GridListHeaderInnerContext = createContext(null);
32
51
  function buildGridCollection(items, getKey, getTextValue, getDisabled) {
33
52
  const nodes = items.map((item, index) => {
34
- const key = getKey?.(item) ?? index;
53
+ const record = item;
54
+ const key = getKey?.(item) ?? record.key ?? record.id ?? index;
35
55
  return {
36
56
  type: "item",
37
57
  key,
@@ -114,7 +134,9 @@ function GridList(props) {
114
134
  "isLoading",
115
135
  "onLoadMore",
116
136
  "dragAndDropHooks",
117
- "orientation"
137
+ "orientation",
138
+ "layout",
139
+ "columnCount"
118
140
  ], [
119
141
  "items",
120
142
  "getKey",
@@ -128,7 +150,9 @@ function GridList(props) {
128
150
  "onSelectionChange",
129
151
  "selectionBehavior"
130
152
  ]);
131
- const [ref, setRef] = createSignal(null);
153
+ const locale = useLocale();
154
+ const [ref$1, setRef] = createSignal(null, { ownedWrite: true });
155
+ const parentCollectionRenderer = useCollectionRenderer();
132
156
  const collection = createMemo(() => buildGridCollection(stateProps.items, stateProps.getKey, stateProps.getTextValue, stateProps.getDisabled));
133
157
  const allDisabledKeys = createMemo(() => {
134
158
  const keys = /* @__PURE__ */ new Set();
@@ -137,36 +161,58 @@ function GridList(props) {
137
161
  return keys;
138
162
  });
139
163
  const orientation = () => local.orientation ?? "vertical";
140
- const resolveDirection = () => {
141
- const el = ref();
142
- if (el && typeof window !== "undefined" && typeof window.getComputedStyle === "function") {
143
- if (window.getComputedStyle(el).direction === "rtl") return "rtl";
144
- }
145
- return typeof document !== "undefined" && document.dir === "rtl" ? "rtl" : "ltr";
146
- };
164
+ const resolveDirection = () => locale().direction;
147
165
  const state = createGridState(() => ({
148
166
  collection: collection(),
149
167
  disabledKeys: allDisabledKeys(),
150
168
  disabledBehavior: stateProps.disabledBehavior,
151
169
  selectionMode: stateProps.selectionMode,
152
- selectionBehavior: stateProps.selectionBehavior ?? "replace",
170
+ selectionBehavior: stateProps.selectionBehavior,
153
171
  selectedKeys: stateProps.selectedKeys,
154
172
  defaultSelectedKeys: stateProps.defaultSelectedKeys,
155
173
  onSelectionChange: stateProps.onSelectionChange
156
174
  }));
157
175
  const gridListAria = createGridList(() => ({
158
- id: ariaProps.id,
159
- "aria-label": ariaProps["aria-label"],
160
- "aria-labelledby": ariaProps["aria-labelledby"],
161
- "aria-describedby": ariaProps["aria-describedby"],
162
- isVirtualized: ariaProps.isVirtualized,
163
- onAction: ariaProps.onAction,
164
- isDisabled: ariaProps.isDisabled,
165
- selectionBehavior: state.selectionBehavior,
166
- keyboardNavigationBehavior: ariaProps.keyboardNavigationBehavior,
167
- orientation: orientation(),
168
- direction: resolveDirection()
169
- }), () => state, ref);
176
+ get id() {
177
+ return ariaProps.id;
178
+ },
179
+ get "aria-label"() {
180
+ return ariaProps["aria-label"];
181
+ },
182
+ get "aria-labelledby"() {
183
+ return ariaProps["aria-labelledby"];
184
+ },
185
+ get "aria-describedby"() {
186
+ return ariaProps["aria-describedby"];
187
+ },
188
+ get isVirtualized() {
189
+ return ariaProps.isVirtualized ?? parentCollectionRenderer?.isVirtualized;
190
+ },
191
+ get onAction() {
192
+ return ariaProps.onAction;
193
+ },
194
+ get isDisabled() {
195
+ return ariaProps.isDisabled;
196
+ },
197
+ get selectionBehavior() {
198
+ return state.selectionBehavior;
199
+ },
200
+ get keyboardNavigationBehavior() {
201
+ return ariaProps.keyboardNavigationBehavior;
202
+ },
203
+ get orientation() {
204
+ return orientation();
205
+ },
206
+ get direction() {
207
+ return resolveDirection();
208
+ },
209
+ get layout() {
210
+ return local.layout;
211
+ },
212
+ get columnCount() {
213
+ return local.columnCount;
214
+ }
215
+ }), () => state, ref$1);
170
216
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
171
217
  const renderValues = createMemo(() => ({
172
218
  isFocused: state.isFocused || isFocused(),
@@ -193,7 +239,6 @@ function GridList(props) {
193
239
  };
194
240
  const isEmpty = () => stateProps.items.length === 0;
195
241
  const virtualizer = useVirtualizerContext();
196
- const parentCollectionRenderer = useCollectionRenderer();
197
242
  const getItemNodes = createMemo(() => Array.from(state.collection).filter((node) => node.type === "item"));
198
243
  const getDropTargetByIndex = (index, position) => {
199
244
  const node = getItemNodes()[index];
@@ -208,31 +253,27 @@ function GridList(props) {
208
253
  const hooks = local.dragAndDropHooks;
209
254
  return Boolean(hooks?.useDroppableCollectionState && hooks.useDroppableCollection && (hooks.dropTargetDelegate || parentCollectionRenderer?.dropTargetDelegate || hooks.ListDropTargetDelegate));
210
255
  });
211
- const hasDraggableDnd = createMemo(() => {
256
+ const dragStateValue = createMemo(() => {
212
257
  const hooks = local.dragAndDropHooks;
213
258
  return Boolean(hooks?.useDraggableCollectionState && hooks.useDraggableCollection);
214
- });
215
- const dragState = createMemo(() => {
216
- if (!hasDraggableDnd()) return void 0;
217
- return local.dragAndDropHooks?.useDraggableCollectionState?.({ items: stateProps.items });
218
- });
219
- const dropState = createMemo(() => {
220
- if (!hasDroppableDnd()) return void 0;
221
- return local.dragAndDropHooks?.useDroppableCollectionState?.({});
222
- });
223
- createEffect(() => {
224
- if (!hasDraggableDnd()) return;
225
- const hooks = local.dragAndDropHooks;
226
- const activeDragState = dragState();
227
- if (!hooks?.useDraggableCollection || !activeDragState) return;
228
- hooks.useDraggableCollection({}, activeDragState, () => ref());
229
- });
230
- const droppableCollection = createMemo(() => {
259
+ })() ? local.dragAndDropHooks?.useDraggableCollectionState?.({
260
+ items: stateProps.items,
261
+ collection: state.collection,
262
+ selectedKeys: state.selectedKeys,
263
+ isSelected: (key) => state.isSelected(key)
264
+ }) : void 0;
265
+ const dragState = () => dragStateValue;
266
+ const dropStateValue = hasDroppableDnd() ? local.dragAndDropHooks?.useDroppableCollectionState?.({ get collection() {
267
+ return state.collection;
268
+ } }) : void 0;
269
+ const dropState = () => dropStateValue;
270
+ if (local.dragAndDropHooks?.useDraggableCollection && dragStateValue) local.dragAndDropHooks.useDraggableCollection({}, dragStateValue, () => ref$1());
271
+ const droppableCollectionValue = (() => {
231
272
  if (!hasDroppableDnd()) return void 0;
232
273
  const hooks = local.dragAndDropHooks;
233
- const activeDropState = dropState();
274
+ const activeDropState = dropStateValue;
234
275
  if (!hooks?.useDroppableCollection || !activeDropState) return void 0;
235
- const dropTargetDelegate = hooks.dropTargetDelegate ?? parentCollectionRenderer?.dropTargetDelegate ?? (hooks.ListDropTargetDelegate ? new hooks.ListDropTargetDelegate(() => state.collection, () => ref(), {
276
+ const dropTargetDelegate = hooks.dropTargetDelegate ?? parentCollectionRenderer?.dropTargetDelegate ?? (hooks.ListDropTargetDelegate ? new hooks.ListDropTargetDelegate(() => state.collection, () => ref$1(), {
236
277
  layout: "grid",
237
278
  orientation: orientation(),
238
279
  direction: resolveDirection()
@@ -250,8 +291,9 @@ function GridList(props) {
250
291
  getKeyPageBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,
251
292
  getKeyPageAbove: (key) => state.collection.getKeyBefore?.(key) ?? null
252
293
  }
253
- }, activeDropState, () => ref());
254
- });
294
+ }, activeDropState, () => ref$1());
295
+ })();
296
+ const droppableCollection = () => droppableCollectionValue;
255
297
  const isRootDropTarget = createMemo(() => {
256
298
  return Boolean(dropState()?.target?.type === "root");
257
299
  });
@@ -266,22 +308,23 @@ function GridList(props) {
266
308
  if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return null;
267
309
  const baseRange = virtualizer.getVisibleRange(stateProps.items.length);
268
310
  const itemNodes = getItemNodes();
269
- const persistedIndexes = Array.from(persistedKeys()).map((key) => itemNodes.findIndex((node) => node.key === key)).filter((index) => index >= 0);
270
311
  const dropTarget = dropState()?.target;
271
312
  const normalizedDropKey = getNormalizedDropTargetKey(dropTarget, state.collection);
272
- const focusedKey = state.focusedKey;
273
- const focusedIndex = focusedKey != null ? itemNodes.findIndex((node) => node.key === focusedKey) : -1;
274
- const forceIncludeIndexes = [
275
- dropTarget?.type === "item" ? itemNodes.findIndex((node) => node.key === dropTarget.key) : -1,
276
- normalizedDropKey != null ? itemNodes.findIndex((node) => node.key === normalizedDropKey) : -1,
277
- dropTarget?.type === "item" ? -1 : focusedIndex
278
- ].filter((index) => index >= 0);
279
- return mergePersistedKeysIntoVirtualRange(baseRange, persistedIndexes, stateProps.items.length, virtualizer, 80, {
313
+ const forceIncludeIndexes = [dropTarget?.type === "item" ? itemNodes.findIndex((node) => node.key === dropTarget.key) : -1, normalizedDropKey != null ? itemNodes.findIndex((node) => node.key === normalizedDropKey) : -1].filter((index) => index >= 0);
314
+ return mergePersistedKeysIntoVirtualRange(baseRange, [], stateProps.items.length, virtualizer, 80, {
280
315
  forceIncludeIndexes,
281
316
  forceIncludeMaxSpan: 320
282
317
  });
283
318
  });
284
- createEffect(() => {
319
+ const persistedOutsideIndexes = createMemo(() => {
320
+ const range = virtualRange();
321
+ if (!range) return [];
322
+ const itemNodes = getItemNodes();
323
+ const persistedIndexes = Array.from(persistedKeys()).map((key) => itemNodes.findIndex((node) => node.key === key)).filter((index) => index >= 0);
324
+ return indexesOutsideRange(range, persistedIndexes);
325
+ });
326
+ createTrackedEffect(() => {
327
+ const _s2Cleanups = [];
285
328
  if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return;
286
329
  virtualizer.setDropTargetItemCountResolver(() => state.collection.size);
287
330
  virtualizer.setDropTargetIndexResolver((key) => {
@@ -296,18 +339,20 @@ function GridList(props) {
296
339
  key: typeof node.key === "string" || typeof node.key === "number" ? node.key : void 0
297
340
  };
298
341
  });
299
- onCleanup(() => {
342
+ _s2Cleanups.push(() => {
300
343
  virtualizer.setDropTargetIndexResolver(void 0);
301
344
  virtualizer.setDropTargetItemCountResolver(void 0);
302
345
  virtualizer.setDropTargetResolver(void 0);
303
346
  });
347
+ return () => {
348
+ for (const c of _s2Cleanups) c();
349
+ };
304
350
  });
305
351
  const visibleItems = createMemo(() => {
306
352
  const range = virtualRange();
307
353
  if (!range) return stateProps.items;
308
354
  return stateProps.items.slice(range.start, range.end);
309
355
  });
310
- const virtualSpacerStyle = (size) => virtualizer?.orientation === "horizontal" ? { width: `${size}px` } : { height: `${size}px` };
311
356
  const contextValue = createMemo(() => ({
312
357
  state,
313
358
  collection: collection(),
@@ -322,92 +367,135 @@ function GridList(props) {
322
367
  renderItem: (item) => props.children(item),
323
368
  renderDropIndicator: (index, position) => dndDropIndicator(index, position) ?? parentCollectionRenderer?.renderDropIndicator?.(index, position)
324
369
  }));
325
- return createComponent(GridListContext.Provider, {
370
+ const CollectionRoot = useCollectionRoot();
371
+ return createComponent(GridListContext, {
326
372
  get value() {
327
373
  return contextValue();
328
374
  },
329
375
  get children() {
330
- return createComponent(GridListStateContext.Provider, {
376
+ return createComponent(GridListStateContext, {
331
377
  value: state,
332
378
  get children() {
333
- return createComponent(CollectionRendererContext.Provider, {
379
+ return createComponent(CollectionRendererContext, {
334
380
  get value() {
335
381
  return collectionRenderer();
336
382
  },
337
383
  get children() {
338
- var _el$ = getNextElement(_tmpl$), _el$2 = _el$.firstChild, [_el$3, _co$] = getNextMarker(_el$2.nextSibling), _el$4 = _el$3.nextSibling, [_el$5, _co$2] = getNextMarker(_el$4.nextSibling);
339
- use((element) => {
340
- setRef(element);
341
- assignRef(local.ref, element);
384
+ var _el$ = getNextElement(_tmpl$);
385
+ var _el$2 = _el$.firstChild;
386
+ var [_el$3, _el$4] = getNextMarker(_el$2.nextSibling);
387
+ var _el$5 = _el$3.nextSibling;
388
+ var [_el$6, _el$7] = getNextMarker(_el$5.nextSibling);
389
+ ref(() => {
390
+ return (element) => {
391
+ setRef(element);
392
+ assignRef$1(local.ref, element);
393
+ };
342
394
  }, _el$);
343
- spread(_el$, mergeProps(() => mergeProps$2(domProps(), cleanGridProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {}), {
344
- get ["class"]() {
395
+ spread(_el$, [() => {
396
+ return mergeProps$1(domProps(), cleanGridProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {});
397
+ }, {
398
+ get "class"() {
345
399
  return renderProps.class();
346
400
  },
347
401
  get style() {
348
402
  return renderProps.style();
349
403
  },
350
- get ["data-focused"]() {
351
- return state.isFocused || void 0;
404
+ get "data-focused"() {
405
+ return dataAttr(state.isFocused);
352
406
  },
353
- get ["data-focus-visible"]() {
354
- return isFocusVisible() || void 0;
407
+ get "data-focus-visible"() {
408
+ return dataAttr(isFocusVisible());
355
409
  },
356
- get ["data-disabled"]() {
357
- return ariaProps.isDisabled || void 0;
410
+ get "data-disabled"() {
411
+ return dataAttr(ariaProps.isDisabled);
358
412
  },
359
- get ["data-empty"]() {
360
- return isEmpty() || void 0;
413
+ get "data-empty"() {
414
+ return dataAttr(isEmpty());
361
415
  },
362
- get ["data-drop-target"]() {
363
- return isRootDropTarget() || void 0;
416
+ get "data-drop-target"() {
417
+ return dataAttr(isRootDropTarget());
364
418
  },
365
- get ["data-orientation"]() {
419
+ get "data-orientation"() {
366
420
  return orientation();
367
421
  }
368
- }), false, true);
422
+ }], true);
369
423
  insert(_el$, createComponent(SharedElementTransition, { get children() {
370
- return memo(() => !!(isEmpty() && local.renderEmptyState))() ? local.renderEmptyState() : [
371
- memo(() => memo(() => !!virtualRange()?.offsetTop)() ? (() => {
372
- var _el$6 = getNextElement(_tmpl$2);
373
- effect((_$p) => style(_el$6, virtualSpacerStyle(virtualRange().offsetTop), _$p));
374
- return _el$6;
375
- })() : null),
376
- createComponent(For, {
377
- get each() {
378
- return visibleItems();
379
- },
380
- children: (item, index) => {
381
- const itemIndex = () => (virtualRange()?.start ?? 0) + index();
382
- const beforeIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "before");
383
- const onIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "on");
384
- const afterIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "after");
385
- return [
386
- memo(beforeIndicator),
387
- memo(onIndicator),
388
- memo(() => props.children(item)),
389
- memo(afterIndicator)
390
- ];
391
- }
392
- }),
393
- memo(() => memo(() => !!virtualRange()?.offsetBottom)() ? (() => {
394
- var _el$7 = getNextElement(_tmpl$3);
395
- effect((_$p) => style(_el$7, virtualSpacerStyle(virtualRange().offsetBottom), _$p));
396
- return _el$7;
397
- })() : null)
398
- ];
399
- } }), _el$3, _co$);
400
- insert(_el$, (() => {
401
- var _c$ = memo(() => !!(local.hasMore && local.onLoadMore));
402
- return () => _c$() && createComponent(GridListLoadMoreItem, {
403
- get onLoadMore() {
404
- return local.onLoadMore;
424
+ return memo(() => {
425
+ return !!(isEmpty() && local.renderEmptyState);
426
+ })() ? local.renderEmptyState() : memo(() => {
427
+ return !!parentCollectionRenderer?.isVirtualized;
428
+ })() ? createComponent(CollectionRoot, {
429
+ get collection() {
430
+ return memo(() => {
431
+ return !!virtualRange();
432
+ })() ? stateProps.items : [];
433
+ },
434
+ scrollRef: () => ref$1(),
435
+ get persistedKeys() {
436
+ return persistedKeys();
405
437
  },
406
- get isLoading() {
407
- return local.isLoading;
438
+ get children() {
439
+ return [createComponent(For, {
440
+ get each() {
441
+ return visibleItems();
442
+ },
443
+ children: (item, index) => {
444
+ const itemIndex = () => (virtualRange()?.start ?? 0) + index();
445
+ return renderCollectionDropSlots({
446
+ index: itemIndex(),
447
+ lastIndex: getItemNodes().length - 1,
448
+ renderDropIndicator: (i, position) => collectionRenderer().renderDropIndicator?.(i, position),
449
+ children: props.children(item)
450
+ });
451
+ }
452
+ }), createComponent(For, {
453
+ get each() {
454
+ return persistedOutsideIndexes();
455
+ },
456
+ children: (index) => createComponent(PersistedVirtualItem, {
457
+ index,
458
+ get children() {
459
+ return renderCollectionDropSlots({
460
+ index,
461
+ lastIndex: getItemNodes().length - 1,
462
+ renderDropIndicator: (i, position) => collectionRenderer().renderDropIndicator?.(i, position),
463
+ children: props.children(stateProps.items[index])
464
+ });
465
+ }
466
+ })
467
+ })];
408
468
  }
469
+ }) : createComponent(For, {
470
+ get each() {
471
+ return visibleItems();
472
+ },
473
+ children: (item, index) => {
474
+ const itemIndex = () => (virtualRange()?.start ?? 0) + index();
475
+ return renderCollectionDropSlots({
476
+ index: itemIndex(),
477
+ lastIndex: getItemNodes().length - 1,
478
+ renderDropIndicator: (i, position) => collectionRenderer().renderDropIndicator?.(i, position),
479
+ children: props.children(item)
480
+ });
481
+ }
482
+ });
483
+ } }), _el$3, _el$4);
484
+ insert(_el$, scope((() => {
485
+ var _c$ = memo(() => {
486
+ return !!(local.hasMore && local.onLoadMore);
409
487
  });
410
- })(), _el$5, _co$2);
488
+ return () => {
489
+ return _c$() ? createComponent(GridListLoadMoreItem, {
490
+ get onLoadMore() {
491
+ return local.onLoadMore;
492
+ },
493
+ get isLoading() {
494
+ return local.isLoading;
495
+ }
496
+ }) : local.hasMore && local.onLoadMore;
497
+ };
498
+ })()), _el$6, _el$7);
411
499
  runHydrationEvents();
412
500
  return _el$;
413
501
  }
@@ -429,6 +517,7 @@ function GridListItem(props) {
429
517
  "item",
430
518
  "textValue",
431
519
  "onAction",
520
+ "isDisabled",
432
521
  "children",
433
522
  "ref"
434
523
  ]);
@@ -436,7 +525,7 @@ function GridListItem(props) {
436
525
  if (!context) throw new Error("GridListItem must be used within a GridList");
437
526
  const state = context;
438
527
  const listContext = useContext(GridListContext);
439
- const [ref, setRef] = createSignal(null);
528
+ const [ref$2, setRef] = createSignal(null, { ownedWrite: true });
440
529
  const itemNode = createMemo(() => {
441
530
  const node = state.collection.getItem(local.id);
442
531
  if (!node) return {
@@ -453,9 +542,11 @@ function GridListItem(props) {
453
542
  });
454
543
  const itemAria = createGridListItem(() => ({
455
544
  node: itemNode(),
545
+ textValue: local.textValue,
456
546
  onAction: local.onAction,
457
- selectionBehavior: listContext?.selectionBehavior ?? "replace"
458
- }), () => state, ref);
547
+ isDisabled: local.isDisabled,
548
+ selectionBehavior: listContext?.selectionBehavior ?? "toggle"
549
+ }), () => state, ref$2);
459
550
  const isSelected = () => itemAria.isSelected;
460
551
  const isDisabled = () => itemAria.isDisabled;
461
552
  const isPressed = () => itemAria.isPressed;
@@ -470,7 +561,7 @@ function GridListItem(props) {
470
561
  });
471
562
  const droppableItem = createMemo(() => {
472
563
  if (!listContext?.dragAndDropHooks?.useDroppableItem || !listContext.dropState) return void 0;
473
- return listContext.dragAndDropHooks.useDroppableItem({ key: local.id }, listContext.dropState, () => ref());
564
+ return listContext.dragAndDropHooks.useDroppableItem({ key: local.id }, listContext.dropState, () => ref$2());
474
565
  });
475
566
  const renderValues = createMemo(() => ({
476
567
  isSelected: isSelected(),
@@ -480,7 +571,8 @@ function GridListItem(props) {
480
571
  isHovered: isHovered(),
481
572
  isDisabled: isDisabled(),
482
573
  selectionMode: state.selectionMode,
483
- selectionBehavior: listContext?.selectionBehavior ?? "replace"
574
+ selectionBehavior: listContext?.selectionBehavior ?? "toggle",
575
+ descriptionId: itemAria.descriptionProps.id
484
576
  }));
485
577
  const renderProps = useRenderProps({
486
578
  get children() {
@@ -502,52 +594,74 @@ function GridListItem(props) {
502
594
  const { ref: _ref3, ...rest } = focusProps;
503
595
  return rest;
504
596
  };
505
- return (() => {
506
- var _el$8 = getNextElement(_tmpl$4), _el$9 = _el$8.firstChild;
507
- use((element) => {
597
+ var _el$8 = getNextElement(_tmpl$2);
598
+ ref(() => {
599
+ return (element) => {
508
600
  setRef(element);
509
- assignRef(local.ref, element);
510
- }, _el$8);
511
- spread(_el$8, mergeProps(domProps, () => mergeProps$2(cleanRowProps(), cleanHoverProps(), cleanFocusProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {}), {
512
- get ["class"]() {
601
+ assignRef$1(local.ref, element);
602
+ const dragRef = (draggableItem()?.dragProps)?.ref;
603
+ if (typeof dragRef === "function") dragRef(element);
604
+ };
605
+ }, _el$8);
606
+ spread(_el$8, [
607
+ domProps,
608
+ () => {
609
+ return mergeProps$1(cleanRowProps(), cleanHoverProps(), cleanFocusProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {});
610
+ },
611
+ {
612
+ get "class"() {
513
613
  return renderProps.class();
514
614
  },
515
615
  get style() {
516
616
  return renderProps.style();
517
617
  },
518
- get ["data-key"]() {
618
+ get "data-key"() {
519
619
  return local.id;
520
620
  },
521
- get ["data-selected"]() {
522
- return isSelected() || void 0;
621
+ get "data-selected"() {
622
+ return dataAttr(isSelected());
523
623
  },
524
- get ["data-focused"]() {
525
- return isFocused() || void 0;
624
+ get "data-focused"() {
625
+ return dataAttr(isFocused());
526
626
  },
527
- get ["data-focus-visible"]() {
528
- return memo(() => !!isFocusVisible())() && isFocused() || void 0;
627
+ get "data-focus-visible"() {
628
+ return dataAttr(isFocusVisible() && isFocused());
529
629
  },
530
- get ["data-pressed"]() {
531
- return isPressed() || void 0;
630
+ get "data-pressed"() {
631
+ return dataAttr(isPressed());
532
632
  },
533
- get ["data-hovered"]() {
534
- return isHovered() || void 0;
633
+ get "data-hovered"() {
634
+ return dataAttr(isHovered());
535
635
  },
536
- get ["data-disabled"]() {
537
- return isDisabled() || void 0;
636
+ get "data-disabled"() {
637
+ return dataAttr(isDisabled());
538
638
  },
539
- get ["data-dragging"]() {
540
- return draggableItem()?.isDragging || void 0;
639
+ get "data-dragging"() {
640
+ return dataAttr(draggableItem()?.isDragging);
541
641
  },
542
- get ["data-drop-target"]() {
543
- return droppableItem()?.isDropTarget || void 0;
642
+ get "data-drop-target"() {
643
+ return dataAttr(droppableItem()?.isDropTarget);
544
644
  }
545
- }), false, true);
546
- spread(_el$9, mergeProps(() => itemAria.gridCellProps), false, true);
547
- insert(_el$9, () => renderProps.renderChildren());
548
- runHydrationEvents();
549
- return _el$8;
550
- })();
645
+ }
646
+ ], true);
647
+ insert(_el$8, createComponent(TextContext, {
648
+ get value() {
649
+ return { slots: { description: itemAria.descriptionProps } };
650
+ },
651
+ get children() {
652
+ var _el$9 = getNextElement(_tmpl$2);
653
+ spread(_el$9, () => {
654
+ return itemAria.gridCellProps;
655
+ }, true);
656
+ insert(_el$9, scope(() => {
657
+ return renderProps.renderChildren();
658
+ }));
659
+ runHydrationEvents();
660
+ return _el$9;
661
+ }
662
+ }));
663
+ runHydrationEvents();
664
+ return _el$8;
551
665
  }
552
666
  /**
553
667
  * A checkbox for item selection in a grid list.
@@ -557,29 +671,30 @@ function GridListSelectionCheckbox(props) {
557
671
  if (!context) throw new Error("GridListSelectionCheckbox must be used within a GridList");
558
672
  const state = context;
559
673
  const checkboxAria = createGridListSelectionCheckbox(() => ({ key: props.itemKey }), () => state);
560
- return (() => {
561
- var _el$0 = getNextElement(_tmpl$5);
562
- spread(_el$0, mergeProps(() => checkboxAria.checkboxProps, {
563
- get ["class"]() {
564
- return props.class;
565
- },
566
- get style() {
567
- return props.style;
568
- },
569
- get tabIndex() {
570
- return props.excludeFromTabOrder ? -1 : void 0;
571
- },
572
- get ["aria-label"]() {
573
- return props["aria-label"] ?? "Select";
574
- }
575
- }), false, false);
576
- runHydrationEvents();
577
- return _el$0;
578
- })();
674
+ var _el$10 = getNextElement(_tmpl$3);
675
+ spread(_el$10, [() => {
676
+ return checkboxAria.checkboxProps;
677
+ }, {
678
+ get "class"() {
679
+ return props.class;
680
+ },
681
+ get style() {
682
+ return props.style;
683
+ },
684
+ get tabindex() {
685
+ return props.excludeFromTabOrder ? -1 : void 0;
686
+ },
687
+ get "aria-label"() {
688
+ return props["aria-label"] ?? checkboxAria.checkboxProps["aria-label"];
689
+ }
690
+ }], false);
691
+ runHydrationEvents();
692
+ return _el$10;
579
693
  }
580
694
  function GridListLoadMoreItem(props) {
581
- let sentinelRef;
695
+ const [sentinel, setSentinel] = createSignal();
582
696
  const [isPending, setIsPending] = createSignal(false);
697
+ const scrollOffsetValue = createMemo(() => props.scrollOffset ?? 1);
583
698
  const isLoading = () => !!props.isLoading || isPending();
584
699
  const triggerLoadMore = async () => {
585
700
  if (isLoading()) return;
@@ -590,13 +705,16 @@ function GridListLoadMoreItem(props) {
590
705
  setIsPending(false);
591
706
  }
592
707
  };
593
- createEffect(() => {
594
- if (!sentinelRef || typeof IntersectionObserver !== "function") return;
595
- const margin = `0px 0px ${100 * (props.scrollOffset ?? 1)}% 0px`;
708
+ createEffect(() => ({
709
+ current: sentinel(),
710
+ scrollOffset: scrollOffsetValue()
711
+ }), ({ current, scrollOffset }) => {
712
+ if (!current || typeof IntersectionObserver !== "function") return;
713
+ const margin = `0px 0px ${100 * scrollOffset}% 0px`;
596
714
  const observer = new IntersectionObserver((entries) => {
597
715
  if (entries[0]?.isIntersecting) triggerLoadMore();
598
716
  }, { rootMargin: margin });
599
- observer.observe(sentinelRef);
717
+ observer.observe(current);
600
718
  return () => observer.disconnect();
601
719
  });
602
720
  const renderProps = useRenderProps({
@@ -608,28 +726,32 @@ function GridListLoadMoreItem(props) {
608
726
  defaultClassName: "solidaria-GridList-loadMore"
609
727
  }, () => ({ isLoading: isLoading() }));
610
728
  return [(() => {
611
- var _el$1 = getNextElement(_tmpl$6), _el$10 = _el$1.firstChild;
612
- var _ref$ = sentinelRef;
613
- typeof _ref$ === "function" ? use(_ref$, _el$10) : sentinelRef = _el$10;
614
- return _el$1;
729
+ var _el$11 = getNextElement(_tmpl$4);
730
+ var _el$12 = _el$11.firstChild;
731
+ ref(() => {
732
+ return setSentinel;
733
+ }, _el$12);
734
+ return _el$11;
615
735
  })(), (() => {
616
- var _el$11 = getNextElement(_tmpl$7);
617
- _el$11.addEventListener("focus", () => {
736
+ var _el$13 = getNextElement(_tmpl$5);
737
+ _el$13.addEventListener("focus", () => {
618
738
  triggerLoadMore();
619
739
  });
620
- insert(_el$11, () => renderProps.renderChildren());
621
- effect((_p$) => {
622
- var _v$ = renderProps.class(), _v$2 = renderProps.style(), _v$3 = isLoading() || void 0;
623
- _v$ !== _p$.e && className(_el$11, _p$.e = _v$);
624
- _p$.t = style(_el$11, _v$2, _p$.t);
625
- _v$3 !== _p$.a && setAttribute(_el$11, "data-loading", _p$.a = _v$3);
626
- return _p$;
627
- }, {
628
- e: void 0,
629
- t: void 0,
630
- a: void 0
740
+ insert(_el$13, scope(() => {
741
+ return renderProps.renderChildren();
742
+ }));
743
+ effect(() => {
744
+ return {
745
+ e: readShallow(renderProps.class()),
746
+ t: readShallow(renderProps.style()),
747
+ a: dataAttr(isLoading())
748
+ };
749
+ }, ({ e, t, a }, _p$) => {
750
+ className(_el$13, e, _p$?.e);
751
+ style(_el$13, t, _p$?.t);
752
+ a !== _p$?.a && setAttribute(_el$13, "data-loading", a);
631
753
  });
632
- return _el$11;
754
+ return _el$13;
633
755
  })()];
634
756
  }
635
757
  /**
@@ -641,21 +763,22 @@ function GridListLoadMoreItem(props) {
641
763
  function GridListHeader(props) {
642
764
  const rowProps = useContext(GridListHeaderContext);
643
765
  const rowHeaderProps = useContext(GridListHeaderInnerContext);
644
- return (() => {
645
- var _el$12 = getNextElement(_tmpl$4), _el$13 = _el$12.firstChild;
646
- spread(_el$12, mergeProps({
647
- get ["class"]() {
648
- return props.class ?? "solidaria-GridListHeader";
649
- },
650
- get style() {
651
- return props.style;
652
- }
653
- }, rowProps ?? {}), false, true);
654
- spread(_el$13, mergeProps(rowHeaderProps ?? {}, { "style": { display: "contents" } }), false, true);
655
- insert(_el$13, () => props.children);
656
- runHydrationEvents();
657
- return _el$12;
658
- })();
766
+ var _el$14 = getNextElement(_tmpl$6);
767
+ var _el$15 = _el$14.firstChild;
768
+ spread(_el$14, [{
769
+ get "class"() {
770
+ return props.class ?? "solidaria-GridListHeader";
771
+ },
772
+ get style() {
773
+ return props.style;
774
+ }
775
+ }, rowProps ?? {}], true);
776
+ spread(_el$15, [rowHeaderProps ?? {}, { style: { display: "contents" } }], true);
777
+ insert(_el$15, scope(() => {
778
+ return props.children;
779
+ }));
780
+ runHydrationEvents();
781
+ return _el$14;
659
782
  }
660
783
  /**
661
784
  * A section within a GridList. Renders as `role="rowgroup"` and supplies its
@@ -680,11 +803,17 @@ function GridListSection(props) {
680
803
  defaultClassName: "solidaria-GridListSection"
681
804
  }, () => ({ hasChildren: true }));
682
805
  const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));
683
- return (() => {
684
- var _el$14 = getNextElement(_tmpl$8);
685
- use((el) => assignRef(local.ref, el), _el$14);
686
- spread(_el$14, mergeProps(filteredDomProps, () => section.rowGroupProps, {
687
- get ["class"]() {
806
+ var _el$16 = getNextElement(_tmpl$2);
807
+ ref(() => {
808
+ return (el) => assignRef$1(local.ref, el);
809
+ }, _el$16);
810
+ spread(_el$16, [
811
+ filteredDomProps,
812
+ () => {
813
+ return section.rowGroupProps;
814
+ },
815
+ {
816
+ get "class"() {
688
817
  return renderProps.class();
689
818
  },
690
819
  get style() {
@@ -693,26 +822,26 @@ function GridListSection(props) {
693
822
  get slot() {
694
823
  return local.slot;
695
824
  },
696
- "data-section": ""
697
- }), false, true);
698
- insert(_el$14, createComponent(GridListHeaderContext.Provider, {
699
- get value() {
700
- return section.rowProps;
701
- },
702
- get children() {
703
- return createComponent(GridListHeaderInnerContext.Provider, {
704
- get value() {
705
- return section.rowHeaderProps;
706
- },
707
- get children() {
708
- return local.children;
709
- }
710
- });
711
- }
712
- }));
713
- runHydrationEvents();
714
- return _el$14;
715
- })();
825
+ "data-section": true
826
+ }
827
+ ], true);
828
+ insert(_el$16, createComponent(GridListHeaderContext, {
829
+ get value() {
830
+ return section.rowProps;
831
+ },
832
+ get children() {
833
+ return createComponent(GridListHeaderInnerContext, {
834
+ get value() {
835
+ return section.rowHeaderProps;
836
+ },
837
+ get children() {
838
+ return local.children;
839
+ }
840
+ });
841
+ }
842
+ }));
843
+ runHydrationEvents();
844
+ return _el$16;
716
845
  }
717
846
  GridList.Item = GridListItem;
718
847
  GridList.SelectionCheckbox = GridListSelectionCheckbox;