@proyecto-viviana/solidaria-components 0.3.2 → 0.4.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 (398) hide show
  1. package/dist/ActionBar.js +184 -0
  2. package/dist/ActionBar.js.map +1 -0
  3. package/dist/ActionBar.jsx +128 -0
  4. package/dist/ActionBar.jsx.map +1 -0
  5. package/dist/ActionGroup.js +179 -0
  6. package/dist/ActionGroup.js.map +1 -0
  7. package/dist/ActionGroup.jsx +129 -0
  8. package/dist/ActionGroup.jsx.map +1 -0
  9. package/dist/Alert.js +111 -0
  10. package/dist/Alert.js.map +1 -0
  11. package/dist/Alert.jsx +82 -0
  12. package/dist/Alert.jsx.map +1 -0
  13. package/dist/Autocomplete.js +130 -0
  14. package/dist/Autocomplete.js.map +1 -0
  15. package/dist/Autocomplete.jsx +116 -0
  16. package/dist/Autocomplete.jsx.map +1 -0
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +334 -0
  19. package/dist/Breadcrumbs.js.map +1 -0
  20. package/dist/Breadcrumbs.jsx +266 -0
  21. package/dist/Breadcrumbs.jsx.map +1 -0
  22. package/dist/Button.d.ts.map +1 -1
  23. package/dist/Button.js +348 -0
  24. package/dist/Button.js.map +1 -0
  25. package/dist/Button.jsx +314 -0
  26. package/dist/Button.jsx.map +1 -0
  27. package/dist/Calendar.d.ts +4 -4
  28. package/dist/Calendar.d.ts.map +1 -1
  29. package/dist/Calendar.js +538 -0
  30. package/dist/Calendar.js.map +1 -0
  31. package/dist/Calendar.jsx +333 -0
  32. package/dist/Calendar.jsx.map +1 -0
  33. package/dist/CalendarPicker.d.ts +33 -0
  34. package/dist/CalendarPicker.d.ts.map +1 -0
  35. package/dist/CalendarPicker.js +44 -0
  36. package/dist/CalendarPicker.js.map +1 -0
  37. package/dist/CalendarPicker.jsx +44 -0
  38. package/dist/CalendarPicker.jsx.map +1 -0
  39. package/dist/Checkbox.d.ts +83 -4
  40. package/dist/Checkbox.d.ts.map +1 -1
  41. package/dist/Checkbox.js +923 -0
  42. package/dist/Checkbox.js.map +1 -0
  43. package/dist/Checkbox.jsx +707 -0
  44. package/dist/Checkbox.jsx.map +1 -0
  45. package/dist/Collection.d.ts.map +1 -1
  46. package/dist/Collection.js +202 -0
  47. package/dist/Collection.js.map +1 -0
  48. package/dist/Collection.jsx +152 -0
  49. package/dist/Collection.jsx.map +1 -0
  50. package/dist/Color.d.ts.map +1 -1
  51. package/dist/Color.js +1720 -0
  52. package/dist/Color.js.map +1 -0
  53. package/dist/Color.jsx +1344 -0
  54. package/dist/Color.jsx.map +1 -0
  55. package/dist/ColorEditor.js +208 -0
  56. package/dist/ColorEditor.js.map +1 -0
  57. package/dist/ColorEditor.jsx +120 -0
  58. package/dist/ColorEditor.jsx.map +1 -0
  59. package/dist/ComboBox.d.ts +4 -4
  60. package/dist/ComboBox.d.ts.map +1 -1
  61. package/dist/ComboBox.js +992 -0
  62. package/dist/ComboBox.js.map +1 -0
  63. package/dist/ComboBox.jsx +714 -0
  64. package/dist/ComboBox.jsx.map +1 -0
  65. package/dist/ContextualHelpTrigger.js +146 -0
  66. package/dist/ContextualHelpTrigger.js.map +1 -0
  67. package/dist/ContextualHelpTrigger.jsx +109 -0
  68. package/dist/ContextualHelpTrigger.jsx.map +1 -0
  69. package/dist/DateField.d.ts +3 -3
  70. package/dist/DateField.d.ts.map +1 -1
  71. package/dist/DateField.js +4 -0
  72. package/dist/DateField.jsx +4 -0
  73. package/dist/DateField2.js +499 -0
  74. package/dist/DateField2.js.map +1 -0
  75. package/dist/DateField2.jsx +317 -0
  76. package/dist/DateField2.jsx.map +1 -0
  77. package/dist/DatePicker.d.ts +4 -4
  78. package/dist/DatePicker.d.ts.map +1 -1
  79. package/dist/DatePicker.js +991 -0
  80. package/dist/DatePicker.js.map +1 -0
  81. package/dist/DatePicker.jsx +682 -0
  82. package/dist/DatePicker.jsx.map +1 -0
  83. package/dist/Dialog.d.ts.map +1 -1
  84. package/dist/Dialog.js +337 -0
  85. package/dist/Dialog.js.map +1 -0
  86. package/dist/Dialog.jsx +192 -0
  87. package/dist/Dialog.jsx.map +1 -0
  88. package/dist/Disclosure.d.ts.map +1 -1
  89. package/dist/Disclosure.js +328 -0
  90. package/dist/Disclosure.js.map +1 -0
  91. package/dist/Disclosure.jsx +230 -0
  92. package/dist/Disclosure.jsx.map +1 -0
  93. package/dist/DragAndDrop.d.ts.map +1 -1
  94. package/dist/DragAndDrop.js +176 -0
  95. package/dist/DragAndDrop.js.map +1 -0
  96. package/dist/DragAndDrop.jsx +160 -0
  97. package/dist/DragAndDrop.jsx.map +1 -0
  98. package/dist/DropZone.d.ts.map +1 -1
  99. package/dist/DropZone.js +189 -0
  100. package/dist/DropZone.js.map +1 -0
  101. package/dist/DropZone.jsx +144 -0
  102. package/dist/DropZone.jsx.map +1 -0
  103. package/dist/FieldError.js +66 -0
  104. package/dist/FieldError.js.map +1 -0
  105. package/dist/FieldError.jsx +47 -0
  106. package/dist/FieldError.jsx.map +1 -0
  107. package/dist/FileTrigger.js +79 -0
  108. package/dist/FileTrigger.js.map +1 -0
  109. package/dist/FileTrigger.jsx +49 -0
  110. package/dist/FileTrigger.jsx.map +1 -0
  111. package/dist/Focusable.js +70 -0
  112. package/dist/Focusable.js.map +1 -0
  113. package/dist/Focusable.jsx +69 -0
  114. package/dist/Focusable.jsx.map +1 -0
  115. package/dist/Form.js +99 -0
  116. package/dist/Form.js.map +1 -0
  117. package/dist/Form.jsx +73 -0
  118. package/dist/Form.jsx.map +1 -0
  119. package/dist/GridList.d.ts +34 -2
  120. package/dist/GridList.d.ts.map +1 -1
  121. package/dist/GridList.js +723 -0
  122. package/dist/GridList.js.map +1 -0
  123. package/dist/GridList.jsx +552 -0
  124. package/dist/GridList.jsx.map +1 -0
  125. package/dist/HiddenTimeInput.js +104 -0
  126. package/dist/HiddenTimeInput.js.map +1 -0
  127. package/dist/HiddenTimeInput.jsx +69 -0
  128. package/dist/HiddenTimeInput.jsx.map +1 -0
  129. package/dist/Icon.d.ts.map +1 -1
  130. package/dist/Icon.js +127 -0
  131. package/dist/Icon.js.map +1 -0
  132. package/dist/Icon.jsx +72 -0
  133. package/dist/Icon.jsx.map +1 -0
  134. package/dist/Keyboard.js +30 -0
  135. package/dist/Keyboard.js.map +1 -0
  136. package/dist/Keyboard.jsx +24 -0
  137. package/dist/Keyboard.jsx.map +1 -0
  138. package/dist/Landmark.js +134 -0
  139. package/dist/Landmark.js.map +1 -0
  140. package/dist/Landmark.jsx +118 -0
  141. package/dist/Landmark.jsx.map +1 -0
  142. package/dist/Link.d.ts.map +1 -1
  143. package/dist/Link.js +219 -0
  144. package/dist/Link.js.map +1 -0
  145. package/dist/Link.jsx +189 -0
  146. package/dist/Link.jsx.map +1 -0
  147. package/dist/ListBox.d.ts.map +1 -1
  148. package/dist/ListBox.js +670 -0
  149. package/dist/ListBox.js.map +1 -0
  150. package/dist/ListBox.jsx +508 -0
  151. package/dist/ListBox.jsx.map +1 -0
  152. package/dist/Menu.d.ts +27 -9
  153. package/dist/Menu.d.ts.map +1 -1
  154. package/dist/Menu.js +1254 -0
  155. package/dist/Menu.js.map +1 -0
  156. package/dist/Menu.jsx +1042 -0
  157. package/dist/Menu.jsx.map +1 -0
  158. package/dist/Meter.d.ts.map +1 -1
  159. package/dist/Meter.js +123 -0
  160. package/dist/Meter.js.map +1 -0
  161. package/dist/Meter.jsx +107 -0
  162. package/dist/Meter.jsx.map +1 -0
  163. package/dist/Modal.d.ts.map +1 -1
  164. package/dist/Modal.js +380 -0
  165. package/dist/Modal.js.map +1 -0
  166. package/dist/Modal.jsx +314 -0
  167. package/dist/Modal.jsx.map +1 -0
  168. package/dist/NumberField.d.ts +3 -3
  169. package/dist/NumberField.d.ts.map +1 -1
  170. package/dist/NumberField.js +573 -0
  171. package/dist/NumberField.js.map +1 -0
  172. package/dist/NumberField.jsx +443 -0
  173. package/dist/NumberField.jsx.map +1 -0
  174. package/dist/Popover.d.ts +10 -2
  175. package/dist/Popover.d.ts.map +1 -1
  176. package/dist/Popover.js +464 -0
  177. package/dist/Popover.js.map +1 -0
  178. package/dist/Popover.jsx +333 -0
  179. package/dist/Popover.jsx.map +1 -0
  180. package/dist/Pressable.js +69 -0
  181. package/dist/Pressable.js.map +1 -0
  182. package/dist/Pressable.jsx +68 -0
  183. package/dist/Pressable.jsx.map +1 -0
  184. package/dist/ProgressBar.d.ts.map +1 -1
  185. package/dist/ProgressBar.js +130 -0
  186. package/dist/ProgressBar.js.map +1 -0
  187. package/dist/ProgressBar.jsx +114 -0
  188. package/dist/ProgressBar.jsx.map +1 -0
  189. package/dist/RadioGroup.d.ts +82 -4
  190. package/dist/RadioGroup.d.ts.map +1 -1
  191. package/dist/RadioGroup.js +931 -0
  192. package/dist/RadioGroup.js.map +1 -0
  193. package/dist/RadioGroup.jsx +681 -0
  194. package/dist/RadioGroup.jsx.map +1 -0
  195. package/dist/RangeCalendar.d.ts.map +1 -1
  196. package/dist/RangeCalendar.js +410 -0
  197. package/dist/RangeCalendar.js.map +1 -0
  198. package/dist/RangeCalendar.jsx +253 -0
  199. package/dist/RangeCalendar.jsx.map +1 -0
  200. package/dist/RouterProvider.js +118 -0
  201. package/dist/RouterProvider.js.map +1 -0
  202. package/dist/RouterProvider.jsx +112 -0
  203. package/dist/RouterProvider.jsx.map +1 -0
  204. package/dist/SearchField.d.ts +2 -2
  205. package/dist/SearchField.d.ts.map +1 -1
  206. package/dist/SearchField.js +643 -0
  207. package/dist/SearchField.js.map +1 -0
  208. package/dist/SearchField.jsx +526 -0
  209. package/dist/SearchField.jsx.map +1 -0
  210. package/dist/Select.d.ts.map +1 -1
  211. package/dist/Select.js +1031 -0
  212. package/dist/Select.js.map +1 -0
  213. package/dist/Select.jsx +744 -0
  214. package/dist/Select.jsx.map +1 -0
  215. package/dist/SelectionIndicator.d.ts.map +1 -1
  216. package/dist/SelectionIndicator.js +86 -0
  217. package/dist/SelectionIndicator.js.map +1 -0
  218. package/dist/SelectionIndicator.jsx +50 -0
  219. package/dist/SelectionIndicator.jsx.map +1 -0
  220. package/dist/Separator.js +97 -0
  221. package/dist/Separator.js.map +1 -0
  222. package/dist/Separator.jsx +85 -0
  223. package/dist/Separator.jsx.map +1 -0
  224. package/dist/SharedElementTransition.d.ts.map +1 -1
  225. package/dist/SharedElementTransition.js +165 -0
  226. package/dist/SharedElementTransition.js.map +1 -0
  227. package/dist/SharedElementTransition.jsx +138 -0
  228. package/dist/SharedElementTransition.jsx.map +1 -0
  229. package/dist/Slider.d.ts +33 -1
  230. package/dist/Slider.d.ts.map +1 -1
  231. package/dist/Slider.js +515 -0
  232. package/dist/Slider.js.map +1 -0
  233. package/dist/Slider.jsx +403 -0
  234. package/dist/Slider.jsx.map +1 -0
  235. package/dist/StepList.js +198 -0
  236. package/dist/StepList.js.map +1 -0
  237. package/dist/StepList.jsx +141 -0
  238. package/dist/StepList.jsx.map +1 -0
  239. package/dist/Switch.d.ts +65 -2
  240. package/dist/Switch.d.ts.map +1 -1
  241. package/dist/Switch.js +534 -0
  242. package/dist/Switch.js.map +1 -0
  243. package/dist/Switch.jsx +393 -0
  244. package/dist/Switch.jsx.map +1 -0
  245. package/dist/Table.d.ts +48 -0
  246. package/dist/Table.d.ts.map +1 -1
  247. package/dist/Table.js +1759 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/Table.jsx +1348 -0
  250. package/dist/Table.jsx.map +1 -0
  251. package/dist/Tabs.d.ts +0 -4
  252. package/dist/Tabs.d.ts.map +1 -1
  253. package/dist/Tabs.js +595 -0
  254. package/dist/Tabs.js.map +1 -0
  255. package/dist/Tabs.jsx +367 -0
  256. package/dist/Tabs.jsx.map +1 -0
  257. package/dist/TagGroup.d.ts.map +1 -1
  258. package/dist/TagGroup.js +378 -0
  259. package/dist/TagGroup.js.map +1 -0
  260. package/dist/TagGroup.jsx +270 -0
  261. package/dist/TagGroup.jsx.map +1 -0
  262. package/dist/Text.d.ts +18 -6
  263. package/dist/Text.d.ts.map +1 -1
  264. package/dist/Text.js +42 -0
  265. package/dist/Text.js.map +1 -0
  266. package/dist/Text.jsx +35 -0
  267. package/dist/Text.jsx.map +1 -0
  268. package/dist/TextField.d.ts +6 -6
  269. package/dist/TextField.d.ts.map +1 -1
  270. package/dist/TextField.js +436 -0
  271. package/dist/TextField.js.map +1 -0
  272. package/dist/TextField.jsx +403 -0
  273. package/dist/TextField.jsx.map +1 -0
  274. package/dist/TimeField.d.ts +3 -3
  275. package/dist/TimeField.d.ts.map +1 -1
  276. package/dist/TimeField.js +372 -0
  277. package/dist/TimeField.js.map +1 -0
  278. package/dist/TimeField.jsx +224 -0
  279. package/dist/TimeField.jsx.map +1 -0
  280. package/dist/Toast.d.ts +14 -0
  281. package/dist/Toast.d.ts.map +1 -1
  282. package/dist/Toast.js +551 -0
  283. package/dist/Toast.js.map +1 -0
  284. package/dist/Toast.jsx +361 -0
  285. package/dist/Toast.jsx.map +1 -0
  286. package/dist/ToggleButton.d.ts.map +1 -1
  287. package/dist/ToggleButton.js +123 -0
  288. package/dist/ToggleButton.js.map +1 -0
  289. package/dist/ToggleButton.jsx +88 -0
  290. package/dist/ToggleButton.jsx.map +1 -0
  291. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  292. package/dist/ToggleButtonGroup.js +114 -0
  293. package/dist/ToggleButtonGroup.js.map +1 -0
  294. package/dist/ToggleButtonGroup.jsx +85 -0
  295. package/dist/ToggleButtonGroup.jsx.map +1 -0
  296. package/dist/Toolbar.js +112 -0
  297. package/dist/Toolbar.js.map +1 -0
  298. package/dist/Toolbar.jsx +92 -0
  299. package/dist/Toolbar.jsx.map +1 -0
  300. package/dist/Tooltip.d.ts.map +1 -1
  301. package/dist/Tooltip.js +539 -0
  302. package/dist/Tooltip.js.map +1 -0
  303. package/dist/Tooltip.jsx +465 -0
  304. package/dist/Tooltip.jsx.map +1 -0
  305. package/dist/Tree.d.ts +14 -2
  306. package/dist/Tree.d.ts.map +1 -1
  307. package/dist/Tree.js +1424 -0
  308. package/dist/Tree.js.map +1 -0
  309. package/dist/Tree.jsx +1172 -0
  310. package/dist/Tree.jsx.map +1 -0
  311. package/dist/Virtualizer.d.ts +16 -2
  312. package/dist/Virtualizer.d.ts.map +1 -1
  313. package/dist/Virtualizer.js +2 -0
  314. package/dist/Virtualizer.jsx +2 -0
  315. package/dist/Virtualizer2.js +751 -0
  316. package/dist/Virtualizer2.js.map +1 -0
  317. package/dist/Virtualizer2.jsx +730 -0
  318. package/dist/Virtualizer2.jsx.map +1 -0
  319. package/dist/VirtualizerLayouts.d.ts +18 -0
  320. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  321. package/dist/VisuallyHidden.js +42 -0
  322. package/dist/VisuallyHidden.js.map +1 -0
  323. package/dist/VisuallyHidden.jsx +35 -0
  324. package/dist/VisuallyHidden.jsx.map +1 -0
  325. package/dist/contexts.js +33 -0
  326. package/dist/contexts.js.map +1 -0
  327. package/dist/contexts.jsx +33 -0
  328. package/dist/contexts.jsx.map +1 -0
  329. package/dist/index.d.ts +7 -6
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +70 -23932
  332. package/dist/index.jsx +70 -18337
  333. package/dist/useDragAndDrop.js +2 -0
  334. package/dist/useDragAndDrop.jsx +2 -0
  335. package/dist/useDragAndDrop2.js +395 -0
  336. package/dist/useDragAndDrop2.js.map +1 -0
  337. package/dist/useDragAndDrop2.jsx +395 -0
  338. package/dist/useDragAndDrop2.jsx.map +1 -0
  339. package/dist/utils.d.ts +83 -11
  340. package/dist/utils.d.ts.map +1 -1
  341. package/dist/utils.js +285 -0
  342. package/dist/utils.js.map +1 -0
  343. package/dist/utils.jsx +277 -0
  344. package/dist/utils.jsx.map +1 -0
  345. package/dist/virtualizer/Layout.js +144 -0
  346. package/dist/virtualizer/Layout.js.map +1 -0
  347. package/dist/virtualizer/Layout.jsx +144 -0
  348. package/dist/virtualizer/Layout.jsx.map +1 -0
  349. package/package.json +401 -4
  350. package/src/Breadcrumbs.tsx +3 -1
  351. package/src/Button.tsx +22 -2
  352. package/src/Calendar.tsx +27 -10
  353. package/src/CalendarPicker.tsx +73 -0
  354. package/src/Checkbox.tsx +539 -3
  355. package/src/Collection.tsx +9 -3
  356. package/src/Color.tsx +42 -14
  357. package/src/ComboBox.tsx +50 -6
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +57 -5
  360. package/src/Dialog.tsx +13 -5
  361. package/src/Disclosure.tsx +3 -1
  362. package/src/DragAndDrop.tsx +3 -1
  363. package/src/DropZone.tsx +3 -1
  364. package/src/GridList.tsx +125 -24
  365. package/src/Icon.tsx +3 -1
  366. package/src/Link.tsx +3 -1
  367. package/src/ListBox.tsx +31 -4
  368. package/src/Menu.tsx +252 -128
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +51 -8
  372. package/src/Popover.tsx +40 -10
  373. package/src/ProgressBar.tsx +3 -1
  374. package/src/RadioGroup.tsx +468 -4
  375. package/src/RangeCalendar.tsx +3 -1
  376. package/src/SearchField.tsx +27 -3
  377. package/src/Select.tsx +22 -7
  378. package/src/SelectionIndicator.tsx +3 -1
  379. package/src/SharedElementTransition.tsx +3 -1
  380. package/src/Slider.tsx +159 -13
  381. package/src/Switch.tsx +395 -2
  382. package/src/Table.tsx +409 -95
  383. package/src/Tabs.tsx +16 -45
  384. package/src/TagGroup.tsx +3 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +43 -5
  387. package/src/TimeField.tsx +20 -2
  388. package/src/Toast.tsx +79 -14
  389. package/src/ToggleButton.tsx +3 -1
  390. package/src/ToggleButtonGroup.tsx +3 -1
  391. package/src/Tooltip.tsx +3 -1
  392. package/src/Tree.tsx +77 -9
  393. package/src/Virtualizer.tsx +180 -31
  394. package/src/VirtualizerLayouts.ts +45 -10
  395. package/src/index.ts +50 -0
  396. package/src/utils.tsx +243 -27
  397. package/dist/index.js.map +0 -1
  398. package/dist/index.jsx.map +0 -1
