@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,218 +1,16 @@
1
- import { Dynamic, createComponent, getNextElement, mergeProps, runHydrationEvents, spread, template } from "solid-js/web";
2
- import { createMemo, splitProps } from "solid-js";
1
+ import { createComponent, dynamic } from "@solidjs/web";
2
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
3
3
  //#region src/ElementTag.tsx
4
- var _tmpl$ = /*#__PURE__*/ template(`<span>`), _tmpl$2 = /*#__PURE__*/ template(`<a>`), _tmpl$3 = /*#__PURE__*/ template(`<p>`), _tmpl$4 = /*#__PURE__*/ template(`<label>`), _tmpl$5 = /*#__PURE__*/ template(`<strong>`), _tmpl$6 = /*#__PURE__*/ template(`<em>`), _tmpl$7 = /*#__PURE__*/ template(`<small>`), _tmpl$8 = /*#__PURE__*/ template(`<div>`), _tmpl$9 = /*#__PURE__*/ template(`<hr>`), _tmpl$0 = /*#__PURE__*/ template(`<li>`), _tmpl$1 = /*#__PURE__*/ template(`<ul>`), _tmpl$10 = /*#__PURE__*/ template(`<ol>`), _tmpl$11 = /*#__PURE__*/ template(`<figure>`), _tmpl$12 = /*#__PURE__*/ template(`<blockquote>`), _tmpl$13 = /*#__PURE__*/ template(`<address>`), _tmpl$14 = /*#__PURE__*/ template(`<h1>`), _tmpl$15 = /*#__PURE__*/ template(`<h2>`), _tmpl$16 = /*#__PURE__*/ template(`<h3>`), _tmpl$17 = /*#__PURE__*/ template(`<h4>`), _tmpl$18 = /*#__PURE__*/ template(`<h5>`), _tmpl$19 = /*#__PURE__*/ template(`<h6>`), _tmpl$20 = /*#__PURE__*/ template(`<main>`), _tmpl$21 = /*#__PURE__*/ template(`<nav>`), _tmpl$22 = /*#__PURE__*/ template(`<header>`), _tmpl$23 = /*#__PURE__*/ template(`<footer>`), _tmpl$24 = /*#__PURE__*/ template(`<aside>`), _tmpl$25 = /*#__PURE__*/ template(`<section>`), _tmpl$26 = /*#__PURE__*/ template(`<article>`), _tmpl$27 = /*#__PURE__*/ template(`<form>`), _tmpl$28 = /*#__PURE__*/ template(`<search>`);
5
4
  /**
6
- * Renders a string tag as a *statically compiled* element.
7
- *
8
- * A drop-in replacement for `<Dynamic component={someString}>`, which is unsafe
9
- * anywhere that can render after hydration settles. Solid's `createDynamic`
10
- * string branch calls `getNextElement()` with **no** `template` argument
11
- * (solid-js 1.9.14, `web/dist/dev.js:771`). `getNextElement(template)` only
12
- * reaches the registry while `isHydrating()` holds; once `sharedConfig.done` is
13
- * set — hydration finished, but `sharedConfig.context` still live — it falls
14
- * through to `return template()` and throws `TypeError: template is not a
15
- * function`. Any deferred child lands on exactly that path: a `<Show>` that
16
- * flips, a Suspense resolution, a portal, a container that defers its children.
17
- *
18
- * Each branch below is real JSX, so the compiler emits a `template()` of its own
19
- * and hands it to `getNextElement(template)` — which adopts the SSR node from the
20
- * registry during hydration and clones the template afterwards. Both phases work.
21
- *
22
- * Props other than `tag` are spread through untouched, `children` included, so
23
- * this matches `<Dynamic>`'s behaviour exactly (`Dynamic` likewise splits only
24
- * `component` and spreads the rest onto the element).
5
+ * Solid 2's native dynamic helper adopts SSR elements during hydration and
6
+ * creates new elements after it settles. Its separate tag-source memo keeps
7
+ * unrelated reactive spread updates from replacing the element. Only `tag`
8
+ * selects the element; all other props, including children, are forwarded.
25
9
  */
26
10
  function ElementTag(props) {
27
11
  const [local, rest] = splitProps(props, ["tag"]);
28
- const cached = createMemo(() => local.tag);
29
- return createMemo(() => {
30
- switch (cached()) {
31
- case "span": return (() => {
32
- var _el$ = getNextElement(_tmpl$);
33
- spread(_el$, rest, false, false);
34
- runHydrationEvents();
35
- return _el$;
36
- })();
37
- case "a": return (() => {
38
- var _el$2 = getNextElement(_tmpl$2);
39
- spread(_el$2, rest, false, false);
40
- runHydrationEvents();
41
- return _el$2;
42
- })();
43
- case "p": return (() => {
44
- var _el$3 = getNextElement(_tmpl$3);
45
- spread(_el$3, rest, false, false);
46
- runHydrationEvents();
47
- return _el$3;
48
- })();
49
- case "label": return (() => {
50
- var _el$4 = getNextElement(_tmpl$4);
51
- spread(_el$4, rest, false, false);
52
- runHydrationEvents();
53
- return _el$4;
54
- })();
55
- case "strong": return (() => {
56
- var _el$5 = getNextElement(_tmpl$5);
57
- spread(_el$5, rest, false, false);
58
- runHydrationEvents();
59
- return _el$5;
60
- })();
61
- case "em": return (() => {
62
- var _el$6 = getNextElement(_tmpl$6);
63
- spread(_el$6, rest, false, false);
64
- runHydrationEvents();
65
- return _el$6;
66
- })();
67
- case "small": return (() => {
68
- var _el$7 = getNextElement(_tmpl$7);
69
- spread(_el$7, rest, false, false);
70
- runHydrationEvents();
71
- return _el$7;
72
- })();
73
- case "div": return (() => {
74
- var _el$8 = getNextElement(_tmpl$8);
75
- spread(_el$8, rest, false, false);
76
- runHydrationEvents();
77
- return _el$8;
78
- })();
79
- case "hr": return (() => {
80
- var _el$9 = getNextElement(_tmpl$9);
81
- spread(_el$9, rest, false, false);
82
- runHydrationEvents();
83
- return _el$9;
84
- })();
85
- case "li": return (() => {
86
- var _el$0 = getNextElement(_tmpl$0);
87
- spread(_el$0, rest, false, false);
88
- runHydrationEvents();
89
- return _el$0;
90
- })();
91
- case "ul": return (() => {
92
- var _el$1 = getNextElement(_tmpl$1);
93
- spread(_el$1, rest, false, false);
94
- runHydrationEvents();
95
- return _el$1;
96
- })();
97
- case "ol": return (() => {
98
- var _el$10 = getNextElement(_tmpl$10);
99
- spread(_el$10, rest, false, false);
100
- runHydrationEvents();
101
- return _el$10;
102
- })();
103
- case "figure": return (() => {
104
- var _el$11 = getNextElement(_tmpl$11);
105
- spread(_el$11, rest, false, false);
106
- runHydrationEvents();
107
- return _el$11;
108
- })();
109
- case "blockquote": return (() => {
110
- var _el$12 = getNextElement(_tmpl$12);
111
- spread(_el$12, rest, false, false);
112
- runHydrationEvents();
113
- return _el$12;
114
- })();
115
- case "address": return (() => {
116
- var _el$13 = getNextElement(_tmpl$13);
117
- spread(_el$13, rest, false, false);
118
- runHydrationEvents();
119
- return _el$13;
120
- })();
121
- case "h1": return (() => {
122
- var _el$14 = getNextElement(_tmpl$14);
123
- spread(_el$14, rest, false, false);
124
- runHydrationEvents();
125
- return _el$14;
126
- })();
127
- case "h2": return (() => {
128
- var _el$15 = getNextElement(_tmpl$15);
129
- spread(_el$15, rest, false, false);
130
- runHydrationEvents();
131
- return _el$15;
132
- })();
133
- case "h3": return (() => {
134
- var _el$16 = getNextElement(_tmpl$16);
135
- spread(_el$16, rest, false, false);
136
- runHydrationEvents();
137
- return _el$16;
138
- })();
139
- case "h4": return (() => {
140
- var _el$17 = getNextElement(_tmpl$17);
141
- spread(_el$17, rest, false, false);
142
- runHydrationEvents();
143
- return _el$17;
144
- })();
145
- case "h5": return (() => {
146
- var _el$18 = getNextElement(_tmpl$18);
147
- spread(_el$18, rest, false, false);
148
- runHydrationEvents();
149
- return _el$18;
150
- })();
151
- case "h6": return (() => {
152
- var _el$19 = getNextElement(_tmpl$19);
153
- spread(_el$19, rest, false, false);
154
- runHydrationEvents();
155
- return _el$19;
156
- })();
157
- case "main": return (() => {
158
- var _el$20 = getNextElement(_tmpl$20);
159
- spread(_el$20, rest, false, false);
160
- runHydrationEvents();
161
- return _el$20;
162
- })();
163
- case "nav": return (() => {
164
- var _el$21 = getNextElement(_tmpl$21);
165
- spread(_el$21, rest, false, false);
166
- runHydrationEvents();
167
- return _el$21;
168
- })();
169
- case "header": return (() => {
170
- var _el$22 = getNextElement(_tmpl$22);
171
- spread(_el$22, rest, false, false);
172
- runHydrationEvents();
173
- return _el$22;
174
- })();
175
- case "footer": return (() => {
176
- var _el$23 = getNextElement(_tmpl$23);
177
- spread(_el$23, rest, false, false);
178
- runHydrationEvents();
179
- return _el$23;
180
- })();
181
- case "aside": return (() => {
182
- var _el$24 = getNextElement(_tmpl$24);
183
- spread(_el$24, rest, false, false);
184
- runHydrationEvents();
185
- return _el$24;
186
- })();
187
- case "section": return (() => {
188
- var _el$25 = getNextElement(_tmpl$25);
189
- spread(_el$25, rest, false, false);
190
- runHydrationEvents();
191
- return _el$25;
192
- })();
193
- case "article": return (() => {
194
- var _el$26 = getNextElement(_tmpl$26);
195
- spread(_el$26, rest, false, false);
196
- runHydrationEvents();
197
- return _el$26;
198
- })();
199
- case "form": return (() => {
200
- var _el$27 = getNextElement(_tmpl$27);
201
- spread(_el$27, rest, false, false);
202
- runHydrationEvents();
203
- return _el$27;
204
- })();
205
- case "search": return (() => {
206
- var _el$28 = getNextElement(_tmpl$28);
207
- spread(_el$28, rest, false, false);
208
- runHydrationEvents();
209
- return _el$28;
210
- })();
211
- default: return createComponent(Dynamic, mergeProps({ get component() {
212
- return local.tag;
213
- } }, rest));
214
- }
215
- });
12
+ const Tag = dynamic(() => local.tag);
13
+ return createComponent(Tag, rest);
216
14
  }
