@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/Tree.js CHANGED
@@ -1,13 +1,26 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.js";
1
+ /*
2
+ * Copyright 2024 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/Tree.tsx
13
+ import { dataAttr, filterDOMProps, useRenderProps } from "./utils.js";
2
14
  import { SharedElementTransition } from "./SharedElementTransition.js";
3
15
  import { handleLinkClick, useLinkProps, useRouter } from "./RouterProvider.js";
4
- import { CollectionRendererContext, flattenCollectionEntries, isCollectionSection, useCollectionRenderer } from "./Collection.js";
5
- import { r as useVirtualizerContext } from "./Virtualizer2.js";
6
- import { getNormalizedDropTargetKey, mergePersistedKeysIntoVirtualRange, useDndPersistedKeys, useRenderDropIndicator } from "./DragAndDrop.js";
16
+ import { CollectionRendererContext, flattenCollectionEntries, isCollectionSection, 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";
7
19
  import { GridListHeader, GridListHeaderContext, GridListHeaderInnerContext } from "./GridList.js";
8
- import { className, createComponent, delegateEvents, effect, getNextElement, getNextMarker, insert, memo, mergeProps, runHydrationEvents, setAttribute, setStyleProperty, spread, style, template, use } from "solid-js/web";
9
- import { For, Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
10
- import { createFocusRing, createGridListSection, createHover, createTree, createTreeItem, createTreeSelectionCheckbox, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
20
+ import { className, createComponent, delegateEvents, effect, getNextElement, getNextMarker, insert, memo, mergeProps, readShallow, ref, runHydrationEvents, scope, setAttribute, spread, style, template } from "@solidjs/web";
21
+ import { For, Show, createContext, createEffect, createMemo, createSignal, createTrackedEffect, useContext } from "solid-js";
22
+ import { createFocusRing, createGridListSection, createHover, createTree, createTreeItem, createTreeSelectionCheckbox, mergeProps as mergeProps$1, useLocale } from "@proyecto-viviana/solidaria";
23
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
11
24
  import { createTreeCollection, createTreeState } from "@proyecto-viviana/solid-stately";
12
25
  //#region src/Tree.tsx
13
26
  /**
@@ -19,8 +32,14 @@ import { createTreeCollection, createTreeState } from "@proyecto-viviana/solid-s
19
32
  * Tree displays hierarchical data with expandable/collapsible nodes,
20
33
  * supporting keyboard navigation and selection.
21
34
  */
