@proyecto-viviana/solidaria-components 0.4.0 → 0.5.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 (226) hide show
  1. package/dist/ActionBar.d.ts.map +1 -1
  2. package/dist/ActionBar.js +2 -11
  3. package/dist/ActionBar.js.map +1 -1
  4. package/dist/ActionBar.jsx +2 -11
  5. package/dist/ActionBar.jsx.map +1 -1
  6. package/dist/ActionGroup.d.ts.map +1 -1
  7. package/dist/ActionGroup.js +1 -1
  8. package/dist/ActionGroup.js.map +1 -1
  9. package/dist/ActionGroup.jsx +1 -1
  10. package/dist/ActionGroup.jsx.map +1 -1
  11. package/dist/Autocomplete.d.ts +2 -2
  12. package/dist/Autocomplete.d.ts.map +1 -1
  13. package/dist/Autocomplete.js +7 -7
  14. package/dist/Autocomplete.js.map +1 -1
  15. package/dist/Autocomplete.jsx +7 -7
  16. package/dist/Autocomplete.jsx.map +1 -1
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +18 -18
  19. package/dist/Breadcrumbs.js.map +1 -1
  20. package/dist/Breadcrumbs.jsx +21 -26
  21. package/dist/Breadcrumbs.jsx.map +1 -1
  22. package/dist/Calendar.d.ts.map +1 -1
  23. package/dist/Calendar.js +100 -65
  24. package/dist/Calendar.js.map +1 -1
  25. package/dist/Calendar.jsx +10 -1
  26. package/dist/Calendar.jsx.map +1 -1
  27. package/dist/Color.d.ts.map +1 -1
  28. package/dist/Color.js +15 -18
  29. package/dist/Color.js.map +1 -1
  30. package/dist/Color.jsx +15 -19
  31. package/dist/Color.jsx.map +1 -1
  32. package/dist/ComboBox.d.ts +4 -0
  33. package/dist/ComboBox.d.ts.map +1 -1
  34. package/dist/ComboBox.js +21 -13
  35. package/dist/ComboBox.js.map +1 -1
  36. package/dist/ComboBox.jsx +23 -13
  37. package/dist/ComboBox.jsx.map +1 -1
  38. package/dist/DateField.d.ts +11 -2
  39. package/dist/DateField.d.ts.map +1 -1
  40. package/dist/DateField2.js +237 -234
  41. package/dist/DateField2.js.map +1 -1
  42. package/dist/DateField2.jsx +134 -97
  43. package/dist/DateField2.jsx.map +1 -1
  44. package/dist/DatePicker.d.ts +42 -3
  45. package/dist/DatePicker.d.ts.map +1 -1
  46. package/dist/DatePicker.js +6 -990
  47. package/dist/DatePicker.jsx +6 -681
  48. package/dist/DatePicker2.js +1171 -0
  49. package/dist/DatePicker2.js.map +1 -0
  50. package/dist/DatePicker2.jsx +820 -0
  51. package/dist/DatePicker2.jsx.map +1 -0
  52. package/dist/DateRangePickerContext.d.ts +2 -0
  53. package/dist/DateRangePickerContext.d.ts.map +1 -1
  54. package/dist/Disclosure.d.ts.map +1 -1
  55. package/dist/Disclosure.js +3 -0
  56. package/dist/Disclosure.js.map +1 -1
  57. package/dist/Disclosure.jsx +1 -1
  58. package/dist/Disclosure.jsx.map +1 -1
  59. package/dist/ElementTag.d.ts +29 -0
  60. package/dist/ElementTag.d.ts.map +1 -0
  61. package/dist/ElementTag.js +220 -0
  62. package/dist/ElementTag.js.map +1 -0
  63. package/dist/ElementTag.jsx +67 -0
  64. package/dist/ElementTag.jsx.map +1 -0
  65. package/dist/GridList.d.ts.map +1 -1
  66. package/dist/GridList.js +2 -2
  67. package/dist/GridList.js.map +1 -1
  68. package/dist/GridList.jsx +2 -2
  69. package/dist/GridList.jsx.map +1 -1
  70. package/dist/Landmark.js +4 -3
  71. package/dist/Landmark.js.map +1 -1
  72. package/dist/Landmark.jsx +3 -3
  73. package/dist/Landmark.jsx.map +1 -1
  74. package/dist/Link.js +3 -2
  75. package/dist/Link.js.map +1 -1
  76. package/dist/Link.jsx +3 -3
  77. package/dist/Link.jsx.map +1 -1
  78. package/dist/ListBox.d.ts +2 -2
  79. package/dist/ListBox.d.ts.map +1 -1
  80. package/dist/ListBox.js +327 -166
  81. package/dist/ListBox.js.map +1 -1
  82. package/dist/ListBox.jsx +161 -25
  83. package/dist/ListBox.jsx.map +1 -1
  84. package/dist/Modal.d.ts.map +1 -1
  85. package/dist/Modal.js +7 -5
  86. package/dist/Modal.js.map +1 -1
  87. package/dist/Modal.jsx +5 -5
  88. package/dist/Modal.jsx.map +1 -1
  89. package/dist/Popover.d.ts.map +1 -1
  90. package/dist/Popover.js +16 -9
  91. package/dist/Popover.js.map +1 -1
  92. package/dist/Popover.jsx +25 -4
  93. package/dist/Popover.jsx.map +1 -1
  94. package/dist/RangeCalendar.d.ts.map +1 -1
  95. package/dist/RangeCalendar.js +182 -46
  96. package/dist/RangeCalendar.js.map +1 -1
  97. package/dist/RangeCalendar.jsx +72 -2
  98. package/dist/RangeCalendar.jsx.map +1 -1
  99. package/dist/SearchField.d.ts.map +1 -1
  100. package/dist/SearchField.js +26 -2
  101. package/dist/SearchField.js.map +1 -1
  102. package/dist/SearchField.jsx +26 -2
  103. package/dist/SearchField.jsx.map +1 -1
  104. package/dist/Select.d.ts +7 -0
  105. package/dist/Select.d.ts.map +1 -1
  106. package/dist/Select.js +64 -51
  107. package/dist/Select.js.map +1 -1
  108. package/dist/Select.jsx +35 -20
  109. package/dist/Select.jsx.map +1 -1
  110. package/dist/Separator.js +3 -2
  111. package/dist/Separator.js.map +1 -1
  112. package/dist/Separator.jsx +2 -2
  113. package/dist/Separator.jsx.map +1 -1
  114. package/dist/SharedElementTransition.d.ts.map +1 -1
  115. package/dist/SharedElementTransition.js +35 -33
  116. package/dist/SharedElementTransition.js.map +1 -1
  117. package/dist/SharedElementTransition.jsx +35 -33
  118. package/dist/SharedElementTransition.jsx.map +1 -1
  119. package/dist/StepList.d.ts.map +1 -1
  120. package/dist/StepList.js +2 -9
  121. package/dist/StepList.js.map +1 -1
  122. package/dist/StepList.jsx +1 -6
  123. package/dist/StepList.jsx.map +1 -1
  124. package/dist/Table.d.ts +2 -0
  125. package/dist/Table.d.ts.map +1 -1
  126. package/dist/Table.js +10 -3
  127. package/dist/Table.js.map +1 -1
  128. package/dist/Table.jsx +10 -3
  129. package/dist/Table.jsx.map +1 -1
  130. package/dist/Tabs.d.ts.map +1 -1
  131. package/dist/Tabs.js +3 -0
  132. package/dist/Tabs.js.map +1 -1
  133. package/dist/Tabs.jsx +1 -1
  134. package/dist/Tabs.jsx.map +1 -1
  135. package/dist/TagGroup.d.ts +3 -1
  136. package/dist/TagGroup.d.ts.map +1 -1
  137. package/dist/TagGroup.js +12 -8
  138. package/dist/TagGroup.js.map +1 -1
  139. package/dist/TagGroup.jsx +11 -8
  140. package/dist/TagGroup.jsx.map +1 -1
  141. package/dist/Text.d.ts.map +1 -1
  142. package/dist/Text.js +9 -8
  143. package/dist/Text.js.map +1 -1
  144. package/dist/Text.jsx +3 -3
  145. package/dist/Text.jsx.map +1 -1
  146. package/dist/TextField.js +4 -1
  147. package/dist/TextField.js.map +1 -1
  148. package/dist/TextField.jsx +4 -1
  149. package/dist/TextField.jsx.map +1 -1
  150. package/dist/TimeField.d.ts +14 -50
  151. package/dist/TimeField.d.ts.map +1 -1
  152. package/dist/TimeField.js +111 -205
  153. package/dist/TimeField.js.map +1 -1
  154. package/dist/TimeField.jsx +76 -82
  155. package/dist/TimeField.jsx.map +1 -1
  156. package/dist/Tree.d.ts.map +1 -1
  157. package/dist/Tree.js +3 -3
  158. package/dist/Tree.js.map +1 -1
  159. package/dist/Tree.jsx +3 -3
  160. package/dist/Tree.jsx.map +1 -1
  161. package/dist/VisuallyHidden.d.ts.map +1 -1
  162. package/dist/VisuallyHidden.js +3 -11
  163. package/dist/VisuallyHidden.js.map +1 -1
  164. package/dist/VisuallyHidden.jsx +3 -4
  165. package/dist/VisuallyHidden.jsx.map +1 -1
  166. package/dist/index.d.ts +3 -3
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +6 -6
  169. package/dist/index.jsx +6 -6
  170. package/dist/useDragAndDrop.d.ts +0 -8
  171. package/dist/useDragAndDrop.d.ts.map +1 -1
  172. package/dist/useDragAndDrop2.js +6 -2
  173. package/dist/useDragAndDrop2.js.map +1 -1
  174. package/dist/useDragAndDrop2.jsx +6 -2
  175. package/dist/useDragAndDrop2.jsx.map +1 -1
  176. package/dist/utils.d.ts +1 -0
  177. package/dist/utils.d.ts.map +1 -1
  178. package/dist/utils.js +2 -2
  179. package/dist/utils.js.map +1 -1
  180. package/dist/utils.jsx +2 -2
  181. package/dist/utils.jsx.map +1 -1
  182. package/package.json +3 -9
  183. package/src/ActionBar.tsx +10 -12
  184. package/src/ActionGroup.tsx +5 -3
  185. package/src/Autocomplete.tsx +14 -9
  186. package/src/Breadcrumbs.tsx +57 -42
  187. package/src/Calendar.tsx +30 -1
  188. package/src/Color.tsx +42 -27
  189. package/src/ComboBox.tsx +49 -17
  190. package/src/DateField.tsx +285 -52
  191. package/src/DatePicker.tsx +345 -57
  192. package/src/DateRangePickerContext.tsx +2 -0
  193. package/src/Disclosure.tsx +4 -0
  194. package/src/ElementTag.tsx +116 -0
  195. package/src/GridList.tsx +8 -2
  196. package/src/Landmark.tsx +4 -4
  197. package/src/Link.tsx +4 -4
  198. package/src/ListBox.tsx +323 -21
  199. package/src/Modal.tsx +21 -5
  200. package/src/Popover.tsx +28 -7
  201. package/src/RangeCalendar.tsx +120 -1
  202. package/src/SearchField.tsx +53 -1
  203. package/src/Select.tsx +114 -22
  204. package/src/Separator.tsx +3 -3
  205. package/src/SharedElementTransition.tsx +92 -36
  206. package/src/StepList.tsx +0 -7
  207. package/src/Table.tsx +19 -4
  208. package/src/Tabs.tsx +1 -0
  209. package/src/TagGroup.tsx +26 -6
  210. package/src/Text.tsx +5 -4
  211. package/src/TextField.tsx +1 -1
  212. package/src/TimeField.tsx +113 -196
  213. package/src/Tree.tsx +14 -4
  214. package/src/VisuallyHidden.tsx +8 -12
  215. package/src/index.ts +3 -8
  216. package/src/useDragAndDrop.ts +8 -10
  217. package/src/utils.tsx +3 -3
  218. package/dist/DatePicker.js.map +0 -1
  219. package/dist/DatePicker.jsx.map +0 -1
  220. package/dist/HiddenTimeInput.d.ts +0 -25
  221. package/dist/HiddenTimeInput.d.ts.map +0 -1
  222. package/dist/HiddenTimeInput.js +0 -104
  223. package/dist/HiddenTimeInput.js.map +0 -1
  224. package/dist/HiddenTimeInput.jsx +0 -69
  225. package/dist/HiddenTimeInput.jsx.map +0 -1
  226. package/src/HiddenTimeInput.tsx +0 -133