217
15
  //#endregion
218
16
  export { ElementTag };
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTag.js","names":["JSX","createMemo","splitProps","Dynamic","ElementTagProps","Record","tag","children","Element","ElementTag","props","local","rest","cached","_el$","_$getNextElement","_tmpl$","_$spread","_$runHydrationEvents","_el$2","_tmpl$2","_el$3","_tmpl$3","_el$4","_tmpl$4","_el$5","_tmpl$5","_el$6","_tmpl$6","_el$7","_tmpl$7","_el$8","_tmpl$8","_el$9","_tmpl$9","_el$0","_tmpl$0","_el$1","_tmpl$1","_el$10","_tmpl$10","_el$11","_tmpl$11","_el$12","_tmpl$12","_el$13","_tmpl$13","_el$14","_tmpl$14","_el$15","_tmpl$15","_el$16","_tmpl$16","_el$17","_tmpl$17","_el$18","_tmpl$18","_el$19","_tmpl$19","_el$20","_tmpl$20","_el$21","_tmpl$21","_el$22","_tmpl$22","_el$23","_tmpl$23","_el$24","_tmpl$24","_el$25","_tmpl$25","_el$26","_tmpl$26","_el$27","_tmpl$27","_el$28","_tmpl$28","_$createComponent","_$mergeProps","component"],"sources":["../src/ElementTag.tsx"],"sourcesContent":["import { type JSX, createMemo, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\n\nexport interface ElementTagProps extends Record<string, unknown> {\n /** The HTML tag name to render. */\n tag: string;\n children?: JSX.Element;\n}\n\n/**\n * Renders a string tag as a *statically compiled* element.\n *\n * A drop-in replacement for `<Dynamic component={someString}>`, which is unsafe\n * anywhere that can render after hydration settles. Solid's `createDynamic`\n * string branch calls `getNextElement()` with **no** `template` argument\n * (solid-js 1.9.14, `web/dist/dev.js:771`). `getNextElement(template)` only\n * reaches the registry while `isHydrating()` holds; once `sharedConfig.done` is\n * set — hydration finished, but `sharedConfig.context` still live — it falls\n * through to `return template()` and throws `TypeError: template is not a\n * function`. Any deferred child lands on exactly that path: a `<Show>` that\n * flips, a Suspense resolution, a portal, a container that defers its children.\n *\n * Each branch below is real JSX, so the compiler emits a `template()` of its own\n * and hands it to `getNextElement(template)` — which adopts the SSR node from the\n * registry during hydration and clones the template afterwards. Both phases work.\n *\n * Props other than `tag` are spread through untouched, `children` included, so\n * this matches `<Dynamic>`'s behaviour exactly (`Dynamic` likewise splits only\n * `component` and spreads the rest onto the element).\n */\nexport function ElementTag(props: ElementTagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"tag\"]);\n // Two memos, layered exactly as `<Dynamic>` layers them, and for the same reason.\n // Reading a single key off a merged-props proxy forces the dynamic spread behind\n // it to evaluate (to settle key precedence), which subscribes the reader to every\n // signal that spread touches. Absorbing that read in `cached` keeps it off the memo\n // below: `cached` re-runs freely, but its *value* only moves when the tag really\n // changes, so the element is rebuilt only then. Inline the read into the memo below\n // instead and any prop change recreates the DOM node — blowing away focus, and\n // looping where an ancestor counts the children it just rendered.\n const cached = createMemo(() => local.tag);\n return createMemo(() => {\n switch (cached()) {\n // Text / inline\n case \"span\":\n return <span {...rest} />;\n case \"a\":\n return <a {...rest} />;\n case \"p\":\n return <p {...rest} />;\n case \"label\":\n return <label {...rest} />;\n case \"strong\":\n return <strong {...rest} />;\n case \"em\":\n return <em {...rest} />;\n case \"small\":\n return <small {...rest} />;\n // Flow\n case \"div\":\n return <div {...rest} />;\n case \"hr\":\n return <hr {...rest} />;\n case \"li\":\n return <li {...rest} />;\n case \"ul\":\n return <ul {...rest} />;\n case \"ol\":\n return <ol {...rest} />;\n case \"figure\":\n return <figure {...rest} />;\n case \"blockquote\":\n return <blockquote {...rest} />;\n case \"address\":\n return <address {...rest} />;\n // Headings\n case \"h1\":\n return <h1 {...rest} />;\n case \"h2\":\n return <h2 {...rest} />;\n case \"h3\":\n return <h3 {...rest} />;\n case \"h4\":\n return <h4 {...rest} />;\n case \"h5\":\n return <h5 {...rest} />;\n case \"h6\":\n return <h6 {...rest} />;\n // Landmarks\n case \"main\":\n return <main {...rest} />;\n case \"nav\":\n return <nav {...rest} />;\n case \"header\":\n return <header {...rest} />;\n case \"footer\":\n return <footer {...rest} />;\n case \"aside\":\n return <aside {...rest} />;\n case \"section\":\n return <section {...rest} />;\n case \"article\":\n return <article {...rest} />;\n case \"form\":\n return <form {...rest} />;\n case \"search\":\n return <search {...rest} />;\n default:\n // A tag no component in this package emits. Kept on `<Dynamic>` rather\n // than hand-built so hydration still adopts the SSR node; it inherits\n // the post-hydration caveat above, which is why every tag the library\n // itself renders is listed explicitly.\n return <Dynamic component={local.tag} {...rest} />;\n }\n }) as unknown as JSX.Element;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgBS,WAAWC,OAAqC;CAC9D,MAAM,CAACC,OAAOC,QAAQV,WAAWQ,OAAO,CAAC,KAAK,CAAC;CAS/C,MAAMG,SAASZ,iBAAiBU,MAAML,GAAG;CACzC,OAAOL,iBAAiB;EACtB,QAAQY,OAAO,GAAf;GAEE,KAAK,QACH,cAAA;IAAA,IAAAC,OAAAC,eAAAC,MAAA;IAAAC,OAAAH,MAAiBF,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAJ;GAAA,EAAA,CAAA;GACvB,KAAK,KACH,cAAA;IAAA,IAAAK,QAAAJ,eAAAK,OAAA;IAAAH,OAAAE,OAAcP,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAC;GAAA,EAAA,CAAA;GACpB,KAAK,KACH,cAAA;IAAA,IAAAE,QAAAN,eAAAO,OAAA;IAAAL,OAAAI,OAAcT,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAG;GAAA,EAAA,CAAA;GACpB,KAAK,SACH,cAAA;IAAA,IAAAE,QAAAR,eAAAS,OAAA;IAAAP,OAAAM,OAAkBX,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAK;GAAA,EAAA,CAAA;GACxB,KAAK,UACH,cAAA;IAAA,IAAAE,QAAAV,eAAAW,OAAA;IAAAT,OAAAQ,OAAmBb,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAO;GAAA,EAAA,CAAA;GACzB,KAAK,MACH,cAAA;IAAA,IAAAE,QAAAZ,eAAAa,OAAA;IAAAX,OAAAU,OAAef,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAS;GAAA,EAAA,CAAA;GACrB,KAAK,SACH,cAAA;IAAA,IAAAE,QAAAd,eAAAe,OAAA;IAAAb,OAAAY,OAAkBjB,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAW;GAAA,EAAA,CAAA;GAExB,KAAK,OACH,cAAA;IAAA,IAAAE,QAAAhB,eAAAiB,OAAA;IAAAf,OAAAc,OAAgBnB,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAa;GAAA,EAAA,CAAA;GACtB,KAAK,MACH,cAAA;IAAA,IAAAE,QAAAlB,eAAAmB,OAAA;IAAAjB,OAAAgB,OAAerB,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAe;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,QAAApB,eAAAqB,OAAA;IAAAnB,OAAAkB,OAAevB,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAiB;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,QAAAtB,eAAAuB,OAAA;IAAArB,OAAAoB,OAAezB,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAmB;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAAxB,eAAAyB,QAAA;IAAAvB,OAAAsB,QAAe3B,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAqB;GAAA,EAAA,CAAA;GACrB,KAAK,UACH,cAAA;IAAA,IAAAE,SAAA1B,eAAA2B,QAAA;IAAAzB,OAAAwB,QAAmB7B,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAuB;GAAA,EAAA,CAAA;GACzB,KAAK,cACH,cAAA;IAAA,IAAAE,SAAA5B,eAAA6B,QAAA;IAAA3B,OAAA0B,QAAuB/B,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAyB;GAAA,EAAA,CAAA;GAC7B,KAAK,WACH,cAAA;IAAA,IAAAE,SAAA9B,eAAA+B,QAAA;IAAA7B,OAAA4B,QAAoBjC,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA2B;GAAA,EAAA,CAAA;GAE1B,KAAK,MACH,cAAA;IAAA,IAAAE,SAAAhC,eAAAiC,QAAA;IAAA/B,OAAA8B,QAAenC,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA6B;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAAlC,eAAAmC,QAAA;IAAAjC,OAAAgC,QAAerC,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA+B;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAApC,eAAAqC,QAAA;IAAAnC,OAAAkC,QAAevC,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAiC;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAAtC,eAAAuC,QAAA;IAAArC,OAAAoC,QAAezC,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAmC;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAAxC,eAAAyC,QAAA;IAAAvC,OAAAsC,QAAe3C,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAqC;GAAA,EAAA,CAAA;GACrB,KAAK,MACH,cAAA;IAAA,IAAAE,SAAA1C,eAAA2C,QAAA;IAAAzC,OAAAwC,QAAe7C,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAuC;GAAA,EAAA,CAAA;GAErB,KAAK,QACH,cAAA;IAAA,IAAAE,SAAA5C,eAAA6C,QAAA;IAAA3C,OAAA0C,QAAiB/C,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAyC;GAAA,EAAA,CAAA;GACvB,KAAK,OACH,cAAA;IAAA,IAAAE,SAAA9C,eAAA+C,QAAA;IAAA7C,OAAA4C,QAAgBjD,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA2C;GAAA,EAAA,CAAA;GACtB,KAAK,UACH,cAAA;IAAA,IAAAE,SAAAhD,eAAAiD,QAAA;IAAA/C,OAAA8C,QAAmBnD,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA6C;GAAA,EAAA,CAAA;GACzB,KAAK,UACH,cAAA;IAAA,IAAAE,SAAAlD,eAAAmD,QAAA;IAAAjD,OAAAgD,QAAmBrD,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAA+C;GAAA,EAAA,CAAA;GACzB,KAAK,SACH,cAAA;IAAA,IAAAE,SAAApD,eAAAqD,QAAA;IAAAnD,OAAAkD,QAAkBvD,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAiD;GAAA,EAAA,CAAA;GACxB,KAAK,WACH,cAAA;IAAA,IAAAE,SAAAtD,eAAAuD,QAAA;IAAArD,OAAAoD,QAAoBzD,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAmD;GAAA,EAAA,CAAA;GAC1B,KAAK,WACH,cAAA;IAAA,IAAAE,SAAAxD,eAAAyD,QAAA;IAAAvD,OAAAsD,QAAoB3D,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAqD;GAAA,EAAA,CAAA;GAC1B,KAAK,QACH,cAAA;IAAA,IAAAE,SAAA1D,eAAA2D,QAAA;IAAAzD,OAAAwD,QAAiB7D,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAuD;GAAA,EAAA,CAAA;GACvB,KAAK,UACH,cAAA;IAAA,IAAAE,SAAA5D,eAAA6D,QAAA;IAAA3D,OAAA0D,QAAmB/D,MAAI,OAAA,KAAA;IAAAM,mBAAA;IAAA,OAAAyD;GAAA,EAAA,CAAA;GACzB,SAKE,OAAAE,gBAAQ1E,SAAO2E,WAAA,EAAA,IAACC,YAAS;IAAA,OAAEpE,MAAML;GAAG,EAAA,GAAMM,IAAI,CAAA;EAClD;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"ElementTag.js","names":["<Tag {...rest} />"],"sources":["../src/ElementTag.tsx"],"sourcesContent":["/**\n * Local Solid helper for reactive HTML tags across SSR, hydration, and updates.\n * The pinned React Aria Components source has no ElementTag counterpart.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport interface ElementTagProps extends Record<string, unknown> {\n /** The HTML tag name to render. */\n tag: string;\n children?: JSX.Element;\n}\n\n/**\n * Solid 2's native dynamic helper adopts SSR elements during hydration and\n * creates new elements after it settles. Its separate tag-source memo keeps\n * unrelated reactive spread updates from replacing the element. Only `tag`\n * selects the element; all other props, including children, are forwarded.\n */\nexport function ElementTag(props: ElementTagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"tag\"]);\n const Tag = dynamic(() => local.tag);\n return <Tag {...rest} />;\n}\n"],"mappings":";;;;;;;;;AAqBA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,CAAC,OAAO,QAAQ,WAAW,OAAO,CAAC,KAAK,CAAC;CAC/C,MAAM,MAAM,cAAc,MAAM,GAAG;CACnC,OAAOA,gBAAAA,KAAS,IAAO;AACzB"}
@@ -1,65 +1,16 @@
1
- import { createMemo, splitProps } from "solid-js";
2
- import { Dynamic } from "solid-js/web";
1
+ import { dynamic } from "@solidjs/web";
2
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
3
3
  //#region src/ElementTag.tsx
