@proyecto-viviana/solidaria-components 0.5.0 → 0.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +4 -7
  4. package/dist/ActionBar.d.ts +2 -10
  5. package/dist/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar.js +95 -59
  7. package/dist/ActionBar.js.map +1 -1
  8. package/dist/ActionBar.jsx +42 -15
  9. package/dist/ActionBar.jsx.map +1 -1
  10. package/dist/ActionGroup.d.ts +1 -12
  11. package/dist/ActionGroup.d.ts.map +1 -1
  12. package/dist/ActionGroup.js +66 -44
  13. package/dist/ActionGroup.js.map +1 -1
  14. package/dist/ActionGroup.jsx +25 -10
  15. package/dist/ActionGroup.jsx.map +1 -1
  16. package/dist/Alert.d.ts +4 -1
  17. package/dist/Alert.d.ts.map +1 -1
  18. package/dist/Alert.js +25 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +9 -5
  21. package/dist/Alert.jsx.map +1 -1
  22. package/dist/Autocomplete.d.ts +2 -9
  23. package/dist/Autocomplete.d.ts.map +1 -1
  24. package/dist/Autocomplete.js +18 -5
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +20 -7
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -7
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +71 -51
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +25 -12
  33. package/dist/Breadcrumbs.jsx.map +1 -1
  34. package/dist/Button.d.ts +1 -7
  35. package/dist/Button.d.ts.map +1 -1
  36. package/dist/Button.js +125 -72
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +105 -43
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +1 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +297 -221
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +52 -32
  45. package/dist/Calendar.jsx.map +1 -1
  46. package/dist/CalendarPicker.d.ts +1 -10
  47. package/dist/CalendarPicker.d.ts.map +1 -1
  48. package/dist/CalendarPicker.js +12 -0
  49. package/dist/CalendarPicker.js.map +1 -1
  50. package/dist/CalendarPicker.jsx +12 -0
  51. package/dist/CalendarPicker.jsx.map +1 -1
  52. package/dist/Checkbox.d.ts +2 -7
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +332 -270
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +70 -77
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +33 -7
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +128 -74
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +46 -7
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +15 -20
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +572 -334
  67. package/dist/Color.js.map +1 -1
  68. package/dist/Color.jsx +205 -85
  69. package/dist/Color.jsx.map +1 -1
  70. package/dist/ColorEditor.d.ts +3 -1
  71. package/dist/ColorEditor.d.ts.map +1 -1
  72. package/dist/ColorEditor.js +147 -124
  73. package/dist/ColorEditor.js.map +1 -1
  74. package/dist/ColorEditor.jsx +4 -1
  75. package/dist/ColorEditor.jsx.map +1 -1
  76. package/dist/ComboBox.d.ts +31 -10
  77. package/dist/ComboBox.d.ts.map +1 -1
  78. package/dist/ComboBox.js +539 -274
  79. package/dist/ComboBox.js.map +1 -1
  80. package/dist/ComboBox.jsx +213 -70
  81. package/dist/ComboBox.jsx.map +1 -1
  82. package/dist/ContextualHelpTrigger.d.ts +1 -7
  83. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  84. package/dist/ContextualHelpTrigger.js +102 -72
  85. package/dist/ContextualHelpTrigger.js.map +1 -1
  86. package/dist/ContextualHelpTrigger.jsx +36 -16
  87. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  88. package/dist/DateField.d.ts +2 -7
  89. package/dist/DateField.d.ts.map +1 -1
  90. package/dist/DateField.js +0 -2
  91. package/dist/DateField.jsx +0 -2
  92. package/dist/DateField2.js +194 -179
  93. package/dist/DateField2.js.map +1 -1
  94. package/dist/DateField2.jsx +58 -55
  95. package/dist/DateField2.jsx.map +1 -1
  96. package/dist/DatePicker.d.ts +7 -7
  97. package/dist/DatePicker.d.ts.map +1 -1
  98. package/dist/DatePicker.js +2 -2
  99. package/dist/DatePicker.jsx +2 -2
  100. package/dist/DatePicker2.js +357 -435
  101. package/dist/DatePicker2.js.map +1 -1
  102. package/dist/DatePicker2.jsx +109 -178
  103. package/dist/DatePicker2.jsx.map +1 -1
  104. package/dist/DateRangePickerContext.d.ts +7 -0
  105. package/dist/DateRangePickerContext.d.ts.map +1 -1
  106. package/dist/Dialog.d.ts +4 -9
  107. package/dist/Dialog.d.ts.map +1 -1
  108. package/dist/Dialog.js +168 -101
  109. package/dist/Dialog.js.map +1 -1
  110. package/dist/Dialog.jsx +75 -27
  111. package/dist/Dialog.jsx.map +1 -1
  112. package/dist/Disclosure.d.ts +1 -9
  113. package/dist/Disclosure.d.ts.map +1 -1
  114. package/dist/Disclosure.js +121 -79
  115. package/dist/Disclosure.js.map +1 -1
  116. package/dist/Disclosure.jsx +32 -19
  117. package/dist/Disclosure.jsx.map +1 -1
  118. package/dist/DragAndDrop.d.ts +9 -6
  119. package/dist/DragAndDrop.d.ts.map +1 -1
  120. package/dist/DragAndDrop.js +37 -22
  121. package/dist/DragAndDrop.js.map +1 -1
  122. package/dist/DragAndDrop.jsx +20 -4
  123. package/dist/DragAndDrop.jsx.map +1 -1
  124. package/dist/DragPreview.d.ts +1 -1
  125. package/dist/DragPreview.d.ts.map +1 -1
  126. package/dist/DropZone.d.ts +1 -7
  127. package/dist/DropZone.d.ts.map +1 -1
  128. package/dist/DropZone.js +74 -40
  129. package/dist/DropZone.js.map +1 -1
  130. package/dist/DropZone.jsx +24 -8
  131. package/dist/DropZone.jsx.map +1 -1
  132. package/dist/ElementTag.d.ts +9 -20
  133. package/dist/ElementTag.d.ts.map +1 -1
  134. package/dist/ElementTag.js +8 -210
  135. package/dist/ElementTag.js.map +1 -1
  136. package/dist/ElementTag.jsx +8 -57
  137. package/dist/ElementTag.jsx.map +1 -1
  138. package/dist/FieldError.d.ts +8 -7
  139. package/dist/FieldError.d.ts.map +1 -1
  140. package/dist/FieldError.js +33 -13
  141. package/dist/FieldError.js.map +1 -1
  142. package/dist/FieldError.jsx +20 -5
  143. package/dist/FieldError.jsx.map +1 -1
  144. package/dist/FileTrigger.d.ts +1 -7
  145. package/dist/FileTrigger.d.ts.map +1 -1
  146. package/dist/FileTrigger.js +30 -12
  147. package/dist/FileTrigger.js.map +1 -1
  148. package/dist/FileTrigger.jsx +15 -2
  149. package/dist/FileTrigger.jsx.map +1 -1
  150. package/dist/Focusable.d.ts +2 -8
  151. package/dist/Focusable.d.ts.map +1 -1
  152. package/dist/Focusable.js +23 -6
  153. package/dist/Focusable.js.map +1 -1
  154. package/dist/Focusable.jsx +22 -5
  155. package/dist/Focusable.jsx.map +1 -1
  156. package/dist/Form.d.ts +9 -8
  157. package/dist/Form.d.ts.map +1 -1
  158. package/dist/Form.js +66 -43
  159. package/dist/Form.js.map +1 -1
  160. package/dist/Form.jsx +36 -16
  161. package/dist/Form.jsx.map +1 -1
  162. package/dist/GridList.d.ts +5 -10
  163. package/dist/GridList.d.ts.map +1 -1
  164. package/dist/GridList.js +372 -243
  165. package/dist/GridList.js.map +1 -1
  166. package/dist/GridList.jsx +177 -99
  167. package/dist/GridList.jsx.map +1 -1
  168. package/dist/HiddenDateInput.d.ts +1 -7
  169. package/dist/HiddenDateInput.d.ts.map +1 -1
  170. package/dist/Icon.d.ts +4 -1
  171. package/dist/Icon.d.ts.map +1 -1
  172. package/dist/Icon.js +41 -37
  173. package/dist/Icon.js.map +1 -1
  174. package/dist/Icon.jsx +7 -3
  175. package/dist/Icon.jsx.map +1 -1
  176. package/dist/Keyboard.d.ts +1 -7
  177. package/dist/Keyboard.d.ts.map +1 -1
  178. package/dist/Keyboard.js +24 -11
  179. package/dist/Keyboard.js.map +1 -1
  180. package/dist/Keyboard.jsx +15 -2
  181. package/dist/Keyboard.jsx.map +1 -1
  182. package/dist/Label.d.ts +20 -0
  183. package/dist/Label.d.ts.map +1 -0
  184. package/dist/Label.js +60 -0
  185. package/dist/Label.js.map +1 -0
  186. package/dist/Label.jsx +47 -0
  187. package/dist/Label.jsx.map +1 -0
  188. package/dist/Landmark.d.ts +4 -1
  189. package/dist/Landmark.d.ts.map +1 -1
  190. package/dist/Landmark.js +10 -4
  191. package/dist/Landmark.js.map +1 -1
  192. package/dist/Landmark.jsx +5 -1
  193. package/dist/Landmark.jsx.map +1 -1
  194. package/dist/Link.d.ts +2 -7
  195. package/dist/Link.d.ts.map +1 -1
  196. package/dist/Link.js +56 -36
  197. package/dist/Link.js.map +1 -1
  198. package/dist/Link.jsx +52 -10
  199. package/dist/Link.jsx.map +1 -1
  200. package/dist/ListBox.d.ts +17 -13
  201. package/dist/ListBox.d.ts.map +1 -1
  202. package/dist/ListBox.js +647 -348
  203. package/dist/ListBox.js.map +1 -1
  204. package/dist/ListBox.jsx +339 -236
  205. package/dist/ListBox.jsx.map +1 -1
  206. package/dist/ListDropTargetDelegate.d.ts +3 -0
  207. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  208. package/dist/Menu.d.ts +39 -30
  209. package/dist/Menu.d.ts.map +1 -1
  210. package/dist/Menu.js +547 -368
  211. package/dist/Menu.js.map +1 -1
  212. package/dist/Menu.jsx +328 -230
  213. package/dist/Menu.jsx.map +1 -1
  214. package/dist/Meter.d.ts +6 -13
  215. package/dist/Meter.d.ts.map +1 -1
  216. package/dist/Meter.js +55 -18
  217. package/dist/Meter.js.map +1 -1
  218. package/dist/Meter.jsx +33 -8
  219. package/dist/Meter.jsx.map +1 -1
  220. package/dist/Modal.d.ts +1 -7
  221. package/dist/Modal.d.ts.map +1 -1
  222. package/dist/Modal.js +104 -56
  223. package/dist/Modal.js.map +1 -1
  224. package/dist/Modal.jsx +68 -38
  225. package/dist/Modal.jsx.map +1 -1
  226. package/dist/NumberField.d.ts +4 -7
  227. package/dist/NumberField.d.ts.map +1 -1
  228. package/dist/NumberField.js +243 -124
  229. package/dist/NumberField.js.map +1 -1
  230. package/dist/NumberField.jsx +115 -26
  231. package/dist/NumberField.jsx.map +1 -1
  232. package/dist/Popover.d.ts +15 -7
  233. package/dist/Popover.d.ts.map +1 -1
  234. package/dist/Popover.js +370 -181
  235. package/dist/Popover.js.map +1 -1
  236. package/dist/Popover.jsx +215 -82
  237. package/dist/Popover.jsx.map +1 -1
  238. package/dist/Pressable.d.ts +2 -8
  239. package/dist/Pressable.d.ts.map +1 -1
  240. package/dist/Pressable.js +23 -6
  241. package/dist/Pressable.js.map +1 -1
  242. package/dist/Pressable.jsx +22 -5
  243. package/dist/Pressable.jsx.map +1 -1
  244. package/dist/PreviewTrigger.d.ts +24 -0
  245. package/dist/PreviewTrigger.d.ts.map +1 -0
  246. package/dist/PreviewTrigger.js +128 -0
  247. package/dist/PreviewTrigger.js.map +1 -0
  248. package/dist/PreviewTrigger.jsx +117 -0
  249. package/dist/PreviewTrigger.jsx.map +1 -0
  250. package/dist/ProgressBar.d.ts +1 -7
  251. package/dist/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar.js +34 -14
  253. package/dist/ProgressBar.js.map +1 -1
  254. package/dist/ProgressBar.jsx +17 -3
  255. package/dist/ProgressBar.jsx.map +1 -1
  256. package/dist/RadioGroup.d.ts +2 -7
  257. package/dist/RadioGroup.d.ts.map +1 -1
  258. package/dist/RadioGroup.js +388 -269
  259. package/dist/RadioGroup.js.map +1 -1
  260. package/dist/RadioGroup.jsx +110 -99
  261. package/dist/RadioGroup.jsx.map +1 -1
  262. package/dist/RangeCalendar.d.ts +3 -7
  263. package/dist/RangeCalendar.d.ts.map +1 -1
  264. package/dist/RangeCalendar.js +271 -202
  265. package/dist/RangeCalendar.js.map +1 -1
  266. package/dist/RangeCalendar.jsx +56 -37
  267. package/dist/RangeCalendar.jsx.map +1 -1
  268. package/dist/RouterProvider.d.ts +3 -9
  269. package/dist/RouterProvider.d.ts.map +1 -1
  270. package/dist/RouterProvider.js +15 -14
  271. package/dist/RouterProvider.js.map +1 -1
  272. package/dist/RouterProvider.jsx +14 -13
  273. package/dist/RouterProvider.jsx.map +1 -1
  274. package/dist/SearchField.d.ts +4 -7
  275. package/dist/SearchField.d.ts.map +1 -1
  276. package/dist/SearchField.js +191 -164
  277. package/dist/SearchField.js.map +1 -1
  278. package/dist/SearchField.jsx +69 -62
  279. package/dist/SearchField.jsx.map +1 -1
  280. package/dist/Select.d.ts +5 -10
  281. package/dist/Select.d.ts.map +1 -1
  282. package/dist/Select.js +565 -359
  283. package/dist/Select.js.map +1 -1
  284. package/dist/Select.jsx +281 -161
  285. package/dist/Select.jsx.map +1 -1
  286. package/dist/SelectionIndicator.d.ts +1 -4
  287. package/dist/SelectionIndicator.d.ts.map +1 -1
  288. package/dist/SelectionIndicator.js +29 -13
  289. package/dist/SelectionIndicator.js.map +1 -1
  290. package/dist/SelectionIndicator.jsx +18 -4
  291. package/dist/SelectionIndicator.jsx.map +1 -1
  292. package/dist/Separator.d.ts +1 -7
  293. package/dist/Separator.d.ts.map +1 -1
  294. package/dist/Separator.js +22 -6
  295. package/dist/Separator.js.map +1 -1
  296. package/dist/Separator.jsx +16 -3
  297. package/dist/Separator.jsx.map +1 -1
  298. package/dist/SharedElementTransition.d.ts +1 -10
  299. package/dist/SharedElementTransition.d.ts.map +1 -1
  300. package/dist/SharedElementTransition.js +68 -40
  301. package/dist/SharedElementTransition.js.map +1 -1
  302. package/dist/SharedElementTransition.jsx +49 -25
  303. package/dist/SharedElementTransition.jsx.map +1 -1
  304. package/dist/Slider.d.ts +2 -8
  305. package/dist/Slider.d.ts.map +1 -1
  306. package/dist/Slider.js +155 -97
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/Slider.jsx +25 -12
  309. package/dist/Slider.jsx.map +1 -1
  310. package/dist/StepList.d.ts +1 -7
  311. package/dist/StepList.d.ts.map +1 -1
  312. package/dist/StepList.js +112 -68
  313. package/dist/StepList.js.map +1 -1
  314. package/dist/StepList.jsx +58 -20
  315. package/dist/StepList.jsx.map +1 -1
  316. package/dist/Switch.d.ts +2 -9
  317. package/dist/Switch.d.ts.map +1 -1
  318. package/dist/Switch.js +164 -114
  319. package/dist/Switch.js.map +1 -1
  320. package/dist/Switch.jsx +26 -13
  321. package/dist/Switch.jsx.map +1 -1
  322. package/dist/Table.d.ts +2 -1
  323. package/dist/Table.d.ts.map +1 -1
  324. package/dist/Table.js +689 -592
  325. package/dist/Table.js.map +1 -1
  326. package/dist/Table.jsx +317 -237
  327. package/dist/Table.jsx.map +1 -1
  328. package/dist/Tabs.d.ts +2 -7
  329. package/dist/Tabs.d.ts.map +1 -1
  330. package/dist/Tabs.js +278 -293
  331. package/dist/Tabs.js.map +1 -1
  332. package/dist/Tabs.jsx +68 -66
  333. package/dist/Tabs.jsx.map +1 -1
  334. package/dist/TagGroup.d.ts +4 -11
  335. package/dist/TagGroup.d.ts.map +1 -1
  336. package/dist/TagGroup.js +153 -115
  337. package/dist/TagGroup.js.map +1 -1
  338. package/dist/TagGroup.jsx +37 -24
  339. package/dist/TagGroup.jsx.map +1 -1
  340. package/dist/Text.d.ts +3 -3
  341. package/dist/Text.d.ts.map +1 -1
  342. package/dist/Text.js +24 -7
  343. package/dist/Text.js.map +1 -1
  344. package/dist/Text.jsx +17 -5
  345. package/dist/Text.jsx.map +1 -1
  346. package/dist/TextField.d.ts +3 -16
  347. package/dist/TextField.d.ts.map +1 -1
  348. package/dist/TextField.js +104 -129
  349. package/dist/TextField.js.map +1 -1
  350. package/dist/TextField.jsx +76 -102
  351. package/dist/TextField.jsx.map +1 -1
  352. package/dist/TimeField.d.ts +2 -15
  353. package/dist/TimeField.d.ts.map +1 -1
  354. package/dist/TimeField.js +86 -102
  355. package/dist/TimeField.js.map +1 -1
  356. package/dist/TimeField.jsx +32 -49
  357. package/dist/TimeField.jsx.map +1 -1
  358. package/dist/Toast.d.ts +10 -13
  359. package/dist/Toast.d.ts.map +1 -1
  360. package/dist/Toast.js +209 -108
  361. package/dist/Toast.js.map +1 -1
  362. package/dist/Toast.jsx +127 -22
  363. package/dist/Toast.jsx.map +1 -1
  364. package/dist/ToggleButton.d.ts +1 -7
  365. package/dist/ToggleButton.d.ts.map +1 -1
  366. package/dist/ToggleButton.js +57 -35
  367. package/dist/ToggleButton.js.map +1 -1
  368. package/dist/ToggleButton.jsx +26 -12
  369. package/dist/ToggleButton.jsx.map +1 -1
  370. package/dist/ToggleButtonGroup.d.ts +1 -7
  371. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButtonGroup.js +59 -44
  373. package/dist/ToggleButtonGroup.js.map +1 -1
  374. package/dist/ToggleButtonGroup.jsx +25 -12
  375. package/dist/ToggleButtonGroup.jsx.map +1 -1
  376. package/dist/TokenField.d.ts +52 -0
  377. package/dist/TokenField.d.ts.map +1 -0
  378. package/dist/TokenField.js +301 -0
  379. package/dist/TokenField.js.map +1 -0
  380. package/dist/TokenField.jsx +197 -0
  381. package/dist/TokenField.jsx.map +1 -0
  382. package/dist/Toolbar.d.ts +2 -7
  383. package/dist/Toolbar.d.ts.map +1 -1
  384. package/dist/Toolbar.js +35 -16
  385. package/dist/Toolbar.js.map +1 -1
  386. package/dist/Toolbar.jsx +15 -2
  387. package/dist/Toolbar.jsx.map +1 -1
  388. package/dist/Tooltip.d.ts +2 -7
  389. package/dist/Tooltip.d.ts.map +1 -1
  390. package/dist/Tooltip.js +105 -68
  391. package/dist/Tooltip.js.map +1 -1
  392. package/dist/Tooltip.jsx +60 -36
  393. package/dist/Tooltip.jsx.map +1 -1
  394. package/dist/Tree.d.ts +8 -11
  395. package/dist/Tree.d.ts.map +1 -1
  396. package/dist/Tree.js +486 -339
  397. package/dist/Tree.js.map +1 -1
  398. package/dist/Tree.jsx +155 -107
  399. package/dist/Tree.jsx.map +1 -1
  400. package/dist/Virtualizer.d.ts +39 -9
  401. package/dist/Virtualizer.d.ts.map +1 -1
  402. package/dist/Virtualizer.js +2 -2
  403. package/dist/Virtualizer.jsx +2 -2
  404. package/dist/Virtualizer2.js +491 -136
  405. package/dist/Virtualizer2.js.map +1 -1
  406. package/dist/Virtualizer2.jsx +455 -122
  407. package/dist/Virtualizer2.jsx.map +1 -1
  408. package/dist/VirtualizerLayouts.d.ts +55 -2
  409. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  410. package/dist/VisuallyHidden.d.ts +4 -3
  411. package/dist/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/VisuallyHidden.js +18 -11
  413. package/dist/VisuallyHidden.js.map +1 -1
  414. package/dist/VisuallyHidden.jsx +15 -9
  415. package/dist/VisuallyHidden.jsx.map +1 -1
  416. package/dist/contexts.d.ts +25 -0
  417. package/dist/contexts.d.ts.map +1 -1
  418. package/dist/contexts.js +3 -0
  419. package/dist/contexts.js.map +1 -1
  420. package/dist/contexts.jsx +3 -0
  421. package/dist/contexts.jsx.map +1 -1
  422. package/dist/index.d.ts +11 -9
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +14 -11
  425. package/dist/index.jsx +14 -11
  426. package/dist/intl/index.d.ts +16 -0
  427. package/dist/intl/index.d.ts.map +1 -0
  428. package/dist/intl.js +212 -0
  429. package/dist/intl.js.map +1 -0
  430. package/dist/intl.jsx +212 -0
  431. package/dist/intl.jsx.map +1 -0
  432. package/dist/useDragAndDrop.d.ts +4 -2
  433. package/dist/useDragAndDrop.d.ts.map +1 -1
  434. package/dist/useDragAndDrop2.js +39 -21
  435. package/dist/useDragAndDrop2.js.map +1 -1
  436. package/dist/useDragAndDrop2.jsx +39 -21
  437. package/dist/useDragAndDrop2.jsx.map +1 -1
  438. package/dist/utils.d.ts +28 -9
  439. package/dist/utils.d.ts.map +1 -1
  440. package/dist/utils.js +96 -24
  441. package/dist/utils.js.map +1 -1
  442. package/dist/utils.jsx +81 -24
  443. package/dist/utils.jsx.map +1 -1
  444. package/dist/virtualizer/Layout.d.ts +9 -0
  445. package/dist/virtualizer/Layout.d.ts.map +1 -1
  446. package/dist/virtualizer/Layout.js +23 -2
  447. package/dist/virtualizer/Layout.js.map +1 -1
  448. package/dist/virtualizer/Layout.jsx +23 -2
  449. package/dist/virtualizer/Layout.jsx.map +1 -1
  450. package/package.json +29 -10
  451. package/src/ActionBar.tsx +50 -24
  452. package/src/ActionGroup.tsx +31 -19
  453. package/src/Alert.tsx +10 -4
  454. package/src/Autocomplete.tsx +24 -15
  455. package/src/Breadcrumbs.tsx +32 -16
  456. package/src/Button.tsx +182 -67
  457. package/src/Calendar.tsx +65 -47
  458. package/src/CalendarPicker.tsx +16 -1
  459. package/src/Checkbox.tsx +84 -116
  460. package/src/Collection.tsx +84 -3
  461. package/src/Color.tsx +282 -104
  462. package/src/ColorEditor.tsx +5 -1
  463. package/src/ComboBox.tsx +384 -109
  464. package/src/ContextualHelpTrigger.tsx +47 -41
  465. package/src/DateField.tsx +74 -106
  466. package/src/DatePicker.tsx +156 -352
  467. package/src/DateRangePickerContext.tsx +8 -0
  468. package/src/Dialog.tsx +105 -38
  469. package/src/Disclosure.tsx +29 -19
  470. package/src/DragAndDrop.tsx +43 -8
  471. package/src/DragPreview.tsx +20 -1
  472. package/src/DropZone.tsx +32 -18
  473. package/src/ElementTag.tsx +14 -104
  474. package/src/FieldError.tsx +39 -7
  475. package/src/FileTrigger.tsx +18 -3
  476. package/src/Focusable.tsx +27 -6
  477. package/src/Form.tsx +57 -11
  478. package/src/GridList.tsx +233 -141
  479. package/src/HiddenDateInput.tsx +19 -3
  480. package/src/Icon.tsx +8 -2
  481. package/src/Keyboard.tsx +18 -2
  482. package/src/Label.tsx +77 -0
  483. package/src/Landmark.tsx +6 -1
  484. package/src/Link.tsx +65 -19
  485. package/src/ListBox.tsx +645 -468
  486. package/src/ListDropTargetDelegate.ts +4 -0
  487. package/src/Menu.tsx +512 -349
  488. package/src/Meter.tsx +42 -8
  489. package/src/Modal.tsx +85 -42
  490. package/src/NumberField.tsx +161 -48
  491. package/src/Popover.tsx +424 -148
  492. package/src/Pressable.tsx +27 -6
  493. package/src/PreviewTrigger.tsx +171 -0
  494. package/src/ProgressBar.tsx +25 -3
  495. package/src/RadioGroup.tsx +230 -161
  496. package/src/RangeCalendar.tsx +75 -63
  497. package/src/RouterProvider.tsx +24 -14
  498. package/src/SearchField.tsx +118 -121
  499. package/src/Select.tsx +454 -274
  500. package/src/SelectionIndicator.tsx +21 -3
  501. package/src/Separator.tsx +17 -1
  502. package/src/SharedElementTransition.tsx +115 -97
  503. package/src/Slider.tsx +35 -17
  504. package/src/StepList.tsx +71 -32
  505. package/src/Switch.tsx +45 -29
  506. package/src/Table.tsx +446 -380
  507. package/src/Tabs.tsx +132 -155
  508. package/src/TagGroup.tsx +53 -40
  509. package/src/Text.tsx +23 -6
  510. package/src/TextField.tsx +118 -159
  511. package/src/TimeField.tsx +34 -95
  512. package/src/Toast.tsx +141 -67
  513. package/src/ToggleButton.tsx +33 -15
  514. package/src/ToggleButtonGroup.tsx +27 -9
  515. package/src/TokenField.tsx +379 -0
  516. package/src/Toolbar.tsx +19 -9
  517. package/src/Tooltip.tsx +126 -84
  518. package/src/Tree.tsx +233 -173
  519. package/src/Virtualizer.tsx +400 -138
  520. package/src/VirtualizerLayouts.ts +211 -26
  521. package/src/VisuallyHidden.tsx +22 -8
  522. package/src/contexts.ts +13 -0
  523. package/src/index.ts +32 -11
  524. package/src/intl/ar-AE.json +6 -0
  525. package/src/intl/bg-BG.json +6 -0
  526. package/src/intl/cs-CZ.json +6 -0
  527. package/src/intl/da-DK.json +6 -0
  528. package/src/intl/de-DE.json +6 -0
  529. package/src/intl/el-GR.json +6 -0
  530. package/src/intl/en-US.json +6 -0
  531. package/src/intl/es-ES.json +6 -0
  532. package/src/intl/et-EE.json +6 -0
  533. package/src/intl/fi-FI.json +6 -0
  534. package/src/intl/fr-FR.json +6 -0
  535. package/src/intl/he-IL.json +6 -0
  536. package/src/intl/hr-HR.json +6 -0
  537. package/src/intl/hu-HU.json +6 -0
  538. package/src/intl/index.ts +125 -0
  539. package/src/intl/it-IT.json +6 -0
  540. package/src/intl/ja-JP.json +6 -0
  541. package/src/intl/ko-KR.json +6 -0
  542. package/src/intl/lt-LT.json +6 -0
  543. package/src/intl/lv-LV.json +6 -0
  544. package/src/intl/nb-NO.json +6 -0
  545. package/src/intl/nl-NL.json +6 -0
  546. package/src/intl/pl-PL.json +6 -0
  547. package/src/intl/pt-BR.json +6 -0
  548. package/src/intl/pt-PT.json +6 -0
  549. package/src/intl/ro-RO.json +6 -0
  550. package/src/intl/ru-RU.json +6 -0
  551. package/src/intl/sk-SK.json +6 -0
  552. package/src/intl/sl-SI.json +6 -0
  553. package/src/intl/sr-SP.json +6 -0
  554. package/src/intl/sv-SE.json +6 -0
  555. package/src/intl/tr-TR.json +6 -0
  556. package/src/intl/uk-UA.json +6 -0
  557. package/src/intl/zh-CN.json +6 -0
  558. package/src/intl/zh-TW.json +6 -0
  559. package/src/useDragAndDrop.ts +30 -32
  560. package/src/utils.tsx +124 -68
  561. package/src/virtualizer/Layout.ts +29 -0