@@ -0,0 +1,270 @@
1
+ import { dataAttr, filterDOMProps, useRenderProps } from "./utils.jsx";
2
+ import { SharedElementTransition } from "./SharedElementTransition.jsx";
3
+ import { SelectionIndicatorContext } from "./SelectionIndicator.jsx";
4
+ import { For, Show, createContext, createMemo, createSignal, splitProps, useContext } from "solid-js";
5
+ import { createTag, createTagGroup } from "@proyecto-viviana/solidaria";
6
+ import { createListState } from "@proyecto-viviana/solid-stately";
7
+ //#region src/TagGroup.tsx
8
+ /**
9
+ * TagGroup component for solidaria-components
10
+ *
11
+ * Pre-wired headless tag group component that combines aria hooks.
12
+ * Port of react-aria-components/src/TagGroup.tsx
13
+ *
14
+ * A tag group is a focusable list of labels, categories, keywords, filters, or other items,
15
+ * with support for keyboard navigation, selection, and removal.
16
+ */
17
+ const TagGroupContext = createContext(null);
18
+ const TagListStateContext = createContext(null);
19
+ const TagContext = createContext(null);
20
+ function useTagGroupContext() {
21
+ return useContext(TagGroupContext);
22
+ }
23
+ /**
24
+ * A tag group is a focusable list of labels, categories, keywords, filters, or other items,
25
+ * with support for keyboard navigation, selection, and removal.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <TagGroup label="Categories" onRemove={(keys) => removeItems(keys)}>
30
+ * <TagList items={items}>
31
+ * {(item) => <Tag id={item.id}>{item.name}</Tag>}
32
+ * </TagList>
33
+ * </TagGroup>
34
+ * ```
35
+ */
36
+ function TagGroup(props) {
37
+ const [local, domProps] = splitProps(props, [
38
+ "class",
39
+ "style",
40
+ "slot",
41
+ "children"
42
+ ]);
43
+ return <div {...domProps} class={typeof local.class === "string" ? local.class : "solidaria-TagGroup"} style={typeof local.style === "object" ? local.style : void 0} slot={local.slot}>
44
+ {props.children}
45
+ </div>;
46
+ }
47
+ /**
48
+ * TagList contains the list of tags within a TagGroup.
49
+ */
50
+ function TagList(props) {
51
+ const [local, domProps] = splitProps(props, [
52
+ "items",
53
+ "class",
54
+ "style",
55
+ "slot",
56
+ "renderEmptyState",
57
+ "children",
58
+ "selectionMode",
59
+ "selectionBehavior",
60
+ "selectedKeys",
61
+ "defaultSelectedKeys",
62
+ "onSelectionChange",
63
+ "disabledKeys",
64
+ "getKey",
65
+ "label",
66
+ "aria-label",
67
+ "aria-labelledby",
68
+ "aria-describedby",
69
+ "isDisabled",
70
+ "onRemove"
71
+ ]);
72
+ const [gridRef, setGridRef] = createSignal(null);
73
+ const getKey = (item) => {
74
+ if (local.getKey) return local.getKey(item);
75
+ if (item.id !== void 0) return item.id;
76
+ if (item.key !== void 0) return item.key;
77
+ return String(item);
78
+ };
79
+ const state = createListState({
80
+ get items() {
81
+ return local.items;
82
+ },
83
+ getKey,
84
+ get selectionMode() {
85
+ return local.selectionMode ?? "none";
86
+ },
87
+ get selectionBehavior() {
88
+ return local.selectionBehavior ?? "toggle";
89
+ },
90
+ get selectedKeys() {
91
+ return local.selectedKeys;
92
+ },
93
+ get defaultSelectedKeys() {
94
+ return local.defaultSelectedKeys;
95
+ },
96
+ get onSelectionChange() {
97
+ return local.onSelectionChange;
98
+ },
99
+ get disabledKeys() {
100
+ return local.disabledKeys;
101
+ }
102
+ });
103
+ const tagGroupAria = createTagGroup({
104
+ get "aria-label"() {
105
+ return local["aria-label"] ?? (!local["aria-labelledby"] ? local.label : void 0);
106
+ },
107
+ get "aria-labelledby"() {
108
+ return local["aria-labelledby"];
109
+ },
110
+ get "aria-describedby"() {
111
+ return local["aria-describedby"];
112
+ },
113
+ get isDisabled() {
114
+ return local.isDisabled;
115
+ },
116
+ get onRemove() {
117
+ return local.onRemove;
118
+ }
119
+ }, state, gridRef);
120
+ const [isFocused, setIsFocused] = createSignal(false);
121
+ const renderValues = createMemo(() => ({
122
+ isEmpty: local.items.length === 0,
123
+ isFocused: isFocused()
124
+ }));
125
+ const renderProps = useRenderProps({
126
+ class: local.class,
127
+ style: local.style,
128
+ defaultClassName: "solidaria-TagList"
129
+ }, renderValues);
130
+ const contextValue = {
131
+ state,
132
+ get onRemove() {
133
+ return local.onRemove;
134
+ },
135
+ get isDisabled() {
136
+ return local.isDisabled;
137
+ }
138
+ };
139
+ return <TagGroupContext.Provider value={contextValue}>
140
+ <TagListStateContext.Provider value={state}>
141
+ <div ref={setGridRef} {...domProps} {...tagGroupAria.gridProps} class={renderProps.class()} style={renderProps.style()} onFocus={() => {
142
+ setIsFocused(true);
143
+ state.setFocused(true);
144
+ }} onBlur={(e) => {
145
+ const nextTarget = e.relatedTarget;
146
+ if (nextTarget && e.currentTarget.contains(nextTarget)) return;
147
+ setIsFocused(false);
148
+ state.setFocused(false);
149
+ }} data-empty={dataAttr(local.items.length === 0)} data-focused={dataAttr(isFocused())}>
150
+ <SharedElementTransition>
151
+ <Show when={local.items.length > 0} fallback={local.renderEmptyState?.()}>
152
+ <For each={local.items}>{(item) => props.children(item)}</For>
153
+ </Show>
154
+ </SharedElementTransition>
155
+ </div>
156
+ </TagListStateContext.Provider>
157
+ </TagGroupContext.Provider>;
158
+ }
159
+ /**
160
+ * A Tag is an individual item within a TagList.
161
+ */
162
+ function Tag(props) {
163
+ const [local, rest] = splitProps(props, [
164
+ "id",
165
+ "class",
166
+ "style",
167
+ "slot",
168
+ "isDisabled",
169
+ "textValue",
170
+ "onAction"
171
+ ]);
172
+ const state = useContext(TagListStateContext);
173
+ const groupContext = useContext(TagGroupContext);
174
+ const [tagRef, setTagRef] = createSignal(null);
175
+ const tagAria = createTag({
176
+ get key() {
177
+ return local.id;
178
+ },
179
+ role: "row",
180
+ get isDisabled() {
181
+ return local.isDisabled || groupContext?.isDisabled;
182
+ },
183
+ get textValue() {
184
+ return local.textValue;
185
+ }
186
+ }, state, tagRef);
187
+ const normalizedRemoveButtonProps = createMemo(() => {
188
+ const raw = tagAria.removeButtonProps;
189
+ const rawHandler = typeof raw.onPress === "function" ? raw.onPress : void 0;
190
+ return {
191
+ ...raw,
192
+ onPress: () => {
193
+ if (!tagAria.isDisabled && groupContext?.onRemove) {
194
+ groupContext.onRemove(new Set([local.id]));
195
+ return;
196
+ }
197
+ rawHandler?.();
198
+ }
199
+ };
200
+ });
201
+ const renderValues = createMemo(() => ({
202
+ isSelected: tagAria.isSelected,
203
+ isDisabled: tagAria.isDisabled,
204
+ isFocused: tagAria.isFocused,
205
+ isPressed: tagAria.isPressed,
206
+ allowsRemoving: tagAria.allowsRemoving,
207
+ selectionMode: state?.selectionMode() ?? "none",
208
+ removeButtonProps: normalizedRemoveButtonProps()
209
+ }));
210
+ const renderProps = useRenderProps({
211
+ get children() {
212
+ return props.children;
213
+ },
214
+ class: local.class,
215
+ style: local.style,
216
+ defaultClassName: "solidaria-Tag"
217
+ }, renderValues);
218
+ const selectionIndicatorContext = createMemo(() => ({ isSelected: () => tagAria.isSelected }));
219
+ const domProps = createMemo(() => filterDOMProps(rest, { global: true }));
220
+ return <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>
221
+ <TagContext.Provider value={{
222
+ get removeButtonProps() {
223
+ return normalizedRemoveButtonProps();
224
+ },
225
+ get allowsRemoving() {
226
+ return tagAria.allowsRemoving;
227
+ }
228
+ }}>
229
+ <div ref={setTagRef} {...domProps()} {...tagAria.rowProps} class={renderProps.class()} style={renderProps.style()} onClick={(event) => {
230
+ const rowClick = tagAria.rowProps.onClick;
231
+ if (typeof rowClick === "function") rowClick(event);
232
+ if (!tagAria.isDisabled && !event.target?.closest("button")) local.onAction?.(local.id);
233
+ }} data-selected={dataAttr(tagAria.isSelected)} data-disabled={dataAttr(tagAria.isDisabled)} data-focused={dataAttr(tagAria.isFocused)} data-pressed={dataAttr(tagAria.isPressed)} data-allows-removing={dataAttr(tagAria.allowsRemoving)}>
234
+ <div {...tagAria.gridCellProps} style={{ display: "contents" }}>
235
+ {renderProps.renderChildren()}
236
+ </div>
237
+ </div>
238
+ </TagContext.Provider>
239
+ </SelectionIndicatorContext.Provider>;
240
+ }
241
+ /**
242
+ * TagRemoveButton is the button used to remove a tag.
243
+ * It should be placed inside a Tag component.
244
+ */
245
+ function TagRemoveButton(props) {
246
+ const tagContext = useContext(TagContext);
247
+ const getRemoveButtonProps = () => props.buttonProps ?? tagContext?.removeButtonProps ?? {};
248
+ const getIsDisabled = () => Boolean(getRemoveButtonProps().isDisabled);
249
+ const rawId = getRemoveButtonProps().id;
250
+ const rawAriaLabel = getRemoveButtonProps()["aria-label"];
251
+ const rawAriaLabelledBy = getRemoveButtonProps()["aria-labelledby"];
252
+ const buttonId = typeof rawId === "string" ? rawId : void 0;
253
+ const ariaLabel = typeof rawAriaLabel === "string" ? rawAriaLabel : "Remove";
254
+ const ariaLabelledBy = typeof rawAriaLabelledBy === "string" ? rawAriaLabelledBy : void 0;
255
+ const handleClick = (event) => {
256
+ event.stopPropagation();
257
+ const handler = getRemoveButtonProps().onPress;
258
+ if (typeof handler === "function" && !getIsDisabled()) handler();
259
+ };
260
+ const stopRowPress = (event) => {
261
+ event.stopPropagation();
262
+ };
263
+ return <button type="button" class={props.class ?? "solidaria-TagRemoveButton"} style={props.style} id={buttonId} aria-label={ariaLabel} aria-labelledby={ariaLabelledBy} disabled={getIsDisabled()} data-allows-removing={dataAttr(tagContext?.allowsRemoving ?? false)} onPointerDown={stopRowPress} onClick={handleClick}>
264
+ {props.children ?? "×"}
265
+ </button>;
266
+ }
267
+ //#endregion
268
+ export { Tag, TagContext, TagGroup, TagGroupContext, TagList, TagListStateContext, TagRemoveButton, useTagGroupContext };
269
+
270
+ //# sourceMappingURL=TagGroup.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagGroup.jsx","names":[],"sources":["../src/TagGroup.tsx"],"sourcesContent":["/**\n * TagGroup component for solidaria-components\n *\n * Pre-wired headless tag group component that combines aria hooks.\n * Port of react-aria-components/src/TagGroup.tsx\n *\n * A tag group is a focusable list of labels, categories, keywords, filters, or other items,\n * with support for keyboard navigation, selection, and removal.\n */\n\nimport {\n type JSX,\n createContext,\n createMemo,\n createSignal,\n splitProps,\n useContext,\n For,\n Show,\n} from \"solid-js\";\nimport { createTagGroup, createTag, type AriaTagGroupProps } from \"@proyecto-viviana/solidaria\";\nimport {\n createListState,\n type ListState,\n type Key,\n type SelectionMode,\n type SelectionBehavior,\n} 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 { SharedElementTransition } from \"./SharedElementTransition\";\nimport {\n SelectionIndicatorContext,\n type SelectionIndicatorContextValue,\n} from \"./SelectionIndicator\";\n\nexport interface TagGroupRenderProps {\n /** Whether the tag group is disabled. */\n isDisabled: boolean;\n /** Whether the tag list is empty. */\n isEmpty: boolean;\n}\n\nexport interface TagGroupProps\n extends\n Omit<AriaTagGroupProps, \"id\">,\n SlotProps,\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\" | \"style\" | \"children\"> {\n /** The children of the component. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TagGroupRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TagGroupRenderProps>;\n}\n\nexport interface TagListRenderProps {\n /** Whether the tag list is empty. */\n isEmpty: boolean;\n /** Whether the tag list is focused. */\n isFocused: boolean;\n}\n\nexport interface TagListProps<T>\n extends\n SlotProps,\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\" | \"style\" | \"children\" | \"onSelectionChange\"> {\n /** The items to display in the tag list. */\n items: T[];\n /** Function to render each item. */\n children: (item: T) => JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TagListRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TagListRenderProps>;\n /** Content to render when the list is empty. */\n renderEmptyState?: () => JSX.Element;\n /** The selection mode for the tag list. */\n selectionMode?: SelectionMode;\n /** How selection behaves in the collection. */\n selectionBehavior?: SelectionBehavior;\n /** The currently selected keys (controlled). */\n selectedKeys?: Iterable<Key>;\n /** The default selected keys (uncontrolled). */\n defaultSelectedKeys?: Iterable<Key>;\n /** Handler called when selection changes. */\n onSelectionChange?: (keys: \"all\" | Set<Key>) => void;\n /** Keys that are disabled. */\n disabledKeys?: Iterable<Key>;\n /** Function to get a unique key from an item. */\n getKey?: (item: T) => Key;\n /** Accessibility label. */\n label?: string;\n /** Custom aria-label. */\n \"aria-label\"?: string;\n /** Reference to external label element. */\n \"aria-labelledby\"?: string;\n /** Reference to description element. */\n \"aria-describedby\"?: string;\n /** Whether the tag list is disabled. */\n isDisabled?: boolean;\n /** Handler called when tags are removed. */\n onRemove?: (keys: Set<Key>) => void;\n}\n\nexport interface TagRenderProps {\n /** Whether the tag is selected. */\n isSelected: boolean;\n /** Whether the tag is disabled. */\n isDisabled: boolean;\n /** Whether the tag is focused. */\n isFocused: boolean;\n /** Whether the tag is pressed. */\n isPressed: boolean;\n /** Whether the tag allows removal. */\n allowsRemoving: boolean;\n /** The selection mode. */\n selectionMode: SelectionMode;\n /** Props for the remove button when removal is allowed. */\n removeButtonProps: Record<string, unknown>;\n}\n\nexport interface TagProps extends SlotProps {\n /** A unique key for this tag. */\n id: Key;\n /** Whether the tag is disabled. */\n isDisabled?: boolean;\n /** A text value for accessibility. */\n textValue?: string;\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<TagRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TagRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TagRenderProps>;\n /** Handler called when the tag is activated. */\n onAction?: (key: Key) => void;\n}\n\ninterface TagGroupContextValue {\n state: ListState;\n onRemove?: (keys: Set<Key>) => void;\n isDisabled?: boolean;\n}\n\ninterface TagContextValue {\n removeButtonProps: Record<string, unknown>;\n allowsRemoving: boolean;\n}\n\nexport const TagGroupContext = createContext<TagGroupContextValue | null>(null);\nexport const TagListStateContext = createContext<ListState | null>(null);\nexport const TagContext = createContext<TagContextValue | null>(null);\n\nexport function useTagGroupContext(): TagGroupContextValue | null {\n return useContext(TagGroupContext);\n}\n\n/**\n * A tag group is a focusable list of labels, categories, keywords, filters, or other items,\n * with support for keyboard navigation, selection, and removal.\n *\n * @example\n * ```tsx\n * <TagGroup label=\"Categories\" onRemove={(keys) => removeItems(keys)}>\n * <TagList items={items}>\n * {(item) => <Tag id={item.id}>{item.name}</Tag>}\n * </TagList>\n * </TagGroup>\n * ```\n */\nexport function TagGroup(props: TagGroupProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n // We need TagList to provide the state, so TagGroup just provides context\n return (\n <div\n {...domProps}\n class={typeof local.class === \"string\" ? local.class : \"solidaria-TagGroup\"}\n style={typeof local.style === \"object\" ? local.style : undefined}\n slot={local.slot}\n >\n {props.children}\n </div>\n );\n}\n\n/**\n * TagList contains the list of tags within a TagGroup.\n */\nexport function TagList<T extends { id?: Key; key?: Key }>(props: TagListProps<T>): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"items\",\n \"class\",\n \"style\",\n \"slot\",\n \"renderEmptyState\",\n \"children\",\n \"selectionMode\",\n \"selectionBehavior\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"disabledKeys\",\n \"getKey\",\n \"label\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-describedby\",\n \"isDisabled\",\n \"onRemove\",\n ]);\n\n // Create a ref for the grid\n const [gridRef, setGridRef] = createSignal<HTMLDivElement | null>(null);\n\n // Default getKey function\n const getKey = (item: T): Key => {\n if (local.getKey) return local.getKey(item);\n if (item.id !== undefined) return item.id;\n if (item.key !== undefined) return item.key;\n return String(item);\n };\n\n const state = createListState({\n get items() {\n return local.items;\n },\n getKey,\n get selectionMode() {\n return local.selectionMode ?? \"none\";\n },\n get selectionBehavior() {\n return local.selectionBehavior ?? \"toggle\";\n },\n get selectedKeys() {\n return local.selectedKeys;\n },\n get defaultSelectedKeys() {\n return local.defaultSelectedKeys;\n },\n get onSelectionChange() {\n return local.onSelectionChange;\n },\n get disabledKeys() {\n return local.disabledKeys;\n },\n });\n\n // Create tag group accessibility props\n const tagGroupAria = createTagGroup(\n {\n get \"aria-label\"() {\n return local[\"aria-label\"] ?? (!local[\"aria-labelledby\"] ? local.label : undefined);\n },\n get \"aria-labelledby\"() {\n return local[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return local[\"aria-describedby\"];\n },\n get isDisabled() {\n return local.isDisabled;\n },\n get onRemove() {\n return local.onRemove;\n },\n },\n state,\n gridRef,\n );\n\n const [isFocused, setIsFocused] = createSignal(false);\n\n const renderValues = createMemo<TagListRenderProps>(() => ({\n isEmpty: local.items.length === 0,\n isFocused: isFocused(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-TagList\",\n },\n renderValues,\n );\n\n const contextValue: TagGroupContextValue = {\n state,\n get onRemove() {\n return local.onRemove;\n },\n get isDisabled() {\n return local.isDisabled;\n },\n };\n\n return (\n <TagGroupContext.Provider value={contextValue}>\n <TagListStateContext.Provider value={state}>\n <div\n ref={setGridRef}\n {...domProps}\n {...tagGroupAria.gridProps}\n class={renderProps.class()}\n style={renderProps.style()}\n onFocus={() => {\n setIsFocused(true);\n state.setFocused(true);\n }}\n onBlur={(e) => {\n const nextTarget = e.relatedTarget as Node | null;\n if (nextTarget && e.currentTarget.contains(nextTarget)) {\n return;\n }\n\n setIsFocused(false);\n state.setFocused(false);\n }}\n data-empty={dataAttr(local.items.length === 0)}\n data-focused={dataAttr(isFocused())}\n >\n <SharedElementTransition>\n <Show when={local.items.length > 0} fallback={local.renderEmptyState?.()}>\n <For each={local.items}>{(item) => props.children(item)}</For>\n </Show>\n </SharedElementTransition>\n </div>\n </TagListStateContext.Provider>\n </TagGroupContext.Provider>\n );\n}\n\n/**\n * A Tag is an individual item within a TagList.\n */\nexport function Tag(props: TagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"id\",\n \"class\",\n \"style\",\n \"slot\",\n \"isDisabled\",\n \"textValue\",\n \"onAction\",\n ]);\n\n const state = useContext(TagListStateContext);\n const groupContext = useContext(TagGroupContext);\n\n // Create a ref for the tag\n const [tagRef, setTagRef] = createSignal<HTMLDivElement | null>(null);\n\n // Create tag accessibility props\n const tagAria = createTag(\n {\n get key() {\n return local.id;\n },\n role: \"row\",\n get isDisabled() {\n return local.isDisabled || groupContext?.isDisabled;\n },\n get textValue() {\n return local.textValue;\n },\n },\n state!,\n tagRef,\n );\n\n const normalizedRemoveButtonProps = createMemo<Record<string, unknown>>(() => {\n const raw = tagAria.removeButtonProps;\n const rawHandler = typeof raw.onPress === \"function\" ? (raw.onPress as () => void) : undefined;\n return {\n ...raw,\n onPress: () => {\n if (!tagAria.isDisabled && groupContext?.onRemove) {\n groupContext.onRemove(new Set([local.id]));\n return;\n }\n rawHandler?.();\n },\n };\n });\n\n const renderValues = createMemo<TagRenderProps>(() => ({\n isSelected: tagAria.isSelected,\n isDisabled: tagAria.isDisabled,\n isFocused: tagAria.isFocused,\n isPressed: tagAria.isPressed,\n allowsRemoving: tagAria.allowsRemoving,\n selectionMode: state?.selectionMode() ?? \"none\",\n removeButtonProps: normalizedRemoveButtonProps(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Tag\",\n },\n renderValues,\n );\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: () => tagAria.isSelected,\n }));\n\n const domProps = createMemo(() => filterDOMProps(rest, { global: true }));\n\n return (\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n <TagContext.Provider\n value={{\n get removeButtonProps() {\n return normalizedRemoveButtonProps();\n },\n get allowsRemoving() {\n return tagAria.allowsRemoving;\n },\n }}\n >\n <div\n ref={setTagRef}\n {...domProps()}\n {...tagAria.rowProps}\n class={renderProps.class()}\n style={renderProps.style()}\n onClick={(event) => {\n const rowClick = tagAria.rowProps.onClick;\n if (typeof rowClick === \"function\") {\n (rowClick as JSX.EventHandler<HTMLDivElement, MouseEvent>)(event);\n }\n\n if (!tagAria.isDisabled && !(event.target as Element | null)?.closest(\"button\")) {\n local.onAction?.(local.id);\n }\n }}\n data-selected={dataAttr(tagAria.isSelected)}\n data-disabled={dataAttr(tagAria.isDisabled)}\n data-focused={dataAttr(tagAria.isFocused)}\n data-pressed={dataAttr(tagAria.isPressed)}\n data-allows-removing={dataAttr(tagAria.allowsRemoving)}\n >\n <div {...tagAria.gridCellProps} style={{ display: \"contents\" }}>\n {renderProps.renderChildren()}\n </div>\n </div>\n </TagContext.Provider>\n </SelectionIndicatorContext.Provider>\n );\n}\n\nexport interface TagRemoveButtonProps {\n /** The children of the button (usually an X icon). */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: string;\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n /** Explicit button props from Tag render props. */\n buttonProps?: Record<string, unknown>;\n}\n\n/**\n * TagRemoveButton is the button used to remove a tag.\n * It should be placed inside a Tag component.\n */\nexport function TagRemoveButton(props: TagRemoveButtonProps): JSX.Element {\n const tagContext = useContext(TagContext);\n const getRemoveButtonProps = () => props.buttonProps ?? tagContext?.removeButtonProps ?? {};\n const getIsDisabled = () => Boolean(getRemoveButtonProps().isDisabled);\n const rawId = getRemoveButtonProps().id;\n const rawAriaLabel = getRemoveButtonProps()[\"aria-label\"];\n const rawAriaLabelledBy = getRemoveButtonProps()[\"aria-labelledby\"];\n const buttonId: string | undefined = typeof rawId === \"string\" ? rawId : undefined;\n const ariaLabel: string = typeof rawAriaLabel === \"string\" ? rawAriaLabel : \"Remove\";\n const ariaLabelledBy: string | undefined =\n typeof rawAriaLabelledBy === \"string\" ? rawAriaLabelledBy : undefined;\n\n const handleClick: JSX.EventHandler<HTMLButtonElement, MouseEvent> = (event) => {\n event.stopPropagation();\n const handler = getRemoveButtonProps().onPress;\n if (typeof handler === \"function\" && !getIsDisabled()) {\n (handler as () => void)();\n }\n };\n const stopRowPress: JSX.EventHandler<HTMLButtonElement, PointerEvent> = (event) => {\n event.stopPropagation();\n };\n\n return (\n <button\n type=\"button\"\n class={props.class ?? \"solidaria-TagRemoveButton\"}\n style={props.style}\n id={buttonId}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n disabled={getIsDisabled()}\n data-allows-removing={dataAttr(tagContext?.allowsRemoving ?? false)}\n onPointerDown={stopRowPress}\n onClick={handleClick}\n >\n {props.children ?? \"×\"}\n </button>\n );\n}\n\nexport type { Key, SelectionMode, SelectionBehavior };\n"],"mappings":"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"}
package/dist/Text.d.ts CHANGED
@@ -1,10 +1,22 @@
1
1
  import { type JSX } from "solid-js";