4
4
  /**
5
- * Renders a string tag as a *statically compiled* element.
6
- *
7
- * A drop-in replacement for `<Dynamic component={someString}>`, which is unsafe
8
- * anywhere that can render after hydration settles. Solid's `createDynamic`
9
- * string branch calls `getNextElement()` with **no** `template` argument
10
- * (solid-js 1.9.14, `web/dist/dev.js:771`). `getNextElement(template)` only
11
- * reaches the registry while `isHydrating()` holds; once `sharedConfig.done` is
12
- * set — hydration finished, but `sharedConfig.context` still live — it falls
13
- * through to `return template()` and throws `TypeError: template is not a
14
- * function`. Any deferred child lands on exactly that path: a `<Show>` that
15
- * flips, a Suspense resolution, a portal, a container that defers its children.
16
- *
17
- * Each branch below is real JSX, so the compiler emits a `template()` of its own
18
- * and hands it to `getNextElement(template)` — which adopts the SSR node from the
19
- * registry during hydration and clones the template afterwards. Both phases work.
20
- *
21
- * Props other than `tag` are spread through untouched, `children` included, so
22
- * this matches `<Dynamic>`'s behaviour exactly (`Dynamic` likewise splits only
23
- * `component` and spreads the rest onto the element).
5
+ * Solid 2's native dynamic helper adopts SSR elements during hydration and
6
+ * creates new elements after it settles. Its separate tag-source memo keeps
7
+ * unrelated reactive spread updates from replacing the element. Only `tag`
8
+ * selects the element; all other props, including children, are forwarded.
24
9
  */
