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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +4 -7
  4. package/dist/ActionBar.d.ts +2 -10
  5. package/dist/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar.js +95 -59
  7. package/dist/ActionBar.js.map +1 -1
  8. package/dist/ActionBar.jsx +42 -15
  9. package/dist/ActionBar.jsx.map +1 -1
  10. package/dist/ActionGroup.d.ts +1 -12
  11. package/dist/ActionGroup.d.ts.map +1 -1
  12. package/dist/ActionGroup.js +66 -44
  13. package/dist/ActionGroup.js.map +1 -1
  14. package/dist/ActionGroup.jsx +25 -10
  15. package/dist/ActionGroup.jsx.map +1 -1
  16. package/dist/Alert.d.ts +4 -1
  17. package/dist/Alert.d.ts.map +1 -1
  18. package/dist/Alert.js +25 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +9 -5
  21. package/dist/Alert.jsx.map +1 -1
  22. package/dist/Autocomplete.d.ts +2 -9
  23. package/dist/Autocomplete.d.ts.map +1 -1
  24. package/dist/Autocomplete.js +18 -5
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +20 -7
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -7
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +71 -51
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +25 -12
  33. package/dist/Breadcrumbs.jsx.map +1 -1
  34. package/dist/Button.d.ts +1 -7
  35. package/dist/Button.d.ts.map +1 -1
  36. package/dist/Button.js +125 -72
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +105 -43
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +1 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +297 -221
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +52 -32
  45. package/dist/Calendar.jsx.map +1 -1
  46. package/dist/CalendarPicker.d.ts +1 -10
  47. package/dist/CalendarPicker.d.ts.map +1 -1
  48. package/dist/CalendarPicker.js +12 -0
  49. package/dist/CalendarPicker.js.map +1 -1
  50. package/dist/CalendarPicker.jsx +12 -0
  51. package/dist/CalendarPicker.jsx.map +1 -1
  52. package/dist/Checkbox.d.ts +2 -7
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +332 -270
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +70 -77
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +33 -7
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +128 -74
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +46 -7
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +15 -20
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +572 -334
  67. package/dist/Color.js.map +1 -1
  68. package/dist/Color.jsx +205 -85
  69. package/dist/Color.jsx.map +1 -1
  70. package/dist/ColorEditor.d.ts +3 -1
  71. package/dist/ColorEditor.d.ts.map +1 -1
  72. package/dist/ColorEditor.js +147 -124
  73. package/dist/ColorEditor.js.map +1 -1
  74. package/dist/ColorEditor.jsx +4 -1
  75. package/dist/ColorEditor.jsx.map +1 -1
  76. package/dist/ComboBox.d.ts +31 -10
  77. package/dist/ComboBox.d.ts.map +1 -1
  78. package/dist/ComboBox.js +539 -274
  79. package/dist/ComboBox.js.map +1 -1
  80. package/dist/ComboBox.jsx +213 -70
  81. package/dist/ComboBox.jsx.map +1 -1
  82. package/dist/ContextualHelpTrigger.d.ts +1 -7
  83. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  84. package/dist/ContextualHelpTrigger.js +102 -72
  85. package/dist/ContextualHelpTrigger.js.map +1 -1
  86. package/dist/ContextualHelpTrigger.jsx +36 -16
  87. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  88. package/dist/DateField.d.ts +2 -7
  89. package/dist/DateField.d.ts.map +1 -1
  90. package/dist/DateField.js +0 -2
  91. package/dist/DateField.jsx +0 -2
  92. package/dist/DateField2.js +194 -179
  93. package/dist/DateField2.js.map +1 -1
  94. package/dist/DateField2.jsx +58 -55
  95. package/dist/DateField2.jsx.map +1 -1
  96. package/dist/DatePicker.d.ts +7 -7
  97. package/dist/DatePicker.d.ts.map +1 -1
  98. package/dist/DatePicker.js +2 -2
  99. package/dist/DatePicker.jsx +2 -2
  100. package/dist/DatePicker2.js +357 -435
  101. package/dist/DatePicker2.js.map +1 -1
  102. package/dist/DatePicker2.jsx +109 -178
  103. package/dist/DatePicker2.jsx.map +1 -1
  104. package/dist/DateRangePickerContext.d.ts +7 -0
  105. package/dist/DateRangePickerContext.d.ts.map +1 -1
  106. package/dist/Dialog.d.ts +4 -9
  107. package/dist/Dialog.d.ts.map +1 -1
  108. package/dist/Dialog.js +168 -101
  109. package/dist/Dialog.js.map +1 -1
  110. package/dist/Dialog.jsx +75 -27
  111. package/dist/Dialog.jsx.map +1 -1
  112. package/dist/Disclosure.d.ts +1 -9
  113. package/dist/Disclosure.d.ts.map +1 -1
  114. package/dist/Disclosure.js +121 -79
  115. package/dist/Disclosure.js.map +1 -1
  116. package/dist/Disclosure.jsx +32 -19
  117. package/dist/Disclosure.jsx.map +1 -1
  118. package/dist/DragAndDrop.d.ts +9 -6
  119. package/dist/DragAndDrop.d.ts.map +1 -1
  120. package/dist/DragAndDrop.js +37 -22
  121. package/dist/DragAndDrop.js.map +1 -1
  122. package/dist/DragAndDrop.jsx +20 -4
  123. package/dist/DragAndDrop.jsx.map +1 -1
  124. package/dist/DragPreview.d.ts +1 -1
  125. package/dist/DragPreview.d.ts.map +1 -1
  126. package/dist/DropZone.d.ts +1 -7
  127. package/dist/DropZone.d.ts.map +1 -1
  128. package/dist/DropZone.js +74 -40
  129. package/dist/DropZone.js.map +1 -1
  130. package/dist/DropZone.jsx +24 -8
  131. package/dist/DropZone.jsx.map +1 -1
  132. package/dist/ElementTag.d.ts +9 -20
  133. package/dist/ElementTag.d.ts.map +1 -1
  134. package/dist/ElementTag.js +8 -210
  135. package/dist/ElementTag.js.map +1 -1
  136. package/dist/ElementTag.jsx +8 -57
  137. package/dist/ElementTag.jsx.map +1 -1
  138. package/dist/FieldError.d.ts +8 -7
  139. package/dist/FieldError.d.ts.map +1 -1
  140. package/dist/FieldError.js +33 -13
  141. package/dist/FieldError.js.map +1 -1
  142. package/dist/FieldError.jsx +20 -5
  143. package/dist/FieldError.jsx.map +1 -1
  144. package/dist/FileTrigger.d.ts +1 -7
  145. package/dist/FileTrigger.d.ts.map +1 -1
  146. package/dist/FileTrigger.js +30 -12
  147. package/dist/FileTrigger.js.map +1 -1
  148. package/dist/FileTrigger.jsx +15 -2
  149. package/dist/FileTrigger.jsx.map +1 -1
  150. package/dist/Focusable.d.ts +2 -8
  151. package/dist/Focusable.d.ts.map +1 -1
  152. package/dist/Focusable.js +23 -6
  153. package/dist/Focusable.js.map +1 -1
  154. package/dist/Focusable.jsx +22 -5
  155. package/dist/Focusable.jsx.map +1 -1
  156. package/dist/Form.d.ts +9 -8
  157. package/dist/Form.d.ts.map +1 -1
  158. package/dist/Form.js +66 -43
  159. package/dist/Form.js.map +1 -1
  160. package/dist/Form.jsx +36 -16
  161. package/dist/Form.jsx.map +1 -1
  162. package/dist/GridList.d.ts +5 -10
  163. package/dist/GridList.d.ts.map +1 -1
  164. package/dist/GridList.js +372 -243
  165. package/dist/GridList.js.map +1 -1
  166. package/dist/GridList.jsx +177 -99
  167. package/dist/GridList.jsx.map +1 -1
  168. package/dist/HiddenDateInput.d.ts +1 -7
  169. package/dist/HiddenDateInput.d.ts.map +1 -1
  170. package/dist/Icon.d.ts +4 -1
  171. package/dist/Icon.d.ts.map +1 -1
  172. package/dist/Icon.js +41 -37
  173. package/dist/Icon.js.map +1 -1
  174. package/dist/Icon.jsx +7 -3
  175. package/dist/Icon.jsx.map +1 -1
  176. package/dist/Keyboard.d.ts +1 -7
  177. package/dist/Keyboard.d.ts.map +1 -1
  178. package/dist/Keyboard.js +24 -11
  179. package/dist/Keyboard.js.map +1 -1
  180. package/dist/Keyboard.jsx +15 -2
  181. package/dist/Keyboard.jsx.map +1 -1
  182. package/dist/Label.d.ts +20 -0
  183. package/dist/Label.d.ts.map +1 -0
  184. package/dist/Label.js +60 -0
  185. package/dist/Label.js.map +1 -0
  186. package/dist/Label.jsx +47 -0
  187. package/dist/Label.jsx.map +1 -0
  188. package/dist/Landmark.d.ts +4 -1
  189. package/dist/Landmark.d.ts.map +1 -1
  190. package/dist/Landmark.js +10 -4
  191. package/dist/Landmark.js.map +1 -1
  192. package/dist/Landmark.jsx +5 -1
  193. package/dist/Landmark.jsx.map +1 -1
  194. package/dist/Link.d.ts +2 -7
  195. package/dist/Link.d.ts.map +1 -1
  196. package/dist/Link.js +56 -36
  197. package/dist/Link.js.map +1 -1
  198. package/dist/Link.jsx +52 -10
  199. package/dist/Link.jsx.map +1 -1
  200. package/dist/ListBox.d.ts +17 -13
  201. package/dist/ListBox.d.ts.map +1 -1
  202. package/dist/ListBox.js +647 -348
  203. package/dist/ListBox.js.map +1 -1
  204. package/dist/ListBox.jsx +339 -236
  205. package/dist/ListBox.jsx.map +1 -1
  206. package/dist/ListDropTargetDelegate.d.ts +3 -0
  207. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  208. package/dist/Menu.d.ts +39 -30
  209. package/dist/Menu.d.ts.map +1 -1
  210. package/dist/Menu.js +547 -368
  211. package/dist/Menu.js.map +1 -1
  212. package/dist/Menu.jsx +328 -230
  213. package/dist/Menu.jsx.map +1 -1
  214. package/dist/Meter.d.ts +6 -13
  215. package/dist/Meter.d.ts.map +1 -1
  216. package/dist/Meter.js +55 -18
  217. package/dist/Meter.js.map +1 -1
  218. package/dist/Meter.jsx +33 -8
  219. package/dist/Meter.jsx.map +1 -1
  220. package/dist/Modal.d.ts +1 -7
  221. package/dist/Modal.d.ts.map +1 -1
  222. package/dist/Modal.js +104 -56
  223. package/dist/Modal.js.map +1 -1
  224. package/dist/Modal.jsx +68 -38
  225. package/dist/Modal.jsx.map +1 -1
  226. package/dist/NumberField.d.ts +4 -7
  227. package/dist/NumberField.d.ts.map +1 -1
  228. package/dist/NumberField.js +243 -124
  229. package/dist/NumberField.js.map +1 -1
  230. package/dist/NumberField.jsx +115 -26
  231. package/dist/NumberField.jsx.map +1 -1
  232. package/dist/Popover.d.ts +15 -7
  233. package/dist/Popover.d.ts.map +1 -1
  234. package/dist/Popover.js +370 -181
  235. package/dist/Popover.js.map +1 -1
  236. package/dist/Popover.jsx +215 -82
  237. package/dist/Popover.jsx.map +1 -1
  238. package/dist/Pressable.d.ts +2 -8
  239. package/dist/Pressable.d.ts.map +1 -1
  240. package/dist/Pressable.js +23 -6
  241. package/dist/Pressable.js.map +1 -1
  242. package/dist/Pressable.jsx +22 -5
  243. package/dist/Pressable.jsx.map +1 -1
  244. package/dist/PreviewTrigger.d.ts +24 -0
  245. package/dist/PreviewTrigger.d.ts.map +1 -0
  246. package/dist/PreviewTrigger.js +128 -0
  247. package/dist/PreviewTrigger.js.map +1 -0
  248. package/dist/PreviewTrigger.jsx +117 -0
  249. package/dist/PreviewTrigger.jsx.map +1 -0
  250. package/dist/ProgressBar.d.ts +1 -7
  251. package/dist/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar.js +34 -14
  253. package/dist/ProgressBar.js.map +1 -1
  254. package/dist/ProgressBar.jsx +17 -3
  255. package/dist/ProgressBar.jsx.map +1 -1
  256. package/dist/RadioGroup.d.ts +2 -7
  257. package/dist/RadioGroup.d.ts.map +1 -1
  258. package/dist/RadioGroup.js +388 -269
  259. package/dist/RadioGroup.js.map +1 -1
  260. package/dist/RadioGroup.jsx +110 -99
  261. package/dist/RadioGroup.jsx.map +1 -1
  262. package/dist/RangeCalendar.d.ts +3 -7
  263. package/dist/RangeCalendar.d.ts.map +1 -1
  264. package/dist/RangeCalendar.js +271 -202
  265. package/dist/RangeCalendar.js.map +1 -1
  266. package/dist/RangeCalendar.jsx +56 -37
  267. package/dist/RangeCalendar.jsx.map +1 -1
  268. package/dist/RouterProvider.d.ts +3 -9
  269. package/dist/RouterProvider.d.ts.map +1 -1
  270. package/dist/RouterProvider.js +15 -14
  271. package/dist/RouterProvider.js.map +1 -1
  272. package/dist/RouterProvider.jsx +14 -13
  273. package/dist/RouterProvider.jsx.map +1 -1
  274. package/dist/SearchField.d.ts +4 -7
  275. package/dist/SearchField.d.ts.map +1 -1
  276. package/dist/SearchField.js +191 -164
  277. package/dist/SearchField.js.map +1 -1
  278. package/dist/SearchField.jsx +69 -62
  279. package/dist/SearchField.jsx.map +1 -1
  280. package/dist/Select.d.ts +5 -10
  281. package/dist/Select.d.ts.map +1 -1
  282. package/dist/Select.js +565 -359
  283. package/dist/Select.js.map +1 -1
  284. package/dist/Select.jsx +281 -161
  285. package/dist/Select.jsx.map +1 -1
  286. package/dist/SelectionIndicator.d.ts +1 -4
  287. package/dist/SelectionIndicator.d.ts.map +1 -1
  288. package/dist/SelectionIndicator.js +29 -13
  289. package/dist/SelectionIndicator.js.map +1 -1
  290. package/dist/SelectionIndicator.jsx +18 -4
  291. package/dist/SelectionIndicator.jsx.map +1 -1
  292. package/dist/Separator.d.ts +1 -7
  293. package/dist/Separator.d.ts.map +1 -1
  294. package/dist/Separator.js +22 -6
  295. package/dist/Separator.js.map +1 -1
  296. package/dist/Separator.jsx +16 -3
  297. package/dist/Separator.jsx.map +1 -1
  298. package/dist/SharedElementTransition.d.ts +1 -10
  299. package/dist/SharedElementTransition.d.ts.map +1 -1
  300. package/dist/SharedElementTransition.js +68 -40
  301. package/dist/SharedElementTransition.js.map +1 -1
  302. package/dist/SharedElementTransition.jsx +49 -25
  303. package/dist/SharedElementTransition.jsx.map +1 -1
  304. package/dist/Slider.d.ts +2 -8
  305. package/dist/Slider.d.ts.map +1 -1
  306. package/dist/Slider.js +155 -97
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/Slider.jsx +25 -12
  309. package/dist/Slider.jsx.map +1 -1
  310. package/dist/StepList.d.ts +1 -7
  311. package/dist/StepList.d.ts.map +1 -1
  312. package/dist/StepList.js +112 -68
  313. package/dist/StepList.js.map +1 -1
  314. package/dist/StepList.jsx +58 -20
  315. package/dist/StepList.jsx.map +1 -1
  316. package/dist/Switch.d.ts +2 -9
  317. package/dist/Switch.d.ts.map +1 -1
  318. package/dist/Switch.js +164 -114
  319. package/dist/Switch.js.map +1 -1
  320. package/dist/Switch.jsx +26 -13
  321. package/dist/Switch.jsx.map +1 -1
  322. package/dist/Table.d.ts +2 -1
  323. package/dist/Table.d.ts.map +1 -1
  324. package/dist/Table.js +689 -592
  325. package/dist/Table.js.map +1 -1
  326. package/dist/Table.jsx +317 -237
  327. package/dist/Table.jsx.map +1 -1
  328. package/dist/Tabs.d.ts +2 -7
  329. package/dist/Tabs.d.ts.map +1 -1
  330. package/dist/Tabs.js +278 -293
  331. package/dist/Tabs.js.map +1 -1
  332. package/dist/Tabs.jsx +68 -66
  333. package/dist/Tabs.jsx.map +1 -1
  334. package/dist/TagGroup.d.ts +4 -11
  335. package/dist/TagGroup.d.ts.map +1 -1
  336. package/dist/TagGroup.js +153 -115
  337. package/dist/TagGroup.js.map +1 -1
  338. package/dist/TagGroup.jsx +37 -24
  339. package/dist/TagGroup.jsx.map +1 -1
  340. package/dist/Text.d.ts +3 -3
  341. package/dist/Text.d.ts.map +1 -1
  342. package/dist/Text.js +24 -7
  343. package/dist/Text.js.map +1 -1
  344. package/dist/Text.jsx +17 -5
  345. package/dist/Text.jsx.map +1 -1
  346. package/dist/TextField.d.ts +3 -16
  347. package/dist/TextField.d.ts.map +1 -1
  348. package/dist/TextField.js +104 -129
  349. package/dist/TextField.js.map +1 -1
  350. package/dist/TextField.jsx +76 -102
  351. package/dist/TextField.jsx.map +1 -1
  352. package/dist/TimeField.d.ts +2 -15
  353. package/dist/TimeField.d.ts.map +1 -1
  354. package/dist/TimeField.js +86 -102
  355. package/dist/TimeField.js.map +1 -1
  356. package/dist/TimeField.jsx +32 -49
  357. package/dist/TimeField.jsx.map +1 -1
  358. package/dist/Toast.d.ts +10 -13
  359. package/dist/Toast.d.ts.map +1 -1
  360. package/dist/Toast.js +209 -108
  361. package/dist/Toast.js.map +1 -1
  362. package/dist/Toast.jsx +127 -22
  363. package/dist/Toast.jsx.map +1 -1
  364. package/dist/ToggleButton.d.ts +1 -7
  365. package/dist/ToggleButton.d.ts.map +1 -1
  366. package/dist/ToggleButton.js +57 -35
  367. package/dist/ToggleButton.js.map +1 -1
  368. package/dist/ToggleButton.jsx +26 -12
  369. package/dist/ToggleButton.jsx.map +1 -1
  370. package/dist/ToggleButtonGroup.d.ts +1 -7
  371. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButtonGroup.js +59 -44
  373. package/dist/ToggleButtonGroup.js.map +1 -1
  374. package/dist/ToggleButtonGroup.jsx +25 -12
  375. package/dist/ToggleButtonGroup.jsx.map +1 -1
  376. package/dist/TokenField.d.ts +52 -0
  377. package/dist/TokenField.d.ts.map +1 -0
  378. package/dist/TokenField.js +301 -0
  379. package/dist/TokenField.js.map +1 -0
  380. package/dist/TokenField.jsx +197 -0
  381. package/dist/TokenField.jsx.map +1 -0
  382. package/dist/Toolbar.d.ts +2 -7
  383. package/dist/Toolbar.d.ts.map +1 -1
  384. package/dist/Toolbar.js +35 -16
  385. package/dist/Toolbar.js.map +1 -1
  386. package/dist/Toolbar.jsx +15 -2
  387. package/dist/Toolbar.jsx.map +1 -1
  388. package/dist/Tooltip.d.ts +2 -7
  389. package/dist/Tooltip.d.ts.map +1 -1
  390. package/dist/Tooltip.js +105 -68
  391. package/dist/Tooltip.js.map +1 -1
  392. package/dist/Tooltip.jsx +60 -36
  393. package/dist/Tooltip.jsx.map +1 -1
  394. package/dist/Tree.d.ts +8 -11
  395. package/dist/Tree.d.ts.map +1 -1
  396. package/dist/Tree.js +486 -339
  397. package/dist/Tree.js.map +1 -1
  398. package/dist/Tree.jsx +155 -107
  399. package/dist/Tree.jsx.map +1 -1
  400. package/dist/Virtualizer.d.ts +39 -9
  401. package/dist/Virtualizer.d.ts.map +1 -1
  402. package/dist/Virtualizer.js +2 -2
  403. package/dist/Virtualizer.jsx +2 -2
  404. package/dist/Virtualizer2.js +491 -136
  405. package/dist/Virtualizer2.js.map +1 -1
  406. package/dist/Virtualizer2.jsx +455 -122
  407. package/dist/Virtualizer2.jsx.map +1 -1
  408. package/dist/VirtualizerLayouts.d.ts +55 -2
  409. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  410. package/dist/VisuallyHidden.d.ts +4 -3
  411. package/dist/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/VisuallyHidden.js +18 -11
  413. package/dist/VisuallyHidden.js.map +1 -1
  414. package/dist/VisuallyHidden.jsx +15 -9
  415. package/dist/VisuallyHidden.jsx.map +1 -1
  416. package/dist/contexts.d.ts +25 -0
  417. package/dist/contexts.d.ts.map +1 -1
  418. package/dist/contexts.js +3 -0
  419. package/dist/contexts.js.map +1 -1
  420. package/dist/contexts.jsx +3 -0
  421. package/dist/contexts.jsx.map +1 -1
  422. package/dist/index.d.ts +11 -9
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +14 -11
  425. package/dist/index.jsx +14 -11
  426. package/dist/intl/index.d.ts +16 -0
  427. package/dist/intl/index.d.ts.map +1 -0
  428. package/dist/intl.js +212 -0
  429. package/dist/intl.js.map +1 -0
  430. package/dist/intl.jsx +212 -0
  431. package/dist/intl.jsx.map +1 -0
  432. package/dist/useDragAndDrop.d.ts +4 -2
  433. package/dist/useDragAndDrop.d.ts.map +1 -1
  434. package/dist/useDragAndDrop2.js +39 -21
  435. package/dist/useDragAndDrop2.js.map +1 -1
  436. package/dist/useDragAndDrop2.jsx +39 -21
  437. package/dist/useDragAndDrop2.jsx.map +1 -1
  438. package/dist/utils.d.ts +28 -9
  439. package/dist/utils.d.ts.map +1 -1
  440. package/dist/utils.js +96 -24
  441. package/dist/utils.js.map +1 -1
  442. package/dist/utils.jsx +81 -24
  443. package/dist/utils.jsx.map +1 -1
  444. package/dist/virtualizer/Layout.d.ts +9 -0
  445. package/dist/virtualizer/Layout.d.ts.map +1 -1
  446. package/dist/virtualizer/Layout.js +23 -2
  447. package/dist/virtualizer/Layout.js.map +1 -1
  448. package/dist/virtualizer/Layout.jsx +23 -2
  449. package/dist/virtualizer/Layout.jsx.map +1 -1
  450. package/package.json +29 -10
  451. package/src/ActionBar.tsx +50 -24
  452. package/src/ActionGroup.tsx +31 -19
  453. package/src/Alert.tsx +10 -4
  454. package/src/Autocomplete.tsx +24 -15
  455. package/src/Breadcrumbs.tsx +32 -16
  456. package/src/Button.tsx +182 -67
  457. package/src/Calendar.tsx +65 -47
  458. package/src/CalendarPicker.tsx +16 -1
  459. package/src/Checkbox.tsx +84 -116
  460. package/src/Collection.tsx +84 -3
  461. package/src/Color.tsx +282 -104
  462. package/src/ColorEditor.tsx +5 -1
  463. package/src/ComboBox.tsx +384 -109
  464. package/src/ContextualHelpTrigger.tsx +47 -41
  465. package/src/DateField.tsx +74 -106
  466. package/src/DatePicker.tsx +156 -352
  467. package/src/DateRangePickerContext.tsx +8 -0
  468. package/src/Dialog.tsx +105 -38
  469. package/src/Disclosure.tsx +29 -19
  470. package/src/DragAndDrop.tsx +43 -8
  471. package/src/DragPreview.tsx +20 -1
  472. package/src/DropZone.tsx +32 -18
  473. package/src/ElementTag.tsx +14 -104
  474. package/src/FieldError.tsx +39 -7
  475. package/src/FileTrigger.tsx +18 -3
  476. package/src/Focusable.tsx +27 -6
  477. package/src/Form.tsx +57 -11
  478. package/src/GridList.tsx +233 -141
  479. package/src/HiddenDateInput.tsx +19 -3
  480. package/src/Icon.tsx +8 -2
  481. package/src/Keyboard.tsx +18 -2
  482. package/src/Label.tsx +77 -0
  483. package/src/Landmark.tsx +6 -1
  484. package/src/Link.tsx +65 -19
  485. package/src/ListBox.tsx +645 -468
  486. package/src/ListDropTargetDelegate.ts +4 -0
  487. package/src/Menu.tsx +512 -349
  488. package/src/Meter.tsx +42 -8
  489. package/src/Modal.tsx +85 -42
  490. package/src/NumberField.tsx +161 -48
  491. package/src/Popover.tsx +424 -148
  492. package/src/Pressable.tsx +27 -6
  493. package/src/PreviewTrigger.tsx +171 -0
  494. package/src/ProgressBar.tsx +25 -3
  495. package/src/RadioGroup.tsx +230 -161
  496. package/src/RangeCalendar.tsx +75 -63
  497. package/src/RouterProvider.tsx +24 -14
  498. package/src/SearchField.tsx +118 -121
  499. package/src/Select.tsx +454 -274
  500. package/src/SelectionIndicator.tsx +21 -3
  501. package/src/Separator.tsx +17 -1
  502. package/src/SharedElementTransition.tsx +115 -97
  503. package/src/Slider.tsx +35 -17
  504. package/src/StepList.tsx +71 -32
  505. package/src/Switch.tsx +45 -29
  506. package/src/Table.tsx +446 -380
  507. package/src/Tabs.tsx +132 -155
  508. package/src/TagGroup.tsx +53 -40
  509. package/src/Text.tsx +23 -6
  510. package/src/TextField.tsx +118 -159
  511. package/src/TimeField.tsx +34 -95
  512. package/src/Toast.tsx +141 -67
  513. package/src/ToggleButton.tsx +33 -15
  514. package/src/ToggleButtonGroup.tsx +27 -9
  515. package/src/TokenField.tsx +379 -0
  516. package/src/Toolbar.tsx +19 -9
  517. package/src/Tooltip.tsx +126 -84
  518. package/src/Tree.tsx +233 -173
  519. package/src/Virtualizer.tsx +400 -138
  520. package/src/VirtualizerLayouts.ts +211 -26
  521. package/src/VisuallyHidden.tsx +22 -8
  522. package/src/contexts.ts +13 -0
  523. package/src/index.ts +32 -11
  524. package/src/intl/ar-AE.json +6 -0
  525. package/src/intl/bg-BG.json +6 -0
  526. package/src/intl/cs-CZ.json +6 -0
  527. package/src/intl/da-DK.json +6 -0
  528. package/src/intl/de-DE.json +6 -0
  529. package/src/intl/el-GR.json +6 -0
  530. package/src/intl/en-US.json +6 -0
  531. package/src/intl/es-ES.json +6 -0
  532. package/src/intl/et-EE.json +6 -0
  533. package/src/intl/fi-FI.json +6 -0
  534. package/src/intl/fr-FR.json +6 -0
  535. package/src/intl/he-IL.json +6 -0
  536. package/src/intl/hr-HR.json +6 -0
  537. package/src/intl/hu-HU.json +6 -0
  538. package/src/intl/index.ts +125 -0
  539. package/src/intl/it-IT.json +6 -0
  540. package/src/intl/ja-JP.json +6 -0
  541. package/src/intl/ko-KR.json +6 -0
  542. package/src/intl/lt-LT.json +6 -0
  543. package/src/intl/lv-LV.json +6 -0
  544. package/src/intl/nb-NO.json +6 -0
  545. package/src/intl/nl-NL.json +6 -0
  546. package/src/intl/pl-PL.json +6 -0
  547. package/src/intl/pt-BR.json +6 -0
  548. package/src/intl/pt-PT.json +6 -0
  549. package/src/intl/ro-RO.json +6 -0
  550. package/src/intl/ru-RU.json +6 -0
  551. package/src/intl/sk-SK.json +6 -0
  552. package/src/intl/sl-SI.json +6 -0
  553. package/src/intl/sr-SP.json +6 -0
  554. package/src/intl/sv-SE.json +6 -0
  555. package/src/intl/tr-TR.json +6 -0
  556. package/src/intl/uk-UA.json +6 -0
  557. package/src/intl/zh-CN.json +6 -0
  558. package/src/intl/zh-TW.json +6 -0
  559. package/src/useDragAndDrop.ts +30 -32
  560. package/src/utils.tsx +124 -68
  561. package/src/virtualizer/Layout.ts +29 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../src/ToggleButton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAqD,MAAM,UAAU,CAAC;AACvF,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAGjB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC;AAWzE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAAE,SAAS;IAC3F,8DAA8D;IAC9D,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,+DAA+D;IAC/D,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACjD,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,mBAAmB,sDAAgD,CAAC;AASjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsGlE"}