@@ -1,7 +1,40 @@
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
+
13
+ /*
14
+ * Copyright 2020 Adobe. All rights reserved.
15
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License. You may obtain a copy
17
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software distributed under
20
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ * OF ANY KIND, either express or implied. See the License for the specific language
22
+ * governing permissions and limitations under the License.
23
+ */
24
+
25
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/GridLayout.ts
26
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/ListLayout.ts
27
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/TableLayout.ts
28
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/WaterfallLayout.ts
29
+
1
30
  /**
2
31
  * Layout primitives for solidaria-components Virtualizer.
3
32
  *
4
- * These are lightweight parity contracts inspired by RAC virtualizer layout APIs.
33
+ * These layout contracts are based on:
34
+ * - packages/react-stately/src/layout/ListLayout.ts
35
+ * - packages/react-stately/src/layout/GridLayout.ts
36
+ * - packages/react-stately/src/layout/TableLayout.ts
37
+ * - packages/react-stately/src/layout/WaterfallLayout.ts
5
38
  */
6
39
 
7
40
  export interface Point {
@@ -32,6 +65,8 @@ export interface LayoutInfo {
32
65
  key: string | number;
33
66
  index: number;
34
67
  rect: Rect;
68
+ /** True while this rect still uses `estimatedRowHeight` / `estimatedRowSize`. */
69
+ estimatedSize?: boolean;
35
70
  }
36
71
 
37
72
  export interface VirtualizerVisibleRange {
@@ -60,12 +95,43 @@ export interface DefaultVirtualizerLayoutOptions {
60
95
  * @default 'vertical'
61
96
  */
62
97
  orientation?: Orientation;
98
+ /**
99
+ * Fixed row size along the primary axis. Alias of RAC `rowSize` / `rowHeight`.
100
+ * Takes precedence over `estimatedRowHeight`.
101
+ */
102
+ rowSize?: number;
103
+ /** @deprecated Use `rowSize`. */
104
+ rowHeight?: number;
105
+ /**
106
+ * Estimated row size when heights are variable. RAC `estimatedRowSize` /
107
+ * `estimatedRowHeight` — ComboBox/Picker pass `estimatedRowHeight: 32`.
108
+ */
109
+ estimatedRowSize?: number;
110
+ /** @deprecated Use `estimatedRowSize`. */
111
+ estimatedRowHeight?: number;
112
+ /**
113
+ * Padding around the list along both axes. RAC `ListLayoutOptions.padding`.
114
+ * ComboBox/Picker pass `padding: 8`; the listbox element itself is `padding: 0`.
115
+ */
116
+ padding?: number;
117
+ /** Gap between items along the primary axis. */
118
+ gap?: number;
119
+ estimatedHeadingSize?: number;
120
+ estimatedHeadingHeight?: number;
121
+ loaderSize?: number;
122
+ loaderHeight?: number;
63
123
  }
64
124
 
65
125
  export interface GridLayoutOptions extends DefaultVirtualizerLayoutOptions {
66
126
  rowHeight?: number;
67
127
  columnCount?: number;
68
128
  viewportWidth?: number;
129
+ /** Minimum card/item width used to derive `columnCount` when it is omitted. */
130
+ minItemSize?: number;
131
+ /** Maximum card/item width. Consumed by CardView packing. */
132
+ maxItemSize?: number;
133
+ /** Gutter between items. */
134
+ minSpace?: number;
69
135
  }
70
136
 
71
137
  export interface WaterfallLayoutOptions extends GridLayoutOptions {
@@ -103,28 +169,59 @@ function clampRange(
103
169
  return {
104
170
  start: safeStart,
105
171
  end: safeEnd,
172
+ // Layout padding lives in layoutInfo / contentSize, not in these spacers.
173
+ // RAC CollectionRoot has no CSS padding; items are absolutely inset.
106
174
  offsetTop: safeStart * itemSize,
107
175
  offsetBottom: Math.max(0, (itemCount - safeEnd) * itemSize),
108
176
  };
109
177
  }
110
178
 
179
+ /**
180
+ * Resolve the primary-axis row size. Fixed `rowSize` / `rowHeight` / `itemSize`
181
+ * win over `estimatedRowHeight`. Default 40 matches the existing Solid fallback
182
+ * (RAC ListLayout defaults to 48 only when neither fixed nor estimated is set).
183
+ */
184
+ export function resolveListRowSizeInfo(options?: DefaultVirtualizerLayoutOptions): {
185
+ size: number;
186
+ estimated: boolean;
187
+ } {
188
+ const fixed = options?.rowSize ?? options?.rowHeight ?? options?.itemSize;
189
+ if (fixed != null && Number.isFinite(fixed)) {
190
+ return { size: Math.max(1, fixed), estimated: false };
191
+ }
192
+ const estimated = options?.estimatedRowSize ?? options?.estimatedRowHeight;
193
+ if (estimated != null && Number.isFinite(estimated)) {
194
+ return { size: Math.max(1, estimated), estimated: true };
195
+ }
196
+ return { size: 40, estimated: false };
197
+ }
198
+
199
+ export function resolveListRowSize(options?: DefaultVirtualizerLayoutOptions): number {
200
+ return resolveListRowSizeInfo(options).size;
201
+ }
202
+
111
203
  export function calculateLinearVisibleRange(
112
204
  itemCount: number,
113
205
  scrollOffset: number,
114
206
  viewportSize: number,
115
207
  itemSize: number,
116
208
  overscan: number,
209
+ padding = 0,
117
210
  ): VirtualizerVisibleRange {
118
211
  if (itemCount <= 0) return { start: 0, end: 0, offsetTop: 0, offsetBottom: 0 };
119
212
  const safeItemSize = Math.max(1, itemSize);
120
213
  const safeViewport = Math.max(1, viewportSize);
121
214
  const safeOverscan = Math.max(0, overscan);
122
- const start = Math.floor(scrollOffset / safeItemSize) - safeOverscan;
215
+ const safePadding = Math.max(0, padding);
216
+ const start = Math.floor((scrollOffset - safePadding) / safeItemSize) - safeOverscan;
123
217
  const visibleCount = Math.ceil(safeViewport / safeItemSize) + safeOverscan * 2;
124
218
  return clampRange(itemCount, start, start + visibleCount, safeItemSize);
125
219
  }
126
220
 
127
221
  export class ListLayout {
222
+ /** Measured primary-axis size per index, filled by VirtualizerItem. */
223
+ private measuredMain = new Map<number, number>();
224
+
128
225
  getVisibleRange(
129
226
  ctx: VirtualizerRangeContext,
130
227
  options?: DefaultVirtualizerLayoutOptions,
@@ -133,39 +230,77 @@ export class ListLayout {
133
230
  ctx.itemCount,
134
231
  ctx.scrollOffset,
135
232
  ctx.viewportSize,
136
- options?.itemSize ?? 40,
233
+ resolveListRowSize(options),
137
234
  options?.overscan ?? ctx.overscan,
235
+ Math.max(0, options?.padding ?? 0),
138
236
  );
139
237
  }
140
238
 
239
+ updateItemSize(index: number, mainSize: number): boolean {
240
+ if (!(mainSize > 0)) return false;
241
+ if (this.measuredMain.get(index) === mainSize) return false;
242
+ this.measuredMain.set(index, mainSize);
243
+ return true;
244
+ }
245
+
246
+ getContentSize(
247
+ itemCount: number,
248
+ context: VirtualizerLayoutInfoContext,
249
+ options?: DefaultVirtualizerLayoutOptions,
250
+ ): Size {
251
+ const { size: rowSize } = resolveListRowSizeInfo(options);
252
+ const padding = Math.max(0, options?.padding ?? 0);
253
+ const gap = Math.max(0, options?.gap ?? 0);
254
+ const horizontal = (options?.orientation ?? "vertical") === "horizontal";
255
+ let main = 0;
256
+ if (itemCount > 0) {
257
+ main = padding;
258
+ for (let i = 0; i < itemCount; i++) {
259
+ main += this.measuredMain.get(i) ?? rowSize;
260
+ if (i < itemCount - 1) main += gap;
261
+ }
262
+ main += padding;
263
+ }
264
+ if (horizontal) {
265
+ return { width: main, height: Math.max(0, context.viewportHeight ?? 0) };
266
+ }
267
+ return { width: Math.max(0, context.viewportWidth), height: main };
268
+ }
269
+
141
270
  getLayoutInfo(
142
271
  index: number,
143
272
  context: VirtualizerLayoutInfoContext,
144
273
  options?: DefaultVirtualizerLayoutOptions,
145
274
  ): LayoutInfo {
146
- const itemSize = Math.max(1, options?.itemSize ?? 40);
275
+ const { size: rowSize, estimated } = resolveListRowSizeInfo(options);
276
+ const padding = Math.max(0, options?.padding ?? 0);
277
+ const gap = Math.max(0, options?.gap ?? 0);
278
+ const measured = this.measuredMain.get(index);
279
+ const main = measured ?? rowSize;
280
+ const estimatedSize = measured == null && estimated;
281
+ const origin = this.offsetForIndex(index, rowSize, padding, gap);
147
282
  if ((options?.orientation ?? "vertical") === "horizontal") {
148
- // Items stack along the x axis; the cross axis (height) fills the viewport.
149
283
  return {
150
284
  key: String(index),
151
285
  index,
286
+ estimatedSize,
152
287
  rect: {
153
- x: index * itemSize,
154
- y: 0,
155
- width: itemSize,
156
- height: Math.max(0, context.viewportHeight ?? 0),
288
+ x: origin,
289
+ y: padding,
290
+ width: main,
291
+ height: Math.max(0, (context.viewportHeight ?? 0) - padding * 2),
157
292
  },
158
293
  };
159
294
  }
160
- // Items stack along the y axis; the cross axis (width) fills the viewport.
161
295
  return {
162
296
  key: String(index),
163
297
  index,
298
+ estimatedSize,
164
299
  rect: {
165
- x: 0,
166
- y: index * itemSize,
167
- width: Math.max(0, context.viewportWidth),
168
- height: itemSize,
300
+ x: padding,
301
+ y: origin,
302
+ width: Math.max(0, context.viewportWidth - padding * 2),
303
+ height: main,
169
304
  },
170
305
  };
171
306
  }
@@ -176,36 +311,63 @@ export class ListLayout {
176
311
  options?: DefaultVirtualizerLayoutOptions,
177
312
  ): VirtualizerDropTarget | null {
178
313
  if (itemCount <= 0) return { type: "root", index: -1, position: "on" };
179
- const itemSize = Math.max(1, options?.itemSize ?? 40);
180
- // Measure the drop point along the primary (scroll) axis.
181
- const offset = (options?.orientation ?? "vertical") === "horizontal" ? point.x : point.y;
314
+ const itemSize = resolveListRowSize(options);
315
+ const padding = Math.max(0, options?.padding ?? 0);
316
+ const gap = Math.max(0, options?.gap ?? 0);
317
+ const stride = itemSize + gap;
318
+ const offset =
319
+ ((options?.orientation ?? "vertical") === "horizontal" ? point.x : point.y) - padding;
182
320
  if (offset < 0) {
183
321
  return { type: "item", index: 0, position: "before" };
184
322
  }
185
- const totalSize = itemCount * itemSize;
323
+ const totalSize = itemCount * stride - (itemCount > 0 ? gap : 0);
186
324
  if (offset >= totalSize) {
187
325
  return { type: "item", index: itemCount - 1, position: "after" };
188
326
  }
189
- const rawIndex = Math.floor(offset / itemSize);
327
+ const rawIndex = Math.floor(offset / stride);
190
328
  const index = Math.max(0, Math.min(rawIndex, itemCount - 1));
191
- const offsetWithinItem = Math.max(0, offset - index * itemSize);
329
+ const offsetWithinItem = Math.max(0, offset - index * stride);
192
330
  const threshold = itemSize / 3;
193
331
  const position: VirtualizerDropTarget["position"] =
194
332
  offsetWithinItem < threshold ? "before" : offsetWithinItem > threshold * 2 ? "after" : "on";
195
333
  return { type: "item", index, position };
196
334
  }
335
+
336
+ private offsetForIndex(index: number, rowSize: number, padding: number, gap: number): number {
337
+ if (this.measuredMain.size === 0) {
338
+ return padding + index * (rowSize + gap);
339
+ }
340
+ let offset = padding;
341
+ for (let i = 0; i < index; i++) {
342
+ offset += (this.measuredMain.get(i) ?? rowSize) + gap;
343
+ }
344
+ return offset;
345
+ }
197
346
  }
198
347
 
199
348
  export class TableLayout extends ListLayout {}
200
349
 
350
+ function resolveGridColumnCount(ctxWidth: number | undefined, options?: GridLayoutOptions): number {
351
+ if (options?.columnCount != null && options.columnCount > 0) {
352
+ return Math.max(1, options.columnCount);
353
+ }
354
+ const width = Math.max(1, options?.viewportWidth ?? ctxWidth ?? 320);
355
+ const minItem = Math.max(1, options?.minItemSize ?? options?.itemSize ?? 150);
356
+ const minSpace = Math.max(0, options?.minSpace ?? 0);
357
+ return Math.max(1, Math.floor((width + minSpace) / (minItem + minSpace)));
358
+ }
359
+
201
360
  export class GridLayout {
202
361
  getVisibleRange(
203
362
  ctx: VirtualizerRangeContext,
204
363
  options?: GridLayoutOptions,
205
364
  ): VirtualizerVisibleRange {
206
365
  if (ctx.itemCount <= 0) return { start: 0, end: 0, offsetTop: 0, offsetBottom: 0 };
207
- const rowHeight = Math.max(1, options?.rowHeight ?? options?.itemSize ?? 40);
208
- const columns = Math.max(1, options?.columnCount ?? 1);
366
+ const rowHeight = Math.max(
367
+ 1,
368
+ options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
369
+ );
370
+ const columns = resolveGridColumnCount(ctx.viewportWidth, options);
209
371
  const safeViewport = Math.max(1, ctx.viewportSize);
210
372
  const safeOverscan = Math.max(0, options?.overscan ?? ctx.overscan);
211
373
 
@@ -225,13 +387,33 @@ export class GridLayout {
225
387
  return { start, end, offsetTop, offsetBottom };
226
388
  }
227
389
 
390
+ getContentSize(
391
+ itemCount: number,
392
+ context: VirtualizerLayoutInfoContext,
393
+ options?: GridLayoutOptions,
394
+ ): Size {
395
+ const rowHeight = Math.max(
396
+ 1,
397
+ options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
398
+ );
399
+ const columns = resolveGridColumnCount(context.viewportWidth, options);
400
+ const totalRows = itemCount <= 0 ? 0 : Math.ceil(itemCount / columns);
401
+ return {
402
+ width: Math.max(0, context.viewportWidth),
403
+ height: totalRows * rowHeight,
404
+ };
405
+ }
406
+
228
407
  getLayoutInfo(
229
408
  index: number,
230
409
  context: VirtualizerLayoutInfoContext,
231
410
  options?: GridLayoutOptions,
232
411
  ): LayoutInfo {
233
- const rowHeight = Math.max(1, options?.rowHeight ?? options?.itemSize ?? 40);
234
- const columns = Math.max(1, options?.columnCount ?? 1);
412
+ const rowHeight = Math.max(
413
+ 1,
414
+ options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
415
+ );
416
+ const columns = resolveGridColumnCount(context.viewportWidth, options);
235
417
  const row = Math.floor(index / columns);
236
418
  const col = index % columns;
237
419
  const width = Math.max(1, context.viewportWidth);
@@ -254,8 +436,11 @@ export class GridLayout {
254
436
  options?: GridLayoutOptions,
255
437
  ): VirtualizerDropTarget | null {
256
438
  if (itemCount <= 0) return { type: "root", index: -1, position: "on" };
257
- const rowHeight = Math.max(1, options?.rowHeight ?? options?.itemSize ?? 40);
258
- const columns = Math.max(1, options?.columnCount ?? 1);
439
+ const rowHeight = Math.max(
440
+ 1,
441
+ options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
442
+ );
443
+ const columns = resolveGridColumnCount(options?.viewportWidth, options);
259
444
  const totalRows = Math.ceil(itemCount / columns);
260
445
  const totalHeight = totalRows * rowHeight;
261
446
  if (point.y < 0) {
@@ -1,15 +1,32 @@
1
+ /*
2
+ * Copyright 2020 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
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/visually-hidden/VisuallyHidden.tsx
14
+
1
15
  /**
2
16
  * VisuallyHidden component for solidaria-components
3
17
  *
4
18
  * Hides content visually but keeps it accessible to screen readers.
5
- * Port of react-aria's VisuallyHidden.
19
+ * Solid adaptation of the pinned VisuallyHidden component.
6
20
  */
7
21
 
8
- import { type JSX, type ParentProps, splitProps } from "solid-js";
22
+ import type { ParentProps } from "solid-js";
23
+ import type { JSX } from "@solidjs/web";
9
24
  import { ElementTag } from "./ElementTag";
10
25
  import { createVisuallyHidden, mergeProps } from "@proyecto-viviana/solidaria";
26
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
11
27
 
12
- export interface VisuallyHiddenProps extends ParentProps, JSX.HTMLAttributes<HTMLElement> {
28
+ export interface VisuallyHiddenProps
29
+ extends ParentProps, Omit<JSX.HTMLAttributes<HTMLElement>, "children"> {
13
30
  /** The element type to render. @default 'span' */
14
31
  elementType?: keyof JSX.IntrinsicElements;
15
32
  /** Whether the element should be focusable when focused. */
@@ -36,11 +53,8 @@ export function VisuallyHidden(props: VisuallyHiddenProps): JSX.Element {
36
53
  visuallyHiddenProps() as unknown as Record<string, unknown>,
37
54
  );
38
55
 
39
- // elementType is read once (structural, not reactive). `ElementTag` renders it
40
- // as a statically compiled element; `<Dynamic component={string}>` desyncs
41
- // Solid's hydration markers, leaving the registry dirty so a later sibling
42
- // re-render throws "template is not a function" in prod (and a hard hydration
43
- // crash under solid-refresh in dev). See ElementTag.tsx for the mechanism.
56
+ // elementType is read once (structural, not reactive). ElementTag delegates
57
+ // element creation and hydration adoption to Solid 2's native dynamic helper.
44
58
  const tag = local.elementType ?? "span";
45
59
  return (
46
60
  <ElementTag tag={tag} {...mergedProps()}>
package/src/contexts.ts CHANGED
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * These are separated to avoid circular dependencies between
5
5
  * Dialog, Modal, Popover, and Button components.
6
+ *
7
+ * This is a local Solid module split. The owning overlay components record
8
+ * their upstream sources.
6
9
  */
7
10
 
8
11
  import { createContext, useContext } from "solid-js";
@@ -13,6 +16,9 @@ export interface OverlayTriggerState {
13
16
  open: () => void;
14
17
  close: () => void;
15
18
  toggle: () => void;
19
+ setOpen: (isOpen: boolean) => void;
20
+ point: { x: number; y: number } | null;
21
+ setPoint: (point: { x: number; y: number }) => void;
16
22
  }
17
23
 
18
24
  export const OverlayTriggerStateContext = createContext<OverlayTriggerState | null>(null);
@@ -48,6 +54,9 @@ export interface PopoverTriggerContextValue {
48
54
  open: () => void;
49
55
  close: () => void;
50
56
  toggle: () => void;
57
+ setOpen?: (isOpen: boolean) => void;
58
+ point?: () => { x: number; y: number } | null;
59
+ setPoint?: (point: { x: number; y: number }) => void;
51
60
  };
52
61
  triggerRef: () => HTMLElement | null;
53
62
  setTriggerRef: (el: HTMLElement | null) => void;
@@ -55,6 +64,10 @@ export interface PopoverTriggerContextValue {
55
64
  triggerProps?: Record<string, unknown>;
56
65
  overlayProps?: Record<string, unknown>;
57
66
  trigger: string;
67
+ /** Lets a trigger capture the popover element (PreviewTrigger safe-area). */
68
+ setOverlayRef?: (el: HTMLElement | null) => void;
69
+ /** RAC PreviewTrigger skips enter/exit when swapping previews during warmup. */
70
+ shouldSkipAnimation?: () => boolean;
58
71
  }
59
72
 
60
73
  export const PopoverTriggerContext = createContext<PopoverTriggerContextValue | null>(null);
package/src/index.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  /**
2
- * solidaria-components
2
+ * solidaria-components.
3
3
  *
4
- * Pre-wired headless components for SolidJS.
5
- * Port of react-aria-components.
6
- *
7
- * These components combine state management + accessibility hooks into
4
+ * This is the local package barrel. Each exported module owns its upstream
5
+ * source mapping.
6
+ * The components combine state management and accessibility hooks into
8
7
  * ready-to-style components using the render props pattern and data attributes.
9
8
  */
10
9
 
@@ -138,6 +137,19 @@ export {
138
137
  type TextAreaProps,
139
138
  } from "./TextField";
140
139
 
140
+ export {
141
+ TokenField,
142
+ TokenInput,
143
+ Token,
144
+ TokenFieldContext,
145
+ type TokenFieldProps,
146
+ type TokenFieldRenderProps,
147
+ type TokenInputProps,
148
+ type TokenInputRenderProps,
149
+ type TokenProps,
150
+ type TokenRenderProps,
151
+ } from "./TokenField";
152
+
141
153
  export { Text, TextContext, type TextProps } from "./Text";
142
154
 
143
155
  export { Link, LinkContext, type LinkProps, type LinkRenderProps } from "./Link";
@@ -155,6 +167,8 @@ export {
155
167
 
156
168
  export { FileTrigger, type FileTriggerProps } from "./FileTrigger";
157
169
 
170
+ export { PreviewTrigger, type PreviewTriggerProps } from "./PreviewTrigger";
171
+
158
172
  export {
159
173
  DropZone,
160
174
  DropZoneContext,
@@ -240,8 +254,8 @@ export {
240
254
 
241
255
  export {
242
256
  ListBox,
257
+ ListBoxItem,
243
258
  ListBoxOption,
244
- ListBoxOption as ListBoxItem,
245
259
  ListBoxSection,
246
260
  ListBoxLoadMoreItem,
247
261
  ListBoxContext,
@@ -249,10 +263,10 @@ export {
249
263
  ListStateContext,
250
264
  type ListBoxProps,
251
265
  type ListBoxRenderProps,
266
+ type ListBoxItemProps,
267
+ type ListBoxItemRenderProps,
252
268
  type ListBoxOptionProps,
253
269
  type ListBoxOptionRenderProps,
254
- type ListBoxOptionProps as ListBoxItemProps,
255
- type ListBoxOptionRenderProps as ListBoxItemRenderProps,
256
270
  type ListBoxSectionProps,
257
271
  type ListBoxLoadMoreItemProps,
258
272
  } from "./ListBox";
@@ -260,10 +274,10 @@ export {
260
274
  export {
261
275
  Menu,
262
276
  MenuItem,
277
+ MenuLoadMoreItem,
263
278
  MenuSection,
264
279
  MenuTrigger,
265
280
  SubmenuTrigger,
266
- MenuButton,
267
281
  MenuContext,
268
282
  MenuStateContext,
269
283
  MenuTriggerContext,
@@ -272,11 +286,11 @@ export {
272
286
  type MenuRenderProps,
273
287
  type MenuItemProps,
274
288
  type MenuItemRenderProps,
289
+ type MenuLoadMoreItemProps,
275
290
  type MenuSectionProps,
276
291
  type MenuTriggerProps,
277
292
  type SubmenuTriggerProps,
278
293
  type MenuTriggerRenderProps,
279
- type MenuButtonProps,
280
294
  } from "./Menu";
281
295
 
282
296
  export {
@@ -458,6 +472,7 @@ export {
458
472
  ComboBoxErrorMessage,
459
473
  ComboBoxButton,
460
474
  ComboBoxListBox,
475
+ ComboBoxItem,
461
476
  ComboBoxOption,
462
477
  ComboBoxTagGroup,
463
478
  ComboBoxTag,
@@ -478,6 +493,8 @@ export {
478
493
  type ComboBoxButtonRenderProps,
479
494
  type ComboBoxListBoxProps,
480
495
  type ComboBoxListBoxRenderProps,
496
+ type ComboBoxItemProps,
497
+ type ComboBoxItemRenderProps,
481
498
  type ComboBoxOptionProps,
482
499
  type ComboBoxOptionRenderProps,
483
500
  type ComboBoxTagGroupProps,
@@ -529,7 +546,8 @@ export {
529
546
  Toast as UNSTABLE_Toast,
530
547
  ToastRegion as UNSTABLE_ToastRegion,
531
548
  ToastRegion as UNSTABLE_ToastList,
532
- Toast as UNSTABLE_ToastContent,
549
+ ToastContent as UNSTABLE_ToastContent,
550
+ ToastContentContext,
533
551
  ToastRegion,
534
552
  ToastProvider,
535
553
  ToastContext,
@@ -542,6 +560,7 @@ export {
542
560
  globalToastQueue,
543
561
  addToast,
544
562
  type ToastContent,
563
+ type ToastContentProps as UNSTABLE_ToastContentProps,
545
564
  type ToastProps,
546
565
  type ToastRenderProps,
547
566
  type ToastRegionProps,
@@ -993,6 +1012,8 @@ export { SSRProvider } from "@proyecto-viviana/solidaria";
993
1012
 
994
1013
  export { parseColor, FormValidationContext } from "@proyecto-viviana/solid-stately";
995
1014
 
1015
+ export { setInteractionModality } from "@proyecto-viviana/solidaria";
1016
+
996
1017
  export { ToastQueue as UNSTABLE_ToastQueue } from "@proyecto-viviana/solid-stately";
997
1018
 
998
1019
  // Data hooks (aliased to match RAC's useXxx naming)
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "تغييرات الألوان",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "حدد عنصرًا",
5
+ "tableResizer": "أداة تغيير الحجم"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Цветови мостри",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Изберете предмет",
5
+ "tableResizer": "Преоразмерител"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Vzorky barev",
3
+ "dropzoneLabel": "Místo pro přetažení",
4
+ "selectPlaceholder": "Vyberte položku",
5
+ "tableResizer": "Změna velikosti"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Farveprøver",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Vælg et element",
5
+ "tableResizer": "Størrelsesændring"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Farbfelder",
3
+ "dropzoneLabel": "Ablegebereich",
4
+ "selectPlaceholder": "Element wählen",
5
+ "tableResizer": "Größenanpassung"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Χρωματικά δείγματα",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Επιλέξτε ένα αντικείμενο",
5
+ "tableResizer": "Αλλαγή μεγέθους"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "selectPlaceholder": "Select an item",
3
+ "tableResizer": "Resizer",
4
+ "dropzoneLabel": "DropZone",
5
+ "colorSwatchPicker": "Color swatches"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Muestras de colores",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Seleccionar un artículo",
5
+ "tableResizer": "Cambiador de tamaño"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Värvinäidised",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Valige üksus",
5
+ "tableResizer": "Suuruse muutja"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Värimallit",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Valitse kohde",
5
+ "tableResizer": "Koon muuttaja"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "colorSwatchPicker": "Échantillons de couleurs",
3
+ "dropzoneLabel": "DropZone",
4
+ "selectPlaceholder": "Sélectionner un élément",
5
+ "tableResizer": "Redimensionneur"
6
+ }