25
10
  function ElementTag(props) {
26
11
  const [local, rest] = splitProps(props, ["tag"]);
27
- const cached = createMemo(() => local.tag);
28
- return createMemo(() => {
29
- switch (cached()) {
30
- case "span": return <span {...rest} />;
31
- case "a": return <a {...rest} />;
32
- case "p": return <p {...rest} />;
33
- case "label": return <label {...rest} />;
34
- case "strong": return <strong {...rest} />;
35
- case "em": return <em {...rest} />;
36
- case "small": return <small {...rest} />;
37
- case "div": return <div {...rest} />;
38
- case "hr": return <hr {...rest} />;
39
- case "li": return <li {...rest} />;
40
- case "ul": return <ul {...rest} />;
41
- case "ol": return <ol {...rest} />;
42
- case "figure": return <figure {...rest} />;
43
- case "blockquote": return <blockquote {...rest} />;
44
- case "address": return <address {...rest} />;
45
- case "h1": return <h1 {...rest} />;
46
- case "h2": return <h2 {...rest} />;
47
- case "h3": return <h3 {...rest} />;
48
- case "h4": return <h4 {...rest} />;
49
- case "h5": return <h5 {...rest} />;
50
- case "h6": return <h6 {...rest} />;
51
- case "main": return <main {...rest} />;
52
- case "nav": return <nav {...rest} />;
53
- case "header": return <header {...rest} />;
54
- case "footer": return <footer {...rest} />;
55
- case "aside": return <aside {...rest} />;
56
- case "section": return <section {...rest} />;
57
- case "article": return <article {...rest} />;
58
- case "form": return <form {...rest} />;
59
- case "search": return <search {...rest} />;
60
- default: return <Dynamic component={local.tag} {...rest} />;
61
- }
62
- });
12
+ const Tag = dynamic(() => local.tag);
13
+ return <Tag {...rest} />;
63
14
  }
64
15
  //#endregion