1
+ {"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../src/ToggleButton.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAOL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAIf,MAAM,SAAS,CAAC;AAIjB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC;AAWzE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAAE,SAAS;IAC3F,8DAA8D;IAC9D,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,+DAA+D;IAC/D,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACjD,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,mBAAmB,sDAAgD,CAAC;AASjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsGlE"}
@@ -1,17 +1,30 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.js";
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButton.tsx
13
+ import { dataAttr, filterDOMProps, useRenderProps } from "./utils.js";
2
14
  import { useToggleButtonGroupStateContext } from "./ToggleButtonGroup.js";
3
- import { getNextElement, insert, mergeProps, runHydrationEvents, spread, template, use } from "solid-js/web";
4
- import { createContext, createMemo, splitProps, useContext } from "solid-js";
5
- import { createFocusRing, createHover, createToggleButton, createToggleButtonGroupItem, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
15
+ import { getNextElement, insert, ref, runHydrationEvents, scope, spread, template } from "@solidjs/web";
16
+ import { createContext, createMemo, useContext } from "solid-js";
17
+ import { createFocusRing, createHover, createToggleButton, createToggleButtonGroupItem, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
18
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
6
19
  //#region src/ToggleButton.tsx
7
20
  /**
8
21
  * ToggleButton component for solidaria-components
9
22
  *
10
23
  * A pre-wired headless toggle button that combines pressed + selected state.
11
- * Port direction: react-aria-components/src/ToggleButton.tsx
24
+ * Based on packages/react-aria-components/src/ToggleButton.tsx.
12
25
  */
13
- var _tmpl$ = /*#__PURE__*/ template(`<button>`);
14
- function assignRef(ref, el) {
26
+ var _tmpl$ = /* @__PURE__ */ template(`<button>`);
27
+ function assignRef$1(ref, el) {
15
28
  if (!ref) return;
16
29
  if (typeof ref === "function") ref(el);
17
30
  else ref.current = el;
@@ -23,7 +36,8 @@ function resolveDisabledValue(isDisabled) {
23
36
  }
24
37
  function ToggleButton(props) {
25
38
  const contextProps = useContext(ToggleButtonContext);
26
- const [local, ariaProps] = splitProps(contextProps ? mergeProps$2(contextProps, props) : props, [
39
+ const mergedProps = contextProps ? mergeProps$1(contextProps, props) : props;
40
+ const [local, ariaProps] = splitProps(mergedProps, [
27
41
  "children",
28
42
  "class",
29
43
  "style",
@@ -34,13 +48,13 @@ function ToggleButton(props) {
34
48
  ]);
35
49
  const groupState = useToggleButtonGroupStateContext();
36
50
  const groupKey = local.id ?? local.toggleKey;
37
- const standaloneAriaProps = mergeProps$2(ariaProps, { get id() {
51
+ const standaloneAriaProps = mergeProps$1(ariaProps, { get id() {
38
52
  return local.id;
39
53
  } });
40
- const toggleAria = groupState && groupKey != null ? createToggleButtonGroupItem({
41
- ...ariaProps,
42
- id: groupKey
43
- }, groupState) : createToggleButton(standaloneAriaProps);
54
+ const groupedAriaProps = mergeProps$1(ariaProps, { get id() {
55
+ return local.id ?? local.toggleKey;
56
+ } });
57
+ const toggleAria = groupState && groupKey != null ? createToggleButtonGroupItem(groupedAriaProps, groupState) : createToggleButton(standaloneAriaProps);
44
58
  const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;
45
59
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
46
60
  const { isHovered, hoverProps } = createHover({ get isDisabled() {
@@ -80,11 +94,17 @@ function ToggleButton(props) {
80
94
  const { ref: _ref3, ...rest } = hoverProps;
81
95
  return rest;
82
96
  };
83
- return (() => {
84
- var _el$ = getNextElement(_tmpl$);
85
- use((el) => assignRef(local.ref, el), _el$);
86
- spread(_el$, mergeProps(domProps, cleanButtonProps, cleanFocusProps, cleanHoverProps, {
87
- get ["class"]() {
97
+ var _el$ = getNextElement(_tmpl$);
98
+ ref(() => {
99
+ return (el) => assignRef$1(local.ref, el);
100
+ }, _el$);
101
+ spread(_el$, [
102
+ domProps,
103
+ cleanButtonProps,
104
+ cleanFocusProps,
105
+ cleanHoverProps,
106
+ {
107
+ get "class"() {
88
108
  return renderProps.class();
89
109
  },
90
110
  get style() {
@@ -93,29 +113,31 @@ function ToggleButton(props) {
93
113
  get slot() {
94
114
  return local.slot;
95
115
  },
96
- get ["data-pressed"]() {
97
- return toggleAria.isPressed() || void 0;
116
+ get "data-pressed"() {
117
+ return dataAttr(toggleAria.isPressed());
98
118
  },
99
- get ["data-hovered"]() {
100
- return isHovered() || void 0;
119
+ get "data-hovered"() {
120
+ return dataAttr(isHovered());
101
121
  },
102
- get ["data-focused"]() {
103
- return isFocused() || void 0;
122
+ get "data-focused"() {
123
+ return dataAttr(isFocused());
104
124
  },
105
- get ["data-focus-visible"]() {
106
- return isFocusVisible() || void 0;
125
+ get "data-focus-visible"() {
126
+ return dataAttr(isFocusVisible());
107
127
  },
108
- get ["data-disabled"]() {
109
- return isDisabled() || void 0;
128
+ get "data-disabled"() {
129
+ return dataAttr(isDisabled());
110
130
  },
111
- get ["data-selected"]() {
112
- return toggleAria.isSelected() || void 0;
131
+ get "data-selected"() {
132
+ return dataAttr(toggleAria.isSelected());
113
133
  }
114
- }), false, true);
115
- insert(_el$, () => renderProps.renderChildren());
116
- runHydrationEvents();
117
- return _el$;
118
- })();
134
+ }
135
+ ], true);
136
+ insert(_el$, scope(() => {
137
+ return renderProps.renderChildren();
138
+ }));
139
+ runHydrationEvents();
140
+ return _el$;
119
141
  }
120
142
  //#endregion
121
143
  export { ToggleButton, ToggleButtonContext };
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","names":["JSX","createContext","createMemo","splitProps","useContext","createToggleButton","createToggleButtonGroupItem","createFocusRing","createHover","mergeProps","AriaToggleButtonProps","Key","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","useToggleButtonGroupStateContext","RefLike","el","T","current","assignRef","ref","ToggleButtonRenderProps","isHovered","isPressed","isFocused","isFocusVisible","isDisabled","isSelected","ToggleButtonProps","Omit","toggleKey","id","children","class","style","HTMLButtonElement","ToggleButtonContext","resolveDisabledValue","ToggleButton","props","Element","contextProps","mergedProps","local","ariaProps","groupState","groupKey","standaloneAriaProps","toggleAria","focusProps","hoverProps","renderValues","renderProps","defaultClassName","domProps","filtered","global","Record","onClick","cleanButtonProps","_ref1","rest","buttonProps","cleanFocusProps","_ref2","cleanHoverProps","_ref3","_el$","_$getNextElement","_tmpl$","_$use","_$spread","_$mergeProps","slot","data-pressed","undefined","data-hovered","data-focused","data-focus-visible","data-disabled","data-selected","_$insert","renderChildren","_$runHydrationEvents"],"sources":["../src/ToggleButton.tsx"],"sourcesContent":["/**\n * ToggleButton component for solidaria-components\n *\n * A pre-wired headless toggle button that combines pressed + selected state.\n * Port direction: react-aria-components/src/ToggleButton.tsx\n */\n\nimport { type JSX, createContext, createMemo, splitProps, useContext } from \"solid-js\";\nimport {\n createToggleButton,\n createToggleButtonGroupItem,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaToggleButtonProps,\n} from \"@proyecto-viviana/solidaria\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { useToggleButtonGroupStateContext } from \"./ToggleButtonGroup\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface ToggleButtonRenderProps {\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isSelected: boolean;\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, \"children\">, SlotProps {\n /** Key used when inside ToggleButtonGroup selection state. */\n toggleKey?: Key;\n /** Preferred group key prop, parity with RAC item id usage. */\n id?: Key;\n children?: RenderChildren<ToggleButtonRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonRenderProps>;\n style?: StyleOrFunction<ToggleButtonRenderProps>;\n /** Ref for the underlying button element. */\n ref?: RefLike<HTMLButtonElement>;\n}\n\nexport const ToggleButtonContext = createContext<ToggleButtonProps | null>(null);\n\nfunction resolveDisabledValue(isDisabled: AriaToggleButtonProps[\"isDisabled\"]): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return !!isDisabled;\n}\n\nexport function ToggleButton(props: ToggleButtonProps): JSX.Element {\n const contextProps = useContext(ToggleButtonContext);\n const mergedProps = (contextProps ? mergeProps(contextProps, props) : props) as ToggleButtonProps;\n\n const [local, ariaProps] = splitProps(mergedProps, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"toggleKey\",\n \"id\",\n ]);\n const groupState = useToggleButtonGroupStateContext();\n const groupKey = local.id ?? local.toggleKey;\n const standaloneAriaProps = mergeProps<AriaToggleButtonProps>(ariaProps, {\n get id() {\n return local.id;\n },\n });\n\n const toggleAria =\n groupState && groupKey != null\n ? createToggleButtonGroupItem(\n {\n ...ariaProps,\n id: groupKey,\n },\n groupState,\n )\n : createToggleButton(standaloneAriaProps);\n\n const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<ToggleButtonRenderProps>(() => ({\n isHovered: isHovered(),\n isPressed: toggleAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: isDisabled(),\n isSelected: toggleAria.isSelected(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButton\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).onClick;\n delete (filtered as Record<string, unknown>).id;\n return filtered;\n });\n\n const cleanButtonProps = () => {\n const { ref: _ref1, ...rest } = toggleAria.buttonProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref3, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <button\n {...domProps()}\n {...cleanButtonProps()}\n {...cleanFocusProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n ref={(el) => assignRef(local.ref, el)}\n slot={local.slot}\n data-pressed={toggleAria.isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={isDisabled() || undefined}\n data-selected={toggleAria.isSelected() || undefined}\n >\n {renderProps.renderChildren()}\n </button>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleButton.js","names":["ref={(el) => assignRef(local.ref, el)}","{renderProps.renderChildren()}","<button\n {...domProps()}\n {...cleanButtonProps()}\n {...cleanFocusProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n ref={(el) => assignRef(local.ref, el)}\n slot={local.slot}\n data-pressed={dataAttr(toggleAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(isDisabled())}\n data-selected={dataAttr(toggleAria.isSelected())}\n >\n {renderProps.renderChildren()}\n </button>"],"sources":["../src/ToggleButton.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButton.tsx\n\n/**\n * ToggleButton component for solidaria-components\n *\n * A pre-wired headless toggle button that combines pressed + selected state.\n * Based on packages/react-aria-components/src/ToggleButton.tsx.\n */\n\nimport { createContext, createMemo, useContext } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n createToggleButton,\n createToggleButtonGroupItem,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaToggleButtonGroupItemProps,\n type AriaToggleButtonProps,\n} from \"@proyecto-viviana/solidaria\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n dataAttr,\n} from \"./utils\";\nimport { useToggleButtonGroupStateContext } from \"./ToggleButtonGroup\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface ToggleButtonRenderProps {\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isSelected: boolean;\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, \"children\">, SlotProps {\n /** Key used when inside ToggleButtonGroup selection state. */\n toggleKey?: Key;\n /** Preferred group key prop, parity with RAC item id usage. */\n id?: Key;\n children?: RenderChildren<ToggleButtonRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonRenderProps>;\n style?: StyleOrFunction<ToggleButtonRenderProps>;\n /** Ref for the underlying button element. */\n ref?: RefLike<HTMLButtonElement>;\n}\n\nexport const ToggleButtonContext = createContext<ToggleButtonProps | null>(null);\n\nfunction resolveDisabledValue(isDisabled: AriaToggleButtonProps[\"isDisabled\"]): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return !!isDisabled;\n}\n\nexport function ToggleButton(props: ToggleButtonProps): JSX.Element {\n const contextProps = useContext(ToggleButtonContext);\n const mergedProps = (contextProps ? mergeProps(contextProps, props) : props) as ToggleButtonProps;\n\n const [local, ariaProps] = splitProps(mergedProps, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"toggleKey\",\n \"id\",\n ]);\n const groupState = useToggleButtonGroupStateContext();\n const groupKey = local.id ?? local.toggleKey;\n const standaloneAriaProps = mergeProps<AriaToggleButtonProps>(ariaProps, {\n get id() {\n return local.id;\n },\n });\n\n const groupedAriaProps = mergeProps<AriaToggleButtonGroupItemProps>(ariaProps, {\n get id(): Key {\n return (local.id ?? local.toggleKey) as Key;\n },\n });\n\n const toggleAria =\n groupState && groupKey != null\n ? createToggleButtonGroupItem(groupedAriaProps, groupState)\n : createToggleButton(standaloneAriaProps);\n\n const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<ToggleButtonRenderProps>(() => ({\n isHovered: isHovered(),\n isPressed: toggleAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: isDisabled(),\n isSelected: toggleAria.isSelected(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButton\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).onClick;\n delete (filtered as Record<string, unknown>).id;\n return filtered;\n });\n\n const cleanButtonProps = () => {\n const { ref: _ref1, ...rest } = toggleAria.buttonProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref3, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <button\n {...domProps()}\n {...cleanButtonProps()}\n {...cleanFocusProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n ref={(el) => assignRef(local.ref, el)}\n slot={local.slot}\n data-pressed={dataAttr(toggleAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(isDisabled())}\n data-selected={dataAttr(toggleAria.isSelected())}\n >\n {renderProps.renderChildren()}\n </button>\n );\n}\n"],"mappings":"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"}
@@ -1,15 +1,28 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.jsx";
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButton.tsx
13
+ import { dataAttr, filterDOMProps, useRenderProps } from "./utils.jsx";
2
14
  import { useToggleButtonGroupStateContext } from "./ToggleButtonGroup.jsx";
3
- import { createContext, createMemo, splitProps, useContext } from "solid-js";
4
- import { createFocusRing, createHover, createToggleButton, createToggleButtonGroupItem, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
15
+ import { createContext, createMemo, useContext } from "solid-js";
16
+ import { createFocusRing, createHover, createToggleButton, createToggleButtonGroupItem, mergeProps } from "@proyecto-viviana/solidaria";
17
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
5
18
  //#region src/ToggleButton.tsx
6
19
  /**
7
20
  * ToggleButton component for solidaria-components
8
21
  *
9
22
  * A pre-wired headless toggle button that combines pressed + selected state.
10
- * Port direction: react-aria-components/src/ToggleButton.tsx
23
+ * Based on packages/react-aria-components/src/ToggleButton.tsx.
11
24
  */
12
- function assignRef(ref, el) {
25
+ function assignRef$1(ref, el) {
13
26
  if (!ref) return;
14
27
  if (typeof ref === "function") ref(el);
15
28
  else ref.current = el;
@@ -21,7 +34,8 @@ function resolveDisabledValue(isDisabled) {
21
34
  }
22
35
  function ToggleButton(props) {
23
36
  const contextProps = useContext(ToggleButtonContext);
24
- const [local, ariaProps] = splitProps(contextProps ? mergeProps$1(contextProps, props) : props, [
37
+ const mergedProps = contextProps ? mergeProps(contextProps, props) : props;
38
+ const [local, ariaProps] = splitProps(mergedProps, [
25
39
  "children",
26
40
  "class",
27
41
  "style",
@@ -32,13 +46,13 @@ function ToggleButton(props) {
32
46
  ]);
33
47
  const groupState = useToggleButtonGroupStateContext();
34
48
  const groupKey = local.id ?? local.toggleKey;
35
- const standaloneAriaProps = mergeProps$1(ariaProps, { get id() {
49
+ const standaloneAriaProps = mergeProps(ariaProps, { get id() {
36
50
  return local.id;
37
51
  } });
38
- const toggleAria = groupState && groupKey != null ? createToggleButtonGroupItem({
39
- ...ariaProps,
40
- id: groupKey
41
- }, groupState) : createToggleButton(standaloneAriaProps);
52
+ const groupedAriaProps = mergeProps(ariaProps, { get id() {
53
+ return local.id ?? local.toggleKey;
54
+ } });
55
+ const toggleAria = groupState && groupKey != null ? createToggleButtonGroupItem(groupedAriaProps, groupState) : createToggleButton(standaloneAriaProps);
42
56
  const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;
43
57
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
44
58
  const { isHovered, hoverProps } = createHover({ get isDisabled() {
@@ -78,7 +92,7 @@ function ToggleButton(props) {
78
92
  const { ref: _ref3, ...rest } = hoverProps;
79
93
  return rest;
80
94
  };
81
- return <button {...domProps()} {...cleanButtonProps()} {...cleanFocusProps()} {...cleanHoverProps()} class={renderProps.class()} style={renderProps.style()} ref={(el) => assignRef(local.ref, el)} slot={local.slot} data-pressed={toggleAria.isPressed() || void 0} data-hovered={isHovered() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} data-disabled={isDisabled() || void 0} data-selected={toggleAria.isSelected() || void 0}>
95
+ return <button {...domProps()} {...cleanButtonProps()} {...cleanFocusProps()} {...cleanHoverProps()} class={renderProps.class()} style={renderProps.style()} ref={(el) => assignRef$1(local.ref, el)} slot={local.slot} data-pressed={dataAttr(toggleAria.isPressed())} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-disabled={dataAttr(isDisabled())} data-selected={dataAttr(toggleAria.isSelected())}>
82
96
  {renderProps.renderChildren()}
83
97
  </button>;
84
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.jsx","names":["mergeProps"],"sources":["../src/ToggleButton.tsx"],"sourcesContent":["/**\n * ToggleButton component for solidaria-components\n *\n * A pre-wired headless toggle button that combines pressed + selected state.\n * Port direction: react-aria-components/src/ToggleButton.tsx\n */\n\nimport { type JSX, createContext, createMemo, splitProps, useContext } from \"solid-js\";\nimport {\n createToggleButton,\n createToggleButtonGroupItem,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaToggleButtonProps,\n} from \"@proyecto-viviana/solidaria\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { useToggleButtonGroupStateContext } from \"./ToggleButtonGroup\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface ToggleButtonRenderProps {\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isSelected: boolean;\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, \"children\">, SlotProps {\n /** Key used when inside ToggleButtonGroup selection state. */\n toggleKey?: Key;\n /** Preferred group key prop, parity with RAC item id usage. */\n id?: Key;\n children?: RenderChildren<ToggleButtonRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonRenderProps>;\n style?: StyleOrFunction<ToggleButtonRenderProps>;\n /** Ref for the underlying button element. */\n ref?: RefLike<HTMLButtonElement>;\n}\n\nexport const ToggleButtonContext = createContext<ToggleButtonProps | null>(null);\n\nfunction resolveDisabledValue(isDisabled: AriaToggleButtonProps[\"isDisabled\"]): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return !!isDisabled;\n}\n\nexport function ToggleButton(props: ToggleButtonProps): JSX.Element {\n const contextProps = useContext(ToggleButtonContext);\n const mergedProps = (contextProps ? mergeProps(contextProps, props) : props) as ToggleButtonProps;\n\n const [local, ariaProps] = splitProps(mergedProps, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"toggleKey\",\n \"id\",\n ]);\n const groupState = useToggleButtonGroupStateContext();\n const groupKey = local.id ?? local.toggleKey;\n const standaloneAriaProps = mergeProps<AriaToggleButtonProps>(ariaProps, {\n get id() {\n return local.id;\n },\n });\n\n const toggleAria =\n groupState && groupKey != null\n ? createToggleButtonGroupItem(\n {\n ...ariaProps,\n id: groupKey,\n },\n groupState,\n )\n : createToggleButton(standaloneAriaProps);\n\n const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<ToggleButtonRenderProps>(() => ({\n isHovered: isHovered(),\n isPressed: toggleAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: isDisabled(),\n isSelected: toggleAria.isSelected(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButton\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).onClick;\n delete (filtered as Record<string, unknown>).id;\n return filtered;\n });\n\n const cleanButtonProps = () => {\n const { ref: _ref1, ...rest } = toggleAria.buttonProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref3, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <button\n {...domProps()}\n {...cleanButtonProps()}\n {...cleanFocusProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n ref={(el) => assignRef(local.ref, el)}\n slot={local.slot}\n data-pressed={toggleAria.isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={isDisabled() || undefined}\n data-selected={toggleAria.isSelected() || undefined}\n >\n {renderProps.renderChildren()}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;AA6BA,SAAS,UAAa,KAAiB,IAAa;CAClD,IAAI,CAAC,KAAK;CACV,IAAI,OAAO,QAAQ,YACjB,IAAI,EAAE;MAEN,IAAI,UAAU;AAElB;AAuBA,MAAa,sBAAsB,cAAwC,IAAI;AAE/E,SAAS,qBAAqB,YAA0D;CACtF,IAAI,OAAO,eAAe,YACxB,OAAO,WAAW;CAEpB,OAAO,CAAC,CAAC;AACX;AAEA,SAAgB,aAAa,OAAuC;CAClE,MAAM,eAAe,WAAW,mBAAmB;CAGnD,MAAM,CAAC,OAAO,aAAa,WAFN,eAAeA,aAAW,cAAc,KAAK,IAAI,OAEnB;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,aAAa,iCAAiC;CACpD,MAAM,WAAW,MAAM,MAAM,MAAM;CACnC,MAAM,sBAAsBA,aAAkC,WAAW,EACvE,IAAI,KAAK;EACP,OAAO,MAAM;CACf,EACF,CAAC;CAED,MAAM,aACJ,cAAc,YAAY,OACtB,4BACE;EACE,GAAG;EACH,IAAI;CACN,GACA,UACF,IACA,mBAAmB,mBAAmB;CAE5C,MAAM,mBAAmB,qBAAqB,UAAU,UAAU,KAAK,CAAC,CAAC,YAAY;CAErF,MAAM,EAAE,WAAW,gBAAgB,eAAe,gBAAgB;CAClE,MAAM,EAAE,WAAW,eAAe,YAAY,EAC5C,IAAI,aAAa;EACf,OAAO,WAAW;CACpB,EACF,CAAC;CAED,MAAM,eAAe,kBAA2C;EAC9D,WAAW,UAAU;EACrB,WAAW,WAAW,UAAU;EAChC,WAAW,UAAU;EACrB,gBAAgB,eAAe;EAC/B,YAAY,WAAW;EACvB,YAAY,WAAW,WAAW;CACpC,EAAE;CAEF,MAAM,cAAc,eAClB;EACE,IAAI,WAAW;GACb,OAAO,MAAM;EACf;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,GACA,YACF;CAEA,MAAM,WAAW,iBAAiB;EAChC,MAAM,WAAW,eAAe,WAAW,EAAE,QAAQ,KAAK,CAAC;EAC3D,OAAQ,SAAqC;EAC7C,OAAQ,SAAqC;EAC7C,OAAO;CACT,CAAC;CAED,MAAM,yBAAyB;EAC7B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS,WAAW;EAC3C,OAAO;CACT;CACA,MAAM,wBAAwB;EAC5B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS;EAChC,OAAO;CACT;CACA,MAAM,wBAAwB;EAC5B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS;EAChC,OAAO;CACT;CAEA,OACE,CAAC,WACK,SAAS,OACT,iBAAiB,OACjB,gBAAgB,OAChB,gBAAgB,GACpB,OAAO,YAAY,MAAM,GACzB,OAAO,YAAY,MAAM,GACzB,MAAM,OAAO,UAAU,MAAM,KAAK,EAAE,GACpC,MAAM,MAAM,MACZ,cAAc,WAAW,UAAU,KAAK,KAAA,GACxC,cAAc,UAAU,KAAK,KAAA,GAC7B,cAAc,UAAU,KAAK,KAAA,GAC7B,oBAAoB,eAAe,KAAK,KAAA,GACxC,eAAe,WAAW,KAAK,KAAA,GAC/B,eAAe,WAAW,WAAW,KAAK,KAAA,GAC3C;OACE,YAAY,eAAe,EAAE;IAChC,EAAE;AAEN"}
1
+ {"version":3,"file":"ToggleButton.jsx","names":["assignRef"],"sources":["../src/ToggleButton.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButton.tsx\n\n/**\n * ToggleButton component for solidaria-components\n *\n * A pre-wired headless toggle button that combines pressed + selected state.\n * Based on packages/react-aria-components/src/ToggleButton.tsx.\n */\n\nimport { createContext, createMemo, useContext } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n createToggleButton,\n createToggleButtonGroupItem,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaToggleButtonGroupItemProps,\n type AriaToggleButtonProps,\n} from \"@proyecto-viviana/solidaria\";\nimport type { Key } from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n dataAttr,\n} from \"./utils\";\nimport { useToggleButtonGroupStateContext } from \"./ToggleButtonGroup\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface ToggleButtonRenderProps {\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isSelected: boolean;\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, \"children\">, SlotProps {\n /** Key used when inside ToggleButtonGroup selection state. */\n toggleKey?: Key;\n /** Preferred group key prop, parity with RAC item id usage. */\n id?: Key;\n children?: RenderChildren<ToggleButtonRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonRenderProps>;\n style?: StyleOrFunction<ToggleButtonRenderProps>;\n /** Ref for the underlying button element. */\n ref?: RefLike<HTMLButtonElement>;\n}\n\nexport const ToggleButtonContext = createContext<ToggleButtonProps | null>(null);\n\nfunction resolveDisabledValue(isDisabled: AriaToggleButtonProps[\"isDisabled\"]): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return !!isDisabled;\n}\n\nexport function ToggleButton(props: ToggleButtonProps): JSX.Element {\n const contextProps = useContext(ToggleButtonContext);\n const mergedProps = (contextProps ? mergeProps(contextProps, props) : props) as ToggleButtonProps;\n\n const [local, ariaProps] = splitProps(mergedProps, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"toggleKey\",\n \"id\",\n ]);\n const groupState = useToggleButtonGroupStateContext();\n const groupKey = local.id ?? local.toggleKey;\n const standaloneAriaProps = mergeProps<AriaToggleButtonProps>(ariaProps, {\n get id() {\n return local.id;\n },\n });\n\n const groupedAriaProps = mergeProps<AriaToggleButtonGroupItemProps>(ariaProps, {\n get id(): Key {\n return (local.id ?? local.toggleKey) as Key;\n },\n });\n\n const toggleAria =\n groupState && groupKey != null\n ? createToggleButtonGroupItem(groupedAriaProps, groupState)\n : createToggleButton(standaloneAriaProps);\n\n const isDisabled = () => resolveDisabledValue(ariaProps.isDisabled) || !!groupState?.isDisabled;\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<ToggleButtonRenderProps>(() => ({\n isHovered: isHovered(),\n isPressed: toggleAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: isDisabled(),\n isSelected: toggleAria.isSelected(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButton\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps, { global: true });\n delete (filtered as Record<string, unknown>).onClick;\n delete (filtered as Record<string, unknown>).id;\n return filtered;\n });\n\n const cleanButtonProps = () => {\n const { ref: _ref1, ...rest } = toggleAria.buttonProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref3, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <button\n {...domProps()}\n {...cleanButtonProps()}\n {...cleanFocusProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n ref={(el) => assignRef(local.ref, el)}\n slot={local.slot}\n data-pressed={dataAttr(toggleAria.isPressed())}\n data-hovered={dataAttr(isHovered())}\n data-focused={dataAttr(isFocused())}\n data-focus-visible={dataAttr(isFocusVisible())}\n data-disabled={dataAttr(isDisabled())}\n data-selected={dataAttr(toggleAria.isSelected())}\n >\n {renderProps.renderChildren()}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+CA,SAASA,YAAa,KAAiB,IAAa;CAClD,IAAI,CAAC,KAAK;CACV,IAAI,OAAO,QAAQ,YACjB,IAAI,EAAE;MAEN,IAAI,UAAU;AAElB;AAuBA,MAAa,sBAAsB,cAAwC,IAAI;AAE/E,SAAS,qBAAqB,YAA0D;CACtF,IAAI,OAAO,eAAe,YACxB,OAAO,WAAW;CAEpB,OAAO,CAAC,CAAC;AACX;AAEA,SAAgB,aAAa,OAAuC;CAClE,MAAM,eAAe,WAAW,mBAAmB;CACnD,MAAM,cAAe,eAAe,WAAW,cAAc,KAAK,IAAI;CAEtE,MAAM,CAAC,OAAO,aAAa,WAAW,aAAa;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,aAAa,iCAAiC;CACpD,MAAM,WAAW,MAAM,MAAM,MAAM;CACnC,MAAM,sBAAsB,WAAkC,WAAW,EACvE,IAAI,KAAK;EACP,OAAO,MAAM;CACf,EACF,CAAC;CAED,MAAM,mBAAmB,WAA2C,WAAW,EAC7E,IAAI,KAAU;EACZ,OAAQ,MAAM,MAAM,MAAM;CAC5B,EACF,CAAC;CAED,MAAM,aACJ,cAAc,YAAY,OACtB,4BAA4B,kBAAkB,UAAU,IACxD,mBAAmB,mBAAmB;CAE5C,MAAM,mBAAmB,qBAAqB,UAAU,UAAU,KAAK,CAAC,CAAC,YAAY;CAErF,MAAM,EAAE,WAAW,gBAAgB,eAAe,gBAAgB;CAClE,MAAM,EAAE,WAAW,eAAe,YAAY,EAC5C,IAAI,aAAa;EACf,OAAO,WAAW;CACpB,EACF,CAAC;CAED,MAAM,eAAe,kBAA2C;EAC9D,WAAW,UAAU;EACrB,WAAW,WAAW,UAAU;EAChC,WAAW,UAAU;EACrB,gBAAgB,eAAe;EAC/B,YAAY,WAAW;EACvB,YAAY,WAAW,WAAW;CACpC,EAAE;CAEF,MAAM,cAAc,eAClB;EACE,IAAI,WAAW;GACb,OAAO,MAAM;EACf;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,GACA,YACF;CAEA,MAAM,WAAW,iBAAiB;EAChC,MAAM,WAAW,eAAe,WAAW,EAAE,QAAQ,KAAK,CAAC;EAC3D,OAAQ,SAAqC;EAC7C,OAAQ,SAAqC;EAC7C,OAAO;CACT,CAAC;CAED,MAAM,yBAAyB;EAC7B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS,WAAW;EAC3C,OAAO;CACT;CACA,MAAM,wBAAwB;EAC5B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS;EAChC,OAAO;CACT;CACA,MAAM,wBAAwB;EAC5B,MAAM,EAAE,KAAK,OAAO,GAAG,SAAS;EAChC,OAAO;CACT;CAEA,OACE,CAAC,WACK,SAAS,OACT,iBAAiB,OACjB,gBAAgB,OAChB,gBAAgB,GACpB,OAAO,YAAY,MAAM,GACzB,OAAO,YAAY,MAAM,GACzB,MAAM,OAAOA,YAAU,MAAM,KAAK,EAAE,GACpC,MAAM,MAAM,MACZ,cAAc,SAAS,WAAW,UAAU,CAAC,GAC7C,cAAc,SAAS,UAAU,CAAC,GAClC,cAAc,SAAS,UAAU,CAAC,GAClC,oBAAoB,SAAS,eAAe,CAAC,GAC7C,eAAe,SAAS,WAAW,CAAC,GACpC,eAAe,SAAS,WAAW,WAAW,CAAC,GAChD;OACE,YAAY,eAAe,EAAE;IAChC,EAAE;AAEN"}
@@ -1,10 +1,4 @@
1
- /**
2
- * ToggleButtonGroup component for solidaria-components.
3
- *
4
- * Groups toggle buttons with single/multiple selection state.
5
- * Parity target: react-aria-components/src/ToggleButtonGroup.tsx
6
- */
7
- import { type JSX } from "solid-js";
1
+ import type { JSX } from "@solidjs/web";
8
2
  import { type Key, type ToggleGroupState } from "@proyecto-viviana/solid-stately";
9
3
  import { type ClassNameOrFunction, type StyleOrFunction, type RenderChildren, type SlotProps } from "./utils";
10
4
  export interface ToggleButtonGroupRenderProps {
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../src/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAqD,MAAM,UAAU,CAAC;AAEvF,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,sBACf,SACE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,mBAAmB,CAAC,EAC9F,SAAS;IACX,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC,4BAA4B,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,wBAAwB,2DAAqD,CAAC;AAC3F,eAAO,MAAM,6BAA6B,qDAA+C,CAAC;AAC1F,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,MAAM,MAAM,kCAAkC,GAAG,gBAAgB,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAwF5E;AAED,wBAAgB,gCAAgC,IAAI,gBAAgB,GAAG,IAAI,CAE1E"}
1
+ {"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../src/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,sBACf,SACE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,mBAAmB,CAAC,EAC9F,SAAS;IACX,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC,4BAA4B,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,wBAAwB,2DAAqD,CAAC;AAC3F,eAAO,MAAM,6BAA6B,qDAA+C,CAAC;AAC1F,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,MAAM,MAAM,kCAAkC,GAAG,gBAAgB,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAwF5E;AAED,wBAAgB,gCAAgC,IAAI,gBAAgB,GAAG,IAAI,CAE1E"}
@@ -1,16 +1,29 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.js";
2
- import { createComponent, getNextElement, insert, mergeProps, runHydrationEvents, spread, template, use } from "solid-js/web";
3
- import { createContext, createMemo, splitProps, useContext } from "solid-js";
4
- import { createToggleButtonGroup, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
1
+ /*
2
+ * Copyright 2024 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButtonGroup.tsx
13
+ import { attrString as attrString$1, dataAttr, filterDOMProps, useRenderProps } from "./utils.js";
14
+ import { createComponent, getNextElement, insert, ref, runHydrationEvents, spread, template } from "@solidjs/web";
15
+ import { createContext, createMemo, useContext } from "solid-js";
16
+ import { createToggleButtonGroup, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
17
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
5
18
  import { createToggleGroupState } from "@proyecto-viviana/solid-stately";
6
19
  //#region src/ToggleButtonGroup.tsx
7
20
  /**
8
21
  * ToggleButtonGroup component for solidaria-components.
9
22
  *
10
23
  * Groups toggle buttons with single/multiple selection state.
11
- * Parity target: react-aria-components/src/ToggleButtonGroup.tsx
24
+ * Based on packages/react-aria-components/src/ToggleButtonGroup.tsx.
12
25
  */
13
- var _tmpl$ = /*#__PURE__*/ template(`<div>`);
26
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
14
27
  const ToggleButtonGroupContext = createContext(null);
15
28
  const ToggleButtonGroupStateContext = createContext(null);
16
29
  const ToggleGroupStateContext = ToggleButtonGroupStateContext;
@@ -47,10 +60,10 @@ function ToggleButtonGroup(props) {
47
60
  return !!local.isDisabled;
48
61
  },
49
62
  get "aria-label"() {
50
- return local["aria-label"];
63
+ return attrString$1(local["aria-label"]);
51
64
  },
52
65
  get "aria-labelledby"() {
53
- return local["aria-labelledby"];
66
+ return attrString$1(local["aria-labelledby"]);
54
67
  }
55
68
  }, state);
56
69
  const renderProps = useRenderProps({
@@ -66,44 +79,46 @@ function ToggleButtonGroup(props) {
66
79
  state
67
80
  }));
68
81
  const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));
69
- const mergedGroupProps = createMemo(() => mergeProps$2(filteredDomProps(), groupProps));
70
- return (() => {
71
- var _el$ = getNextElement(_tmpl$);
72
- use((el) => {
82
+ const mergedGroupProps = createMemo(() => mergeProps$1(filteredDomProps(), groupProps));
83
+ var _el$ = getNextElement(_tmpl$);
84
+ ref(() => {
85
+ return (el) => {
73
86
  if (!local.ref) return;
74
87
  if (typeof local.ref === "function") local.ref(el);
75
- }, _el$);
76
- spread(_el$, mergeProps(() => mergedGroupProps(), {
77
- get ["class"]() {
78
- return renderProps.class();
79
- },
80
- get style() {
81
- return renderProps.style();
82
- },
83
- get slot() {
84
- return local.slot;
85
- },
86
- get ["data-orientation"]() {
87
- return local.orientation ?? "horizontal";
88
- },
89
- get ["data-disabled"]() {
90
- return local.isDisabled || void 0;
91
- }
92
- }), false, true);
93
- insert(_el$, createComponent(ToggleButtonGroupContext.Provider, {
94
- value: props,
95
- get children() {
96
- return createComponent(ToggleButtonGroupStateContext.Provider, {
97
- value: state,
98
- get children() {
99
- return renderProps.renderChildren();
100
- }
101
- });
102
- }
103
- }));
104
- runHydrationEvents();
105
- return _el$;
106
- })();
88
+ };
89
+ }, _el$);
90
+ spread(_el$, [() => {
91
+ return mergedGroupProps();
92
+ }, {
93
+ get "class"() {
94
+ return renderProps.class();
95
+ },
96
+ get style() {
97
+ return renderProps.style();
98
+ },
99
+ get slot() {
100
+ return local.slot;
101
+ },
102
+ get "data-orientation"() {
103
+ return local.orientation ?? "horizontal";
104
+ },
105
+ get "data-disabled"() {
106
+ return dataAttr(local.isDisabled);
107
+ }
108
+ }], true);
109
+ insert(_el$, createComponent(ToggleButtonGroupContext, {
110
+ value: props,
111
+ get children() {
112
+ return createComponent(ToggleButtonGroupStateContext, {
113
+ value: state,
114
+ get children() {
115
+ return renderProps.renderChildren();
116
+ }
117
+ });
118
+ }
119
+ }));
120
+ runHydrationEvents();
121
+ return _el$;
107
122
  }
108
123
  function useToggleButtonGroupStateContext() {
109
124
  return useContext(ToggleButtonGroupStateContext);
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButtonGroup.js","names":["JSX","createContext","createMemo","splitProps","useContext","createToggleButtonGroup","mergeProps","createToggleGroupState","Key","ToggleGroupState","ClassNameOrFunction","StyleOrFunction","RenderChildren","SlotProps","useRenderProps","filterDOMProps","ToggleButtonGroupRenderProps","orientation","isDisabled","state","ToggleButtonGroupProps","Omit","HTMLAttributes","HTMLDivElement","selectionMode","disallowEmptySelection","selectedKeys","Iterable","defaultSelectedKeys","onSelectionChange","keys","Set","children","class","style","ToggleButtonGroupContext","ToggleButtonGroupStateContext","ToggleGroupStateContext","ToggleButtonGroupStateContextValue","ToggleButtonGroup","props","Element","local","domProps","groupProps","aria-label","aria-labelledby","renderProps","defaultClassName","filteredDomProps","global","mergedGroupProps","Record","_el$","_$getNextElement","_tmpl$","_$use","el","ref","_$spread","_$mergeProps","slot","data-orientation","data-disabled","undefined","_$insert","_$createComponent","Provider","value","renderChildren","_$runHydrationEvents","useToggleButtonGroupStateContext"],"sources":["../src/ToggleButtonGroup.tsx"],"sourcesContent":["/**\n * ToggleButtonGroup component for solidaria-components.\n *\n * Groups toggle buttons with single/multiple selection state.\n * Parity target: react-aria-components/src/ToggleButtonGroup.tsx\n */\n\nimport { type JSX, createContext, createMemo, splitProps, useContext } from \"solid-js\";\nimport { createToggleButtonGroup, mergeProps } from \"@proyecto-viviana/solidaria\";\nimport {\n createToggleGroupState,\n type Key,\n type ToggleGroupState,\n} 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 interface ToggleButtonGroupRenderProps {\n orientation: \"horizontal\" | \"vertical\";\n isDisabled: boolean;\n state: ToggleGroupState;\n}\n\nexport interface ToggleButtonGroupProps\n extends\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"children\" | \"class\" | \"style\" | \"onSelectionChange\">,\n SlotProps {\n selectionMode?: \"single\" | \"multiple\";\n disallowEmptySelection?: boolean;\n selectedKeys?: Iterable<Key>;\n defaultSelectedKeys?: Iterable<Key>;\n onSelectionChange?: (keys: Set<Key>) => void;\n orientation?: \"horizontal\" | \"vertical\";\n isDisabled?: boolean;\n children?: RenderChildren<ToggleButtonGroupRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonGroupRenderProps>;\n style?: StyleOrFunction<ToggleButtonGroupRenderProps>;\n}\n\nexport const ToggleButtonGroupContext = createContext<ToggleButtonGroupProps | null>(null);\nexport const ToggleButtonGroupStateContext = createContext<ToggleGroupState | null>(null);\nexport const ToggleGroupStateContext = ToggleButtonGroupStateContext;\nexport type ToggleButtonGroupStateContextValue = ToggleGroupState;\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"selectionMode\",\n \"disallowEmptySelection\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"orientation\",\n \"isDisabled\",\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"aria-label\",\n \"aria-labelledby\",\n ]);\n\n const state = createToggleGroupState(() => ({\n selectionMode: local.selectionMode,\n disallowEmptySelection: local.disallowEmptySelection,\n selectedKeys: local.selectedKeys,\n defaultSelectedKeys: local.defaultSelectedKeys,\n onSelectionChange: local.onSelectionChange,\n isDisabled: !!local.isDisabled,\n }));\n\n const { groupProps } = createToggleButtonGroup(\n {\n get orientation() {\n return local.orientation;\n },\n get isDisabled() {\n return !!local.isDisabled;\n },\n get \"aria-label\"() {\n return local[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return local[\"aria-labelledby\"];\n },\n },\n state,\n );\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButtonGroup\",\n },\n () => ({\n orientation: local.orientation ?? \"horizontal\",\n isDisabled: !!local.isDisabled,\n state,\n }),\n );\n\n const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));\n const mergedGroupProps = createMemo(() =>\n mergeProps(filteredDomProps(), groupProps as Record<string, unknown>),\n );\n\n return (\n <div\n {...(mergedGroupProps() as JSX.HTMLAttributes<HTMLDivElement>)}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-orientation={local.orientation ?? \"horizontal\"}\n data-disabled={local.isDisabled || undefined}\n ref={(el) => {\n if (!local.ref) return;\n if (typeof local.ref === \"function\") {\n local.ref(el);\n }\n }}\n >\n <ToggleButtonGroupContext.Provider value={props}>\n <ToggleButtonGroupStateContext.Provider value={state}>\n {renderProps.renderChildren()}\n </ToggleButtonGroupStateContext.Provider>\n </ToggleButtonGroupContext.Provider>\n </div>\n );\n}\n\nexport function useToggleButtonGroupStateContext(): ToggleGroupState | null {\n return useContext(ToggleButtonGroupStateContext);\n}\n"],"mappings":";;;;;;;;;;;;;AA6CA,MAAamC,2BAA2BlC,cAA6C,IAAI;AACzF,MAAamC,gCAAgCnC,cAAuC,IAAI;AACxF,MAAaoC,0BAA0BD;AAGvC,SAAgBG,kBAAkBC,OAA4C;CAC5E,MAAM,CAACE,OAAOC,YAAYxC,WAAWqC,OAAO;EAC1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAiB,CAClB;CAED,MAAMrB,QAAQZ,8BAA8B;EAC1CiB,eAAekB,MAAMlB;EACrBC,wBAAwBiB,MAAMjB;EAC9BC,cAAcgB,MAAMhB;EACpBE,qBAAqBc,MAAMd;EAC3BC,mBAAmBa,MAAMb;EACzBX,YAAY,CAAC,CAACwB,MAAMxB;CACtB,EAAE;CAEF,MAAM,EAAE0B,eAAevC,wBACrB;EACE,IAAIY,cAAc;GAChB,OAAOyB,MAAMzB;EACf;EACA,IAAIC,aAAa;GACf,OAAO,CAAC,CAACwB,MAAMxB;EACjB;EACA,IAAI,eAAe;GACjB,OAAOwB,MAAM;EACf;EACA,IAAI,oBAAoB;GACtB,OAAOA,MAAM;EACf;CACF,GACAvB,KACF;CAEA,MAAM4B,cAAcjC,eAClB;EACE,IAAIkB,WAAW;GACb,OAAOU,MAAMV;EACf;EACAC,OAAOS,MAAMT;EACbC,OAAOQ,MAAMR;EACbc,kBAAkB;CACpB,UACO;EACL/B,aAAayB,MAAMzB,eAAe;EAClCC,YAAY,CAAC,CAACwB,MAAMxB;EACpBC;CACF,EACF;CAEA,MAAM8B,mBAAmB/C,iBAAiBa,eAAe4B,UAAU,EAAEO,QAAQ,KAAK,CAAC,CAAC;CACpF,MAAMC,mBAAmBjD,iBACvBI,aAAW2C,iBAAiB,GAAGL,UAAqC,CACtE;CAEA,cAAA;EAAA,IAAAS,OAAAC,eAAAC,MAAA;EAAAC,KAQUC,OAAO;GACX,IAAI,CAACf,MAAMgB,KAAK;GAChB,IAAI,OAAOhB,MAAMgB,QAAQ,YACvBhB,MAAMgB,IAAID,EAAE;EAEhB,GAACJ,IAAA;EAAAM,OAAAN,MAAAO,iBAXIT,iBAAiB,GAAuC;GAAA,KAAA,WAAA;IAAA,OACtDJ,YAAYd,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAEa,YAAYb,MAAM;GAAC;GAAA,IAC1B2B,OAAI;IAAA,OAAEnB,MAAMmB;GAAI;GAAA,KAAA,sBAAA;IAAA,OACEnB,MAAMzB,eAAe;GAAY;GAAA,KAAA,mBAAA;IAAA,OACpCyB,MAAMxB,cAAc8C,KAAAA;GAAS;EAAA,CAAA,GAAA,OAAA,IAAA;EAAAC,OAAAZ,MAAAa,gBAQ3C/B,yBAAyBgC,UAAQ;GAACC,OAAO5B;GAAK,IAAAR,WAAA;IAAA,OAAAkC,gBAC5C9B,8BAA8B+B,UAAQ;KAACC,OAAOjD;KAAK,IAAAa,WAAA;MAAA,OACjDe,YAAYsB,eAAe;KAAC;IAAA,CAAA;GAAA;EAAA,CAAA,CAAA;EAAAC,mBAAA;EAAA,OAAAjB;CAAA,EAAA,CAAA;AAKvC;AAEA,SAAgBkB,mCAA4D;CAC1E,OAAOnE,WAAWgC,6BAA6B;AACjD"}
1
+ {"version":3,"file":"ToggleButtonGroup.js","names":["ref={(el) => {\n if (!local.ref) return;\n if (typeof local.ref === \"function\") {\n local.ref(el);\n }\n }}","<ToggleButtonGroupContext value={props}>\n <ToggleButtonGroupStateContext value={state}>\n {renderProps.renderChildren()}\n </ToggleButtonGroupStateContext>\n </ToggleButtonGroupContext>","value={props}","<ToggleButtonGroupStateContext value={state}>\n {renderProps.renderChildren()}\n </ToggleButtonGroupStateContext>","value={state}","<div\n {...(mergedGroupProps() as JSX.HTMLAttributes<HTMLDivElement>)}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-orientation={local.orientation ?? \"horizontal\"}\n data-disabled={dataAttr(local.isDisabled)}\n ref={(el) => {\n if (!local.ref) return;\n if (typeof local.ref === \"function\") {\n local.ref(el);\n }\n }}\n >\n <ToggleButtonGroupContext value={props}>\n <ToggleButtonGroupStateContext value={state}>\n {renderProps.renderChildren()}\n </ToggleButtonGroupStateContext>\n </ToggleButtonGroupContext>\n </div>"],"sources":["../src/ToggleButtonGroup.tsx"],"sourcesContent":["/*\n * Copyright 2024 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/ToggleButtonGroup.tsx\n\n/**\n * ToggleButtonGroup component for solidaria-components.\n *\n * Groups toggle buttons with single/multiple selection state.\n * Based on packages/react-aria-components/src/ToggleButtonGroup.tsx.\n */\n\nimport { createContext, createMemo, useContext } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport { createToggleButtonGroup, mergeProps } from \"@proyecto-viviana/solidaria\";\nimport {\n createToggleGroupState,\n type Key,\n type ToggleGroupState,\n} from \"@proyecto-viviana/solid-stately\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\nimport {\n type ClassNameOrFunction,\n type StyleOrFunction,\n type RenderChildren,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n dataAttr,\n attrString,\n} from \"./utils\";\n\nexport interface ToggleButtonGroupRenderProps {\n orientation: \"horizontal\" | \"vertical\";\n isDisabled: boolean;\n state: ToggleGroupState;\n}\n\nexport interface ToggleButtonGroupProps\n extends\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"children\" | \"class\" | \"style\" | \"onSelectionChange\">,\n SlotProps {\n selectionMode?: \"single\" | \"multiple\";\n disallowEmptySelection?: boolean;\n selectedKeys?: Iterable<Key>;\n defaultSelectedKeys?: Iterable<Key>;\n onSelectionChange?: (keys: Set<Key>) => void;\n orientation?: \"horizontal\" | \"vertical\";\n isDisabled?: boolean;\n children?: RenderChildren<ToggleButtonGroupRenderProps>;\n class?: ClassNameOrFunction<ToggleButtonGroupRenderProps>;\n style?: StyleOrFunction<ToggleButtonGroupRenderProps>;\n}\n\nexport const ToggleButtonGroupContext = createContext<ToggleButtonGroupProps | null>(null);\nexport const ToggleButtonGroupStateContext = createContext<ToggleGroupState | null>(null);\nexport const ToggleGroupStateContext = ToggleButtonGroupStateContext;\nexport type ToggleButtonGroupStateContextValue = ToggleGroupState;\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"selectionMode\",\n \"disallowEmptySelection\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"orientation\",\n \"isDisabled\",\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"aria-label\",\n \"aria-labelledby\",\n ]);\n\n const state = createToggleGroupState(() => ({\n selectionMode: local.selectionMode,\n disallowEmptySelection: local.disallowEmptySelection,\n selectedKeys: local.selectedKeys,\n defaultSelectedKeys: local.defaultSelectedKeys,\n onSelectionChange: local.onSelectionChange,\n isDisabled: !!local.isDisabled,\n }));\n\n const { groupProps } = createToggleButtonGroup(\n {\n get orientation() {\n return local.orientation;\n },\n get isDisabled() {\n return !!local.isDisabled;\n },\n get \"aria-label\"() {\n return attrString(local[\"aria-label\"]);\n },\n get \"aria-labelledby\"() {\n return attrString(local[\"aria-labelledby\"]);\n },\n },\n state,\n );\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ToggleButtonGroup\",\n },\n () => ({\n orientation: local.orientation ?? \"horizontal\",\n isDisabled: !!local.isDisabled,\n state,\n }),\n );\n\n const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));\n const mergedGroupProps = createMemo(() =>\n mergeProps(filteredDomProps(), groupProps as Record<string, unknown>),\n );\n\n return (\n <div\n {...(mergedGroupProps() as JSX.HTMLAttributes<HTMLDivElement>)}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-orientation={local.orientation ?? \"horizontal\"}\n data-disabled={dataAttr(local.isDisabled)}\n ref={(el) => {\n if (!local.ref) return;\n if (typeof local.ref === \"function\") {\n local.ref(el);\n }\n }}\n >\n <ToggleButtonGroupContext value={props}>\n <ToggleButtonGroupStateContext value={state}>\n {renderProps.renderChildren()}\n </ToggleButtonGroupStateContext>\n </ToggleButtonGroupContext>\n </div>\n );\n}\n\nexport function useToggleButtonGroupStateContext(): ToggleGroupState | null {\n return useContext(ToggleButtonGroupStateContext);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,MAAa,2BAA2B,cAA6C,IAAI;AACzF,MAAa,gCAAgC,cAAuC,IAAI;AACxF,MAAa,0BAA0B;AAGvC,SAAgB,kBAAkB,OAA4C;CAC5E,MAAM,CAAC,OAAO,YAAY,WAAW,OAAO;EAC1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,QAAQ,8BAA8B;EAC1C,eAAe,MAAM;EACrB,wBAAwB,MAAM;EAC9B,cAAc,MAAM;EACpB,qBAAqB,MAAM;EAC3B,mBAAmB,MAAM;EACzB,YAAY,CAAC,CAAC,MAAM;CACtB,EAAE;CAEF,MAAM,EAAE,eAAe,wBACrB;EACE,IAAI,cAAc;GAChB,OAAO,MAAM;EACf;EACA,IAAI,aAAa;GACf,OAAO,CAAC,CAAC,MAAM;EACjB;EACA,IAAI,eAAe;GACjB,OAAO,aAAW,MAAM,aAAa;EACvC;EACA,IAAI,oBAAoB;GACtB,OAAO,aAAW,MAAM,kBAAkB;EAC5C;CACF,GACA,KACF;CAEA,MAAM,cAAc,eAClB;EACE,IAAI,WAAW;GACb,OAAO,MAAM;EACf;EACA,OAAO,MAAM;EACb,OAAO,MAAM;EACb,kBAAkB;CACpB,UACO;EACL,aAAa,MAAM,eAAe;EAClC,YAAY,CAAC,CAAC,MAAM;EACpB;CACF,EACF;CAEA,MAAM,mBAAmB,iBAAiB,eAAe,UAAU,EAAE,QAAQ,KAAK,CAAC,CAAC;CACpF,MAAM,mBAAmB,iBACvB,aAAW,iBAAiB,GAAG,UAAqC,CACtE;CAGE,IAAA,OAAA,eAAA,MAmBK;CAZH,UAAA;EAAM,QAAA,OAAO;GACX,IAAI,CAAC,MAAM,KAAK;GAChB,IAAI,OAAO,MAAM,QAAQ,YACvB,MAAM,IAAI,EAAE;EAEhB;CAAC,GALDA,IAKC;CAXD,OAAA,MAAA,OAAA;EAAK,OAAA,iBAAiB;CAAwC,GAAA;EAC9D,IAAA,UAAA;GAAO,OAAA,YAAY,MAAM;EAAC;EAC1B,IAAA,QAAA;GAAO,OAAA,YAAY,MAAM;EAAC;EAC1B,IAAA,OAAA;GAAM,OAAA,MAAM;EAAI;EAChB,IAAA,qBAAA;GAAkB,OAAA,MAAM,eAAe;EAAY;EACnD,IAAA,kBAAA;GAAe,OAAA,SAAS,MAAM,UAAU;EAAC;;CAN3C,OAAA,MAcEC,gBAAAA,0BAAAA;EAA0BC,OAAO;EAAjC,IAAA,WAAA;GACEC,OAAAA,gBAAAA,+BAAAA;IAA+BC,OAAO;IAAtC,IAAA,WAAA;KACG,OAAA,YAAY,eAAe;IACC;;EACP;CACvB,CAAA,CAAA;CAnBL,mBAmBK;CApBP,OACEC;AAqBJ;AAEA,SAAgB,mCAA4D;CAC1E,OAAO,WAAW,6BAA6B;AACjD"}
@@ -1,13 +1,26 @@
1
- import { filterDOMProps, useRenderProps } from "./utils.jsx";
2
- import { createContext, createMemo, splitProps, useContext } from "solid-js";
3
- import { createToggleButtonGroup, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
1
+ /*
2
+ * Copyright 2024 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/ToggleButtonGroup.tsx
13
+ import { attrString as attrString$1, dataAttr, filterDOMProps, useRenderProps } from "./utils.jsx";
14
+ import { createContext, createMemo, useContext } from "solid-js";
15
+ import { createToggleButtonGroup, mergeProps } from "@proyecto-viviana/solidaria";
16
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
4
17
  import { createToggleGroupState } from "@proyecto-viviana/solid-stately";
5
18
  //#region src/ToggleButtonGroup.tsx
6
19
  /**
7
20
  * ToggleButtonGroup component for solidaria-components.
8
21
  *
9
22
  * Groups toggle buttons with single/multiple selection state.
10
- * Parity target: react-aria-components/src/ToggleButtonGroup.tsx
23
+ * Based on packages/react-aria-components/src/ToggleButtonGroup.tsx.
11
24
  */
12
25
  const ToggleButtonGroupContext = createContext(null);
13
26
  const ToggleButtonGroupStateContext = createContext(null);
@@ -45,10 +58,10 @@ function ToggleButtonGroup(props) {
45
58
  return !!local.isDisabled;
46
59
  },
47
60
  get "aria-label"() {
48
- return local["aria-label"];
61
+ return attrString$1(local["aria-label"]);
49
62
  },
50
63
  get "aria-labelledby"() {
51
- return local["aria-labelledby"];
64
+ return attrString$1(local["aria-labelledby"]);
52
65
  }
53
66
  }, state);
54
67
  const renderProps = useRenderProps({
@@ -64,16 +77,16 @@ function ToggleButtonGroup(props) {
64
77
  state
65
78
  }));
66
79
  const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));
67
- const mergedGroupProps = createMemo(() => mergeProps$1(filteredDomProps(), groupProps));
68
- return <div {...mergedGroupProps()} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-orientation={local.orientation ?? "horizontal"} data-disabled={local.isDisabled || void 0} ref={(el) => {
80
+ const mergedGroupProps = createMemo(() => mergeProps(filteredDomProps(), groupProps));
81
+ return <div {...mergedGroupProps()} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-orientation={local.orientation ?? "horizontal"} data-disabled={dataAttr(local.isDisabled)} ref={(el) => {
69
82
  if (!local.ref) return;
70
83
  if (typeof local.ref === "function") local.ref(el);
71
84
  }}>
72
- <ToggleButtonGroupContext.Provider value={props}>
73
- <ToggleButtonGroupStateContext.Provider value={state}>
85
+ <ToggleButtonGroupContext value={props}>
86
+ <ToggleButtonGroupStateContext value={state}>
74
87
  {renderProps.renderChildren()}
75
- </ToggleButtonGroupStateContext.Provider>
76
- </ToggleButtonGroupContext.Provider>
88
+ </ToggleButtonGroupStateContext>
89
+ </ToggleButtonGroupContext>
77
90
  </div>;
78
91
  }
79
92
  function useToggleButtonGroupStateContext() {