@@ -1,5 +1,6 @@
1
1
  import { filterDOMProps, useRenderProps } from "./utils.js";
2
- import { Dynamic, createComponent, getNextElement, insert, memo, mergeProps, runHydrationEvents, spread, template, use } from "solid-js/web";
2
+ import { ElementTag } from "./ElementTag.js";
3
+ import { createComponent, getNextElement, insert, memo, mergeProps, runHydrationEvents, spread, template, use } from "solid-js/web";
3
4
  import { For, Show, children, createContext, createMemo, createSignal, splitProps, useContext } from "solid-js";
4
5
  import { createBreadcrumbItem, createBreadcrumbs, createFocusRing, createHover, mergeProps as mergeProps$2 } from "@proyecto-viviana/solidaria";
5
6
  //#region src/Breadcrumbs.tsx
@@ -9,7 +10,7 @@ import { createBreadcrumbItem, createBreadcrumbs, createFocusRing, createHover,
9
10
  * A pre-wired headless breadcrumbs component that combines aria hooks.
10
11
  * Port of react-aria-components Breadcrumbs.
11
12
  */
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
+ var _tmpl$ = /*#__PURE__*/ template(`<ol>`), _tmpl$2 = /*#__PURE__*/ template(`<li style=display:flex;align-items:center>`);
13
14
  function assignRef(ref, el) {
14
15
  if (!ref) return;
15
16
  if (typeof ref === "function") ref(el);
@@ -89,7 +90,7 @@ function Breadcrumbs(props) {
89
90
  };
90
91
  },
91
92
  get children() {
92
- var _el$ = getNextElement(_tmpl$), _el$2 = _el$.firstChild;
93
+ var _el$ = getNextElement(_tmpl$);
93
94
  use((element) => assignRef(local.ref, element), _el$);
94
95
  spread(_el$, mergeProps(navProps, domProps, {
95
96
  get ["class"]() {
@@ -102,7 +103,7 @@ function Breadcrumbs(props) {
102
103
  return isDisabled() || void 0;
103
104
  }
104
105
  }), false, true);
105
- insert(_el$2, createComponent(Show, {
106
+ insert(_el$, createComponent(Show, {
106
107
  get when() {
107
108
  return hasCollectionItems();
108
109
  },
@@ -121,8 +122,8 @@ function Breadcrumbs(props) {
121
122
  const isLast = () => index() === items().length - 1;
122
123
  const renderItem = local.children;
123
124
  return (() => {
124
- var _el$3 = getNextElement(_tmpl$2);
125
- insert(_el$3, createComponent(BreadcrumbItemContext.Provider, {
125
+ var _el$2 = getNextElement(_tmpl$2);
126
+ insert(_el$2, createComponent(BreadcrumbItemContext.Provider, {
126
127
  value: {
127
128
  itemKey,
128
129
  isLast
@@ -131,7 +132,7 @@ function Breadcrumbs(props) {
131
132
  return renderItem?.(item);
132
133
  }
133
134
  }));
134
- return _el$3;
135
+ return _el$2;
135
136
  })();
136
137
  }
137
138
  });
@@ -156,9 +157,9 @@ function StaticBreadcrumbItems(props) {
156
157
  return childArray();
157
158
  },
158
159
  children: (child) => (() => {
159
- var _el$4 = getNextElement(_tmpl$2);
160
- insert(_el$4, child);
161
- return _el$4;
160
+ var _el$3 = getNextElement(_tmpl$2);
161
+ insert(_el$3, child);
162
+ return _el$3;
162
163
  })()
163
164
  });
164
165
  }
@@ -179,12 +180,14 @@ function BreadcrumbItem(props) {
179
180
  const isDisabled = () => local.isDisabled ?? context?.isDisabled() ?? false;
180
181
  const isCurrent = () => ariaProps.isCurrent ?? itemContext?.isLast() ?? (staticIndex !== null && staticIndex !== void 0 && context?.staticItemCount !== void 0 && staticIndex === context.staticItemCount() - 1);
181
182
  const itemKey = () => itemContext?.itemKey ?? ariaProps.id ?? null;
183
+ const elementType = () => ariaProps.elementType ?? (ariaProps.href && !isDisabled() && !isCurrent() ? "a" : "span");
184
+ const linkElementType = () => isCurrent() ? "a" : elementType();
182
185
  const handlePress = (e) => {
183
186
  ariaProps.onPress?.(e);
184
187
  const key = itemKey();
185
188
  if (key !== null && !isCurrent() && !isDisabled()) context?.onAction?.(key);
186
189
  };
187
- const { itemProps, isPressed } = createBreadcrumbItem({
190
+ const itemAria = createBreadcrumbItem({
188
191
  get id() {
189
192
  return ariaProps.id;
190
193
  },
@@ -204,7 +207,7 @@ function BreadcrumbItem(props) {
204
207
  return ariaProps.rel;
205
208
  },
206
209
  get elementType() {
207
- return ariaProps.elementType;
210
+ return linkElementType();
208
211
  },
209
212
  get onPress() {
210
213
  return handlePress;
@@ -252,12 +255,12 @@ function BreadcrumbItem(props) {
252
255
  return ariaProps["aria-current"];
253
256
  }
254
257
  });
258
+ const isPressed = itemAria.isPressed;
255
259
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
256
260
  const { isHovered, hoverProps } = createHover({ get isDisabled() {
257
261
  return isDisabled();
258
262
  } });
259
- const mergedItemProps = createMemo(() => mergeProps$2(itemProps, focusProps, hoverProps));
260
- const elementType = () => ariaProps.elementType ?? "a";
263
+ const mergedItemProps = createMemo(() => mergeProps$2(itemAria.itemProps, focusProps, hoverProps));
261
264
  const renderValues = createMemo(() => ({
262
265
  isCurrent: isCurrent(),
263
266
  isDisabled: isDisabled(),
@@ -285,13 +288,10 @@ function BreadcrumbItem(props) {
285
288
  ...userStyle
286
289
  } : baseStyle;
287
290
  };
288
- return createComponent(Dynamic, mergeProps({ get component() {
291
+ return createComponent(ElementTag, mergeProps({ get tag() {
289
292
  return elementType();
290
293
  } }, mergedItemProps, {
291
294
  ref: (element) => assignRef(local.ref, element),
292
- get href() {
293
- return memo(() => !!isCurrent())() ? void 0 : mergedItemProps().href;
294
- },
295
295
  get ["aria-current"]() {
296
296
  return memo(() => !!isCurrent())() ? ariaProps["aria-current"] ?? "page" : void 0;
297
297
  },
@@ -1 +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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"}
1
+ {"version":3,"file":"Breadcrumbs.js","names":["Accessor","JSX","createContext","createMemo","createSignal","children","resolveChildren","splitProps","useContext","For","Show","ElementTag","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$","_$use","element","_$spread","_$mergeProps","data-disabled","_$insert","when","fallback","StaticBreadcrumbItems","each","length","renderItem","_el$2","_tmpl$2","_$runHydrationEvents","context","staticChildren","childArray","array","toArray","child","_el$3","BreadcrumbItem","itemContext","staticIndex","elementType","href","linkElementType","handlePress","e","onPress","itemAria","target","rel","onPressStart","onPressEnd","onClick","onFocus","onBlur","onFocusChange","onKeyDown","onKeyUp","autoFocus","aria-details","aria-current","focusProps","hoverProps","mergedItemProps","itemProps","mergedStyle","userStyle","baseStyle","display","tag","_$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 { ElementTag } from \"./ElementTag\";\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 {/*\n Faithful to react-aria-components Breadcrumbs: the accessible name (navProps'\n aria-label) sits directly on the <ol> (role=\"list\"), with NO wrapping <nav>\n landmark (react-spectrum/packages/react-aria-components/src/Breadcrumbs.tsx\n renders `<dom.ol {...mergeProps(DOMProps, navProps)} style={props.style}>`).\n The <ol> carries ONLY the consumer's class/style — no hard-coded inline\n layout reset. An inline reset would beat the styled layer's class (inline\n wins over class), which is exactly what broke S2 parity: the solid-spectrum\n `wrapperStyles` class supplies display:flex / list-style:none / padding:0 /\n marginStart and deliberately leaves align-items at its `normal` default, so\n a hard-coded inline `align-items:center` + `margin:0` clobbered the\n wrapper's margin and diverged from S2 (whose <ol> has neither).\n */}\n <ol\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 <Show\n when={hasCollectionItems()}\n fallback={<StaticBreadcrumbItems>{local.children as JSX.Element}</StaticBreadcrumbItems>}\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 </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 // Mirror react-aria-components' Link: render an <a> only when there is an\n // href on an enabled, non-current item; otherwise fall back to a <span\n // role=\"link\"> (via createLink). A styled layer may force the element type\n // (S2 renders the current item as a plain <div>), which takes precedence.\n const elementType = () =>\n ariaProps.elementType ?? (ariaProps.href && !isDisabled() && !isCurrent() ? \"a\" : \"span\");\n // The current breadcrumb is the current page and is non-interactive: S2\n // renders it as a plain element with no link role. createLink only omits\n // role=\"link\" for an <a>, so treat the current item as an \"a\" purely for the\n // role decision while still rendering the resolved element type above.\n const linkElementType = () => (isCurrent() ? \"a\" : elementType());\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 itemAria = 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 linkElementType();\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 isPressed = itemAria.isPressed;\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n // Read itemAria.itemProps fresh inside the memo (do NOT destructure it above):\n // the reactive getter re-runs createBreadcrumbItem → createLink each time this\n // memo re-evaluates, so role/tabIndex track elementType once isCurrent settles.\n const mergedItemProps = createMemo(() =>\n mergeProps(\n itemAria.itemProps as Record<string, unknown>,\n focusProps as Record<string, unknown>,\n hoverProps as Record<string, unknown>,\n ),\n );\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 <ElementTag\n tag={elementType()}\n {...mergedItemProps()}\n ref={(element: HTMLElement) => assignRef(local.ref, element)}\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 </ElementTag>\n );\n}\n\nBreadcrumbs.Item = BreadcrumbItem;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { filterDOMProps, useRenderProps } from "./utils.jsx";
2
+ import { ElementTag } from "./ElementTag.jsx";
2
3
  import { For, Show, children, createContext, createMemo, createSignal, splitProps, useContext } from "solid-js";
3
- import { Dynamic } from "solid-js/web";
4
4
  import { createBreadcrumbItem, createBreadcrumbs, createFocusRing, createHover, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
5
5
  //#region src/Breadcrumbs.tsx
6
6
  /**
@@ -84,17 +84,11 @@ function Breadcrumbs(props) {
84
84
  resetStaticItems,
85
85
  setStaticItemCount
86
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) => {
87
+ {}
88
+ <ol {...navProps} {...domProps()} ref={(element) => assignRef(local.ref, element)} class={renderProps.class()} style={renderProps.style()} data-disabled={isDisabled() || void 0}>
89
+ <Show when={hasCollectionItems()} fallback={<StaticBreadcrumbItems>{local.children}</StaticBreadcrumbItems>}>
90
+ <For each={items()}>
91
+ {(item, index) => {
98
92
  const itemKey = getItemKey(item, index());
99
93
  const isLast = () => index() === items().length - 1;
100
94
  const renderItem = local.children;
@@ -102,18 +96,17 @@ function Breadcrumbs(props) {
102
96
  display: "flex",
103
97
  "align-items": "center"
104
98
  }}>
105
- <BreadcrumbItemContext.Provider value={{
99
+ <BreadcrumbItemContext.Provider value={{
106
100
  itemKey,
107
101
  isLast
108
102
  }}>
109
- {renderItem?.(item)}
110
- </BreadcrumbItemContext.Provider>
111
- </li>;
103
+ {renderItem?.(item)}
104
+ </BreadcrumbItemContext.Provider>
105
+ </li>;
112
106
  }}
113
- </For>
114
- </Show>
115
- </ol>
116
- </nav>
107
+ </For>
108
+ </Show>
109
+ </ol>
117
110
  </BreadcrumbsContext.Provider>;
118
111
  }
119
112
  function StaticBreadcrumbItems(props) {
@@ -149,12 +142,14 @@ function BreadcrumbItem(props) {
149
142
  const isDisabled = () => local.isDisabled ?? context?.isDisabled() ?? false;
150
143
  const isCurrent = () => ariaProps.isCurrent ?? itemContext?.isLast() ?? (staticIndex !== null && staticIndex !== void 0 && context?.staticItemCount !== void 0 && staticIndex === context.staticItemCount() - 1);
151
144
  const itemKey = () => itemContext?.itemKey ?? ariaProps.id ?? null;
145
+ const elementType = () => ariaProps.elementType ?? (ariaProps.href && !isDisabled() && !isCurrent() ? "a" : "span");
146
+ const linkElementType = () => isCurrent() ? "a" : elementType();
152
147
  const handlePress = (e) => {
153
148
  ariaProps.onPress?.(e);
154
149
  const key = itemKey();
155
150
  if (key !== null && !isCurrent() && !isDisabled()) context?.onAction?.(key);
156
151
  };
157
- const { itemProps, isPressed } = createBreadcrumbItem({
152
+ const itemAria = createBreadcrumbItem({
158
153
  get id() {
159
154
  return ariaProps.id;
160
155
  },
@@ -174,7 +169,7 @@ function BreadcrumbItem(props) {
174
169
  return ariaProps.rel;
175
170
  },
176
171
  get elementType() {
177
- return ariaProps.elementType;
172
+ return linkElementType();
178
173
  },
179
174
  get onPress() {
180
175
  return handlePress;
@@ -222,12 +217,12 @@ function BreadcrumbItem(props) {
222
217
  return ariaProps["aria-current"];
223
218
  }
224
219
  });
220
+ const isPressed = itemAria.isPressed;
225
221
  const { isFocused, isFocusVisible, focusProps } = createFocusRing();
226
222
  const { isHovered, hoverProps } = createHover({ get isDisabled() {
227
223
  return isDisabled();
228
224
  } });
229
- const mergedItemProps = createMemo(() => mergeProps$1(itemProps, focusProps, hoverProps));
230
- const elementType = () => ariaProps.elementType ?? "a";
225
+ const mergedItemProps = createMemo(() => mergeProps$1(itemAria.itemProps, focusProps, hoverProps));
231
226
  const renderValues = createMemo(() => ({
232
227
  isCurrent: isCurrent(),
233
228
  isDisabled: isDisabled(),
@@ -255,9 +250,9 @@ function BreadcrumbItem(props) {
255
250
  ...userStyle
256
251
  } : baseStyle;
257
252
  };
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}>
253
+ return <ElementTag tag={elementType()} {...mergedItemProps()} ref={(element) => assignRef(local.ref, element)} 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
254
  {renderProps.renderChildren()}
260
- </Dynamic>;
255
+ </ElementTag>;
261
256
  }
262
257
  Breadcrumbs.Item = BreadcrumbItem;
263
258
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.jsx","names":["resolveChildren","mergeProps"],"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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"}
1
+ {"version":3,"file":"Breadcrumbs.jsx","names":["resolveChildren","mergeProps"],"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 { ElementTag } from \"./ElementTag\";\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 {/*\n Faithful to react-aria-components Breadcrumbs: the accessible name (navProps'\n aria-label) sits directly on the <ol> (role=\"list\"), with NO wrapping <nav>\n landmark (react-spectrum/packages/react-aria-components/src/Breadcrumbs.tsx\n renders `<dom.ol {...mergeProps(DOMProps, navProps)} style={props.style}>`).\n The <ol> carries ONLY the consumer's class/style — no hard-coded inline\n layout reset. An inline reset would beat the styled layer's class (inline\n wins over class), which is exactly what broke S2 parity: the solid-spectrum\n `wrapperStyles` class supplies display:flex / list-style:none / padding:0 /\n marginStart and deliberately leaves align-items at its `normal` default, so\n a hard-coded inline `align-items:center` + `margin:0` clobbered the\n wrapper's margin and diverged from S2 (whose <ol> has neither).\n */}\n <ol\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 <Show\n when={hasCollectionItems()}\n fallback={<StaticBreadcrumbItems>{local.children as JSX.Element}</StaticBreadcrumbItems>}\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 </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 // Mirror react-aria-components' Link: render an <a> only when there is an\n // href on an enabled, non-current item; otherwise fall back to a <span\n // role=\"link\"> (via createLink). A styled layer may force the element type\n // (S2 renders the current item as a plain <div>), which takes precedence.\n const elementType = () =>\n ariaProps.elementType ?? (ariaProps.href && !isDisabled() && !isCurrent() ? \"a\" : \"span\");\n // The current breadcrumb is the current page and is non-interactive: S2\n // renders it as a plain element with no link role. createLink only omits\n // role=\"link\" for an <a>, so treat the current item as an \"a\" purely for the\n // role decision while still rendering the resolved element type above.\n const linkElementType = () => (isCurrent() ? \"a\" : elementType());\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 itemAria = 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 linkElementType();\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 isPressed = itemAria.isPressed;\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n // Read itemAria.itemProps fresh inside the memo (do NOT destructure it above):\n // the reactive getter re-runs createBreadcrumbItem → createLink each time this\n // memo re-evaluates, so role/tabIndex track elementType once isCurrent settles.\n const mergedItemProps = createMemo(() =>\n mergeProps(\n itemAria.itemProps as Record<string, unknown>,\n focusProps as Record<string, unknown>,\n hoverProps as Record<string, unknown>,\n ),\n );\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 <ElementTag\n tag={elementType()}\n {...mergedItemProps()}\n ref={(element: HTMLElement) => assignRef(local.ref, element)}\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 </ElementTag>\n );\n}\n\nBreadcrumbs.Item = BreadcrumbItem;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../src/Calendar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../src/Calendar.tsx"],"names":[],"mappings":"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"}