22
- var _tmpl$ = /*#__PURE__*/ template(`<div><!$><!/><!$><!/>`), _tmpl$2 = /*#__PURE__*/ template(`<div role=row aria-level=1 style=display:contents><div role=gridcell style=display:contents>`), _tmpl$3 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=top>`), _tmpl$4 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=bottom>`), _tmpl$5 = /*#__PURE__*/ template(`<div>`), _tmpl$6 = /*#__PURE__*/ template(`<button>`), _tmpl$7 = /*#__PURE__*/ template(`<input>`), _tmpl$8 = /*#__PURE__*/ template(`<div inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`), _tmpl$9 = /*#__PURE__*/ template(`<div role=row><div role=gridcell>`);
23
- function assignRef(ref, el) {
35
+ var _tmpl$ = /* @__PURE__ */ template(`<div><!$><!/><!$><!/>`);
36
+ var _tmpl$2 = /* @__PURE__ */ template(`<div role=row aria-level=1 style=display:contents><div role=gridcell style=display:contents>`);
37
+ var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
38
+ var _tmpl$4 = /* @__PURE__ */ template(`<button>`);
39
+ var _tmpl$5 = /* @__PURE__ */ template(`<input>`);
40
+ var _tmpl$6 = /* @__PURE__ */ template(`<div inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`);
41
+ var _tmpl$7 = /* @__PURE__ */ template(`<div role=row><div role=gridcell>`);
42
+ function assignRef$1(ref, el) {
24
43
  if (!ref) return;
25
44
  if (typeof ref === "function") ref(el);
26
45
  else ref.current = el;
@@ -37,20 +56,6 @@ const EXPANSION_KEYS = {
37
56
  rtl: "ArrowRight"
38
57
  }
39
58
  };
40
- function resolveTreeDirection(element) {
41
- if (element) {
42
- const dir = element.closest("[dir]")?.getAttribute("dir");
43
- if (dir === "rtl") return "rtl";
44
- if (dir === "ltr") return "ltr";
45
- if (typeof window !== "undefined" && typeof window.getComputedStyle === "function") {
46
- const computedDirection = window.getComputedStyle(element).direction;
47
- if (computedDirection === "rtl") return "rtl";
48
- if (computedDirection === "ltr") return "ltr";
49
- }
50
- }
51
- if (typeof document !== "undefined") return document.dir === "rtl" ? "rtl" : "ltr";
52
- return "ltr";
53
- }
54
59
  function createTreeDropTargetDelegate(delegate, state, direction, baseKeyboardNav) {
55
60
  const pointerTracking = {
56
61
  lastY: 0,
@@ -99,12 +104,14 @@ function createTreeDropTargetDelegate(delegate, state, direction, baseKeyboardNa
99
104
  const nextKey = getNodeNextKey(parentItem);
100
105
  const nextItem = nextKey != null ? collection.getItem(nextKey) : null;
101
106
  if (!nextItem || nextItem.parentKey !== parentKey) {
102
- const afterParentTarget = {
103
- type: "item",
104
- key: parentKey,
105
- dropPosition: "after"
106
- };
107
- if (isValidDropTarget(afterParentTarget)) ancestorTargets.push(afterParentTarget);
107
+ if (parentItem?.type === "item") {
108
+ const afterParentTarget = {
109
+ type: "item",
110
+ key: parentKey,
111
+ dropPosition: "after"
112
+ };
113
+ if (isValidDropTarget(afterParentTarget)) ancestorTargets.push(afterParentTarget);
114
+ }
108
115
  if (nextItem) break;
109
116
  }
110
117
  parentKey = parentItem?.parentKey ?? null;
@@ -128,12 +135,15 @@ function createTreeDropTargetDelegate(delegate, state, direction, baseKeyboardNa
128
135
  if (potentialTargets.length < 2) return potentialTargets[0];
129
136
  const parentKey = state.collection.getItem(originalTarget.key)?.parentKey;
130
137
  if (parentKey == null) return potentialTargets[0];
131
- if (!pointerTracking.boundaryContext || pointerTracking.boundaryContext.parentKey !== parentKey) pointerTracking.boundaryContext = {
132
- parentKey,
133
- preferredTargetIndex: pointerTracking.yDirection === "up" ? potentialTargets.length - 1 : 0,
134
- lastSwitchY: y,
135
- lastSwitchX: x
136
- };
138
+ if (!pointerTracking.boundaryContext || pointerTracking.boundaryContext.parentKey !== parentKey) {
139
+ const initialTargetIndex = pointerTracking.yDirection === "up" ? potentialTargets.length - 1 : 0;
140
+ pointerTracking.boundaryContext = {
141
+ parentKey,
142
+ preferredTargetIndex: initialTargetIndex,
143
+ lastSwitchY: y,
144
+ lastSwitchX: x
145
+ };
146
+ }
137
147
  const boundaryContext = pointerTracking.boundaryContext;
138
148
  const distanceFromLastXSwitch = Math.abs(x - boundaryContext.lastSwitchX);
139
149
  if (Math.abs(y - boundaryContext.lastSwitchY) > Y_SWITCH_THRESHOLD && currentYMovement) {
@@ -461,7 +471,9 @@ function Tree(props) {
461
471
  "defaultExpandedKeys",
462
472
  "onExpandedChange"
463
473
  ]);
464
- const [ref, setRef] = createSignal(null);
474
+ const locale = useLocale();
475
+ const [ref$1, setRef] = createSignal(null);
476
+ const parentCollectionRenderer = useCollectionRenderer();
465
477
  const flatItems = createMemo(() => flattenCollectionEntries(stateProps.items ?? []));
466
478
  const hasSections = createMemo(() => (stateProps.items ?? []).some((entry) => isCollectionSection(entry)));
467
479
  const state = createTreeState(() => ({
@@ -480,7 +492,7 @@ function Tree(props) {
480
492
  const [lastExpandedKeys, setLastExpandedKeys] = createSignal(/* @__PURE__ */ new Set());
481
493
  const [lastItemsLength, setLastItemsLength] = createSignal(flatItems().length);
482
494
  const [collectionVersion, setCollectionVersion] = createSignal(0);
483
- createEffect(() => {
495
+ createTrackedEffect(() => {
484
496
  const expanded = state.expandedKeys;
485
497
  const items = flatItems();
486
498
  if (!areSetsEqual(lastExpandedKeys(), expanded) || lastItemsLength() !== items.length) {
@@ -489,18 +501,18 @@ function Tree(props) {
489
501
  setCollectionVersion((v) => v + 1);
490
502
  }
491
503
  });
492
- const treeDirection = createMemo(() => ariaProps.direction ?? resolveTreeDirection(ref()));
504
+ const treeDirection = createMemo(() => ariaProps.direction ?? locale().direction);
493
505
  const treeAria = createTree(() => ({
494
506
  id: ariaProps.id,
495
507
  "aria-label": ariaProps["aria-label"],
496
508
  "aria-labelledby": ariaProps["aria-labelledby"],
497
509
  "aria-describedby": ariaProps["aria-describedby"],
498
- isVirtualized: ariaProps.isVirtualized,
510
+ isVirtualized: ariaProps.isVirtualized ?? parentCollectionRenderer?.isVirtualized,
499
511
  onAction: ariaProps.onAction,
500
512
  isDisabled: ariaProps.isDisabled,
501
513
  keyboardNavigationBehavior: ariaProps.keyboardNavigationBehavior,
502
514
  direction: treeDirection()
503
- }), () => state, ref);
515
+ }), () => state, ref$1);
504
516
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
505
517
  const renderValues = createMemo(() => ({
506
518
  isFocused: state.isFocused || isFocused(),
@@ -530,7 +542,6 @@ function Tree(props) {
530
542
  return state.collection.rows;
531
543
  });
532
544
  const virtualizer = useVirtualizerContext();
533
- const parentCollectionRenderer = useCollectionRenderer();
534
545
  const getDropTargetByIndex = (index, position) => {
535
546
  const node = visibleRows()[index];
536
547
  if (!node) return null;
@@ -548,16 +559,18 @@ function Tree(props) {
548
559
  const hooks = local.dragAndDropHooks;
549
560
  return Boolean(hooks?.useDraggableCollectionState && hooks.useDraggableCollection);
550
561
  });
551
- const dragState = createMemo(() => {
552
- if (!hasDraggableDnd()) return void 0;
553
- return local.dragAndDropHooks?.useDraggableCollectionState?.({ items: visibleRows().map((node) => node.value) });
554
- });
555
- const dropState = createMemo(() => {
556
- if (!hasDroppableDnd()) return void 0;
557
- return local.dragAndDropHooks?.useDroppableCollectionState?.({});
558
- });
559
- createEffect(() => {
560
- const activeDropState = dropState();
562
+ const dragStateValue = hasDraggableDnd() ? local.dragAndDropHooks?.useDraggableCollectionState?.({
563
+ items: visibleRows().map((node) => node.value),
564
+ collection: state.collection,
565
+ selectedKeys: state.selectedKeys,
566
+ isSelected: (key) => state.isSelected(key)
567
+ }) : void 0;
568
+ const dragState = () => dragStateValue;
569
+ const dropStateValue = hasDroppableDnd() ? local.dragAndDropHooks?.useDroppableCollectionState?.({ get collection() {
570
+ return state.collection;
571
+ } }) : void 0;
572
+ const dropState = () => dropStateValue;
573
+ createEffect(() => dropState(), (activeDropState) => {
561
574
  if (!activeDropState) return;
562
575
  const originalGetDropOperation = activeDropState.getDropOperation.bind(activeDropState);
563
576
  activeDropState.getDropOperation = (target, types, allowedOperations) => {
@@ -573,17 +586,11 @@ function Tree(props) {
573
586
  }
574
587
  return originalGetDropOperation(target, types, allowedOperations);
575
588
  };
576
- onCleanup(() => {
589
+ return () => {
577
590
  activeDropState.getDropOperation = originalGetDropOperation;
578
- });
579
- });
580
- createEffect(() => {
581
- if (!hasDraggableDnd()) return;
582
- const hooks = local.dragAndDropHooks;
583
- const activeDragState = dragState();
584
- if (!hooks?.useDraggableCollection || !activeDragState) return;
585
- hooks.useDraggableCollection({}, activeDragState, () => ref());
591
+ };
586
592
  });
593
+ if (local.dragAndDropHooks?.useDraggableCollection && dragStateValue) local.dragAndDropHooks.useDraggableCollection({}, dragStateValue, () => ref$1());
587
594
  const contextValue = createMemo(() => ({
588
595
  state,
589
596
  collection: state.collection,
@@ -593,13 +600,13 @@ function Tree(props) {
593
600
  dragState: dragState(),
594
601
  dropState: dropState()
595
602
  }));
596
- const droppableCollection = createMemo(() => {
603
+ const droppableCollectionValue = (() => {
597
604
  if (!hasDroppableDnd()) return void 0;
598
605
  const hooks = local.dragAndDropHooks;
599
- const activeDropState = dropState();
606
+ const activeDropState = dropStateValue;
600
607
  if (!hooks?.useDroppableCollection || !activeDropState) return void 0;
601
- const direction = resolveTreeDirection(ref());
602
- const baseDropTargetDelegate = hooks.dropTargetDelegate ?? parentCollectionRenderer?.dropTargetDelegate ?? (hooks.ListDropTargetDelegate ? new hooks.ListDropTargetDelegate(() => state.collection, () => ref(), {
608
+ const direction = locale().direction;
609
+ const baseDropTargetDelegate = hooks.dropTargetDelegate ?? parentCollectionRenderer?.dropTargetDelegate ?? (hooks.ListDropTargetDelegate ? new hooks.ListDropTargetDelegate(() => state.collection, () => ref$1(), {
603
610
  layout: "stack",
604
611
  orientation: "vertical",
605
612
  direction
@@ -639,14 +646,15 @@ function Tree(props) {
639
646
  const target = activeDropState.target;
640
647
  if (!target || target.type !== "item" || target.dropPosition !== "on") return;
641
648
  if (!state.collection.getItem(target.key)?.hasChildNodes) return;
642
- const currentDirection = ariaProps.direction ?? resolveTreeDirection(ref());
649
+ const currentDirection = ariaProps.direction ?? locale().direction;
643
650
  const expandKey = EXPANSION_KEYS.expand[currentDirection];
644
651
  const collapseKey = EXPANSION_KEYS.collapse[currentDirection];
645
652
  if (event.key === expandKey && !state.isExpanded(target.key)) state.toggleKey(target.key);
646
653
  else if (event.key === collapseKey && state.isExpanded(target.key)) state.toggleKey(target.key);
647
654
  }
648
- }, activeDropState, () => ref());
649
- });
655
+ }, activeDropState, () => ref$1());
656
+ })();
657
+ const droppableCollection = () => droppableCollectionValue;
650
658
  const isRootDropTarget = createMemo(() => {
651
659
  return Boolean(dropState()?.target?.type === "root");
652
660
  });
@@ -661,27 +669,28 @@ function Tree(props) {
661
669
  if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return null;
662
670
  const rows = visibleRows();
663
671
  const baseRange = virtualizer.getVisibleRange(rows.length);
664
- const persistedIndexes = Array.from(persistedKeys()).map((key) => rows.findIndex((node) => node.key === key)).filter((index) => index >= 0);
665
672
  const dropTarget = dropState()?.target;
666
673
  const normalizedDropKey = getNormalizedDropTargetKey(dropTarget, state.collection);
667
- const focusedKey = state.focusedKey;
668
- const focusedIndex = focusedKey != null ? rows.findIndex((node) => node.key === focusedKey) : -1;
669
- const forceIncludeIndexes = [
670
- dropTarget?.type === "item" ? rows.findIndex((node) => node.key === dropTarget.key) : -1,
671
- normalizedDropKey != null ? rows.findIndex((node) => node.key === normalizedDropKey) : -1,
672
- dropTarget?.type === "item" ? -1 : focusedIndex
673
- ].filter((index) => index >= 0);
674
- return mergePersistedKeysIntoVirtualRange(baseRange, persistedIndexes, rows.length, virtualizer, 80, {
674
+ const forceIncludeIndexes = [dropTarget?.type === "item" ? rows.findIndex((node) => node.key === dropTarget.key) : -1, normalizedDropKey != null ? rows.findIndex((node) => node.key === normalizedDropKey) : -1].filter((index) => index >= 0);
675
+ return mergePersistedKeysIntoVirtualRange(baseRange, [], rows.length, virtualizer, 80, {
675
676
  forceIncludeIndexes,
676
677
  forceIncludeMaxSpan: 320
677
678
  });
678
679
  });
680
+ const persistedOutsideIndexes = createMemo(() => {
681
+ const range = virtualRange();
682
+ if (!range) return [];
683
+ const rows = visibleRows();
684
+ const persistedIndexes = Array.from(persistedKeys()).map((key) => rows.findIndex((node) => node.key === key)).filter((index) => index >= 0);
685
+ return indexesOutsideRange(range, persistedIndexes);
686
+ });
679
687
  const virtualizedVisibleRows = createMemo(() => {
680
688
  const range = virtualRange();
681
689
  if (!range) return visibleRows();
682
690
  return visibleRows().slice(range.start, range.end);
683
691
  });
684
- createEffect(() => {
692
+ createTrackedEffect(() => {
693
+ const _s2Cleanups = [];
685
694
  if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return;
686
695
  virtualizer.setDropTargetItemCountResolver(() => visibleRows().length);
687
696
  virtualizer.setDropTargetIndexResolver((key) => {
@@ -698,11 +707,14 @@ function Tree(props) {
698
707
  level: typeof node.level === "number" ? node.level : void 0
699
708
  };
700
709
  });
701
- onCleanup(() => {
710
+ _s2Cleanups.push(() => {
702
711
  virtualizer.setDropTargetIndexResolver(void 0);
703
712
  virtualizer.setDropTargetItemCountResolver(void 0);
704
713
  virtualizer.setDropTargetResolver(void 0);
705
714
  });
715
+ return () => {
716
+ for (const c of _s2Cleanups) c();
717
+ };
706
718
  });
707
719
  const rowIndexByKey = createMemo(() => {
708
720
  const map = /* @__PURE__ */ new Map();
@@ -729,24 +741,29 @@ function Tree(props) {
729
741
  if (!renderRange) return result;
730
742
  return result.filter((index) => index >= renderRange.start && index < renderRange.end);
731
743
  };
732
- createEffect(() => {
744
+ createTrackedEffect(() => {
745
+ const _s2Cleanups = [];
733
746
  if (!virtualizer) return;
734
- const direction = resolveTreeDirection(ref());
747
+ const direction = locale().direction;
735
748
  const treeDelegate = createTreeDropTargetDelegate({
736
749
  getDropTargetFromPoint: parentCollectionRenderer?.dropTargetDelegate?.getDropTargetFromPoint ?? ((_x, _y, _v) => null),
737
750
  getKeyboardNavigationTarget: parentCollectionRenderer?.dropTargetDelegate?.getKeyboardNavigationTarget,
738
751
  getKeyboardPageNavigationTarget: parentCollectionRenderer?.dropTargetDelegate?.getKeyboardPageNavigationTarget
739
752
  }, state, direction, virtualizer.getBaseKeyboardNavigationTarget);
740
753
  virtualizer.setKeyboardNavigationOverride(treeDelegate.getKeyboardNavigationTarget ? (target, dir, isValid) => treeDelegate.getKeyboardNavigationTarget(target, dir, isValid) : void 0);
741
- onCleanup(() => {
754
+ _s2Cleanups.push(() => {
742
755
  virtualizer.setKeyboardNavigationOverride(void 0);
743
756
  });
757
+ return () => {
758
+ for (const c of _s2Cleanups) c();
759
+ };
744
760
  });
745
761
  const collectionRenderer = createMemo(() => ({
746
762
  ...parentCollectionRenderer,
747
763
  renderItem: (item) => item,
748
764
  renderDropIndicator: (index, position) => dndDropIndicator(index, position) ?? parentCollectionRenderer?.renderDropIndicator?.(index, position)
749
765
  }));
766
+ const CollectionRoot = useCollectionRoot();
750
767
  const rootKeyByNodeKey = createMemo(() => {
751
768
  const rootMap = /* @__PURE__ */ new Map();
752
769
  for (const row of visibleRows()) {
@@ -798,7 +815,6 @@ function Tree(props) {
798
815
  });
799
816
  const renderTreeRow = (node, itemIndex) => {
800
817
  const beforeIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex, "before");
801
- const onIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex, "on");
802
818
  const afterIndicatorIndexes = () => getAfterIndicatorIndexes(itemIndex, renderRange());
803
819
  const itemData = treeItemDataFromNode(node);
804
820
  const itemState = {
@@ -808,8 +824,9 @@ function Tree(props) {
808
824
  };
809
825
  return [
810
826
  memo(beforeIndicator),
811
- memo(onIndicator),
812
- memo(() => props.children(itemData, itemState)),
827
+ memo(() => {
828
+ return props.children(itemData, itemState);
829
+ }),
813
830
  createComponent(For, {
814
831
  get each() {
815
832
  return afterIndicatorIndexes();
@@ -818,146 +835,238 @@ function Tree(props) {
818
835
  })
819
836
  ];
820
837
  };
821
- return createComponent(TreeContext.Provider, {
838
+ return createComponent(TreeContext, {
822
839
  get value() {
823
840
  return contextValue();
824
841
  },
825
842
  get children() {
826
- return createComponent(TreeStateContext.Provider, {
843
+ return createComponent(TreeStateContext, {
827
844
  value: state,
828
845
  get children() {
829
- return createComponent(CollectionRendererContext.Provider, {
846
+ return createComponent(CollectionRendererContext, {
830
847
  get value() {
831
848
  return collectionRenderer();
832
849
  },
833
850
  get children() {
834
- 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);
835
- use((element) => {
836
- setRef(element);
837
- assignRef(local.ref, element);
851
+ var _el$ = getNextElement(_tmpl$);
852
+ var _el$2 = _el$.firstChild;
853
+ var [_el$3, _el$4] = getNextMarker(_el$2.nextSibling);
854
+ var _el$5 = _el$3.nextSibling;
855
+ var [_el$6, _el$7] = getNextMarker(_el$5.nextSibling);
856
+ ref(() => {
857
+ return (element) => {
858
+ setRef(element);
859
+ assignRef$1(local.ref, element);
860
+ };
838
861
  }, _el$);
839
- spread(_el$, mergeProps(() => mergeProps$2(domProps(), cleanTreeProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {}), {
840
- get ["class"]() {
862
+ spread(_el$, [() => {
863
+ return mergeProps$1(domProps(), cleanTreeProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {});
864
+ }, {
865
+ get "class"() {
841
866
  return renderProps.class();
842
867
  },
843
868
  get style() {
844
869
  return renderProps.style();
845
870
  },
846
- get ["data-focused"]() {
847
- return state.isFocused || void 0;
871
+ get "data-focused"() {
872
+ return dataAttr(state.isFocused);
848
873
  },
849
- get ["data-focus-visible"]() {
850
- return isFocusVisible() || void 0;
874
+ get "data-focus-visible"() {
875
+ return dataAttr(isFocusVisible());
851
876
  },
852
- get ["data-disabled"]() {
853
- return ariaProps.isDisabled || void 0;
877
+ get "data-disabled"() {
878
+ return dataAttr(ariaProps.isDisabled);
854
879
  },
855
- get ["data-empty"]() {
856
- return isEmpty() || void 0;
880
+ get "data-empty"() {
881
+ return dataAttr(isEmpty());
857
882
  },
858
- get ["data-drop-target"]() {
859
- return isRootDropTarget() || void 0;
883
+ get "data-drop-target"() {
884
+ return dataAttr(isRootDropTarget());
860
885
  },
861
- get ["data-selection-mode"]() {
862
- return memo(() => stateProps.selectionMode !== "none")() ? stateProps.selectionMode : void 0;
886
+ get "data-selection-mode"() {
887
+ return stateProps.selectionMode !== "none" ? stateProps.selectionMode : void 0;
863
888
  },
864
- get ["data-allows-dragging"]() {
865
- return hasDraggableDnd() || void 0;
889
+ get "data-allows-dragging"() {
890
+ return dataAttr(hasDraggableDnd());
866
891
  }
867
- }), false, true);
892
+ }], true);
868
893
  insert(_el$, createComponent(SharedElementTransition, { get children() {
869
- return memo(() => !!(isEmpty() && local.renderEmptyState))() ? (() => {
870
- var _el$6 = getNextElement(_tmpl$2), _el$7 = _el$6.firstChild;
871
- insert(_el$7, () => local.renderEmptyState());
872
- return _el$6;
873
- })() : [
874
- memo(() => memo(() => !!virtualRange()?.offsetTop)() ? (() => {
875
- var _el$8 = getNextElement(_tmpl$3);
876
- effect((_$p) => setStyleProperty(_el$8, "height", `${virtualRange().offsetTop}px`));
877
- return _el$8;
878
- })() : null),
879
- createComponent(Show, {
880
- get when() {
881
- return hasSections();
882
- },
883
- get fallback() {
884
- return createComponent(For, {
885
- get each() {
886
- return renderableRows();
887
- },
888
- children: (row) => renderTreeRow(row.node, row.globalIndex)
889
- });
890
- },
891
- get children() {
892
- return createComponent(For, {
893
- get each() {
894
- return sectionedRenderableRows() ?? [];
895
- },
896
- children: (entry) => createComponent(Show, {
897
- get when() {
898
- return entry.rows.length > 0;
894
+ return memo(() => {
895
+ return !!(isEmpty() && local.renderEmptyState);
896
+ })() ? (() => {
897
+ var _el$8 = getNextElement(_tmpl$2);
898
+ var _el$9 = _el$8.firstChild;
899
+ insert(_el$9, scope(() => {
900
+ return local.renderEmptyState();
901
+ }));
902
+ return _el$8;
903
+ })() : memo(() => {
904
+ return !!parentCollectionRenderer?.isVirtualized;
905
+ })() ? createComponent(CollectionRoot, {
906
+ get collection() {
907
+ return memo(() => {
908
+ return !!virtualRange();
909
+ })() ? visibleRows() : [];
910
+ },
911
+ scrollRef: () => ref$1(),
912
+ get persistedKeys() {
913
+ return persistedKeys();
914
+ },
915
+ get children() {
916
+ return [createComponent(Show, {
917
+ get when() {
918
+ return hasSections();
919
+ },
920
+ get fallback() {
921
+ return createComponent(For, {
922
+ get each() {
923
+ return renderableRows();
899
924
  },
900
- get children() {
901
- return createComponent(Show, {
902
- get when() {
903
- return entry.type === "section";
904
- },
905
- get fallback() {
906
- return createComponent(For, {
907
- get each() {
908
- return entry.rows;
909
- },
910
- children: (row) => renderTreeRow(row.node, row.globalIndex)
911
- });
912
- },
913
- get children() {
914
- return createComponent(TreeSection, { get children() {
915
- return [memo(() => memo(() => !!(entry.type === "section" && entry.section.title))() ? createComponent(TreeHeader, { get children() {
916
- return entry.section.title;
917
- } }) : null), createComponent(For, {
925
+ children: (row) => renderTreeRow(row.node, row.globalIndex)
926
+ });
927
+ },
928
+ get children() {
929
+ return createComponent(For, {
930
+ get each() {
931
+ return sectionedRenderableRows() ?? [];
932
+ },
933
+ children: (entry) => createComponent(Show, {
934
+ get when() {
935
+ return entry.rows.length > 0;
936
+ },
937
+ get children() {
938
+ return createComponent(Show, {
939
+ get when() {
940
+ return entry.type === "section";
941
+ },
942
+ get fallback() {
943
+ return createComponent(For, {
918
944
  get each() {
919
945
  return entry.rows;
920
946
  },
921
947
  children: (row) => renderTreeRow(row.node, row.globalIndex)
922
- })];
923
- } });
924
- }
925
- });
948
+ });
949
+ },
950
+ get children() {
951
+ return createComponent(TreeSection, { get children() {
952
+ return [memo(() => {
953
+ return memo(() => {
954
+ return !!(entry.type === "section" && entry.section.title);
955
+ })() ? createComponent(TreeHeader, { get children() {
956
+ return entry.section.title;
957
+ } }) : null;
958
+ }), createComponent(For, {
959
+ get each() {
960
+ return entry.rows;
961
+ },
962
+ children: (row) => renderTreeRow(row.node, row.globalIndex)
963
+ })];
964
+ } });
965
+ }
966
+ });
967
+ }
968
+ })
969
+ });
970
+ }
971
+ }), createComponent(For, {
972
+ get each() {
973
+ return persistedOutsideIndexes();
974
+ },
975
+ children: (index) => {
976
+ const node = visibleRows()[index];
977
+ return node ? createComponent(PersistedVirtualItem, {
978
+ index,
979
+ get children() {
980
+ return renderTreeRow(node, index);
926
981
  }
927
- })
928
- });
929
- }
930
- }),
931
- memo(() => memo(() => !!virtualRange()?.offsetBottom)() ? (() => {
932
- var _el$9 = getNextElement(_tmpl$4);
933
- effect((_$p) => setStyleProperty(_el$9, "height", `${virtualRange().offsetBottom}px`));
934
- return _el$9;
935
- })() : null)
936
- ];
937
- } }), _el$3, _co$);
938
- insert(_el$, (() => {
939
- var _c$ = memo(() => !!(local.hasMore && local.onLoadMore));
940
- return () => _c$() && createComponent(TreeLoadMoreItem, {
941
- get onLoadMore() {
942
- return local.onLoadMore;
943
- },
944
- get isLoading() {
945
- return local.isLoading;
946
- },
947
- get loadingState() {
948
- return local.loadingState;
949
- },
950
- get ["class"]() {
951
- return local.loadMoreClass;
982
+ }) : null;
983
+ }
984
+ })];
985
+ }
986
+ }) : createComponent(Show, {
987
+ get when() {
988
+ return hasSections();
952
989
  },
953
- get style() {
954
- return local.loadMoreStyle;
990
+ get fallback() {
991
+ return createComponent(For, {
992
+ get each() {
993
+ return renderableRows();
994
+ },
995
+ children: (row) => renderTreeRow(row.node, row.globalIndex)
996
+ });
955
997
  },
956
998
  get children() {
957
- return local.renderLoadMoreItem?.({ isLoading: !!local.isLoading || local.loadingState === "loading" || local.loadingState === "loadingMore" });
999
+ return createComponent(For, {
1000
+ get each() {
1001
+ return sectionedRenderableRows() ?? [];
1002
+ },
1003
+ children: (entry) => createComponent(Show, {
1004
+ get when() {
1005
+ return entry.rows.length > 0;
1006
+ },
1007
+ get children() {
1008
+ return createComponent(Show, {
1009
+ get when() {
1010
+ return entry.type === "section";
1011
+ },
1012
+ get fallback() {
1013
+ return createComponent(For, {
1014
+ get each() {
1015
+ return entry.rows;
1016
+ },
1017
+ children: (row) => renderTreeRow(row.node, row.globalIndex)
1018
+ });
1019
+ },
1020
+ get children() {
1021
+ return createComponent(TreeSection, { get children() {
1022
+ return [memo(() => {
1023
+ return memo(() => {
1024
+ return !!(entry.type === "section" && entry.section.title);
1025
+ })() ? createComponent(TreeHeader, { get children() {
1026
+ return entry.section.title;
1027
+ } }) : null;
1028
+ }), createComponent(For, {
1029
+ get each() {
1030
+ return entry.rows;
1031
+ },
1032
+ children: (row) => renderTreeRow(row.node, row.globalIndex)
1033
+ })];
1034
+ } });
1035
+ }
1036
+ });
1037
+ }
1038
+ })
1039
+ });
958
1040
  }
959
1041
  });
960
- })(), _el$5, _co$2);
1042
+ } }), _el$3, _el$4);
1043
+ insert(_el$, scope((() => {
1044
+ var _c$ = memo(() => {
1045
+ return !!(local.hasMore && local.onLoadMore);
1046
+ });
1047
+ return () => {
1048
+ return _c$() ? createComponent(TreeLoadMoreItem, {
1049
+ get onLoadMore() {
1050
+ return local.onLoadMore;
1051
+ },
1052
+ get isLoading() {
1053
+ return local.isLoading;
1054
+ },
1055
+ get loadingState() {
1056
+ return local.loadingState;
1057
+ },
1058
+ get "class"() {
1059
+ return local.loadMoreClass;
1060
+ },
1061
+ get style() {
1062
+ return local.loadMoreStyle;
1063
+ },
1064
+ get children() {
1065
+ return local.renderLoadMoreItem?.({ isLoading: !!local.isLoading || local.loadingState === "loading" || local.loadingState === "loadingMore" });
1066
+ }
1067
+ }) : local.hasMore && local.onLoadMore;
1068
+ };
1069
+ })()), _el$6, _el$7);
961
1070
  runHydrationEvents();
962
1071
  return _el$;
963
1072
  }
@@ -1005,10 +1114,12 @@ function TreeItem(props) {
1005
1114
  ping: local.ping,
1006
1115
  referrerPolicy: local.referrerPolicy
1007
1116
  }));
1008
- const [ref, setRef] = createSignal(null);
1117
+ const [ref$2, setRef] = createSignal(null);
1009
1118
  const setItemRef = (element) => {
1010
1119
  setRef(element);
1011
- assignRef(local.ref, element);
1120
+ assignRef$1(local.ref, element);
1121
+ const dragRef = (draggableItem()?.dragProps)?.ref;
1122
+ if (typeof dragRef === "function") dragRef(element);
1012
1123
  };
1013
1124
  const itemNode = createMemo(() => {
1014
1125
  const node = state.collection.getItem(local.id);
@@ -1033,7 +1144,7 @@ function TreeItem(props) {
1033
1144
  onAction: local.onAction,
1034
1145
  isDisabled: local.isDisabled,
1035
1146
  textValue: local.textValue
1036
- }), () => state, ref);
1147
+ }), () => state, ref$2);
1037
1148
  const isSelected = () => treeItemAria.isSelected;
1038
1149
  const isDisabled = () => treeItemAria.isDisabled;
1039
1150
  const isPressed = () => treeItemAria.isPressed;
@@ -1051,7 +1162,7 @@ function TreeItem(props) {
1051
1162
  });
1052
1163
  const droppableItem = createMemo(() => {
1053
1164
  if (!treeContext?.dragAndDropHooks?.useDroppableItem || !treeContext.dropState) return void 0;
1054
- return treeContext.dragAndDropHooks.useDroppableItem({ key: local.id }, treeContext.dropState, () => ref());
1165
+ return treeContext.dragAndDropHooks.useDroppableItem({ key: local.id }, treeContext.dropState, () => ref$2());
1055
1166
  });
1056
1167
  const renderValues = createMemo(() => ({
1057
1168
  isSelected: isSelected(),
@@ -1096,19 +1207,23 @@ function TreeItem(props) {
1096
1207
  "--tree-item-level": String(level()),
1097
1208
  ...typeof renderProps.style() === "object" ? renderProps.style() : {}
1098
1209
  });
1099
- const rowContent = () => createComponent(TreeItemContentContext.Provider, {
1210
+ const rowContent = () => createComponent(TreeItemContentContext, {
1100
1211
  get value() {
1101
1212
  return renderValues();
1102
1213
  },
1103
1214
  get children() {
1104
- var _el$0 = getNextElement(_tmpl$5);
1105
- spread(_el$0, mergeProps(() => treeItemAria.gridCellProps, { "class": "solidaria-Tree-item-content" }), false, true);
1106
- insert(_el$0, () => renderProps.renderChildren());
1215
+ var _el$10 = getNextElement(_tmpl$3);
1216
+ spread(_el$10, [() => {
1217
+ return treeItemAria.gridCellProps;
1218
+ }, { class: "solidaria-Tree-item-content" }], true);
1219
+ insert(_el$10, scope(() => {
1220
+ return renderProps.renderChildren();
1221
+ }));
1107
1222
  runHydrationEvents();
1108
- return _el$0;
1223
+ return _el$10;
1109
1224
  }
1110
1225
  });
1111
- const mergedRowProps = () => mergeProps$2(cleanRowProps(), cleanHoverProps(), cleanFocusProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {});
1226
+ const mergedRowProps = () => mergeProps$1(cleanRowProps(), cleanHoverProps(), cleanFocusProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {});
1112
1227
  const onLinkedRowClick = (event) => {
1113
1228
  const onClick = mergedRowProps().onClick;
1114
1229
  onClick?.(event);
@@ -1129,63 +1244,72 @@ function TreeItem(props) {
1129
1244
  "data-ping": linkProps().ping,
1130
1245
  "data-referrer-policy": referrerPolicyAttr()
1131
1246
  } : {};
1132
- return createComponent(TreeItemContext.Provider, {
1247
+ return createComponent(TreeItemContext, {
1133
1248
  get value() {
1134
1249
  return itemContextValue();
1135
1250
  },
1136
1251
  get children() {
1137
- var _el$1 = getNextElement(_tmpl$5);
1138
- use(setItemRef, _el$1);
1139
- spread(_el$1, mergeProps(domProps, mergedRowProps, linkedRowDomProps, {
1140
- get ["class"]() {
1141
- return renderProps.class();
1142
- },
1143
- get style() {
1144
- return rowStyle();
1145
- },
1146
- get ["data-selected"]() {
1147
- return isSelected() || void 0;
1148
- },
1149
- get ["data-focused"]() {
1150
- return isFocused() || void 0;
1151
- },
1152
- get ["data-focus-visible"]() {
1153
- return memo(() => !!isFocusVisible())() && isFocused() || void 0;
1154
- },
1155
- get ["data-pressed"]() {
1156
- return isPressed() || void 0;
1157
- },
1158
- get ["data-hovered"]() {
1159
- return isHovered() || void 0;
1160
- },
1161
- get ["data-disabled"]() {
1162
- return isDisabled() || void 0;
1163
- },
1164
- get ["data-expanded"]() {
1165
- return isExpanded() || void 0;
1166
- },
1167
- get ["data-expandable"]() {
1168
- return isExpandable() || void 0;
1169
- },
1170
- get ["data-has-child-items"]() {
1171
- return isExpandable() || void 0;
1172
- },
1173
- get ["data-level"]() {
1174
- return level();
1175
- },
1176
- get ["data-selection-mode"]() {
1177
- return memo(() => treeContext?.state.selectionMode !== "none")() ? treeContext?.state.selectionMode : void 0;
1178
- },
1179
- get ["data-dragging"]() {
1180
- return draggableItem()?.isDragging || void 0;
1181
- },
1182
- get ["data-drop-target"]() {
1183
- return droppableItem()?.isDropTarget || void 0;
1252
+ var _el$11 = getNextElement(_tmpl$3);
1253
+ ref(() => {
1254
+ return setItemRef;
1255
+ }, _el$11);
1256
+ spread(_el$11, [
1257
+ domProps,
1258
+ mergedRowProps,
1259
+ linkedRowDomProps,
1260
+ {
1261
+ get "class"() {
1262
+ return renderProps.class();
1263
+ },
1264
+ get style() {
1265
+ return rowStyle();
1266
+ },
1267
+ get "data-selected"() {
1268
+ return dataAttr(isSelected());
1269
+ },
1270
+ get "data-focused"() {
1271
+ return dataAttr(isFocused());
1272
+ },
1273
+ get "data-focus-visible"() {
1274
+ return dataAttr(isFocusVisible() && isFocused());
1275
+ },
1276
+ get "data-pressed"() {
1277
+ return dataAttr(isPressed());
1278
+ },
1279
+ get "data-hovered"() {
1280
+ return dataAttr(isHovered());
1281
+ },
1282
+ get "data-disabled"() {
1283
+ return dataAttr(isDisabled());
1284
+ },
1285
+ get "data-expanded"() {
1286
+ return dataAttr(isExpanded());
1287
+ },
1288
+ get "data-expandable"() {
1289
+ return dataAttr(isExpandable());
1290
+ },
1291
+ get "data-has-child-items"() {
1292
+ return dataAttr(isExpandable());
1293
+ },
1294
+ get "data-level"() {
1295
+ return level();
1296
+ },
1297
+ get "data-selection-mode"() {
1298
+ return treeContext?.state.selectionMode !== "none" ? treeContext?.state.selectionMode : void 0;
1299
+ },
1300
+ get "data-dragging"() {
1301
+ return dataAttr(draggableItem()?.isDragging);
1302
+ },
1303
+ get "data-drop-target"() {
1304
+ return dataAttr(droppableItem()?.isDropTarget);
1305
+ }
1184
1306
  }
1185
- }), false, true);
1186
- insert(_el$1, rowContent);
1307
+ ], true);
1308
+ insert(_el$11, scope(() => {
1309
+ return rowContent();
1310
+ }));
1187
1311
  runHydrationEvents();
1188
- return _el$1;
1312
+ return _el$11;
1189
1313
  }
1190
1314
  });
1191
1315
  }
@@ -1218,21 +1342,27 @@ function TreeExpandButton(props) {
1218
1342
  return itemContext.isExpandable;
1219
1343
  },
1220
1344
  get children() {
1221
- var _el$10 = getNextElement(_tmpl$6);
1222
- spread(_el$10, mergeProps(cleanExpandProps, dataProps, {
1223
- get ["class"]() {
1224
- return props.class ?? "solidaria-Tree-expand-button";
1225
- },
1226
- get style() {
1227
- return props.style;
1228
- },
1229
- get ["data-expanded"]() {
1230
- return isExpanded() || void 0;
1345
+ var _el$12 = getNextElement(_tmpl$4);
1346
+ spread(_el$12, [
1347
+ cleanExpandProps,
1348
+ dataProps,
1349
+ {
1350
+ get "class"() {
1351
+ return props.class ?? "solidaria-Tree-expand-button";
1352
+ },
1353
+ get style() {
1354
+ return props.style;
1355
+ },
1356
+ get "data-expanded"() {
1357
+ return dataAttr(isExpanded());
1358
+ }
1231
1359
  }
1232
- }), false, true);
1233
- insert(_el$10, renderChildren);
1360
+ ], true);
1361
+ insert(_el$12, scope(() => {
1362
+ return renderChildren();
1363
+ }));
1234
1364
  runHydrationEvents();
1235
- return _el$10;
1365
+ return _el$12;
1236
1366
  }
1237
1367
  });
1238
1368
  }
@@ -1244,29 +1374,30 @@ function TreeSelectionCheckbox(props) {
1244
1374
  if (!context) throw new Error("TreeSelectionCheckbox must be used within a Tree");
1245
1375
  const state = context;
1246
1376
  const treeSelectionCheckboxAria = createTreeSelectionCheckbox(() => ({ key: props.itemKey }), () => state);
1247
- return (() => {
1248
- var _el$11 = getNextElement(_tmpl$7);
1249
- spread(_el$11, mergeProps(() => treeSelectionCheckboxAria.checkboxProps, {
1250
- get ["class"]() {
1251
- return props.class ?? "solidaria-Tree-checkbox";
1252
- },
1253
- get style() {
1254
- return props.style;
1255
- },
1256
- get tabIndex() {
1257
- return props.excludeFromTabOrder ? -1 : 0;
1258
- },
1259
- get ["aria-label"]() {
1260
- return props["aria-label"] ?? treeSelectionCheckboxAria.checkboxProps["aria-label"];
1261
- }
1262
- }), false, false);
1263
- runHydrationEvents();
1264
- return _el$11;
1265
- })();
1377
+ var _el$13 = getNextElement(_tmpl$5);
1378
+ spread(_el$13, [() => {
1379
+ return treeSelectionCheckboxAria.checkboxProps;
1380
+ }, {
1381
+ get "class"() {
1382
+ return props.class ?? "solidaria-Tree-checkbox";
1383
+ },
1384
+ get style() {
1385
+ return props.style;
1386
+ },
1387
+ get tabindex() {
1388
+ return props.excludeFromTabOrder ? -1 : 0;
1389
+ },
1390
+ get "aria-label"() {
1391
+ return props["aria-label"] ?? treeSelectionCheckboxAria.checkboxProps["aria-label"];
1392
+ }
1393
+ }], false);
1394
+ runHydrationEvents();
1395
+ return _el$13;
1266
1396
  }
1267
1397
  function TreeLoadMoreItem(props) {
1268
- let sentinelRef;
1398
+ const [sentinel, setSentinel] = createSignal();
1269
1399
  const [isPending, setIsPending] = createSignal(false);
1400
+ const scrollOffsetValue = createMemo(() => props.scrollOffset ?? 1);
1270
1401
  const isLoading = () => !!props.isLoading || props.loadingState === "loading" || props.loadingState === "loadingMore" || isPending();
1271
1402
  const triggerLoadMore = async () => {
1272
1403
  if (isLoading()) return;
@@ -1277,13 +1408,16 @@ function TreeLoadMoreItem(props) {
1277
1408
  setIsPending(false);
1278
1409
  }
1279
1410
  };
1280
- createEffect(() => {
1281
- if (!sentinelRef || typeof IntersectionObserver !== "function") return;
1282
- const margin = `0px 0px ${100 * (props.scrollOffset ?? 1)}% 0px`;
1411
+ createEffect(() => ({
1412
+ current: sentinel(),
1413
+ scrollOffset: scrollOffsetValue()
1414
+ }), ({ current, scrollOffset }) => {
1415
+ if (!current || typeof IntersectionObserver !== "function") return;
1416
+ const margin = `0px 0px ${100 * scrollOffset}% 0px`;
1283
1417
  const observer = new IntersectionObserver((entries) => {
1284
1418
  if (entries[0]?.isIntersecting) triggerLoadMore();
1285
1419
  }, { rootMargin: margin });
1286
- observer.observe(sentinelRef);
1420
+ observer.observe(current);
1287
1421
  return () => observer.disconnect();
1288
1422
  });
1289
1423
  const renderProps = useRenderProps({
@@ -1295,39 +1429,44 @@ function TreeLoadMoreItem(props) {
1295
1429
  defaultClassName: "solidaria-Tree-loadMore"
1296
1430
  }, () => ({ isLoading: isLoading() }));
1297
1431
  return [(() => {
1298
- var _el$12 = getNextElement(_tmpl$8), _el$13 = _el$12.firstChild;
1299
- var _ref$ = sentinelRef;
1300
- typeof _ref$ === "function" ? use(_ref$, _el$13) : sentinelRef = _el$13;
1301
- return _el$12;
1432
+ var _el$14 = getNextElement(_tmpl$6);
1433
+ var _el$15 = _el$14.firstChild;
1434
+ ref(() => {
1435
+ return setSentinel;
1436
+ }, _el$15);
1437
+ return _el$14;
1302
1438
  })(), (() => {
1303
- var _el$14 = getNextElement(_tmpl$9), _el$15 = _el$14.firstChild;
1304
- _el$14.$$focusin = () => {
1439
+ var _el$16 = getNextElement(_tmpl$7);
1440
+ var _el$17 = _el$16.firstChild;
1441
+ _el$16._$$focusin = () => {
1305
1442
  triggerLoadMore();
1306
1443
  };
1307
- _el$14.addEventListener("focus", () => {
1444
+ _el$16.addEventListener("focus", () => {
1308
1445
  triggerLoadMore();
1309
1446
  });
1310
- _el$15.addEventListener("focus", () => {
1447
+ _el$17.addEventListener("focus", () => {
1311
1448
  triggerLoadMore();
1312
1449
  });
1313
- insert(_el$15, () => renderProps.renderChildren());
1314
- effect((_p$) => {
1315
- var _v$ = props.level ?? 1, _v$2 = renderProps.class(), _v$3 = renderProps.style(), _v$4 = isLoading() || void 0, _v$5 = props.level ?? 1;
1316
- _v$ !== _p$.e && setAttribute(_el$14, "aria-level", _p$.e = _v$);
1317
- _v$2 !== _p$.t && className(_el$14, _p$.t = _v$2);
1318
- _p$.a = style(_el$14, _v$3, _p$.a);
1319
- _v$4 !== _p$.o && setAttribute(_el$14, "data-loading", _p$.o = _v$4);
1320
- _v$5 !== _p$.i && setAttribute(_el$14, "data-level", _p$.i = _v$5);
1321
- return _p$;
1322
- }, {
1323
- e: void 0,
1324
- t: void 0,
1325
- a: void 0,
1326
- o: void 0,
1327
- i: void 0
1450
+ insert(_el$17, scope(() => {
1451
+ return renderProps.renderChildren();
1452
+ }));
1453
+ effect(() => {
1454
+ return {
1455
+ e: props.level ?? 1,
1456
+ t: readShallow(renderProps.class()),
1457
+ a: readShallow(renderProps.style()),
1458
+ o: dataAttr(isLoading()),
1459
+ i: props.level ?? 1
1460
+ };
1461
+ }, ({ e, t, a, o, i }, _p$) => {
1462
+ e !== _p$?.e && setAttribute(_el$16, "aria-level", e);
1463
+ className(_el$16, t, _p$?.t);
1464
+ style(_el$16, a, _p$?.a);
1465
+ o !== _p$?.o && setAttribute(_el$16, "data-loading", o);
1466
+ i !== _p$?.i && setAttribute(_el$16, "data-level", i);
1328
1467
  });
1329
1468
  runHydrationEvents();
1330
- return _el$14;
1469
+ return _el$16;
1331
1470
  })()];
1332
1471
  }
1333
1472
  function TreeItemContent(props) {
@@ -1336,7 +1475,9 @@ function TreeItemContent(props) {
1336
1475
  const renderProps = useRenderProps({ get children() {
1337
1476
  return props.children;
1338
1477
  } }, () => context);
1339
- return memo(() => renderProps.renderChildren());
1478
+ return memo(() => {
1479
+ return renderProps.renderChildren();
1480
+ });
1340
1481
  }
1341
1482
  /**
1342
1483
  * A section within a Tree. Renders as `role="rowgroup"` and supplies its
@@ -1362,11 +1503,17 @@ function TreeSection(props) {
1362
1503
  defaultClassName: "solidaria-TreeSection"
1363
1504
  }, () => ({ hasChildren: true }));
1364
1505
  const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));
1365
- return (() => {
1366
- var _el$16 = getNextElement(_tmpl$5);
1367
- use((el) => assignRef(local.ref, el), _el$16);
1368
- spread(_el$16, mergeProps(filteredDomProps, () => section.rowGroupProps, {
1369
- get ["class"]() {
1506
+ var _el$18 = getNextElement(_tmpl$3);
1507
+ ref(() => {
1508
+ return (el) => assignRef$1(local.ref, el);
1509
+ }, _el$18);
1510
+ spread(_el$18, [
1511
+ filteredDomProps,
1512
+ () => {
1513
+ return section.rowGroupProps;
1514
+ },
1515
+ {
1516
+ get "class"() {
1370
1517
  return renderProps.class();
1371
1518
  },
1372
1519
  get style() {
@@ -1375,26 +1522,26 @@ function TreeSection(props) {
1375
1522
  get slot() {
1376
1523
  return local.slot;
1377
1524
  },
1378
- "data-section": ""
1379
- }), false, true);
1380
- insert(_el$16, createComponent(GridListHeaderContext.Provider, {
1381
- get value() {
1382
- return section.rowProps;
1383
- },
1384
- get children() {
1385
- return createComponent(GridListHeaderInnerContext.Provider, {
1386
- get value() {
1387
- return section.rowHeaderProps;
1388
- },
1389
- get children() {
1390
- return local.children;
1391
- }
1392
- });
1393
- }
1394
- }));
1395
- runHydrationEvents();
1396
- return _el$16;
1397
- })();
1525
+ "data-section": true
1526
+ }
1527
+ ], true);
1528
+ insert(_el$18, createComponent(GridListHeaderContext, {
1529
+ get value() {
1530
+ return section.rowProps;
1531
+ },
1532
+ get children() {
1533
+ return createComponent(GridListHeaderInnerContext, {
1534
+ get value() {
1535
+ return section.rowHeaderProps;
1536
+ },
1537
+ get children() {
1538
+ return local.children;
1539
+ }
1540
+ });
1541
+ }
1542
+ }));
1543
+ runHydrationEvents();
1544
+ return _el$18;
1398
1545
  }
1399
1546
  /**
1400
1547
  * The header of a {@link TreeSection}. Mirrors upstream `TreeHeader`, which is a
@@ -1402,7 +1549,7 @@ function TreeSection(props) {
1402
1549
  * rowheader semantics come from the enclosing section through context.
1403
1550
  */
1404
1551
  function TreeHeader(props) {
1405
- return createComponent(GridListHeader, mergeProps({ "class": "solidaria-TreeHeader" }, props, { get children() {
1552
+ return createComponent(GridListHeader, mergeProps({ class: "solidaria-TreeHeader" }, props, { get children() {
1406
1553
  return props.children;
1407
1554
  } }));
1408
1555
  }
@@ -1419,6 +1566,6 @@ function areSetsEqual(a, b) {
1419
1566
  }
1420
1567
  delegateEvents(["focusin"]);
1421
1568
  //#endregion
1422
- export { Tree, TreeContext, TreeExpandButton, TreeHeader, TreeItem, TreeItemContent, TreeItemContext, TreeLoadMoreItem, TreeSection, TreeSelectionCheckbox, TreeStateContext };
1569
+ export { Tree, TreeContext, TreeExpandButton, TreeHeader, TreeItem, TreeItemContent, TreeItemContext, TreeLoadMoreItem, TreeSection, TreeSelectionCheckbox, TreeStateContext, createTreeDropTargetDelegate };
1423
1570
 
1424
1571
  //# sourceMappingURL=Tree.js.map