@proyecto-viviana/ui 0.6.2 → 0.6.3
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.
- package/dist/_chunk/LinkButton.js +9 -9
- package/dist/_chunk/LinkButton.js.map +1 -1
- package/dist/_chunk/LinkButton.jsx +9 -9
- package/dist/_chunk/LinkButton.jsx.map +1 -1
- package/dist/_chunk/RangeCalendar.js +7 -7
- package/dist/_chunk/RangeCalendar.js.map +1 -1
- package/dist/_chunk/RangeCalendar.jsx +7 -7
- package/dist/_chunk/RangeCalendar.jsx.map +1 -1
- package/dist/_chunk/Tabs.js +2 -2
- package/dist/_chunk/Tabs.jsx +2 -2
- package/dist/_chunk/breadcrumbs.js +2 -2
- package/dist/_chunk/breadcrumbs.js.map +1 -1
- package/dist/_chunk/breadcrumbs.jsx +2 -2
- package/dist/_chunk/breadcrumbs.jsx.map +1 -1
- package/dist/_chunk/button.js +3 -3
- package/dist/_chunk/button.jsx +3 -3
- package/dist/_chunk/color.js +4 -4
- package/dist/_chunk/color.jsx +4 -4
- package/dist/_chunk/form.js +5 -7
- package/dist/_chunk/form.js.map +1 -1
- package/dist/_chunk/form.jsx +5 -8
- package/dist/_chunk/form.jsx.map +1 -1
- package/dist/_chunk/layout.js +5 -1
- package/dist/_chunk/layout.js.map +1 -1
- package/dist/_chunk/layout.jsx +5 -1
- package/dist/_chunk/layout.jsx.map +1 -1
- package/dist/_chunk/list.js +4 -4
- package/dist/_chunk/list.jsx +4 -4
- package/dist/_chunk/menu.js +1 -1
- package/dist/_chunk/menu.js.map +1 -1
- package/dist/_chunk/menu.jsx +1 -1
- package/dist/_chunk/menu.jsx.map +1 -1
- package/dist/_chunk/numberfield.js +2 -2
- package/dist/_chunk/numberfield.jsx +2 -2
- package/dist/_chunk/s2-action-button-styles.js +8 -8
- package/dist/_chunk/s2-action-button-styles.js.map +1 -1
- package/dist/_chunk/s2-action-button-styles.jsx +8 -8
- package/dist/_chunk/s2-action-button-styles.jsx.map +1 -1
- package/dist/_chunk/s2-menu-styles.js +1 -1
- package/dist/_chunk/s2-menu-styles.jsx +1 -1
- package/dist/_chunk/slider.js +6 -6
- package/dist/_chunk/slider.jsx +6 -6
- package/dist/_chunk/switch.js +2 -2
- package/dist/_chunk/switch.jsx +2 -2
- package/dist/_chunk/table.js +3 -3
- package/dist/_chunk/table.js.map +1 -1
- package/dist/_chunk/table.jsx +3 -3
- package/dist/_chunk/table.jsx.map +1 -1
- package/dist/_chunk/text.js +1 -1
- package/dist/_chunk/text.jsx +1 -1
- package/dist/_chunk/textfield.js +4 -4
- package/dist/_chunk/textfield.jsx +4 -4
- package/dist/_chunk/toast.js +3 -3
- package/dist/_chunk/toast.jsx +3 -3
- package/dist/actiongroup/index.js +2 -2
- package/dist/actiongroup/index.jsx +2 -2
- package/dist/badge/index.js +6 -6
- package/dist/badge/index.jsx +6 -6
- package/dist/breadcrumbs/index.d.ts.map +1 -1
- package/dist/calendar/DateField.d.ts.map +1 -1
- package/dist/calendar/DateField.js +2 -2
- package/dist/calendar/DateField.js.map +1 -1
- package/dist/calendar/DateField.jsx +2 -2
- package/dist/calendar/DateField.jsx.map +1 -1
- package/dist/calendar/DatePicker.d.ts.map +1 -1
- package/dist/calendar/DatePicker.js +2 -2
- package/dist/calendar/DatePicker.js.map +1 -1
- package/dist/calendar/DatePicker.jsx +2 -2
- package/dist/calendar/DatePicker.jsx.map +1 -1
- package/dist/calendar/DateRangePicker.js +2 -2
- package/dist/calendar/DateRangePicker.jsx +2 -2
- package/dist/calendar/RangeCalendar.d.ts.map +1 -1
- package/dist/calendar/TimeField.d.ts.map +1 -1
- package/dist/calendar/TimeField.js +2 -2
- package/dist/calendar/TimeField.js.map +1 -1
- package/dist/calendar/TimeField.jsx +2 -2
- package/dist/calendar/TimeField.jsx.map +1 -1
- package/dist/calendar/index.js +5 -5
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/index.jsx +5 -5
- package/dist/calendar/index.jsx.map +1 -1
- package/dist/checkbox/index.js +3 -3
- package/dist/checkbox/index.jsx +3 -3
- package/dist/combobox/index.js +2 -2
- package/dist/combobox/index.jsx +2 -2
- package/dist/dropzone/index.js +1 -1
- package/dist/dropzone/index.jsx +1 -1
- package/dist/form/index.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.jsx.map +1 -1
- package/dist/inlinealert/index.js +6 -6
- package/dist/inlinealert/index.jsx +6 -6
- package/dist/labeledvalue/index.js +1 -1
- package/dist/labeledvalue/index.jsx +1 -1
- package/dist/layout/Flex.d.ts +2 -0
- package/dist/layout/Flex.d.ts.map +1 -1
- package/dist/link/index.d.ts.map +1 -1
- package/dist/link/index.js +1 -4
- package/dist/link/index.js.map +1 -1
- package/dist/link/index.jsx +1 -4
- package/dist/link/index.jsx.map +1 -1
- package/dist/listbox/index.js +3 -3
- package/dist/listbox/index.jsx +4 -4
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/index.d.ts.map +1 -1
- package/dist/meter/index.js +2 -2
- package/dist/meter/index.js.map +1 -1
- package/dist/meter/index.jsx +2 -2
- package/dist/meter/index.jsx.map +1 -1
- package/dist/notificationbadge/index.js +1 -1
- package/dist/notificationbadge/index.jsx +1 -1
- package/dist/picker/index.js +3 -3
- package/dist/picker/index.jsx +3 -3
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.jsx +1 -1
- package/dist/progress/ProgressCircle.js +2 -2
- package/dist/progress/ProgressCircle.js.map +1 -1
- package/dist/progress/ProgressCircle.jsx +2 -2
- package/dist/progress/ProgressCircle.jsx.map +1 -1
- package/dist/progress-bar/index.js +4 -4
- package/dist/progress-bar/index.jsx +4 -4
- package/dist/radio/index.js +2 -2
- package/dist/radio/index.jsx +2 -2
- package/dist/searchfield/index.js +2 -2
- package/dist/searchfield/index.jsx +2 -2
- package/dist/segmentedcontrol/index.js +2 -5
- package/dist/segmentedcontrol/index.js.map +1 -1
- package/dist/segmentedcontrol/index.jsx +2 -5
- package/dist/segmentedcontrol/index.jsx.map +1 -1
- package/dist/select/index.js +3 -3
- package/dist/select/index.jsx +3 -3
- package/dist/selectboxgroup/index.js +1 -1
- package/dist/selectboxgroup/index.jsx +1 -1
- package/dist/statuslight/index.js +1 -1
- package/dist/statuslight/index.jsx +1 -1
- package/dist/steplist/index.js +5 -5
- package/dist/steplist/index.jsx +5 -5
- package/dist/style/glasselated-ramps.d.ts.map +1 -1
- package/dist/style/index.js +18 -9
- package/dist/style/index.js.map +1 -1
- package/dist/style/spectrum-theme.d.ts +7 -7
- package/dist/style/spectrum-theme.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/tag-group/index.js +10 -10
- package/dist/tag-group/index.js.map +1 -1
- package/dist/tag-group/index.jsx +10 -10
- package/dist/tag-group/index.jsx.map +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/toolbar/index.js.map +1 -1
- package/dist/toolbar/index.jsx.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +5 -5
- package/dist/tree/index.js.map +1 -1
- package/dist/tree/index.jsx +5 -5
- package/dist/tree/index.jsx.map +1 -1
- package/dist/viviana-tokens.css +39 -12
- package/package.json +18 -5
- package/src/breadcrumbs/index.tsx +14 -7
- package/src/button/s2-action-button-styles.ts +8 -8
- package/src/button/s2-button-styles.ts +8 -8
- package/src/calendar/DateField.tsx +2 -6
- package/src/calendar/DatePicker.tsx +8 -1
- package/src/calendar/RangeCalendar.tsx +13 -7
- package/src/calendar/TimeField.tsx +2 -6
- package/src/calendar/index.tsx +4 -4
- package/src/form/index.tsx +5 -6
- package/src/icon/pixel-icons/PixelChartIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCheckIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelChevronDownIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelChevronRightIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelClockIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCodeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCommunityIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCubeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelFlameIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelHomeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelLayoutIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelMessageIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavCommunityIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavExploreIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavLiveIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavPathwaysIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavPlaygroundIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavProjectsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavReferenceIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavSettingsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavTopicsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNotificationIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelPathwaysIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelPlayIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSearchIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSettingsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSparkleIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelTopicsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelUserIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelZapIcon.tsx +4 -1
- package/src/layout/Flex.tsx +7 -0
- package/src/link/index.tsx +3 -1
- package/src/menu/index.tsx +1 -3
- package/src/meter/index.tsx +1 -3
- package/src/progress/ProgressCircle.tsx +1 -1
- package/src/segmentedcontrol/index.tsx +6 -6
- package/src/style/glasselated-ramps.ts +37 -33
- package/src/style/spectrum-theme.ts +22 -17
- package/src/table/index.tsx +1 -3
- package/src/tag-group/index.tsx +8 -8
- package/src/toolbar/index.tsx +4 -1
- package/src/tree/index.tsx +3 -11
- package/src/viviana-tokens.css +39 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","names":["JSX","createIcon","FolderBreadcrumbIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","FolderBreadcrumbIconProps","FolderBreadcrumbIcon","Accessor","For","JSX","Show","createContext","createEffect","createMemo","createRoot","createSignal","mergeProps","onCleanup","onMount","splitProps","untrack","useContext","BreadcrumbItem","HeadlessBreadcrumbItem","BreadcrumbItemContext","HeadlessBreadcrumbItemContext","Breadcrumbs","HeadlessBreadcrumbs","BreadcrumbItemProps","HeadlessBreadcrumbItemProps","BreadcrumbItemRenderProps","BreadcrumbsProps","HeadlessBreadcrumbsProps","BreadcrumbsRenderProps","createStringFormatter","useLocale","StyleString","mergeStyles","useProviderProps","getSlottedContextProps","mergeContextRefs","mergeContextStyles","mergeContextUnsafeStyle","RefLike","SpectrumContextValue","ActionButton","Menu","MenuItem","MenuTrigger","Text","ChevronIcon","FolderBreadcrumbIcon","s2IntlStrings","breadcrumbStyles","chevronStyles","currentStyles","wrapperStyles","S2BreadcrumbsSize","MAX_VISIBLE_ITEMS","BreadcrumbsSize","BreadcrumbsVariant","Omit","T","children","Element","item","size","styles","UNSAFE_className","UNSAFE_style","CSSProperties","class","variant","showSeparator","ref","HTMLElement","BreadcrumbProps","renderProps","CollapsedBreadcrumbEntry","kind","index","InternalBreadcrumbsContextValue","isDisabled","defaultInternalBreadcrumbsContext","BreadcrumbsContext","InternalBreadcrumbsContext","normalizeSize","defaultItemKey","maybeItem","key","id","itemLabel","String","label","name","title","textValue","canMeasureOverflow","window","userAgent","navigator","toLowerCase","includes","fallbackVisibleTailCount","itemCount","props","renderBreadcrumbs","disposeRoot","providerProps","contextProps","slot","mergedProps","const","local","headlessProps","mergedStyles","mergedUnsafeStyle","assignRefs","rootElement","measurementElement","measurementMenuButton","resizeObserver","ResizeObserver","mutationObserver","MutationObserver","connectionObserver","observedResizeTargets","WeakSet","observedMutationTargets","retryOverflowUpdateTimeout","initialOverflowUpdateTimeouts","measurementId","Math","random","toString","slice","canMeasure","setCanMeasure","visibleTailCount","setVisibleTailCount","cleanupOverflowObservers","hasDisposedRoot","hasCleanedOverflowObservers","getClassName","filter","Boolean","join","allItems","items","scheduleOverflowRetry","undefined","setTimeout","updateOverflow","length","measureRoot","document","querySelector","visibleContainer","previousElementSibling","container","observeOverflowTargets","hiddenItems","Array","from","querySelectorAll","element","folder","containerWidth","offsetWidth","getBoundingClientRect","width","containerGap","Number","parseFloat","getComputedStyle","gap","folderGap","marginInlineStart","widths","map","breadcrumb","totalWidth","reduce","sum","firstWidth","shift","availableWidth","nextVisibleTailCount","maxTailCount","reverse","nextTailCount","max","min","queueOverflowUpdate","queueMicrotask","requestAnimationFrame","disposeBreadcrumbsRoot","cleanupIfDisconnected","isConnected","observeElement","options","mutations","has","observe","add","attributes","attributeFilter","body","parentElement","setRootElement","setMeasurementElement","previousElement","setMeasurementMenuButton","nextCanMeasure","safeUpdate","safeQueueUpdate","addEventListener","delay","push","fonts","ready","then","childList","subtree","removeEventListener","disconnect","timeout","clearTimeout","shouldCollapse","wantsCollapse","tailCount","sliceIndex","collapsedCollection","collapsedItems","renderDynamicItem","renderItem","_$createComponent","Provider","value","when","fallback","_$mergeProps","getKey","onAction","style","entry","BreadcrumbMenu","getLabel","_$memo","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","_co$","_$getNextMarker","nextSibling","_el$4","_el$5","_co$2","_$use","_$setAttribute","_$insert","each","isLast","itemKey","_el$6","_tmpl$2","isQuiet","locale","context","formatter","format","_el$7","_tmpl$3","_el$8","_el$9","_co$3","_el$0","_el$1","_co$4","aria-label","indexOf","direction","isMenu","_$effect","_$className","Breadcrumb","isCurrent","setIsCurrent","syncRenderProps","isHovered","isFocusVisible","isFocused","isPressed","getStyle","display","renderChildren","content","_el$10","_tmpl$4","_el$11","_el$12","_co$5","_el$13","_el$14","_co$6","elementType","node","Item"],"sources":["../../src/icon/s2wf-icons/FolderBreadcrumbIcon.tsx","../../src/breadcrumbs/s2-breadcrumbs-styles.ts","../../src/breadcrumbs/index.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction FolderBreadcrumbIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"m16.75,5h-5.96387c-.21777,0-.42383-.09375-.56641-.25879l-1.7041-1.96387c-.42676-.49414-1.0459-.77734-1.7002-.77734h-3.56543c-1.24023,0-2.25,1.00977-2.25,2.25v10.5c0,1.24023,1.00977,2.25,2.25,2.25h13.5c1.24023,0,2.25-1.00977,2.25-2.25v-7.5c0-1.24023-1.00977-2.25-2.25-2.25ZM3.25,3.5h3.56543c.21777,0,.42383.09375.56641.25879l1.07703,1.24121H2.5v-.75c0-.41309.33691-.75.75-.75Zm14.25,11.25c0,.41309-.33691.75-.75.75H3.25c-.41309,0-.75-.33691-.75-.75V6.5h14.25c.41309,0,.75.33691.75.75v7.5Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n <path\n d=\"m10,13.65039c-.19238,0-.38379-.07324-.53027-.21973l-3-3c-.29297-.29297-.29297-.76758,0-1.06055s.76758-.29297,1.06055,0l2.46973,2.46973,2.46973-2.46973c.29297-.29297.76758-.29297,1.06055,0s.29297.76758,0,1.06055l-3,3c-.14648.14648-.33789.21973-.53027.21973Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type FolderBreadcrumbIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const FolderBreadcrumbIcon = createIcon(FolderBreadcrumbIconSvg);\nexport default FolderBreadcrumbIcon;\n","import { baseColor, focusRing, size as s2Size, style } from \"../style\" with { type: \"macro\" };\nimport {\n controlFont,\n controlSize,\n getAllowedOverrides,\n} from \"../s2-internal/style-utils\" with { type: \"macro\" };\n\nexport type S2BreadcrumbsSize = \"M\" | \"L\";\n\nexport const wrapperStyles = style<{ size: S2BreadcrumbsSize; isDisabled?: boolean }>(\n {\n position: \"relative\",\n display: \"flex\",\n justifyContent: \"start\",\n listStyleType: \"none\",\n flexWrap: \"nowrap\",\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n height: controlSize(),\n gap: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n padding: 0,\n transition: \"default\",\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n },\n getAllowedOverrides(),\n);\n\nexport const breadcrumbStyles = style<{\n size?: S2BreadcrumbsSize;\n isDisabled?: boolean;\n isCurrent?: boolean;\n isMenu?: boolean;\n isHovered?: boolean;\n isFocusVisible?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}>({\n ...focusRing(),\n display: {\n default: \"block\",\n isMenu: \"flex\",\n },\n alignItems: {\n isMenu: \"center\",\n },\n justifyContent: {\n isMenu: \"start\",\n },\n height: {\n isMenu: controlSize(),\n },\n transition: \"default\",\n position: \"relative\",\n flexShrink: 0,\n borderStyle: \"none\",\n /* A breadcrumb item is a nav row, so it takes the `row` corner (6px) rather than\n * `sm` (4px, spectrum-theme.ts:630) — a value the register's radius ladder does not\n * draw. The row-shaped siblings already spell this: tabs/index.tsx:336,\n * steplist:68, tree:273/370/477, gridlist:642/686, table:1041. Visible chrome, not\n * dead geometry — it shapes the hover fill and the focus-ring corner. */\n borderRadius: \"row\",\n font: controlFont(),\n color: {\n default: baseColor(\"neutral-subdued\"),\n isDisabled: baseColor(\"neutral-subdued\"),\n isCurrent: baseColor(\"neutral\"),\n forcedColors: {\n default: \"LinkText\",\n isDisabled: \"GrayText\",\n isCurrent: \"GrayText\",\n },\n },\n marginStart: {\n isMenu: s2Size(-6),\n },\n textDecoration: {\n default: \"none\",\n isHovered: \"underline\",\n isFocusVisible: \"underline\",\n isDisabled: \"none\",\n },\n cursor: {\n default: \"pointer\",\n isDisabled: \"default\",\n isCurrent: \"default\",\n },\n outlineColor: {\n default: \"focus-ring\",\n forcedColors: \"Highlight\",\n },\n disableTapHighlight: true,\n});\n\nexport const currentStyles = style<{ size: S2BreadcrumbsSize }>({\n font: controlFont(),\n fontWeight: \"bold\",\n color: {\n default: \"neutral\",\n forcedColors: \"ButtonText\",\n },\n});\n\nexport const chevronStyles = style<{ direction?: \"ltr\" | \"rtl\"; isMenu?: boolean }>({\n scale: {\n direction: {\n rtl: -1,\n },\n },\n marginStart: {\n default: \"text-to-visual\",\n isMenu: 0,\n },\n color: {\n default: \"neutral\",\n forcedColors: {\n default: \"LinkText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n});\n","import {\n type Accessor,\n For,\n type JSX,\n Show,\n createContext,\n createEffect,\n createMemo,\n createRoot,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n untrack,\n useContext,\n} from \"solid-js\";\nimport {\n BreadcrumbItem as HeadlessBreadcrumbItem,\n BreadcrumbItemContext as HeadlessBreadcrumbItemContext,\n Breadcrumbs as HeadlessBreadcrumbs,\n type BreadcrumbItemProps as HeadlessBreadcrumbItemProps,\n type BreadcrumbItemRenderProps,\n type BreadcrumbsProps as HeadlessBreadcrumbsProps,\n type BreadcrumbsRenderProps,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { createStringFormatter, useLocale } from \"@proyecto-viviana/solidaria\";\nimport type { StyleString } from \"../style\";\nimport { mergeStyles } from \"../style/runtime\";\nimport { useProviderProps } from \"../provider\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\nimport { ActionButton } from \"../button/ActionButton\";\nimport { Menu, MenuItem, MenuTrigger, Text } from \"../Menu\";\nimport ChevronIcon from \"../icon/ui-icons/Chevron\";\nimport FolderBreadcrumbIcon from \"../icon/s2wf-icons/FolderBreadcrumbIcon\";\nimport { s2IntlStrings } from \"../intl\";\nimport {\n breadcrumbStyles,\n chevronStyles,\n currentStyles,\n wrapperStyles,\n type S2BreadcrumbsSize,\n} from \"./s2-breadcrumbs-styles\";\n\nconst MAX_VISIBLE_ITEMS = 4;\n\nexport type { S2BreadcrumbsSize };\nexport type BreadcrumbsSize = S2BreadcrumbsSize | \"sm\" | \"md\" | \"lg\";\nexport type BreadcrumbsVariant = \"default\" | \"subtle\";\n\nexport interface BreadcrumbsProps<T> extends Omit<\n HeadlessBreadcrumbsProps<T>,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the Breadcrumbs. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The size of the Breadcrumbs. @default 'M' */\n size?: BreadcrumbsSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Legacy visual variant alias. Kept for source compatibility; S2 Breadcrumbs has no variant. */\n variant?: BreadcrumbsVariant;\n /** Legacy separator toggle. Kept for source compatibility. */\n showSeparator?: boolean;\n /** Ref for the navigation element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport interface BreadcrumbProps extends Omit<\n HeadlessBreadcrumbItemProps,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the breadcrumb item. */\n children?: JSX.Element | ((renderProps: BreadcrumbItemRenderProps) => JSX.Element);\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Ref for the breadcrumb item element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport type BreadcrumbItemProps = BreadcrumbProps;\n\ntype CollapsedBreadcrumbEntry<T> =\n | {\n kind: \"item\";\n item: T;\n index: number;\n }\n | {\n kind: \"menu\";\n };\n\ntype InternalBreadcrumbsContextValue = {\n size: Accessor<S2BreadcrumbsSize>;\n isDisabled: Accessor<boolean>;\n showSeparator: Accessor<boolean>;\n};\n\nconst defaultInternalBreadcrumbsContext: InternalBreadcrumbsContextValue = {\n size: () => \"M\",\n isDisabled: () => false,\n showSeparator: () => true,\n};\n\nexport const BreadcrumbsContext = createContext<SpectrumContextValue<BreadcrumbsProps<any>>>(null);\nconst InternalBreadcrumbsContext = createContext<InternalBreadcrumbsContextValue>(\n defaultInternalBreadcrumbsContext,\n);\n\nfunction normalizeSize(size?: BreadcrumbsSize): S2BreadcrumbsSize {\n switch (size) {\n case \"lg\":\n case \"L\":\n return \"L\";\n case \"sm\":\n case \"md\":\n case \"M\":\n default:\n return \"M\";\n }\n}\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\nfunction itemLabel(item: unknown): string {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return String(item);\n }\n\n const maybeItem = item as {\n label?: string;\n name?: string;\n title?: string;\n textValue?: string;\n key?: string | number;\n id?: string | number;\n };\n return (\n maybeItem.textValue ??\n maybeItem.label ??\n maybeItem.name ??\n maybeItem.title ??\n String(maybeItem.key ?? maybeItem.id ?? \"\")\n );\n}\n\nfunction canMeasureOverflow(): boolean {\n if (typeof window === \"undefined\") {\n return false;\n }\n\n const userAgent = window.navigator?.userAgent?.toLowerCase() ?? \"\";\n return !userAgent.includes(\"jsdom\") && !userAgent.includes(\"happy-dom\");\n}\n\nfunction fallbackVisibleTailCount(itemCount: number): number {\n return itemCount > MAX_VISIBLE_ITEMS ? MAX_VISIBLE_ITEMS - 2 : itemCount;\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 if (typeof window === \"undefined\") {\n return renderBreadcrumbs(props, () => {});\n }\n\n return createRoot((disposeRoot) => renderBreadcrumbs(props, disposeRoot));\n}\n\nfunction renderBreadcrumbs<T>(props: BreadcrumbsProps<T>, disposeRoot: () => void): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(BreadcrumbsContext), props.slot);\n const mergedProps = mergeProps(\n { size: \"M\" as const, showSeparator: true },\n providerProps,\n contextProps ?? {},\n props,\n );\n const [local, headlessProps] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"items\",\n \"getKey\",\n \"onAction\",\n \"isDisabled\",\n \"ref\",\n \"variant\",\n \"showSeparator\",\n ]);\n\n const size = () => normalizeSize(local.size);\n const isDisabled = () => local.isDisabled ?? false;\n const showSeparator = () => local.showSeparator !== false;\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRefs = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLElement> } | null)?.ref,\n props.ref,\n );\n let rootElement: HTMLElement | undefined;\n let measurementElement: HTMLElement | undefined;\n let measurementMenuButton: HTMLElement | undefined;\n let resizeObserver: ResizeObserver | undefined;\n let mutationObserver: MutationObserver | undefined;\n let connectionObserver: MutationObserver | undefined;\n const observedResizeTargets = new WeakSet<Element>();\n const observedMutationTargets = new WeakSet<Element>();\n let retryOverflowUpdateTimeout: number | undefined;\n const initialOverflowUpdateTimeouts: number[] = [];\n const measurementId = `rsp-breadcrumbs-${Math.random().toString(36).slice(2)}`;\n const [canMeasure, setCanMeasure] = createSignal(canMeasureOverflow());\n const [visibleTailCount, setVisibleTailCount] = createSignal(MAX_VISIBLE_ITEMS - 2);\n let cleanupOverflowObservers = () => {};\n let hasDisposedRoot = false;\n let hasCleanedOverflowObservers = false;\n\n const getClassName = (renderProps: BreadcrumbsRenderProps): string =>\n [\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n wrapperStyles(\n {\n size: size(),\n isDisabled: renderProps.isDisabled,\n },\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n\n const allItems = createMemo(() => local.items ?? []);\n const scheduleOverflowRetry = () => {\n if (\n hasDisposedRoot ||\n typeof window === \"undefined\" ||\n retryOverflowUpdateTimeout !== undefined\n ) {\n return;\n }\n\n retryOverflowUpdateTimeout = window.setTimeout(() => {\n retryOverflowUpdateTimeout = undefined;\n updateOverflow();\n }, 16);\n };\n const updateOverflow = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n const items = local.items ?? [];\n if (items.length === 0) {\n setVisibleTailCount(0);\n return;\n }\n\n if (!canMeasure()) {\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const measureRoot =\n measurementElement ??\n (typeof document !== \"undefined\"\n ? (document.querySelector(\n `[data-rsp-breadcrumbs-measure-id=\"${measurementId}\"]`,\n ) as HTMLElement | null)\n : undefined);\n const visibleContainer =\n measureRoot?.previousElementSibling instanceof HTMLElement\n ? measureRoot.previousElementSibling\n : undefined;\n const container = visibleContainer ?? rootElement;\n if (measureRoot && measurementElement !== measureRoot) {\n measurementElement = measureRoot;\n }\n if (container && rootElement !== container) {\n rootElement = container;\n assignRefs(container);\n }\n observeOverflowTargets();\n if (!measureRoot || !container || typeof window === \"undefined\") {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const hiddenItems = Array.from(\n measureRoot.querySelectorAll(\"[data-hidden-breadcrumb]\"),\n ).filter((element): element is HTMLElement => element instanceof HTMLElement);\n const folder =\n measurementMenuButton ??\n (measureRoot.querySelector(\"[data-hidden-breadcrumb-menu-button]\") as HTMLElement | null);\n if (hiddenItems.length <= 0 || !folder) {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const containerWidth = container.offsetWidth || container.getBoundingClientRect().width;\n const containerGap = Number.parseFloat(window.getComputedStyle(container).gap || \"0\") || 0;\n const folderGap =\n Number.parseFloat(window.getComputedStyle(folder).marginInlineStart || \"0\") || 0;\n const widths = hiddenItems.map((breadcrumb) => breadcrumb.offsetWidth + 1);\n const totalWidth = widths.reduce((sum, width) => sum + width, 0);\n\n if (\n totalWidth <= containerWidth - items.length * containerGap &&\n items.length <= MAX_VISIBLE_ITEMS\n ) {\n setVisibleTailCount(items.length);\n return;\n }\n\n const firstWidth = widths.shift() ?? 0;\n let availableWidth =\n containerWidth - firstWidth - folderGap - folder.offsetWidth - containerGap;\n let nextVisibleTailCount = 0;\n const maxTailCount = MAX_VISIBLE_ITEMS - 2;\n\n for (const width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n nextVisibleTailCount += 1;\n }\n\n const nextTailCount = Math.max(1, Math.min(maxTailCount, nextVisibleTailCount));\n setVisibleTailCount(nextTailCount);\n };\n const queueOverflowUpdate = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n queueMicrotask(updateOverflow);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(updateOverflow);\n }\n if (typeof window !== \"undefined\") {\n window.setTimeout(updateOverflow, 0);\n }\n };\n const disposeBreadcrumbsRoot = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n hasDisposedRoot = true;\n cleanupOverflowObservers();\n disposeRoot();\n };\n const cleanupIfDisconnected = () => {\n if (rootElement?.isConnected || measurementElement?.isConnected) {\n return;\n }\n\n disposeBreadcrumbsRoot();\n };\n const observeOverflowTargets = () => {\n if (hasDisposedRoot || !rootElement || (!resizeObserver && !mutationObserver)) {\n return;\n }\n\n const observeElement = (element: HTMLElement, options: { mutations?: boolean } = {}) => {\n if (resizeObserver && !observedResizeTargets.has(element)) {\n resizeObserver.observe(element);\n observedResizeTargets.add(element);\n }\n\n if (\n options.mutations !== false &&\n mutationObserver &&\n !observedMutationTargets.has(element)\n ) {\n mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n observedMutationTargets.add(element);\n }\n };\n\n let element: HTMLElement | null = rootElement;\n while (element && element !== document.body) {\n observeElement(element);\n element = element.parentElement;\n }\n\n if (measurementElement) {\n observeElement(measurementElement, { mutations: false });\n if (measurementElement.parentElement) {\n observeElement(measurementElement.parentElement);\n }\n }\n };\n const setRootElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n rootElement = element;\n assignRefs(element);\n observeOverflowTargets();\n queueOverflowUpdate();\n };\n const setMeasurementElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementElement = element;\n const previousElement = element.previousElementSibling;\n if (previousElement instanceof HTMLElement) {\n rootElement = previousElement;\n assignRefs(previousElement);\n observeOverflowTargets();\n }\n queueOverflowUpdate();\n };\n const setMeasurementMenuButton = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementMenuButton = element;\n queueOverflowUpdate();\n };\n\n createEffect(() => {\n allItems().length;\n canMeasure();\n size();\n isDisabled();\n queueOverflowUpdate();\n });\n\n onMount(() => {\n const nextCanMeasure = canMeasureOverflow();\n setCanMeasure(nextCanMeasure);\n\n const safeUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n updateOverflow();\n };\n const safeQueueUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n queueOverflowUpdate();\n };\n resizeObserver =\n nextCanMeasure && typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(safeQueueUpdate)\n : undefined;\n mutationObserver =\n nextCanMeasure && typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(safeQueueUpdate)\n : undefined;\n\n observeOverflowTargets();\n safeUpdate();\n window.addEventListener(\"resize\", safeUpdate);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(() => {\n safeUpdate();\n requestAnimationFrame(safeUpdate);\n });\n }\n for (const delay of [16, 50, 100, 250]) {\n initialOverflowUpdateTimeouts.push(window.setTimeout(safeUpdate, delay));\n }\n document.fonts?.ready.then(() => {\n if (!hasDisposedRoot) {\n safeUpdate();\n }\n });\n connectionObserver =\n typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(cleanupIfDisconnected)\n : undefined;\n connectionObserver?.observe(document.body, { childList: true, subtree: true });\n cleanupOverflowObservers = () => {\n if (hasCleanedOverflowObservers) {\n return;\n }\n\n hasCleanedOverflowObservers = true;\n window.removeEventListener(\"resize\", safeUpdate);\n resizeObserver?.disconnect();\n mutationObserver?.disconnect();\n connectionObserver?.disconnect();\n for (const timeout of initialOverflowUpdateTimeouts) {\n window.clearTimeout(timeout);\n }\n if (retryOverflowUpdateTimeout !== undefined) {\n window.clearTimeout(retryOverflowUpdateTimeout);\n }\n };\n });\n onCleanup(() => cleanupOverflowObservers());\n\n const shouldCollapse = createMemo(() => {\n const items = allItems();\n if (items.length <= 2) {\n return false;\n }\n const wantsCollapse =\n items.length > MAX_VISIBLE_ITEMS || (canMeasure() && visibleTailCount() < items.length);\n if (!wantsCollapse) {\n return false;\n }\n // Only collapse when the overflow menu would actually hold an item. When the\n // path shrinks (e.g. an overflow menu entry is chosen), `visibleTailCount` can\n // trail the new, smaller collection for a frame — `sliceIndex` then lands at 1\n // and the menu slice `[1, sliceIndex)` is empty. Upstream S2 renders that empty\n // menu for a single frame and re-measures (React batches the state settle); our\n // fine-grained overflow observers instead turn the transient into a\n // collapse⇄expand feedback loop that pins the renderer thread. Gating on a\n // non-empty menu yields the identical settled layout without the transient.\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return sliceIndex > 1;\n });\n createEffect(() => {\n shouldCollapse();\n queueOverflowUpdate();\n });\n const collapsedCollection = createMemo<CollapsedBreadcrumbEntry<T>[]>(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n\n return [\n { kind: \"item\", item: items[0] as T, index: 0 },\n { kind: \"menu\" },\n ...items.slice(sliceIndex).map((item, index) => ({\n kind: \"item\" as const,\n item,\n index: sliceIndex + index,\n })),\n ];\n });\n const collapsedItems = createMemo(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return items.slice(1, sliceIndex);\n });\n\n const renderDynamicItem = (item: T | undefined) => {\n if (item === undefined) {\n return null;\n }\n\n const renderItem = local.children as ((item: T) => JSX.Element) | undefined;\n return renderItem?.(item);\n };\n\n return (\n <InternalBreadcrumbsContext.Provider value={{ size, isDisabled, showSeparator }}>\n <Show\n when={shouldCollapse()}\n fallback={\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={local.items}\n getKey={local.getKey}\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={local.children as any}\n />\n }\n >\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={collapsedCollection()}\n getKey={(entry) =>\n entry.kind === \"menu\"\n ? \"__breadcrumb-menu\"\n : (local.getKey?.(entry.item) ?? defaultItemKey(entry.item, entry.index))\n }\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={(entry) =>\n entry.kind === \"menu\" ? (\n <BreadcrumbMenu\n items={collapsedItems()}\n getKey={(item, index) =>\n local.getKey?.(item as T) ?? defaultItemKey(item, index + 1)\n }\n getLabel={itemLabel}\n onAction={local.onAction}\n />\n ) : (\n renderDynamicItem(entry.item)\n )\n }\n />\n </Show>\n <Show when={allItems().length > 0 && canMeasure()}>\n {/*\n Hidden measurement copy. Faithful to upstream S2 `HiddenBreadcrumbs`\n (react-spectrum/packages/@react-spectrum/s2/src/Breadcrumbs.tsx): a FLAT\n projection of the items — plain `[data-hidden-breadcrumb]` divs — NOT a\n second live Breadcrumbs collection. Rendering a second `<HeadlessBreadcrumbs>`\n here span a synchronous reactive cycle between the two collections that pinned\n the renderer thread. Each item still gets a BreadcrumbItemContext so the styled\n Breadcrumb resolves isCurrent/isLast exactly as in the visible list.\n */}\n <div\n ref={setMeasurementElement}\n aria-hidden=\"true\"\n data-rsp-breadcrumbs-measure=\"\"\n data-rsp-breadcrumbs-measure-id={measurementId}\n style={{\n position: \"absolute\",\n inset: \"0\",\n display: \"flex\",\n \"align-items\": \"center\",\n visibility: \"hidden\",\n overflow: \"hidden\",\n opacity: 0,\n \"pointer-events\": \"none\",\n }}\n >\n <For each={allItems()}>\n {(item, index) => {\n const isLast = () => index() === allItems().length - 1;\n const itemKey = () =>\n local.getKey?.(item) ?? defaultItemKey(item, index());\n return (\n <div data-hidden-breadcrumb style={{ display: \"inline-flex\", \"align-items\": \"center\" }}>\n <HeadlessBreadcrumbItemContext.Provider\n value={{ get itemKey() { return itemKey(); }, isLast }}\n >\n {renderDynamicItem(item)}\n </HeadlessBreadcrumbItemContext.Provider>\n </div>\n );\n }}\n </For>\n <ActionButton\n ref={setMeasurementMenuButton}\n data-hidden-breadcrumb-menu-button=\"\"\n isQuiet\n aria-label=\"More items\"\n >\n <FolderBreadcrumbIcon />\n </ActionButton>\n </div>\n </Show>\n </InternalBreadcrumbsContext.Provider>\n );\n}\n\nfunction BreadcrumbMenu<T>(props: {\n items: T[];\n getKey: (item: T, index: number) => string | number;\n getLabel: (item: T) => string;\n onAction?: (key: string | number) => void;\n}): JSX.Element {\n const locale = useLocale();\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const formatter = createStringFormatter(s2IntlStrings, \"@react-spectrum/s2\");\n const label = () => formatter().format(\"breadcrumbs.more\");\n\n return (\n <span\n class={breadcrumbStyles({\n size: context.size(),\n isDisabled: context.isDisabled(),\n isMenu: true,\n })}\n data-rsp-breadcrumb-menu=\"\"\n >\n <MenuTrigger>\n <ActionButton isDisabled={context.isDisabled()} isQuiet aria-label={label()}>\n <FolderBreadcrumbIcon />\n </ActionButton>\n <Menu\n items={props.items}\n // Menu invokes onAction(key, value); Breadcrumbs' contract is key-only\n // (matching upstream), so drop the leaked item value.\n onAction={(key) => props.onAction?.(key)}\n size={context.size()}\n aria-label={label()}\n >\n {(item) => (\n <MenuItem id={props.getKey(item, props.items.indexOf(item))}>\n <Text slot=\"label\">{props.getLabel(item)}</Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={context.size()}\n class={chevronStyles({ direction: locale().direction, isMenu: true })}\n />\n </span>\n );\n}\n\n/**\n * An individual Breadcrumb for Breadcrumbs.\n */\nexport function Breadcrumb(props: BreadcrumbProps): JSX.Element {\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const locale = useLocale();\n const providerProps = useProviderProps(props);\n const mergedProps = mergeProps(providerProps, props);\n const [local, headlessProps] = splitProps(mergedProps, [\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"ref\",\n ]);\n\n const assignRefs = mergeContextRefs(props.ref);\n const mergedStyles = () => mergeContextStyles(undefined, local.styles);\n const size = () => context.size();\n const [isCurrent, setIsCurrent] = createSignal(false);\n\n const syncRenderProps = (renderProps: BreadcrumbItemRenderProps) => {\n untrack(() => {\n if (isCurrent() !== renderProps.isCurrent) {\n setIsCurrent(renderProps.isCurrent);\n }\n });\n };\n\n const getClassName = (renderProps: BreadcrumbItemRenderProps): string => {\n syncRenderProps(renderProps);\n\n return [\n local.UNSAFE_className,\n local.class,\n mergeStyles(\n breadcrumbStyles({\n size: size(),\n isDisabled: renderProps.isDisabled || context.isDisabled(),\n isCurrent: renderProps.isCurrent,\n isHovered: renderProps.isHovered,\n isFocusVisible: renderProps.isFocusVisible,\n isFocused: renderProps.isFocused,\n isPressed: renderProps.isPressed,\n }),\n renderProps.isCurrent ? currentStyles({ size: size() }) : undefined,\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n const getStyle = (renderProps: BreadcrumbItemRenderProps): JSX.CSSProperties => ({\n ...(local.UNSAFE_style ?? {}),\n display: \"block\",\n \"clip-path\": renderProps.isFocusVisible ? \"none\" : \"margin-box\",\n });\n\n const renderChildren = (renderProps: BreadcrumbItemRenderProps): JSX.Element => {\n syncRenderProps(renderProps);\n\n const content =\n typeof local.children === \"function\" ? local.children(renderProps) : local.children;\n\n return content;\n };\n\n return (\n <span style={{ display: \"contents\" }}>\n <HeadlessBreadcrumbItem\n {...headlessProps}\n elementType={isCurrent() ? \"div\" : headlessProps.elementType}\n ref={(node: HTMLElement) => assignRefs(node)}\n isDisabled={headlessProps.isDisabled || context.isDisabled()}\n class={getClassName}\n style={getStyle}\n children={renderChildren}\n />\n <Show when={context.showSeparator() && !isCurrent()}>\n <ChevronIcon size=\"M\" class={chevronStyles({ direction: locale().direction })} />\n </Show>\n </span>\n );\n}\n\nexport const BreadcrumbItem = Breadcrumb;\nexport const Item = Breadcrumb;\n\nBreadcrumbs.Item = Breadcrumb;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","names":["JSX","createIcon","FolderBreadcrumbIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","FolderBreadcrumbIconProps","FolderBreadcrumbIcon","Accessor","For","JSX","Show","createContext","createEffect","createMemo","createRoot","createSignal","mergeProps","onCleanup","onMount","splitProps","untrack","useContext","BreadcrumbItem","HeadlessBreadcrumbItem","BreadcrumbItemContext","HeadlessBreadcrumbItemContext","Breadcrumbs","HeadlessBreadcrumbs","BreadcrumbItemProps","HeadlessBreadcrumbItemProps","BreadcrumbItemRenderProps","BreadcrumbsProps","HeadlessBreadcrumbsProps","BreadcrumbsRenderProps","createStringFormatter","useLocale","StyleString","mergeStyles","useProviderProps","getSlottedContextProps","mergeContextRefs","mergeContextStyles","mergeContextUnsafeStyle","RefLike","SpectrumContextValue","ActionButton","Menu","MenuItem","MenuTrigger","Text","ChevronIcon","FolderBreadcrumbIcon","s2IntlStrings","breadcrumbStyles","chevronStyles","currentStyles","wrapperStyles","S2BreadcrumbsSize","MAX_VISIBLE_ITEMS","BreadcrumbsSize","BreadcrumbsVariant","Omit","T","children","Element","item","size","styles","UNSAFE_className","UNSAFE_style","CSSProperties","class","variant","showSeparator","ref","HTMLElement","BreadcrumbProps","renderProps","CollapsedBreadcrumbEntry","kind","index","InternalBreadcrumbsContextValue","isDisabled","defaultInternalBreadcrumbsContext","BreadcrumbsContext","InternalBreadcrumbsContext","normalizeSize","defaultItemKey","maybeItem","key","id","itemLabel","String","label","name","title","textValue","canMeasureOverflow","window","userAgent","navigator","toLowerCase","includes","fallbackVisibleTailCount","itemCount","props","renderBreadcrumbs","disposeRoot","providerProps","contextProps","slot","mergedProps","const","local","headlessProps","mergedStyles","mergedUnsafeStyle","assignRefs","rootElement","measurementElement","measurementMenuButton","resizeObserver","ResizeObserver","mutationObserver","MutationObserver","connectionObserver","observedResizeTargets","WeakSet","observedMutationTargets","retryOverflowUpdateTimeout","initialOverflowUpdateTimeouts","measurementId","Math","random","toString","slice","canMeasure","setCanMeasure","visibleTailCount","setVisibleTailCount","cleanupOverflowObservers","hasDisposedRoot","hasCleanedOverflowObservers","getClassName","filter","Boolean","join","allItems","items","scheduleOverflowRetry","undefined","setTimeout","updateOverflow","length","measureRoot","document","querySelector","visibleContainer","previousElementSibling","container","observeOverflowTargets","hiddenItems","Array","from","querySelectorAll","element","folder","containerWidth","offsetWidth","getBoundingClientRect","width","containerGap","Number","parseFloat","getComputedStyle","gap","folderGap","marginInlineStart","widths","map","breadcrumb","totalWidth","reduce","sum","firstWidth","shift","availableWidth","nextVisibleTailCount","maxTailCount","reverse","nextTailCount","max","min","queueOverflowUpdate","queueMicrotask","requestAnimationFrame","disposeBreadcrumbsRoot","cleanupIfDisconnected","isConnected","observeElement","options","mutations","has","observe","add","attributes","attributeFilter","body","parentElement","setRootElement","setMeasurementElement","previousElement","setMeasurementMenuButton","nextCanMeasure","safeUpdate","safeQueueUpdate","addEventListener","delay","push","fonts","ready","then","childList","subtree","removeEventListener","disconnect","timeout","clearTimeout","shouldCollapse","wantsCollapse","tailCount","sliceIndex","collapsedCollection","collapsedItems","renderDynamicItem","renderItem","_$createComponent","Provider","value","when","fallback","_$mergeProps","getKey","onAction","style","entry","BreadcrumbMenu","getLabel","_$memo","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","_co$","_$getNextMarker","nextSibling","_el$4","_el$5","_co$2","_$use","_$setAttribute","_$insert","each","isLast","itemKey","_el$6","_tmpl$2","isQuiet","locale","context","formatter","format","_el$7","_tmpl$3","_el$8","_el$9","_co$3","_el$0","_el$1","_co$4","aria-label","indexOf","direction","isMenu","_$effect","_$className","Breadcrumb","isCurrent","setIsCurrent","syncRenderProps","isHovered","isFocusVisible","isFocused","isPressed","getStyle","display","renderChildren","content","_el$10","_tmpl$4","_el$11","_el$12","_co$5","_el$13","_el$14","_co$6","elementType","node","Item"],"sources":["../../src/icon/s2wf-icons/FolderBreadcrumbIcon.tsx","../../src/breadcrumbs/s2-breadcrumbs-styles.ts","../../src/breadcrumbs/index.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction FolderBreadcrumbIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"m16.75,5h-5.96387c-.21777,0-.42383-.09375-.56641-.25879l-1.7041-1.96387c-.42676-.49414-1.0459-.77734-1.7002-.77734h-3.56543c-1.24023,0-2.25,1.00977-2.25,2.25v10.5c0,1.24023,1.00977,2.25,2.25,2.25h13.5c1.24023,0,2.25-1.00977,2.25-2.25v-7.5c0-1.24023-1.00977-2.25-2.25-2.25ZM3.25,3.5h3.56543c.21777,0,.42383.09375.56641.25879l1.07703,1.24121H2.5v-.75c0-.41309.33691-.75.75-.75Zm14.25,11.25c0,.41309-.33691.75-.75.75H3.25c-.41309,0-.75-.33691-.75-.75V6.5h14.25c.41309,0,.75.33691.75.75v7.5Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n <path\n d=\"m10,13.65039c-.19238,0-.38379-.07324-.53027-.21973l-3-3c-.29297-.29297-.29297-.76758,0-1.06055s.76758-.29297,1.06055,0l2.46973,2.46973,2.46973-2.46973c.29297-.29297.76758-.29297,1.06055,0s.29297.76758,0,1.06055l-3,3c-.14648.14648-.33789.21973-.53027.21973Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type FolderBreadcrumbIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const FolderBreadcrumbIcon = createIcon(FolderBreadcrumbIconSvg);\nexport default FolderBreadcrumbIcon;\n","import { baseColor, focusRing, size as s2Size, style } from \"../style\" with { type: \"macro\" };\nimport {\n controlFont,\n controlSize,\n getAllowedOverrides,\n} from \"../s2-internal/style-utils\" with { type: \"macro\" };\n\nexport type S2BreadcrumbsSize = \"M\" | \"L\";\n\nexport const wrapperStyles = style<{ size: S2BreadcrumbsSize; isDisabled?: boolean }>(\n {\n position: \"relative\",\n display: \"flex\",\n justifyContent: \"start\",\n listStyleType: \"none\",\n flexWrap: \"nowrap\",\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n height: controlSize(),\n gap: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n padding: 0,\n transition: \"default\",\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n },\n getAllowedOverrides(),\n);\n\nexport const breadcrumbStyles = style<{\n size?: S2BreadcrumbsSize;\n isDisabled?: boolean;\n isCurrent?: boolean;\n isMenu?: boolean;\n isHovered?: boolean;\n isFocusVisible?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}>({\n ...focusRing(),\n display: {\n default: \"block\",\n isMenu: \"flex\",\n },\n alignItems: {\n isMenu: \"center\",\n },\n justifyContent: {\n isMenu: \"start\",\n },\n height: {\n isMenu: controlSize(),\n },\n transition: \"default\",\n position: \"relative\",\n flexShrink: 0,\n borderStyle: \"none\",\n /* A breadcrumb item is a nav row, so it takes the `row` corner (6px) rather than\n * `sm` (4px, spectrum-theme.ts:630) — a value the register's radius ladder does not\n * draw. The row-shaped siblings already spell this: tabs/index.tsx:336,\n * steplist:68, tree:273/370/477, gridlist:642/686, table:1041. Visible chrome, not\n * dead geometry — it shapes the hover fill and the focus-ring corner. */\n borderRadius: \"row\",\n font: controlFont(),\n color: {\n default: baseColor(\"neutral-subdued\"),\n isDisabled: baseColor(\"neutral-subdued\"),\n isCurrent: baseColor(\"neutral\"),\n forcedColors: {\n default: \"LinkText\",\n isDisabled: \"GrayText\",\n isCurrent: \"GrayText\",\n },\n },\n marginStart: {\n isMenu: s2Size(-6),\n },\n textDecoration: {\n default: \"none\",\n isHovered: \"underline\",\n isFocusVisible: \"underline\",\n isDisabled: \"none\",\n },\n cursor: {\n default: \"pointer\",\n isDisabled: \"default\",\n isCurrent: \"default\",\n },\n outlineColor: {\n default: \"focus-ring\",\n forcedColors: \"Highlight\",\n },\n disableTapHighlight: true,\n});\n\nexport const currentStyles = style<{ size: S2BreadcrumbsSize }>({\n font: controlFont(),\n fontWeight: \"bold\",\n color: {\n default: \"neutral\",\n forcedColors: \"ButtonText\",\n },\n});\n\nexport const chevronStyles = style<{ direction?: \"ltr\" | \"rtl\"; isMenu?: boolean }>({\n scale: {\n direction: {\n rtl: -1,\n },\n },\n marginStart: {\n default: \"text-to-visual\",\n isMenu: 0,\n },\n color: {\n default: \"neutral\",\n forcedColors: {\n default: \"LinkText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n});\n","import {\n type Accessor,\n For,\n type JSX,\n Show,\n createContext,\n createEffect,\n createMemo,\n createRoot,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n untrack,\n useContext,\n} from \"solid-js\";\nimport {\n BreadcrumbItem as HeadlessBreadcrumbItem,\n BreadcrumbItemContext as HeadlessBreadcrumbItemContext,\n Breadcrumbs as HeadlessBreadcrumbs,\n type BreadcrumbItemProps as HeadlessBreadcrumbItemProps,\n type BreadcrumbItemRenderProps,\n type BreadcrumbsProps as HeadlessBreadcrumbsProps,\n type BreadcrumbsRenderProps,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { createStringFormatter, useLocale } from \"@proyecto-viviana/solidaria\";\nimport type { StyleString } from \"../style\";\nimport { mergeStyles } from \"../style/runtime\";\nimport { useProviderProps } from \"../provider\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\nimport { ActionButton } from \"../button/ActionButton\";\nimport { Menu, MenuItem, MenuTrigger, Text } from \"../Menu\";\nimport ChevronIcon from \"../icon/ui-icons/Chevron\";\nimport FolderBreadcrumbIcon from \"../icon/s2wf-icons/FolderBreadcrumbIcon\";\nimport { s2IntlStrings } from \"../intl\";\nimport {\n breadcrumbStyles,\n chevronStyles,\n currentStyles,\n wrapperStyles,\n type S2BreadcrumbsSize,\n} from \"./s2-breadcrumbs-styles\";\n\nconst MAX_VISIBLE_ITEMS = 4;\n\nexport type { S2BreadcrumbsSize };\nexport type BreadcrumbsSize = S2BreadcrumbsSize | \"sm\" | \"md\" | \"lg\";\nexport type BreadcrumbsVariant = \"default\" | \"subtle\";\n\nexport interface BreadcrumbsProps<T> extends Omit<\n HeadlessBreadcrumbsProps<T>,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the Breadcrumbs. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The size of the Breadcrumbs. @default 'M' */\n size?: BreadcrumbsSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Legacy visual variant alias. Kept for source compatibility; S2 Breadcrumbs has no variant. */\n variant?: BreadcrumbsVariant;\n /** Legacy separator toggle. Kept for source compatibility. */\n showSeparator?: boolean;\n /** Ref for the navigation element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport interface BreadcrumbProps extends Omit<\n HeadlessBreadcrumbItemProps,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the breadcrumb item. */\n children?: JSX.Element | ((renderProps: BreadcrumbItemRenderProps) => JSX.Element);\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Ref for the breadcrumb item element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport type BreadcrumbItemProps = BreadcrumbProps;\n\ntype CollapsedBreadcrumbEntry<T> =\n | {\n kind: \"item\";\n item: T;\n index: number;\n }\n | {\n kind: \"menu\";\n };\n\ntype InternalBreadcrumbsContextValue = {\n size: Accessor<S2BreadcrumbsSize>;\n isDisabled: Accessor<boolean>;\n showSeparator: Accessor<boolean>;\n};\n\nconst defaultInternalBreadcrumbsContext: InternalBreadcrumbsContextValue = {\n size: () => \"M\",\n isDisabled: () => false,\n showSeparator: () => true,\n};\n\nexport const BreadcrumbsContext = createContext<SpectrumContextValue<BreadcrumbsProps<any>>>(null);\nconst InternalBreadcrumbsContext = createContext<InternalBreadcrumbsContextValue>(\n defaultInternalBreadcrumbsContext,\n);\n\nfunction normalizeSize(size?: BreadcrumbsSize): S2BreadcrumbsSize {\n switch (size) {\n case \"lg\":\n case \"L\":\n return \"L\";\n case \"sm\":\n case \"md\":\n case \"M\":\n default:\n return \"M\";\n }\n}\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\nfunction itemLabel(item: unknown): string {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return String(item);\n }\n\n const maybeItem = item as {\n label?: string;\n name?: string;\n title?: string;\n textValue?: string;\n key?: string | number;\n id?: string | number;\n };\n return (\n maybeItem.textValue ??\n maybeItem.label ??\n maybeItem.name ??\n maybeItem.title ??\n String(maybeItem.key ?? maybeItem.id ?? \"\")\n );\n}\n\nfunction canMeasureOverflow(): boolean {\n if (typeof window === \"undefined\") {\n return false;\n }\n\n const userAgent = window.navigator?.userAgent?.toLowerCase() ?? \"\";\n return !userAgent.includes(\"jsdom\") && !userAgent.includes(\"happy-dom\");\n}\n\nfunction fallbackVisibleTailCount(itemCount: number): number {\n return itemCount > MAX_VISIBLE_ITEMS ? MAX_VISIBLE_ITEMS - 2 : itemCount;\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 if (typeof window === \"undefined\") {\n return renderBreadcrumbs(props, () => {});\n }\n\n return createRoot((disposeRoot) => renderBreadcrumbs(props, disposeRoot));\n}\n\nfunction renderBreadcrumbs<T>(props: BreadcrumbsProps<T>, disposeRoot: () => void): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(BreadcrumbsContext), props.slot);\n const mergedProps = mergeProps(\n { size: \"M\" as const, showSeparator: true },\n providerProps,\n contextProps ?? {},\n props,\n );\n const [local, headlessProps] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"items\",\n \"getKey\",\n \"onAction\",\n \"isDisabled\",\n \"ref\",\n \"variant\",\n \"showSeparator\",\n ]);\n\n const size = () => normalizeSize(local.size);\n const isDisabled = () => local.isDisabled ?? false;\n const showSeparator = () => local.showSeparator !== false;\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRefs = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLElement> } | null)?.ref,\n props.ref,\n );\n let rootElement: HTMLElement | undefined;\n let measurementElement: HTMLElement | undefined;\n let measurementMenuButton: HTMLElement | undefined;\n let resizeObserver: ResizeObserver | undefined;\n let mutationObserver: MutationObserver | undefined;\n let connectionObserver: MutationObserver | undefined;\n const observedResizeTargets = new WeakSet<Element>();\n const observedMutationTargets = new WeakSet<Element>();\n let retryOverflowUpdateTimeout: number | undefined;\n const initialOverflowUpdateTimeouts: number[] = [];\n const measurementId = `rsp-breadcrumbs-${Math.random().toString(36).slice(2)}`;\n const [canMeasure, setCanMeasure] = createSignal(canMeasureOverflow());\n const [visibleTailCount, setVisibleTailCount] = createSignal(MAX_VISIBLE_ITEMS - 2);\n let cleanupOverflowObservers = () => {};\n let hasDisposedRoot = false;\n let hasCleanedOverflowObservers = false;\n\n const getClassName = (renderProps: BreadcrumbsRenderProps): string =>\n [\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n wrapperStyles(\n {\n size: size(),\n isDisabled: renderProps.isDisabled,\n },\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n\n const allItems = createMemo(() => local.items ?? []);\n const scheduleOverflowRetry = () => {\n if (\n hasDisposedRoot ||\n typeof window === \"undefined\" ||\n retryOverflowUpdateTimeout !== undefined\n ) {\n return;\n }\n\n retryOverflowUpdateTimeout = window.setTimeout(() => {\n retryOverflowUpdateTimeout = undefined;\n updateOverflow();\n }, 16);\n };\n const updateOverflow = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n const items = local.items ?? [];\n if (items.length === 0) {\n setVisibleTailCount(0);\n return;\n }\n\n if (!canMeasure()) {\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const measureRoot =\n measurementElement ??\n (typeof document !== \"undefined\"\n ? (document.querySelector(\n `[data-rsp-breadcrumbs-measure-id=\"${measurementId}\"]`,\n ) as HTMLElement | null)\n : undefined);\n const visibleContainer =\n measureRoot?.previousElementSibling instanceof HTMLElement\n ? measureRoot.previousElementSibling\n : undefined;\n const container = visibleContainer ?? rootElement;\n if (measureRoot && measurementElement !== measureRoot) {\n measurementElement = measureRoot;\n }\n if (container && rootElement !== container) {\n rootElement = container;\n assignRefs(container);\n }\n observeOverflowTargets();\n if (!measureRoot || !container || typeof window === \"undefined\") {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const hiddenItems = Array.from(measureRoot.querySelectorAll(\"[data-hidden-breadcrumb]\")).filter(\n (element): element is HTMLElement => element instanceof HTMLElement,\n );\n const folder =\n measurementMenuButton ??\n (measureRoot.querySelector(\"[data-hidden-breadcrumb-menu-button]\") as HTMLElement | null);\n if (hiddenItems.length <= 0 || !folder) {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const containerWidth = container.offsetWidth || container.getBoundingClientRect().width;\n const containerGap = Number.parseFloat(window.getComputedStyle(container).gap || \"0\") || 0;\n const folderGap =\n Number.parseFloat(window.getComputedStyle(folder).marginInlineStart || \"0\") || 0;\n const widths = hiddenItems.map((breadcrumb) => breadcrumb.offsetWidth + 1);\n const totalWidth = widths.reduce((sum, width) => sum + width, 0);\n\n if (\n totalWidth <= containerWidth - items.length * containerGap &&\n items.length <= MAX_VISIBLE_ITEMS\n ) {\n setVisibleTailCount(items.length);\n return;\n }\n\n const firstWidth = widths.shift() ?? 0;\n let availableWidth =\n containerWidth - firstWidth - folderGap - folder.offsetWidth - containerGap;\n let nextVisibleTailCount = 0;\n const maxTailCount = MAX_VISIBLE_ITEMS - 2;\n\n for (const width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n nextVisibleTailCount += 1;\n }\n\n const nextTailCount = Math.max(1, Math.min(maxTailCount, nextVisibleTailCount));\n setVisibleTailCount(nextTailCount);\n };\n const queueOverflowUpdate = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n queueMicrotask(updateOverflow);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(updateOverflow);\n }\n if (typeof window !== \"undefined\") {\n window.setTimeout(updateOverflow, 0);\n }\n };\n const disposeBreadcrumbsRoot = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n hasDisposedRoot = true;\n cleanupOverflowObservers();\n disposeRoot();\n };\n const cleanupIfDisconnected = () => {\n if (rootElement?.isConnected || measurementElement?.isConnected) {\n return;\n }\n\n disposeBreadcrumbsRoot();\n };\n const observeOverflowTargets = () => {\n if (hasDisposedRoot || !rootElement || (!resizeObserver && !mutationObserver)) {\n return;\n }\n\n const observeElement = (element: HTMLElement, options: { mutations?: boolean } = {}) => {\n if (resizeObserver && !observedResizeTargets.has(element)) {\n resizeObserver.observe(element);\n observedResizeTargets.add(element);\n }\n\n if (\n options.mutations !== false &&\n mutationObserver &&\n !observedMutationTargets.has(element)\n ) {\n mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n observedMutationTargets.add(element);\n }\n };\n\n let element: HTMLElement | null = rootElement;\n while (element && element !== document.body) {\n observeElement(element);\n element = element.parentElement;\n }\n\n if (measurementElement) {\n observeElement(measurementElement, { mutations: false });\n if (measurementElement.parentElement) {\n observeElement(measurementElement.parentElement);\n }\n }\n };\n const setRootElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n rootElement = element;\n assignRefs(element);\n observeOverflowTargets();\n queueOverflowUpdate();\n };\n const setMeasurementElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementElement = element;\n const previousElement = element.previousElementSibling;\n if (previousElement instanceof HTMLElement) {\n rootElement = previousElement;\n assignRefs(previousElement);\n observeOverflowTargets();\n }\n queueOverflowUpdate();\n };\n const setMeasurementMenuButton = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementMenuButton = element;\n queueOverflowUpdate();\n };\n\n createEffect(() => {\n allItems().length;\n canMeasure();\n size();\n isDisabled();\n queueOverflowUpdate();\n });\n\n onMount(() => {\n const nextCanMeasure = canMeasureOverflow();\n setCanMeasure(nextCanMeasure);\n\n const safeUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n updateOverflow();\n };\n const safeQueueUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n queueOverflowUpdate();\n };\n resizeObserver =\n nextCanMeasure && typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(safeQueueUpdate)\n : undefined;\n mutationObserver =\n nextCanMeasure && typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(safeQueueUpdate)\n : undefined;\n\n observeOverflowTargets();\n safeUpdate();\n window.addEventListener(\"resize\", safeUpdate);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(() => {\n safeUpdate();\n requestAnimationFrame(safeUpdate);\n });\n }\n for (const delay of [16, 50, 100, 250]) {\n initialOverflowUpdateTimeouts.push(window.setTimeout(safeUpdate, delay));\n }\n document.fonts?.ready.then(() => {\n if (!hasDisposedRoot) {\n safeUpdate();\n }\n });\n connectionObserver =\n typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(cleanupIfDisconnected)\n : undefined;\n connectionObserver?.observe(document.body, { childList: true, subtree: true });\n cleanupOverflowObservers = () => {\n if (hasCleanedOverflowObservers) {\n return;\n }\n\n hasCleanedOverflowObservers = true;\n window.removeEventListener(\"resize\", safeUpdate);\n resizeObserver?.disconnect();\n mutationObserver?.disconnect();\n connectionObserver?.disconnect();\n for (const timeout of initialOverflowUpdateTimeouts) {\n window.clearTimeout(timeout);\n }\n if (retryOverflowUpdateTimeout !== undefined) {\n window.clearTimeout(retryOverflowUpdateTimeout);\n }\n };\n });\n onCleanup(() => cleanupOverflowObservers());\n\n const shouldCollapse = createMemo(() => {\n const items = allItems();\n if (items.length <= 2) {\n return false;\n }\n const wantsCollapse =\n items.length > MAX_VISIBLE_ITEMS || (canMeasure() && visibleTailCount() < items.length);\n if (!wantsCollapse) {\n return false;\n }\n // Only collapse when the overflow menu would actually hold an item. When the\n // path shrinks (e.g. an overflow menu entry is chosen), `visibleTailCount` can\n // trail the new, smaller collection for a frame — `sliceIndex` then lands at 1\n // and the menu slice `[1, sliceIndex)` is empty. Upstream S2 renders that empty\n // menu for a single frame and re-measures (React batches the state settle); our\n // fine-grained overflow observers instead turn the transient into a\n // collapse⇄expand feedback loop that pins the renderer thread. Gating on a\n // non-empty menu yields the identical settled layout without the transient.\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return sliceIndex > 1;\n });\n createEffect(() => {\n shouldCollapse();\n queueOverflowUpdate();\n });\n const collapsedCollection = createMemo<CollapsedBreadcrumbEntry<T>[]>(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n\n return [\n { kind: \"item\", item: items[0] as T, index: 0 },\n { kind: \"menu\" },\n ...items.slice(sliceIndex).map((item, index) => ({\n kind: \"item\" as const,\n item,\n index: sliceIndex + index,\n })),\n ];\n });\n const collapsedItems = createMemo(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return items.slice(1, sliceIndex);\n });\n\n const renderDynamicItem = (item: T | undefined) => {\n if (item === undefined) {\n return null;\n }\n\n const renderItem = local.children as ((item: T) => JSX.Element) | undefined;\n return renderItem?.(item);\n };\n\n return (\n <InternalBreadcrumbsContext.Provider value={{ size, isDisabled, showSeparator }}>\n <Show\n when={shouldCollapse()}\n fallback={\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={local.items}\n getKey={local.getKey}\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={local.children as any}\n />\n }\n >\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={collapsedCollection()}\n getKey={(entry) =>\n entry.kind === \"menu\"\n ? \"__breadcrumb-menu\"\n : (local.getKey?.(entry.item) ?? defaultItemKey(entry.item, entry.index))\n }\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={(entry) =>\n entry.kind === \"menu\" ? (\n <BreadcrumbMenu\n items={collapsedItems()}\n getKey={(item, index) =>\n local.getKey?.(item as T) ?? defaultItemKey(item, index + 1)\n }\n getLabel={itemLabel}\n onAction={local.onAction}\n />\n ) : (\n renderDynamicItem(entry.item)\n )\n }\n />\n </Show>\n <Show when={allItems().length > 0 && canMeasure()}>\n {/*\n Hidden measurement copy. Faithful to upstream S2 `HiddenBreadcrumbs`\n (react-spectrum/packages/@react-spectrum/s2/src/Breadcrumbs.tsx): a FLAT\n projection of the items — plain `[data-hidden-breadcrumb]` divs — NOT a\n second live Breadcrumbs collection. Rendering a second `<HeadlessBreadcrumbs>`\n here span a synchronous reactive cycle between the two collections that pinned\n the renderer thread. Each item still gets a BreadcrumbItemContext so the styled\n Breadcrumb resolves isCurrent/isLast exactly as in the visible list.\n */}\n <div\n ref={setMeasurementElement}\n aria-hidden=\"true\"\n data-rsp-breadcrumbs-measure=\"\"\n data-rsp-breadcrumbs-measure-id={measurementId}\n style={{\n position: \"absolute\",\n inset: \"0\",\n display: \"flex\",\n \"align-items\": \"center\",\n visibility: \"hidden\",\n overflow: \"hidden\",\n opacity: 0,\n \"pointer-events\": \"none\",\n }}\n >\n <For each={allItems()}>\n {(item, index) => {\n const isLast = () => index() === allItems().length - 1;\n const itemKey = () => local.getKey?.(item) ?? defaultItemKey(item, index());\n return (\n <div\n data-hidden-breadcrumb\n style={{ display: \"inline-flex\", \"align-items\": \"center\" }}\n >\n <HeadlessBreadcrumbItemContext.Provider\n value={{\n get itemKey() {\n return itemKey();\n },\n isLast,\n }}\n >\n {renderDynamicItem(item)}\n </HeadlessBreadcrumbItemContext.Provider>\n </div>\n );\n }}\n </For>\n <ActionButton\n ref={setMeasurementMenuButton}\n data-hidden-breadcrumb-menu-button=\"\"\n isQuiet\n aria-label=\"More items\"\n >\n <FolderBreadcrumbIcon />\n </ActionButton>\n </div>\n </Show>\n </InternalBreadcrumbsContext.Provider>\n );\n}\n\nfunction BreadcrumbMenu<T>(props: {\n items: T[];\n getKey: (item: T, index: number) => string | number;\n getLabel: (item: T) => string;\n onAction?: (key: string | number) => void;\n}): JSX.Element {\n const locale = useLocale();\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const formatter = createStringFormatter(s2IntlStrings, \"@react-spectrum/s2\");\n const label = () => formatter().format(\"breadcrumbs.more\");\n\n return (\n <span\n class={breadcrumbStyles({\n size: context.size(),\n isDisabled: context.isDisabled(),\n isMenu: true,\n })}\n data-rsp-breadcrumb-menu=\"\"\n >\n <MenuTrigger>\n <ActionButton isDisabled={context.isDisabled()} isQuiet aria-label={label()}>\n <FolderBreadcrumbIcon />\n </ActionButton>\n <Menu\n items={props.items}\n // Menu invokes onAction(key, value); Breadcrumbs' contract is key-only\n // (matching upstream), so drop the leaked item value.\n onAction={(key) => props.onAction?.(key)}\n size={context.size()}\n aria-label={label()}\n >\n {(item) => (\n <MenuItem id={props.getKey(item, props.items.indexOf(item))}>\n <Text slot=\"label\">{props.getLabel(item)}</Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={context.size()}\n class={chevronStyles({ direction: locale().direction, isMenu: true })}\n />\n </span>\n );\n}\n\n/**\n * An individual Breadcrumb for Breadcrumbs.\n */\nexport function Breadcrumb(props: BreadcrumbProps): JSX.Element {\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const locale = useLocale();\n const providerProps = useProviderProps(props);\n const mergedProps = mergeProps(providerProps, props);\n const [local, headlessProps] = splitProps(mergedProps, [\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"ref\",\n ]);\n\n const assignRefs = mergeContextRefs(props.ref);\n const mergedStyles = () => mergeContextStyles(undefined, local.styles);\n const size = () => context.size();\n const [isCurrent, setIsCurrent] = createSignal(false);\n\n const syncRenderProps = (renderProps: BreadcrumbItemRenderProps) => {\n untrack(() => {\n if (isCurrent() !== renderProps.isCurrent) {\n setIsCurrent(renderProps.isCurrent);\n }\n });\n };\n\n const getClassName = (renderProps: BreadcrumbItemRenderProps): string => {\n syncRenderProps(renderProps);\n\n return [\n local.UNSAFE_className,\n local.class,\n mergeStyles(\n breadcrumbStyles({\n size: size(),\n isDisabled: renderProps.isDisabled || context.isDisabled(),\n isCurrent: renderProps.isCurrent,\n isHovered: renderProps.isHovered,\n isFocusVisible: renderProps.isFocusVisible,\n isFocused: renderProps.isFocused,\n isPressed: renderProps.isPressed,\n }),\n renderProps.isCurrent ? currentStyles({ size: size() }) : undefined,\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n const getStyle = (renderProps: BreadcrumbItemRenderProps): JSX.CSSProperties => ({\n ...(local.UNSAFE_style ?? {}),\n display: \"block\",\n \"clip-path\": renderProps.isFocusVisible ? \"none\" : \"margin-box\",\n });\n\n const renderChildren = (renderProps: BreadcrumbItemRenderProps): JSX.Element => {\n syncRenderProps(renderProps);\n\n const content =\n typeof local.children === \"function\" ? local.children(renderProps) : local.children;\n\n return content;\n };\n\n return (\n <span style={{ display: \"contents\" }}>\n <HeadlessBreadcrumbItem\n {...headlessProps}\n elementType={isCurrent() ? \"div\" : headlessProps.elementType}\n ref={(node: HTMLElement) => assignRefs(node)}\n isDisabled={headlessProps.isDisabled || context.isDisabled()}\n class={getClassName}\n style={getStyle}\n children={renderChildren}\n />\n <Show when={context.showSeparator() && !isCurrent()}>\n <ChevronIcon size=\"M\" class={chevronStyles({ direction: locale().direction })} />\n </Show>\n </span>\n );\n}\n\nexport const BreadcrumbItem = Breadcrumb;\nexport const Item = Breadcrumb;\n\nBreadcrumbs.Item = Breadcrumb;\n"],"mappings":"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"}
|
|
@@ -161,11 +161,11 @@ const breadcrumbStyles = function anonymous(props) {
|
|
|
161
161
|
else if (props.isDisabled) if (props.isPressed) rules += " pQKeKoe151";
|
|
162
162
|
else if (props.isFocusVisible) rules += " pQKeKoe151";
|
|
163
163
|
else if (props.isHovered) rules += " pQKeKoe151";
|
|
164
|
-
else rules += "
|
|
164
|
+
else rules += " pWQ7V3d151";
|
|
165
165
|
else if (props.isPressed) rules += " pQKeKoe151";
|
|
166
166
|
else if (props.isFocusVisible) rules += " pQKeKoe151";
|
|
167
167
|
else if (props.isHovered) rules += " pQKeKoe151";
|
|
168
|
-
else rules += "
|
|
168
|
+
else rules += " pWQ7V3d151";
|
|
169
169
|
if (props.isCurrent) rules += " plc151";
|
|
170
170
|
else if (props.isDisabled) rules += " plc151";
|
|
171
171
|
else rules += " plf151";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.jsx","names":["Breadcrumbs","HeadlessBreadcrumbs","HeadlessBreadcrumbItemContext","MenuTrigger","Menu","MenuItem","ChevronIcon","HeadlessBreadcrumbItem","BreadcrumbItem"],"sources":["../../src/icon/s2wf-icons/FolderBreadcrumbIcon.tsx","../../src/breadcrumbs/s2-breadcrumbs-styles.ts","../../src/breadcrumbs/index.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction FolderBreadcrumbIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"m16.75,5h-5.96387c-.21777,0-.42383-.09375-.56641-.25879l-1.7041-1.96387c-.42676-.49414-1.0459-.77734-1.7002-.77734h-3.56543c-1.24023,0-2.25,1.00977-2.25,2.25v10.5c0,1.24023,1.00977,2.25,2.25,2.25h13.5c1.24023,0,2.25-1.00977,2.25-2.25v-7.5c0-1.24023-1.00977-2.25-2.25-2.25ZM3.25,3.5h3.56543c.21777,0,.42383.09375.56641.25879l1.07703,1.24121H2.5v-.75c0-.41309.33691-.75.75-.75Zm14.25,11.25c0,.41309-.33691.75-.75.75H3.25c-.41309,0-.75-.33691-.75-.75V6.5h14.25c.41309,0,.75.33691.75.75v7.5Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n <path\n d=\"m10,13.65039c-.19238,0-.38379-.07324-.53027-.21973l-3-3c-.29297-.29297-.29297-.76758,0-1.06055s.76758-.29297,1.06055,0l2.46973,2.46973,2.46973-2.46973c.29297-.29297.76758-.29297,1.06055,0s.29297.76758,0,1.06055l-3,3c-.14648.14648-.33789.21973-.53027.21973Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type FolderBreadcrumbIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const FolderBreadcrumbIcon = createIcon(FolderBreadcrumbIconSvg);\nexport default FolderBreadcrumbIcon;\n","import { baseColor, focusRing, size as s2Size, style } from \"../style\" with { type: \"macro\" };\nimport {\n controlFont,\n controlSize,\n getAllowedOverrides,\n} from \"../s2-internal/style-utils\" with { type: \"macro\" };\n\nexport type S2BreadcrumbsSize = \"M\" | \"L\";\n\nexport const wrapperStyles = style<{ size: S2BreadcrumbsSize; isDisabled?: boolean }>(\n {\n position: \"relative\",\n display: \"flex\",\n justifyContent: \"start\",\n listStyleType: \"none\",\n flexWrap: \"nowrap\",\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n height: controlSize(),\n gap: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n padding: 0,\n transition: \"default\",\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n },\n getAllowedOverrides(),\n);\n\nexport const breadcrumbStyles = style<{\n size?: S2BreadcrumbsSize;\n isDisabled?: boolean;\n isCurrent?: boolean;\n isMenu?: boolean;\n isHovered?: boolean;\n isFocusVisible?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}>({\n ...focusRing(),\n display: {\n default: \"block\",\n isMenu: \"flex\",\n },\n alignItems: {\n isMenu: \"center\",\n },\n justifyContent: {\n isMenu: \"start\",\n },\n height: {\n isMenu: controlSize(),\n },\n transition: \"default\",\n position: \"relative\",\n flexShrink: 0,\n borderStyle: \"none\",\n /* A breadcrumb item is a nav row, so it takes the `row` corner (6px) rather than\n * `sm` (4px, spectrum-theme.ts:630) — a value the register's radius ladder does not\n * draw. The row-shaped siblings already spell this: tabs/index.tsx:336,\n * steplist:68, tree:273/370/477, gridlist:642/686, table:1041. Visible chrome, not\n * dead geometry — it shapes the hover fill and the focus-ring corner. */\n borderRadius: \"row\",\n font: controlFont(),\n color: {\n default: baseColor(\"neutral-subdued\"),\n isDisabled: baseColor(\"neutral-subdued\"),\n isCurrent: baseColor(\"neutral\"),\n forcedColors: {\n default: \"LinkText\",\n isDisabled: \"GrayText\",\n isCurrent: \"GrayText\",\n },\n },\n marginStart: {\n isMenu: s2Size(-6),\n },\n textDecoration: {\n default: \"none\",\n isHovered: \"underline\",\n isFocusVisible: \"underline\",\n isDisabled: \"none\",\n },\n cursor: {\n default: \"pointer\",\n isDisabled: \"default\",\n isCurrent: \"default\",\n },\n outlineColor: {\n default: \"focus-ring\",\n forcedColors: \"Highlight\",\n },\n disableTapHighlight: true,\n});\n\nexport const currentStyles = style<{ size: S2BreadcrumbsSize }>({\n font: controlFont(),\n fontWeight: \"bold\",\n color: {\n default: \"neutral\",\n forcedColors: \"ButtonText\",\n },\n});\n\nexport const chevronStyles = style<{ direction?: \"ltr\" | \"rtl\"; isMenu?: boolean }>({\n scale: {\n direction: {\n rtl: -1,\n },\n },\n marginStart: {\n default: \"text-to-visual\",\n isMenu: 0,\n },\n color: {\n default: \"neutral\",\n forcedColors: {\n default: \"LinkText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n});\n","import {\n type Accessor,\n For,\n type JSX,\n Show,\n createContext,\n createEffect,\n createMemo,\n createRoot,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n untrack,\n useContext,\n} from \"solid-js\";\nimport {\n BreadcrumbItem as HeadlessBreadcrumbItem,\n BreadcrumbItemContext as HeadlessBreadcrumbItemContext,\n Breadcrumbs as HeadlessBreadcrumbs,\n type BreadcrumbItemProps as HeadlessBreadcrumbItemProps,\n type BreadcrumbItemRenderProps,\n type BreadcrumbsProps as HeadlessBreadcrumbsProps,\n type BreadcrumbsRenderProps,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { createStringFormatter, useLocale } from \"@proyecto-viviana/solidaria\";\nimport type { StyleString } from \"../style\";\nimport { mergeStyles } from \"../style/runtime\";\nimport { useProviderProps } from \"../provider\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\nimport { ActionButton } from \"../button/ActionButton\";\nimport { Menu, MenuItem, MenuTrigger, Text } from \"../Menu\";\nimport ChevronIcon from \"../icon/ui-icons/Chevron\";\nimport FolderBreadcrumbIcon from \"../icon/s2wf-icons/FolderBreadcrumbIcon\";\nimport { s2IntlStrings } from \"../intl\";\nimport {\n breadcrumbStyles,\n chevronStyles,\n currentStyles,\n wrapperStyles,\n type S2BreadcrumbsSize,\n} from \"./s2-breadcrumbs-styles\";\n\nconst MAX_VISIBLE_ITEMS = 4;\n\nexport type { S2BreadcrumbsSize };\nexport type BreadcrumbsSize = S2BreadcrumbsSize | \"sm\" | \"md\" | \"lg\";\nexport type BreadcrumbsVariant = \"default\" | \"subtle\";\n\nexport interface BreadcrumbsProps<T> extends Omit<\n HeadlessBreadcrumbsProps<T>,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the Breadcrumbs. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The size of the Breadcrumbs. @default 'M' */\n size?: BreadcrumbsSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Legacy visual variant alias. Kept for source compatibility; S2 Breadcrumbs has no variant. */\n variant?: BreadcrumbsVariant;\n /** Legacy separator toggle. Kept for source compatibility. */\n showSeparator?: boolean;\n /** Ref for the navigation element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport interface BreadcrumbProps extends Omit<\n HeadlessBreadcrumbItemProps,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the breadcrumb item. */\n children?: JSX.Element | ((renderProps: BreadcrumbItemRenderProps) => JSX.Element);\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Ref for the breadcrumb item element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport type BreadcrumbItemProps = BreadcrumbProps;\n\ntype CollapsedBreadcrumbEntry<T> =\n | {\n kind: \"item\";\n item: T;\n index: number;\n }\n | {\n kind: \"menu\";\n };\n\ntype InternalBreadcrumbsContextValue = {\n size: Accessor<S2BreadcrumbsSize>;\n isDisabled: Accessor<boolean>;\n showSeparator: Accessor<boolean>;\n};\n\nconst defaultInternalBreadcrumbsContext: InternalBreadcrumbsContextValue = {\n size: () => \"M\",\n isDisabled: () => false,\n showSeparator: () => true,\n};\n\nexport const BreadcrumbsContext = createContext<SpectrumContextValue<BreadcrumbsProps<any>>>(null);\nconst InternalBreadcrumbsContext = createContext<InternalBreadcrumbsContextValue>(\n defaultInternalBreadcrumbsContext,\n);\n\nfunction normalizeSize(size?: BreadcrumbsSize): S2BreadcrumbsSize {\n switch (size) {\n case \"lg\":\n case \"L\":\n return \"L\";\n case \"sm\":\n case \"md\":\n case \"M\":\n default:\n return \"M\";\n }\n}\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\nfunction itemLabel(item: unknown): string {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return String(item);\n }\n\n const maybeItem = item as {\n label?: string;\n name?: string;\n title?: string;\n textValue?: string;\n key?: string | number;\n id?: string | number;\n };\n return (\n maybeItem.textValue ??\n maybeItem.label ??\n maybeItem.name ??\n maybeItem.title ??\n String(maybeItem.key ?? maybeItem.id ?? \"\")\n );\n}\n\nfunction canMeasureOverflow(): boolean {\n if (typeof window === \"undefined\") {\n return false;\n }\n\n const userAgent = window.navigator?.userAgent?.toLowerCase() ?? \"\";\n return !userAgent.includes(\"jsdom\") && !userAgent.includes(\"happy-dom\");\n}\n\nfunction fallbackVisibleTailCount(itemCount: number): number {\n return itemCount > MAX_VISIBLE_ITEMS ? MAX_VISIBLE_ITEMS - 2 : itemCount;\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 if (typeof window === \"undefined\") {\n return renderBreadcrumbs(props, () => {});\n }\n\n return createRoot((disposeRoot) => renderBreadcrumbs(props, disposeRoot));\n}\n\nfunction renderBreadcrumbs<T>(props: BreadcrumbsProps<T>, disposeRoot: () => void): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(BreadcrumbsContext), props.slot);\n const mergedProps = mergeProps(\n { size: \"M\" as const, showSeparator: true },\n providerProps,\n contextProps ?? {},\n props,\n );\n const [local, headlessProps] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"items\",\n \"getKey\",\n \"onAction\",\n \"isDisabled\",\n \"ref\",\n \"variant\",\n \"showSeparator\",\n ]);\n\n const size = () => normalizeSize(local.size);\n const isDisabled = () => local.isDisabled ?? false;\n const showSeparator = () => local.showSeparator !== false;\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRefs = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLElement> } | null)?.ref,\n props.ref,\n );\n let rootElement: HTMLElement | undefined;\n let measurementElement: HTMLElement | undefined;\n let measurementMenuButton: HTMLElement | undefined;\n let resizeObserver: ResizeObserver | undefined;\n let mutationObserver: MutationObserver | undefined;\n let connectionObserver: MutationObserver | undefined;\n const observedResizeTargets = new WeakSet<Element>();\n const observedMutationTargets = new WeakSet<Element>();\n let retryOverflowUpdateTimeout: number | undefined;\n const initialOverflowUpdateTimeouts: number[] = [];\n const measurementId = `rsp-breadcrumbs-${Math.random().toString(36).slice(2)}`;\n const [canMeasure, setCanMeasure] = createSignal(canMeasureOverflow());\n const [visibleTailCount, setVisibleTailCount] = createSignal(MAX_VISIBLE_ITEMS - 2);\n let cleanupOverflowObservers = () => {};\n let hasDisposedRoot = false;\n let hasCleanedOverflowObservers = false;\n\n const getClassName = (renderProps: BreadcrumbsRenderProps): string =>\n [\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n wrapperStyles(\n {\n size: size(),\n isDisabled: renderProps.isDisabled,\n },\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n\n const allItems = createMemo(() => local.items ?? []);\n const scheduleOverflowRetry = () => {\n if (\n hasDisposedRoot ||\n typeof window === \"undefined\" ||\n retryOverflowUpdateTimeout !== undefined\n ) {\n return;\n }\n\n retryOverflowUpdateTimeout = window.setTimeout(() => {\n retryOverflowUpdateTimeout = undefined;\n updateOverflow();\n }, 16);\n };\n const updateOverflow = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n const items = local.items ?? [];\n if (items.length === 0) {\n setVisibleTailCount(0);\n return;\n }\n\n if (!canMeasure()) {\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const measureRoot =\n measurementElement ??\n (typeof document !== \"undefined\"\n ? (document.querySelector(\n `[data-rsp-breadcrumbs-measure-id=\"${measurementId}\"]`,\n ) as HTMLElement | null)\n : undefined);\n const visibleContainer =\n measureRoot?.previousElementSibling instanceof HTMLElement\n ? measureRoot.previousElementSibling\n : undefined;\n const container = visibleContainer ?? rootElement;\n if (measureRoot && measurementElement !== measureRoot) {\n measurementElement = measureRoot;\n }\n if (container && rootElement !== container) {\n rootElement = container;\n assignRefs(container);\n }\n observeOverflowTargets();\n if (!measureRoot || !container || typeof window === \"undefined\") {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const hiddenItems = Array.from(\n measureRoot.querySelectorAll(\"[data-hidden-breadcrumb]\"),\n ).filter((element): element is HTMLElement => element instanceof HTMLElement);\n const folder =\n measurementMenuButton ??\n (measureRoot.querySelector(\"[data-hidden-breadcrumb-menu-button]\") as HTMLElement | null);\n if (hiddenItems.length <= 0 || !folder) {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const containerWidth = container.offsetWidth || container.getBoundingClientRect().width;\n const containerGap = Number.parseFloat(window.getComputedStyle(container).gap || \"0\") || 0;\n const folderGap =\n Number.parseFloat(window.getComputedStyle(folder).marginInlineStart || \"0\") || 0;\n const widths = hiddenItems.map((breadcrumb) => breadcrumb.offsetWidth + 1);\n const totalWidth = widths.reduce((sum, width) => sum + width, 0);\n\n if (\n totalWidth <= containerWidth - items.length * containerGap &&\n items.length <= MAX_VISIBLE_ITEMS\n ) {\n setVisibleTailCount(items.length);\n return;\n }\n\n const firstWidth = widths.shift() ?? 0;\n let availableWidth =\n containerWidth - firstWidth - folderGap - folder.offsetWidth - containerGap;\n let nextVisibleTailCount = 0;\n const maxTailCount = MAX_VISIBLE_ITEMS - 2;\n\n for (const width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n nextVisibleTailCount += 1;\n }\n\n const nextTailCount = Math.max(1, Math.min(maxTailCount, nextVisibleTailCount));\n setVisibleTailCount(nextTailCount);\n };\n const queueOverflowUpdate = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n queueMicrotask(updateOverflow);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(updateOverflow);\n }\n if (typeof window !== \"undefined\") {\n window.setTimeout(updateOverflow, 0);\n }\n };\n const disposeBreadcrumbsRoot = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n hasDisposedRoot = true;\n cleanupOverflowObservers();\n disposeRoot();\n };\n const cleanupIfDisconnected = () => {\n if (rootElement?.isConnected || measurementElement?.isConnected) {\n return;\n }\n\n disposeBreadcrumbsRoot();\n };\n const observeOverflowTargets = () => {\n if (hasDisposedRoot || !rootElement || (!resizeObserver && !mutationObserver)) {\n return;\n }\n\n const observeElement = (element: HTMLElement, options: { mutations?: boolean } = {}) => {\n if (resizeObserver && !observedResizeTargets.has(element)) {\n resizeObserver.observe(element);\n observedResizeTargets.add(element);\n }\n\n if (\n options.mutations !== false &&\n mutationObserver &&\n !observedMutationTargets.has(element)\n ) {\n mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n observedMutationTargets.add(element);\n }\n };\n\n let element: HTMLElement | null = rootElement;\n while (element && element !== document.body) {\n observeElement(element);\n element = element.parentElement;\n }\n\n if (measurementElement) {\n observeElement(measurementElement, { mutations: false });\n if (measurementElement.parentElement) {\n observeElement(measurementElement.parentElement);\n }\n }\n };\n const setRootElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n rootElement = element;\n assignRefs(element);\n observeOverflowTargets();\n queueOverflowUpdate();\n };\n const setMeasurementElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementElement = element;\n const previousElement = element.previousElementSibling;\n if (previousElement instanceof HTMLElement) {\n rootElement = previousElement;\n assignRefs(previousElement);\n observeOverflowTargets();\n }\n queueOverflowUpdate();\n };\n const setMeasurementMenuButton = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementMenuButton = element;\n queueOverflowUpdate();\n };\n\n createEffect(() => {\n allItems().length;\n canMeasure();\n size();\n isDisabled();\n queueOverflowUpdate();\n });\n\n onMount(() => {\n const nextCanMeasure = canMeasureOverflow();\n setCanMeasure(nextCanMeasure);\n\n const safeUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n updateOverflow();\n };\n const safeQueueUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n queueOverflowUpdate();\n };\n resizeObserver =\n nextCanMeasure && typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(safeQueueUpdate)\n : undefined;\n mutationObserver =\n nextCanMeasure && typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(safeQueueUpdate)\n : undefined;\n\n observeOverflowTargets();\n safeUpdate();\n window.addEventListener(\"resize\", safeUpdate);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(() => {\n safeUpdate();\n requestAnimationFrame(safeUpdate);\n });\n }\n for (const delay of [16, 50, 100, 250]) {\n initialOverflowUpdateTimeouts.push(window.setTimeout(safeUpdate, delay));\n }\n document.fonts?.ready.then(() => {\n if (!hasDisposedRoot) {\n safeUpdate();\n }\n });\n connectionObserver =\n typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(cleanupIfDisconnected)\n : undefined;\n connectionObserver?.observe(document.body, { childList: true, subtree: true });\n cleanupOverflowObservers = () => {\n if (hasCleanedOverflowObservers) {\n return;\n }\n\n hasCleanedOverflowObservers = true;\n window.removeEventListener(\"resize\", safeUpdate);\n resizeObserver?.disconnect();\n mutationObserver?.disconnect();\n connectionObserver?.disconnect();\n for (const timeout of initialOverflowUpdateTimeouts) {\n window.clearTimeout(timeout);\n }\n if (retryOverflowUpdateTimeout !== undefined) {\n window.clearTimeout(retryOverflowUpdateTimeout);\n }\n };\n });\n onCleanup(() => cleanupOverflowObservers());\n\n const shouldCollapse = createMemo(() => {\n const items = allItems();\n if (items.length <= 2) {\n return false;\n }\n const wantsCollapse =\n items.length > MAX_VISIBLE_ITEMS || (canMeasure() && visibleTailCount() < items.length);\n if (!wantsCollapse) {\n return false;\n }\n // Only collapse when the overflow menu would actually hold an item. When the\n // path shrinks (e.g. an overflow menu entry is chosen), `visibleTailCount` can\n // trail the new, smaller collection for a frame — `sliceIndex` then lands at 1\n // and the menu slice `[1, sliceIndex)` is empty. Upstream S2 renders that empty\n // menu for a single frame and re-measures (React batches the state settle); our\n // fine-grained overflow observers instead turn the transient into a\n // collapse⇄expand feedback loop that pins the renderer thread. Gating on a\n // non-empty menu yields the identical settled layout without the transient.\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return sliceIndex > 1;\n });\n createEffect(() => {\n shouldCollapse();\n queueOverflowUpdate();\n });\n const collapsedCollection = createMemo<CollapsedBreadcrumbEntry<T>[]>(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n\n return [\n { kind: \"item\", item: items[0] as T, index: 0 },\n { kind: \"menu\" },\n ...items.slice(sliceIndex).map((item, index) => ({\n kind: \"item\" as const,\n item,\n index: sliceIndex + index,\n })),\n ];\n });\n const collapsedItems = createMemo(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return items.slice(1, sliceIndex);\n });\n\n const renderDynamicItem = (item: T | undefined) => {\n if (item === undefined) {\n return null;\n }\n\n const renderItem = local.children as ((item: T) => JSX.Element) | undefined;\n return renderItem?.(item);\n };\n\n return (\n <InternalBreadcrumbsContext.Provider value={{ size, isDisabled, showSeparator }}>\n <Show\n when={shouldCollapse()}\n fallback={\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={local.items}\n getKey={local.getKey}\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={local.children as any}\n />\n }\n >\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={collapsedCollection()}\n getKey={(entry) =>\n entry.kind === \"menu\"\n ? \"__breadcrumb-menu\"\n : (local.getKey?.(entry.item) ?? defaultItemKey(entry.item, entry.index))\n }\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={(entry) =>\n entry.kind === \"menu\" ? (\n <BreadcrumbMenu\n items={collapsedItems()}\n getKey={(item, index) =>\n local.getKey?.(item as T) ?? defaultItemKey(item, index + 1)\n }\n getLabel={itemLabel}\n onAction={local.onAction}\n />\n ) : (\n renderDynamicItem(entry.item)\n )\n }\n />\n </Show>\n <Show when={allItems().length > 0 && canMeasure()}>\n {/*\n Hidden measurement copy. Faithful to upstream S2 `HiddenBreadcrumbs`\n (react-spectrum/packages/@react-spectrum/s2/src/Breadcrumbs.tsx): a FLAT\n projection of the items — plain `[data-hidden-breadcrumb]` divs — NOT a\n second live Breadcrumbs collection. Rendering a second `<HeadlessBreadcrumbs>`\n here span a synchronous reactive cycle between the two collections that pinned\n the renderer thread. Each item still gets a BreadcrumbItemContext so the styled\n Breadcrumb resolves isCurrent/isLast exactly as in the visible list.\n */}\n <div\n ref={setMeasurementElement}\n aria-hidden=\"true\"\n data-rsp-breadcrumbs-measure=\"\"\n data-rsp-breadcrumbs-measure-id={measurementId}\n style={{\n position: \"absolute\",\n inset: \"0\",\n display: \"flex\",\n \"align-items\": \"center\",\n visibility: \"hidden\",\n overflow: \"hidden\",\n opacity: 0,\n \"pointer-events\": \"none\",\n }}\n >\n <For each={allItems()}>\n {(item, index) => {\n const isLast = () => index() === allItems().length - 1;\n const itemKey = () =>\n local.getKey?.(item) ?? defaultItemKey(item, index());\n return (\n <div data-hidden-breadcrumb style={{ display: \"inline-flex\", \"align-items\": \"center\" }}>\n <HeadlessBreadcrumbItemContext.Provider\n value={{ get itemKey() { return itemKey(); }, isLast }}\n >\n {renderDynamicItem(item)}\n </HeadlessBreadcrumbItemContext.Provider>\n </div>\n );\n }}\n </For>\n <ActionButton\n ref={setMeasurementMenuButton}\n data-hidden-breadcrumb-menu-button=\"\"\n isQuiet\n aria-label=\"More items\"\n >\n <FolderBreadcrumbIcon />\n </ActionButton>\n </div>\n </Show>\n </InternalBreadcrumbsContext.Provider>\n );\n}\n\nfunction BreadcrumbMenu<T>(props: {\n items: T[];\n getKey: (item: T, index: number) => string | number;\n getLabel: (item: T) => string;\n onAction?: (key: string | number) => void;\n}): JSX.Element {\n const locale = useLocale();\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const formatter = createStringFormatter(s2IntlStrings, \"@react-spectrum/s2\");\n const label = () => formatter().format(\"breadcrumbs.more\");\n\n return (\n <span\n class={breadcrumbStyles({\n size: context.size(),\n isDisabled: context.isDisabled(),\n isMenu: true,\n })}\n data-rsp-breadcrumb-menu=\"\"\n >\n <MenuTrigger>\n <ActionButton isDisabled={context.isDisabled()} isQuiet aria-label={label()}>\n <FolderBreadcrumbIcon />\n </ActionButton>\n <Menu\n items={props.items}\n // Menu invokes onAction(key, value); Breadcrumbs' contract is key-only\n // (matching upstream), so drop the leaked item value.\n onAction={(key) => props.onAction?.(key)}\n size={context.size()}\n aria-label={label()}\n >\n {(item) => (\n <MenuItem id={props.getKey(item, props.items.indexOf(item))}>\n <Text slot=\"label\">{props.getLabel(item)}</Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={context.size()}\n class={chevronStyles({ direction: locale().direction, isMenu: true })}\n />\n </span>\n );\n}\n\n/**\n * An individual Breadcrumb for Breadcrumbs.\n */\nexport function Breadcrumb(props: BreadcrumbProps): JSX.Element {\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const locale = useLocale();\n const providerProps = useProviderProps(props);\n const mergedProps = mergeProps(providerProps, props);\n const [local, headlessProps] = splitProps(mergedProps, [\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"ref\",\n ]);\n\n const assignRefs = mergeContextRefs(props.ref);\n const mergedStyles = () => mergeContextStyles(undefined, local.styles);\n const size = () => context.size();\n const [isCurrent, setIsCurrent] = createSignal(false);\n\n const syncRenderProps = (renderProps: BreadcrumbItemRenderProps) => {\n untrack(() => {\n if (isCurrent() !== renderProps.isCurrent) {\n setIsCurrent(renderProps.isCurrent);\n }\n });\n };\n\n const getClassName = (renderProps: BreadcrumbItemRenderProps): string => {\n syncRenderProps(renderProps);\n\n return [\n local.UNSAFE_className,\n local.class,\n mergeStyles(\n breadcrumbStyles({\n size: size(),\n isDisabled: renderProps.isDisabled || context.isDisabled(),\n isCurrent: renderProps.isCurrent,\n isHovered: renderProps.isHovered,\n isFocusVisible: renderProps.isFocusVisible,\n isFocused: renderProps.isFocused,\n isPressed: renderProps.isPressed,\n }),\n renderProps.isCurrent ? currentStyles({ size: size() }) : undefined,\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n const getStyle = (renderProps: BreadcrumbItemRenderProps): JSX.CSSProperties => ({\n ...(local.UNSAFE_style ?? {}),\n display: \"block\",\n \"clip-path\": renderProps.isFocusVisible ? \"none\" : \"margin-box\",\n });\n\n const renderChildren = (renderProps: BreadcrumbItemRenderProps): JSX.Element => {\n syncRenderProps(renderProps);\n\n const content =\n typeof local.children === \"function\" ? local.children(renderProps) : local.children;\n\n return content;\n };\n\n return (\n <span style={{ display: \"contents\" }}>\n <HeadlessBreadcrumbItem\n {...headlessProps}\n elementType={isCurrent() ? \"div\" : headlessProps.elementType}\n ref={(node: HTMLElement) => assignRefs(node)}\n isDisabled={headlessProps.isDisabled || context.isDisabled()}\n class={getClassName}\n style={getStyle}\n children={renderChildren}\n />\n <Show when={context.showSeparator() && !isCurrent()}>\n <ChevronIcon size=\"M\" class={chevronStyles({ direction: locale().direction })} />\n </Show>\n </span>\n );\n}\n\nexport const BreadcrumbItem = Breadcrumb;\nexport const Item = Breadcrumb;\n\nBreadcrumbs.Item = Breadcrumb;\n"],"mappings":";;;;;;;;;;;;;AAQA,SAAS,wBAAwB,OAAyD;CACxF,MAAM,EAAE,OAAO,WAAW,GAAG,SAAS;CACtC,OACE,CAAC,IACC,mCACA,WACA,YACA,wBACI,MACJ,OAAO,WACR;MACC,CAAC,KACC,4eACA,kCACA;MACF,CAAC,KACC,qQACA,kCACA;IACJ,EAAE;AAEN;AAGA,MAAa,uBAAuB,WAAW,uBAAuB;;;AC/BtE,MAAO,gBAAA,SAAA,UAAA,OAAA,WAAA;CACL,IAAA,QAAW;CACX,IAAA,WAAW;CACX,IAAA,WAAA;CACA,IAAM,aAAM;;CAEd,IAAO,YAAK;;CAEZ,IAAO,oBAAqB;CAC1B,IAAA,UAAA,OAAA,aAAA,EAAA,EAAA,SAAA,+EAAA;CACE,KAAA,IAAS,KAAE,SAAS;EACpB,IAAQ,EAAE,OAAK,MAAA,WAAA;EACf,IAAA,EAAA,OAAiB,MAAM,WAAA;EACvB,IAAA,EAAA,OAAgB,MAAK,aAAA;EACrB,IAAQ,EAAE,OAAO,MAAC,YAAA;EAClB,IAAQ,EAAE,OAAC,KAAA,YAAA;EACX,IAAA,EAAU,OAAG,KAAA,eAAA;EACb,IAAA,EAAU,OAAE,KAAA,oBAAA;EACZ,SAAQ,EAAA;CACR;CACA,IAAE,CAAA,UAAM,SAAA;CACR,SAAO;CACP,SAAO;CACP,SAAG;CACH,SAAC;CACD,IAAA,CAAA,UAAU,SAAA;CACV,IAAA,CAAA,YAAa,SAAQ;CACrB,IAAA,CAAA,WAAY,SAAA;CACZ,IAAA,MAAA,SAAe,MACf,SAAa;MACN,IAAC,MAAA,SAAA,KACJ,SAAS;MACN,IAAA,MAAS,SAAA,KACb,SAAA;MACF,IAAA,MAAA,SAAA,MACF,SAAA;MAEF,SAAA;CAED,IAAO,MAAM,SAAA,KACL,SAAC;MACP,IAAa,MAAA,SAAO,KACpB,SAAY;CAEZ,IAAA,MAAY,SAAO,KACnB,SAAe;MACN,IAAG,MAAO,SAAA,KACnB,SAAY;CAEV,SAAC;CACH,SAAS;CACP,SAAS;CACT,SAAS;CACV,SAAA;CACD,SAAW;CACT,SAAS;CACV,IAAA,CAAA,WAAA,SAAA;CACD,IAAA,CAAA,cAAgB,SAAA;CACd,IAAA,MAAS,SAAM;MAChB,CAAA,mBAAA,SAAA;CAAA,OACO,IAAA,MAAA,SAAA;MACE,CAAA,mBAAa,SAAA;CAAA;CAEvB,OAAA;AACF;AACA,MAAa,mBAAE,SAAA,UAAA,OAAA;CACb,IAAA,QAAc;CACZ,IAAG,MAAA,gBACC,SAAQ;MAEX,SAAY;CAEf,SAAA;CACA,SAAM;CACN,SAAO;CACL,SAAS;CACT,IAAA,MAAU,QACV,SAAW;MAET,SAAU;CAEZ,IAAE,MAAA,QACD,SAAA;CAEH,IAAA,MAAY,QACV,SAAQ;CAEV,IAAA,MAAA,QACE,IAAQ,MAAM,SAAC,MACf,SAAY;MACZ,IAAe,MAAE,SAAU,KAC3B,SAAiB;MAClB,IAAA,MAAA,SAAA,KACO,SAAA;MACI,IAAA,MAAQ,SAAA,MAClB,SAAa;MAEd,SAAA;CAGC,SAAA;CACD,SAAA;CACD,SAAA;CACA,SAAA;;CAEF,SAAa;CACX,SAAM;CACN,SAAW;CACX,SAAO;CACL,SAAS;CACT,IAAA,MAAA,SAAe,MAChB,SAAA;MACD,IAAA,MAAA,SAAA,KAAA,SAAA;MAEK,IAAM,MAAA,SAAgB,KACrB,SAAC;MACL,IAAW,MAAA,SAAA,MACT,SAAO;MAEV,SAAA;CAEC,IAAA,MAAU,SAAQ,MAAO;EACzB,SAAS;EACV,SAAA;CACD,OAAO,IAAA,MAAA,SAAA,KAAA;EACL,SAAU;EACV,SAAa;CACb,OAAE,IAAS,MAAC,SAAS,KAAA;EACpB,SAAA;EACF,SAAA;CACC,OAAC,IAAA,MAAc,SAAA,MAAA;EACX,SAAQ;EACZ,SAAQ;CACT,OAAA;EACD,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFF,MAAM,oBAAoB;AAkE1B,MAAM,oCAAqE;CACzE,YAAY;CACZ,kBAAkB;CAClB,qBAAqB;AACvB;AAEA,MAAa,qBAAqB,cAA2D,IAAI;AACjG,MAAM,6BAA6B,cACjC,iCACF;AAEA,SAAS,cAAc,MAA2C;CAChE,QAAQ,MAAR;EACE,KAAK;EACL,KAAK,KACH,OAAO;EAIT,SACE,OAAO;CACX;AACF;AAEA,SAAS,eAAe,MAAe,OAAgC;CACrE,MAAM,YAAY;CAClB,OAAO,UAAU,OAAO,UAAU,MAAM;AAC1C;AAEA,SAAS,UAAU,MAAuB;CACxC,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAC9C,OAAO,OAAO,IAAI;CAGpB,MAAM,YAAY;CAQlB,OACE,UAAU,aACV,UAAU,SACV,UAAU,QACV,UAAU,SACV,OAAO,UAAU,OAAO,UAAU,MAAM,EAAE;AAE9C;AAEA,SAAS,qBAA8B;CACrC,IAAI,OAAO,WAAW,aACpB,OAAO;CAGT,MAAM,YAAY,OAAO,WAAW,WAAW,YAAY,KAAK;CAChE,OAAO,CAAC,UAAU,SAAS,OAAO,KAAK,CAAC,UAAU,SAAS,WAAW;AACxE;AAEA,SAAS,yBAAyB,WAA2B;CAC3D,OAAO,YAAY,oBAAoB,oBAAoB,IAAI;AACjE;;;;AAKA,SAAgBA,cAAe,OAAyC;CACtE,IAAI,OAAO,WAAW,aACpB,OAAO,kBAAkB,aAAa,CAAC,CAAC;CAG1C,OAAO,YAAY,gBAAgB,kBAAkB,OAAO,WAAW,CAAC;AAC1E;AAEA,SAAS,kBAAqB,OAA4B,aAAsC;CAC9F,MAAM,gBAAgB,iBAAiB,KAAK;CAC5C,MAAM,eAAe,uBAAuB,WAAW,kBAAkB,GAAG,MAAM,IAAI;CAOtF,MAAM,CAAC,OAAO,iBAAiB,WANX,WAClB;EAAE,MAAM;EAAc,eAAe;CAAK,GAC1C,eACA,gBAAgB,CAAC,GACjB,KAEkD,GAAG;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,aAAa,cAAc,MAAM,IAAI;CAC3C,MAAM,mBAAmB,MAAM,cAAc;CAC7C,MAAM,sBAAsB,MAAM,kBAAkB;CACpD,MAAM,qBAAqB,mBAAmB,cAAc,QAAQ,MAAM,MAAM;CAChF,MAAM,0BACJ,wBAAwB,cAAc,cAAc,MAAM,YAAY;CACxE,MAAM,aAAa,iBAChB,cAAwD,KACzD,MAAM,GACR;CACA,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM,wCAAwB,IAAI,QAAiB;CACnD,MAAM,0CAA0B,IAAI,QAAiB;CACrD,IAAI;CACJ,MAAM,gCAA0C,CAAC;CACjD,MAAM,gBAAgB,mBAAmB,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;CAC3E,MAAM,CAAC,YAAY,iBAAiB,aAAa,mBAAmB,CAAC;CACrE,MAAM,CAAC,kBAAkB,uBAAuB,aAAa,oBAAoB,CAAC;CAClF,IAAI,iCAAiC,CAAC;CACtC,IAAI,kBAAkB;CACtB,IAAI,8BAA8B;CAElC,MAAM,gBAAgB,gBACpB;EACE,cAAc;EACd,MAAM;EACN,MAAM;EACN,cACE;GACE,MAAM,KAAK;GACX,YAAY,YAAY;EAC1B,GACA,aAAa,CACf;CACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;CAEb,MAAM,WAAW,iBAAiB,MAAM,SAAS,CAAC,CAAC;CACnD,MAAM,8BAA8B;EAClC,IACE,mBACA,OAAO,WAAW,eAClB,+BAA+B,KAAA,GAE/B;EAGF,6BAA6B,OAAO,iBAAiB;GACnD,6BAA6B,KAAA;GAC7B,eAAe;EACjB,GAAG,EAAE;CACP;CACA,MAAM,uBAAuB;EAC3B,IAAI,iBACF;EAGF,MAAM,QAAQ,MAAM,SAAS,CAAC;EAC9B,IAAI,MAAM,WAAW,GAAG;GACtB,oBAAoB,CAAC;GACrB;EACF;EAEA,IAAI,CAAC,WAAW,GAAG;GACjB,oBAAoB,yBAAyB,MAAM,MAAM,CAAC;GAC1D;EACF;EAEA,MAAM,cACJ,uBACC,OAAO,aAAa,cAChB,SAAS,cACR,qCAAqC,cAAc,GACrD,IACA,KAAA;EAKN,MAAM,aAHJ,aAAa,kCAAkC,cAC3C,YAAY,yBACZ,KAAA,MACgC;EACtC,IAAI,eAAe,uBAAuB,aACxC,qBAAqB;EAEvB,IAAI,aAAa,gBAAgB,WAAW;GAC1C,cAAc;GACd,WAAW,SAAS;EACtB;EACA,uBAAuB;EACvB,IAAI,CAAC,eAAe,CAAC,aAAa,OAAO,WAAW,aAAa;GAC/D,sBAAsB;GACtB,oBAAoB,yBAAyB,MAAM,MAAM,CAAC;GAC1D;EACF;EAEA,MAAM,cAAc,MAAM,KACxB,YAAY,iBAAiB,0BAA0B,CACzD,EAAE,QAAQ,YAAoC,mBAAmB,WAAW;EAC5E,MAAM,SACJ,yBACC,YAAY,cAAc,sCAAsC;EACnE,IAAI,YAAY,UAAU,KAAK,CAAC,QAAQ;GACtC,sBAAsB;GACtB,oBAAoB,yBAAyB,MAAM,MAAM,CAAC;GAC1D;EACF;EAEA,MAAM,iBAAiB,UAAU,eAAe,UAAU,sBAAsB,EAAE;EAClF,MAAM,eAAe,OAAO,WAAW,OAAO,iBAAiB,SAAS,EAAE,OAAO,GAAG,KAAK;EACzF,MAAM,YACJ,OAAO,WAAW,OAAO,iBAAiB,MAAM,EAAE,qBAAqB,GAAG,KAAK;EACjF,MAAM,SAAS,YAAY,KAAK,eAAe,WAAW,cAAc,CAAC;EAGzE,IAFmB,OAAO,QAAQ,KAAK,UAAU,MAAM,OAAO,CAGnD,KAAK,iBAAiB,MAAM,SAAS,gBAC9C,MAAM,UAAU,mBAChB;GACA,oBAAoB,MAAM,MAAM;GAChC;EACF;EAGA,IAAI,iBACF,kBAFiB,OAAO,MAAM,KAAK,KAEL,YAAY,OAAO,cAAc;EACjE,IAAI,uBAAuB;EAC3B,MAAM,eAAe,oBAAoB;EAEzC,KAAK,MAAM,SAAS,OAAO,QAAQ,GAAG;GACpC,kBAAkB;GAClB,IAAI,kBAAkB,GACpB;GAEF,kBAAkB;GAClB,wBAAwB;EAC1B;EAGA,oBADsB,KAAK,IAAI,GAAG,KAAK,IAAI,cAAc,oBAAoB,CAC7C,CAAC;CACnC;CACA,MAAM,4BAA4B;EAChC,IAAI,iBACF;EAGF,eAAe,cAAc;EAC7B,IAAI,OAAO,0BAA0B,aACnC,sBAAsB,cAAc;EAEtC,IAAI,OAAO,WAAW,aACpB,OAAO,WAAW,gBAAgB,CAAC;CAEvC;CACA,MAAM,+BAA+B;EACnC,IAAI,iBACF;EAGF,kBAAkB;EAClB,yBAAyB;EACzB,YAAY;CACd;CACA,MAAM,8BAA8B;EAClC,IAAI,aAAa,eAAe,oBAAoB,aAClD;EAGF,uBAAuB;CACzB;CACA,MAAM,+BAA+B;EACnC,IAAI,mBAAmB,CAAC,eAAgB,CAAC,kBAAkB,CAAC,kBAC1D;EAGF,MAAM,kBAAkB,SAAsB,UAAmC,CAAC,MAAM;GACtF,IAAI,kBAAkB,CAAC,sBAAsB,IAAI,OAAO,GAAG;IACzD,eAAe,QAAQ,OAAO;IAC9B,sBAAsB,IAAI,OAAO;GACnC;GAEA,IACE,QAAQ,cAAc,SACtB,oBACA,CAAC,wBAAwB,IAAI,OAAO,GACpC;IACA,iBAAiB,QAAQ,SAAS;KAChC,YAAY;KACZ,iBAAiB,CAAC,SAAS,OAAO;IACpC,CAAC;IACD,wBAAwB,IAAI,OAAO;GACrC;EACF;EAEA,IAAI,UAA8B;EAClC,OAAO,WAAW,YAAY,SAAS,MAAM;GAC3C,eAAe,OAAO;GACtB,UAAU,QAAQ;EACpB;EAEA,IAAI,oBAAoB;GACtB,eAAe,oBAAoB,EAAE,WAAW,MAAM,CAAC;GACvD,IAAI,mBAAmB,eACrB,eAAe,mBAAmB,aAAa;EAEnD;CACF;CACA,MAAM,kBAAkB,YAAyB;EAC/C,IAAI,iBACF;EAGF,cAAc;EACd,WAAW,OAAO;EAClB,uBAAuB;EACvB,oBAAoB;CACtB;CACA,MAAM,yBAAyB,YAAyB;EACtD,IAAI,iBACF;EAGF,qBAAqB;EACrB,MAAM,kBAAkB,QAAQ;EAChC,IAAI,2BAA2B,aAAa;GAC1C,cAAc;GACd,WAAW,eAAe;GAC1B,uBAAuB;EACzB;EACA,oBAAoB;CACtB;CACA,MAAM,4BAA4B,YAAyB;EACzD,IAAI,iBACF;EAGF,wBAAwB;EACxB,oBAAoB;CACtB;CAEA,mBAAmB;EACjB,SAAS,EAAE;EACX,WAAW;EACX,KAAK;EACL,WAAW;EACX,oBAAoB;CACtB,CAAC;CAED,cAAc;EACZ,MAAM,iBAAiB,mBAAmB;EAC1C,cAAc,cAAc;EAE5B,MAAM,mBAAmB;GACvB,IAAI,eAAe,CAAC,YAAY,aAAa;IAC3C,sBAAsB;IACtB;GACF;GAEA,eAAe;EACjB;EACA,MAAM,wBAAwB;GAC5B,IAAI,eAAe,CAAC,YAAY,aAAa;IAC3C,sBAAsB;IACtB;GACF;GAEA,oBAAoB;EACtB;EACA,iBACE,kBAAkB,OAAO,mBAAmB,cACxC,IAAI,eAAe,eAAe,IAClC,KAAA;EACN,mBACE,kBAAkB,OAAO,qBAAqB,cAC1C,IAAI,iBAAiB,eAAe,IACpC,KAAA;EAEN,uBAAuB;EACvB,WAAW;EACX,OAAO,iBAAiB,UAAU,UAAU;EAC5C,IAAI,OAAO,0BAA0B,aACnC,4BAA4B;GAC1B,WAAW;GACX,sBAAsB,UAAU;EAClC,CAAC;EAEH,KAAK,MAAM,SAAS;GAAC;GAAI;GAAI;GAAK;EAAG,GACnC,8BAA8B,KAAK,OAAO,WAAW,YAAY,KAAK,CAAC;EAEzE,SAAS,OAAO,MAAM,WAAW;GAC/B,IAAI,CAAC,iBACH,WAAW;EAEf,CAAC;EACD,qBACE,OAAO,qBAAqB,cACxB,IAAI,iBAAiB,qBAAqB,IAC1C,KAAA;EACN,oBAAoB,QAAQ,SAAS,MAAM;GAAE,WAAW;GAAM,SAAS;EAAK,CAAC;EAC7E,iCAAiC;GAC/B,IAAI,6BACF;GAGF,8BAA8B;GAC9B,OAAO,oBAAoB,UAAU,UAAU;GAC/C,gBAAgB,WAAW;GAC3B,kBAAkB,WAAW;GAC7B,oBAAoB,WAAW;GAC/B,KAAK,MAAM,WAAW,+BACpB,OAAO,aAAa,OAAO;GAE7B,IAAI,+BAA+B,KAAA,GACjC,OAAO,aAAa,0BAA0B;EAElD;CACF,CAAC;CACD,gBAAgB,yBAAyB,CAAC;CAE1C,MAAM,iBAAiB,iBAAiB;EACtC,MAAM,QAAQ,SAAS;EACvB,IAAI,MAAM,UAAU,GAClB,OAAO;EAIT,IAAI,EADF,MAAM,SAAS,qBAAsB,WAAW,KAAK,iBAAiB,IAAI,MAAM,SAEhF,OAAO;EAUT,MAAM,YAAY,KAAK,IAAI,iBAAiB,GAAG,MAAM,MAAM;EAE3D,OADmB,KAAK,IAAI,GAAG,MAAM,SAAS,SAC9B,IAAI;CACtB,CAAC;CACD,mBAAmB;EACjB,eAAe;EACf,oBAAoB;CACtB,CAAC;CACD,MAAM,sBAAsB,iBAAgD;EAC1E,MAAM,QAAQ,SAAS;EACvB,IAAI,CAAC,eAAe,GAClB,OAAO,CAAC;EAGV,MAAM,YAAY,KAAK,IAAI,iBAAiB,GAAG,MAAM,MAAM;EAC3D,MAAM,aAAa,KAAK,IAAI,GAAG,MAAM,SAAS,SAAS;EAEvD,OAAO;GACL;IAAE,MAAM;IAAQ,MAAM,MAAM;IAAS,OAAO;GAAE;GAC9C,EAAE,MAAM,OAAO;GACf,GAAG,MAAM,MAAM,UAAU,EAAE,KAAK,MAAM,WAAW;IAC/C,MAAM;IACN;IACA,OAAO,aAAa;GACtB,EAAE;EACJ;CACF,CAAC;CACD,MAAM,iBAAiB,iBAAiB;EACtC,MAAM,QAAQ,SAAS;EACvB,IAAI,CAAC,eAAe,GAClB,OAAO,CAAC;EAGV,MAAM,YAAY,KAAK,IAAI,iBAAiB,GAAG,MAAM,MAAM;EAC3D,MAAM,aAAa,KAAK,IAAI,GAAG,MAAM,SAAS,SAAS;EACvD,OAAO,MAAM,MAAM,GAAG,UAAU;CAClC,CAAC;CAED,MAAM,qBAAqB,SAAwB;EACjD,IAAI,SAAS,KAAA,GACX,OAAO;EAGT,MAAM,aAAa,MAAM;EACzB,OAAO,aAAa,IAAI;CAC1B;CAEA,OACE,CAAC,2BAA2B,SAAS,OAAO;EAAE;EAAM;EAAY;CAAc,GAAG;MAC/E,CAAC,KACC,MAAM,eAAe,GACrB,UACE,CAACC,gBACK,eACJ,OAAO,MAAM,OACb,QAAQ,MAAM,QACd,UAAU,MAAM,UAChB,YAAY,MAAM,YAClB,KAAK,gBACL,OAAO,cACP,aAAa,kBAAkB,KAAK,CAAC,GACrC,UAAU,MAAM,cAGrB;QACC,CAACA,gBACK,eACJ,OAAO,oBAAoB,GAC3B,SAAS,UACP,MAAM,SAAS,SACX,sBACC,MAAM,SAAS,MAAM,IAAI,KAAK,eAAe,MAAM,MAAM,MAAM,KAAK,GAE3E,UAAU,MAAM,UAChB,YAAY,MAAM,YAClB,KAAK,gBACL,OAAO,cACP,aAAa,kBAAkB,KAAK,CAAC,GACrC,WAAW,UACT,MAAM,SAAS,SACb,CAAC,eACC,OAAO,eAAe,GACtB,SAAS,MAAM,UACb,MAAM,SAAS,IAAS,KAAK,eAAe,MAAM,QAAQ,CAAC,GAE7D,UAAU,WACV,UAAU,MAAM,eAGlB,kBAAkB,MAAM,IAAI,KAGhC;MACJ,EAAE,KAAK;MACP,CAAC,KAAK,MAAM,SAAS,EAAE,SAAS,KAAK,WAAW,GAAG;UAS9C;QACH,CAAC,IACC,KAAK,uBACL,mBACA,gCACA,iCAAiC,eACjC,OAAO;EACL,UAAU;EACV,OAAO;EACP,SAAS;EACT,eAAe;EACf,YAAY;EACZ,UAAU;EACV,SAAS;EACT,kBAAkB;CACpB,GACD;UACC,CAAC,IAAI,MAAM,SAAS,GAAG;cACnB,MAAM,UAAU;EAChB,MAAM,eAAe,MAAM,MAAM,SAAS,EAAE,SAAS;EACrD,MAAM,gBACJ,MAAM,SAAS,IAAI,KAAK,eAAe,MAAM,MAAM,CAAC;EACtD,OACE,CAAC,IAAI,uBAAuB,OAAO;GAAE,SAAS;GAAe,eAAe;EAAS,GAAG;kBACtF,CAACC,sBAA8B,SAC7B,OAAO;GAAE,IAAI,UAAU;IAAE,OAAO,QAAQ;GAAG;GAAG;EAAO,GACtD;qBACE,kBAAkB,IAAI,EAAE;kBAC3B,EAAEA,sBAA8B,SAAS;gBAC3C,EAAE;CAEN,EAAE;UACJ,EAAE,IAAI;UACN,CAAC,aACC,KAAK,0BACL,sCACA,QACA,wBACD;YACC,CAAC,uBAAuB;UAC1B,EAAE,aAAa;QACjB,EAAE,IAAI;MACR,EAAE,KAAK;IACT,EAAE,2BAA2B;AAEjC;AAEA,SAAS,eAAkB,OAKX;CACd,MAAM,SAAS,UAAU;CACzB,MAAM,UAAU,WAAW,0BAA0B,KAAK;CAC1D,MAAM,YAAY,sBAAsB,eAAe,oBAAoB;CAC3E,MAAM,cAAc,UAAU,EAAE,OAAO,kBAAkB;CAEzD,OACE,CAAC,KACC,OAAO,iBAAiB;EACtB,MAAM,QAAQ,KAAK;EACnB,YAAY,QAAQ,WAAW;EAC/B,QAAQ;CACV,CAAC,GACD,4BACD;MACC,CAACC,cAAY;QACX,CAAC,aAAa,YAAY,QAAQ,WAAW,GAAG,QAAQ,YAAY,MAAM,GAAG;UAC3E,CAAC,uBAAuB;QAC1B,EAAE,aAAa;QACf,CAACC,OACC,OAAO,MAAM,OAGb,WAAW,QAAQ,MAAM,WAAW,GAAG,GACvC,MAAM,QAAQ,KAAK,GACnB,YAAY,MAAM,GACnB;YACG,SACA,CAACC,WAAS,IAAI,MAAM,OAAO,MAAM,MAAM,MAAM,QAAQ,IAAI,CAAC,GAAG;cAC3D,CAAC,KAAK,cAAc,MAAM,SAAS,IAAI,EAAE,EAAE,KAAK;YAClD,EAAEA,YACF;QACJ,EAAED,OAAK;MACT,EAAED,cAAY;MACd,CAACG,QACC,MAAM,QAAQ,KAAK,GACnB,OAAO,cAAc;EAAE,WAAW,OAAO,EAAE;EAAW,QAAQ;CAAK,CAAC,KACpE;IACJ,EAAE;AAEN;;;;AAKA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,UAAU,WAAW,0BAA0B,KAAK;CAC1D,MAAM,SAAS,UAAU;CAGzB,MAAM,CAAC,OAAO,iBAAiB,WADX,WADE,iBAAiB,KACI,GAAG,KACM,GAAG;EACrD;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,aAAa,iBAAiB,MAAM,GAAG;CAC7C,MAAM,qBAAqB,mBAAmB,KAAA,GAAW,MAAM,MAAM;CACrE,MAAM,aAAa,QAAQ,KAAK;CAChC,MAAM,CAAC,WAAW,gBAAgB,aAAa,KAAK;CAEpD,MAAM,mBAAmB,gBAA2C;EAClE,cAAc;GACZ,IAAI,UAAU,MAAM,YAAY,WAC9B,aAAa,YAAY,SAAS;EAEtC,CAAC;CACH;CAEA,MAAM,gBAAgB,gBAAmD;EACvE,gBAAgB,WAAW;EAE3B,OAAO;GACL,MAAM;GACN,MAAM;GACN,YACE,iBAAiB;IACf,MAAM,KAAK;IACX,YAAY,YAAY,cAAc,QAAQ,WAAW;IACzD,WAAW,YAAY;IACvB,WAAW,YAAY;IACvB,gBAAgB,YAAY;IAC5B,WAAW,YAAY;IACvB,WAAW,YAAY;GACzB,CAAC,GACD,YAAY,YAAY,cAAc,EAAE,MAAM,KAAK,EAAE,CAAC,IAAI,KAAA,GAC1D,aAAa,CACf;EACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;CACb;CAEA,MAAM,YAAY,iBAA+D;EAC/E,GAAI,MAAM,gBAAgB,CAAC;EAC3B,SAAS;EACT,aAAa,YAAY,iBAAiB,SAAS;CACrD;CAEA,MAAM,kBAAkB,gBAAwD;EAC9E,gBAAgB,WAAW;EAK3B,OAFE,OAAO,MAAM,aAAa,aAAa,MAAM,SAAS,WAAW,IAAI,MAAM;CAG/E;CAEA,OACE,CAAC,KAAK,OAAO,EAAE,SAAS,WAAW,GAAG;MACpC,CAACC,mBACK,eACJ,aAAa,UAAU,IAAI,QAAQ,cAAc,aACjD,MAAM,SAAsB,WAAW,IAAI,GAC3C,YAAY,cAAc,cAAc,QAAQ,WAAW,GAC3D,OAAO,cACP,OAAO,UACP,UAAU,kBACV;MACF,CAAC,KAAK,MAAM,QAAQ,cAAc,KAAK,CAAC,UAAU,GAAG;QACnD,CAACD,QAAY,SAAS,OAAO,cAAc,EAAE,WAAW,OAAO,EAAE,UAAU,CAAC,KAAK;MACnF,EAAE,KAAK;IACT,EAAE;AAEN;AAEA,MAAaE,mBAAiB;AAC9B,MAAa,OAAO;AAEpB,cAAY,OAAO"}
|
|
1
|
+
{"version":3,"file":"breadcrumbs.jsx","names":["Breadcrumbs","HeadlessBreadcrumbs","HeadlessBreadcrumbItemContext","MenuTrigger","Menu","MenuItem","ChevronIcon","HeadlessBreadcrumbItem","BreadcrumbItem"],"sources":["../../src/icon/s2wf-icons/FolderBreadcrumbIcon.tsx","../../src/breadcrumbs/s2-breadcrumbs-styles.ts","../../src/breadcrumbs/index.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction FolderBreadcrumbIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"m16.75,5h-5.96387c-.21777,0-.42383-.09375-.56641-.25879l-1.7041-1.96387c-.42676-.49414-1.0459-.77734-1.7002-.77734h-3.56543c-1.24023,0-2.25,1.00977-2.25,2.25v10.5c0,1.24023,1.00977,2.25,2.25,2.25h13.5c1.24023,0,2.25-1.00977,2.25-2.25v-7.5c0-1.24023-1.00977-2.25-2.25-2.25ZM3.25,3.5h3.56543c.21777,0,.42383.09375.56641.25879l1.07703,1.24121H2.5v-.75c0-.41309.33691-.75.75-.75Zm14.25,11.25c0,.41309-.33691.75-.75.75H3.25c-.41309,0-.75-.33691-.75-.75V6.5h14.25c.41309,0,.75.33691.75.75v7.5Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n <path\n d=\"m10,13.65039c-.19238,0-.38379-.07324-.53027-.21973l-3-3c-.29297-.29297-.29297-.76758,0-1.06055s.76758-.29297,1.06055,0l2.46973,2.46973,2.46973-2.46973c.29297-.29297.76758-.29297,1.06055,0s.29297.76758,0,1.06055l-3,3c-.14648.14648-.33789.21973-.53027.21973Z\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type FolderBreadcrumbIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const FolderBreadcrumbIcon = createIcon(FolderBreadcrumbIconSvg);\nexport default FolderBreadcrumbIcon;\n","import { baseColor, focusRing, size as s2Size, style } from \"../style\" with { type: \"macro\" };\nimport {\n controlFont,\n controlSize,\n getAllowedOverrides,\n} from \"../s2-internal/style-utils\" with { type: \"macro\" };\n\nexport type S2BreadcrumbsSize = \"M\" | \"L\";\n\nexport const wrapperStyles = style<{ size: S2BreadcrumbsSize; isDisabled?: boolean }>(\n {\n position: \"relative\",\n display: \"flex\",\n justifyContent: \"start\",\n listStyleType: \"none\",\n flexWrap: \"nowrap\",\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n height: controlSize(),\n gap: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n padding: 0,\n transition: \"default\",\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: s2Size(6),\n L: s2Size(9),\n },\n },\n },\n getAllowedOverrides(),\n);\n\nexport const breadcrumbStyles = style<{\n size?: S2BreadcrumbsSize;\n isDisabled?: boolean;\n isCurrent?: boolean;\n isMenu?: boolean;\n isHovered?: boolean;\n isFocusVisible?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}>({\n ...focusRing(),\n display: {\n default: \"block\",\n isMenu: \"flex\",\n },\n alignItems: {\n isMenu: \"center\",\n },\n justifyContent: {\n isMenu: \"start\",\n },\n height: {\n isMenu: controlSize(),\n },\n transition: \"default\",\n position: \"relative\",\n flexShrink: 0,\n borderStyle: \"none\",\n /* A breadcrumb item is a nav row, so it takes the `row` corner (6px) rather than\n * `sm` (4px, spectrum-theme.ts:630) — a value the register's radius ladder does not\n * draw. The row-shaped siblings already spell this: tabs/index.tsx:336,\n * steplist:68, tree:273/370/477, gridlist:642/686, table:1041. Visible chrome, not\n * dead geometry — it shapes the hover fill and the focus-ring corner. */\n borderRadius: \"row\",\n font: controlFont(),\n color: {\n default: baseColor(\"neutral-subdued\"),\n isDisabled: baseColor(\"neutral-subdued\"),\n isCurrent: baseColor(\"neutral\"),\n forcedColors: {\n default: \"LinkText\",\n isDisabled: \"GrayText\",\n isCurrent: \"GrayText\",\n },\n },\n marginStart: {\n isMenu: s2Size(-6),\n },\n textDecoration: {\n default: \"none\",\n isHovered: \"underline\",\n isFocusVisible: \"underline\",\n isDisabled: \"none\",\n },\n cursor: {\n default: \"pointer\",\n isDisabled: \"default\",\n isCurrent: \"default\",\n },\n outlineColor: {\n default: \"focus-ring\",\n forcedColors: \"Highlight\",\n },\n disableTapHighlight: true,\n});\n\nexport const currentStyles = style<{ size: S2BreadcrumbsSize }>({\n font: controlFont(),\n fontWeight: \"bold\",\n color: {\n default: \"neutral\",\n forcedColors: \"ButtonText\",\n },\n});\n\nexport const chevronStyles = style<{ direction?: \"ltr\" | \"rtl\"; isMenu?: boolean }>({\n scale: {\n direction: {\n rtl: -1,\n },\n },\n marginStart: {\n default: \"text-to-visual\",\n isMenu: 0,\n },\n color: {\n default: \"neutral\",\n forcedColors: {\n default: \"LinkText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n});\n","import {\n type Accessor,\n For,\n type JSX,\n Show,\n createContext,\n createEffect,\n createMemo,\n createRoot,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n splitProps,\n untrack,\n useContext,\n} from \"solid-js\";\nimport {\n BreadcrumbItem as HeadlessBreadcrumbItem,\n BreadcrumbItemContext as HeadlessBreadcrumbItemContext,\n Breadcrumbs as HeadlessBreadcrumbs,\n type BreadcrumbItemProps as HeadlessBreadcrumbItemProps,\n type BreadcrumbItemRenderProps,\n type BreadcrumbsProps as HeadlessBreadcrumbsProps,\n type BreadcrumbsRenderProps,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { createStringFormatter, useLocale } from \"@proyecto-viviana/solidaria\";\nimport type { StyleString } from \"../style\";\nimport { mergeStyles } from \"../style/runtime\";\nimport { useProviderProps } from \"../provider\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\nimport { ActionButton } from \"../button/ActionButton\";\nimport { Menu, MenuItem, MenuTrigger, Text } from \"../Menu\";\nimport ChevronIcon from \"../icon/ui-icons/Chevron\";\nimport FolderBreadcrumbIcon from \"../icon/s2wf-icons/FolderBreadcrumbIcon\";\nimport { s2IntlStrings } from \"../intl\";\nimport {\n breadcrumbStyles,\n chevronStyles,\n currentStyles,\n wrapperStyles,\n type S2BreadcrumbsSize,\n} from \"./s2-breadcrumbs-styles\";\n\nconst MAX_VISIBLE_ITEMS = 4;\n\nexport type { S2BreadcrumbsSize };\nexport type BreadcrumbsSize = S2BreadcrumbsSize | \"sm\" | \"md\" | \"lg\";\nexport type BreadcrumbsVariant = \"default\" | \"subtle\";\n\nexport interface BreadcrumbsProps<T> extends Omit<\n HeadlessBreadcrumbsProps<T>,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the Breadcrumbs. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The size of the Breadcrumbs. @default 'M' */\n size?: BreadcrumbsSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Legacy visual variant alias. Kept for source compatibility; S2 Breadcrumbs has no variant. */\n variant?: BreadcrumbsVariant;\n /** Legacy separator toggle. Kept for source compatibility. */\n showSeparator?: boolean;\n /** Ref for the navigation element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport interface BreadcrumbProps extends Omit<\n HeadlessBreadcrumbItemProps,\n \"class\" | \"style\" | \"ref\" | \"children\"\n> {\n /** The children of the breadcrumb item. */\n children?: JSX.Element | ((renderProps: BreadcrumbItemRenderProps) => JSX.Element);\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Backward-compatible class alias. Prefer UNSAFE_className for S2 parity. */\n class?: string;\n /** Ref for the breadcrumb item element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport type BreadcrumbItemProps = BreadcrumbProps;\n\ntype CollapsedBreadcrumbEntry<T> =\n | {\n kind: \"item\";\n item: T;\n index: number;\n }\n | {\n kind: \"menu\";\n };\n\ntype InternalBreadcrumbsContextValue = {\n size: Accessor<S2BreadcrumbsSize>;\n isDisabled: Accessor<boolean>;\n showSeparator: Accessor<boolean>;\n};\n\nconst defaultInternalBreadcrumbsContext: InternalBreadcrumbsContextValue = {\n size: () => \"M\",\n isDisabled: () => false,\n showSeparator: () => true,\n};\n\nexport const BreadcrumbsContext = createContext<SpectrumContextValue<BreadcrumbsProps<any>>>(null);\nconst InternalBreadcrumbsContext = createContext<InternalBreadcrumbsContextValue>(\n defaultInternalBreadcrumbsContext,\n);\n\nfunction normalizeSize(size?: BreadcrumbsSize): S2BreadcrumbsSize {\n switch (size) {\n case \"lg\":\n case \"L\":\n return \"L\";\n case \"sm\":\n case \"md\":\n case \"M\":\n default:\n return \"M\";\n }\n}\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\nfunction itemLabel(item: unknown): string {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return String(item);\n }\n\n const maybeItem = item as {\n label?: string;\n name?: string;\n title?: string;\n textValue?: string;\n key?: string | number;\n id?: string | number;\n };\n return (\n maybeItem.textValue ??\n maybeItem.label ??\n maybeItem.name ??\n maybeItem.title ??\n String(maybeItem.key ?? maybeItem.id ?? \"\")\n );\n}\n\nfunction canMeasureOverflow(): boolean {\n if (typeof window === \"undefined\") {\n return false;\n }\n\n const userAgent = window.navigator?.userAgent?.toLowerCase() ?? \"\";\n return !userAgent.includes(\"jsdom\") && !userAgent.includes(\"happy-dom\");\n}\n\nfunction fallbackVisibleTailCount(itemCount: number): number {\n return itemCount > MAX_VISIBLE_ITEMS ? MAX_VISIBLE_ITEMS - 2 : itemCount;\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 if (typeof window === \"undefined\") {\n return renderBreadcrumbs(props, () => {});\n }\n\n return createRoot((disposeRoot) => renderBreadcrumbs(props, disposeRoot));\n}\n\nfunction renderBreadcrumbs<T>(props: BreadcrumbsProps<T>, disposeRoot: () => void): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(BreadcrumbsContext), props.slot);\n const mergedProps = mergeProps(\n { size: \"M\" as const, showSeparator: true },\n providerProps,\n contextProps ?? {},\n props,\n );\n const [local, headlessProps] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"items\",\n \"getKey\",\n \"onAction\",\n \"isDisabled\",\n \"ref\",\n \"variant\",\n \"showSeparator\",\n ]);\n\n const size = () => normalizeSize(local.size);\n const isDisabled = () => local.isDisabled ?? false;\n const showSeparator = () => local.showSeparator !== false;\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRefs = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLElement> } | null)?.ref,\n props.ref,\n );\n let rootElement: HTMLElement | undefined;\n let measurementElement: HTMLElement | undefined;\n let measurementMenuButton: HTMLElement | undefined;\n let resizeObserver: ResizeObserver | undefined;\n let mutationObserver: MutationObserver | undefined;\n let connectionObserver: MutationObserver | undefined;\n const observedResizeTargets = new WeakSet<Element>();\n const observedMutationTargets = new WeakSet<Element>();\n let retryOverflowUpdateTimeout: number | undefined;\n const initialOverflowUpdateTimeouts: number[] = [];\n const measurementId = `rsp-breadcrumbs-${Math.random().toString(36).slice(2)}`;\n const [canMeasure, setCanMeasure] = createSignal(canMeasureOverflow());\n const [visibleTailCount, setVisibleTailCount] = createSignal(MAX_VISIBLE_ITEMS - 2);\n let cleanupOverflowObservers = () => {};\n let hasDisposedRoot = false;\n let hasCleanedOverflowObservers = false;\n\n const getClassName = (renderProps: BreadcrumbsRenderProps): string =>\n [\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n wrapperStyles(\n {\n size: size(),\n isDisabled: renderProps.isDisabled,\n },\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n\n const allItems = createMemo(() => local.items ?? []);\n const scheduleOverflowRetry = () => {\n if (\n hasDisposedRoot ||\n typeof window === \"undefined\" ||\n retryOverflowUpdateTimeout !== undefined\n ) {\n return;\n }\n\n retryOverflowUpdateTimeout = window.setTimeout(() => {\n retryOverflowUpdateTimeout = undefined;\n updateOverflow();\n }, 16);\n };\n const updateOverflow = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n const items = local.items ?? [];\n if (items.length === 0) {\n setVisibleTailCount(0);\n return;\n }\n\n if (!canMeasure()) {\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const measureRoot =\n measurementElement ??\n (typeof document !== \"undefined\"\n ? (document.querySelector(\n `[data-rsp-breadcrumbs-measure-id=\"${measurementId}\"]`,\n ) as HTMLElement | null)\n : undefined);\n const visibleContainer =\n measureRoot?.previousElementSibling instanceof HTMLElement\n ? measureRoot.previousElementSibling\n : undefined;\n const container = visibleContainer ?? rootElement;\n if (measureRoot && measurementElement !== measureRoot) {\n measurementElement = measureRoot;\n }\n if (container && rootElement !== container) {\n rootElement = container;\n assignRefs(container);\n }\n observeOverflowTargets();\n if (!measureRoot || !container || typeof window === \"undefined\") {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const hiddenItems = Array.from(measureRoot.querySelectorAll(\"[data-hidden-breadcrumb]\")).filter(\n (element): element is HTMLElement => element instanceof HTMLElement,\n );\n const folder =\n measurementMenuButton ??\n (measureRoot.querySelector(\"[data-hidden-breadcrumb-menu-button]\") as HTMLElement | null);\n if (hiddenItems.length <= 0 || !folder) {\n scheduleOverflowRetry();\n setVisibleTailCount(fallbackVisibleTailCount(items.length));\n return;\n }\n\n const containerWidth = container.offsetWidth || container.getBoundingClientRect().width;\n const containerGap = Number.parseFloat(window.getComputedStyle(container).gap || \"0\") || 0;\n const folderGap =\n Number.parseFloat(window.getComputedStyle(folder).marginInlineStart || \"0\") || 0;\n const widths = hiddenItems.map((breadcrumb) => breadcrumb.offsetWidth + 1);\n const totalWidth = widths.reduce((sum, width) => sum + width, 0);\n\n if (\n totalWidth <= containerWidth - items.length * containerGap &&\n items.length <= MAX_VISIBLE_ITEMS\n ) {\n setVisibleTailCount(items.length);\n return;\n }\n\n const firstWidth = widths.shift() ?? 0;\n let availableWidth =\n containerWidth - firstWidth - folderGap - folder.offsetWidth - containerGap;\n let nextVisibleTailCount = 0;\n const maxTailCount = MAX_VISIBLE_ITEMS - 2;\n\n for (const width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n nextVisibleTailCount += 1;\n }\n\n const nextTailCount = Math.max(1, Math.min(maxTailCount, nextVisibleTailCount));\n setVisibleTailCount(nextTailCount);\n };\n const queueOverflowUpdate = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n queueMicrotask(updateOverflow);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(updateOverflow);\n }\n if (typeof window !== \"undefined\") {\n window.setTimeout(updateOverflow, 0);\n }\n };\n const disposeBreadcrumbsRoot = () => {\n if (hasDisposedRoot) {\n return;\n }\n\n hasDisposedRoot = true;\n cleanupOverflowObservers();\n disposeRoot();\n };\n const cleanupIfDisconnected = () => {\n if (rootElement?.isConnected || measurementElement?.isConnected) {\n return;\n }\n\n disposeBreadcrumbsRoot();\n };\n const observeOverflowTargets = () => {\n if (hasDisposedRoot || !rootElement || (!resizeObserver && !mutationObserver)) {\n return;\n }\n\n const observeElement = (element: HTMLElement, options: { mutations?: boolean } = {}) => {\n if (resizeObserver && !observedResizeTargets.has(element)) {\n resizeObserver.observe(element);\n observedResizeTargets.add(element);\n }\n\n if (\n options.mutations !== false &&\n mutationObserver &&\n !observedMutationTargets.has(element)\n ) {\n mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n observedMutationTargets.add(element);\n }\n };\n\n let element: HTMLElement | null = rootElement;\n while (element && element !== document.body) {\n observeElement(element);\n element = element.parentElement;\n }\n\n if (measurementElement) {\n observeElement(measurementElement, { mutations: false });\n if (measurementElement.parentElement) {\n observeElement(measurementElement.parentElement);\n }\n }\n };\n const setRootElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n rootElement = element;\n assignRefs(element);\n observeOverflowTargets();\n queueOverflowUpdate();\n };\n const setMeasurementElement = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementElement = element;\n const previousElement = element.previousElementSibling;\n if (previousElement instanceof HTMLElement) {\n rootElement = previousElement;\n assignRefs(previousElement);\n observeOverflowTargets();\n }\n queueOverflowUpdate();\n };\n const setMeasurementMenuButton = (element: HTMLElement) => {\n if (hasDisposedRoot) {\n return;\n }\n\n measurementMenuButton = element;\n queueOverflowUpdate();\n };\n\n createEffect(() => {\n allItems().length;\n canMeasure();\n size();\n isDisabled();\n queueOverflowUpdate();\n });\n\n onMount(() => {\n const nextCanMeasure = canMeasureOverflow();\n setCanMeasure(nextCanMeasure);\n\n const safeUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n updateOverflow();\n };\n const safeQueueUpdate = () => {\n if (rootElement && !rootElement.isConnected) {\n cleanupIfDisconnected();\n return;\n }\n\n queueOverflowUpdate();\n };\n resizeObserver =\n nextCanMeasure && typeof ResizeObserver !== \"undefined\"\n ? new ResizeObserver(safeQueueUpdate)\n : undefined;\n mutationObserver =\n nextCanMeasure && typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(safeQueueUpdate)\n : undefined;\n\n observeOverflowTargets();\n safeUpdate();\n window.addEventListener(\"resize\", safeUpdate);\n if (typeof requestAnimationFrame !== \"undefined\") {\n requestAnimationFrame(() => {\n safeUpdate();\n requestAnimationFrame(safeUpdate);\n });\n }\n for (const delay of [16, 50, 100, 250]) {\n initialOverflowUpdateTimeouts.push(window.setTimeout(safeUpdate, delay));\n }\n document.fonts?.ready.then(() => {\n if (!hasDisposedRoot) {\n safeUpdate();\n }\n });\n connectionObserver =\n typeof MutationObserver !== \"undefined\"\n ? new MutationObserver(cleanupIfDisconnected)\n : undefined;\n connectionObserver?.observe(document.body, { childList: true, subtree: true });\n cleanupOverflowObservers = () => {\n if (hasCleanedOverflowObservers) {\n return;\n }\n\n hasCleanedOverflowObservers = true;\n window.removeEventListener(\"resize\", safeUpdate);\n resizeObserver?.disconnect();\n mutationObserver?.disconnect();\n connectionObserver?.disconnect();\n for (const timeout of initialOverflowUpdateTimeouts) {\n window.clearTimeout(timeout);\n }\n if (retryOverflowUpdateTimeout !== undefined) {\n window.clearTimeout(retryOverflowUpdateTimeout);\n }\n };\n });\n onCleanup(() => cleanupOverflowObservers());\n\n const shouldCollapse = createMemo(() => {\n const items = allItems();\n if (items.length <= 2) {\n return false;\n }\n const wantsCollapse =\n items.length > MAX_VISIBLE_ITEMS || (canMeasure() && visibleTailCount() < items.length);\n if (!wantsCollapse) {\n return false;\n }\n // Only collapse when the overflow menu would actually hold an item. When the\n // path shrinks (e.g. an overflow menu entry is chosen), `visibleTailCount` can\n // trail the new, smaller collection for a frame — `sliceIndex` then lands at 1\n // and the menu slice `[1, sliceIndex)` is empty. Upstream S2 renders that empty\n // menu for a single frame and re-measures (React batches the state settle); our\n // fine-grained overflow observers instead turn the transient into a\n // collapse⇄expand feedback loop that pins the renderer thread. Gating on a\n // non-empty menu yields the identical settled layout without the transient.\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return sliceIndex > 1;\n });\n createEffect(() => {\n shouldCollapse();\n queueOverflowUpdate();\n });\n const collapsedCollection = createMemo<CollapsedBreadcrumbEntry<T>[]>(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n\n return [\n { kind: \"item\", item: items[0] as T, index: 0 },\n { kind: \"menu\" },\n ...items.slice(sliceIndex).map((item, index) => ({\n kind: \"item\" as const,\n item,\n index: sliceIndex + index,\n })),\n ];\n });\n const collapsedItems = createMemo(() => {\n const items = allItems();\n if (!shouldCollapse()) {\n return [];\n }\n\n const tailCount = Math.min(visibleTailCount(), items.length);\n const sliceIndex = Math.max(1, items.length - tailCount);\n return items.slice(1, sliceIndex);\n });\n\n const renderDynamicItem = (item: T | undefined) => {\n if (item === undefined) {\n return null;\n }\n\n const renderItem = local.children as ((item: T) => JSX.Element) | undefined;\n return renderItem?.(item);\n };\n\n return (\n <InternalBreadcrumbsContext.Provider value={{ size, isDisabled, showSeparator }}>\n <Show\n when={shouldCollapse()}\n fallback={\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={local.items}\n getKey={local.getKey}\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={local.children as any}\n />\n }\n >\n <HeadlessBreadcrumbs\n {...headlessProps}\n items={collapsedCollection()}\n getKey={(entry) =>\n entry.kind === \"menu\"\n ? \"__breadcrumb-menu\"\n : (local.getKey?.(entry.item) ?? defaultItemKey(entry.item, entry.index))\n }\n onAction={local.onAction}\n isDisabled={local.isDisabled}\n ref={setRootElement}\n class={getClassName}\n style={() => mergedUnsafeStyle() ?? {}}\n children={(entry) =>\n entry.kind === \"menu\" ? (\n <BreadcrumbMenu\n items={collapsedItems()}\n getKey={(item, index) =>\n local.getKey?.(item as T) ?? defaultItemKey(item, index + 1)\n }\n getLabel={itemLabel}\n onAction={local.onAction}\n />\n ) : (\n renderDynamicItem(entry.item)\n )\n }\n />\n </Show>\n <Show when={allItems().length > 0 && canMeasure()}>\n {/*\n Hidden measurement copy. Faithful to upstream S2 `HiddenBreadcrumbs`\n (react-spectrum/packages/@react-spectrum/s2/src/Breadcrumbs.tsx): a FLAT\n projection of the items — plain `[data-hidden-breadcrumb]` divs — NOT a\n second live Breadcrumbs collection. Rendering a second `<HeadlessBreadcrumbs>`\n here span a synchronous reactive cycle between the two collections that pinned\n the renderer thread. Each item still gets a BreadcrumbItemContext so the styled\n Breadcrumb resolves isCurrent/isLast exactly as in the visible list.\n */}\n <div\n ref={setMeasurementElement}\n aria-hidden=\"true\"\n data-rsp-breadcrumbs-measure=\"\"\n data-rsp-breadcrumbs-measure-id={measurementId}\n style={{\n position: \"absolute\",\n inset: \"0\",\n display: \"flex\",\n \"align-items\": \"center\",\n visibility: \"hidden\",\n overflow: \"hidden\",\n opacity: 0,\n \"pointer-events\": \"none\",\n }}\n >\n <For each={allItems()}>\n {(item, index) => {\n const isLast = () => index() === allItems().length - 1;\n const itemKey = () => local.getKey?.(item) ?? defaultItemKey(item, index());\n return (\n <div\n data-hidden-breadcrumb\n style={{ display: \"inline-flex\", \"align-items\": \"center\" }}\n >\n <HeadlessBreadcrumbItemContext.Provider\n value={{\n get itemKey() {\n return itemKey();\n },\n isLast,\n }}\n >\n {renderDynamicItem(item)}\n </HeadlessBreadcrumbItemContext.Provider>\n </div>\n );\n }}\n </For>\n <ActionButton\n ref={setMeasurementMenuButton}\n data-hidden-breadcrumb-menu-button=\"\"\n isQuiet\n aria-label=\"More items\"\n >\n <FolderBreadcrumbIcon />\n </ActionButton>\n </div>\n </Show>\n </InternalBreadcrumbsContext.Provider>\n );\n}\n\nfunction BreadcrumbMenu<T>(props: {\n items: T[];\n getKey: (item: T, index: number) => string | number;\n getLabel: (item: T) => string;\n onAction?: (key: string | number) => void;\n}): JSX.Element {\n const locale = useLocale();\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const formatter = createStringFormatter(s2IntlStrings, \"@react-spectrum/s2\");\n const label = () => formatter().format(\"breadcrumbs.more\");\n\n return (\n <span\n class={breadcrumbStyles({\n size: context.size(),\n isDisabled: context.isDisabled(),\n isMenu: true,\n })}\n data-rsp-breadcrumb-menu=\"\"\n >\n <MenuTrigger>\n <ActionButton isDisabled={context.isDisabled()} isQuiet aria-label={label()}>\n <FolderBreadcrumbIcon />\n </ActionButton>\n <Menu\n items={props.items}\n // Menu invokes onAction(key, value); Breadcrumbs' contract is key-only\n // (matching upstream), so drop the leaked item value.\n onAction={(key) => props.onAction?.(key)}\n size={context.size()}\n aria-label={label()}\n >\n {(item) => (\n <MenuItem id={props.getKey(item, props.items.indexOf(item))}>\n <Text slot=\"label\">{props.getLabel(item)}</Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={context.size()}\n class={chevronStyles({ direction: locale().direction, isMenu: true })}\n />\n </span>\n );\n}\n\n/**\n * An individual Breadcrumb for Breadcrumbs.\n */\nexport function Breadcrumb(props: BreadcrumbProps): JSX.Element {\n const context = useContext(InternalBreadcrumbsContext) ?? defaultInternalBreadcrumbsContext;\n const locale = useLocale();\n const providerProps = useProviderProps(props);\n const mergedProps = mergeProps(providerProps, props);\n const [local, headlessProps] = splitProps(mergedProps, [\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"children\",\n \"ref\",\n ]);\n\n const assignRefs = mergeContextRefs(props.ref);\n const mergedStyles = () => mergeContextStyles(undefined, local.styles);\n const size = () => context.size();\n const [isCurrent, setIsCurrent] = createSignal(false);\n\n const syncRenderProps = (renderProps: BreadcrumbItemRenderProps) => {\n untrack(() => {\n if (isCurrent() !== renderProps.isCurrent) {\n setIsCurrent(renderProps.isCurrent);\n }\n });\n };\n\n const getClassName = (renderProps: BreadcrumbItemRenderProps): string => {\n syncRenderProps(renderProps);\n\n return [\n local.UNSAFE_className,\n local.class,\n mergeStyles(\n breadcrumbStyles({\n size: size(),\n isDisabled: renderProps.isDisabled || context.isDisabled(),\n isCurrent: renderProps.isCurrent,\n isHovered: renderProps.isHovered,\n isFocusVisible: renderProps.isFocusVisible,\n isFocused: renderProps.isFocused,\n isPressed: renderProps.isPressed,\n }),\n renderProps.isCurrent ? currentStyles({ size: size() }) : undefined,\n mergedStyles(),\n ),\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n const getStyle = (renderProps: BreadcrumbItemRenderProps): JSX.CSSProperties => ({\n ...(local.UNSAFE_style ?? {}),\n display: \"block\",\n \"clip-path\": renderProps.isFocusVisible ? \"none\" : \"margin-box\",\n });\n\n const renderChildren = (renderProps: BreadcrumbItemRenderProps): JSX.Element => {\n syncRenderProps(renderProps);\n\n const content =\n typeof local.children === \"function\" ? local.children(renderProps) : local.children;\n\n return content;\n };\n\n return (\n <span style={{ display: \"contents\" }}>\n <HeadlessBreadcrumbItem\n {...headlessProps}\n elementType={isCurrent() ? \"div\" : headlessProps.elementType}\n ref={(node: HTMLElement) => assignRefs(node)}\n isDisabled={headlessProps.isDisabled || context.isDisabled()}\n class={getClassName}\n style={getStyle}\n children={renderChildren}\n />\n <Show when={context.showSeparator() && !isCurrent()}>\n <ChevronIcon size=\"M\" class={chevronStyles({ direction: locale().direction })} />\n </Show>\n </span>\n );\n}\n\nexport const BreadcrumbItem = Breadcrumb;\nexport const Item = Breadcrumb;\n\nBreadcrumbs.Item = Breadcrumb;\n"],"mappings":"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"}
|
package/dist/_chunk/button.js
CHANGED
|
@@ -216,7 +216,7 @@ const clearButtonStyles = function anonymous(props) {
|
|
|
216
216
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
217
217
|
else if (props.isPressed) rules += " pHKLAu151";
|
|
218
218
|
else if (props.isHovered) rules += " pHKLAu151";
|
|
219
|
-
else rules += "
|
|
219
|
+
else rules += " pWQ7V3d151";
|
|
220
220
|
return rules;
|
|
221
221
|
};
|
|
222
222
|
/**
|
|
@@ -288,7 +288,7 @@ const fieldButtonStyles = function anonymous(props) {
|
|
|
288
288
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
289
289
|
else if (props.isPressed) rules += " pHKLAu151";
|
|
290
290
|
else if (props.isHovered) rules += " pHKLAu151";
|
|
291
|
-
else rules += "
|
|
291
|
+
else rules += " pWQ7V3d151";
|
|
292
292
|
return rules;
|
|
293
293
|
};
|
|
294
294
|
/**
|
|
@@ -334,7 +334,7 @@ const logicButtonStyles = function anonymous(props) {
|
|
|
334
334
|
rules += " _FnuYUweb151";
|
|
335
335
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
336
336
|
else if (props.isSelected) rules += " px151";
|
|
337
|
-
else rules += "
|
|
337
|
+
else rules += " pWQ7V3d151";
|
|
338
338
|
rules += " oa151";
|
|
339
339
|
rules += " na151";
|
|
340
340
|
rules += " ka151";
|
package/dist/_chunk/button.jsx
CHANGED
|
@@ -178,7 +178,7 @@ const clearButtonStyles = function anonymous(props) {
|
|
|
178
178
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
179
179
|
else if (props.isPressed) rules += " pHKLAu151";
|
|
180
180
|
else if (props.isHovered) rules += " pHKLAu151";
|
|
181
|
-
else rules += "
|
|
181
|
+
else rules += " pWQ7V3d151";
|
|
182
182
|
return rules;
|
|
183
183
|
};
|
|
184
184
|
/**
|
|
@@ -236,7 +236,7 @@ const fieldButtonStyles = function anonymous(props) {
|
|
|
236
236
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
237
237
|
else if (props.isPressed) rules += " pHKLAu151";
|
|
238
238
|
else if (props.isHovered) rules += " pHKLAu151";
|
|
239
|
-
else rules += "
|
|
239
|
+
else rules += " pWQ7V3d151";
|
|
240
240
|
return rules;
|
|
241
241
|
};
|
|
242
242
|
/**
|
|
@@ -280,7 +280,7 @@ const logicButtonStyles = function anonymous(props) {
|
|
|
280
280
|
rules += " _FnuYUweb151";
|
|
281
281
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
282
282
|
else if (props.isSelected) rules += " px151";
|
|
283
|
-
else rules += "
|
|
283
|
+
else rules += " pWQ7V3d151";
|
|
284
284
|
rules += " oa151";
|
|
285
285
|
rules += " na151";
|
|
286
286
|
rules += " ka151";
|
package/dist/_chunk/color.js
CHANGED
|
@@ -117,7 +117,7 @@ const colorSliderLabel = function anonymous(props) {
|
|
|
117
117
|
}
|
|
118
118
|
if (props.isStaticColor) rules += " pl151";
|
|
119
119
|
else if (props.isDisabled) rules += " pUvnvv151";
|
|
120
|
-
else rules += "
|
|
120
|
+
else rules += " pWQ7V3d151";
|
|
121
121
|
rules += " plb151";
|
|
122
122
|
rules += " ri151";
|
|
123
123
|
return rules;
|
|
@@ -182,7 +182,7 @@ const colorSliderOutput = function anonymous(props) {
|
|
|
182
182
|
rules += " _FnuYUweb151";
|
|
183
183
|
}
|
|
184
184
|
if (props.isDisabled) rules += " pUvnvv151";
|
|
185
|
-
else rules += "
|
|
185
|
+
else rules += " pWQ7V3d151";
|
|
186
186
|
rules += " ri151";
|
|
187
187
|
return rules;
|
|
188
188
|
};
|
|
@@ -933,7 +933,7 @@ function createColorFieldStyles() {
|
|
|
933
933
|
}
|
|
934
934
|
if (props.isStaticColor) rules += " pl151";
|
|
935
935
|
else if (props.isDisabled) rules += " pUvnvv151";
|
|
936
|
-
else rules += "
|
|
936
|
+
else rules += " pWQ7V3d151";
|
|
937
937
|
rules += " plb151";
|
|
938
938
|
rules += " ri151";
|
|
939
939
|
return rules;
|
|
@@ -1132,7 +1132,7 @@ function createColorFieldStyles() {
|
|
|
1132
1132
|
} else if (props.isInvalid) {
|
|
1133
1133
|
rules += " pYjUhNc151";
|
|
1134
1134
|
rules += " plQBRyrc151";
|
|
1135
|
-
} else rules += "
|
|
1135
|
+
} else rules += " pWQ7V3d151";
|
|
1136
1136
|
rules += " -_8sjo0b-t5ZbAob151";
|
|
1137
1137
|
rules += " _qb151";
|
|
1138
1138
|
rules += " TgOnRt151";
|