65
16
  export { ElementTag };
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTag.jsx","names":[],"sources":["../src/ElementTag.tsx"],"sourcesContent":["import { type JSX, createMemo, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\n\nexport interface ElementTagProps extends Record<string, unknown> {\n /** The HTML tag name to render. */\n tag: string;\n children?: JSX.Element;\n}\n\n/**\n * Renders a string tag as a *statically compiled* element.\n *\n * A drop-in replacement for `<Dynamic component={someString}>`, which is unsafe\n * anywhere that can render after hydration settles. Solid's `createDynamic`\n * string branch calls `getNextElement()` with **no** `template` argument\n * (solid-js 1.9.14, `web/dist/dev.js:771`). `getNextElement(template)` only\n * reaches the registry while `isHydrating()` holds; once `sharedConfig.done` is\n * set — hydration finished, but `sharedConfig.context` still live — it falls\n * through to `return template()` and throws `TypeError: template is not a\n * function`. Any deferred child lands on exactly that path: a `<Show>` that\n * flips, a Suspense resolution, a portal, a container that defers its children.\n *\n * Each branch below is real JSX, so the compiler emits a `template()` of its own\n * and hands it to `getNextElement(template)` — which adopts the SSR node from the\n * registry during hydration and clones the template afterwards. Both phases work.\n *\n * Props other than `tag` are spread through untouched, `children` included, so\n * this matches `<Dynamic>`'s behaviour exactly (`Dynamic` likewise splits only\n * `component` and spreads the rest onto the element).\n */\nexport function ElementTag(props: ElementTagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"tag\"]);\n // Two memos, layered exactly as `<Dynamic>` layers them, and for the same reason.\n // Reading a single key off a merged-props proxy forces the dynamic spread behind\n // it to evaluate (to settle key precedence), which subscribes the reader to every\n // signal that spread touches. Absorbing that read in `cached` keeps it off the memo\n // below: `cached` re-runs freely, but its *value* only moves when the tag really\n // changes, so the element is rebuilt only then. Inline the read into the memo below\n // instead and any prop change recreates the DOM node — blowing away focus, and\n // looping where an ancestor counts the children it just rendered.\n const cached = createMemo(() => local.tag);\n return createMemo(() => {\n switch (cached()) {\n // Text / inline\n case \"span\":\n return <span {...rest} />;\n case \"a\":\n return <a {...rest} />;\n case \"p\":\n return <p {...rest} />;\n case \"label\":\n return <label {...rest} />;\n case \"strong\":\n return <strong {...rest} />;\n case \"em\":\n return <em {...rest} />;\n case \"small\":\n return <small {...rest} />;\n // Flow\n case \"div\":\n return <div {...rest} />;\n case \"hr\":\n return <hr {...rest} />;\n case \"li\":\n return <li {...rest} />;\n case \"ul\":\n return <ul {...rest} />;\n case \"ol\":\n return <ol {...rest} />;\n case \"figure\":\n return <figure {...rest} />;\n case \"blockquote\":\n return <blockquote {...rest} />;\n case \"address\":\n return <address {...rest} />;\n // Headings\n case \"h1\":\n return <h1 {...rest} />;\n case \"h2\":\n return <h2 {...rest} />;\n case \"h3\":\n return <h3 {...rest} />;\n case \"h4\":\n return <h4 {...rest} />;\n case \"h5\":\n return <h5 {...rest} />;\n case \"h6\":\n return <h6 {...rest} />;\n // Landmarks\n case \"main\":\n return <main {...rest} />;\n case \"nav\":\n return <nav {...rest} />;\n case \"header\":\n return <header {...rest} />;\n case \"footer\":\n return <footer {...rest} />;\n case \"aside\":\n return <aside {...rest} />;\n case \"section\":\n return <section {...rest} />;\n case \"article\":\n return <article {...rest} />;\n case \"form\":\n return <form {...rest} />;\n case \"search\":\n return <search {...rest} />;\n default:\n // A tag no component in this package emits. Kept on `<Dynamic>` rather\n // than hand-built so hydration still adopts the SSR node; it inherits\n // the post-hydration caveat above, which is why every tag the library\n // itself renders is listed explicitly.\n return <Dynamic component={local.tag} {...rest} />;\n }\n }) as unknown as JSX.Element;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,CAAC,OAAO,QAAQ,WAAW,OAAO,CAAC,KAAK,CAAC;CAS/C,MAAM,SAAS,iBAAiB,MAAM,GAAG;CACzC,OAAO,iBAAiB;EACtB,QAAQ,OAAO,GAAf;GAEE,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,KACH,OAAO,CAAC,MAAM;GAChB,KAAK,KACH,OAAO,CAAC,MAAM;GAChB,KAAK,SACH,OAAO,CAAC,UAAU;GACpB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,SACH,OAAO,CAAC,UAAU;GAEpB,KAAK,OACH,OAAO,CAAC,QAAQ;GAClB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,cACH,OAAO,CAAC,eAAe;GACzB,KAAK,WACH,OAAO,CAAC,YAAY;GAEtB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GAEjB,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,OACH,OAAO,CAAC,QAAQ;GAClB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,SACH,OAAO,CAAC,UAAU;GACpB,KAAK,WACH,OAAO,CAAC,YAAY;GACtB,KAAK,WACH,OAAO,CAAC,YAAY;GACtB,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,SAKE,OAAO,CAAC,QAAQ,WAAW,MAAM,SAAS;EAC9C;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"ElementTag.jsx","names":[],"sources":["../src/ElementTag.tsx"],"sourcesContent":["/**\n * Local Solid helper for reactive HTML tags across SSR, hydration, and updates.\n * The pinned React Aria Components source has no ElementTag counterpart.\n */\n\nimport type { JSX } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport interface ElementTagProps extends Record<string, unknown> {\n /** The HTML tag name to render. */\n tag: string;\n children?: JSX.Element;\n}\n\n/**\n * Solid 2's native dynamic helper adopts SSR elements during hydration and\n * creates new elements after it settles. Its separate tag-source memo keeps\n * unrelated reactive spread updates from replacing the element. Only `tag`\n * selects the element; all other props, including children, are forwarded.\n */\nexport function ElementTag(props: ElementTagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"tag\"]);\n const Tag = dynamic(() => local.tag);\n return <Tag {...rest} />;\n}\n"],"mappings":";;;;;;;;;AAqBA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,CAAC,OAAO,QAAQ,WAAW,OAAO,CAAC,KAAK,CAAC;CAC/C,MAAM,MAAM,cAAc,MAAM,GAAG;CACnC,OAAO,CAAC,QAAQ;AAClB"}
@@ -1,10 +1,4 @@
1
- /**
2
- * FieldError primitive for solidaria-components.
3
- *
4
- * Displays validation errors for a field from context or explicit validation prop.
5
- * Port direction: react-aria-components/src/FieldError.tsx
6
- */
7
- import { type JSX } from "solid-js";
1
+ import type { JSX } from "@solidjs/web";
8
2
  import { type ValidationResult } from "@proyecto-viviana/solid-stately";
9
3
  import { type ClassNameOrFunction, type StyleOrFunction, type RenderChildren, type SlotProps } from "./utils";
10
4
  export type FieldErrorRenderProps = ValidationResult;
@@ -21,6 +15,13 @@ export interface FieldErrorProps extends Omit<JSX.HTMLAttributes<HTMLElement>, "
21
15
  class?: ClassNameOrFunction<FieldErrorRenderProps>;
22
16
  /** The inline style for the element. */
23
17
  style?: StyleOrFunction<FieldErrorRenderProps>;
18
+ /**
19
+ * The HTML element type to render. Defaults to `'span'`.
20
+ * Set to `'div'` when using block-level children (e.g. `<ul>`) to avoid invalid HTML.
21
+ *
22
+ * @default 'span'
23
+ */
24
+ elementType?: string;
24
25
  }
25
26
  export declare const FieldErrorContext: import("solid-js").Context<ValidationResult | FieldErrorContextValue | null>;
26
27
  export declare function FieldError(props: FieldErrorProps): JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldError.d.ts","sourceRoot":"","sources":["../src/FieldError.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2D,MAAM,UAAU,CAAC;AAC7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,SAAS;IACxF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACjD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,8EAE7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+CrE"}