2
- import type { SlotProps } from "./utils";
3
- export interface TextProps extends SlotProps {
4
- children?: JSX.Element;
5
- class?: string;
6
- style?: JSX.CSSProperties;
2
+ import { type ContextValue, type SlotProps } from "./utils";
3
+ export interface TextProps extends JSX.HTMLAttributes<HTMLElement>, SlotProps {
4
+ /** The element type to render as. @default 'span' */
5
+ elementType?: string;
7
6
  }
8
- export declare const TextContext: import("solid-js").Context<null>;
7
+ /**
8
+ * Slotted context for `Text`. A field provides description / errorMessage props
9
+ * (each carrying the `id` its `aria-describedby` references) under named slots,
10
+ * so a `<Text slot="description">` child picks up the right `id` without the field
11
+ * threading it manually. Mirrors react-aria-components' `TextContext` (default
12
+ * `{}` so an unprovided `Text` merges against an empty context and renders as-is).
13
+ */
14
+ export declare const TextContext: import("solid-js").Context<ContextValue<TextProps, HTMLElement>>;
15
+ /**
16
+ * A piece of text, typically a label, description, or error message inside a
17
+ * field. Port of react-aria-components' `Text`: it consumes its slot from
18
+ * `TextContext` (via `useContextProps`) so a field can supply the `id` and other
19
+ * props for the matching slot, then renders them onto the element.
20
+ */
9
21
  export declare function Text(props: TextProps): JSX.Element;
10
22
  //# sourceMappingURL=Text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAiB,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,kCAA4B,CAAC;AAErD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAMlD"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAA6B,MAAM,UAAU,CAAC;AAE/D,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAmC,MAAM,SAAS,CAAC;AAE7F,MAAM,WAAW,SAAU,SAAQ,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS;IAC3E,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,kEAA0D,CAAC;AAEnF;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAclD"}
package/dist/Text.js ADDED
@@ -0,0 +1,42 @@
1
+ import { filterDOMProps, useContextProps } from "./utils.js";
2
+ import { Dynamic, createComponent, mergeProps } from "solid-js/web";
3
+ import { createContext, splitProps } from "solid-js";
4
+ //#region src/Text.tsx
5
+ /**
6
+ * Slotted context for `Text`. A field provides description / errorMessage props
7
+ * (each carrying the `id` its `aria-describedby` references) under named slots,
8
+ * so a `<Text slot="description">` child picks up the right `id` without the field
9
+ * threading it manually. Mirrors react-aria-components' `TextContext` (default
10
+ * `{}` so an unprovided `Text` merges against an empty context and renders as-is).
11
+ */
12
+ const TextContext = createContext({});
13
+ /**
14
+ * A piece of text, typically a label, description, or error message inside a
15
+ * field. Port of react-aria-components' `Text`: it consumes its slot from
16
+ * `TextContext` (via `useContextProps`) so a field can supply the `id` and other
17
+ * props for the matching slot, then renders them onto the element.
18
+ */
19
+ function Text(props) {
20
+ const [merged] = useContextProps(props, void 0, TextContext);
21
+ const [local, domProps] = splitProps(merged, [
22
+ "elementType",
23
+ "class",
24
+ "children",
25
+ "slot",
26
+ "ref"
27
+ ]);
28
+ return createComponent(Dynamic, mergeProps({
29
+ get component() {
30
+ return local.elementType ?? "span";
31
+ },
32
+ get ["class"]() {
33
+ return local.class ?? "solidaria-Text";
34
+ }
35
+ }, () => filterDOMProps(domProps, { global: true }), { get children() {
36
+ return local.children;
37
+ } }));
38
+ }
39
+ //#endregion
40
+ export { Text, TextContext };
41
+
42
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","names":["JSX","createContext","splitProps","Dynamic","ContextValue","SlotProps","useContextProps","filterDOMProps","TextProps","HTMLAttributes","HTMLElement","elementType","TextContext","Text","props","Element","merged","undefined","local","domProps","_$createComponent","_$mergeProps","component","class","global","children"],"sources":["../src/Text.tsx"],"sourcesContent":["import { type JSX, createContext, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ContextValue, type SlotProps, useContextProps, filterDOMProps } from \"./utils\";\n\nexport interface TextProps extends JSX.HTMLAttributes<HTMLElement>, SlotProps {\n /** The element type to render as. @default 'span' */\n elementType?: string;\n}\n\n/**\n * Slotted context for `Text`. A field provides description / errorMessage props\n * (each carrying the `id` its `aria-describedby` references) under named slots,\n * so a `<Text slot=\"description\">` child picks up the right `id` without the field\n * threading it manually. Mirrors react-aria-components' `TextContext` (default\n * `{}` so an unprovided `Text` merges against an empty context and renders as-is).\n */\nexport const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});\n\n/**\n * A piece of text, typically a label, description, or error message inside a\n * field. Port of react-aria-components' `Text`: it consumes its slot from\n * `TextContext` (via `useContextProps`) so a field can supply the `id` and other\n * props for the matching slot, then renders them onto the element.\n */\nexport function Text(props: TextProps): JSX.Element {\n const [merged] = useContextProps(props, undefined, TextContext);\n // `slot` stays a logical prop (not a DOM attribute) and `ref`/`class`/`children`\n // are rendered explicitly; everything else (notably the slotted `id`) is spread.\n const [local, domProps] = splitProps(merged, [\"elementType\", \"class\", \"children\", \"slot\", \"ref\"]);\n return (\n <Dynamic\n component={local.elementType ?? \"span\"}\n class={local.class ?? \"solidaria-Text\"}\n {...filterDOMProps(domProps, { global: true })}\n >\n {local.children}\n </Dynamic>\n );\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAaY,cAAcX,cAAoD,CAAC,CAAC;;;;;;;AAQjF,SAAgBY,KAAKC,OAA+B;CAClD,MAAM,CAACE,UAAUV,gBAAgBQ,OAAOG,KAAAA,GAAWL,WAAW;CAG9D,MAAM,CAACM,OAAOC,YAAYjB,WAAWc,QAAQ;EAAC;EAAe;EAAS;EAAY;EAAQ;CAAK,CAAC;CAChG,OAAAI,gBACGjB,SAAOkB,WAAA;EAAA,IACNC,YAAS;GAAA,OAAEJ,MAAMP,eAAe;EAAM;EAAA,KAAA,WAAA;GAAA,OAC/BO,MAAMK,SAAS;EAAgB;CAAA,SAClChB,eAAeY,UAAU,EAAEK,QAAQ,KAAK,CAAC,GAAC,EAAA,IAAAC,WAAA;EAAA,OAE7CP,MAAMO;CAAQ,EAAA,CAAA,CAAA;AAGrB"}
package/dist/Text.jsx ADDED
@@ -0,0 +1,35 @@
1
+ import { filterDOMProps, useContextProps } from "./utils.jsx";
2
+ import { createContext, splitProps } from "solid-js";
3
+ import { Dynamic } from "solid-js/web";
4
+ //#region src/Text.tsx
5
+ /**
6
+ * Slotted context for `Text`. A field provides description / errorMessage props
7
+ * (each carrying the `id` its `aria-describedby` references) under named slots,
8
+ * so a `<Text slot="description">` child picks up the right `id` without the field
9
+ * threading it manually. Mirrors react-aria-components' `TextContext` (default
10
+ * `{}` so an unprovided `Text` merges against an empty context and renders as-is).
11
+ */
12
+ const TextContext = createContext({});
13
+ /**
14
+ * A piece of text, typically a label, description, or error message inside a
15
+ * field. Port of react-aria-components' `Text`: it consumes its slot from
16
+ * `TextContext` (via `useContextProps`) so a field can supply the `id` and other
17
+ * props for the matching slot, then renders them onto the element.
18
+ */
19
+ function Text(props) {
20
+ const [merged] = useContextProps(props, void 0, TextContext);
21
+ const [local, domProps] = splitProps(merged, [
22
+ "elementType",
23
+ "class",
24
+ "children",
25
+ "slot",
26
+ "ref"
27
+ ]);
28
+ return <Dynamic component={local.elementType ?? "span"} class={local.class ?? "solidaria-Text"} {...filterDOMProps(domProps, { global: true })}>
29
+ {local.children}
30
+ </Dynamic>;
31
+ }
32
+ //#endregion
33
+ export { Text, TextContext };
34
+
35
+ //# sourceMappingURL=Text.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.jsx","names":[],"sources":["../src/Text.tsx"],"sourcesContent":["import { type JSX, createContext, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ContextValue, type SlotProps, useContextProps, filterDOMProps } from \"./utils\";\n\nexport interface TextProps extends JSX.HTMLAttributes<HTMLElement>, SlotProps {\n /** The element type to render as. @default 'span' */\n elementType?: string;\n}\n\n/**\n * Slotted context for `Text`. A field provides description / errorMessage props\n * (each carrying the `id` its `aria-describedby` references) under named slots,\n * so a `<Text slot=\"description\">` child picks up the right `id` without the field\n * threading it manually. Mirrors react-aria-components' `TextContext` (default\n * `{}` so an unprovided `Text` merges against an empty context and renders as-is).\n */\nexport const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});\n\n/**\n * A piece of text, typically a label, description, or error message inside a\n * field. Port of react-aria-components' `Text`: it consumes its slot from\n * `TextContext` (via `useContextProps`) so a field can supply the `id` and other\n * props for the matching slot, then renders them onto the element.\n */\nexport function Text(props: TextProps): JSX.Element {\n const [merged] = useContextProps(props, undefined, TextContext);\n // `slot` stays a logical prop (not a DOM attribute) and `ref`/`class`/`children`\n // are rendered explicitly; everything else (notably the slotted `id`) is spread.\n const [local, domProps] = splitProps(merged, [\"elementType\", \"class\", \"children\", \"slot\", \"ref\"]);\n return (\n <Dynamic\n component={local.elementType ?? \"span\"}\n class={local.class ?? \"solidaria-Text\"}\n {...filterDOMProps(domProps, { global: true })}\n >\n {local.children}\n </Dynamic>\n );\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,cAAc,cAAoD,CAAC,CAAC;;;;;;;AAQjF,SAAgB,KAAK,OAA+B;CAClD,MAAM,CAAC,UAAU,gBAAgB,OAAO,KAAA,GAAW,WAAW;CAG9D,MAAM,CAAC,OAAO,YAAY,WAAW,QAAQ;EAAC;EAAe;EAAS;EAAY;EAAQ;CAAK,CAAC;CAChG,OACE,CAAC,QACC,WAAW,MAAM,eAAe,QAChC,OAAO,MAAM,SAAS,sBAClB,eAAe,UAAU,EAAE,QAAQ,KAAK,CAAC,GAC9C;OACE,MAAM,SAAS;IAClB,EAAE;AAEN"}
@@ -4,7 +4,7 @@
4
4
  * A pre-wired headless text field that combines state + aria hooks.
