@proyecto-viviana/solidaria-components 0.3.1 → 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 +8 -5
  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 +7 -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 -23711
  332. package/dist/index.jsx +70 -18116
  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 +90 -23
  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 +126 -14
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +117 -10
  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 +298 -131
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +73 -10
  372. package/src/Popover.tsx +49 -11
  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 +4 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +73 -10
  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 +55 -8
  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
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,334 @@
1
+ import { filterDOMProps, useRenderProps } from "./utils.js";
2
+ import { Dynamic, createComponent, getNextElement, insert, memo, mergeProps, runHydrationEvents, spread, template, use } from "solid-js/web";
3
+ import { For, Show, children, createContext, createMemo, createSignal, splitProps, useContext } from "solid-js";
4
+ import { createBreadcrumbItem, createBreadcrumbs, createFocusRing, createHover, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
5
+ //#region src/Breadcrumbs.tsx
6
+ /**
7
+ * Breadcrumbs component for solidaria-components
8
+ *
9
+ * A pre-wired headless breadcrumbs component that combines aria hooks.
10
+ * Port of react-aria-components Breadcrumbs.
11
+ */
12
+ var _tmpl$ = /*#__PURE__*/ template(`<nav><ol style=display:flex;align-items:center;list-style:none;margin:0;padding:0>`), _tmpl$2 = /*#__PURE__*/ template(`<li style=display:flex;align-items:center>`);
13
+ function assignRef(ref, el) {
14
+ if (!ref) return;
15
+ if (typeof ref === "function") ref(el);
16
+ else ref.current = el;
17
+ }
18
+ const BreadcrumbsContext = createContext(null);
19
+ const BreadcrumbItemContext = createContext(null);
20
+ function defaultItemKey(item, index) {
21
+ const maybeItem = item;
22
+ return maybeItem.key ?? maybeItem.id ?? index;
23
+ }
24
+ /**
25
+ * Breadcrumbs show hierarchy and navigational context for a user's location within an application.
26
+ */
27
+ function Breadcrumbs(props) {
28
+ const [local, ariaProps, rest] = splitProps(props, [
29
+ "children",
30
+ "class",
31
+ "style",
32
+ "slot",
33
+ "items",
34
+ "getKey",
35
+ "isDisabled",
36
+ "onAction",
37
+ "ref"
38
+ ], [
39
+ "aria-label",
40
+ "aria-labelledby",
41
+ "aria-describedby",
42
+ "aria-details"
43
+ ]);
44
+ const isDisabled = () => local.isDisabled ?? false;
45
+ const items = () => local.items ?? [];
46
+ const hasCollectionItems = () => local.items !== void 0;
47
+ const getItemKey = (item, index) => local.getKey?.(item) ?? defaultItemKey(item, index);
48
+ const [staticItemCount, setStaticItemCount] = createSignal(0);
49
+ let nextStaticIndex = 0;
50
+ const resetStaticItems = () => {
51
+ nextStaticIndex = 0;
52
+ setStaticItemCount(0);
53
+ };
54
+ const registerStaticItem = () => {
55
+ const index = nextStaticIndex;
56
+ nextStaticIndex += 1;
57
+ return index;
58
+ };
59
+ const { navProps } = createBreadcrumbs({
60
+ get "aria-label"() {
61
+ return ariaProps["aria-label"];
62
+ },
63
+ get "aria-labelledby"() {
64
+ return ariaProps["aria-labelledby"];
65
+ },
66
+ get "aria-describedby"() {
67
+ return ariaProps["aria-describedby"];
68
+ },
69
+ get isDisabled() {
70
+ return isDisabled();
71
+ }
72
+ });
73
+ const renderValues = createMemo(() => ({ isDisabled: isDisabled() }));
74
+ const renderProps = useRenderProps({
75
+ class: local.class,
76
+ style: local.style,
77
+ defaultClassName: "solidaria-Breadcrumbs"
78
+ }, renderValues);
79
+ const domProps = createMemo(() => filterDOMProps(rest, { global: true }));
80
+ return createComponent(BreadcrumbsContext.Provider, {
81
+ get value() {
82
+ return {
83
+ isDisabled,
84
+ onAction: local.onAction,
85
+ registerStaticItem,
86
+ staticItemCount,
87
+ resetStaticItems,
88
+ setStaticItemCount
89
+ };
90
+ },
91
+ get children() {
92
+ var _el$ = getNextElement(_tmpl$), _el$2 = _el$.firstChild;
93
+ use((element) => assignRef(local.ref, element), _el$);
94
+ spread(_el$, mergeProps(navProps, domProps, {
95
+ get ["class"]() {
96
+ return renderProps.class();
97
+ },
98
+ get style() {
99
+ return renderProps.style();
100
+ },
101
+ get ["data-disabled"]() {
102
+ return isDisabled() || void 0;
103
+ }
104
+ }), false, true);
105
+ insert(_el$2, createComponent(Show, {
106
+ get when() {
107
+ return hasCollectionItems();
108
+ },
109
+ get fallback() {
110
+ return createComponent(StaticBreadcrumbItems, { get children() {
111
+ return local.children;
112
+ } });
113
+ },
114
+ get children() {
115
+ return createComponent(For, {
116
+ get each() {
117
+ return items();
118
+ },
119
+ children: (item, index) => {
120
+ const itemKey = getItemKey(item, index());
121
+ const isLast = () => index() === items().length - 1;
122
+ const renderItem = local.children;
123
+ return (() => {
124
+ var _el$3 = getNextElement(_tmpl$2);
125
+ insert(_el$3, createComponent(BreadcrumbItemContext.Provider, {
126
+ value: {
127
+ itemKey,
128
+ isLast
129
+ },
130
+ get children() {
131
+ return renderItem?.(item);
132
+ }
133
+ }));
134
+ return _el$3;
135
+ })();
136
+ }
137
+ });
138
+ }
139
+ }));
140
+ runHydrationEvents();
141
+ return _el$;
142
+ }
143
+ });
144
+ }
145
+ function StaticBreadcrumbItems(props) {
146
+ const context = useContext(BreadcrumbsContext);
147
+ const staticChildren = children(() => props.children);
148
+ const childArray = createMemo(() => {
149
+ context?.resetStaticItems?.();
150
+ const array = staticChildren.toArray();
151
+ context?.setStaticItemCount?.(array.length);
152
+ return array;
153
+ });
154
+ return createComponent(For, {
155
+ get each() {
156
+ return childArray();
157
+ },
158
+ children: (child) => (() => {
159
+ var _el$4 = getNextElement(_tmpl$2);
160
+ insert(_el$4, child);
161
+ return _el$4;
162
+ })()
163
+ });
164
+ }
165
+ /**
166
+ * A BreadcrumbItem represents an individual breadcrumb in the navigation trail.
167
+ */
168
+ function BreadcrumbItem(props) {
169
+ const [local, ariaProps] = splitProps(props, [
170
+ "class",
171
+ "style",
172
+ "slot",
173
+ "isDisabled",
174
+ "ref"
175
+ ]);
176
+ const context = useContext(BreadcrumbsContext);
177
+ const itemContext = useContext(BreadcrumbItemContext);
178
+ const staticIndex = itemContext ? null : context?.registerStaticItem?.();
179
+ const isDisabled = () => local.isDisabled ?? context?.isDisabled() ?? false;
180
+ const isCurrent = () => ariaProps.isCurrent ?? itemContext?.isLast() ?? (staticIndex !== null && staticIndex !== void 0 && context?.staticItemCount !== void 0 && staticIndex === context.staticItemCount() - 1);
181
+ const itemKey = () => itemContext?.itemKey ?? ariaProps.id ?? null;
182
+ const handlePress = (e) => {
183
+ ariaProps.onPress?.(e);
184
+ const key = itemKey();
185
+ if (key !== null && !isCurrent() && !isDisabled()) context?.onAction?.(key);
186
+ };
187
+ const { itemProps, isPressed } = createBreadcrumbItem({
188
+ get id() {
189
+ return ariaProps.id;
190
+ },
191
+ get isCurrent() {
192
+ return isCurrent();
193
+ },
194
+ get isDisabled() {
195
+ return isDisabled();
196
+ },
197
+ get href() {
198
+ return ariaProps.href;
199
+ },
200
+ get target() {
201
+ return ariaProps.target;
202
+ },
203
+ get rel() {
204
+ return ariaProps.rel;
205
+ },
206
+ get elementType() {
207
+ return ariaProps.elementType;
208
+ },
209
+ get onPress() {
210
+ return handlePress;
211
+ },
212
+ get onPressStart() {
213
+ return ariaProps.onPressStart;
214
+ },
215
+ get onPressEnd() {
216
+ return ariaProps.onPressEnd;
217
+ },
218
+ get onClick() {
219
+ return ariaProps.onClick;
220
+ },
221
+ get onFocus() {
222
+ return ariaProps.onFocus;
223
+ },
224
+ get onBlur() {
225
+ return ariaProps.onBlur;
226
+ },
227
+ get onFocusChange() {
228
+ return ariaProps.onFocusChange;
229
+ },
230
+ get onKeyDown() {
231
+ return ariaProps.onKeyDown;
232
+ },
233
+ get onKeyUp() {
234
+ return ariaProps.onKeyUp;
235
+ },
236
+ get autoFocus() {
237
+ return ariaProps.autoFocus;
238
+ },
239
+ get "aria-label"() {
240
+ return ariaProps["aria-label"];
241
+ },
242
+ get "aria-labelledby"() {
243
+ return ariaProps["aria-labelledby"];
244
+ },
245
+ get "aria-describedby"() {
246
+ return ariaProps["aria-describedby"];
247
+ },
248
+ get "aria-details"() {
249
+ return ariaProps["aria-details"];
250
+ },
251
+ get "aria-current"() {
252
+ return ariaProps["aria-current"];
253
+ }
254
+ });
255
+ const { isFocused, isFocusVisible, focusProps } = createFocusRing();
256
+ const { isHovered, hoverProps } = createHover({ get isDisabled() {
257
+ return isDisabled();
258
+ } });
259
+ const mergedItemProps = createMemo(() => mergeProps$2(itemProps, focusProps, hoverProps));
260
+ const elementType = () => ariaProps.elementType ?? "a";
261
+ const renderValues = createMemo(() => ({
262
+ isCurrent: isCurrent(),
263
+ isDisabled: isDisabled(),
264
+ isPressed: isPressed(),
265
+ isFocused: isFocused(),
266
+ isFocusVisible: isFocusVisible(),
267
+ isHovered: isHovered()
268
+ }));
269
+ const renderProps = useRenderProps({
270
+ get children() {
271
+ return props.children;
272
+ },
273
+ class: local.class,
274
+ style: local.style,
275
+ defaultClassName: "solidaria-BreadcrumbItem"
276
+ }, renderValues);
277
+ const mergedStyle = () => {
278
+ const userStyle = renderProps.style();
279
+ const baseStyle = {
280
+ display: "inline-flex",
281
+ "align-items": "center"
282
+ };
283
+ return userStyle ? {
284
+ ...baseStyle,
285
+ ...userStyle
286
+ } : baseStyle;
287
+ };
288
+ return createComponent(Dynamic, mergeProps({ get component() {
289
+ return elementType();
290
+ } }, mergedItemProps, {
291
+ ref: (element) => assignRef(local.ref, element),
292
+ get href() {
293
+ return memo(() => !!isCurrent())() ? void 0 : mergedItemProps().href;
294
+ },
295
+ get ["aria-current"]() {
296
+ return memo(() => !!isCurrent())() ? ariaProps["aria-current"] ?? "page" : void 0;
297
+ },
298
+ get ["aria-disabled"]() {
299
+ return isDisabled() || isCurrent() || void 0;
300
+ },
301
+ get ["class"]() {
302
+ return renderProps.class();
303
+ },
304
+ get style() {
305
+ return mergedStyle();
306
+ },
307
+ get ["data-current"]() {
308
+ return isCurrent() || void 0;
309
+ },
310
+ get ["data-disabled"]() {
311
+ return isDisabled() || void 0;
312
+ },
313
+ get ["data-pressed"]() {
314
+ return isPressed() || void 0;
315
+ },
316
+ get ["data-focused"]() {
317
+ return isFocused() || void 0;
318
+ },
319
+ get ["data-focus-visible"]() {
320
+ return isFocusVisible() || void 0;
321
+ },
322
+ get ["data-hovered"]() {
323
+ return isHovered() || void 0;
324
+ },
325
+ get children() {
326
+ return renderProps.renderChildren();
327
+ }
328
+ }));
329
+ }
330
+ Breadcrumbs.Item = BreadcrumbItem;
331
+ //#endregion
332
+ export { BreadcrumbItem, BreadcrumbItemContext, Breadcrumbs, BreadcrumbsContext };
333
+
334
+ //# sourceMappingURL=Breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumbs.js","names":["Accessor","JSX","createContext","createMemo","createSignal","children","resolveChildren","splitProps","useContext","For","Show","Dynamic","createBreadcrumbs","createBreadcrumbItem","createFocusRing","createHover","mergeProps","AriaBreadcrumbsProps","AriaBreadcrumbItemProps","PressEvent","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","RefLike","el","T","current","assignRef","ref","BreadcrumbsRenderProps","isDisabled","BreadcrumbsProps","Omit","items","getKey","item","onAction","key","Element","class","style","HTMLElement","BreadcrumbItemRenderProps","isCurrent","isPressed","isFocused","isFocusVisible","isHovered","BreadcrumbItemProps","BreadcrumbsContextValue","registerStaticItem","staticItemCount","resetStaticItems","setStaticItemCount","count","BreadcrumbsContext","BreadcrumbItemContextValue","itemKey","isLast","BreadcrumbItemContext","defaultItemKey","index","maybeItem","id","Breadcrumbs","props","local","ariaProps","rest","hasCollectionItems","undefined","getItemKey","nextStaticIndex","navProps","aria-label","aria-labelledby","aria-describedby","renderValues","renderProps","defaultClassName","domProps","Record","global","_$createComponent","Provider","value","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_$use","element","_$spread","_$mergeProps","data-disabled","_$insert","when","fallback","StaticBreadcrumbItems","each","length","renderItem","_el$3","_tmpl$2","_$runHydrationEvents","context","staticChildren","childArray","array","toArray","child","_el$4","BreadcrumbItem","itemContext","staticIndex","handlePress","e","onPress","itemProps","href","target","rel","elementType","onPressStart","onPressEnd","onClick","onFocus","onBlur","onFocusChange","onKeyDown","onKeyUp","autoFocus","aria-details","aria-current","focusProps","hoverProps","mergedItemProps","mergedStyle","userStyle","baseStyle","display","component","_$memo","aria-disabled","data-current","data-pressed","data-focused","data-focus-visible","data-hovered","renderChildren","Item"],"sources":["../src/Breadcrumbs.tsx"],"sourcesContent":["/**\n * Breadcrumbs component for solidaria-components\n *\n * A pre-wired headless breadcrumbs component that combines aria hooks.\n * Port of react-aria-components Breadcrumbs.\n */\n\nimport {\n type Accessor,\n type JSX,\n createContext,\n createMemo,\n createSignal,\n children as resolveChildren,\n splitProps,\n useContext,\n For,\n Show,\n} from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport {\n createBreadcrumbs,\n createBreadcrumbItem,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaBreadcrumbsProps,\n type AriaBreadcrumbItemProps,\n type PressEvent,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./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) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface BreadcrumbsRenderProps {\n /** Whether the breadcrumbs are disabled. */\n isDisabled: boolean;\n}\n\nexport interface BreadcrumbsProps<T> extends Omit<AriaBreadcrumbsProps, \"isDisabled\">, SlotProps {\n /** The items to render in the breadcrumbs. */\n items?: T[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => string | number;\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean;\n /** Handler called when a breadcrumb item is activated. */\n onAction?: (key: string | number) => void;\n /** The children of the component, or a render function for collection items. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<BreadcrumbsRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<BreadcrumbsRenderProps>;\n /** Ref for the navigation element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport interface BreadcrumbItemRenderProps {\n /** Whether this is the current/last item. */\n isCurrent: boolean;\n /** Whether the item is disabled. */\n isDisabled: boolean;\n /** Whether the item is pressed. */\n isPressed: boolean;\n /** Whether the item is focused. */\n isFocused: boolean;\n /** Whether the item has visible focus ring. */\n isFocusVisible: boolean;\n /** Whether the item is hovered. */\n isHovered: boolean;\n}\n\nexport interface BreadcrumbItemProps\n extends Omit<AriaBreadcrumbItemProps, \"isDisabled\">, SlotProps {\n /** The children of the breadcrumb item. */\n children?: RenderChildren<BreadcrumbItemRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<BreadcrumbItemRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<BreadcrumbItemRenderProps>;\n /** Whether this item is disabled. */\n isDisabled?: boolean;\n /** Ref for the breadcrumb item element. */\n ref?: RefLike<HTMLElement>;\n}\n\ninterface BreadcrumbsContextValue {\n isDisabled: Accessor<boolean>;\n onAction?: (key: string | number) => void;\n registerStaticItem?: () => number;\n staticItemCount?: Accessor<number>;\n resetStaticItems?: () => void;\n setStaticItemCount?: (count: number) => void;\n}\n\nexport const BreadcrumbsContext = createContext<BreadcrumbsContextValue | null>(null);\n\ninterface BreadcrumbItemContextValue {\n itemKey: string | number | null;\n isLast: Accessor<boolean>;\n}\n\nexport const BreadcrumbItemContext = createContext<BreadcrumbItemContextValue | null>(null);\n\nfunction defaultItemKey(item: unknown, index: number): string | number {\n const maybeItem = item as { key?: string | number; id?: string | number };\n return maybeItem.key ?? maybeItem.id ?? index;\n}\n\n/**\n * Breadcrumbs show hierarchy and navigational context for a user's location within an application.\n */\nexport function Breadcrumbs<T>(props: BreadcrumbsProps<T>): JSX.Element {\n const [local, ariaProps, rest] = splitProps(\n props,\n [\"children\", \"class\", \"style\", \"slot\", \"items\", \"getKey\", \"isDisabled\", \"onAction\", \"ref\"],\n [\"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"aria-details\"],\n );\n\n const isDisabled = () => local.isDisabled ?? false;\n const items = () => local.items ?? [];\n const hasCollectionItems = () => local.items !== undefined;\n const getItemKey = (item: T, index: number): string | number =>\n local.getKey?.(item) ?? defaultItemKey(item, index);\n const [staticItemCount, setStaticItemCount] = createSignal(0);\n let nextStaticIndex = 0;\n const resetStaticItems = () => {\n nextStaticIndex = 0;\n setStaticItemCount(0);\n };\n const registerStaticItem = () => {\n const index = nextStaticIndex;\n nextStaticIndex += 1;\n return index;\n };\n\n const { navProps } = createBreadcrumbs({\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<BreadcrumbsRenderProps>(() => ({\n isDisabled: isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Breadcrumbs\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() =>\n filterDOMProps(rest as Record<string, unknown>, { global: true }),\n );\n return (\n <BreadcrumbsContext.Provider\n value={{\n isDisabled,\n onAction: local.onAction,\n registerStaticItem,\n staticItemCount,\n resetStaticItems,\n setStaticItemCount,\n }}\n >\n <nav\n {...navProps}\n {...domProps()}\n ref={(element) => assignRef(local.ref, element)}\n class={renderProps.class()}\n style={renderProps.style()}\n data-disabled={isDisabled() || undefined}\n >\n <ol\n style={{\n display: \"flex\",\n \"align-items\": \"center\",\n \"list-style\": \"none\",\n margin: 0,\n padding: 0,\n }}\n >\n <Show\n when={hasCollectionItems()}\n fallback={\n <StaticBreadcrumbItems>{local.children as JSX.Element}</StaticBreadcrumbItems>\n }\n >\n <For each={items()}>\n {(item, index) => {\n const itemKey = getItemKey(item, index());\n const isLast = () => index() === items().length - 1;\n const renderItem = local.children as ((item: T) => JSX.Element) | undefined;\n\n return (\n <li style={{ display: \"flex\", \"align-items\": \"center\" }}>\n <BreadcrumbItemContext.Provider value={{ itemKey, isLast }}>\n {renderItem?.(item)}\n </BreadcrumbItemContext.Provider>\n </li>\n );\n }}\n </For>\n </Show>\n </ol>\n </nav>\n </BreadcrumbsContext.Provider>\n );\n}\n\nfunction StaticBreadcrumbItems(props: { children?: JSX.Element }): JSX.Element {\n const context = useContext(BreadcrumbsContext);\n const staticChildren = resolveChildren(() => props.children);\n const childArray = createMemo(() => {\n context?.resetStaticItems?.();\n const array = staticChildren.toArray();\n context?.setStaticItemCount?.(array.length);\n return array;\n });\n\n return (\n <For each={childArray()}>\n {(child) => <li style={{ display: \"flex\", \"align-items\": \"center\" }}>{child}</li>}\n </For>\n );\n}\n\n/**\n * A BreadcrumbItem represents an individual breadcrumb in the navigation trail.\n */\nexport function BreadcrumbItem(props: BreadcrumbItemProps): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"isDisabled\", \"ref\"]);\n\n const context = useContext(BreadcrumbsContext);\n const itemContext = useContext(BreadcrumbItemContext);\n const staticIndex = itemContext ? null : context?.registerStaticItem?.();\n const isDisabled = () => local.isDisabled ?? context?.isDisabled() ?? false;\n const isCurrent = () =>\n ariaProps.isCurrent ??\n itemContext?.isLast() ??\n (staticIndex !== null &&\n staticIndex !== undefined &&\n context?.staticItemCount !== undefined &&\n staticIndex === context.staticItemCount() - 1);\n const itemKey = () => itemContext?.itemKey ?? ariaProps.id ?? null;\n\n const handlePress = (e: PressEvent) => {\n ariaProps.onPress?.(e);\n const key = itemKey();\n if (key !== null && !isCurrent() && !isDisabled()) {\n context?.onAction?.(key);\n }\n };\n\n const { itemProps, isPressed } = createBreadcrumbItem({\n get id() {\n return ariaProps.id;\n },\n get isCurrent() {\n return isCurrent();\n },\n get isDisabled() {\n return isDisabled();\n },\n get href() {\n return ariaProps.href;\n },\n get target() {\n return ariaProps.target;\n },\n get rel() {\n return ariaProps.rel;\n },\n get elementType() {\n return ariaProps.elementType;\n },\n get onPress() {\n return handlePress;\n },\n get onPressStart() {\n return ariaProps.onPressStart;\n },\n get onPressEnd() {\n return ariaProps.onPressEnd;\n },\n get onClick() {\n return ariaProps.onClick;\n },\n get onFocus() {\n return ariaProps.onFocus;\n },\n get onBlur() {\n return ariaProps.onBlur;\n },\n get onFocusChange() {\n return ariaProps.onFocusChange;\n },\n get onKeyDown() {\n return ariaProps.onKeyDown;\n },\n get onKeyUp() {\n return ariaProps.onKeyUp;\n },\n get autoFocus() {\n return ariaProps.autoFocus;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n get \"aria-details\"() {\n return ariaProps[\"aria-details\"];\n },\n get \"aria-current\"() {\n return ariaProps[\"aria-current\"];\n },\n });\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n const mergedItemProps = createMemo(() =>\n mergeProps(\n itemProps as Record<string, unknown>,\n focusProps as Record<string, unknown>,\n hoverProps as Record<string, unknown>,\n ),\n );\n const elementType = () => ariaProps.elementType ?? \"a\";\n\n const renderValues = createMemo<BreadcrumbItemRenderProps>(() => ({\n isCurrent: isCurrent(),\n isDisabled: isDisabled(),\n isPressed: isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isHovered: isHovered(),\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-BreadcrumbItem\",\n },\n renderValues,\n );\n\n const mergedStyle = () => {\n const userStyle = renderProps.style();\n const baseStyle = { display: \"inline-flex\", \"align-items\": \"center\" };\n return userStyle ? { ...baseStyle, ...userStyle } : baseStyle;\n };\n\n return (\n <Dynamic\n component={elementType()}\n {...mergedItemProps()}\n ref={(element: HTMLElement) => assignRef(local.ref, element)}\n href={isCurrent() ? undefined : (mergedItemProps() as { href?: string }).href}\n aria-current={isCurrent() ? (ariaProps[\"aria-current\"] ?? \"page\") : undefined}\n aria-disabled={isDisabled() || isCurrent() || undefined}\n class={renderProps.class()}\n style={mergedStyle()}\n data-current={isCurrent() || undefined}\n data-disabled={isDisabled() || undefined}\n data-pressed={isPressed() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-hovered={isHovered() || undefined}\n >\n {renderProps.renderChildren()}\n </Dynamic>\n );\n}\n\nBreadcrumbs.Item = BreadcrumbItem;\n"],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ import { filterDOMProps, useRenderProps } from "./utils.jsx";
2
+ import { For, Show, children, createContext, createMemo, createSignal, splitProps, useContext } from "solid-js";
3
+ import { Dynamic } from "solid-js/web";
4
+ import { createBreadcrumbItem, createBreadcrumbs, createFocusRing, createHover, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
5
+ //#region src/Breadcrumbs.tsx
6
+ /**
7
+ * Breadcrumbs component for solidaria-components
8
+ *
9
+ * A pre-wired headless breadcrumbs component that combines aria hooks.
10
+ * Port of react-aria-components Breadcrumbs.
11
+ */
12
+ function assignRef(ref, el) {
13
+ if (!ref) return;
14
+ if (typeof ref === "function") ref(el);
15
+ else ref.current = el;
16
+ }
17
+ const BreadcrumbsContext = createContext(null);
18
+ const BreadcrumbItemContext = createContext(null);
19
+ function defaultItemKey(item, index) {
20
+ const maybeItem = item;
21
+ return maybeItem.key ?? maybeItem.id ?? index;
22
+ }
23
+ /**
24
+ * Breadcrumbs show hierarchy and navigational context for a user's location within an application.
25
+ */
26
+ function Breadcrumbs(props) {
27
+ const [local, ariaProps, rest] = splitProps(props, [
28
+ "children",
29
+ "class",
30
+ "style",
31
+ "slot",
32
+ "items",
33
+ "getKey",
34
+ "isDisabled",
35
+ "onAction",
36
+ "ref"
37
+ ], [
38
+ "aria-label",
39
+ "aria-labelledby",
40
+ "aria-describedby",
41
+ "aria-details"
42
+ ]);
43
+ const isDisabled = () => local.isDisabled ?? false;
44
+ const items = () => local.items ?? [];
45
+ const hasCollectionItems = () => local.items !== void 0;
46
+ const getItemKey = (item, index) => local.getKey?.(item) ?? defaultItemKey(item, index);
47
+ const [staticItemCount, setStaticItemCount] = createSignal(0);
48
+ let nextStaticIndex = 0;
49
+ const resetStaticItems = () => {
50
+ nextStaticIndex = 0;
51
+ setStaticItemCount(0);
52
+ };
53
+ const registerStaticItem = () => {
54
+ const index = nextStaticIndex;
55
+ nextStaticIndex += 1;
56
+ return index;
57
+ };
58
+ const { navProps } = createBreadcrumbs({
59
+ get "aria-label"() {
60
+ return ariaProps["aria-label"];
61
+ },
62
+ get "aria-labelledby"() {
63
+ return ariaProps["aria-labelledby"];
64
+ },
65
+ get "aria-describedby"() {
66
+ return ariaProps["aria-describedby"];
67
+ },
68
+ get isDisabled() {
69
+ return isDisabled();
70
+ }
71
+ });
72
+ const renderValues = createMemo(() => ({ isDisabled: isDisabled() }));
73
+ const renderProps = useRenderProps({
74
+ class: local.class,
75
+ style: local.style,
76
+ defaultClassName: "solidaria-Breadcrumbs"
77
+ }, renderValues);
78
+ const domProps = createMemo(() => filterDOMProps(rest, { global: true }));
79
+ return <BreadcrumbsContext.Provider value={{
80
+ isDisabled,
81
+ onAction: local.onAction,
82
+ registerStaticItem,
83
+ staticItemCount,
84
+ resetStaticItems,
85
+ setStaticItemCount
86
+ }}>
87
+ <nav {...navProps} {...domProps()} ref={(element) => assignRef(local.ref, element)} class={renderProps.class()} style={renderProps.style()} data-disabled={isDisabled() || void 0}>
88
+ <ol style={{
89
+ display: "flex",
90
+ "align-items": "center",
91
+ "list-style": "none",
92
+ margin: 0,
93
+ padding: 0
94
+ }}>
95
+ <Show when={hasCollectionItems()} fallback={<StaticBreadcrumbItems>{local.children}</StaticBreadcrumbItems>}>
96
+ <For each={items()}>
97
+ {(item, index) => {
98
+ const itemKey = getItemKey(item, index());
99
+ const isLast = () => index() === items().length - 1;
100
+ const renderItem = local.children;
101
+ return <li style={{
102
+ display: "flex",
103
+ "align-items": "center"
104
+ }}>
105
+ <BreadcrumbItemContext.Provider value={{
106
+ itemKey,
107
+ isLast
108
+ }}>
109
+ {renderItem?.(item)}
110
+ </BreadcrumbItemContext.Provider>
111
+ </li>;
112
+ }}
113
+ </For>
114
+ </Show>
115
+ </ol>
116
+ </nav>
117
+ </BreadcrumbsContext.Provider>;
118
+ }
119
+ function StaticBreadcrumbItems(props) {
120
+ const context = useContext(BreadcrumbsContext);
121
+ const staticChildren = children(() => props.children);
122
+ const childArray = createMemo(() => {
123
+ context?.resetStaticItems?.();
124
+ const array = staticChildren.toArray();
125
+ context?.setStaticItemCount?.(array.length);
126
+ return array;
127
+ });
128
+ return <For each={childArray()}>
129
+ {(child) => <li style={{
130
+ display: "flex",
131
+ "align-items": "center"
132
+ }}>{child}</li>}
133
+ </For>;
134
+ }
135
+ /**
136
+ * A BreadcrumbItem represents an individual breadcrumb in the navigation trail.
137
+ */
138
+ function BreadcrumbItem(props) {
139
+ const [local, ariaProps] = splitProps(props, [
140
+ "class",
141
+ "style",
142
+ "slot",
143
+ "isDisabled",
144
+ "ref"
145
+ ]);
146
+ const context = useContext(BreadcrumbsContext);
147
+ const itemContext = useContext(BreadcrumbItemContext);
148
+ const staticIndex = itemContext ? null : context?.registerStaticItem?.();
149
+ const isDisabled = () => local.isDisabled ?? context?.isDisabled() ?? false;
150
+ const isCurrent = () => ariaProps.isCurrent ?? itemContext?.isLast() ?? (staticIndex !== null && staticIndex !== void 0 && context?.staticItemCount !== void 0 && staticIndex === context.staticItemCount() - 1);
151
+ const itemKey = () => itemContext?.itemKey ?? ariaProps.id ?? null;
152
+ const handlePress = (e) => {
153
+ ariaProps.onPress?.(e);
154
+ const key = itemKey();
155
+ if (key !== null && !isCurrent() && !isDisabled()) context?.onAction?.(key);
156
+ };
157
+ const { itemProps, isPressed } = createBreadcrumbItem({
158
+ get id() {
159
+ return ariaProps.id;
160
+ },
161
+ get isCurrent() {
162
+ return isCurrent();
163
+ },
164
+ get isDisabled() {
165
+ return isDisabled();
166
+ },
167
+ get href() {
168
+ return ariaProps.href;
169
+ },
170
+ get target() {
171
+ return ariaProps.target;
172
+ },
173
+ get rel() {
174
+ return ariaProps.rel;
175
+ },
176
+ get elementType() {
177
+ return ariaProps.elementType;
178
+ },
179
+ get onPress() {
180
+ return handlePress;
181
+ },
182
+ get onPressStart() {
183
+ return ariaProps.onPressStart;
184
+ },
185
+ get onPressEnd() {
186
+ return ariaProps.onPressEnd;
187
+ },
188
+ get onClick() {
189
+ return ariaProps.onClick;
190
+ },
191
+ get onFocus() {
192
+ return ariaProps.onFocus;
193
+ },
194
+ get onBlur() {
195
+ return ariaProps.onBlur;
196
+ },
197
+ get onFocusChange() {
198
+ return ariaProps.onFocusChange;
199
+ },
200
+ get onKeyDown() {
201
+ return ariaProps.onKeyDown;
202
+ },
203
+ get onKeyUp() {
204
+ return ariaProps.onKeyUp;
205
+ },
206
+ get autoFocus() {
207
+ return ariaProps.autoFocus;
208
+ },
209
+ get "aria-label"() {
210
+ return ariaProps["aria-label"];
211
+ },
212
+ get "aria-labelledby"() {
213
+ return ariaProps["aria-labelledby"];
214
+ },
215
+ get "aria-describedby"() {
216
+ return ariaProps["aria-describedby"];
217
+ },
218
+ get "aria-details"() {
219
+ return ariaProps["aria-details"];
220
+ },
221
+ get "aria-current"() {
222
+ return ariaProps["aria-current"];
223
+ }
224
+ });
225
+ const { isFocused, isFocusVisible, focusProps } = createFocusRing();
226
+ const { isHovered, hoverProps } = createHover({ get isDisabled() {
227
+ return isDisabled();
228
+ } });
229
+ const mergedItemProps = createMemo(() => mergeProps$1(itemProps, focusProps, hoverProps));
230
+ const elementType = () => ariaProps.elementType ?? "a";
231
+ const renderValues = createMemo(() => ({
232
+ isCurrent: isCurrent(),
233
+ isDisabled: isDisabled(),
234
+ isPressed: isPressed(),
235
+ isFocused: isFocused(),
236
+ isFocusVisible: isFocusVisible(),
237
+ isHovered: isHovered()
238
+ }));
239
+ const renderProps = useRenderProps({
240
+ get children() {
241
+ return props.children;
242
+ },
243
+ class: local.class,
244
+ style: local.style,
245
+ defaultClassName: "solidaria-BreadcrumbItem"
246
+ }, renderValues);
247
+ const mergedStyle = () => {
248
+ const userStyle = renderProps.style();
249
+ const baseStyle = {
250
+ display: "inline-flex",
251
+ "align-items": "center"
252
+ };
253
+ return userStyle ? {
254
+ ...baseStyle,
255
+ ...userStyle
256
+ } : baseStyle;
257
+ };
258
+ return <Dynamic component={elementType()} {...mergedItemProps()} ref={(element) => assignRef(local.ref, element)} href={isCurrent() ? void 0 : mergedItemProps().href} aria-current={isCurrent() ? ariaProps["aria-current"] ?? "page" : void 0} aria-disabled={isDisabled() || isCurrent() || void 0} class={renderProps.class()} style={mergedStyle()} data-current={isCurrent() || void 0} data-disabled={isDisabled() || void 0} data-pressed={isPressed() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} data-hovered={isHovered() || void 0}>
259
+ {renderProps.renderChildren()}
260
+ </Dynamic>;
261
+ }
262
+ Breadcrumbs.Item = BreadcrumbItem;
263
+ //#endregion
264
+ export { BreadcrumbItem, BreadcrumbItemContext, Breadcrumbs, BreadcrumbsContext };
265
+
266
+ //# sourceMappingURL=Breadcrumbs.jsx.map