1
+ {"version":3,"file":"FieldError.d.ts","sourceRoot":"","sources":["../src/FieldError.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,SAAS;IACxF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACjD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,8EAE7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAuDrE"}
@@ -1,15 +1,28 @@
1
+ /*
2
+ * Copyright 2023 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/FieldError.tsx
1
13
  import { filterDOMProps, useRenderProps } from "./utils.js";
2
- import { createComponent, getNextElement, insert, memo, mergeProps, runHydrationEvents, spread, template } from "solid-js/web";
3
- import { Show, createContext, createMemo, splitProps, useContext } from "solid-js";
14
+ import { Text } from "./Text.js";
15
+ import { createComponent, memo, mergeProps } from "@solidjs/web";
16
+ import { Show, createContext, createMemo, useContext } from "solid-js";
17
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
4
18
  import { DEFAULT_VALIDATION_RESULT } from "@proyecto-viviana/solid-stately";
5
19
  //#region src/FieldError.tsx
6
20
  /**
7
21
  * FieldError primitive for solidaria-components.
8
22
  *
9
23
  * Displays validation errors for a field from context or explicit validation prop.
10
- * Port direction: react-aria-components/src/FieldError.tsx
24
+ * Based on packages/react-aria-components/src/FieldError.tsx.
11
25
  */
12
- var _tmpl$ = /*#__PURE__*/ template(`<div>`);
13
26
  const FieldErrorContext = createContext(null);
14
27
  function FieldError(props) {
15
28
  const contextValue = useContext(FieldErrorContext);
@@ -26,7 +39,8 @@ function FieldError(props) {
26
39
  "children",
27
40
  "class",
28
41
  "style",
29
- "slot"
42
+ "slot",
43
+ "elementType"
30
44
  ]);
31
45
  const validation = createMemo(() => local.validation ?? contextValidation());
32
46
  const renderProps = useRenderProps({
@@ -39,24 +53,30 @@ function FieldError(props) {
39
53
  const children = () => renderProps.renderChildren();
40
54
  return createComponent(Show, {
41
55
  get when() {
42
- return memo(() => !!validation()?.isInvalid)() && children();
56
+ return memo(() => {
57
+ return !!validation()?.isInvalid;
58
+ })() ? children() : validation()?.isInvalid;
43
59
  },
44
60
  get children() {
45
- var _el$ = getNextElement(_tmpl$);
46
- spread(_el$, mergeProps(() => contextErrorMessageProps(), filteredDomProps, {
61
+ return createComponent(Text, mergeProps(() => {
62
+ return contextErrorMessageProps();
63
+ }, filteredDomProps, {
47
64
  get slot() {
48
65
  return local.slot ?? "errorMessage";
49
66
  },
50
- get ["class"]() {
67
+ get elementType() {
68
+ return local.elementType;
69
+ },
70
+ get "class"() {
51
71
  return renderProps.class();
52
72
  },
53
73
  get style() {
54
74
  return renderProps.style();
75
+ },
76
+ get children() {
77
+ return children();
55
78
  }
56
- }), false, true);
57
- insert(_el$, children);
58
- runHydrationEvents();
59
- return _el$;
79
+ }));
60
80
  }
61
81
  });
62
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldError.js","names":["JSX","Show","createContext","createMemo","splitProps","useContext","DEFAULT_VALIDATION_RESULT","ValidationResult","ClassNameOrFunction","StyleOrFunction","RenderChildren","SlotProps","useRenderProps","filterDOMProps","FieldErrorRenderProps","FieldErrorContextValue","validation","errorMessageProps","HTMLAttributes","HTMLElement","FieldErrorProps","Omit","children","class","style","FieldErrorContext","FieldError","props","Element","contextValue","contextValidation","contextErrorMessageProps","local","domProps","renderProps","currentValidation","validationErrors","join","defaultClassName","filteredDomProps","global","renderChildren","_$createComponent","when","_$memo","isInvalid","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","HTMLDivElement","slot","_$insert","_$runHydrationEvents"],"sources":["../src/FieldError.tsx"],"sourcesContent":["/**\n * FieldError primitive for solidaria-components.\n *\n * Displays validation errors for a field from context or explicit validation prop.\n * Port direction: react-aria-components/src/FieldError.tsx\n */\n\nimport { type JSX, Show, createContext, createMemo, splitProps, useContext } from \"solid-js\";\nimport { DEFAULT_VALIDATION_RESULT, type ValidationResult } from \"@proyecto-viviana/solid-stately\";\nimport {\n type ClassNameOrFunction,\n type StyleOrFunction,\n type RenderChildren,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\n\nexport type FieldErrorRenderProps = ValidationResult;\n\nexport interface FieldErrorContextValue {\n validation: ValidationResult | null;\n errorMessageProps?: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface FieldErrorProps\n extends Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\" | \"style\">, SlotProps {\n /** Validation result. Falls back to context when omitted. */\n validation?: ValidationResult | null;\n /** The children of the component. */\n children?: RenderChildren<FieldErrorRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<FieldErrorRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<FieldErrorRenderProps>;\n}\n\nexport const FieldErrorContext = createContext<ValidationResult | FieldErrorContextValue | null>(\n null,\n);\n\nexport function FieldError(props: FieldErrorProps): JSX.Element | null {\n const contextValue = useContext(FieldErrorContext);\n const contextValidation = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.validation;\n }\n return contextValue;\n };\n const contextErrorMessageProps = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.errorMessageProps ?? {};\n }\n return {};\n };\n const [local, domProps] = splitProps(props, [\"validation\", \"children\", \"class\", \"style\", \"slot\"]);\n\n const validation = createMemo<ValidationResult | null>(\n () => local.validation ?? contextValidation(),\n );\n\n const renderProps = useRenderProps(\n {\n children:\n local.children ?? ((currentValidation) => currentValidation.validationErrors.join(\" \")),\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-FieldError\",\n },\n () => validation() ?? DEFAULT_VALIDATION_RESULT,\n );\n\n const filteredDomProps = filterDOMProps(domProps, { global: true });\n const children = () => renderProps.renderChildren();\n\n return (\n <Show when={validation()?.isInvalid && children()}>\n <div\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLDivElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLDivElement>)}\n slot={local.slot ?? \"errorMessage\"}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </div>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAqCA,MAAayB,oBAAoBvB,cAC/B,IACF;AAEA,SAAgBwB,WAAWC,OAA4C;CACrE,MAAME,eAAexB,WAAWoB,iBAAiB;CACjD,MAAMK,0BAA0B;EAC9B,IAAID,gBAAgB,gBAAgBA,cAClC,OAAOA,aAAab;EAEtB,OAAOa;CACT;CACA,MAAME,iCAAiC;EACrC,IAAIF,gBAAgB,gBAAgBA,cAClC,OAAOA,aAAaZ,qBAAqB,CAAC;EAE5C,OAAO,CAAC;CACV;CACA,MAAM,CAACe,OAAOC,YAAY7B,WAAWuB,OAAO;EAAC;EAAc;EAAY;EAAS;EAAS;CAAM,CAAC;CAEhG,MAAMX,aAAab,iBACX6B,MAAMhB,cAAcc,kBAAkB,CAC9C;CAEA,MAAMI,cAActB,eAClB;EACEU,UACEU,MAAMV,cAAca,sBAAsBA,kBAAkBC,iBAAiBC,KAAK,GAAG;EACvFd,OAAOS,MAAMT;EACbC,OAAOQ,MAAMR;EACbc,kBAAkB;CACpB,SACMtB,WAAW,KAAKV,yBACxB;CAEA,MAAMiC,mBAAmB1B,eAAeoB,UAAU,EAAEO,QAAQ,KAAK,CAAC;CAClE,MAAMlB,iBAAiBY,YAAYO,eAAe;CAElD,OAAAC,gBACGzC,MAAI;EAAA,IAAC0C,OAAI;GAAA,OAAEC,WAAA,CAAA,CAAA5B,WAAW,CAAC,EAAE6B,SAAS,CAAA,CAAA,KAAIvB,SAAS;EAAC;EAAA,IAAAA,WAAA;GAAA,IAAAwB,OAAAC,eAAAC,MAAA;GAAAC,OAAAH,MAAAI,iBAExCnB,yBAAyB,GACzBQ,kBAAsD;IAAA,IAC3Da,OAAI;KAAA,OAAEpB,MAAMoB,QAAQ;IAAc;IAAA,KAAA,WAAA;KAAA,OAC3BlB,YAAYX,MAAM;IAAC;IAAA,IAC1BC,QAAK;KAAA,OAAEU,YAAYV,MAAM;IAAC;GAAA,CAAA,GAAA,OAAA,IAAA;GAAA6B,OAAAP,MAEzBxB,QAAQ;GAAAgC,mBAAA;GAAA,OAAAR;EAAA;CAAA,CAAA;AAIjB"}
1
+ {"version":3,"file":"FieldError.js","names":["<Show when={validation()?.isInvalid && children()}>\n <Text\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLElement>)}\n slot={local.slot ?? \"errorMessage\"}\n elementType={local.elementType}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </Text>\n </Show>","validation()?.isInvalid && children()","<Text\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLElement>)}\n slot={local.slot ?? \"errorMessage\"}\n elementType={local.elementType}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </Text>"],"sources":["../src/FieldError.tsx"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/FieldError.tsx\n\n/**\n * FieldError primitive for solidaria-components.\n *\n * Displays validation errors for a field from context or explicit validation prop.\n * Based on packages/react-aria-components/src/FieldError.tsx.\n */\n\nimport { Show, createContext, createMemo, useContext } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { DEFAULT_VALIDATION_RESULT, type ValidationResult } from \"@proyecto-viviana/solid-stately\";\nimport {\n type ClassNameOrFunction,\n type StyleOrFunction,\n type RenderChildren,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { Text } from \"./Text\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport type FieldErrorRenderProps = ValidationResult;\n\nexport interface FieldErrorContextValue {\n validation: ValidationResult | null;\n errorMessageProps?: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface FieldErrorProps\n extends Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\" | \"style\">, SlotProps {\n /** Validation result. Falls back to context when omitted. */\n validation?: ValidationResult | null;\n /** The children of the component. */\n children?: RenderChildren<FieldErrorRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<FieldErrorRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<FieldErrorRenderProps>;\n /**\n * The HTML element type to render. Defaults to `'span'`.\n * Set to `'div'` when using block-level children (e.g. `<ul>`) to avoid invalid HTML.\n *\n * @default 'span'\n */\n elementType?: string;\n}\n\nexport const FieldErrorContext = createContext<ValidationResult | FieldErrorContextValue | null>(\n null,\n);\n\nexport function FieldError(props: FieldErrorProps): JSX.Element | null {\n const contextValue = useContext(FieldErrorContext);\n const contextValidation = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.validation;\n }\n return contextValue;\n };\n const contextErrorMessageProps = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.errorMessageProps ?? {};\n }\n return {};\n };\n const [local, domProps] = splitProps(props, [\n \"validation\",\n \"children\",\n \"class\",\n \"style\",\n \"slot\",\n \"elementType\",\n ]);\n\n const validation = createMemo<ValidationResult | null>(\n () => local.validation ?? contextValidation(),\n );\n\n const renderProps = useRenderProps(\n {\n children:\n local.children ?? ((currentValidation) => currentValidation.validationErrors.join(\" \")),\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-FieldError\",\n },\n () => validation() ?? DEFAULT_VALIDATION_RESULT,\n );\n\n const filteredDomProps = filterDOMProps(domProps, { global: true });\n const children = () => renderProps.renderChildren();\n\n return (\n <Show when={validation()?.isInvalid && children()}>\n <Text\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLElement>)}\n slot={local.slot ?? \"errorMessage\"}\n elementType={local.elementType}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </Text>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,MAAa,oBAAoB,cAC/B,IACF;AAEA,SAAgB,WAAW,OAA4C;CACrE,MAAM,eAAe,WAAW,iBAAiB;CACjD,MAAM,0BAA0B;EAC9B,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa;EAEtB,OAAO;CACT;CACA,MAAM,iCAAiC;EACrC,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa,qBAAqB,CAAC;EAE5C,OAAO,CAAC;CACV;CACA,MAAM,CAAC,OAAO,YAAY,WAAW,OAAO;EAC1C;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,aAAa,iBACX,MAAM,cAAc,kBAAkB,CAC9C;CAEA,MAAM,cAAc,eAClB;EACE,UACE,MAAM,cAAc,sBAAsB,kBAAkB,iBAAiB,KAAK,GAAG;EACvF,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,SACM,WAAW,KAAK,yBACxB;CAEA,MAAM,mBAAmB,eAAe,UAAU,EAAE,QAAQ,KAAK,CAAC;CAClE,MAAM,iBAAiB,YAAY,eAAe;CAElD,OACEA,gBAAAA,MAAAA;EAAM,IAAA,OAAA;GAAMC,OAAAA,WAAAA;IAAW,OAAA,CAAA,CAAA,WAAA,CAAC,EAAE;GAAsB,CAAA,CAAC,CAAD,IAAT,SAAS,IAApC,WAAW,CAAC,EAAE;EAAuB;EAAjD,IAAA,WAAA;GACEC,OAAAA,gBAAAA,MAAAA,iBACE;IAAK,OAAA,yBAAyB;GAAgD,GACzE,kBAFP;IAGE,IAAA,OAAA;KAAM,OAAA,MAAM,QAAQ;IAAc;IAClC,IAAA,cAAA;KAAa,OAAA,MAAM;IAAW;IAC9B,IAAA,UAAA;KAAO,OAAA,YAAY,MAAM;IAAC;IAC1B,IAAA,QAAA;KAAO,OAAA,YAAY,MAAM;IAAC;IAN5B,IAAA,WAAA;KAQG,OAAA,SAAS;IACN;;EACF;;AAEV"}
@@ -1,12 +1,26 @@
1
+ /*
2
+ * Copyright 2023 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/FieldError.tsx
1
13
  import { filterDOMProps, useRenderProps } from "./utils.jsx";
2
- import { Show, createContext, createMemo, splitProps, useContext } from "solid-js";
14
+ import { Text } from "./Text.jsx";
15
+ import { Show, createContext, createMemo, useContext } from "solid-js";
16
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
3
17
  import { DEFAULT_VALIDATION_RESULT } from "@proyecto-viviana/solid-stately";
4
18
  //#region src/FieldError.tsx
5
19
  /**
6
20
  * FieldError primitive for solidaria-components.
7
21
  *
8
22
  * Displays validation errors for a field from context or explicit validation prop.
9
- * Port direction: react-aria-components/src/FieldError.tsx
23
+ * Based on packages/react-aria-components/src/FieldError.tsx.
10
24
  */
11
25
  const FieldErrorContext = createContext(null);
12
26
  function FieldError(props) {
@@ -24,7 +38,8 @@ function FieldError(props) {
24
38
  "children",
25
39
  "class",
26
40
  "style",
27
- "slot"
41
+ "slot",
42
+ "elementType"
28
43
  ]);
29
44
  const validation = createMemo(() => local.validation ?? contextValidation());
30
45
  const renderProps = useRenderProps({
@@ -36,9 +51,9 @@ function FieldError(props) {
36
51
  const filteredDomProps = filterDOMProps(domProps, { global: true });
37
52
  const children = () => renderProps.renderChildren();
38
53
  return <Show when={validation()?.isInvalid && children()}>
39
- <div {...contextErrorMessageProps()} {...filteredDomProps} slot={local.slot ?? "errorMessage"} class={renderProps.class()} style={renderProps.style()}>
54
+ <Text {...contextErrorMessageProps()} {...filteredDomProps} slot={local.slot ?? "errorMessage"} elementType={local.elementType} class={renderProps.class()} style={renderProps.style()}>
40
55
  {children()}
41
- </div>
56
+ </Text>
42
57
  </Show>;
43
58
  }
44
59
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"FieldError.jsx","names":[],"sources":["../src/FieldError.tsx"],"sourcesContent":["/**\n * FieldError primitive for solidaria-components.\n *\n * Displays validation errors for a field from context or explicit validation prop.\n * Port direction: react-aria-components/src/FieldError.tsx\n */\n\nimport { type JSX, Show, createContext, createMemo, splitProps, useContext } from \"solid-js\";\nimport { DEFAULT_VALIDATION_RESULT, type ValidationResult } from \"@proyecto-viviana/solid-stately\";\nimport {\n type ClassNameOrFunction,\n type StyleOrFunction,\n type RenderChildren,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\n\nexport type FieldErrorRenderProps = ValidationResult;\n\nexport interface FieldErrorContextValue {\n validation: ValidationResult | null;\n errorMessageProps?: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface FieldErrorProps\n extends Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\" | \"style\">, SlotProps {\n /** Validation result. Falls back to context when omitted. */\n validation?: ValidationResult | null;\n /** The children of the component. */\n children?: RenderChildren<FieldErrorRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<FieldErrorRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<FieldErrorRenderProps>;\n}\n\nexport const FieldErrorContext = createContext<ValidationResult | FieldErrorContextValue | null>(\n null,\n);\n\nexport function FieldError(props: FieldErrorProps): JSX.Element | null {\n const contextValue = useContext(FieldErrorContext);\n const contextValidation = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.validation;\n }\n return contextValue;\n };\n const contextErrorMessageProps = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.errorMessageProps ?? {};\n }\n return {};\n };\n const [local, domProps] = splitProps(props, [\"validation\", \"children\", \"class\", \"style\", \"slot\"]);\n\n const validation = createMemo<ValidationResult | null>(\n () => local.validation ?? contextValidation(),\n );\n\n const renderProps = useRenderProps(\n {\n children:\n local.children ?? ((currentValidation) => currentValidation.validationErrors.join(\" \")),\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-FieldError\",\n },\n () => validation() ?? DEFAULT_VALIDATION_RESULT,\n );\n\n const filteredDomProps = filterDOMProps(domProps, { global: true });\n const children = () => renderProps.renderChildren();\n\n return (\n <Show when={validation()?.isInvalid && children()}>\n <div\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLDivElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLDivElement>)}\n slot={local.slot ?? \"errorMessage\"}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </div>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;;;AAqCA,MAAa,oBAAoB,cAC/B,IACF;AAEA,SAAgB,WAAW,OAA4C;CACrE,MAAM,eAAe,WAAW,iBAAiB;CACjD,MAAM,0BAA0B;EAC9B,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa;EAEtB,OAAO;CACT;CACA,MAAM,iCAAiC;EACrC,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa,qBAAqB,CAAC;EAE5C,OAAO,CAAC;CACV;CACA,MAAM,CAAC,OAAO,YAAY,WAAW,OAAO;EAAC;EAAc;EAAY;EAAS;EAAS;CAAM,CAAC;CAEhG,MAAM,aAAa,iBACX,MAAM,cAAc,kBAAkB,CAC9C;CAEA,MAAM,cAAc,eAClB;EACE,UACE,MAAM,cAAc,sBAAsB,kBAAkB,iBAAiB,KAAK,GAAG;EACvF,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,SACM,WAAW,KAAK,yBACxB;CAEA,MAAM,mBAAmB,eAAe,UAAU,EAAE,QAAQ,KAAK,CAAC;CAClE,MAAM,iBAAiB,YAAY,eAAe;CAElD,OACE,CAAC,KAAK,MAAM,WAAW,CAAC,EAAE,aAAa,SAAS,GAAG;MACjD,CAAC,QACM,yBAAyB,OACzB,kBACL,MAAM,MAAM,QAAQ,gBACpB,OAAO,YAAY,MAAM,GACzB,OAAO,YAAY,MAAM,GAC1B;SACE,SAAS,EAAE;MACd,EAAE,IAAI;IACR,EAAE;AAEN"}
1
+ {"version":3,"file":"FieldError.jsx","names":[],"sources":["../src/FieldError.tsx"],"sourcesContent":["/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/FieldError.tsx\n\n/**\n * FieldError primitive for solidaria-components.\n *\n * Displays validation errors for a field from context or explicit validation prop.\n * Based on packages/react-aria-components/src/FieldError.tsx.\n */\n\nimport { Show, createContext, createMemo, useContext } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { DEFAULT_VALIDATION_RESULT, type ValidationResult } from \"@proyecto-viviana/solid-stately\";\nimport {\n type ClassNameOrFunction,\n type StyleOrFunction,\n type RenderChildren,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { Text } from \"./Text\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport type FieldErrorRenderProps = ValidationResult;\n\nexport interface FieldErrorContextValue {\n validation: ValidationResult | null;\n errorMessageProps?: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface FieldErrorProps\n extends Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\" | \"style\">, SlotProps {\n /** Validation result. Falls back to context when omitted. */\n validation?: ValidationResult | null;\n /** The children of the component. */\n children?: RenderChildren<FieldErrorRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<FieldErrorRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<FieldErrorRenderProps>;\n /**\n * The HTML element type to render. Defaults to `'span'`.\n * Set to `'div'` when using block-level children (e.g. `<ul>`) to avoid invalid HTML.\n *\n * @default 'span'\n */\n elementType?: string;\n}\n\nexport const FieldErrorContext = createContext<ValidationResult | FieldErrorContextValue | null>(\n null,\n);\n\nexport function FieldError(props: FieldErrorProps): JSX.Element | null {\n const contextValue = useContext(FieldErrorContext);\n const contextValidation = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.validation;\n }\n return contextValue;\n };\n const contextErrorMessageProps = () => {\n if (contextValue && \"validation\" in contextValue) {\n return contextValue.errorMessageProps ?? {};\n }\n return {};\n };\n const [local, domProps] = splitProps(props, [\n \"validation\",\n \"children\",\n \"class\",\n \"style\",\n \"slot\",\n \"elementType\",\n ]);\n\n const validation = createMemo<ValidationResult | null>(\n () => local.validation ?? contextValidation(),\n );\n\n const renderProps = useRenderProps(\n {\n children:\n local.children ?? ((currentValidation) => currentValidation.validationErrors.join(\" \")),\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-FieldError\",\n },\n () => validation() ?? DEFAULT_VALIDATION_RESULT,\n );\n\n const filteredDomProps = filterDOMProps(domProps, { global: true });\n const children = () => renderProps.renderChildren();\n\n return (\n <Show when={validation()?.isInvalid && children()}>\n <Text\n {...(contextErrorMessageProps() as unknown as JSX.HTMLAttributes<HTMLElement>)}\n {...(filteredDomProps as JSX.HTMLAttributes<HTMLElement>)}\n slot={local.slot ?? \"errorMessage\"}\n elementType={local.elementType}\n class={renderProps.class()}\n style={renderProps.style()}\n >\n {children()}\n </Text>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6DA,MAAa,oBAAoB,cAC/B,IACF;AAEA,SAAgB,WAAW,OAA4C;CACrE,MAAM,eAAe,WAAW,iBAAiB;CACjD,MAAM,0BAA0B;EAC9B,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa;EAEtB,OAAO;CACT;CACA,MAAM,iCAAiC;EACrC,IAAI,gBAAgB,gBAAgB,cAClC,OAAO,aAAa,qBAAqB,CAAC;EAE5C,OAAO,CAAC;CACV;CACA,MAAM,CAAC,OAAO,YAAY,WAAW,OAAO;EAC1C;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,aAAa,iBACX,MAAM,cAAc,kBAAkB,CAC9C;CAEA,MAAM,cAAc,eAClB;EACE,UACE,MAAM,cAAc,sBAAsB,kBAAkB,iBAAiB,KAAK,GAAG;EACvF,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,SACM,WAAW,KAAK,yBACxB;CAEA,MAAM,mBAAmB,eAAe,UAAU,EAAE,QAAQ,KAAK,CAAC;CAClE,MAAM,iBAAiB,YAAY,eAAe;CAElD,OACE,CAAC,KAAK,MAAM,WAAW,CAAC,EAAE,aAAa,SAAS,GAAG;MACjD,CAAC,SACM,yBAAyB,OACzB,kBACL,MAAM,MAAM,QAAQ,gBACpB,aAAa,MAAM,aACnB,OAAO,YAAY,MAAM,GACzB,OAAO,YAAY,MAAM,GAC1B;SACE,SAAS,EAAE;MACd,EAAE,KAAK;IACT,EAAE;AAEN"}
@@ -1,10 +1,4 @@
1
- /**
2
- * FileTrigger primitive for solidaria-components.
3
- *
4
- * Opens the native file picker from any pressable child.
5
- * Parity target: react-aria-components/src/FileTrigger.tsx
6
- */
7
- import { type JSX } from "solid-js";
1
+ import type { JSX } from "@solidjs/web";
8
2
  export interface FileTriggerProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "type" | "onChange" | "children" | "onSelect"> {
9
3
  /** Mime types accepted by the file picker. */
10
4
  acceptedFileTypes?: ReadonlyArray<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"FileTrigger.d.ts","sourceRoot":"","sources":["../src/FileTrigger.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA4B,MAAM,UAAU,CAAC;AAG9D,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACzC,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAC9C;IACC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACvC,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAmDhE"}
1
+ {"version":3,"file":"FileTrigger.d.ts","sourceRoot":"","sources":["../src/FileTrigger.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAIxC,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACzC,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAC9C;IACC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACvC,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAkDhE"}