5
5
  * Port of react-aria-components/src/TextField.tsx
6
6
  */
7
- import { type JSX } from "solid-js";
7
+ import { type JSX, type Context } from "solid-js";
8
8
  import { type AriaTextFieldProps } from "@proyecto-viviana/solidaria";
9
9
  import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
10
10
  export interface TextFieldRenderProps {
@@ -43,11 +43,11 @@ export interface TextFieldContextValue {
43
43
  inputId?: string;
44
44
  setInputId?: (id: string | undefined) => void;
45
45
  }
46
- export declare const TextFieldContext: import("solid-js").Context<TextFieldContextValue | null>;
47
- export declare const LabelContext: import("solid-js").Context<TextFieldContextValue | null>;
48
- export declare const InputContext: import("solid-js").Context<TextFieldContextValue | null>;
49
- export declare const TextAreaContext: import("solid-js").Context<TextFieldContextValue | null>;
50
- export declare const FieldInputContext: import("solid-js").Context<TextFieldContextValue | null>;
46
+ export declare const TextFieldContext: Context<TextFieldContextValue | null>;
47
+ export declare const LabelContext: Context<TextFieldContextValue | null>;
48
+ export declare const InputContext: Context<TextFieldContextValue | null>;
49
+ export declare const TextAreaContext: Context<TextFieldContextValue | null>;
50
+ export declare const FieldInputContext: Context<TextFieldContextValue | null>;
51
51
  export interface LabelProps extends JSX.LabelHTMLAttributes<HTMLLabelElement> {
52
52
  children?: JSX.Element;
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}